姿态估计之2D人体姿态估计 - CPN(Cascaded Pyramid Network for Multi-Person Pose Estimation)

本文深入解析了2018年CVPR发表的级联金字塔网络(CPN)在多人姿态估计中的应用。CPN由GlobalNet和RefineNet两部分组成,解决了遮挡和复杂背景中的关键点检测难题。GlobalNet初步定位简单关键点,RefineNet则通过多层级特征融合精细化修正。文章还介绍了FPN和Mask R-CNN在人体检测中的作用,以及CPN在网络设计和训练策略上的创新,如在线困难关键点挖掘(OHKM)。在COCO数据集上,CPN取得了优异的性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该论文发表在2018年CVPR上,用于多人姿态估计的级联金字塔网络

arxiv论文地址:https://arxiv.org/abs/1711.07319

github代码:https://github.com/GengDavid/pytorch-cpnhttps://github.com/chenyilun95/tf-cpn

文档编辑参考:

1、论文笔记(CPN):Cascaded Pyramid Network for Multi-Person Pose Estimation

2、2018-CPN:Cascaded Pyramid Network for Multi-Person Pose Estimation - 知乎

一、背景

目前多人姿态估计中仍然存在的问题(hard” keypoints)(遮挡点,不可见点和拥挤的背景,是的人体关键点检测存在的问题),其原因归纳为两点:

1)只通过表层特征不能识别这些“难点”,例如:躯干点;

2)在训练过程中没有明确解决这些“难点”的检测问题;

因此,作者提出了一种新的网络结构,称为Cascaded Pyramid Network(CPN)级联金字塔网络,该网络可以有效缓解“hard” keypoints的检测问题,CPN网络分为两个阶段:GlobalNetRefineNet。GlobalNet网络是一个特征金字塔网络,该网络用于定位简单的关键点,如眼睛和手等,但是对于遮挡点和不可见的点可能缺乏精确的定位;RefinNet网络该网络通过集合来自GolbalNet网络的多级别特征来明确解决“难点”的检测问题。

三大创新点

  1.     提出了一个新的有效的网络:CPN,该网络由GlobalNet和RefineNet网络构成;
  2.     分析了在top-down结构中问题对于多人姿态估计产生影响的不同因素;
  3.     算法实现了在challenging COCO multi-persion keypoint benchmark数据集上的最好的结果,在test-dev dataset上达到73.0AP,在test challenge dataset 上达到72.1AP。

采用了top-down的路线:先在image上使用一个human detector得到人的bounding-boxes,然后再使用cpn网络进行关键点的检测;重点在cpn网络实现的关键点检测。

二、 Human Detector

类似于 Mask R-CNN,CPN pipeline 也是自顶而下的:首先通过人体检测器根据图像生成一个边界框集合bounding-boxes;然后使用bounding-boxes对原图进行裁剪,并将裁剪后的结果用于CPN网络,接着通过单人关键点估计器预测每个人关键点的详细定位。采用基于 FPN 的当前最优物体检测器作为人体检测器,并用 Mask R-CNN ROIAlign 替代 FPN ROIPooling。

2.1 FPN

目标检测算法FPN(Feature Pyramid Networks)简介

FPN使用不同分辨率的特征图感知不同大小的物体,并通过连续上采样和跨层融合机制使输出特征兼具底层视觉信息和高层语义信息。低层次的特征图语义不够丰富,不能直接用于分类,而深层的特征更值得信赖。将侧向连接与自上而下的连接组合起来,就可以得到不同分辨率的特征图,而它们都包含了原来最深层特征图的语义信息。

 2.2 Mask R-CNN 回顾

R-CNN

  Fast R-CNN

Faster R-CNN

实现了与特征提取器网络共享卷积层的区域提案网络(RPN)

Mask R-CNN = Backbone+RPN+RoIAlign+(分类+回归+mask)

RoIAlign与RoIPooling参见 RoIPooling、RoIAlign笔记

 

RoIPooling量化取整为最大值。

RoiAlign量化不取整,保持浮点数。

      上图中,四个红色叉叉‘×’的像素值是通过双线性插值算法计算得到的

