Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

王春雨作者

从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 测试结果样例

结束语

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

参考文献:

[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

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

产业计算机视觉深度学习
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面、智能多媒体、大数据与知识挖掘、人工智能、云和边缘计算、计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的创新,助力微软实现长远发展战略。

http://www.msra.cn
Microsoft机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

多任务学习技术

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

姿态检测技术

姿态检测是指主体对主要行为者提出的主张的反应。它是假新闻评估的一套方法的核心部分。

感受野技术

一个感觉神经元的感受野是指这个位置里适当的刺激能够引起该神经元反应的区域。感受野一词主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质。

姿态估计技术

姿势估计是指检测图像和视频中的人物形象的计算机视觉技术,以便确定某人的某个肢体出现在图像中的位置。

人体姿态估计技术

人体姿态估计是计算机视觉领域的一个重要问题,主要用于跟踪一个人的每一个小动作并实时进行生物力学分析。

多人姿态估计技术

多人姿态估计是指估计一帧画面中多个人的姿势。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

多目标跟踪技术

多目标跟踪(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任务是在给定视频中同时对多个目标进行定位、维持他们的ID、生成他们各自的轨迹。

合合信息机构
推荐文章
暂无评论
暂无评论~