人体姿态估计算法之open pose

一,openpose是一种自底向上的算法:
        OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。


        检测所有的关键点,再group成不同的人,是当前比较流行的人体姿态评估算法之一。OpenPose 大获成功的一部分原因是它在 GitHub 上开源了其实现代码

(https://github.com/CMU-Perceptual-Computing-Lab/openpose),并配有详细的说明文档。
和很多自底向上的方法一样,OpenPose 首先检测出图像中所有人的关节(关键点),然后将检出的关键点分配给每个对应的人。下图展示了 OpenPose 模型的架构。

 

二,openpose算法:
1.输入一幅图像,经过VGG19卷积网络提取特征,得到一组特征图,然后分成两个岔路Branch1&2,分别使用 CNN网络提取Part Confidence Maps(置信度) 和 Part Affinity Fields(关联度);
2.得到这两个信息后,我们使用图论中的 Bipartite Matching(偶匹配) 求出Part Association,将同一个人的关节点连接起来,由于PAF自身的矢量性,使得生成的偶匹配很正确,最终合并为一个人的整体骨架;
3.最后基于PAFs求Multi-Person Parsing—>把Multi-person parsing问题转换成graphs问题—>Hungarian Algorithm(匈牙利算法)(匈牙利算法是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。)

三,关键点热图与矢量图(heatmap&vectmap):
如,一共有19个关键点,就会生成19个通道的热图,每一个通道为某个关节的热图分布(也就是概率图)。同时会生成192个通道的矢量图,为什么是192呢?因为矢量图分为两个方向,一个是X方向、一个是Y方向。

heatmap生成关键点热力图,未在图内且未标注的关键点生成的heatmap所有值都为0。一共19个heatmap,其中最后一个代表背景。


vectormap 向量叉乘,vectormap是heatmap的两倍为38个(19*2),因为有19条的关键点连接线,每一条线使用向量表示,分别有x轴的map,以及y轴的map。

四,coco keypoints 标注 以及tf-openpose的标注的不同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抢火车票这个事吧,其实我也能做!(python黑科技)

2019独角兽企业重金招聘Python工程师标准>>> 又是一年,马上就要回家过年了,还没有买到票的小伙伴们是否已经像热锅上的蚂蚁了无脑的开始找黄牛了? 俗话说的好,求人不如求自己,抢票这玩意,其实我觉得我也可…

用 Python+openpose 实现抖音尬舞机

游戏开始后,随着音乐会给出不同的动作提示,用户按照提示摆出正确动作即可得分。援引官方说法,“尬舞机”主要应用了今日头条 AI Lab 自主开发的“人体关键点检测技术”,依靠这项技术,抖音能够检测到图像中所包含人体的…

Create a Service Catalog Request via REST API

http://wiki.servicenow.com/index.php?titleUseful_Catalog_Scripts#Eureka http://wiki.servicenow.com/index.php?titleService_Catalog_Script_API#gsc.tab0 Service Catalog APIhttps://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/integrate/inboun…

解密昇腾AI处理器--Ascend310简介

Ascend310 AI处理器规格 Ascend310 AI处理器逻辑架构 昇腾AI处理器本质上是一个片上系统(System on Chip,SoC),主要可以应用在和图像、视频、语音、文字处理相关的应用场景。其主要的架构组成部件包括特制的计算单元、大容量的存储…

银盒子扫码下单在线订单开启商品售卖时段使用说明

1,登陆管理员账号,子账号下,配置管理--店铺配置--扫码下单Tab页,是否开启商品售卖时段,选择“是” 2,在商家后台登陆相应的子账号,在店铺管理--商品售卖时段里配置售卖时间以及相应时段售卖的商…

为什么早上和傍晚的太阳总是红色,而中午的大阳却是黄白色?

由太阳光本质决定,但会受环境影响。在地球上和火星上看到的太阳光也是有区别的,和太气层物质及厚薄也有关系。太阳光是由赤橙黄绿青蓝紫七色光组成的复合光是白色光。 在日出和日落的时候,地平线上所透过的大气层厚度,一般要比白…

java7

第八章 数组 1.数组的声明定义 数据类型[]变量名 new 数据类型[长度]; 列:int[]ary new int[5]; 2.取值,赋值 取值:数据名[下标]; 列:int a ary[1]; 赋值:变量数据名[…

串口波形分析

UART口发出数据按字节发送,发送数据8bit,实际量出波形为10bit,软件底层驱动会自动加上起始位和停止位各1bit,起始位为0,停止位为1。下图为用串口工具发送的数据和用示波器所量波形。 发送数据:0x34 0x43 示…

SpringBoot之MongoTemplate的查询可以怎么耍

学习一个新的数据库,一般怎么下手呢?基本的CURD没跑了,当可以熟练的增、删、改、查一个数据库时,可以说对这个数据库算是入门了,如果需要更进一步的话,就需要了解下数据库的特性,比如索引、事物…

LINQ to SQL 实现 GROUP BY、聚合、ORDER BY

前言 本示例主要实现 LINQ 查询,先分组,再聚合,最后在排序。示例很简单,但是使用 LINQ 却生成了不同的 SQL 实现。 1) 采用手动编写 SQL 实现 SELECT ROW_NUMBER() OVER(ORDER BY T.RealTotal DESC) AS SN, * FROM ( SELECT (S…

虚拟机增加内存方法

楼主由于要在虚拟机里面装一个oracle,在安装过程中,提示物理内存不符合最低标准,如图1. 图1 因为懒得新建一个虚拟机了,所以考虑给虚拟机新增磁盘空间。 首先说明,新增磁盘空间,必须保证当前虚拟机里每个新…

面对对象-封装

private 私有的 package/friendly/default 不写 protected 受保护的 public 公共的 那么什么情况该用什么修饰符呢?从作用域来看,public能够适用所有的情况。 但是大家在工作的时候,又不会真正全部都适用public,那么到底什么情况改用什么修饰…

本文详解5G是个什么鬼,程序员都准备好了吗?

无线移动通讯发展历史 最近5G的概念炒的如火如荼,为此,华为和高通还干了一仗。这篇文章从技术层面给大家分析,什么是5G,它和4G比,高级在哪里? 我们来看看移动互联网的技术发展: 然后我们在来看看…

Istio流量管理实践之(5): 使用cert-manager部署Istio自定义入口网关及进行证书管理...

Istio Gateway提供多个自定义入口网关的支持能力,通过开放一系列端口用于承载网格边缘的进入连接,同时可以使用不同loadbalancer来隔离不同的入口流量。cert-manager可用于使用存储在Kubernetes Secret资源中的任意签名密钥对来获取证书。本文提供了手动…

[bzoj3625][Codeforces 250 E]The Child and Binary Tree(生成函数+多项式运算+FFT)

3625: [Codeforces Round #250]小朋友和二叉树 Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 650 Solved: 283[Submit][Status][Discuss]Description 我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树。考虑一个含有n个互异正整数的序列c[1],c[2],...,c[n]。…

子序列进阶问题

题目: 有一个数组,让找到两个不重复的连续子序列A,B ,求Max(Sum(A)-Sum(B) 分析: AB必定连续,设两端连接处index为{X,x1},X可取0~n-1 设F(x)为连接处index为{X,x1}时 Max(Sum(A)…

day5-shelve模块

一、概述前面章节我们讲述了json和pickle模块的序列化和反序列化处理,他们有一个不足是在python 3中不能多次dump和load,shelve模块则可以规避这个问题。shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持…

程序员:请你不要对业务「置之不理」

成长是条孤独的路,一个人会走得更快;有志同道合者同行,会走得更远。本篇内容整理自 21 天鲲鹏新青年计划线上分享内容。鲲鹏新青年计划是由 TGO 鲲鹏会组织的线上分享活动,希望能帮助更多同学一起学习、成长。12 月 28 日&#xf…

在Ubuntu系统下如何将chrome浏览器的bookmarks导出到本地

1. 打开chrome浏览器在页面的右上角点击那个三个小点的位置,找到bookmarks,然后点击bookmarks manager,然后在organize右侧大倒三角下选择,export bookmarks to HTML,选择要保存的位置,利用同样的方法下次就可以直接导…

028 -bash-4.1$ 出现故障的原理及解决办法?

最近在搭建分布式的时候,出现了这个问题,很不爽。下面是我的解决方式。 1.在用户下删除bash rm -rf /home/beifeng/.bash* 2.拷贝 cp /etc/skel/.bash* /home/beifeng 3.退出,再进入用户 4.解释 set |grep -i ps1 转载于:https://www.cnblogs…