Advertisement

[论文阅读]Contextual Instance Decoupling for Robust Multi-Person Pose Estimation

阅读量:
在这里插入图片描述

该论文发表于CVPR2022

Abstract

拥挤场景使得定位不同人体关键点具有挑战性。本文提出了一种上下文实例解耦(CID,Contextual Instance Decoupling)的新多人姿态估计管道(pipeline)。CID不再依赖于人的边界框去空间上区分人。CID将图像中的人体解耦到多个实例感知的特征图中,每个特征图都用来为具体的人体实例推断关键点。 与包含边界框检测的方法对比,CID具有可微性和对检测错误具有鲁棒性。将各人体实例解耦到不同的特征图可以隔离各人体实例之间的干扰,并且能够在大于边界框范围的尺度上获取上下文线索。实验证明CID能够在拥挤数据集上达到非常出色的效果。

Background

目前的多人姿态估计方法可以总结分为三种:自顶向下方法:检测人体框后对单个人体进行关键点检测;自底向上方法:先检测人体关键点,并将他们组合到对应实例;单阶段方法:根据人体特征直接回归关节坐标点及实例标签。自顶向下方法受限于人体检测框裁剪、ROI align等操作,这些操作会损失掉检测框以外的上下文信息。而自底向上的关键点组合方法是网络训练后的后处理单独操作,不能和关键点检测阶段一起训练,该阶段也会损失一些上下文信息。单阶段人体姿态估计方法虽然能够有比较高的效率,但是其因全连接层容易过拟合的问题很难学习到复杂的人体姿态。自顶向下和自底向上两种二阶段方法依赖于热图检测,也就意味着在网络检测到热图之后还需要使用argmax的算法定位关键点。分析上述方法的不足之处,作者考虑到是否可以研究一个新的多人姿态估计pipeline,这种方法能够最大程度地保留必要空间信息。对此,作者提出了一种新的解耦操作,对图像中的各个人体实例进行解耦,对于每个人体实例来说都学习一个特定的特征图,每张特征图学习到的都是对应于该单个人体实例的特征映射。相对于之前的二阶段方法该方法能够囊括到更多人体特征、获取更重要的空间信息。并且,对于不同人体实例进行分开检测,能够应对更多的人体尺度变化。(CVPR2021DEKR是通过解耦关节点来达到与两阶段方法差不多的性能)
在这里插入图片描述
上图展现了目前各多人姿态估计方法的弊端。(a)自顶向下方法会因为人体检测框裁剪损失部分信息。(b)自底向上方法会依赖关键点检测准确度,分组方法对检测错误不具有鲁棒性。(c)单阶段方法提取图像特征后直接回归人体坐标点,因缺乏空间泛化能力,学习不到长距离依赖关系,无法拟合复杂人体姿态。(d)本文方法可以有效捕获到人体特征而不受检测框约束,同时不损失空间信息。且关键点检测和分组一起训练。

Method

在这里插入图片描述

对于单张多人图像I来说,多人姿态估计的目标是估计每个人的姿态关键点的位置。

\ { \{K_{j}^{(i)}}\}_{j=1,\cdots,n}^{i=1,\cdots,m}=MPPE(I)(对于第i个人体实例的第j个关键点)

该网络结构使用热图来进行关键点定位,对于热图模块来说,图像I进行一系列卷积操作之后,将得到的特征进行热图生成,得到一个n通道的热图,通道数n对应了关键点的数目。
\ \{H_{j}\}^{n}_{j=1}=HM(F),F=\Phi(i)

最后关键点通过求极大值的操作进行解码:
\ { \{K_{j}^{(i)}}\}_{i=1}^{m}=rank(H_{j},m)

对于多人姿态估计网络来说,实际上网络先是提取图像中的各层信息,再使用一些额外的操作(人体检测框、关键点分组操作)区分这些不同人体实例不同关键点的特征。与以前的策略不同的是,该CID(上下文实例解耦)网络将多人特征映射解耦为一组用实例划分的特征映射。
CID网络模块主要分为两大部分:

  • 实例信息抽象模块(Information Abstraction (IIA) module)
    用于将特征F进行抽象,生成对应人体实例的鉴别特征。

\ \{ f^{(i)},I^{(i)}\}^{m}_{i=1} = IIA(F)

具体实现步骤如下:

  • 对于图片中的每个人体实例生成相应的人体中心点热图:
    \ C=HM_{center}(F)
    对中心点热图C进行解码,解码后得到I(i)=(xi,yi)表征第i个人体实例的中心点位置。

  • 根据中心点位置生成每个人体实例的代表特征f(i),该代表特征用于识别和解耦各个人体实例,期望网络可以学习到有较强鉴别能力的代表特征用于区分各个人。
    \ f^{(i)}=F(I^{(i)})

  • 考虑到图片中特征相似的人体,需要增强特征的一个鉴别能力,因此,作者设计了一个损失函数,该损失函数包括了对不同特征相似度的一个度量,用于区分相似特征。
    在这里插入图片描述

  • 全局特征解耦模块(Global Feature Decoupling (GFD)) :

    • 使用鉴别特征f(i)将原始特征F进行解耦,这部分既考虑了空间层面的解耦,又考虑了通道层面的解耦,使得人体实例能够解耦到特征图的不同空间位置和通道中。
      \ \{ F^{(i)} \}^{m}_{i=1} = GFD(F,\{f^{(i)},I^{(i)}\}^{m}_{i=1})

    • 对于空间上的解耦,目的是为了突出单个人体实例在特征图空间上的位置,实际上就是增加对应人体实例在对应空间上的权重,并降低其他背景的权重:
      \ F^{(i)}_{s} = M ^{(i)}\cdot \hat{F}

    • 该mask通过卷积中心点mask和由f(i)与对应特征生成的mask得到:
      \ M^{(i)} = Sigmoid(Conv([O^{(i)};M_{sim}^{(i)}]))

    • 对于通道上的解耦,每个通道实际上都是一个特征检测器,对于人特征较多的通道进行重新加权。
      \ F_{c}^{(i)}=\hat{F} \otimes f^{(i)}

    • 对解耦后的特征进行融合:
      \ F^{(i)} = ReLU(Conv([F_{c}^{(i)};F_{s}^{(i)}]))

Thought

不同于去年的关键点解耦思路,本文又提出了一种人体实例解耦的单阶段人体姿态估计新方法,这种方法既结合了自顶向下的人体分开进行关键点检测的思路,又减少了裁剪带来的内容损失,并且将通道注意力和空间注意力应用在实例解耦上,使得网络模型能够更加灵活地为各个人体实例分配合理的特征信息,编码更多的上下文信息使得网络能够更多的应对各个人体的尺度变化。

实际上是有点偏向于自顶向下方法的优化。将ROI操作换成使用鉴别特征解耦的方式划分人体。

Result

在这里插入图片描述
该方法在COCO数据集上取得了目前单阶段方法的最好结果,且超越了自底向上方法。因为该方法能够对比于两阶段方法捕获更多全局信息。且作者使用了对比损失加强了实例解耦,该方法在拥挤、遮挡场景中效果更为显著。在Crowdpose和OCHuman数据集当中都取得了非常大的提升。
在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~