问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

人体姿态算法

发布网友 发布时间:2024-07-02 07:01

我来回答

1个回答

热心网友 时间:2024-10-07 05:43

  人体姿态估计是计算机视觉中一个很基础的问题。从名字的角度来看,可以理解为对“人体”的姿态(关键点,比如头,左手,右脚等)的位置估计。
  人体姿态估计可以分为两种思路,
(1)“top-down”,它指先检测人体区域,再检测区域内的人体关键点。

  已有"bottom-up"方法缺点:(1)未利用全局上下文先验信息,也即图片中其他人的身体关键点信息;(2)将关键点对应到不同的人物个体,算法复杂度太高。
  文章改进点:提出“Part Affinity Fields (PAFs)”,每个像素是2D的向量,用于表征位置和方向信息。基于检测出的关节点和关节联通区域,使用greedy inference算法,可以将这些关节点快速对应到不同人物个体。

  损失函数是保证网络能收敛的最重要的关键点,因此作者对两分支的损失函数均采用L2 loss。训练时,每个阶段都会产生loss,避免梯度消失;预测时只使用最后一层的输出。公式表示如下:

其中,表示branch1 的label图,也称为heatmap; 是branch2 的label图,也称为vectormap。另外,考虑到有些训练数据集只标注了图片中部分人物的关节点,因此对损失函数采用了空域加权操作,W表示二值化mask矩阵,当位置p的标签缺失时其值为0,否则值为1。显然,对于未被标记的人物关节点 ,而被标记的人物关节点和非关节点 ,所以未被标记的人物关节点不会影响模型的学习过程,整个CNN网络架构的优化目标函数如下,

   实际上就是使用2D高斯分布建模,求出一张图像上身体j部位的heatmap,记第k个人的第j个关节的heatmap为 , 表示位置信息,则有:

   表示了使用part affinity fields(PAF)建模骨骼区域,对于骨骼区域内的每一个像素,使用2D向量同时表征位置和方向信息,这里的方向指代当前骨骼对应的关节点对的连接方向,对应vectormap。以下图的骨骼区域为例

  经过上述过程,我们已经得到各个关节点的坐标图--heatmap,与关节对连接的vectormap,现在的问题就是如何合理地在推理阶段将各个关节连接成一段骨骼,并将它们组装成一个人?
  关节拼接:对于任意两个关节点位置 和 ,通过计算PAFs的线性积分来表征骨骼点对的相关性,也即表征了骨骼点对的置信度,公式表示如下, 为了快速计算积分,一般采用均匀采样的方式近似这两个关节点间的相似度,   多人检测:由于图片中人数不确定,同时伴随遮挡、变形等问题,因此只使用上述计算关节对相似度,只能保证局部最优,因此作者利用greedy relaxation的思想生成全局较优的搭配。具体操作如下:
(1)已知不同关节点的heatmap,也就是不同人的某个关节点的点集;
(2)现在要将不同的点集进行唯一匹配,如:一群表示手肘的点集和手腕的点集,两点集中的点必须存在唯一匹配;
(3)关节点之间的相关性PAF已知,将关键点作为图的顶点,将关键点之间的相关性PAF看为图的边权,则将多人检测问题转化为二分图匹配问题,并用匈牙利算法求得相连关键点最优匹配。

  由上图可知,COCO数据集总共有18个关键点,17个肢体骨架,但heatmap多了一个背景图,vectormap多了耳朵和肩膀的肢体,为什末要虚构这麽一个肢体呢,因为有时候人体是背对相机的,眼睛这个关键点是不可见的,为了更好的预测耳朵,引入这两个个肢体(也就是关节对:2-16和5-17)。所以总共有19个肢体,应为vectormap为矢量,预测时分为x,y两个分量,所以有19*2=38

  完全参考 https://blog.csdn.net/m0_37477175/article/details/81236115 ,结合2.4节中vectormap( )的计算公式与绿色虚线框内的区域以点集数学公式理解。
  关键是叉乘的几何意义是两个向量所组成的平行四边形的面积,所以 就表示与向量 平行距离为 的区域,也就是骨骼宽度。

