从FairMOT到VoxelPose,揭秘微软以“人”为中心的最新视觉理解成果

编者按:利用计算机视觉技术对场景中的人进行智能分析是当前最重要的研究问题之一但挑战仍未被完全解决,比如遮挡、运动模糊、尺度变化、光照变化、适应新场景的问题等。微软亚洲研究院在该领域提出了一系列新的思路和方法,包括已转化微软产品的多目标跟踪算法 FairMOT多摄像机多人三维姿态估计算法 VoxelPose ,这些算法在多个测试数据集上都取得了良好的实验结果。

利用计算机视觉技术对场景中的人进行智能分析是当前最重要的研究问题之一,具体任务包括人体检测、部件分割、姿态估计与跟踪、行为识别等。虽然深度学习强大的拟合能力大幅提升了各个任务的准确度,但依然存在一些尚未解决的挑战。这篇文章简单梳理了微软亚洲研究院智能多媒体组在该领域的一些工作,包括最近提出的多目标跟踪算法 FairMOT 和多摄像机多人三维姿态估计算法 VoxelPose 等。

依据应用场景的不同,这些工作可分为基于单摄像机和多摄像机作为输入的两类。常见的单摄像机应用包括运动重定向、家庭智能监控、人机交互等对轻量化部署要求较为严格的场景。常见的多摄像机应用则包括智能零售、体育视频分析、智能工厂、人机协作等对算法精度要求较高的场景。

1. 单目多目标跟踪 (FairMOT)

FairMOT: A Simple Baseline for Multi-Object Tracking, arXiv 2020(代码已开源)

图1:单目多目标跟踪问题

给定一个视频作为输入,Multi-Object Tracking(MOT)需要完成两个任务:(1)首先在每一帧进行人体检测,(2)然后将不同帧中相同的人进行关联从而得到每个人在视频中的轨迹。当前大部分方法都会采用两个独立的模型分别完成检测和关联任务。这类方法在多个公开数据集上都取得了不错的结果,但在实际部署时,它们通常会面临可扩展能力较弱的问题,尤其是当视频中人数很多时(比如超市等人群密集的场景)为每个人单独经过一个网络提取 Re-ID 特征的成本就会线性增加,从而导致较大的延时。

“特征共享”是提升模型扩展能力的常用思路。Track R-CNN [1]  对 Mask R-CNN 进行扩展,使用 roi-pool 从共享的特征图中获取候选框所对应的图像特征,并通过一个轻量的网络针对每一个候选框同时进行(1)检测框回归与分类,(2)前景 mask回归,(3)Re-ID 特征回归。特征共享在一定程度上降低了计算量,跟踪的精度却比基于两阶段的方法明显变差,在实验中 Track R-CNN 的检测结果要好于我们的 FairMOT,但是发生 id switch (跟踪错误)的次数却是 FairMOT 的3倍还多。这个观察其实和更早期一个多任务学习的工作 UberNet 是一致的,也就是多个任务同时学习经常会得到比每个任务单独学习更差的精度。我们猜测造成 Track R-CNN 结果不佳的原因是 proposal 通常不会和物体的中心恰好对齐,参考下图中的左子图,因此在进行 roi-pool 操作时容易导致跟踪特征具有歧义。另外,该方法的速度仍然比较慢,大概是 FairMOT 的1/15。

图2:Anchor-based 与 Anchor-free 方法的比较,前者容易导致出现歧义的问题。

另外一个相关的工作是 JDE [2],它效仿 "one-stage" 物体检测器的思路,去掉了 roi-pool 层,但它依然保留了 anchor 的概念,因此也就依然存在多个(不完美匹配的)anchor 对应一个物体的情况。一个更严重的问题是同一个 anchor(相似的图像区域)可能会对应不同的人,假如一张图像中有两个相邻的人,并且存在一个 anchor 和这两个物体的交集都很大,在前后两个不同的时刻,因为人或相机微小的运动,可能导致该 anchor 需要输出截然不同的身份标识,从而在很大程度上增加了网络学习的难度。

我们以 CenterNet [3] 为基础,加入 Re-ID 分支,提出了 FairMOT 方法,使其能够同时进行物体检测和跟踪,下图展示了方法的框图。简单来讲,FairMOT 会对每一个像素进行预测,预测其是否是物体的中心、物体的大小和以其为中心的图像区域的 Re-ID 特征。检测和跟踪两个任务都是以“当前像素”为中心,所以不存在对齐的问题,也不存在严重的顾此失彼的不公平问题,这也是称这个方法为 FairMOT 的原因。

