发明名称 利用三个相切圆线性求解摄像机内参数
摘要 本发明涉及一种利用平面上三个相外切或内切的圆求解两个正交方向上的消影点而进行摄像机标定的方法,对靶标从不同方位拍摄三幅图像,提取图像上各曲线的方程及切点坐标,求出各圆圆心的投影坐标,计算出切点的像关于圆心的像在该投影曲线的对应点和切点的像及对应点关于该投影曲线的切线,根据交比不变性和切线的交点求出两个正交方向上的消影点。计算三幅图片上的两个正交方向上的消影点,建立摄像机内参数的约束方程,线性解出摄像机的五个内参数。利用本发明中的靶标可以实现全自动标定,减少了标定过程中由测量引起的误差。同时,由于二次曲线是一种更简洁更全局化的基元,在摄像机标定过程中,提高了标定精度。
申请公布号 CN102999896B 申请公布日期 2015.05.06
申请号 CN201110274081.0 申请日期 2011.09.16
申请人 云南大学 发明人 赵越;陈旭
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 代理人
主权项 一种基于三个相切圆靶标的求解摄像机内参数的方法,其特征在于此靶标是由三个相互外切的三个圆构成;所述方法的具体步骤包括:用摄像机从不同方向拍摄靶标的三幅图像并读入图像,提取图像上各条曲线方程,求解各圆心的像的坐标,求解一个圆上的切点的像关于圆心的像在该圆的投影曲线上的对应点,根据交比不变性求解一个过该切点的直径方向上的消影点,求解一个过该切点切线方向上的消影点,根据两正交方向上的消影点线性求解摄像机的内参数;(1)拟合图像中圆的投影曲线方程利用VC++6.0平台的OpenCV程序中的函数提取出图像特征点的坐标,并用最小二乘算法拟合图像中的各条曲线,获取图像上各条曲线方程;(2)求解相切圆各圆心的像的坐标设圆Q<sub>1</sub>,Q<sub>2</sub>,Q<sub>3</sub>相互外切,它们有不同的圆心,其中点A,B,C为切点;在世界坐标平面到图像平面的单应变换H下,它们在图像平面上的像C<sub>i</sub>满足:C<sub>i</sub>=λ<sub>i</sub>H<sup>‑T</sup>Q<sub>i</sub>H<sup>‑1</sup>,i=1,2,3;其中半径为r,圆心坐标为(X<sub>0</sub>,Y<sub>0</sub>)的圆Q,其上的点X满足方程X<sup>T</sup>QX=0,它的矩阵形式为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>Q</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>X</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>Y</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>X</mi><mn>0</mn></msub></mtd><mtd><mo>-</mo><msub><mi>Y</mi><mn>0</mn></msub></mtd><mtd><msubsup><mi>X</mi><mn>0</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>Y</mi><mn>0</mn><mn>2</mn></msubsup><mo>-</mo><msup><mi>r</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FSB0000135850340000011.GIF" wi="657" he="216" /></maths>假设圆Q<sub>1</sub>的圆心与世界坐标原点重合,图像平面上的存在一条曲线可以表示成三个圆的投影曲线的线性组合,即<img file="FSB0000135850340000014.GIF" wi="339" he="73" />j=2,3,并且满足β≠0,detΔ<sub>j</sub>=0;这是一个关于β的一个三次方程,有三个根;通过方程<img file="FSB0000135850340000012.GIF" wi="537" he="67" />可以解得β<sub>1</sub>=λ<sub>j</sub>/λ<sub>1</sub>,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&beta;</mi><mn>2,3</mn></msub><mo>=</mo><mfrac><msub><mi>&lambda;</mi><mi>j</mi></msub><mrow><mn>2</mn><msub><mi>&lambda;</mi><mn>1</mn></msub><msup><msub><mi>r</mi><mn>1</mn></msub><mn>2</mn></msup></mrow></mfrac><mo>[</mo><mrow><mo>(</mo><msup><msub><mi>r</mi><mn>1</mn></msub><mn>2</mn></msup><mo>+</mo><msubsup><mi>r</mi><mi>j</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>X</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>Y</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><mo>&PlusMinus;</mo><msqrt><mrow><mo>(</mo><msup><mrow><mo>(</mo><msup><msub><mi>r</mi><mn>1</mn></msub><mn>2</mn></msup><mo>-</mo><msubsup><mi>r</mi><mi>j</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mrow><mo>(</mo><msubsup><mi>X</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>Y</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><mo>-</mo><mn>2</mn><mrow><mo>(</mo><msup><msub><mi>r</mi><mn>1</mn></msub><mn>2</mn></msup><mo>+</mo><msubsup><mi>r</mi><mi>j</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mrow><mo>(</mo><msubsup><mi>X</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>Y</mi><mrow><mn>0</mn><mi>j</mi></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><mo>)</mo></mrow></msqrt><mo>;</mo></mrow>]]></math><img file="FSB0000135850340000013.GIF" wi="1733" he="138" /></maths>其中,(X<sub>0j</sub>,Y<sub>0j</sub>)是圆Q<sub>j</sub>的圆心坐标,r<sub>1</sub>,r<sub>j</sub>分别表示圆Q<sub>1</sub>,Q<sub>j</sub>的半径,β<sub>2,3</sub>是方程的二重根;将β<sub>1</sub>代入<img file="FSB0000135850340000015.GIF" wi="330" he="83" />得到一个秩为1的矩阵,它表示通过圆心的像的直线,从而可得<img file="FSB0000135850340000016.GIF" wi="743" he="89" />其中,o<sub>1</sub>,o<sub>j</sub>表示圆Q<sub>1</sub>,Q<sub>j</sub>的圆心的投影;过圆心的像的直线π<sub>1j</sub>=o<sub>1</sub>×o<sub>j</sub>是Δ<sub>j</sub>的特征值β<sub>1</sub>对应的广义特征向量,所以圆Q<sub>1</sub>的圆心的像的坐标o<sub>1</sub>=π<sub>12</sub>×π<sub>13</sub>;同样的,o<sub>2</sub>,o<sub>3</sub>的坐标可以计算出来;(3)求解直径方向上的一个消影点当计算出圆Q<sub>1</sub>的圆心的像o<sub>1</sub>的坐标,并检测出圆Q<sub>1</sub>和Q<sub>3</sub>的切点A的像的坐标m<sub>A</sub>,进而可以计算出m<sub>A</sub>关于圆心的像o<sub>1</sub>在曲线C<sub>1</sub>的对应点m<sub>D</sub>;故m<sub>A</sub>,o<sub>1</sub>,m<sub>D</sub>所在直线是圆Q<sub>1</sub>上一条直径的投影,由调和共轭和交比不变性可得:(m<sub>A</sub>m<sub>D</sub>,o<sub>1</sub>v<sub>1</sub>)=‑1;其中,v<sub>1</sub>是该直径方向上的一个消影点;(4)求解过圆的切点的切线方向上的消影点计算过点m<sub>A</sub>,m<sub>D</sub>关于曲线C<sub>1</sub>的切线π<sub>1</sub>,π<sub>2</sub>,则它们的交点v<sub>2</sub>是直径两端点切线方向上的一个消影点;因为在空间平面上,直径两端点的切线和直径是垂直的,所以在图像平面上v<sub>1</sub>,v<sub>2</sub>是两个正交方向上的消影点;(5)计算摄像机内参数得到三幅图像上正交方向上的消影点,利用Cholesky分解便可计算出摄像机内参数K。
地址 650091 云南省昆明市翠湖北路2号