【人体姿态追踪】Pose Flow: Efficient Online Pose Tracking 【解读】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_36923418/article/details/84984772

工作组:上交卢老师团队

发表处:BMVC

开源代码https://github.com/YuliangXiu/PoseFlow

参考博客https://blog.csdn.net/m0_37644085/article/details/83038566https://blog.csdn.net/zhangjunhit/article/details/79524796

特别说明:如有侵犯,请及时联系我!谢谢!

简单介绍

       多人姿态跟踪方法,其主要方法和多人姿态检测一样,也可以分为自顶向下和自下而上。

       1.自顶向下是:在每帧中   检测 人的proposals →关键点→相邻帧相似性 跟踪整个视频;

       2.自下而上是:在每帧中   生成  关键点候选点→时空图→求解整数线性规划将时空图分为子图→每个子图对应人体姿势轨迹。

      目前,自顶向下的方法在精度(map和mota)和跟踪速度上都大大优于自下而上的方法,因为自下而上的方法由于仅仅利用二阶身体部件依赖而失去了全局姿态视图,这直接导致了对关键点的模糊分配。

          由于帧退化(如快速运动造成的模糊)、截断或遮挡,单个帧中的姿态估计可能不可靠。为了解决这个问题,我们需要关联交叉帧(cross-frame)检测到的实例来共享时间信息,从而降低不确定性。

         它主要利用时空信息来构建姿态流,以显著提高姿态跟踪任务。spatio-temporal information to build pose flow

大体方案

        在说方案之前,先要了解两个度量方式:

       1、Intra-Frame Pose Distance:同一帧内检测到的不同pose之间的距离

                         

             上面公式中P表示姿态,p表示姿态中的某个关节点,c表示改关节点的置信度,B(p)表示在以关键点p为中心取一个box,至于方差和拉姆达,文中说来自于data-driven manner,如果又小伙伴知道具体如何操作这部分,请告诉我下,谢谢!。

        2、Inter - frame Pose Distance:不同帧之间的pose的距离

                                                       

             这里主要用的技术是取B(p)这样的区域box size是person bbox的10%,进行区域的相似度对比,具体是对比什么,我没太读懂,请大家告诉我下,feature map挖区域进行做距离转为得分?然后把所有配对区域的得分求和。

          

1、Multi - Person Pose Estimation:

         首先对每一帧图像进行多人姿态估计,利用他们组自己的Alphapose基于RMPE改良版本。然后从上图中我们可以看到,有一个iDPG(improved deep proposal generator)模块。

        iDPG主要是应对视频中人物的截断问题,利用随机剪裁random-crop在训练期间去生成“截断的目标人物”,特别的会利用random - crop 去吧 human instance 区域生成1/4 或1/2的 截断人物(对于这里,我个人建议最好是上/左/右半身,最好不要是单纯的腿部区域,个人感觉)。也就是说,iDPG是一种训练期间的数据增广方式。

       这部分也涉及到了“Motion-Guided Box Propagation”,结合前后帧之间的信息,来解决因为“运动模糊”、“遮挡”等问题导致的bbox漏检,这里主要用到的技术称之为“cross - frame matching technique”来自于“《Deepmatching: Hierarchical deformable dense matching》”。(因为没看过这篇文章,我感觉可能是吧不同帧之间的bbox进行配对,相似的不要,不同的作为补集,拿过来用。

2、Pose Flow Building:

                                                        

           利用Inter - frame Pose Distance 在“下一帧”中求出所有,得分小于设定阈值(1/25根据交叉验证选定的)的pose作为候选pose。

                                                                                                                                                      

        上面这个公式就是目标函数,通过对该函数的最大化,来选取最优的pose。s()就是取相应部分的置信度得分。F(t,T)中t和T代表了第t帧与t+T帧,该函数内部是从t累加到t+T帧。

3、Pose Flow NMS

       关键步骤是确定指示同一个人的两个姿势流之间的距离。因此,这个论文定义了第三个Distance 应用于Pose Flow之间:

                                

N代表了时间重叠帧的数量。Ya,Yb代表了两个不同的Pose Flow(也有可能是相同的,或者交叉的)。

       在计算的到了Pose Flow之间的得分之后,就需要进行整合了,把一些交叉的,部分交叉的,重叠的进行整合优化,称之为“Pose Flow Merging”:

                                            

              

猜你喜欢

转载自blog.csdn.net/github_36923418/article/details/84984772