发明名称 一种基于单应性变换矩阵的分段空间对准方法
摘要 本发明公开了一种基于单应性变换矩阵的分段空间对准方法,通过对较大的标定距离进行分段,针对每一分段分别求得摄像机和毫米波雷达坐标系之间的单应性变换矩阵,避免了现有技术中由于用同一个单应性变换矩阵表达两个传感器之间的坐标关系引起的误差,从而能够实现对较大标定距离目标探测的空间对准;通过推导表征摄像机和毫米波雷达的不同坐标系之间的关系,最后采用单应变换矩阵N表征两者的坐标系关系,用两个传感器分别获得的目标数据再解得单应变换矩阵N,避免了求解缩放比例因子、焦距等构成的摄像机内部参数矩阵以及旋转矩阵、平移向量构成的摄像机外部参数矩阵,大大简化了运算过程,节省运算时间。
申请公布号 CN103065323B 申请公布日期 2015.07.15
申请号 CN201310013045.8 申请日期 2013.01.14
申请人 北京理工大学 发明人 付梦印;靳璐;杨毅;宗民
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 付雷杰;李爱英
主权项 一种基于单应性变换矩阵的分段空间对准方法,其特征在于,包括如下步骤:步骤1:建立摄像机坐标系与毫米波雷达坐标系之间的基于单应性变换矩阵的关系:定义摄像机的图像坐标系O′uv,其中O′位于摄像机成像平面的左上角;u轴与摄像机扫描行方向平行;v轴垂直于摄像机扫描行方向;定义O″″ρθ为毫米波雷达极坐标系,O″″为毫米波雷达表面的中心;ρ为目标与毫米波雷达间的直线距离;θ为目标偏离毫米波雷达扫描平面中心线的角度,则摄像机的图像坐标系O′uv与毫米波雷达极坐标系O″″ρθ之间关系表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>u</mi></mtd></mtr><mtr><mtd><mi>v</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mi>N</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&rho;</mi><mi>sin</mi><mi>&theta;</mi></mtd></mtr><mtr><mtd><mi>&rho;</mi><mi>cos</mi><mi>&theta;</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000635386860000011.GIF" wi="715" he="234" /></maths>其中,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>N</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>n</mi><mn>11</mn></msub></mtd><mtd><msub><mi>n</mi><mn>12</mn></msub></mtd><mtd><msub><mi>n</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>n</mi><mn>21</mn></msub></mtd><mtd><msub><mi>n</mi><mn>22</mn></msub></mtd><mtd><msub><mi>n</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>n</mi><mn>31</mn></msub></mtd><mtd><msub><mi>n</mi><mn>32</mn></msub></mtd><mtd><msub><mi>n</mi><mn>33</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000635386860000012.GIF" wi="466" he="234" /></maths>定义为单应性变换矩阵;步骤2:确定无人车与标定目标之间的合适的标定距离:定义O″″X<sub>r</sub>Y<sub>r</sub>Z<sub>r</sub>表示毫米波雷达直角坐标系,O″″为毫米波雷达表面的中心;Y<sub>r</sub>轴为毫米波雷达扫描平面中心线,垂直于毫米波雷达表面,指向正前方;X<sub>r</sub>轴与Y<sub>r</sub>垂直,指向右侧;Z<sub>r</sub>轴垂直于X<sub>r</sub>、Y<sub>r</sub>确定的平面,指向上方;则毫米波雷达直角坐标系和毫米波雷达极坐标系之间的关系为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>X</mi><mi>r</mi></msub></mtd></mtr><mtr><mtd><msub><mi>Y</mi><mi>r</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&rho;</mi><mi>sin</mi><mi>&theta;</mi></mtd></mtr><mtr><mtd><mi>&rho;</mi><mi>cos</mi><mi>&theta;</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><msup><mn>7</mn><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000635386860000013.GIF" wi="977" he="236" /></maths>标定目标与无人车的距离在毫米波雷达直角坐标系纵轴Y<sub>r</sub>上的投影称为标定距离;在毫米波雷达的探测范围内,根据无人车的最大运动速度,确定合适的标定距离L;将标定距离L由近到远分为近距范围L1和远距范围L2,在近距范围L1内,将其均分成m1段,在远距范围L2内,将其均分成m2段,且保证L1/m1小于L2/m2;步骤3:通过无人车中装载的摄像机和毫米波雷达分别采集标定目标的图像和数据信息:将标定目标分别放置在步骤2中将标定距离L分成的不同分段处,毫米波雷达和摄像机分别对上述m1+m2段距离处的目标进行探测,在探测时,针对每段距离处的目标,将目标沿Y<sub>r</sub>轴方向均分成m行,再将每一行沿X<sub>r</sub>轴方向均分成h小段,控制毫米波雷达获取每个小段的坐标数据<img file="FDA0000635386860000021.GIF" wi="259" he="83" />控制摄像机拍摄每小段的图像数据f<sub>k</sub><sup>M</sup>,其中M=1,...,(m1+m2),k=1,2,...,mh;步骤4:针对步骤3中摄像机获得的每一个分段内每一个小段的图像数据f<sub>k</sub><sup>M</sup>,分别计算图像的质心坐标<img file="FDA0000635386860000023.GIF" wi="233" he="85" />步骤5:求解表示毫米波雷达坐标系与摄像机坐标系之间关系的单应性空间变换矩阵:针对整个标定距离L中分出的每一段距离获得的所有小段对应的毫米波雷达坐标数据<img file="FDA0000635386860000024.GIF" wi="208" he="86" />和图像的质心坐标<img file="FDA0000635386860000025.GIF" wi="182" he="82" />组成每个分段内对应的数据集,将每个数据集分别代入到式(7)和(7)′中,得到:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>u</mi><mn>1</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>u</mi><mi>k</mi><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>X</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>n</mi><mn>11</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>12</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>13</mn><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000635386860000026.GIF" wi="877" he="268" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>v</mi><mn>1</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>v</mi><mi>k</mi><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>X</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>n</mi><mn>21</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>22</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>23</mn><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000635386860000031.GIF" wi="876" he="257" /></maths>和<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>1</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>X</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>n</mi><mn>31</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>32</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>33</mn><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000635386860000032.GIF" wi="854" he="263" /></maths>定义<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msup><mi>P</mi><mi>M</mi></msup><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>X</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mrow><mi>r</mi><mn>1</mn></mrow><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>X</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>Y</mi><mi>rk</mi><mi>M</mi></msubsup></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>,</mo><msup><mi>N</mi><mi>M</mi></msup><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>n</mi><mn>11</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>21</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>31</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>12</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>22</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>32</mn><mi>M</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>n</mi><mn>13</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>23</mn><mi>M</mi></msubsup></mtd><mtd><msubsup><mi>n</mi><mn>33</mn><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo><msup><mi>U</mi><mi>M</mi></msup><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>u</mi><mn>1</mn><mi>M</mi></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>u</mi><mi>k</mi><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo><msup><mi>V</mi><mi>M</mi></msup><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>v</mi><mn>1</mn><mi>M</mi></msubsup></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>v</mi><mi>k</mi><mi>M</mi></msubsup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000635386860000033.GIF" wi="1903" he="268" /></maths>I<sub>k×1</sub>=[1 … 1]<sup>Τ</sup>,则单应性空间变换矩阵N<sup>M</sup>的最小二乘解表示为:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msup><mi>N</mi><mi>M</mi></msup><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>N</mi><mn>1</mn><msup><mi>M</mi><mi>T</mi></msup></msubsup></mtd><mtd><msubsup><mi>N</mi><mn>2</mn><msup><mi>M</mi><mi>T</mi></msup></msubsup></mtd><mtd><msubsup><mi>N</mi><mn>3</mn><msup><mi>M</mi><mi>T</mi></msup></msubsup></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000635386860000034.GIF" wi="624" he="118" /></maths>其中,<img file="FDA0000635386860000035.GIF" wi="234" he="86" />和<img file="FDA0000635386860000036.GIF" wi="82" he="85" />分别为:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msubsup><mi>N</mi><mn>1</mn><mi>M</mi></msubsup><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>P</mi><mi>M</mi></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><msup><mi>U</mi><mi>M</mi></msup><mo>,</mo></mrow>]]></math><img file="FDA0000635386860000037.GIF" wi="560" he="86" /></maths><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msubsup><mi>N</mi><mn>2</mn><mi>M</mi></msubsup><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>P</mi><mi>M</mi></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><msup><mi>V</mi><mi>M</mi></msup></mrow>]]></math><img file="FDA0000635386860000038.GIF" wi="517" he="84" /></maths>和<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>N</mi><mn>3</mn></msub><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>P</mi><mi>M</mi></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>P</mi><msup><mi>M</mi><mi>T</mi></msup></msup><msub><mi>I</mi><mrow><mi>k</mi><mo>&times;</mo><mn>1</mn></mrow></msub><mo>;</mo></mrow>]]></math><img file="FDA0000635386860000039.GIF" wi="545" he="86" /></maths>步骤6:实现视觉传感器和毫米波雷达的空间对准:根据毫米波雷达扫描的标定目标的实际距离,判断该距离在步骤2中哪个分段内,在步骤5计算得到的m1+m2个结果中查找该距离对应的单应性空间变换矩阵,实现空间对准。
地址 100081 北京市海淀区中关村南大街5号