热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2D人体骨架检测算法综述

文章目录多人关键点检测多人2d关键点检测的算法(自下而上)1.OpenPose:RealtimeMulti-Person2DPoseEstimation

文章目录

  • 多人关键点检测
  • 多人2d关键点检测的算法(自下而上)
    • 1.OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields(IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE2019)
    • 2.Single-Network Whole-Body Pose Estimation(ICCV2019)


多人关键点检测

多人关键点检测分自上而下和自下而上两种方法:

自上而下(Top-Down)的人体骨骼关键点检测算法主要包含两个部分,目标检测和单人人体骨骼关键点检测,对于目标检测算法,这里不再进行描述,而对于关键点检测算法,首先需要注意的是关键点局部信息的区分性很弱,即背景中很容易会出现同样的局部区域造成混淆,所以需要考虑较大的感受野区域;其次人体不同关键点的检测的难易程度是不一样的,对于腰部、腿部这类关键点的检测要明显难于头部附近关键点的检测,所以不同的关键点可能需要区别对待;最后自上而下的人体关键点定位依赖于检测算法的提出的Proposals,会出现检测不准和重复检测等现象,大部分相关论文都是基于这三个特征去进行相关改进。

自下而上(Bottom-Up)的人体骨骼关键点检测算法主要包含两个部分,关键点检测和关键点聚类,其中关键点检测和单人的关键点检测方法上是差不多的,区别在于这里的关键点检测需要将图片中所有类别的所有关键点全部检测出来,然后对这些关键点进行聚类处理,将不同人的不同关键点连接在一块,从而聚类产生不同的个体。而这方面的论文主要侧重于对关键点聚类方法的探索,即如何去构建不同关键点之间的关系。

本博文不再介绍自上而下的方法。

多人2d关键点检测的算法(自下而上)

1.OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields(IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE2019)

目前,已经有了许多关于检测的工作。许多的检测方式都是先想办法检测出身体的部位的关节点,然后再连接这些部位点得到人的姿态骨架。本文的工作差不多也是这个套路,但是为了快速的把点连到一起,提出了Part Affinity Fields这个概念来实现快速的关节点连接。
在这里插入图片描述

2.Single-Network Whole-Body Pose Estimation(ICCV2019)

本文提出了第一个二维全身姿态估计的单网络方法,它要求同时定位身体、脸、手和脚的关键点。方法在OpenPose的基础上有了很大的改进,OpenPose是目前为止唯一能够在速度和全局精度方面进行全身姿态估计的方法。与OpenPose不同的是,本文的方法不需要为每只手和每一张脸的候选对象运行一个额外的网络,这使得它在多人场景中运行速度大大提高。速度: 在测试时,无论检测到多少人,本文的单网络方法都提供了一个恒定的实时推断,大约比最先进的(OpenPose)的n人图像快n倍。准确性: 方法也比之前的OpenPose产生了更高的准确性,特别是在脸部和手部关键点检测上,更适用于遮挡、模糊和低分辨率的脸部和手部。

在这里插入图片描述


推荐阅读
  • 深入解析JVM内存模型与分配机制
    本文详细探讨了JVM内存结构的主要组成部分,包括Java虚拟机栈、Java堆、方法区等,并深入分析了HotSpot虚拟机的分代收集策略及其对不同内存区域的管理方式。 ... [详细]
  • 本文详细介绍了二叉堆的概念及其在Java中的实现方法。二叉堆是一种特殊的完全二叉树,具有堆性质,常用于实现优先队列。 ... [详细]
  • 使用C#构建动态图形界面时钟
    本篇文章将详细介绍如何利用C#语言开发一个具有动态显示功能的图形界面时钟。文章中不仅提供了详细的代码示例,还对可能出现的问题进行了深入分析,并给出了解决方案。 ... [详细]
  • 解决Pytesser模块在Windows环境下出现的错误
    本文详细探讨了如何解决在Windows环境中使用Pytesser模块进行OCR(光学字符识别)时遇到的WindowsError错误,提供了具体的解决方案。 ... [详细]
  • MATLAB是科技工作者的重要工具,以其强大的科学计算能力和简洁的编程风格而广受好评。然而,MATLAB生成的图形默认分辨率较低,这在某些情况下可能会影响图形的质量。本文将介绍如何在MATLAB中保存高分辨率的图形。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • 【数据结构】堆的实现(简单易懂,超级详细!!!)
    目录1、堆的概念及结构概念规律2、堆的实现2.1结构设计2.2接口实现2.3初始化2.4堆的向下调整算法主要思想涉及问题代码实现2.5建堆思想代码实现 ... [详细]
  • 本题要求实现一个高效的算法,在一个 m x n 的矩阵中搜索目标值 target。该矩阵具有以下特性:每行的元素从左到右按升序排列,每列的元素从上到下按升序排列。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • IO流——字符流 BufferedReader / BufferedWriter 进行文件读写
    目录节点流、处理流读文件:BufferedReader的使用写文件:BufferedWriter的使用节点流处理流节点流和处理流的区别和联系字符流Buf ... [详细]
  • 前言:由于Android系统本身决定了其自身的单线程模型结构。在日常的开发过程中,我们又不能把所有的工作都交给主线程去处理(会造成UI卡顿现象)。因此,适当的创建子线程去处理一些耗 ... [详细]
  • pypy 真的能让 Python 比 C 还快么?
    作者:肖恩顿来源:游戏不存在最近“pypy为什么能让python比c还快”刷屏了,原文讲的内容偏理论,干货比较少。我们可以再深入一点点,了解pypy的真相。正式开始之前,多唠叨两句 ... [详细]
  • PCIe中的弹性缓冲原理解析
    PCIe是一种高速串行总线,其传输信号为差分信号,并采用同步传输方式。然而,PCIe并没有专用的同步时钟。本文将详细介绍PCIe中的弹性缓冲(Elastic Buffer)原理,探讨其如何处理时钟差异,确保数据传输的稳定性和可靠性。 ... [详细]
author-avatar
啊123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有