姿态估计评价指标

news2024/10/6 5:58:37

在这里插入图片描述

PCK

正确估计出关键点的百分比 (Percentage of Correct Keypoints),现在已基本不用。

P C K i k = ∑ i δ ( d i d ≤ T k ) ∑ i 1 PCK_i^k=\frac{\sum_i\delta(\frac{d_i}{d}\leq T_k)}{\sum_i1} PCKik=i1iδ(ddiTk)

检测出的关键点与其对应的groundtruth间的归一化距离小于设定阈值 T k T_k Tk 的比例。 T k T_k Tk 表示人工设定的阈值, T k ∈ [ 0 : 0.01 : 0.1 ] T_k\in[0:0.01:0.1] Tk[0:0.01:0.1]

其中 i i i 表示关节点的编号

d i d_i di 表示第 i i i 个关节点的预测值和groundtruth的欧氏距离。

d d d 是一个人体的尺度因子,这个因子不同公开数据集使用的计算方法不同。

$\delta(*) $表示如果条件成立,那么 δ ( ∗ ) = 1 \delta(*)=1 δ()=1

OKS

oks(object keypoint similarity)受目标检测的IOU启发,其用来衡量预测关键点与 groundtruth 的相似度。
O K S p = ∑ i e x p { − d p i 2 / 2 S p 2 σ i 2 } δ ( v p i > 0 ) ∑ i δ ( v p i > 0 ) OKS_p=\frac{\sum_iexp\{-d_{pi}^2/2S_p^2\sigma_i^2\}\delta(v_{pi}>0)}{\sum_i\delta(v_{pi}>0)} OKSp=iδ(vpi>0)iexp{dpi2/2Sp2σi2}δ(vpi>0)
其中 p p p 表示在ground truth中的某个人, p i p^i pi 表示表示这个人的关键点;

d p i d_{p^i} dpi 表示当前检测的第p个人的第 i i i 个关键点与ground truth 的欧式距离 d p i = ( x i ′ − x p i ) ( y i ′ − y p i ) d_{p^i}=\sqrt{(x'_i-x_{p^i})(y'_i-y_{p^i})} dpi=(xixpi)(yiypi) ,其中$ (x’_i,y’_i)$ 为检测结果, ( x p i , y p i ) (x_{p^i},y_{p^i}) (xpi,ypi) 是ground truth,

v p i = 1 v_{p^i}=1 vpi=1 表示这个关键点的可见性为1,即关键点无遮挡并且已标注。 v p i = 2 v_{p^i}=2 vpi=2 表示关键点有遮挡但已标注。

S p S_p Sp 表示groundtruth p的尺度因子,其值为行人检测框面积的平方根: S p = w h S_{p}=\sqrt{wh} Sp=wh w , h w,h w,h 为检测框的宽和高。

σ i \sigma_i σi i i i 个关键点的归一化因子,和关键点标注的难易有关,是通过对所有样本的人工标注和真实值的统计标准差, σ \sigma σ 越大表示此类型的关键点越难标注。

coco数据集中的5000个样本统计出17类关键点的归一化因子, σ \sigma σ 的取值为:{鼻子:0.026,眼睛:0.025,耳朵:0.035,肩膀:0.079,手肘:0.072,手腕:0.062,臀部:0.107,膝盖:0.087,脚踝:0.089},因此此值可作为常数,如果使用的关键点类型不在此当中,则另外计算。

AP(Average Precision)平均准确率

对于单人姿态估计的AP,目标图片中只有一个人体,AP计算方式为:
A P = ∑ p δ ( o k s p > T ) ∑ p 1 AP=\frac{\sum_p\delta(oks_p>T)}{\sum_p1} AP=p1pδ(oksp>T)
表示所有图片的oks大于阈值 T T T 的百分比(T是人为给定的)。
在这里插入图片描述

