MediaPipe之人体关键点检测>>>BlazePose论文精度

这篇具有很好参考价值的文章主要介绍了MediaPipe之人体关键点检测>>>BlazePose论文精度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

BlazePose: On-device Real-time Body Pose tracking

BlazePose:设备上实时人体姿态跟踪

论文地址:[2006.10204] BlazePose: On-device Real-time Body Pose tracking (arxiv.org)

主要贡献:

(1)提出一个新颖的身体姿态跟踪解决方案和一个轻量级的身体姿态估计神经网络,同时使用了热图(heatmap)和对关键点坐标的回归。

(2)基于堆叠沙漏结构(the stacked hourglass architecture),并使用编码器-解码器网络架构来预测所有关节的热图,然后使用另一个编码器直接回归到所有关节的坐标。

(3)在推断过程中可以丢弃热图分支,使其足够轻便,可以在手机上运行,FPS达到30+。

MediaPipe之人体关键点检测>>>BlazePose论文精度

目录

一、摘要

二、介绍

三、模型架构和管道(Pipeline)设计

(1)推理管道

(2)人员探测器

(3)Topology

(4)数据集

(5)神经网络架构

(6)对齐和遮挡增强

四、实验

五、应用


一、摘要

我们提出了BlazePose,一种用于人体姿态估计的轻量级卷积神经网络架构,用于在移动设备上进行实时推理。在推理过程中,该网络为单个人生成33个身体关键点,并在Pixel2手机上以每秒30帧以上的速度运行。这使得它特别适合实时用例图,如健身跟踪和手语识别。我们的主要贡献包括一个新颖的身体姿态跟踪解决方案和一个轻量级的身体姿态估计神经网络,它同时使用了热图(heatmap)和对关键点坐标的回归。

二、介绍

从图像或视频中进行人体姿态估计在各种应用中起着核心作用,如健康跟踪、手语识别和手势控制。这项任务是具有挑战性的,由于各种各样的姿势,许多自由度和遮挡。最近的工作《Deephigh-resolution representation learning for human pose estimation》《Pifpaf:Composite fields for human pose estimation》在位姿估计方面取得了显著的进展。常用的方法是为每个关节生成热图,同时为每个坐标细化偏移量。虽然这种热图的选择以最小的开销扩展到多个人,但它使单个人的模型比适用于手机上的实时推断大得多。在本文中,我们解决了这个特殊的用例,并展示了模型在几乎没有质量下降的情况下的显著加速。

与基于热图的技术相比,基于回归的方法虽然计算量较小,可扩展性强,但试图预测平均坐标值,往往无法解决潜在的歧义。《Stacked hour-glass networks for human pose estimation》的研究表明,堆叠沙漏结构(the stacked hourglass architecture)可以显著提高预测的质量,即使参数数量较少。在我们的工作中扩展这个想法,并使用编码器-解码器网络架构来预测所有关节的热图,然后使用另一个编码器直接回归到所有关节的坐标。我们工作背后的关键见解是,在推断过程中可以丢弃热图分支,使其足够轻便,可以在手机上运行。

三、模型架构和管道(Pipeline)设计

(1)推理管道

MediaPipe之人体关键点检测>>>BlazePose论文精度

图1 推理管道

在推理过程中,我们使用了一个检测器跟踪器setup(见图1),它在各种任务上表现出优异的实时性能,例如 hand landmark pre-diction《On-device, real-timehand tracking with mediapipe》AND dense face landmark prediction《Real-time facial surface ge-ometry from monocular video on mobile gpus》。我们的管道由一个轻量级的身体姿态探测器和一个姿态跟踪器网络组成。跟踪器预测关键点坐标、当前帧中人物的存在以及当前帧的细化感兴趣区域。当跟踪器指示没有人类在场时,我们在下一帧重新运行检测器网络。

(2)人员探测器