三、 cascaded Pyramid Network(CPN)

  • 网络整体结构采用CPN(Cascaded Pyramid Network)结构,Cascaded指的是级联的意思,代表了网络级联了2个类似的模块(GolbalNet和RefineNet),Pyramid指的是类似于FPN的金字塔网络结构。
  • 其中,GolbalNet负责网络所有关键点的检测,重点是对比较容易检测的眼睛,胳膊等部位的关键点预测效果较好,采用的损失函数为L2 loss。其中在每一个elem-sum操作之前,都对feature map使用了1*1的卷积操作。
  • RefineNet指的是对GolbalNet预测的结果进行修正的网络。GolbalNet对身体部位的那些遮挡,看不见,或者有复杂背景的关键点预测误差较大,RefineNet则专门修正这些点。主要还是基于shortcut的思想。在该阶段的训练中,还使用了类似OHEM的online hard keypoints mining难例挖掘策略。

3.1  GolbalNet

  • CPN 的网络架构基于 ResNet。把不同卷积特征 conv2∼5 的最后残差块分别表示为 C_2 , C_3 , ..., C_5,并在其上应用 3 × 3 卷积滤波器生成关键点的热力图。如图所示,浅层特征比如C_2 , C_3 在定位上有着较高的空间分辨率,但是在识别上语义信息较少。另一方面,由于卷积(和池化),深度特征层比如 C_4,C_5 语义信息较多,但空间分辨率较低。因此经常引入 U 型结构同时保留特征层的空间分辨率和语义信息。
  • 本文的关键点估计应用了特征金字塔结构。稍微不同于 FPN,在上采样的过程中,在逐像素加和之前使用 1 × 1 卷积核,而这一结构正是 GlobalNet。
  • 如图所示,基于 ResNet backbone,GlobalNet 可有效定位简单的可见关键点(比如眼睛),却无法精确定位困难的隐藏关键点(臀部)。对臀部这类关键点的定位通常需要更多的语境信息和处理,而不是相邻的外观特征。很多情况下,单一 GlobalNet 无法直接识别这些“困难”点。

 在GlobalNet中,得到了四层特征图,作者通过给每一层特征图设计了不同的数量的botleneck块,再分别经过不同倍率的上采样,然后经过concat操作后,达到了对不同尺度特征的结合,最后经过一个bottlenet块,再经过简单的变换,得到网络的最终的输出。

3.2 RefineNet

  • GlobalNet 生成特征金字塔表征来识别“容易”点,RefineNet 则显式处理“困难”关键点。为提升信息传输的效率,保证信息完整性,RefineNet 在不同层之间传输信息,并通过像 HyperNet 一样的上采样和连接把这些信息整合起来。不同于 Stacked hourglass 的优化策略,RefineNet 接收了来自所有金字塔层的特征信息,而不是类似 hourglass 模块之间仅通过最后一个上采样特征进行信息传递。此外还把更多的 bottleneck 模块来处理更深的特征,其较小的空间尺度可实现效率和性能的良好权衡。
  • 随着训练的进行,网络会倾向于关注占比较多的“简单”点,其重要性不及“困难”点,比如遮挡等情况,因此网络对两者的关注应该取得一个平衡。为此,RefineNet 根据训练损失在线地显式选择困难关键点(称之为在线困难关键点挖掘/ OHKM),并只从已选择的关键点反向传播梯度。

