OKSp=Σiexp⁡{−dpi2/(2Sp2σpi2)}δ(vpi=1,vpi′=1)Σiδ(vpi=1)O K S_p=\frac{\Sigma_i \exp \left\{-d_{p i}^2 /\left(2 S_p^2 \sigma_{p i}^2\right)\right\} \delta\left(v_{p i}=1, \quad v_{p i}^{\prime}=1\right)}{\Sigma_i \delta\left(v_{p i}=1\right)} OKSp​=Σi​δ(vpi​=1)Σi​exp{−dpi2​/(2Sp2​σpi2​)}δ(vpi​=1,vpi′​=1)​

预测点与真实点距离


如图d1就代表了欧式距离:
d12=(x1′−x1)2+(y1′−y1)2d_1^2=\left(x_1^{\prime}-x_1\right)^2+\left(y_1^{\prime}-y_1\right)^2 d12​=(x1′​−x1​)2+(y1′​−y1​)2
显然距离与最后得分OKS成正比。
d12=(xi′−xi)2+(yi′−yi)2d_1^2=\left(x_i^{\prime}-x_i\right)^2+\left(y_i^{\prime}-y_i\right)^2 d12​=(xi′​−xi​)2+(yi′​−yi​)2
did_idi​ 表示人物编号为iii的关键点欧式距离。
欧式距离的平方可以看成两维的,为了与下面提到的面积保持维度一致性,所以这里采用欧式距离的平方。

人工标注位置偏移

显然人工标注位置偏移与面积有关所以σ=E(d/s)σ = E ( d / s )σ=E(d/s)

假设头顶编号为 1 , 左脚踝编号为 12 。
(x1,1,y1,1)\left(x_{1,1}, y_{1,1}\right)(x1,1​,y1,1​) 代表编号为 1 的关键点,第1个目标,真实坐标 (x1,1A,y1,1A)\left(x_{1,1}^A, y_{1,1}^A\right)(x1,1A​,y1,1A​) 代表编号为 1 的关键点,第 1 个目标,A预测坐标 (x12,2,y12,2)\left(x_{12,2}, y_{12,2}\right)(x12,2​,y12,2​) 代表编号为 12 的关键点,第2个目标,真实坐标 (x12,2B,y12,2B)\left(x_{12,2}^B, y_{12,2}^B\right)(x12,2B​,y12,2B​) 代表编号为 12 的关键点,第2个目标,B预测坐栈 两种统计方式:

第一种,考虑所有目标相同编号点的所有模型预测的离散程度
ri,jm=(xi,jm−xi,j)2+(yi,jm−yi,j)2wihir_{i, j}^m=\sqrt{\frac{\left(x_{i, j}^m-x_{i, j}\right)^2+\left(y_{i, j}^m-y_{i, j}\right)^2}{w_i h_i}} ri,jm​=wi​hi​(xi,jm​−xi,j​)2+(yi,jm​−yi,j​)2​​
ri,jmr^m_{i,j}ri,jm​代表模型m在目标j上关键点i的预测偏移值。
可以先求平均:
r1‾=r1,1A+r1,2A+r1,1B+r1,2B4\overline{r_1}=\frac{r_{1,1}^A+r_{1,2}^A+r_{1,1}^B+r_{1,2}^B}{4} r1​​=4r1,1A​+r1,2A​+r1,1B​+r1,2B​​
r12‾=r12,1A+r12,2A+r12,1B+r12,2B4\overline{r_{12}}=\frac{r_{12,1}^A+r_{12,2}^A+r_{12,1}^B+r_{12,2}^B}{4} r12​​=4r12,1A​+r12,2A​+r12,1B​+r12,2B​​
在求均方差,
σ1=E(d1S)=(r1,1A−r1‾)2+(r1,2A−r1‾)2+(r1,1B−r1‾)2+(r1,2B−rˉ1)24\sigma_1=E\left(\frac{d_1}{S}\right)=\sqrt{\frac{\left(r_{1,1}^A-\overline{r_1}\right)^2+\left(r_{1,2}^A-\overline{r_1}\right)^2+\left(r_{1,1}^B-\overline{r_1}\right)^2+\left(r_{1,2}^B-\bar{r}_1\right)^2}{4}} σ1​=E(Sd1​​)=4(r1,1A​−r1​​)2+(r1,2A​−r1​​)2+(r1,1B​−r1​​)2+(r1,2B​−rˉ1​)2​​
σ12=E(d12S)=(r12,1A−r12‾)2+(r12,2A−r12‾)2+(r12,1B−r12‾)2+(r12,2B−r12‾)24\sigma_{12}=E\left(\frac{d_{12}}{S}\right)=\sqrt{\frac{\left(r_{12,1}^A-\overline{r_{12}}\right)^2+\left(r_{12,2}^A-\overline{r_{12}}\right)^2+\left(r_{12,1}^B-\overline{r_{12}}\right)^2+\left(r_{12,2}^B-\overline{r_{12}}\right)^2}{4}} σ12​=E(Sd12​​)=4(r12,1A​−r12​​)2+(r12,2A​−r12​​)2+(r12,1B​−r12​​)2+(r12,2B​−r12​​)2​​
第二种,各自模型考虑各自模型的预测所有目标的相同编号点的离散程度。
先求平均值,
r1A‾=r1,1A+r1,2A2\overline{r_1^A}=\frac{r_{1,1}^A+r_{1,2}^A}{2} r1A​​=2r1,1A​+r1,2A​​
r12A‾=r12,1A+r12,2A2\overline{r_{12}^A}=\frac{r_{12,1}^A+r_{12,2}^A}{2} r12A​​=2r12,1A​+r12,2A​​
在求均方差,
σ1A=E(d1S)=(r1,1A−r1A‾)2+(r1,2A−r1A‾)22\sigma_1^A=E\left(\frac{d_1}{S}\right)=\sqrt{\frac{\left(r_{1,1}^A-\overline{r_1^A}\right)^2+\left(r_{1,2}^A-\overline{r_1^A}\right)^2}{2}} σ1A​=E(Sd1​​)=2(r1,1A​−r1A​​)2+(r1,2A​−r1A​​)2​​
σ12A=E(d12S)=(r12,1A−r12A‾)2+(r12,2A−r12A‾)22\sigma_{12}^A=E\left(\frac{d_{12}}{S}\right)=\sqrt{\frac{\left(r_{12,1}^A-\overline{r_{12}^A}\right)^2+\left(r_{12,2}^A-\overline{r_{12}^A}\right)^2}{2}} σ12A​=E(Sd12​​)=2(r12,1A​−r12A​​)2+(r12,2A​−r12A​​)2​​
通常用第二种方式即可。

克罗内克函数