后来论文作者对网络结构进行了改进,使得效果更好,速度更快,参考文献【11】。

【1】 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【2】 人体姿态估计的过去、现在和未来
【3】 论文解读-Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【4】 Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields【菜鸟读者】
【5】 知乎:openpose笔记
【6】 openpose论文总结:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【7】 详细介绍匈牙利算法步骤
【8】 Github 项目 - OpenPose 关键点输出格式
【9】 openpose的细节处理
【10】 tf-openpose人体姿态估计标签生成--heatmap--vectormap
【11】 OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

热心网友 时间:2024-10-07 05:44

  人体姿态估计是计算机视觉中一个很基础的问题。从名字的角度来看,可以理解为对“人体”的姿态(关键点,比如头,左手,右脚等)的位置估计。
  人体姿态估计可以分为两种思路,
(1)“top-down”,它指先检测人体区域,再检测区域内的人体关键点。

  已有"bottom-up"方法缺点:(1)未利用全局上下文先验信息,也即图片中其他人的身体关键点信息;(2)将关键点对应到不同的人物个体,算法复杂度太高。
  文章改进点:提出“Part Affinity Fields (PAFs)”,每个像素是2D的向量,用于表征位置和方向信息。基于检测出的关节点和关节联通区域,使用greedy inference算法,可以将这些关节点快速对应到不同人物个体。

  损失函数是保证网络能收敛的最重要的关键点,因此作者对两分支的损失函数均采用L2 loss。训练时,每个阶段都会产生loss,避免梯度消失;预测时只使用最后一层的输出。公式表示如下:

其中,表示branch1 的label图,也称为heatmap; 是branch2 的label图,也称为vectormap。另外,考虑到有些训练数据集只标注了图片中部分人物的关节点,因此对损失函数采用了空域加权操作,W表示二值化mask矩阵,当位置p的标签缺失时其值为0,否则值为1。显然,对于未被标记的人物关节点 ,而被标记的人物关节点和非关节点 ,所以未被标记的人物关节点不会影响模型的学习过程,整个CNN网络架构的优化目标函数如下,

   实际上就是使用2D高斯分布建模,求出一张图像上身体j部位的heatmap,记第k个人的第j个关节的heatmap为 , 表示位置信息,则有:

   表示了使用part affinity fields(PAF)建模骨骼区域,对于骨骼区域内的每一个像素,使用2D向量同时表征位置和方向信息,这里的方向指代当前骨骼对应的关节点对的连接方向,对应vectormap。以下图的骨骼区域为例

  经过上述过程,我们已经得到各个关节点的坐标图--heatmap,与关节对连接的vectormap,现在的问题就是如何合理地在推理阶段将各个关节连接成一段骨骼,并将它们组装成一个人?
  关节拼接:对于任意两个关节点位置 和 ,通过计算PAFs的线性积分来表征骨骼点对的相关性,也即表征了骨骼点对的置信度,公式表示如下, 为了快速计算积分,一般采用均匀采样的方式近似这两个关节点间的相似度,   多人检测:由于图片中人数不确定,同时伴随遮挡、变形等问题,因此只使用上述计算关节对相似度,只能保证局部最优,因此作者利用greedy relaxation的思想生成全局较优的搭配。具体操作如下:
