主权项 |
一种基于骨骼序列提取关键帧的方法,包括下列步骤:1)通过Kinect摄像机捕捉人类动作,在捕获的数据流中进行骨骼跟踪,得到包含多个骨骼节点的三维骨骼序列;2)针对每一个骨骼节点,将相邻帧的骨骼坐标相减,求出各个该骨骼节点在相邻帧间的骨骼运动矢量,进而计算出所有骨骼的三维骨骼运动矢量;3)将所有骨骼的三维骨骼运动矢量分别在笛卡尔正交系的三个平面上进行投影,在每个投影面上,根据方向与幅值对骨骼运动矢量进行概率统计,得到直方图,将其定义为骨骼运动矢量直方图;4)根据信息熵公式,对相邻帧的骨骼运动矢量直方图求信息熵值;将整个视频序列中,所有的骨骼运动矢量直方图信息熵值按照视频先后顺序依次排列,并将其绘制成曲线图,将此曲线定义为熵曲线,在熵曲线中,求出局部极大值,将信息熵具有局部极大值的帧定义为原始帧;5)对于整个三维骨骼序列的各个原始帧i,根据其自身的信息熵值以及相邻帧的信息熵值,通过下述公式的交织方式能够计算出交织系数HI:<maths num="0001"><math><![CDATA[<mrow><mi>H</mi><mi>I</mi><mo>=</mo><mfrac><mrow><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></msubsup><mi>m</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mi>H</mi><mo>(</mo><mi>i</mi><mo>)</mo><mo>,</mo><mi>H</mi><mo>(</mo><mrow><mi>i</mi><mo>±</mo><mi>x</mi></mrow><mo>)</mo><mo>)</mo></mrow></mrow><mrow><msubsup><mi>Σ</mi><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mn>3</mn></msubsup><mi>H</mi><mrow><mo>(</mo><mi>i</mi><mo>±</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0001044884920000011.GIF" wi="595" he="131" /></maths>其中,原始帧的信息熵值为H(i),并令H(i±x)表示与原始帧i相邻x帧的信息熵值,+号代表之后的帧,‑号代表之前的帧;令其与原始帧信息熵值进行乘积,从而对原始帧的信息熵值进行加权;6)将每个原始帧的信息熵值H(i),与其交织系数HI相乘进行加权,得到加权后的原始帧信息熵值;7)根据加权后的原始帧信息熵值,绘制新的信息熵值曲线,求出局部极大值对应的帧,作为该骨骼序列人类动作的关键帧。 |