对于多人姿态估计而言,由于一张图像中有 M 个目标,假设总共预测出N个人体,那么groundtruth和预测值之间能构成一个 M × N M\times N M×N 的矩阵,然后将每一行的最大值作为该目标的oks,则:
A P = ∑ m ∑ p δ ( o k s p > T ) ∑ m ∑ p 1 AP=\frac{\sum_m\sum_p\delta(oks_p>T)}{\sum_m\sum_p1} AP=mp1mpδ(oksp>T)
如果采用的检测方法是自底向上,先把所有的关键点找出来然后再组成人。假设一张图片中有M个人,预测出N个人,由于不知道预测出的N个人与groundtruth中的M个人的一一对应关系,因此需要计算groundtruth中每一个人与预测的N个人的oks,那么可以获得一个大小为 M ∗ × ∗ N M*×*N M×N 的矩阵,矩阵的每一行为groundtruth中的一个人与预测结果的N个人的oks,然后找出每一行中oks最大的值作为当前GToks。最后每一个GT行人都有一个标量oks,然后人为的给定一个阈值 T,然后可以通过所有图片中的所有行人计算 AP:

MPJPE

对于3D的姿态估计而言,常用的评价指标是MPJPE(Mean Per Joint Postion Error),从字面意思也可以看出其就是预测关键点和groundtruth之间的平均欧式距离,不过一般关键点的表示形式为root-relative,即以其中一个关键点为根节点的坐标。然后通常是在相机坐标系下进行计算。

P-MPJPE

P-MPJPE(Procrustes analysis MPJPE)是基于Procrustes分析的MPJPE,先对输出进行刚性变换向groundtruth对齐后再计算MPJPE。

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

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

相关文章

1 机器学习之线性回归

学习笔记自,慕课网 《Python3 入门人工智能》 https://coding.imooc.com/lesson/418.html#mid33109 麻雀虽小,五脏俱全 1.1 回归分析 1.2 线性回归问题求解 1.3 寻找最合适的 a、b,引入损失函数的概念 尽可能使损失函数最小即找到了最合适的…

(重要)实数域上一切范数等价的证明

证明:实数域上一切范数等价编辑切换为居中添加图片注释,不超过 140 字(可选)首先需要明确范数等价的条件,这里的条件等价于夹逼,就是A小于等于B,B小于等于A,那么A肯定等于B。利用这个…

【MySQL】InnoDB存储引擎的行结构

文章目录前言1、MySQL的体系结构2、InnoDB逻辑存储结构3、InnoDB记录行结构3.1、概述3.2、语法操作3.3、Compact行格式3.3.1、示意图3.3.2、记录的额外信息3.3.3、记录的真实数据3.3.4、定长字段补充3.4、行溢出前言 MySQL服务器上负责对表中数据的读取和写入工作的部分是存储…

【博学谷学习记录超强总结,用心分享|产品经理基础总结和感悟14】

TOC 第三章, 内容服务平台优化思考 前文中,我们粗略分析了用户阅读内容的诉求和创作者编制内容的诉求,本章笔者尝试结合用户诉求分析平台的内容分发策略,结合创作者诉求分析创作者后台设计思路,创作者后台分析主要从…

Java实现支付宝支付,内网穿透,支付功能实现-57

一:支付业务 1.1 支付宝业务简介 1)网页跳转到支付宝收银台页面。用户可以使用支付宝App扫一扫屏幕二维码,待手机提示付款后选择支付工具输入密码即可完成支付; 2)如果不使用手机支付,也可以点击上图右侧…

Visual Studio解决方案中添加src文件夹的方法

如标题,这个听起来是一个愚蠢的问题,但如果在Visual Studio想添加一个src文件夹,而命名空间不包含src的话,似乎还真不容易。 如果在Visual Studio里新建一个空白解决方案,然后右键解决方案->添加->新建解决方案…

鲲鹏BigData Pro解决方案中Hive组件的部署

1 介绍 本博文基于《鲲鹏Bigdata pro之Hive集群部署》的实验手册进行,目的是方便Hive学习者重用(从本文复制)相关的指令、配置和代码。同时,会对相关的Bash命令解释,达到增进理解的目的。 2 Hive组件的部署 部署的前…

探索SpringMVC-HandlerAdapter之RequestMappingHandlerAdapter-参数解析

前言 上回,我们大概讲了下HandlerAdapter。今天带大家来认识一下,我们最常用的RequestMappingHandlerAdapter。不过只能给大家先开个头,讲下参数解析。 RequestMappingHandlerAdapter 在介绍HandlerAdapter时,我们就知道Handle…

