[论文笔记] Single View Human Action Recognition using Key Pose Matching and Viterbi Path Searching




Paper: F. Lv and R. Nevatia. Single view human action recognition using key pose matching and viterbi path searching, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2007




*问题描述:
3D识别姿势主要有两种方法:恢复和样例匹配。前者的困难来自于超大量需要估算和评价的参数和由于透视投影带来的歧义性;后者则建立在样例库中足够大的前提下,因此存在不精确或不匹配情况。




本文基于人体基本动作(如走、坐)展开,认为动作有以下3条特性:
动作的发生是有序的;动作之间无法任意地切换;动作间的过渡是平滑的。


基于以上观点,文中基于样例匹配提出了一种从2D轮廓序列识别动作的方法。



1) 样例3D数据从Motion Capture捕获,并分为小片段,使用DTW算法对齐,寻找关键帧(文中以动作幅度定义帧的能量,若该帧是一定滑动窗口中的Min或Max,则认为该帧为关键帧)。此后,以此关键帧表示该3D动作。



2) 从各个角度获取该3D动作的2D轮廓,并按照定义的相似性度量组织为一个Action Net,如下图所示。在Action Net中,关键帧可停留(Loop Link);有些动作可以重复循环进行(Back Link);边缘姿态相似的动作可以平滑过渡(Inter Link);临近角度的动作可相互过渡(Unrolled)。Action Net是有向的,动作按照箭头指向,在关键帧间平缓过渡。



dsf

3) 文中定义的轮廓间相似性度量参考Shape Context。其不同之处在于,将轮廓点集中各点的直方图集合为一个,方便查看和计算。文中

使用PMK算法计算两个轮廓间的距离,并提出了改进的PMK-NUT算法强化相似与不相似间值的差距。此为本文的主要贡献之一。




4) 对于输入的动作,提取轮廓后,动作的每一帧与Action Net中的每一个节点比较,后使用Viterbi算法找到最佳的匹配方案,最后输出对应的3D动作序列。这里可以参考Motion Graph相关,吾觉思想大致相同。




此为整合性论文,无甚特别建树。基于单视角的基本动作识别准确率在80%上下,无甚吸引力。



唯引出两个有趣的算法Shape Context和PMK,值得一探。