大多数现代目标检测解决方案的最后一个后处理步骤都依赖于非极大值抑制( NMS )算法。这对于自由度较少的刚性物体效果较好。然而,该算法适用于像人类那样包含高度关节化姿态的场景,例如人们挥手或拥抱。这是因为对于NMS算法,多个模糊框满足交并比( IoU )阈值。为了克服这一限制,我们专注于检测一个相对僵硬的身体部分,如人体面部或躯干的边界框。我们观察到,在很多情况下,神经网络关于躯干位置的最强信号是人的面部(因为它具有高对比度的特征和较少的外观变化)。为了使这样的人物检测器快速轻量级,我们使强而有效的AR(增强现实)应用程序,假设在我们的单人用例中,人物的头部应该始终可见。因此,我们使用快速的设备上人脸检测器《Blaze-face: Sub-millisecond neural face detection on mobile gpus》作为人员检测器的代理。

 图2 维特鲁威人通过我们的检测器与人脸检测边界框进行对齐

这个人脸检测器预测额外的个人特异性对齐参数:人的臀部之间的中点,环绕整个人的圆的大小,以及倾斜的(两肩中点和臀中点连线之间的夹角)。

 (3)Topology

MediaPipe之人体关键点检测>>>BlazePose论文精度

图3 33个关键点拓扑

我们提出了一种新的拓扑结构,使用人体上的33个点,采用了BlazeFace、BlazePalm和Coco使用的超集。这使得我们能够与各自的数据集和推理网络保持一致。

与OpenPose和Kinect的Topologies不同,我们仅使用面部、手部和脚部的最少数量的关键点来估计后续模型感兴趣区域的旋转、大小和位置。我们使用的拓扑结构如图3所示。其他信息见附录A。

Appendix A. BlazePose keypoint names

0. Nose 11. Left shoulder 22. Right thumb #2 knuckle
1. Left eye inner 12. Right shoulder

23. Left hip

2. Left eye 13. Left elbow 24. Right hip
3. Left eye outer 14. Right elbow 25. Left knee
4. Right eye inner 15. Left wrist 26. Right knee
5. Right eye 16. Right wrist 27. Left ankle
6. Right eye outer 17. Left pinky #1 knuckle 28. Right ankle
7. Left ear 18. Right pinky #1 knuckle 29. Left heel
8. Right ear 19. Left index #1 knuckle 30. Right heel
9. Mouth left 20. Right index #1 knuckle 31. Left foot index
10. Mouth right 21. Left thumb #2 knuckle 32. Right foot index

(4)数据集

基于解决方案需要初始位姿对齐。我们将我们的数据集限制在整个人都可见的情况下,或者在臀部和肩部关键点可以自信地注释的情况下。为了确保模型支持数据集中不存在的严重遮挡,我们使用大量的遮挡模拟增强。我们的训练数据集由60K张单人或少人在场景中常见姿势的图像和25K张单人在场景中进行健身练习的图像组成。这些图像均由人类标注。 

(5)神经网络架构

本系统的姿态估计组件预测所有33个行人关键点的位置,并使用流水线第一阶段提供的行人对齐建议( 3.1节)。

MediaPipe之人体关键点检测>>>BlazePose论文精度

图4 网络架构

我们采用了热图、偏移和回归相结合的方法,如图4所示。我们只在训练阶段使用heatmap和offset loss,并在运行推断之前从模型中删除相应的输出层。因此,我们有效地使用热图来监督轻量级嵌入,然后由回归编码器网络使用。该方法部分受到了Stacked Hourglass方法的启发,但在我们的案例中,我们堆叠了一个微小的基于编码器-解码器热图的网络和一个后续的回归编码器网络。

我们积极利用网络所有阶段之间的跳跃连接,以实现高级和低级功能之间的平衡。然而,来自回归编码器的梯度并没有传播回热图训练的特征(注意图4 中的渐变停止连接)。我们发现这不仅改善了热图的预测,而且大大提高了坐标回归的精度。

(6)对齐和遮挡增强

相关的位姿先验是所提解决方案的重要部分。在增强和训练时的数据准备过程中,我们特意限制了角度、尺度和平移的支持范围。这允许我们降低网络容量,使网络更快,同时需要更少的计算和主机设备上的能量资源。

