【姿态估计论文阅读】Multi-Scale Structure-Aware Network for Human Pose Estimation

介绍ECCV2018论文,重点在于改进深度神经网络在姿态估计上的表现,尤其在遮挡和尺度变化场景下。文章提出多尺度监督网络(MSS-Net)和多尺度回归网络(MSR-Net),并引入结构感知损失和关键点遮挡训练,以增强模型的泛化能力。

          

前言:这是ECCV2018的文章,也是MPII目前的top 结果。这篇文章,用了很多“中继监督",本文的主要思想是结合“多尺度信息”,把这个体现到loss中,并且对多尺度信息进行结合,利用这一点来提升feature 效果。同时也引入了人体的结构信息,不像以前都是单个keypoint的heatmap 单独预测,本文还预测一种关联heatmap。还提出了一种keypoint的mask training来应对遮挡!

主要工作意义

      这篇文章的主要工作内容,在我看来是去探讨 如何提升“深度神经卷积网络” 对于困难情况下的姿态估计!比如遮挡!以及尺度变换带来的影响!因为尺度变换会导致部分关键在 ”低分辨率的feature map“ 上消失?

      本文认为,目前的state-of-the-art 的DNN-based 方法存在以下一些问题: 

             1、尺度不稳定:不是很明白这里为什么要说SSD,SSD框了之后难道不是在原图上截取嘛?  作者也说了,在deconv的金字塔种,网络会去对于某一个特定尺寸过拟合?也没看懂是为啥?

            2、前人的工作没用上“pose的结构信息”(这个的话只能是指利用CNN的这些前人工作):解决这个问题,可以有效的让模型在真实多人情况下,遮挡情况下等多种复杂情况下有着更好的泛化能力。occlusions and matching ambiguities are the bottlenecks

               

整体的结构

          

    这张图是整个网络的整体结构,看起来也不算复杂,只是东西有点多,给了很多定义!整个网络依然是基于Hourglass 改造而成的。

    MSS-Net(multi-scale supervision network):其实长相上和Hourglass几乎一模一样,但是加入了Multi-Scale Supervision,也就是在Hourglass本身的deconv过程中浅层deconv也进行监督。从浅层的deconv features 到 heatmap 中间是否加入了headconv层,没有特别说明!但是从这个结构看,应该是非常消耗显存的!!!主要是起到一个优化scale带来的不利因素!多尺度的特征学习可以更好的捕捉身体关键点的局部上下文特征!当然deconv-pyramid也是一个“coarse-to-fine”的过程,加上了loss监督,其实和“attention mechanism”这种机制有相似之处,让网络在训练过程中,利用loss来保持某些local的关注去着重优化那部分。

    MSR-Net(multi-scale regression network):这里就是把最后一个MSS-Net的deconv pyramid的结果以及输出结合concat之后再去regression到最终结果。MSR-Net利用的是MSS-Net的输出,结合了不同scale的信息,更好的去还原,以及定位更加准确!

                   

    structure-aware loss:

     

   前一部分表示普通的keypoint heatmap作为groundtruth,后一部分表示Structure-Aware heatmap作为groundtruth,可以上上图中看到这个groundtruth的设定!

 

 Keypoint Masking Training:

这里也是采用了数据增广的思想,但是普通的数据增广没有办法有效的去针对“遮挡”这种情况来增强网络的泛化能力与预测能力。通过去生成关键点被遮挡的情况的数据,人工去遮挡某些关键点,另一种是把关键点patch,拷贝到图中其他区域,来制造常见的一种情况“多关键点match成人”!

剩下的就是常规的数据增广方法,

        

 

### 论文概述 论文《Instance-Adaptive and Geometric-Aware Keypoint Learning for Category-Level 6D Object Pose Estimation》由Xiao Lin等人在CVPR2024上发表,旨在解决类别级6D物体姿态估计中的关键点学习问题。该方法通过实例自适应和几何感知的关键点学习策略,提高了姿态估计的准确性和鲁棒性[^2]。 ### 核心思想 #### 实例自适应关键点学习 传统的关键点检测方法通常依赖于固定的特征描述子,这种方法在处理不同实例时可能会失效。实例自适应关键点学习通过动态调整特征提取器,使得每个实例都能获得最适合其自身特征的关键点描述。这不仅提高了关键点检测的准确性,还增强了模型对不同实例的泛化能力[^1]。 #### 几何感知关键点学习 几何感知关键点学习则是通过引入几何约束来优化关键点的位置。具体来说,该方法利用了物体表面的法线方向和曲率信息,确保关键点分布在具有显著几何特征的位置。这种策略有助于提高关键点的空间一致性,从而提升姿态估计的精度[^2]。 ### 技术实现 #### 网络架构 论文提出了一种双分支网络架构,分别用于实例自适应特征提取和几何感知关键点检测。实例自适应分支通过注意力机制动态调整特征权重,而几何感知分支则利用几何特征图进行关键点预测。 ```python class InstanceAdaptiveKeypointNet(nn.Module): def __init__(self): super(InstanceAdaptiveKeypointNet, self).__init__() # 定义实例自适应分支 self.instance_branch = AttentionFeatureExtractor() # 定义几何感知分支 self.geometry_branch = GeometryFeatureExtractor() def forward(self, x): instance_features = self.instance_branch(x) geometry_features = self.geometry_branch(x) # 结合两种特征进行关键点预测 keypoints = self.keypoint_predictor(instance_features, geometry_features) return keypoints ``` #### 损失函数 为了联合优化实例自适应和几何感知部分,论文设计了一个多任务损失函数,包括关键点位置损失、实例特征匹配损失和几何一致性损失。 ```python def loss_function(keypoints_pred, keypoints_gt, features_pred, features_gt, normals_pred, normals_gt): keypoint_loss = mse_loss(keypoints_pred, keypoints_gt) feature_match_loss = cosine_similarity(features_pred, features_gt) geometric_consistency_loss = normal_consistency(normals_pred, normals_gt) total_loss = keypoint_loss + 0.5 * feature_match_loss + 0.3 * geometric_consistency_loss return total_loss ``` ### 应用场景 该方法适用于需要高精度6D姿态估计的应用场景,如机器人抓取、自动驾驶中的物体识别以及增强现实中的交互定位。由于其实例自适应特性,特别适合处理同一类别的多个不同实例,例如在工业自动化中识别不同型号的零件。 ### 总结 通过实例自适应和几何感知的关键点学习策略,《Instance-Adaptive and Geometric-Aware Keypoint Learning for Category-Level 6D Object Pose Estimation》提供了一种高效且准确的姿态估计解决方案。这种方法不仅提升了关键点检测的鲁棒性,还在多种应用场景中表现出色[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值