×\times× 人工标注数据的时候,每个关键点有三种属性 vvv :
v=0v=0v=0,表示这个关键点不可见,不在图中,或者无法推测在哪;
v=1v=1v=1,表示这个关键点可见;
v=2v=2v=2,表示这个关键点不可见,但是可以推测出在哪;
×\times× 预测出来的关键点也分两种属性 v′v^{\prime}v′ :
v′=0v^{\prime}=0v′=0, 表示这个关键点末预测出来;
v′=1v^{\prime}=1v′=1,表示这个关键点预测出来了;
在计算OKS的时候,分子只计算人工标注出来可见,且预测出来的点。分母只计算人工标注出可见的点。 克罗内克函数,
δ(vi=1)={1,ifvi=10,ifvi/=1\delta\left(v_i=1\right)=\left\{\begin{array}{l} 1, i f v_i=1 \\ 0, i f v_i /=1 \end{array}\right. δ(vi​=1)={1,ifvi​=10,ifvi​/=1​
也就是 vi=1v_i=1vi​=1 时,函数取值为 1,vi/=11 , v_i /=11,vi​/=1 时,函数取值为 0 .

归一化

指数函数 exp⁡(−x)=e−x=1ex\exp (-x)=e^{-} x=\frac{1}{e^x}exp(−x)=e−x=ex1​ 的作用是把
di2/(2S2σi2)d_i^2 /\left(2 S^2 \sigma_i^2\right) di2​/(2S2σi2​)
的取值范围限定在0到1上,且使得距离,人体面积,人工标注偏移与OKS得分和上述分析的增减性保持一致。

平均准确率(AP)

平均准确率 (AP) 给定OKS阈值s,预测的结果在整个测试集上的平均准确率 (AP@s)(A P @ s)(AP@s) 可由测试集中所有图片的OKS 指标计算得到:
AP@s=Σpδ(OKSp>s)Σp1A P @ s=\frac{\Sigma_p \delta\left(O K S_p>s\right)}{\Sigma_p 1} AP@s=Σp​1Σp​δ(OKSp​>s)​

平均准确率 (AP) 的均值(mAP)

最终指标mAP的计算方式如下所示:
mAP=mean⁡{AP@(0.50:0.05:0.95)}m A P=\operatorname{mean}\{A P @(0.50: 0.05: 0.95)\} mAP=mean{AP@(0.50:0.05:0.95)}
从给定阈值0.5到0.95按照0.05步长递计算AP后,再取平均值。

人体骨骼关键点检测AP值AP@s相关推荐

  1. 计算机视觉方向简介 | 人体骨骼关键点检测综述

    什么是人体骨骼关键点检测 人体骨骼关键点检测,即Pose Estimation,主要检测人体的一些关键点,如关节,五官等,通过关键点描述人体骨骼信息: 应用与挑战 人体骨骼关键点检测是计算机视觉的基础 ...

  2. 姿态估计:人体骨骼关键点检测综述(2016-2020)

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨七酱@知乎 来源丨https://zhuanlan.z ...

  3. 人体骨骼关键点检测综述

    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的. 本文及其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习与应用>,清华大学出版社, ...

  4. PaddleHub人体骨骼关键点检测(2.0环境)

    目录 PaddleHub人体骨骼关键点检测 human_pose_estimation_resnet50_mpii 一.安装新版Hub 二.定义待预测照片 三.API预测 四.命令行预测 五.实现效果 ...

  5. 人体骨骼关键点检测(姿态估计)综述2019

    目录: 1.前言 2.相关数据集 3.研究方向分类 4.单人关键点检测的发展(2016-2019) 5.Ground Truth的构建 6.自上而下的人体关键点检测算法 一.前言 人体骨骼关键点检测是 ...

  6. 姿态估计:人体骨骼关键点检测的方法论

    作者 | 沙悟净 编辑 | 3D视觉开发者社区 文章目录 一.什么是人体骨骼关键点检测 二.应用与挑战 三.相关数据集 四.传统算法概述 五.人体骨骼关键点检测 (一)算法概述 (二)自上而下的人体关 ...

  7. 人体骨骼关键点检测综述(2)

    五.OpenPose库OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以Caffe为框架开发的开源库.可以实现人体动作.面部表情.手指运动等姿态估计.适用于单 ...

  8. 人体骨骼关键点检测综述(1)

    一.简介 实现人体检测,通常采用人体姿态估计(Human Posture Estimation),即将图片中已检测到的人体关键点正确联系起来,从而实现人体姿态的估计,实现人体的检测.人体关键点通常对应 ...

  9. 人体骨骼关键点检测的算法

    文章目录 老铁们✌,重要通知

最新文章

  1. iOS App上架流程
  2. 【DOM编程艺术】动态创建标记(签)---创建和插入节点
  3. 基础篇:如何做一名专业的软件测试工程师
  4. STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
  5. 变量命名规范 匈牙利 下划线 骆驼 帕斯卡
  6. 计算机考研逻辑学,管综专硕:走出不考逻辑学专业知识的误区
  7. 软件测试功能报告,软件功能测试报告
  8. 为了找到你,CTO 和你唠唠研发都做啥?
  9. 有关项目实施【老男孩】的经验分享
  10. python整数类型提供了4种进制表示_关于整数类型的 4 种进制表示,哪个选项的描述是正确的?_学小易找答案...
  11. Android平滑移动——Scroller类研究
  12. C++ double转CStringW/LPCWSTR
  13. Logback配置一(按时间归档)
  14. Qt SizeHint()
  15. ai生成图片是什么技术_什么是生成型AI?
  16. 人一生的8种朋友(看看身边的朋友属于哪种)
  17. 主流HTML5游戏框架的分析和对比(Construct2、ImpactJS、CreateJS、Cocos2d-html5……)
  18. Android——Timer停不下来的解决方法
  19. 零基础转行,你要不要去编程培训班?
  20. android mms分析,在Android上解析应用程序/ smil MMS MIME类型

热门文章

  1. matlab按图像边缘抠图_ps快速选择工具|抠图常用工具(一)
  2. java计算机毕业设计公务用车管理智慧云服务监管平台源程序+mysql+系统+lw文档+远程调试
  3. 宝塔linux解决无法启动Nginx的问题
  4. E:Package ‘Vim‘ has no installation candidate问题解决
  5. js禁止 鼠标滚轮事件
  6. 跨境电商平台和独立站的区别
  7. 【C语言】C 程序开发快速入门
  8. 在Mac电脑上怎么修改移动硬盘的读写权限?怎样修改mac电脑中移动硬盘的权限
  9. Eigen3+Ubuntu20.04安装
  10. 销售宝:怎么才能做好一个软件销售?