论文部分内容阅读
自二十世纪九十年代以来,随着运动捕捉技术的兴起及运动捕获设备的发展,具有较强真实感的人体运动捕捉数据大量产生。然而,运动捕捉数据库的规模越来越庞大,运动的种类越来越复杂,如何更合理、更高效地管理和利用运动捕捉数据,从而得到符合需求的数据已变得非常重要。人们最自然接受的管理办法,就是将运动捕捉数据根据语义类型进行分类,因此,对已有的人体运动捕捉数据进行分割、标注成为了当前运动捕捉的一大研究热点和难点。本文主要研究了人体运动行为分割和标注问题,分别提出了基于局部异常因子的人体运动行为分割方法和基于运动模板的人体运动行为标注方法,并构建了人体运动行为分割系统。论文的主要工作如下:针对人体运动行为分割问题,本文引入一种经典的异常检测算法——局部异常因子(Local Outlier Factor, LOF)来寻找不同语义运动片段之间的分割点,提出了一种基于LOF的运动行为分割方法。首先,通过提取骨骼夹角特征的方式将原始运动数据降维;然后,引入滑动窗口作为统计单位,绘制滑动窗口内每个骨骼夹角的统计直方图作为再次降维后的特征;接下来,计算每个滑动窗口特征的局部密度和局部异常因子;最后,LOF曲线中的极大值点即为不同语义运动之间的分割点。实验结果表明,对比经典的基于概率主成分分析(Probabilistic Principal Component Analysis, PPCA)行为分割方法,本文的方法有更好的分割效果。针对人体运动行为标注问题,本文采用运动场(Motion Filed)来合成不同语义运动的运动模板,提出了一种基于运动模板(Motion Templates, MTs)的运动行为标注方法。运动场通过将同类运动的数据帧放入一个场内,忽略他们的时间先后关系,每一帧都是由上一帧的邻近帧加权平均得到的,因此合成的运动具有模板的平均特性,可以作为一类运动的评价标准。再得到模板后,未知运动与各类的运动模板通过动态时间规整(Dynamic Time Warping, DTW)算法进行匹配来判断归属类型。本文设计并开发了基于OpenGL的人体运动行为分割系统,可以实现运动捕捉数据的动态播放和基于LOF人体运动行为自动分割。系统采用C++语言开发,界面依托Qt框架。本系统的开发为后续研究奠定了重要基础。