yolopose论文阅读

YOLO-Pose: Enhancing YOLO for Multi Person Pose Estimation Using Object Keypoint Similarity Loss

YOLO-Pose: 利用目标关键点相似损失函数的多人姿态估计增强YOLO

摘要

本文介绍了YOLO-pose,一种新的无热图的联合检测方法,以及基于YOLO目标检测框架的二维图像多人姿态估计。
现有的基于热图的两阶段方法是次优的,因为它们无法进行端到端训练,并且训练依赖于一个近似代替的L1损失函数,这个损失函数无法最大化评估指标,即对象关键点相似性(OKS)。
本文提出的框架能够端到端训练模型,并优化OKS度量本身。
该模型学习了在一次正向传递中联合检测多个人的边界框及它们相应的二维姿态点,从而得到了自上而下和自下而上两种方法的最佳效果。
该方法不需要对自底向上的方法进行后处理,以将检测到的关键点分组到一个骨架中,因为每个边界框都有一个相关的姿态,从而导致关键点的固有分组。
与自上而下的方法不同,多个前向传播被取消,因为所有人和它对应的的姿态在局部一起进行推断预测。
YOLO-pose在COCO验证集(90.2% AP50)和测试集(90.3% AP50)上获得了最优的结果,在没有翻转测试、多尺度测试或任何其他测试时间增加的测试中,超过所有现有的自底向上方法。
本文中报告的所有实验和结果都没有任何测试时间的增加,不像传统的方法使用翻转测试和多尺度测试来提高性能。

引言

  多人二维姿态估计是一项理解图像中人物的任务。给定一个输入图像,目标是检测每个人并定位他们的身体关节。推断一个图像中多个人的姿势可以是有挑战性的,因为图像中人数的可变,尺度的可变,身体部位的遮挡,人体的非刚性,以及其他各种原因。

图一.对一个拥挤的COCO2017年以前的样本图像的定性结果。上图:从yolov5m6姿态的输出显示了我们的方法的鲁棒性。一个人的关键点永远不会因为固有的分组而与另一个人误解。底部:来自HigherHRNetW32的输出,显示了即使在关键点位置基本正确,分组算法也很容易失败。自底向上的方法在拥挤的场景中容易出现这种分组错误。


  现有的姿态估计解决方案分为自上而下和自下而上。自上而下或两阶段方法Simplebaseline,Hourglass,HRNet目前是最先进的。 他们首先使用一个强大的人体检测器,然后针对每个人体做单人的姿态估计。 自上而下方法的复杂性随着图像中的人数线性增加。 由于高复杂性和可变运行时间,大多数需要恒定运行时间的实时应用程序不喜欢自上而下的方法。他们首先使用一个强大的人体检测器,然后针对每个人体做单人的姿态估计。 自上而下方法的复杂性随着图像中的人数线性增加。 由于高复杂性和可变运行时间,大多数需要恒定运行时间的实时应用程序不喜欢自上而下的方法。

  相比之下,自下而上的 Associate embedding,PifPaf等方法提供恒定的运行时间,因为它们依靠热图来检测单次中的所有关键点,然后是复杂的后处理将他们分组为个人。 自下而上方法中的后处理可能涉及像素级 NMS、线积分、细化、分组等步骤。坐标调整和细化减少了下采样热力图的量化误差,其中NMS用于寻找热力图中的局部最大值。即使经过后处理,热力图也许不够清晰,无法区分同一类型的两个靠得很近的关键点。同样,自下而上的方法不能进行端到端的训练,因为后处理步骤不可区分并且发生在卷积网络之外。他们在方法上存在很大差异,从线性规划到各种启发式算法。很难用CNN加速器去加速他们,因此速度也很慢。有单次推理的方法,虽然避免了分组任务,但不能与自下而上的方法相提并论。他们依赖额外的后处理来提升性能。
  我们这项工作的目的是解决没有热图的位姿估计问题,与目标检测保持一致,因为目标检测中的挑战与位姿估计相似,如尺度变化、遮挡、人体的非刚性等。因此,如果一个人体检测网络能够处理这些问题,它也能处理姿态估计。例如,最新的目标检测框架尝试解决尺度变化的问题,通过在多个尺度上做预测。这里,我们采用相同的策略去针对每个检测去预测多尺度的人体姿态。我们采用相同的策略来预测每个检测对应的多个尺度上的人体姿态。同样,目标检测领域的所有主要进展都无缝地传递到姿态估计问题上。我们提出的姿态估计技术可以很容易地集成到任何计算机视觉系统中,计算量几乎没有增加。
  基于流行的YOLOv5[1]框架,我们将我们的方法称为YOLO-Pose。这是首次在没有热图的情况下重点解决二维位姿估计问题的尝试,重点是摆脱目前使用的各种非标准化的后处理。我们的方法使用与目标检测相同的后处理。我们在具有挑战性的Coco KeyPoint数据集上验证了我们的模型,并展示了在AP方面具有竞争力的准确性,以及在AP50方面相对于具有类似复杂性的模型的显著改进。
  在yolo-pose的方法中,与真实的标准框匹配的anchor box或者anchor point,存储着其完整的2D姿态以及bounding box位置。来自不同人体的两个相似关节点在空间上可以互相靠近。使用热力图很难区分这种情况。但是,如果这两个人通过不同的anchor匹配,这将很容易区分空间上靠近的相似关节点。同样,与anchor关联的关键点已被分组。因此,不需要进行任何进一步的分组。在自底向上的方法中,一个人的关键点很容易被误认为另一个关键点,如图1所示,而YOLO-pose本质上解决了这个问题。与自顶向下的方法不同,YOLO-Pose的复杂性与图像中的人数无关。因此,我们有自上而下和自下而上两者中的最佳方法:稳定的运行时间以及简单的后处理。