基于检测阶段或前一帧关键点,我们对齐人,使臀部之间的点位于通过的正方形图像的中心作为神经网络输入。我们估计旋转作为中间臀部和中间肩点之间的直线L,并旋转图像,使L平行于y轴。缩放比例是这样估计的,这样所有的身体点都适合于一个围绕身体的正方形包围盒,如图2所示。除此之外,我们还应用了10%的比例和移位增强,以确保跟踪器处理帧之间的身体运动和扭曲的调整。

MediaPipe之人体关键点检测>>>BlazePose论文精度

图5 上半身情况的结果

为了支持不可见点的预测,我们在训练过程中模拟遮挡(填充不同颜色的随机矩形),并引入一个点可见性分类器,该分类器指示特定点是否被遮挡以及位置预测是否被认为不准确。这允许跟踪一个人,即使是在重要的遮挡情况下,如上半身,或者当大多数人的身体不在场景中时,如图5所示。

四、实验

为了评估模型的质量,我们选择OpenPose《Openpose: Realtime multi-person 2d pose estimation using part affinity fields》作为基线。为此,我们手动注释了两个内部数据集的1000幅图像,每个数据集都有1 - 2人在现场。第一个数据集,称为AR数据集,由各种各样的人类在野外的姿势组成,而第二个数据集只包括瑜伽/健身姿势。对于一致性,我们只使用了MS Coco [ 8 ]拓扑中的17个点进行评估,它是OpenPose和BlazePose的共同子集。作为评价指标,我们使用具有20 %容忍度的正确点百分比( PCK @ 0.2 ) (其中,如果2D Eu - clidean误差小于误差小于相应的每个子的躯干尺寸的20 % ,则要正确检测的点)。为了验证人类基线,我们要求两个注释器独立地重新注释AR数据集,并获得了97.2的平均PCK @ 0.2。

我们训练了两个不同能力的模型:BlazePose Full ( 6.9 MFlop , 3.5M Params)和BlazePoseLite ( 2.7 MFlop , 1.3M Params)。尽管我们的模型在AR数据集上表现出略差于OpenPose模型的性能,但在Yoga / Fitness用例上,BlazePose Full优于OpenPose。同时,BlazePose在单个中间层手机CPU上的执行速度是OpenPose在20个核心桌面CPU上执行速度的25 - 75倍,具体取决于所请求的质量。

MediaPipe之人体关键点检测>>>BlazePose论文精度

 表1 BlazePose vs OpenPose

1. Desktop CPU with 20 cores (Intel i9-7900X)

2. Pixel 2 Single Core via XNNPACK backend

五、应用

我们开发了这个新的、设备上的、单一的个人特异性人体姿态估计模型,以启用各种性能要求的用例,如手语、瑜伽/健身跟踪和AR。此模型可在移动CPU上近实时工作,并可在移动GPU上加速到超实时延迟。由于其33个关键点拓扑与BlazeFace《Blaze-face: Sub-millisecond neural face detection on mobile gpus》和BlazePalm《On-device, real-timehand tracking with mediapipe》一致,因此它可以作为后续手部姿态和面部几何估计《Real-time facial surface ge-ometry from monocular video on mobile gpus.》模型的基础

我们的方法原生地扩展到更多的关键点、3D支持和额外的关键点属性,因为它不是基于热图/偏移图,因此不需要为每个新特性类型添加额外的全分辨率层。

>>> 如有疑问,欢迎评论区一起探讨!文章来源地址https://www.toymoban.com/news/detail-459335.html

