发明名称 一种计算杠铃中心点平移矢量和旋转参数的方法
摘要 一种计算杠铃中心点平移矢量和旋转参数的方法属于图像处理领域。本发明要解决的技术问题是自动精确得到杠铃中心的平移矢量和旋转角度。首先在第一帧图像中进行运动区域检测,然后检测杠铃中的特征点;然后通过跟踪杠铃上的几个特征点,求出相应的定比,并通过最小方差求的个别中心点以及最优统计方法求的最佳中心点,并纠正特征点跟踪错误,通过帧间对比,计算平移矢量和旋转角度。本发明可以精确计算举重运动中杠铃的运动的轨迹和旋转参数,实现举重训练的自动化分析方法。
申请公布号 CN102609708A 申请公布日期 2012.07.25
申请号 CN201210011261.4 申请日期 2012.01.15
申请人 北京工业大学 发明人 毋立芳;武文斌;高美琴;江思源;王红;张静文;颜凤辉;郑庆阳
分类号 G06K9/46(2006.01)I;G06T7/00(2006.01)I 主分类号 G06K9/46(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 1.一种计算杠铃中心点平移矢量和旋转参数的方法,其特征在于步骤如下:A1、对前两帧图像使用光流法提取运动区域,通过二值化得到杠铃区域,提取出杠铃的边缘,然后对此进行HOUGH变换,求出杠铃的圆心坐标和半径参数;A2、在杠铃区域使用Harris角点检测寻找N个特征点,N>2,然后随机把这N个点两两组合,每一组点确定一条直线,把每一条直线的参数方程求出来;A3、通过步骤A1求出来的杠铃圆的参数,得到杠铃圆的参数方程,然后和直线方程联立求解得到交点,由交点得到杠铃圆的这条弦的中点;A4、由步骤A3求出来的中点和相应的特征点求出来线段内定比分点的定比λ<sub>i</sub>;B、输入视频的下一帧图像,运用LK金字塔光流法跟踪选取的特征点,然后使用A中求出来的定比参数和统计最优方法计算杠铃圆心坐标,通过和上一帧所得杠铃圆心位置得到杠铃的平移矢量,具体如下:B1、输入视频的下一帧图像,作为当前处理的图像,然后运用LK金字塔光流法在当前帧中跟踪上一帧的特征点;B2、用这些跟踪的特征点和在A4中求出来的定比,求出来杠铃的圆心坐标;步骤B2的具体描述如下:B21、使用A4中求出来的每一组特征点的相应的定比,求出来相应的一组两个特征点的定比分点;通过定比分点和垂直关系,求出来相应的弦的垂直平分线,他们的交点即杠铃圆心,B22、使用最小方差方法得到中心点位置;用符号f<sub>i</sub>(x,y)表示每一条垂直平分线,则:f<sub>i</sub>(x,y)=a<sub>i</sub>x+b<sub>i</sub>+c<sub>i</sub>    (B22.1)构造如下平方和的式子:<maths num="0001"><![CDATA[<math><mrow><mi>D</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>f</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msup><mrow><mo>(</mo><msub><mi>a</mi><mi>i</mi></msub><mi>x</mi><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><mi>y</mi><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mi>B</mi><mn>22.2</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中i=1,2,...M,M为特征点的个数;杠铃圆圆心坐标(x,y)使(B22.2)式达到最小值,故通过求(B22.2)式的最小值求圆心坐标;B23、已知三个特征点确定一个圆心,假定现在有N个特征点,所以使用排列组合,有<img file="FDA0000131030030000022.GIF" wi="55" he="56" />种情况,也就是求出来<img file="FDA0000131030030000023.GIF" wi="55" he="56" />个圆心点;如果所有特征点跟踪准确,则所求的圆心全部和真实圆心位置重合;但是当一些特征点跟踪出现误差时,所求得得中心点便呈现分布在真实圆心周围的状态;B24、通过统计最优,求得最佳的圆心位置;设定C(P)表示跟踪正确的特征点所计算的中心点的集合,NumCp表示C(P)特征点数目,F(P)表示错误跟踪的特征点所计算的中心点集合,NumFp表示F(P)集合数目;步骤B24具体描述如下:B241、使用集合C(P)中所有点计算出一个平均的中心点;<maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi>Cp</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>Num</mi><mi>Cp</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>Num</mi><mi>Cp</mi></msub></munderover><msub><mi>x</mi><mi>m</mi></msub></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>y</mi><mo>&OverBar;</mo></mover><mi>Cp</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>Num</mi><mi>Cp</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>Num</mi><mi>Cp</mi></msub></munderover><msub><mi>y</mi><mi>m</mi></msub></mrow></math>]]></maths>B242、计算所有中心位置的平均方差:<maths num="0004"><![CDATA[<math><mrow><msub><mi>Dis</mi><mrow><mi>m</mi><mo>_</mo><mi>Cp</mi></mrow></msub><mo>=</mo><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi>Cp</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mover><mi>y</mi><mo>&OverBar;</mo></mover><mi>Cp</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>Dis</mi><mrow><mi>Ave</mi><mo>_</mo><mi>Cp</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>Num</mi><mi>Cp</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>Num</mi><mi>Cp</mi></msub></munderover><msub><mi>Dis</mi><mrow><mi>m</mi><mo>_</mo><mi>Cp</mi></mrow></msub></mrow></math>]]></maths>B243、如果下边的条件满足:Dis<sub>Ave_Cp</sub>≤1.0得到中心点位置为:<img file="FDA0000131030030000028.GIF" wi="213" he="62" />和<img file="FDA0000131030030000029.GIF" wi="249" he="69" />并终止循环,跳到步骤C1;否则认为中心点位置发散并跳到B244;B244、对每一个中心点位置,检查是否满足下边的条件:Dis<sub>m_Cp</sub>≤αDis<sub>Ave_Cp</sub>α=0.5;如果不满足这个条件,认为这个中心点出现误差,并从C(p)中把这个点剔除,放到F(p)中,NumCp减1,NumFp加1;然后跳到B241循环这个过程;C、使用统计方法,推测出跟踪误差较大的特征点,并使用子图像块匹配技术矫正这些特征点,具体如下:C1、通过记录B21步骤中计算中心点时对应的三个特征点,知道F(p)中每个中心点所使用的特征点;如果某个特征点参与F(p)中一个中心点的计算,则对其计数加一;C2、得到每个特征点的计数值,如果其计数值<img file="FDA0000131030030000031.GIF" wi="260" he="113" />i=1...N,则认为该特征点跟踪误差超过一定范围,定义为跟踪失败的特征点;C3、通过上一步得到的跟踪失败特征点,使用子图像匹配技术来矫正;D、然后通过上一帧图像的特征点和当前帧图像的特征点求出杠铃的旋转角度,进一步细化为:D1、用B中所求出来的当前帧杠铃的圆心坐标减去前一帧中的杠铃圆的圆心坐标即为杠铃圆心的平移矢量;D2、当圆旋转的时候,按照特征点组合方式不变,求出来每对特征点所确定的直线的斜率,通过斜率知道直线和坐标轴的夹角,然后通过前后两帧图像的相应直线和坐标轴的夹角,求得它们的夹角差便是杠铃圆的旋转角度;在步骤E中,循环步骤B、C、D,获得杠铃运动的平移矢量和旋转角度。
地址 100124 北京市朝阳区平乐园100号