总的来说,yolo-pose做出了以下贡献:

  • 我们提出根据目标检测解决多人姿势估计,因为尺度变化和遮挡等主要挑战对两者来说都是共同的。 因此,迈出了统一这两个领域的第一步。 我们的方法将直接受益于目标检测领域的任何进步。
  • 该方法基于无热力图,使用标准的目标检测后处理步骤,代替了包括像素级NMS、调整、细化和线积分和各种分组算法的后处理。该方法是鲁棒性的,因为端到端训练没有独立的后处理。
  • 将目标框检测的IoU损失扩展到关键点估计上。OKS不仅用于评估,也用于训练损失。OKS损失是尺度不变的,固定地为不同关节点提供了不同的权重。
  • 将检测与姿态估计联合的框架,在目标检测框架上几乎不额外增加运算实现了姿态估计
  • 提出了低复杂度的模型,明显超过了EfficientHRNet等关注实时的模型。

YOLO-POSE

  YOLO-pose 是与其他自下而上方法一样的单次方法。 但是,它不使用热图。 相反,它将一个人的所有关键点与锚点相关联。 它基于 YOLOv5 目标检测框架,也可以扩展到其他框架。 我们也在 YOLOX上对它进行了有限的验证。 图 2 说明了用于姿势估计的keypoint head的整体架构。

概要

  为了展示该方法的潜力,作者考虑去选择检测人体效果好的框架。YOLOv5是在准确性和复杂性方面领先的检测器,因此选择YOLOv5作为基础并在它之上去构建。YOLOv5主要关注COCO目标检测上的80个类别,在每个anchor上采用box head预测85种元素(80个元素对应类别,边界框对应4个元素,1个目标分数)。 它们对应于 80 个类别的bounding box、object score和confidence score。 对应每个网格位置,有3个不同形状的anchor。
  对于人体姿态估计YOLO-Pose,它就检测一种类别即人体,每个人体有17个关节点,并且每个关节点被位置和置信度{x,y,conf}所确定。因此,与一个关联anchor,有17个关节点的51个元素。因此,对于每个anchor,keypoint head预测51个元素,box head预测6个元素。对于n个关节点的anchor,所有需要的prediction元素可以表达成一个向量,即:
在这里插入图片描述
  Keypoint confidence是基于其该关键点的可见标志来训练的。如果一个关键点是可见的或者遮挡了,那么人工标注置信度设置1;如果它在视野范围之外,则设置为0。在推理阶段,我们保留置信度大于0.5的关键点。其他预测的关键点被丢弃。预测的关键点置信度不用于评估。但是,由于网络针对每一个检测都输出17个关键点,我们需要过滤掉视野范围外的关键点。否则,会有悬空的关键点导致骨架变形。当前的基于热图的自下而上的方法不需要这个操作,因为视野外的关键点在第一阶段就不会被检测到。
  YOLO-Pose 使用 CSP-darknet53 [27] 作为主干,使用 PANet [6] 从主干融合各种尺度的特征。 随后是四个不同规模的检测头。 最后,有两个解耦头用于预测框和关键点。
  在这项工作中,我们将复杂性限制为150 GMACS,在此范围内,我们能够取得有竞争力的结果。 随着复杂性的进一步增加,可以通过自上而下的方法进一步弥合差距。 但是,我们不走这条路,因为我们的重点是实时模型。

基于锚框的多人姿势公式

对于给定的图像,与一个人匹配的Anchor将存储其整个2D pose和bounding box。bounding box的坐标被转换为Anchor中心,而bounding box的尺寸则根据Anchor的高度和宽度进行规范化。同样,关键点位置将转换为Anchor中心。然而,关键点并没有与Anchor的高度和宽度进行标准化。Keypoint和box都被预测在Anchor的中心。由于YOLO-Pose的改进与Anchor的宽度和高度无关,所以YOLO-Pose可以很容易地扩展到Anchor Free的目标检测方法,如YOLOX, FCOS。

基于IoU的边界框损失函数

多数现代的目标检测器优化IoU,出现了其高级变体例如GIoU,DIoU和CIoU等损失,替代了基于距离的用于边界框预测的损失,因为这些损失是尺度不变的,并能够直接优化评估策略本身。YOLOPose使用CIoU损失用于边界框的监督,对于一个标定的真实边界框,匹配第k个anchor,位置( i , j ),尺度为s,损失可以定义为
在这里插入图片描述
在本模型中,每个位置有三个anchors,预测有四个尺度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值