发明名称 一种人体动作序列的实时评价方法
摘要 本发明涉及一种人体动作序列的实时评价方法,采用基于差分的插值小波对动作序列进行边界延拓以减少边界效应,再进行小波系数的计算得到关键帧,以关键帧描述动作的特征,然后采用DTW距离度量函数计算两个动作序列的距离,最后对该距离进行归一化,得到两个动作的相似度评分。本发明的有益效果是:利用区间插值小波减少边界效应,得到更准确的关键帧,进而实现更加准确的动作评价。
申请公布号 CN106021926A 申请公布日期 2016.10.12
申请号 CN201610340949.5 申请日期 2016.05.20
申请人 北京九艺同兴科技有限公司 发明人 张瑞萱;汪成峰;王庆;张凯强
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 北京连城创新知识产权代理有限公司 11254 代理人 刘伍堂
主权项 一种人体动作序列的实时评价方法,其特征在于:采用基于差分的插值小波对动作序列进行边界延拓以减少边界效应,再进行小波系数的计算得到关键帧,以关键帧描述动作的特征,然后采用DTW距离度量函数计算两个动作序列的距离,最后对该距离进行归一化,得到两个动作的相似度评分;包括以下步骤:步骤一,将关节动作的时间序列数据表示为三维位置的时间序列数据,即三维轨迹,设f(x<sub>0</sub>),f(x<sub>1</sub>),f(x<sub>2</sub>),…,f(x<sub>N</sub>)表示其中某个关节的位置坐标在给定区间内边界附近多个点的函数值,则逼近函数的小波表达式为<maths num="0001"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>&gt;</mo><mo>&CenterDot;</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000995539390000011.GIF" wi="437" he="131" /></maths>其中为分段函数,即<maths num="0002"><math><![CDATA[<mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow><mrow><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>n</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mn>0</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>b</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>n</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>,</mo><mo>...</mo><mo>,</mo><msup><mn>2</mn><mi>j</mi></msup></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000995539390000012.GIF" wi="1302" he="375" /></maths><maths num="0003"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>=</mo><munderover><munder><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow></munder><mrow><mi>i</mi><mo>&NotEqual;</mo><mi>k</mi></mrow><mi>N</mi></munderover><mfrac><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></mrow><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>k</mi><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></mrow></msub></mfrac><mo>,</mo><msub><mi>b</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mo>=</mo><munderover><munder><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow></munder><mrow><mi>i</mi><mo>&NotEqual;</mo><mi>k</mi></mrow><mrow><mn>2</mn><mi>j</mi></mrow></munderover><mfrac><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></mrow><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>k</mi><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>i</mi></mrow></msub></mrow></msub></mfrac></mrow>]]></math><img file="FDA0000995539390000013.GIF" wi="805" he="167" /></maths>N为边界上分布点的个数,L为小波函数的支撑区间,即suppφ=[‑L,L];将区间小波内积运算展开,表示如下:<maths num="0004"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mo>&lt;</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>,</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>&gt;</mo><mo>&CenterDot;</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>&lsqb;</mo><mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mo>-</mo><mi>L</mi><mo>+</mo><mn>1</mn></mrow><mrow><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>a</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>n</mi></mrow><mo>)</mo></mrow></mrow><mo>&rsqb;</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mrow><mo>&lsqb;</mo><mrow><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>b</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>n</mi></mrow><mo>)</mo></mrow></mrow><mo>&rsqb;</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000995539390000014.GIF" wi="1659" he="462" /></maths>当x=2<sup>j</sup>+1,2<sup>j</sup>+2,…,2<sup>j</sup>+N时,<maths num="0005"><math><![CDATA[<mrow><msub><mi>f</mi><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>k</mi></mrow></msub><mo>=</mo><mn>2</mn><msub><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup></msub><mo>-</mo><msub><mi>f</mi><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>k</mi></mrow></msub><mo>,</mo><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi></mrow>]]></math><img file="FDA0000995539390000015.GIF" wi="684" he="71" /></maths>因此,式1可以写为<maths num="0006"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mo>-</mo><mi>N</mi></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mo>-</mo><mi>N</mi></mrow><mrow><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mn>2</mn><msub><mi>f</mi><mn>0</mn></msub><mo>-</mo><msubsup><mi>f</mi><mrow><mo>-</mo><mi>k</mi></mrow><mi>j</mi></msubsup></mrow><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mn>2</mn><msub><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup></msub><mo>-</mo><msub><mi>f</mi><mrow><msup><mn>2</mn><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>-</mo><mi>k</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mrow><mo>-</mo><mi>k</mi></mrow><mi>j</mi></msubsup><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><mn>0</mn></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><mrow><mo>-</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><mrow><msup><mn>2</mn><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>-</mo><mi>k</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mo>-</mo><mi>N</mi></mrow><mn>1</mn></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><mn>0</mn></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><msup><mn>2</mn><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><msub><mi>f</mi><mi>k</mi></msub></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000995539390000021.GIF" wi="1670" he="907" /></maths>其中<maths num="0007"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>=</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mn>0</mn><mi>j</mi></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>+</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><msup><mn>2</mn><mi>j</mi></msup></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup><mi>j</mi></msubsup></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000995539390000022.GIF" wi="1358" he="294" /></maths>可以得到以下表达式:<maths num="0008"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi></mrow><mo>)</mo></mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mo>-</mo><mi>N</mi></mrow><mrow><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mn>0</mn><mi>j</mi></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>-</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mn>1</mn></mrow></munderover><mrow><mo>(</mo><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>-</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><msup><mn>2</mn><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><msubsup><mi>f</mi><mi>k</mi><mi>j</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mrow><mo>(</mo><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><msup><mn>2</mn><mi>j</mi></msup></mrow><mo>)</mo></mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow><msub><mi>f</mi><msup><mn>2</mn><mi>j</mi></msup></msub></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000995539390000023.GIF" wi="1426" he="464" /></maths>基于差分的区间插值小波可表示为<maths num="0009"><math><![CDATA[<mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mn>0</mn></mrow><mo>)</mo></mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>,</mo><mo>...</mo><mo>,</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>-</mo><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><msup><mn>2</mn><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mi>N</mi><mo>,</mo><mo>...</mo><mo>,</mo><msup><mn>2</mn><mi>j</mi></msup><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>+</mo><mn>2</mn><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mn>1</mn></mrow><mrow><msup><mn>2</mn><mi>j</mi></msup><mo>+</mo><mi>N</mi></mrow></munderover><mi>&phi;</mi><mrow><mo>(</mo><mrow><msup><mn>2</mn><mi>j</mi></msup><mi>x</mi><mo>+</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>k</mi><mo>=</mo><msup><mn>2</mn><mi>j</mi></msup></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000995539390000024.GIF" wi="1306" he="542" /></maths>步骤二,构造自适应插值算子,求解插值小波系数;设φ(x)为插值尺度基函数,定义尺度函数序列为φ<sub>j,k</sub>(x)=φ(2<sup>j</sup>x‑k),k=0,1,2,…,2<sup>j</sup>由此序列构成的L<sup>2</sup>(0,1)子空间序列为<maths num="0010"><math><![CDATA[<mrow><msub><mi>V</mi><mi>j</mi></msub><mo>:</mo><mo>=</mo><mi>s</mi><mi>p</mi><mi>a</mi><mi>n</mi><mo>&lt;</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>,</mo><mi>k</mi><mo>=</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><msup><mn>2</mn><mi>j</mi></msup><mo>&gt;</mo><mo>&Subset;</mo><msup><mi>L</mi><mn>2</mn></msup><mrow><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000995539390000031.GIF" wi="830" he="84" /></maths>根据φ(x)具有插值特性,φ<sub>j,k</sub>(n2<sup>‑j</sup>)=δ<sub>n,k</sub>;由此可以给出插值算子I<sub>j</sub>:C<sup>0</sup>(0,1)→V<sub>j</sub>的定义为<maths num="0011"><math><![CDATA[<mrow><msub><mi>I</mi><mi>j</mi></msub><mi>f</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>)</mo></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>,</mo><msub><mi>x</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>=</mo><mi>k</mi><msup><mn>2</mn><mrow><mo>-</mo><mi>j</mi></mrow></msup></mrow>]]></math><img file="FDA0000995539390000032.GIF" wi="635" he="134" /></maths>对应尺度函数空间的小波函数空间定义为W<sub>j</sub>:=span&lt;ψ<sub>jk</sub>,k=0,1,2,…,2<sup>j</sup>‑1&gt;其中ψ<sub>jk</sub>=φ<sub>j+1,2k+1</sub>令y<sub>jk</sub>=x<sub>j+1,2k+1</sub>,小波函数ψ<sub>jk</sub>具有以下特性:ψ<sub>jk</sub>(y<sub>jn</sub>)=δ<sub>kn</sub><maths num="0012"><math><![CDATA[<mrow><msub><mi>&psi;</mi><mi>jk</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mrow><msup><mi>j</mi><mo>&prime;</mo></msup><mi>n</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>,</mo><msup><mrow><mo>&ForAll;</mo><mi>j</mi></mrow><mo>&prime;</mo></msup><mo>&lt;</mo><mi>j</mi></mrow>]]></math><img file="FDA0000995539390000039.GIF" wi="468" he="70" /></maths>故,<maths num="0013"><math><![CDATA[<mrow><msub><mi>V</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>V</mi><mi>j</mi></msub><mo>&CirclePlus;</mo><msub><mi>W</mi><mi>j</mi></msub></mrow>]]></math><img file="FDA0000995539390000036.GIF" wi="280" he="64" /></maths>V<sub>j</sub>构成一多分辨率分析;对于任意函数f∈C<sup>0</sup>(0,1),总可以找到一个足够大的j,使得f<sub>j</sub>(x)∈V<sub>j</sub>充分逼近f(x),即<maths num="0014"><math><![CDATA[<mrow><mi>f</mi><mo>&ap;</mo><msub><mi>f</mi><mi>j</mi></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><msub><mi>j</mi><mn>0</mn></msub></msup></munderover><msub><mi>&beta;</mi><mrow><msub><mi>j</mi><mn>0</mn></msub><mi>k</mi></mrow></msub><msub><mi>&phi;</mi><mrow><msub><mi>j</mi><mn>0</mn></msub><mi>k</mi></mrow></msub><mo>+</mo><munder><mo>&Sigma;</mo><mrow><mi>j</mi><mo>&GreaterEqual;</mo><msub><mi>j</mi><mn>0</mn></msub></mrow></munder><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><mi>j</mi></msup></munderover><msub><mi>&alpha;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>&psi;</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub></mrow>]]></math><img file="FDA0000995539390000033.GIF" wi="682" he="143" /></maths>系数<img file="FDA00009955393900000310.GIF" wi="79" he="67" />和α<sub>jk</sub>分别定义为α<sub>jk</sub><maths num="0015"><math><![CDATA[<mrow><msub><mi>&beta;</mi><mrow><msub><mi>j</mi><mn>0</mn></msub><mi>k</mi></mrow></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><msub><mi>j</mi><mn>0</mn></msub><mi>k</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA00009955393900000311.GIF" wi="270" he="64" /></maths>α<sub>jk</sub>=f(y<sub>jk</sub>)‑I<sub>j</sub>f(y<sub>jk</sub>)其中插值小波的插值算子的计算公式如下:<maths num="0016"><math><![CDATA[<mrow><msub><mi>I</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><msub><mi>k</mi><mn>0</mn></msub><mo>=</mo><mn>0</mn></mrow><msup><mn>2</mn><msub><mi>j</mi><mn>0</mn></msub></msup></munderover><msubsup><mi>R</mi><mrow><msub><mi>k</mi><mn>0</mn></msub><mo>,</mo><mi>i</mi></mrow><mrow><msub><mi>j</mi><mn>0</mn></msub><mo>,</mo><mi>J</mi></mrow></msubsup><msub><mi>&phi;</mi><mrow><msub><mi>j</mi><mn>0</mn></msub><mo>,</mo><mi>k</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><msub><mi>j</mi><mn>0</mn></msub></mrow><mrow><mi>J</mi><mo>-</mo><mn>1</mn></mrow></munderover><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><msup><mi>Z</mi><mi>j</mi></msup></mrow></munder><msubsup><mi>C</mi><mrow><mi>k</mi><mo>,</mo><mi>i</mi></mrow><mrow><mi>j</mi><mo>,</mo><mi>J</mi></mrow></msubsup><msub><mi>&psi;</mi><mrow><mi>j</mi><mo>,</mo><mi>k</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>,</mo><msup><mi>Z</mi><mi>j</mi></msup><mo>=</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><msup><mn>2</mn><mi>j</mi></msup></mrow>]]></math><img file="FDA0000995539390000034.GIF" wi="1237" he="143" /></maths>步骤三,采用DTW方法计算两个动作序列之间的距离,令输入动作序列为<img file="FDA00009955393900000312.GIF" wi="494" he="68" />和<img file="FDA00009955393900000313.GIF" wi="545" he="70" />其中P为参考动作序列,Q为对比动作序列,C<sub>1</sub>和C<sub>2</sub>分别为P和Q的帧数;参考动作序列P的第r帧为<img file="FDA0000995539390000037.GIF" wi="297" he="66" />其中<img file="FDA0000995539390000038.GIF" wi="48" he="63" />为第i个关节方向数据的四元数表示,将所有关节的方向数据级联得到p<sub>r</sub>,即该帧的特征向量;令对比动作序列Q的第r'帧为<img file="FDA0000995539390000042.GIF" wi="311" he="64" />可得两帧之间的距离<maths num="0017"><math><![CDATA[<mrow><mi>d</mi><mi>i</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>kp</mi><mi>r</mi></msub><mo>,</mo><msub><mi>kq</mi><msup><mi>r</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><mo>|</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>kp</mi><mi>r</mi><mi>i</mi></msubsup><mo>,</mo><msubsup><mi>kq</mi><msup><mi>r</mi><mo>&prime;</mo></msup><mi>i</mi></msubsup><mo>)</mo></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000995539390000041.GIF" wi="1227" he="127" /></maths>循环计算路径距离γ(p<sub>i</sub>,q<sub>j</sub>),基于式(1)的帧间距离度量公式和DTW方法,直到动作序列P和Q完全匹配;每个最优匹配的前一个匹配只能为γ(p<sub>i‑1</sub>,q<sub>j‑1</sub>),、γ(p<sub>i‑1</sub>,q<sub>j</sub>)和γ(p<sub>i</sub>,q<sub>j‑1</sub>)其中一个,因此只需要选择其中最小的一个,加上当前距离即可得到路径的最小距离:γ(p<sub>i</sub>,q<sub>j</sub>)=dist'(p<sub>i</sub>,q<sub>j</sub>)+min{γ(p<sub>i‑1</sub>,q<sub>j‑1</sub>),γ(p<sub>i‑1</sub>,q<sub>j</sub>),γ(p<sub>i</sub>,q<sub>j‑1</sub>)}重复步骤三,直到i=C<sub>1</sub>且j=C<sub>2</sub>,得到规整路径W=w<sub>1</sub>,w<sub>2</sub>,…,w<sub>k</sub>,…,w<sub>K</sub>;创建长度C<sub>1</sub>的数组MapFrame,记录P中所有帧在Q中的唯一映射关系;遍历路径W,若P中存在与Q中关系为一对多的帧,则选择其中距离最小的一对匹配帧,将其映射关系存入MapFrame;若不存在,则直接将该匹配帧的映射关系存入MapFrame;步骤四,计算关键帧之间的平均距离,并将其进行归一化,得到P和Q的相似度评分。
地址 102600 北京市大兴区经济开发区科苑路18号3幢2层202室