发明名称 基于激光扫描测距仪与多相机融合的透视成像方法
摘要 本发明涉及一种基于激光扫描测距仪与多相机融合的透视成像方法,摒弃了传统方法只采用图像传感器的方式,在使用图像传感器获取图像信息的基础上引入了激光扫描测距仪获取场景的点云数据,利用点云数据获取场景的深度信息,根据深度信息进行聚焦深度的选择,减少时间复杂度。同时本发明利用场景的深度信息,可以对获得的投影点进行筛选,提高透视成像结果的清晰度。由于本发明采用全景相机获取场景的图像信息,同时获取多视角的图像,因此能够获取多视角透视成像结果。本发明在自建数据库上进行测试结果,测试结果显示本方法能够快速有效的得到更清晰的多视角透视成像结果。
申请公布号 CN104156972B 申请公布日期 2017.01.25
申请号 CN201410422858.7 申请日期 2014.08.25
申请人 西北工业大学 发明人 杨涛;张艳宁;马文广;王斯丙;姚博伟
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种基于激光扫描测距仪与多相机融合的透视成像方法,其特征在于步骤如下:步骤1:确定以激光扫描测距仪载台中心为世界坐标系原点的世界坐标系,测量激光扫描测距仪A、B和C的二维扫描坐标系的原点到世界坐标系的距离和偏转角度,计算激光扫描测距仪扫描获取的二维点云到世界坐标系的旋转矩阵和平移矩阵,完成激光扫描测距仪的标定;步骤2:对激光扫描测距仪A在t时刻采集的目标点云集P<sub>t</sub>中每个点的领域进行高斯分布统计分析,删除不符合高斯分布的离群点,获得目标点集P'<sub>t</sub>;使用KD‑tree方法对激光扫描测距仪A在t‑1时刻采集的点集P<sub>t‑1</sub>构建拓扑结构,利用点集P'<sub>t</sub>查找点集P<sub>t‑1</sub>中对应的临近点,获得参考点集P<sub>t‑1</sub>';使用ICP算法获取目标点集P'<sub>t</sub>到参考点集P<sub>t‑1</sub>'的2x2的旋转矩阵R<sub>t</sub>'和2x1的平移矩阵T<sub>t</sub>',计算点集P<sub>t</sub>投影到全局世界坐标系的旋转矩阵R<sub>t</sub>=R<sub>t‑1</sub>gR′<sub>t</sub>,平移矩阵T<sub>t</sub>=R<sub>t</sub>gT′<sub>t</sub>+T<sub>t‑1</sub>,其中R<sub>t‑1</sub>、T<sub>t‑1</sub>分别为点集P<sub>t‑1</sub>'到全局世界坐标系的旋转矩阵和平移矩阵,将点集P<sub>t</sub>投影到全局世界坐标系中,获取二维地图;步骤3:利用张氏标定法对第0‑5号相机的镜头进行内参标定,获取内参矩阵K<sub>0</sub>,K<sub>1</sub>,K<sub>2</sub>,K<sub>3</sub>,K<sub>4</sub>,K<sub>5</sub>;步骤4:利用黑白格标定板方法,计算标定平面参数N,采用标准线性最小二乘法计算矩阵H:<maths num="0001"><math><![CDATA[<mrow><mi>N</mi><mo>&CenterDot;</mo><mi>H</mi><mover><msup><mi>P</mi><mi>l</mi></msup><mo>^</mo></mover><mo>=</mo><mo>|</mo><mo>|</mo><mi>N</mi><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0001040828980000011.GIF" wi="327" he="88" /></maths>通过H计算第0号镜头相对于激光扫描测距仪A的标准正交方向矩阵<img file="FDA0001040828980000012.GIF" wi="67" he="71" />以及位置向量<img file="FDA0001040828980000013.GIF" wi="91" he="70" />利用非线性优化算法进一步优化方向矩阵<img file="FDA0001040828980000014.GIF" wi="66" he="71" />以及位置向量<img file="FDA0001040828980000015.GIF" wi="91" he="63" />同样方法得到第1号镜头与激光扫描测距仪B的标准正交方向矩阵<img file="FDA0001040828980000016.GIF" wi="63" he="62" />以及位置向量<img file="FDA0001040828980000017.GIF" wi="90" he="62" />第4号镜头与激光扫描测距仪C的标准正交方向矩阵<img file="FDA0001040828980000018.GIF" wi="67" he="62" />以及位置向量<img file="FDA0001040828980000019.GIF" wi="93" he="62" /><img file="FDA00010408289800000110.GIF" wi="54" he="77" />为激光扫描测距仪获取的点云坐标P<sup>l</sup>的简化,<img file="FDA00010408289800000111.GIF" wi="347" he="89" />步骤5:根据二维地图构建过程中所获取的点集P<sub>t</sub><sup>A</sup>到全局世界坐标系的旋转矩阵R<sub>t</sub>以及平移矩阵T<sub>t</sub>,所述的P<sub>t</sub><sup>A</sup>为激光扫描测距仪A在t时刻获取激光点云集合,则在t时刻相机视角对应的位姿参数为:<maths num="0002"><math><![CDATA[<mrow><msub><mi>R</mi><mi>c</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>R</mi><mi>t</mi></msub></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>,</mo><msub><mi>T</mi><mi>c</mi></msub><mo>=</mo><msup><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>T</mi><mi>t</mi></msub></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0001040828980000021.GIF" wi="566" he="143" /></maths>步骤6:利用二维地图构建过程中使用的ICP算法,获取激光扫描测距仪B或C在t时刻采集的点集P<sub>ti</sub><sup>s</sup>(i=1,2,L,n.s=B,C)到上一组点集P<sub>t0</sub><sup>s</sup>(s=B,C)所在坐标系的旋转矩阵R<sub>ti0</sub><sup>s</sup>和T<sub>ti0</sub><sup>s</sup>,计算变换后的点集<img file="FDA0001040828980000022.GIF" wi="59" he="94" />及<img file="FDA0001040828980000023.GIF" wi="91" he="95" /><maths num="0003"><math><![CDATA[<mrow><mover><msubsup><mi>P</mi><mrow><mi>t</mi><mi>i</mi></mrow><mi>s</mi></msubsup><mo>^</mo></mover><mo>=</mo><msup><msub><mi>R</mi><mrow><mi>t</mi><mi>i</mi><mn>0</mn></mrow></msub><mi>s</mi></msup><mo>&CenterDot;</mo><msup><msub><mi>P</mi><mrow><mi>t</mi><mi>i</mi></mrow></msub><mi>s</mi></msup><mo>+</mo><msup><msub><mi>T</mi><mrow><mi>t</mi><mi>i</mi><mn>0</mn></mrow></msub><mi>s</mi></msup><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mi>L</mi><mo>,</mo><mi>n</mi><mo>.</mo><mi>s</mi><mo>=</mo><mi>B</mi><mo>,</mo><mi>C</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001040828980000024.GIF" wi="931" he="91" /></maths>计算<img file="FDA0001040828980000025.GIF" wi="67" he="95" />及<img file="FDA0001040828980000026.GIF" wi="61" he="96" />到第1号镜头及第4号镜头的相机坐标系中的对应点集合:<maths num="0004"><math><![CDATA[<mrow><mover><msubsup><mi>P</mi><mrow><mi>t</mi><mi>i</mi></mrow><mi>B</mi></msubsup><mo>^</mo></mover><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msubsup><mi>R</mi><mrow><mi>c</mi><mn>1</mn></mrow><mi>l</mi></msubsup></mtd><mtd><msubsup><mi>T</mi><mrow><mi>c</mi><mn>1</mn></mrow><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>P</mi><mrow><mi>c</mi><mn>1</mn></mrow></msup></mrow>]]></math><img file="FDA0001040828980000027.GIF" wi="388" he="151" /></maths><maths num="0005"><math><![CDATA[<mrow><mover><msubsup><mi>P</mi><mrow><mi>t</mi><mi>i</mi></mrow><mi>C</mi></msubsup><mo>^</mo></mover><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msubsup><mi>R</mi><mrow><mi>c</mi><mn>4</mn></mrow><mi>l</mi></msubsup></mtd><mtd><msubsup><mi>T</mi><mrow><mi>c</mi><mn>4</mn></mrow><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>P</mi><mrow><mi>c</mi><mn>4</mn></mrow></msup></mrow>]]></math><img file="FDA0001040828980000028.GIF" wi="406" he="150" /></maths>根据小孔成像模型P<sub>img</sub>=KP<sub>c</sub>获取点集P<sub>t1</sub><sup>B</sup>,P<sub>t2</sub><sup>B</sup>,L,P<sub>tn</sub><sup>B</sup>以及P<sub>t1</sub><sup>C</sup>,P<sub>t2</sub><sup>C</sup>,L,P<sub>tn</sub><sup>C</sup>在彩色图像上的对应像素坐标,K表示相机内参标定获取的相机内参矩阵;从而得到点云数据的彩色纹理信息,实现点云数据与图像数据的融合,获取图像数据中部分像素所对应的深度信息;步骤7:计算聚焦平面Π<sub>des</sub>上的像素点p<sub>des</sub>(x,y)在参考视角坐标系下对应的3维空间点p<sub>ref</sub>为:p<sub>ref</sub>=p<sub>des</sub>gstep+ws其中step表示在参考视角坐标系下Π<sub>des</sub>中一个像素的大小,ws表示Π<sub>des</sub>在参考视角坐标系下的起始点,所述的参考视角为每个相机采集的第一帧图像;step可以由以下公式求取:<maths num="0006"><math><![CDATA[<mrow><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi><mi>x</mi></mtd></mtr><mtr><mtd><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi><mi>y</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mo>&PlusMinus;</mo><mn>0.5</mn><mo>*</mo><mrow><mo>(</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>w</mi></mtd></mtr><mtr><mtd><mi>h</mi></mtd></mtr></mtable></mfenced><mo>/</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>f</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>y</mi></msub></mtd></mtr></mtable></mfenced><mo>)</mo></mrow><mo>*</mo><mi>d</mi><mi>e</mi><mi>p</mi></mrow>]]></math><img file="FDA0001040828980000031.GIF" wi="830" he="150" /></maths>其中w和h分别表示合成图像的宽和高,f<sub>x</sub>和f<sub>y</sub>表示相机的焦距,dep表示聚焦平面的深度,计算p<sub>ref</sub>在世界坐标系下的对应点p<sub>w</sub>:p<sub>w</sub>=R<sub>ref</sub>gp<sub>ref</sub>+T<sub>ref</sub>其中R<sub>ref</sub>表示参考视角的旋转矩阵,T<sub>ref</sub>表示参考视角的平移矩阵,通过对p<sub>w</sub>利用针孔相机模型进行投影变换,得到像素点p<sub>des</sub>(x,y)在每一个视角下对应的点p<sub>i</sub>',并组成一个点集合表示为P'={p<sub>1</sub>',p<sub>2</sub>',L,p<sub>n</sub>'}:<img file="FDA0001040828980000032.GIF" wi="556" he="147" />其中[R<sub>i</sub>|T<sub>i</sub>]为第i个视角的旋转矩阵和平移矩阵,如果p<sub>i</sub>'在成像平面Π<sub>i</sub>上,则可以获得这个点的RGB值,记为c<sub>j</sub>,以及深度值d<sub>j</sub>,同样方法获取所有投影点的像素值,组成颜色值集合C<sub>des</sub>={c<sub>1</sub>,c<sub>2</sub>,L,c<sub>n</sub>}和深度值集合D<sub>des</sub>={d<sub>1</sub>,d<sub>2</sub>,L,d<sub>n</sub>},根据深度值信息,去除不合理的投影点,采用求取平均值的方式,获取点p<sub>des</sub>(x,y)的颜色值,得到遮挡目标的透视成像。
地址 710072 陕西省西安市友谊西路127号