发明名称 一种基于二次曲线与直线的摄像机混合标定方法
摘要 一种基于二次曲线与直线的摄像机混合标定方法,其目的在于使摄像机在小视场的环境下时能够精确地完成标定,进而准确地进行后续三维测量。本发明设计了一个全新的标准<img file="DDA00003173028200011.GIF" wi="39" he="109" />圆标定模板,从任意三个不同的角度拍摄该模板,检测出圆的方程和半径所在直线方程,再利用射影变换的交比不变性,准确求得圆外两点,根据圆外两点进而求取过该两点的切线方程,结合圆的方程和三条直线方程,求取单应性矩阵,建立世界坐标系与图像坐标系的对应关系,利用旋转矩阵的单位正交性求得摄像机内部参数和外部参数,最后考虑二阶径向畸变对标定结果进行优化,完成摄像机标定整个过程。
申请公布号 CN103247048A 申请公布日期 2013.08.14
申请号 CN201310174012.1 申请日期 2013.05.10
申请人 东南大学 发明人 达飞鹏;郭涛;刘健;陈璋雯;陶海跻;潘仁林
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 杨晓玲
主权项 1.一种基于二次曲线与直线的摄像机混合标定方法,其特征在于:包括如下步骤:步骤1:采用摄像机从三个不同的角度对标准<img file="FDA00003173027900011.GIF" wi="39" he="109" />圆形模板进行拍摄,得到三幅图像;步骤2:对其中一幅图像进行处理,得到此幅图像对应的3×3单应性矩阵H:步骤2.1:利用Canny边缘检测算法提取图像中<img file="FDA00003173027900012.GIF" wi="44" he="126" />椭圆的边缘;步骤2.2:利用最小二乘法拟合<img file="FDA00003173027900013.GIF" wi="44" he="127" />椭圆的方程以及椭圆两条轴所在直线的方程;其中,椭圆所对应的二次型方程Q是:<maths num="0001"><![CDATA[<math><mrow><mi>Q</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd><mtd><mi>b</mi><mo>/</mo><mn>2</mn></mtd><mtd><mi>d</mi><mo>/</mo><mn>2</mn></mtd></mtr><mtr><mtd><mi>b</mi><mo>/</mo><mn>2</mn></mtd><mtd><mi>c</mi></mtd><mtd><mi>e</mi><mo>/</mo><mn>2</mn></mtd></mtr><mtr><mtd><mi>d</mi><mo>/</mo><mn>2</mn></mtd><mtd><mi>e</mi><mo>/</mo><mn>2</mn></mtd><mtd><mi>f</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>                    (1)式两条椭圆轴所在直线方程分别是l<sub>1</sub>、l<sub>2</sub>:l<sub>1</sub>:k<sub>1</sub>x+m<sub>1</sub>y+n<sub>1</sub>=0                    (2)式l<sub>2</sub>:k<sub>2</sub>x+m<sub>2</sub>y+n<sub>2</sub>=0即l<sub>1</sub>=[k<sub>1</sub>,m<sub>1</sub>,n<sub>1</sub>]<sup>T</sup>                            (3)式l<sub>2</sub>=[k<sub>2</sub>,m<sub>2</sub>,n<sub>2</sub>]<sup>T</sup>其中,a,b,c,d,e,f是椭圆一般方程的参数,k<sub>1</sub>,m<sub>1</sub>,n<sub>1</sub>,k<sub>2</sub>,m<sub>2</sub>,n<sub>2</sub>是直线一般方程的参数;步骤2.3:根据所述步骤2.2得到的椭圆方程和其中一条椭圆轴直线方程,求得椭圆与椭圆轴直线的交点坐标A(x<sub>1</sub>,y<sub>1</sub>)和B(x<sub>2</sub>,y<sub>2</sub>);步骤2.4:根据两条椭圆轴直线方程,求得椭圆圆心坐标O(x<sub>0</sub>,y<sub>0</sub>),步骤2.5:选取交比<img file="FDA00003173027900015.GIF" wi="673" he="110" />求得射线<img file="FDA00003173027900016.GIF" wi="71" he="50" />上一点C(x<sub>3</sub>,y<sub>3</sub>)的坐标;选取交比<img file="FDA00003173027900017.GIF" wi="679" he="110" />求得射线<img file="FDA00003173027900018.GIF" wi="67" he="50" />上一点D(x<sub>4</sub>,y<sub>4</sub>)的坐标;步骤2.6:分别求出通过所述步骤2.5求得的椭圆外的点C(x<sub>3</sub>,y<sub>3</sub>)和D(x<sub>4</sub>,y<sub>4</sub>)与<img file="FDA00003173027900019.GIF" wi="44" he="126" />椭圆相切的切线,令求取的两条切线为l<sub>3</sub>、l<sub>4</sub>:l<sub>3</sub>=[k<sub>3</sub>,m<sub>3</sub>,n<sub>3</sub>]<sup>T</sup>                             (4)式l<sub>4</sub>=[k<sub>4</sub>,m<sub>4</sub>,n<sub>4</sub>]<sup>T</sup>其中,k<sub>3</sub>,m<sub>3</sub>,n<sub>3</sub>,k<sub>4</sub>,m<sub>4</sub>,n<sub>4</sub>是直线一般方程的参数;步骤2.7:在标准<img file="FDA00003173027900021.GIF" wi="44" he="127" />圆模板经过摄像机的透视投影之前,标准<img file="FDA00003173027900022.GIF" wi="44" he="127" />圆模板在世界坐标系下的方程为式(5):x<sup>2</sup>+y<sup>2</sup>=R<sup>2</sup>;                         (5)式其中,R为标准<img file="FDA00003173027900023.GIF" wi="44" he="126" />圆模板的半径,x、y为圆一般方程的参数;其二次型方程P为:<maths num="0002"><![CDATA[<math><mrow><mi>P</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msup><mrow><mo>-</mo><mi>R</mi></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>                            (6)式两条半径所在的直线L<sub>1</sub>、L<sub>2</sub>方程为:L<sub>1</sub>=[0,1,0]<sup>T</sup>                                (7)式L<sub>2</sub>=[1,0,0]<sup>T</sup>根据交比值<img file="FDA00003173027900025.GIF" wi="834" he="111" />求得直线l<sub>3</sub>和l<sub>4</sub>在经过摄像机的透视投影之前的方程分别为L<sub>3</sub>、L<sub>4</sub>:<maths num="0003"><![CDATA[<math><mrow><msub><mi>L</mi><mn>3</mn></msub><mo>=</mo><mo>[</mo><mfrac><msqrt><mn>3</mn></msqrt><mn>3</mn></mfrac><mo>,</mo><mo>-</mo><mn>1</mn><mo>,</mo><mfrac><mrow><mn>2</mn><msqrt><mn>3</mn></msqrt></mrow><mn>3</mn></mfrac><mi>R</mi><mo>]</mo></mrow></math>]]></maths>                                       (8)式<maths num="0004"><![CDATA[<math><mrow><msub><mi>L</mi><mn>4</mn></msub><mo>=</mo><mo>[</mo><mfrac><msqrt><mn>3</mn></msqrt><mn>3</mn></mfrac><mo>,</mo><mn>1</mn><mo>,</mo><mo>-</mo><mfrac><mrow><mn>2</mn><msqrt><mn>3</mn></msqrt></mrow><mn>3</mn></mfrac><mi>R</mi><mo>]</mo></mrow></math>]]></maths>其中,R为标准<img file="FDA00003173027900028.GIF" wi="44" he="127" />圆模板的半径;步骤2.8:根据所述步骤2.7求得的二次型方程P以及L<sub>1</sub>、L<sub>2</sub>、L<sub>3</sub>、L<sub>4</sub>,根据摄像机的成像原理,有如下关系式:H<sup>T</sup>QH=PH<sup>T</sup>l<sub>1</sub>=s<sub>1</sub>L<sub>1</sub>                     (9)式H<sup>T</sup>l<sub>3</sub>=s<sub>2</sub>L<sub>3</sub>H<sup>T</sup>l<sub>4</sub>=s<sub>3</sub>L<sub>4</sub>即:H<sup>T</sup>[l<sub>1</sub>,l<sub>3</sub>,l<sub>4</sub>]=[l<sub>1</sub>,L<sub>3</sub>,L<sub>4</sub>]S              (10)式其中,s<sub>1</sub>,s<sub>2</sub>,s<sub>3</sub>为比例因子,S=diag{s<sub>1</sub>,s<sub>2</sub>,s<sub>3</sub>};求得单应性矩阵H为:H=[l<sub>1</sub>,l<sub>2</sub>,l<sub>3</sub>]<sup>-T</sup>S[L<sub>1</sub>,L<sub>2</sub>,L<sub>3</sub>]<sup>T</sup>;步骤3:标定摄像机内部参数K:步骤3.1:对拍摄的另外两幅图像根据所述步骤2,分别得到对应的单应性矩阵H<sub>2</sub>,H<sub>3</sub>;步骤3.2:求取的单应性矩阵H可表示为:λH=λ[h<sub>1</sub>,h<sub>2</sub>,h<sub>3</sub>]=K[r<sub>1</sub>,r<sub>1</sub>,T]               (11)式其中,λ为比例因子,h<sub>1</sub>,h<sub>2</sub>,h<sub>3</sub>为单应性矩阵H的三个列向量,K为3×3内参矩阵,r<sub>1</sub>和r<sub>2</sub>为3×3外部参数中旋转矩阵R的两个旋转向量,T为外部参数中3×1平移矩阵;根据旋转矩阵的单位正交性,存在关系式:<maths num="0005"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>h</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>K</mi><mrow><mo>-</mo><mi>T</mi></mrow></msup><msup><mi>K</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>h</mi><mn>2</mn></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><msubsup><mi>h</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>K</mi><mrow><mo>-</mo><mi>T</mi></mrow></msup><msup><mi>K</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>h</mi><mn>1</mn></msub><mo>=</mo><msubsup><mi>h</mi><mn>2</mn><mi>T</mi></msubsup><msup><mi>K</mi><mrow><mo>-</mo><mi>T</mi></mrow></msup><msup><mi>K</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>h</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></math>]]></maths>                  (12)式内参矩阵K可表示为:<maths num="0006"><![CDATA[<math><mrow><mi>K</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>f</mi><mi>x</mi></msub></mtd><mtd><mi>w</mi></mtd><mtd><msub><mi>u</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>f</mi><mi>y</mi></msub></mtd><mtd><msub><mi>v</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中包含x轴和y轴方向上的等效焦距(f<sub>x</sub>,f<sub>y</sub>),等效图像中心点坐标(u<sub>0</sub>,v<sub>0</sub>)以及横纵坐标夹角系数w共5个未知量,三个单应性矩阵H<sub>1</sub>,H<sub>2</sub>,H<sub>3</sub>分别可求得一组如式(12)的方程组,根据得出的三组方程组,据此求得内参矩阵K;步骤4:标定摄像机外部参数[R,T]:摄像机外部参数[R,T]包4括3×3旋转矩阵R=[r<sub>1</sub>,r<sub>2</sub>,r<sub>3</sub>]和3×1平移矩阵T;其中,r<sub>1</sub>,r<sub>2</sub>,r<sub>3</sub>是旋转矩阵R的三个列向量,根据所述步骤3得到内参矩阵K后根据式(13)可求得外参矩阵R和T:r<sub>1</sub>=δK<sup>-1</sup>h<sub>1</sub>r<sub>2</sub>=δK<sup>-1</sup>h<sub>2</sub>                      (13)式r<sub>3</sub>=r<sub>1</sub>×r<sub>2</sub>T=δK<sup>-1</sup>h<sub>3</sub>其中,δ=1/||K<sup>-1</sup>h<sub>1</sub>||=1/||K<sup>-1</sup>h<sub>2</sub>||为比例因子;步骤5:求取摄像机畸变系数:根据理想成像点与实际成像点的关系,求得畸变系数;所述理想成像点与实际成像点的关系为:<maths num="0007"><![CDATA[<math><mrow><mover><mi>x</mi><mo>^</mo></mover><mo>=</mo><mi>x</mi><mo>+</mo><mi>x</mi><mo>[</mo><msub><mi>j</mi><mn>1</mn></msub><mrow><mo>(</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>j</mi><mn>2</mn></msub><msup><mrow><mo>(</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></math>]]></maths>                             (14)式<maths num="0008"><![CDATA[<math><mrow><mover><mi>y</mi><mo>^</mo></mover><mo>=</mo><mi>y</mi><mo>+</mo><mi>y</mi><mo>[</mo><msub><mi>j</mi><mn>1</mn></msub><mrow><mo>(</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>j</mi><mn>2</mn></msub><msup><mrow><mo>(</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo>)</mo></mrow><mn>2</mn></msup><mo>]</mo></mrow></math>]]></maths>其中,j<sub>1</sub>和j<sub>2</sub>为所求的畸变系数,<img file="FDA00003173027900043.GIF" wi="108" he="53" />是实际检测到的图像点坐标,(x,y)是理想成像点坐标;求解出摄像机内参矩阵K、外参矩阵R和T以及畸变参数j<sub>1</sub>、j<sub>2</sub>后,即完成了摄像机标定。
地址 211103 江苏省南京市江宁区润发路5号