(1)已知不同关节点的heatmap,也就是不同人的某个关节点的点集;
(2)现在要将不同的点集进行唯一匹配,如:一群表示手肘的点集和手腕的点集,两点集中的点必须存在唯一匹配;
(3)关节点之间的相关性PAF已知,将关键点作为图的顶点,将关键点之间的相关性PAF看为图的边权,则将多人检测问题转化为二分图匹配问题,并用匈牙利算法求得相连关键点最优匹配。

  由上图可知,COCO数据集总共有18个关键点,17个肢体骨架,但heatmap多了一个背景图,vectormap多了耳朵和肩膀的肢体,为什末要虚构这麽一个肢体呢,因为有时候人体是背对相机的,眼睛这个关键点是不可见的,为了更好的预测耳朵,引入这两个个肢体(也就是关节对:2-16和5-17)。所以总共有19个肢体,应为vectormap为矢量,预测时分为x,y两个分量,所以有19*2=38

  完全参考 https://blog.csdn.net/m0_37477175/article/details/81236115 ,结合2.4节中vectormap( )的计算公式与绿色虚线框内的区域以点集数学公式理解。
  关键是叉乘的几何意义是两个向量所组成的平行四边形的面积,所以 就表示与向量 平行距离为 的区域,也就是骨骼宽度。

后来论文作者对网络结构进行了改进,使得效果更好,速度更快,参考文献【11】。

【1】 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【2】 人体姿态估计的过去、现在和未来
【3】 论文解读-Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【4】 Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields【菜鸟读者】
【5】 知乎:openpose笔记
【6】 openpose论文总结:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
【7】 详细介绍匈牙利算法步骤
【8】 Github 项目 - OpenPose 关键点输出格式
【9】 openpose的细节处理
【10】 tf-openpose人体姿态估计标签生成--heatmap--vectormap
【11】 OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何使用 macOS Monterey 和 iOS 15 从 iPhone 到 Mac 进行 AirPlay... 丑小鸭简笔画怎么画 好先生更新了几集 企业微信如何直播电脑桌面/电脑屏幕 元旦假期3天 一般店面上班的人放假吗 我太累的很了 希望他放假_百度知 ... 手机的通话记录删除了怎么找回来谢谢大家了 有哪些适合幼儿园的篮球热身操呢? 幼儿园面试体育游戏热身操有哪些 幼儿园玩沙包之前的热身运动 幼儿园幼儿午休起床后有什么热身运动 气体灭火系统多少钱一平方 厦门市同安区乡镇公务员待遇怎么样啊? 农作物病虫害识别 Photoshop调出室内人像甜美油画艺术效果 大幅油画只画一个人会空吗? 雅顿超导小气泡多少钱 雅顿超导小气泡多少毫升 孩子缺铁怎么补充? 夫妻那些事用的是什么样的无线键盘 如何在PS中还原并美化偏暗图片以达到淡紫色日韩唯美效果? 请问空调设定温度30℃,耗电量与温度有关吗? 100的东西打8折怎么打? 中等职业教育课程内容简介 嗽叭花早上张开傍晚合拢对吗喇叭花的播种 嗽叭花是什么季节(关于喇叭花开花的时间) 腰和屁股相连的地方疼? 配套设施房是什么意思? 楼盘配套是什么意思? 彩礼和嫁妆在法律上的区别是什么 房产纠纷房产 钻坚仰高什么意思钻坚仰高怎么读 二氧化碳钢瓶能用多久 ...实际距离是800米,图上距离是 厘米。这个示意图的比例尺 能防蚊子的植物有哪些 为什么吃完火锅衣服上有味道? Manually on-/off-switched是什么意思 manually-operated circuit的意思 c15砼是什么意思(c15c25c30混凝土区别) connect manually是什么意思 怎样投诉联想的8008108888的5 号键的工作人员? ...电源都是好的,主板和电源拿去电脑店试又好了,拿回来就点不亮... 什么是天猫双11长辈版的专属客服? 萧山快康医院快康医院名医馆部分专家介绍 如何投诉淘宝客服服务质量? 干豆角是怎样制作的? 自制干豆角的做法窍门 泰迪玩具熊 《福村弘美的手工泰迪熊》内容能发到983807785@qq.com 他们说书很薄... ppt的底色怎么弄ppt的底色怎么弄成白色 九地是什么中药 钠的金属性比钾强的根本原因是撒