到了这里,关于MediaPipe之人体关键点检测>>>BlazePose论文精度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pytorch+Python实现人体关键点检测

    用Python+Pytorch工程代码对人体进行关键点检测和骨架提取,并实现可视化。 物体检测为许多视觉任务提供动力,如实例分割、姿态估计、跟踪和动作识别。它在监控、自动驾驶和视觉答疑中有下游应用。当前的对象检测器通过紧密包围对象的轴向包围框来表示每个对象。然后

    2024年02月09日
    浏览(42)
  • Python+OpenCV+OpenPose实现人体姿态估计(人体关键点检测)

    1、人体姿态估计简介 2、人体姿态估计数据集 3、OpenPose库 4、实现原理 5、实现神经网络 6、实现代码 人体姿态估计(Human Posture Estimation),是通过将图片中已检测到的人体关键点正确的联系起来,从而估计人体姿态。 人体关键点通常对应人体上有一定自由度的关节,比如颈、

    2024年02月04日
    浏览(43)
  • YOLOv5姿态估计:HRnet实时检测人体关键点

    前言: Hello大家好,我是Dream。 今天来学习一下 利用YOLOv5进行姿态估计,HRnet与SimDR检测图片、视频以及摄像头中的人体关键点 ,欢迎大家一起前来探讨学习~ 首先需要我们利用Pycharm直接克隆github中的姿态估计原工程文件,如果不知道怎样在本地克隆Pycharm,可以接着往下看,

    2024年01月17日
    浏览(64)
  • YOLOv8 人体姿态估计(关键点检测) python推理 && ONNX RUNTIME C++部署

    目录   1、下载权重 ​编辑2、python 推理 3、转ONNX格式 4、ONNX RUNTIME C++ 部署 utils.h utils.cpp detect.h detect.cpp main.cpp CmakeList.txt 我这里之前在做实例分割的时候,项目已经下载到本地,环境也安装好了,只需要下载pose的权重就可以 输出:   用netron查看一下:  如上图所是,YOLO

    2024年02月07日
    浏览(44)
  • OpenMMLab-AI实战营第二期——2-1.人体关键点检测与MMPose

    视频链接:B站-人体关键点检测与MMPose 关键点提取,属于模式识别 人体姿态估计的下游任务:行为识别(比如:拥抱。。) 下游任务:CG和动画,这个是最常见的应用 下游任务:人机交互(手势识别,依据收拾做出不同的响应,比如:HoloLens会对五指手势(3D)做出不同的反

    2024年02月11日
    浏览(39)
  • yolov8-pose:在yolov8上添加人体关键点检测

        最近因为工作关系接触了yolo-pose,1月份yolov8也出来了,就想着能不能在yolov8上也加上pose分支,也算加深对网络的认识。     yolov8在数据处理上也考虑了keypoints的,所以数据处理部分不用太多的修改,主要修改了Detect类、Loss类。     Detect类:__init__方法中加入nkpt以及c

    2024年02月11日
    浏览(43)
  • 【mmpose】从openmmlab官方文档看mmpose架构设计,模块组成,快速上手实现关键点检测效果(动物,人体,手部等)

    MMPOSE 架构设计 MMPose 1.0 与之前的版本有较大改动,对部分模块进行了重新设计和组织,降低代码冗余度,提升运行效率,降低学习难度。使用 MMPose 1.0 时开发者会关心的内容: 整体代码架构与设计逻辑; 如何用config文件管理模块; 如何使用自定义数据集; 如何添加新的模

    2024年02月08日
    浏览(51)
  • 解剖学关键点检测方向论文翻译和精读:基于热力图回归的CNN融入空间配置实现关键点定位

    Abstract: In many medical image analysis applications, only a limited amount of training data is available due to the costs of image acquisition and the large manual annotation effort required from experts. Training recent state-of-the-art machine learning methods like convolutional neural networks (CNNs) from small datasets is a challenging task. In this wo

    2024年02月09日
    浏览(98)
  • MMPose姿态估计+人体关键点识别效果演示

    1.1 背景 首先姿态估计属于计算机视觉领域的一个基础研究方向。MMPose是基于Pytorch的姿态估计开源算法库,功能全,涵盖的算法多。 1.2 姿态估计的任务分类 维度 :预测的是2D还是3D姿态。 输入格式 :图片 or 视频 姿态的表示形式 :关键点 or 形状等 目标类型 :全身 or 人脸

    2024年01月20日
    浏览(45)
  • 【一步步开发AI运动小程序】十一、人体关键点跳跃追踪

    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让 云上运动会、线上运动会、健身打卡、AI体育指导 等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从

    2024年02月07日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包