经过实验分析,我们总结出一些对实验结果影响较大的设计。因为条件不同,其中的一些结论在之前的两阶段方法中并没有受到足够重视。例如在 one shot MOT 中,我们的实验结果倾向于认为应该进行跨层的特征融合,因为图像中人的尺度经常会有很大变化,所以需要不同大小的感受野来得到更适配的特征。然而在 two step 的 Re-ID 研究工作里,因为会把人从图像中剪切并放缩到同样的大小,因此尺度变化不大,从而对于跨层特征融合依赖较小,因此关于这个问题的讨论也比较少。

图3:FairMOT 方法的框图

FairMOT 在多个 MOT 数据集的 leaderboard 上都取得了最高的 MOTA 得分,MOTA 的计算方式使得物体检测的精确度在最终的得分中占了较大的比重,但是我们仍然可以通过一些其他指标来更全面地理解这个方法。首先, FairMOT 发生 id switch 的次数大幅降低。此外从 TPR 的得分来看,FairMOT 对结果的提升并不单纯来源于检测结果的提升,Re-ID 特征的判别能力的提升也起到了很重要的作用。FairMOT 的另外一个优点是速度快,在一个 Titan 2080 GPU 上能够达到 30fps 的推理速度,并且随着人数的增加,运算时间的增加是亚线性的。该工作的优化版本已经被应用到了微软的相关产品中。目前代码已经开源

2. 单摄像机三维人体姿态估计

Optimizing Network Structure for 3D Human Pose Estimation, ICCV 2019(代码已开源)

图4:单摄像机三维人体姿态估计

检测框提供了人在图像中的大概位置信息,这能够满足一些应用的需求,然而有些应用,如人机交互等,则需要得到更精细的关节点位置信息。单目三维人体姿态估计的目标是从单张图像恢复人体关节点的三维坐标。在成像过程中深度信息的丢失导致该任务存在很强的歧义,比较前期的工作经常通过引入人体测量学约束、低维流行表达或时间平滑约束等先验信息来降低歧义。

近几年深度学习的发展导致解决该问题的方法和思路发生了很大的变化,很大一部分工作开始采用和依赖深度神经网络来隐式地解决歧义,考虑到常见的三维人体姿态数量有限,因此采用神经网络去“记住” 2D 到 3D 的映射关系也是一种可行的方案。其中一个代表性的工作是 SimpleBaseline [4],它通过一个简单的全连接网络(FCN)将二维关节点坐标转换成相机坐标系下的三维坐标,在 Human3.6M 数据集上取得了很好的结果。然而全连接网络的使用导致每个关节点的三维坐标依赖于所有其他关节点的二维坐标,而后者的估计通常是不准确的,尤其是发生遮挡的时候,因此导致该方法对结点的二维坐标的误差比较敏感。

图神经网络(GCN)中“利用相关联的节点特征计算当前节点特征的思路”很适合解决上面提到的冗余依赖的问题,然而在实验中直接使用 vanilla GCN 的结果很差。我们在 GCN 的基础上推导出一种新的 formulation,其中 FCN 和 GCN 都是这种formulation 的特例,从这个 formulation 中很容易理解 GCN 在被用于三维姿态估计时的弱点(特征共享限制了网络的表达能力)。

在新表达的基础上,我们提出了局部连接网络(LCN),它在表达能力和参数量上可以认为是图神经网络和全连接网络的折衷,在 benchmark 数据集上,该方法相比于 FCN 和 GCN 结果有了很大提升。除此之外,在大量非公开数据集上(舞蹈和健身相关视频)进行的测试中,LCN 都表现出不错的性能。目前代码已经开源

3. 多摄像机单人三维人体姿态估计

Cross View Fusion for 3D Human Pose Estimation, ICCV 2019(代码已开源)

MetaFuse: A Pre-trained Fusion Model for Human Pose Estimation, CVPR 2020

Fusing Wearable IMUs with Multi-View Images for Human Pose Estimation: A Geometric Approach, CVPR 2020(代码已开源)

单摄像机三维姿态估计只能恢复出“以 root 节点为中心”的相对姿态,而无法推测其在世界坐标系下的绝对坐标。在一些要求更加严格的应用中,需要利用多个摄像机来恢复关节点在世界坐标系下的三维坐标,在一些工作中这也被称为绝对姿态。绝对姿态估计通常包括两个步骤:首先在每个摄像机下分别进行二维姿态估计,然后通过几何方法,比如三角测量(triangulation)或者图模型(pictorial structure model)等,求得关节点的三维坐标。如果二维姿态是完全准确的,就可以无误差地恢复三维姿态。现实应用中,二维姿态检测并不可靠,尤其是存在遮挡的情况下,会给三维姿态估计带来较大的误差。