自己动手写编译器:从NFA到DFA

上一节我们完成了使用NFA来识别字符串的功能。NFA有个问题就是其状态节点太多,使用起来效率不够好。本节我们介绍一种叫“子集构造”的算法,将拥有多个节点的NFA转化为DFA。在上一节我们描述的epsilon闭包操作可以看到,实际上所有由epsilon边…

「ARM32」MMU和页表的映射过程详解

在ARM32中,MMU主要完成虚拟地址到物理地址的映射,并且能够控制内存的访问权限,而页表是实现上述功能的主要手段。页表又分为一级页表、二级页表,在ARM64中甚至还有三级页表。为了便于理解,本章主要讲述一级页表完成段映…

centos7 安装Mysql详细教程

centos7 弃用了Mysql,默认安装了MariaDB,MariaDB是Mysql一个分支,所以要想在centos上安装Mysql,需要先进行卸载MariaDB,避免冲突 本次教程所用环境: 腾讯云服务器:centos7Mysql5.7 1. 卸载Ma…

dubbo源码实践-protocol层-invoker理解

1概述Invoker官方解释:Invoker 是实体域,它是 Dubbo 的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起 invoke 调用,它有可能是一个本地的实现,也可能是一个…

Python 机器学习最常打交道的 27 款工具包

为了大家能够对人工智能常用的 Python 库有一个初步的了解,以选择能够满足自己需求的库进行学习,对目前较为常见的人工智能库进行简要全面的介绍。 1、Numpy NumPy(Numerical Python)是 Python的一个扩展程序库,支持大量的维度数组与矩阵运算…

Maix Bit(K210)保姆级入门上手教程

Maix Bit(K210)快速上手 这是K210快速上手系列文章,主要内容是,设备连接,环境准备,运行第一个程序 阅读文章前提:python基础,K210是使用Micropython脚本语法的,因此需要一些python…

RocketMQ5.0.0部署与实例

一、Idea调试1.相关配置文件在E:\rocketmq创建conf、logs、store三个文件夹。从RocketMQ distribution部署目录中将broker.conf、logback_namesrv.xml、logback_broker.xml文件复制到conf目录。如下图所示。其中logback_namesrv.xml、logback_broker.xml分别是NameServer、Brok…

纯C语言实现动态爱心(详解,初学者也能看懂)

文章目录✍动态爱心实现💖一段小故事:爱心函数的由来🎈 创建动态爱心的准备(非小白可以跳过)1.爱心字符2.对easyx库里面的基础函数的认识①initgraph函数②settextcolor、settextstyle、setbkmode、outtextxy四种函数③…

PostgresSQL数据库的使用

PostgresSQL数据库的使用 下载安装 数据类型 使用指导 数据库操作 连接控制台 psql -h <实例连接地址> -U <用户名> -p <端口号>参数描述实例连接地址RDS PostgreSQL实例的连接地址&#xff0c;本机可用localhost或者127.0.0.1用户名创建的RDS Postgre…

ES语法扩展

剩余参数 剩余参数本质 // 剩余参数的本质const add(x,y,...args)>{console.log(x,y,args);}add();add(1);add(1,2);add(1,2,3,4,5); 剩余参数的注意事项 箭头函数的参数部分即使只有一个剩余参数&#xff0c;也不能省略圆括号使用剩余参数替代arguments获取实际参数剩余…

4.Isaac Jetson Nano 入门

Isaac Jetson Nano 入门 本节介绍如何在 Jetson Nano 设备上运行 Isaac SDK 示例应用程序。 有关如何开始使用 Nano 的一般说明&#xff0c;请参阅 Jetson Nano 开发工具包入门。 文章目录Isaac Jetson Nano 入门获取 IP 地址在 Jetson Nano 上运行示例应用程序PingOpenCV 边缘…

Pytorch CIFAR10图像分类 EfficientNet v1篇

Pytorch CIFAR10图像分类 EfficientNet v1篇 文章目录Pytorch CIFAR10图像分类 EfficientNet v1篇4. 定义网络&#xff08;EfficientNet&#xff09;EfficientNet介绍EfficientNet性能比较EfficientNet的baselineEfficientNet模型混合缩放方法其他版本的EfficientNet(B1-B7)判断…