发明名称 基于平面标志物的位姿处理方法
摘要 本发明公开了一种基于平面标志物的位姿处理方法,用于解决现有技术对于平面标志物的位姿处理正确率低的技术问题。本发明依据标志物检测和识别方法得到标志物的相关信息,以三维空间中的共线误差作为优化函数,由得到的2D和3D点之间的对应关系确定相机的位置和姿态,运用RPP算法获得使OI算法中的共线误差函数取得局部极值的另一解,比较得到的两个局部极值解,取共线误差较小的解作为最终处理结果。由于采用RPP算法,解决了姿态不确定性问题,将平面标志物的位姿处理正确率由现有技术的50%左右提高到95%以上。
申请公布号 CN101718548A 申请公布日期 2010.06.02
申请号 CN200910219140.7 申请日期 2009.11.26
申请人 西北工业大学 发明人 张艳宁;余瑞;杨涛;段锋;林增刚
分类号 G01C11/00(2006.01)I 主分类号 G01C11/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 黄毅新
主权项 1.一种基于平面标志物的位姿处理方法,其特征在于包括下述步骤:(a)选取ARToolkitplus提供的Simple ID标志物作为增强现实系统的平面标志物,实时处理过程中,依据标志物检测和识别方法得到标志物的相关信息,以三维空间中的共线误差作为优化函数,OI算法由得到的2D和3D点之间的对应关系确定相机的位置和姿态;(b)由上述OI算法得到的初始值<maths num="0001"><![CDATA[<math><mrow><msub><mover><mi>P</mi><mo>^</mo></mover><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>t</mi><mo>^</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>运用RPP算法获得使OI算法中的共线误差函数取得局部极值的另一解,比较得到的两个局部极值解,取共线误差较小的解作为最终处理结果;(c)由<maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>R</mi><mi>t</mi></msub><msub><mover><mi>v</mi><mo>^</mo></mover><mi>i</mi></msub><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>t</mi><mo>~</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>R</mi><mi>t</mi></msub><msub><mover><mi>t</mi><mo>^</mo></mover><mn>1</mn></msub><mo>,</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>R</mi><mo>~</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>R</mi><mi>t</mi></msub><msub><mover><mi>R</mi><mo>^</mo></mover><mn>1</mn></msub></mrow></math>]]></maths>变换坐标系得到<maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>P</mi><mo>~</mo></mover><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>~</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>t</mi><mo>~</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>(d)根据<maths num="0006"><![CDATA[<math><mrow><msub><mi>E</mi><mi>os</mi></msub><mrow><mo>(</mo><mover><mi>R</mi><mo>~</mo></mover><mo>,</mo><mover><mi>t</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>|</mo><mo>|</mo><mrow><mo>(</mo><mi>I</mi><mo>-</mo><mfrac><mrow><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub><msubsup><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi><mi>t</mi></msubsup></mrow><mrow><msubsup><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi><mi>t</mi></msubsup><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub></mrow></mfrac><mo>)</mo></mrow><mrow><mo>(</mo><mover><mi>R</mi><mo>~</mo></mover><msub><mover><mi>R</mi><mo>~</mo></mover><mi>z</mi></msub><msubsup><mover><mi>R</mi><mo>~</mo></mover><mi>z</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mover><mi>t</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mover><mi>R</mi><mo>~</mo></mover><mn>1</mn></msub><msub><mover><mi>R</mi><mo>~</mo></mover><mi>z</mi></msub><mo>=</mo><msub><mi>R</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mover><mi>&gamma;</mi><mo>~</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><msub><mi>R</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mover><mi>&beta;</mi><mo>~</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><msub><mi>R</mi><mi>z</mi></msub><mrow><mo>(</mo><msub><mover><mi>&alpha;</mi><mo>~</mo></mover><mn>1</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths>以及<maths num="0008"><![CDATA[<math><mrow><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub><mo>&Proportional;</mo><msub><mi>R</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>&gamma;</mi><mo>)</mo></mrow><msub><mi>R</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>&beta;</mi><mo>)</mo></mrow><msub><mover><mi>p</mi><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><mover><mi>t</mi><mo>~</mo></mover></mrow></math>]]></maths>计算<img file="F2009102191407C00019.GIF" wi="55" he="60" />并得到<img file="F2009102191407C000110.GIF" wi="35" he="51" />和<img file="F2009102191407C000111.GIF" wi="93" he="61" />(e)固定<maths num="0009"><![CDATA[<math><mrow><mi>&gamma;</mi><mo>=</mo><msub><mover><mi>&gamma;</mi><mo>~</mo></mover><mn>1</mn></msub><mo>,</mo></mrow></math>]]></maths>计算与<maths num="0010"><![CDATA[<math><mrow><msub><mi>E</mi><mi>os</mi></msub><mrow><mo>(</mo><mi>&gamma;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mover><mi>t</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>|</mo><mo>|</mo><mrow><mo>(</mo><mi>I</mi><mo>-</mo><mfrac><mrow><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub><msubsup><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi><mi>t</mi></msubsup></mrow><mrow><msubsup><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi><mi>t</mi></msubsup><msub><mover><mi>v</mi><mo>~</mo></mover><mi>i</mi></msub></mrow></mfrac><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>R</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>&gamma;</mi><mo>)</mo></mrow><msub><mi>R</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>&beta;</mi><mo>)</mo></mrow><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mover><mi>t</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>式的所有局部极值相对应的参数β和<img file="F2009102191407C000114.GIF" wi="43" he="53" />(f)对所有局部极值,做逆变换得到<img file="F2009102191407C000115.GIF" wi="60" he="61" />(g)对所有的<img file="F2009102191407C000116.GIF" wi="33" he="63" />运用位姿处理方法,得到最终的P<sub>i</sub><sup>*</sup>;(h)选取使E<sub>os</sub>最小的解作为处理结果。
地址 710072 陕西省西安市友谊西路127号