在 ICCV'19 的工作中 [7],我们提出一种跨摄像头的特征融合算法,将三维人体姿态估计的误差从当时的 52mm 大幅降低到了 26mm。考虑到“如果一个关节点在某个视角下发生了遮挡,那么它可能在其他视角下是可见的”,将不同视角下对应的特征进行融合,从而提升存在遮挡时姿态估计的准确性。针对一个视角下的某点,找到其在另外一个视角下的对应点并不简单,我们利用 heatmap 表达的稀疏特性对问题进行了简化,只需将对应的极线上的特征加和即可。我们通过实验发现,很多遮挡的节点都能够通过融合其他摄像机中的信息被正确地检测出来,并在多个数据集上对该方法进行了验证。而该方法的一个限制是模型依赖于相机间的相对位置,相机发生变化时需要重新训练模型,文章中对此有所讨论。目前代码已开源。

在发表在 CVPR'20 的一个工作中 [8],我们对上一个工作进行了优化,将庞大的融合模型分解成两个子模型,其中较大的模型被所有摄像机共享,因此可以做到“一次训练,到处使用”,另外一个轻量化模型则依赖于摄像机的位置。通过借鉴 meta learning 的思路来训练两个模型,使其能够快速地适应到新的场景中。在实验中,仅需要提供50张训练图像进行 finetuning (meta-testing)就可以显著提升三维姿态估计的准确度。

在发表在 CVPR'20 的一个工作中 [9],我们提出一种新的几何方法将多视角下的摄像机和可穿戴式的惯性传感器(IMU)进行融合。惯性传感器的使用能够正确地估计那些在所有视角下都被遮挡的节点。该方法的一个优势是当摄像机的位姿发生变化时,不需要对模型进行调整,只需知道相机参数即可。该方法在 Total Capture 数据集上取得了最好的结果。另外,这个方法也可以应用到没有传感器的场景,仅对多个摄像机的特征进行融合,可以认为是对工作 [7]的扩展,目前代码已开源。

4. 多摄像机多人三维人体姿态估计

End-to-End Estimation of Multi-Person 3D Poses from Multiple Cameras, arXiv 2020

多人姿态估计相比于单人需要解决一个新的挑战,也就是将不同视角下的同一个人对应起来。在图像背景复杂、遮挡严重的情况下,这个任务会变得非常不稳定。

文章中我们提出了一个多摄像机多人姿态估计的方法 VoxelPose,基于 voxel 表达方式,直接在三维空间进行推理,而不需要在二维图像上进行任何决策。简单来说,我们从多个摄像机的图像中构建基于 voxel 的对场景(包括人)的表达,然后提出一个proposal 网络用来检测人在三维空间中的大概位置,最后利用 regression 网络在每一个检测出来的位置附近检测精细的三维人体姿态。

该方法在 Campus 和 Shelf 数据集上结果都得到大幅提升。即使在存在非常多的遮挡的场景下,VoxelPose 依然能够稳定估计出所有人的姿态。这是我们第一次看到基于计算机视觉的方案能够在复杂的场景里进行准确的姿态估计和跟踪。下面的两个视频展示了 VoxelPose 在公开数据集上的测试结果(值得注意的是我们并没有在这些场景下进行训练)。此外,该方法也被应用于微软与零售商店相关的产品中。

图5:VoxelPose 测试结果样

结束语

以“人”为中心的计算机视觉技术在很多方面都取得了显著进展,但在深度学习之前就存在的一些挑战仍未被完全解决,比如遮挡问题、运动模糊问题、尺度问题、光照变化、适应新场景的问题等,将现有的深度学习模型和“人”这个主体的特性相结合或许是解决该问题的一种思路。另外,人和环境存在大量的交互,如何将两个任务有机地结合起来也是一个很有意思的研究方向,未来我们将进一步探索。

References:

[1] MOTS: Multi-Object Tracking and Segmentation, CVPR 2019

[2] Towards Real-Time Multi-Object Tracking, arXiv, 2019

[3] Objects as Points, Arrive, 2019

[4] A Simple yet Effective Baseline for 3D Human Pose Estimation, ICCV, 2017

[5] A Simple Baseline for Multi-Object Tracking, Arrive, 2020

[6] Optimizing Network Structure for 3D Human Pose Estimation, ICCV, 2019

[7] Cross View Fusion for 3D Human Pose Estimation, ICCV, 2019

[8] MetaFuse: A Pre-trained Fusion Model for Human Pose Estimation, CVPR, 2020

[9] Fusing Wearable IMUs with Multi-View Images for Human Pose Estimation: A Geometric Approach, CVPR, 2020

推荐阅读:

CVPR 2020 论文大盘点-人体姿态估计与动作捕捉篇

CVPR 2020 论文大盘点-目标跟踪篇

CVPR 2020 论文大盘点-行人检测与重识别篇

备注:姿态

姿态估计交流群

人体姿态估计、手势识别等更多新鲜资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

展开阅读全文

Windows版YOLOv4目标检测实战:训练自己的数据集

04-26
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值