Associative embedding End-to-End Learning for Joint Detection and Grouping

2018.04.07:

论文阅读

这篇文章的核心思想是比较精炼概括的,它的亮点是用一个框架解决了在计算机视觉中常见的任务中经常遇到的两个通用环节:Detection and Grouping,用中文来讲就是,检测(小的视觉单元作为候选)和(根据得分)重组(一个合理的结构)。

从以下的视觉任务中可以体现:

  • 人体姿态估计问题:一般按照bottom-to-up的方式,先检测出body key points然后按照约束来组合完整的人体,但多人姿态估计的问题又衍生出另一种up-down的方式,就是先检测出单个人体再识别其姿态,比如Mask R-CNN, RMPE等方法。

  • 目标检测:往往先寻找不同位置和尺度下的bounding boxes,然后打分筛选
  • 实例分割:寻找相关联的像素,然后将像素合理重组成物体实例(mask)。
  • 多目标追踪:检测物体实例,重组其运动轨迹

这些方式,本质上都符合人类自身视觉从部分认识整体,以整体推理部分的直觉。以往的工作都认识到这一点,只是这篇论文做了一次提炼概括了,并指出了一个问题:

以往的两步策略(detection first and grouping second)忽略了两个环节之间内在的紧密耦合。

(在之前看的CMU的Realtime Multi-Person2D Pose Estimation using Part Affinity Fields, 他们的论文当中,除了人体关键点作为监督信息外,还引入了Part Affinity Fields,也就是和肢体方向保持一致的单位向量作为监督信号,我的感觉是,这实际上就是没有充分利用两个环节上的耦合性,或者说是人体关键点与肢体连接的耦合性信息,毕竟人体的关节与整体的关系是统一的, 而OpenPose用的是寻找最佳的图匹配的方式,但同时将关键点位置,和肢体向量同时作为监督信息,会导致信息冗余,增加复杂度吧?所以我觉得作者这种融合两步的思想就很实际,很前卫)

所以作者针对多人体姿态估计,将两步工作融入到一个框架里,即在一般的输出Heatmap层,附加了一层作为“tag“(也就是论文提到的embedding的含义),并设计了一个grouping loss作为监督关键点是否分配给了正确的人体的函数。论文巧妙的地方就是没有给“tag”赋予”ground-truth”来作为强监督,而是用“tag“值的相似与差异来表示多个人体。用于预测Heatmap的网络架构基于作者之前的工作“Stacked Hourglass”.

论文中Related work中的Perceptual Organization的叙述部分,给我了比较多的启示:

Perceptual Organization是感知组织的意思,我理解成人类在认识事物或概念所遵循的层级组织关系。所谓的强人工智能,就需要解决这一棘手问题吧。作者提到了这一工作涉及到的许多任务,有Figure–ground segmentation (perception),hierarchical image parsing, spectral clustering,conditional random fields,generative probabilistic models等等一系列问题,这些方法都遵循,从pre-detect visual units到measure affinity,再到grouping,但是目前没有统一到一个统一的架构上来,作者就是从这角度出发,不加一些额外的设计来完成一个端到端的网络架构。作者提到了图像层级解析,特别符合人类认知图像,所以,作者的Hourglass模块设计成沙漏状,先是压缩图像,获得全局信息,然后利用全局信息与低层特征融合,输出一个与同样大小的heatmap,其实就是想将这样的层级解析的思想间接地蕴含在内,只不过网络的训练将这些信息都隐含在了参数里,无法与人的解析思路类比.

详情查看博客 https://yangsenius.github.io/blog/embedding/


1
原创, 禁止转载