### 回答1: 好的,这里是 20 个深度学习模型用于姿态估计的推荐: 1. 2D/3D Convolutional Neural Networks 2. Recurrent Neural Networks 3. Self-supervised Learning 4. Generative Adversarial Networks 5. Attention-based Networks 6. Graph Neural Networks 7. Multi-view Networks 8. Convolutional Pose Machines 9. End-to-end Learning 10. Hybrid Networks 11. Part-based Networks 12. Deformable Part Models 13. Dense Regression Networks 14. Spatial Transformer Networks 15. Adversarial Training 16. Deep Reinforcement Learning 17. Generative Models 18. Transfer Learning 19. Domain Adaptation 20. Few-shot Learning ### 回答2: 姿态估计是计算机视觉领域中的重要任务,它涉及到对人体或者物体在图像或者视频中的关键点进行定位和跟踪。下面是其中一些比较常用的姿态估计深度学习模型: 1. Hourglass:采用自顶向下的多尺度处理方式,通过逐步下采样和上采样来逼近姿态关键点。 2. OpenPose:结合了卷积神经网络和图像处理技术,能够同时估计多个人体关键点。 3. AlphaPose:使用融合的深度回归网络和判别式模型,能够准确预测人体关键点。 4. CPN(Convolutional Pose Machines):通过堆叠多个卷积网络来逐步提炼姿态特征,从而实现关键点的准确定位。 5. Squeeze-and-Excitation Network:采用通道注意力机制,能够自适应地提取姿态特征。 6. HRNet(High-Resolution Network):通过同时利用高分辨率和多尺度特征进行姿态估计,能够提升准确性。 7. PoseNet:借鉴了图像特征和姿态信息之间的关系建立一个深度神经网络模型。 8. SPPE(Simple Pose Part Estimation):通过训练两个子网络,一个进行关键点热图预测,一个用于姿态矩阵估计。 9. ResNet:利用残差连接来构建深度卷积神经网络,适用于姿态估计任务。 10. Stacked Hourglass Attention Network:利用注意力机制来指导姿态关键点的预测。 11. Integral Human Pose Regression:通过估计关键点的密集度矩阵来提高姿态估计的精度。 12. Natural Language Pose Estimation:结合自然语言处理技术,实现对图像或视频中的姿态进行描述和预测。 13. LSTM Pose Machines:利用长短期记忆网络,实现对时间序列中姿态的预测。 14. CPM+OHPM(Orphan Hourglass Pose Machine):结合主干卷积网络和分支网络,能够同时估计多个关键点。 15. DensePose:将姿态估计任务转化为像素到三维点的映射问题,实现密集而准确的姿态估计。 16. PAF(Part Association Fields):通过学习连接人体关键点的概率热图,实现对复杂姿态的估计。 17. Cascaded Pyramid Network:通过级联的金字塔结构,逐步提取姿态特征并进行联合估计。 18. Realtime Multi-Person 2D Pose Estimation:实现实时多人姿态估计,通过基于相机中心和深度优化的关键点匹配算法提高准确性。 19. DeepPose:采用深层卷积神经网络,通过端到端的训练实现姿态估计。 20. Deformable Part Models:结合深度学习和非刚性图像变换技术,实现对非刚性物体(如人体)姿态的估计。 ### 回答3: 推荐以下20个姿态估计深度学习模型: 1. OpenPose:使用卷积神经网络进行多人姿态估计。 2. AlphaPose:基于实时多人姿态估计的开源系统。 3. PoseNet:使用卷积神经网络进行单人姿态估计。 4. HRNet:使用高分辨率表示网络进行姿态估计,具有较高的准确度。 5. SimplePose:使用特征金字塔网络进行单人姿态估计。 6. CPN:使用循环多尺度特征金字塔网络进行多人姿态估计。 7. DensePose:基于Mask R-CNN的姿态估计框架,能够推断出人体的密集表面网格。 8. SPPE:基于Spatial Pyramid and Graph Parsing Engine的姿态估计模型,能够进行多人姿态估计。 9. Stacked Hourglass Network:使用堆叠的Hourglass网络进行姿态估计,具有较高的准确度。 10. Integral Human Pose Regression:使用全卷积网络进行单人姿态估计。 11. HMR:使用循环神经网络进行人体姿态和形状估计。 12. VisualSFM:使用结构光扫描和特征提取进行姿态估计。 13. PoseTrack:用于多人姿态估计和追踪的数据集和基准。 14. RMPE:基于循环网络的多人姿态估计模型,具有较高的鲁棒性。 15. Cascaded Pyramid Network:使用金字塔形状网络进行多人姿态估计的模型。 16. MultiPoseNet:基于多任务学习的多人姿态估计模型。 17. CPN-RNN:在CPN的基础上引入循环神经网络,提高姿态估计的准确度。 18. RMPE+SDN:RMPE在姿态估计任务上引入了空间注意力模块。 19. Convolutional Pose Machines:使用卷积神经网络进行姿态估计的模型。 20. Mask R-CNN:用于实例分割和人体姿态估计的深度学习模型。 以上是一些常见的姿态估计深度学习模型,可以根据具体需求选择适合的模型进行姿态估计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值