| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 论文笔记1:Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views -> 正文阅读 |
|
[人工智能]论文笔记1:Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views |
快速且鲁棒的多视角下多人三维姿态估计 作者讲解:https://www.bilibili.com/video/BV1K441157Xf?from=search&seid=524947663437035155&spm_id_from=333.337.0.0 Demo地址:[CVPR2019]Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views_哔哩哔哩_bilibili(可视化demo,为方便可视化,作者在骨架上fit single model,同时为了去除抖动,加了时序平滑。) 参考2:基于多视角人体姿态(一)Fast and Robust Multi-Person 3D Pose Estimation_Raywit的博客-CSDN博客 这篇论文是浙江大学CAD实验室的一篇发表在CVPR2019上的论文,论文作者董峻廷等人。 1. Background 2. Related work 3. Technical approach 4. Empirical evaluation
3D human pose estimation的定义: Input :images Output :3D human pose(N*3的一组关键点) Main challenge:遮挡 The main challenge of this problem is to find the cross-view correspondences among noisy and incomplete 2D pose predictions. 2. Related work 之前方法: (1)?构建一个所有人的common state space (2)?使用3D pictorial structure去做inference 缺点: (1)?State space太大,inference速度很慢 (2)?只利用几何约束去找correspondence,不够鲁棒 3. Technical approach (1)提出了一种快速、稳健的多人3D姿势估计新方法。与在巨大的状态空间中使用3DPS模型联合推断多个3D姿势不同,本方法可以通过对所有视图中属于同一个人的检测2D姿势进行分组,大大减少状态空间,从而提高3D姿势估计的效率和鲁棒性。 (2)提出了一种多向匹配算法,用于在多个视图中查找检测到的2D姿势的周期一致性对应。所提出的匹配算法能够在不知道场景中真实人数的情况下剪除错误检测并处理视图之间的部分重叠。 (3)将几何和外观线索结合起来,以匹配跨视图检测到的2D姿势。外观信息对于连接视图间的二维检测非常重要,而以前的方法大多忽略了外观信息。 (4)在不使用评估数据集的任何训练数据的情况下,所提出的方法大大优于最先进的方法。 代码:https://zju-3dv.github.io/mvpose/. Pipeline 总体的pipeline如图。论文针对于多人交互的场景主要难点进行了解决。左边五个视角的image,人与人之间的遮挡很严重,每个视角看到人数是不一样的,在这样的输入下。经过一个CNN得到2D pose。左侧第一个视角下,得到三个bounding box ,对每个bounding box得到里面人的2Dpose,剩下几个视角也是一样的。有了这些2D pose,要去做帧之间匹配,找到不同视角中哪些人他是对应的。Consistent correspondences表示的是同一列同一种颜色属于同一个人。有了这种匹配关系,知道同一列人是同一个人,用三角化或者3D pictorial structure,推理得到3D pose。核心是得到帧与帧之间的匹配,比如第一视角中的一个人和第二视角中的每个人寻找他们的相似性是多少,属于同一个人的概率是多少。 3.1. 2D human pose detection(CPN) 《Y. Chen et al. Cascaded pyramid network for multi-person pose estimation.CVPR, 2018.》 首先进行二维姿态检测:采用已有的二维人体姿态检测器生成每个视图中的bounding box和二维关键点位置,采用18年提出的级联金字塔网络CPN方法,在MS COCO数据集上进行训练,用于图像中的二维姿态检测。级联金字塔网络由两个阶段组成:GlobalNet粗略估计人体姿态,而RefineNet提供最佳人体姿态。 3.2. Multi-view correspondences 在重建三维姿态之前,检测到的二维姿态应该在多个视图中匹配,也就是说需要在所有视图中找到属于同一个人的二维bounding box。为了解决这个问题,需要1)一个适当的度量来度量两个二维bounding box属于同一个人的可能性(也称为相似性),以及2)一个匹配算法,用来建立多个视图中bounding box的对应关系。特别是,匹配算法不应假设场景中的真实人数。此外,匹配算法的输出应是循环一致的,即两幅图像中的任意两个对应bounding box应对应另一幅图像中的同一bounding box。 ? 在详细介绍本文方法之前,首先简要描述一些符号。假设场景中有V个摄影机,视图i中有pi个检测到的bounding box。对于一对视图(i,j),可以在视图i和视图j中的两组bounding box之间计算关联分数。使用Aij∈Rpi×pj表示相似矩阵,其元素表示相似分数。两组bounding box间要估计的对应关系由满足双重随机约束的部分置换矩阵Pij∈{0, 1}pi×pj表示:其约束满足式(1)。 问题是将{Aij?|?i, j}作为输入并输出最优的{Pij|?i, j},该{Pij |?i, j}使相应的相似性最大化并且在多个视图中也是循环一致的。 Affinity matrix: combining appearance and geometry ? Cross-view matching的构造方法:结合外观特征和几何特征共同去衡量。下图中右侧是相似矩阵的一个示例,第一列是第一个视角中的三个人,横行是第二个视角中的三个人。通过计算外观特征和几何特征去衡量他们的相似性得到一个值。比如0.1是第一个视角中的这个人和第二个视角中的人相似度是0.1. 左边相似矩阵,黄线每个框对应一个视角,五个框对应五个视角,这是一个5x5的网格。每个黄线的宽度就是这个视角下的bounding box的数量。Affinity矩阵是0到1的数,置换矩阵是0和1的矩阵,白色的小格子是1,1表示这是同一个人。 外观相似性的衡量用一个预训练好的re-ID network,衡量这两人的相似性。使用的是2018年CVPR这篇文章中提出的公开可用的re-ID模型提供每个bounding box的裁剪图像,输入到已有的re-ID network。从“pool5”层中提取特征向量作为每个bounding box的描述符,得到一个Nx1外观feature(原文中是2,048-dim),另一个帧也是一样,计算两者之间的欧氏距离,使用sigmoid函数将映射到0到1之间,这样就得到了外观的相似性。 几何信息衡量相似性,使用传统的极线约束来测量几何一致性。相应的2D关节位置满足对极约束,也就是第一个视图中的关节应位于与其在第二个视图中的对应关系相关联的对极线上,反过来也一样。两个视角中那个标绿点的人第二个视角的对应的人。要去衡量他们之间的几何相似性,有他右肩膀的这个点,得到这个点的坐标。在另外一个视角中得到一个极线,通过相机的R,t矩阵得到。红色极线意思是同一个人他的右肩膀这个点一定在这条及线上,其他人的右肩膀的点到这个极限的垂直距离去衡量他们的几何相似性,对每一个点去算他们的几何相似性,然后综合一个bounding box中的每一个点取平均来判断不同的帧中两个bounding box的相似性。 用x表示一个由N个关节组成的2D位姿。那么,可以通过以下公式的距离来衡量两个视图中xi和xj之间的几何一致性。式中xni表示姿态i的第n个关节的二维位置,Lij(xnj)是从另一个角度与xnj关联的对极线,dg(·,l)是l的点到线距离。距离Dg也映射到(0,1)中的值,使用sigmoid 函数作为最终的几何相似性分数。 于一对正确检测和匹配的二维姿态必须满足几何约束(Dg)很小,将两个相似矩阵组合如下: 其中Aij(·)、Aaij(·)和Agij(·)∈[0, 1]分别表示视图对(i,j)的融合相似矩阵、外观相似矩阵和几何相似矩阵的值。th表示阈值。实验结果表明,这种外观和几何形状的简单组合优于仅使用其中之一。 具有循环一致性的多路匹配:如图显示了一个示例,绿色的bounding box在每个视角中都是匹配对的,会形成一个闭环。红色的bounding box在这几个视角中会配错了,形成不了一个闭环,而是有个缺口。作者用循环一致性约束去保证一个全局的连续的结果。 ? 如果只有两个视图要匹配,可以简单地最大化<Pij,Aij>并通过匈牙利算法找到最佳匹配。 ? 但是当有多个视图时,为每对视图单独解决匹配问题会忽略循环一致性约束,可能会导致结果不一致。13年一篇文章证明循环一致性满足的话,那么P必须是一个低秩的矩阵。正常这里应该是λ*rank(P),但P的秩并不是凸的,不方便优化,因此将P的秩替换为P的核范数。(这是秩的最紧密的凸代理。[14,02年斯坦福博士论文]? ? (4)式即为最终想要优化的,min-<A,P>为最大化A,P矩阵的内积,使A、P尽可能接近,后一项为了全局回路一致性。经转换后问题变为凸的,然后使用交替方向乘子法(ADMM)来解决它。首先通过引入辅助变量Q将问题改写如式(5)。 ? 然后,对应的增广拉格朗日是式(6)。Y表示对偶变量,ρ表示惩罚参数。每个原始变量和对偶变量交替更新,直到收敛。整体算法如算法1所示,按照梯度更新参数,一直迭代求得最优解。其中D表示奇异值阈值化算子,PC(·)表示到C的正交投影。最终得到所有一致的匹配关系。感兴趣的可以看看增广拉格朗日乘子法解决方法,推导下。求解方法类似于对偶上升法,不过梯度上升的步长改成了固定的参数ρ。 (增广拉格朗日:增广拉格朗日函数可以理解为在拉格朗日函数的基础上加了一个二次惩罚项,所以该方法是拉格朗日函数法与罚函数法的结合。增广拉格朗日乘子法的作用是用来解决等式约束下的优化问题。) 3.3. 3D pose reconstruction 3D pictorial structure (3DPS): 给定同一个人在不同视图中的二维姿态,利用3DPS模型重建三维姿态。图中左侧每个颜色的一列表示为不同视角下同一个人。这里大致介绍下3DPS。 ? 三维图形结构:使用基于关节的三维姿态表示,即T={ti?| i=1,…,N},其中ti∈ R3表示结点i的位置。给定来自多个视图I={Iv?| v=1,…,V}的2D图像,3D姿态的后验分布可以写成式(7): 其中,πv(ti)表示ti在第v视图中的二维投影,可能性p(Iv?|πv(ti))由基于CNN的二维姿态检测器输出的二维热图给出[10],该热图表征了每个关节的二维空间分布。(p(j | L)表示存储在叶L处的关节j的类别概率) p(ti,tj)表示关节ti和tj之间的结构依赖性,这隐含地限制了它们之间的骨骼长度(根据先验知识)。本文使用Guassian分布来模拟骨骼长度的先验分布,如式(8)所示。其中,|| ti? tj?||表示关节ti和tj之间的欧氏距离,Lij和σij分别表示从Human3.6M数据集获得的平均值和标准偏差[19]。 式(7)本质上就是最大后验化,前一项由关节点的热图给出,后一项表示关节点的联结。 试验评估阶段在三个公共数据集(包括室内和室外场景)上评估了所提出的方法,并将其与以前的工作以及所提出方法的几个变体进行了比较。 以下三个数据集用于评估:Campus:它是一个由三个人组成的数据集,在室外环境中相互交流,用三个校准过的摄像机拍摄。遵循与先前工作相同的评估方案,并使用正确估计部位的百分比(PCP)来测量身体部位的3D定位精度。 Shelf:与校园相比,该数据集更为复杂,由四个人近距离拆卸货架组成。它们周围有五个经过校准的摄像头,但每个视图都有严重的遮挡。评估协议与之前的工作相同,评估指标也是3D PCP。 CMU Panoptic:此数据集是在一个有数百个摄像头的工作室中拍摄的,其中包含多个参与社交活动的人。由于缺乏ground truth,在CMU全景数据集上定性地评估了本文方法。 为证明所提出的方法中的算法设计是正确的,进行了消融分析。使用校园和货架数据集用于评估,将其与仅使用外观或几何体的备选方案进行比较。详细结果见表1。 对比外观、几何?在campus数据集中,演员间的外表差异较大,所以使用外表只能取得竞争性的结果。仅使用几何体的结果更糟糕,因为相机远离人,这降低了极线约束的辨别能力。在shelf数据集上,单独使用外观的性能下降了很多。特别是,演员2的结果是错误的,因为他的外表与另一个人相似。在这种情况下,外观和几何图形的结合大大提高了性能。 对比直接三角剖分还是3DPS?给定所有视图中匹配的2D姿态,本文使用3DPS模型来推断最终的3D姿态,该模型能够集成人体骨骼上的结构先验信息。一种简单的替代方法是通过三角剖分重建三维姿态,即找到在所有视图中具有最小重投影误差的三维姿态。该基线方法(“无3DPS”)的结果如表1所示。 匹配还是不匹配?本文的方法首先匹配视图中的二维姿态,然后将3DPS模型应用于每个匹配的二维姿态簇。在大多数以前的工作中,直接应用3DPS模型从所有检测到的2D姿态推断多个3D姿态,而不进行匹配。本文对它们进行比较。表1显示,没有匹配的3DPS在shelf数据集上获得了不错的结果,但在campus数据集上表现较差,该数据集只有三个摄像头。主要原因是3DPS模型隐式使用多视图几何体链接视图之间的二维检测,但忽略了外观提示。当使用一组稀疏的摄影机视图时,仅凭多视图几何一致性有时不足以区分正确和错误的对应关系,从而导致错误的三维姿态估计。该观察结果与表1中的其他结果一致。所提出的方法明确地利用外观线索来发现交叉视图对应,从而得到更稳健的结果。此外,匹配步骤显著减少了状态空间的大小,并使3DPS模型推理速度更快。 与最新技术的比较。campus和shelf数据集的结果如表2所示。本文方法中使用的2D姿态检测器和reID网络是已发布的预试验模型,未对评估数据集进行任何微调。即使使用通用模型,本文方法也比最先进的方法有很大的优势。特别是,本方法显著提高了campus数据集中actor 3和Shelf数据集中actor 2的性能,这两个数据集都存在严重的遮挡问题。Ours w/o 3DPS意味着使用三角剖分而不是3DPS模型从匹配的2D姿态重建3D姿态。由于匹配的鲁棒性和一致性,直接三角剖分也比以前的方法获得了更好的性能。 ? 本图显示了在Shelf和CMU?Panoptic数据集上提出的方法的一些代表性结果。图中顶部是shelf数据集,底部是CMU Panoptic数据集的定性结果。第一行显示二维bounding box和姿态检测。第二行显示了匹配算法的结果,其中颜色表示视图中bounding box的对应关系。第三行显示估计的三维姿态的二维投影。 该方法以不精确的二维检测作为输入,能够在多个视图之间建立对应关系,自动识别场景中的人数,并最终重建其三维姿态。通过将3D姿态投影回2D视图获得的最终2D姿态估计也比原始检测准确得多。 本文算法在Shelf数据集中具有四个人和五个视图的序列上的运行时间,并在配备Intel i7 3.60 GHz CPU和GeForce 1080Ti GPU(英伟达精视)进行了测试。未优化实现运行reID和构造相似矩阵平均需要25毫秒,多路匹配算法用了20毫秒,3D姿态推断用了60毫秒。此外,表2中的结果表明,我们不使用3DPS模型的方法也获得了非常有竞争力的性能,能够在>20fps时实现实时性能。人越多越能凸显该算法的优势,因为它的匹配矩阵求解很快。(CPN计算比较慢,如果其他已有算法提速,基本能达到实时。) 总结 在本文中,我们提出了一种新的多视图三维姿态估计方法,该方法可以快速、稳健地恢复人群的三维姿态,只需几个摄像头。与以往基于3DPS的方法相比,我们的关键思想是使用多向匹配算法对检测到的二维姿态进行聚类,以减少3DPS模型的状态空间,从而提高效率和鲁棒性。我们还证明,即使不使用3DPS模型,也可以通过三角剖分从聚集的2D姿势可靠地重建3D姿势。这表明了所提出的多向匹配算法的有效性,该算法利用几何和外观线索的组合以及循环一致性约束来跨多个视图匹配二维姿势。 先使用CPN获得2D pose;然后用re-ID network计算外观相似性、对极约束计算几何相似性,通过公式将两个相似矩阵组合,得到一个融合的相似矩阵;再利用循环一致性约束保证全局的连续结果;最后利用3D图形结构方法重构三维姿态。 ? ? ? ? ? ? ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 4:13:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |