发明名称 一种改进的基于最小二乘法的深度数据拼接方法
摘要 本发明提出了一种改进的基于最小二乘法的深度数据拼接方法,首先需要获取不同坐标系下标记点的三维坐标,利用“点—面—边—点”的分级搜索方法搜索出不同坐标系下的对应标记点,然后采用改进的最小二乘法对两个坐标系下的对应标记点集合进行配准,实现不同坐标系下深度数据的拼接。采用本发明的方法,有效地消除了对应标记点匹配错误,提高匹配的效率以及深度数据配准的鲁棒性。
申请公布号 CN103489169A 申请公布日期 2014.01.01
申请号 CN201310354009.8 申请日期 2013.08.14
申请人 西北工业大学 发明人 卢万崎;常智勇;黄亮;聂寇准;卢津
分类号 G06T5/50(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 陈星
主权项 1.一种改进的基于最小二乘法的深度数据拼接方法,其特征在于:采用以下步骤:步骤1:在被测物体表面粘贴标记点,从两个不同的视角下拍摄物体,且两次拍摄有重叠,重叠部分的标记点至少有3个,分别获取两个视角下标记点的三维坐标,其中视角A拍摄下的标记点三维坐标矩阵为P<sub>A</sub>,视角B拍摄下的标记点三维坐标矩阵为P<sub>B</sub>;步骤2:从步骤1得到的两个视角拍摄下的标记点三维坐标矩阵P<sub>A</sub>=[p<sub>1</sub>,p<sub>2</sub>,...p<sub>i</sub>,...,p<sub>n</sub>]<sup>T</sup>,P<sub>B</sub>=[q<sub>1</sub>,q<sub>2</sub>,...q<sub>j</sub>,...,q<sub>m</sub>]<sup>T</sup>中找出在基准坐标系下的相同点,其中矩阵P<sub>A</sub>中的元素p<sub>i</sub>={x<sub>pi</sub>,y<sub>pi</sub>,z<sub>pi</sub>},{x<sub>pi</sub>,y<sub>pi</sub>,z<sub>pi</sub>}为点p<sub>i</sub>在视角A坐标系下的坐标,矩阵P<sub>B</sub>中的元素q<sub>j</sub>={x<sub>qj</sub>,y<sub>qj</sub>,z<sub>qj</sub>},{x<sub>qj</sub>,y<sub>qj</sub>,z<sub>qj</sub>}为点q<sub>j</sub>在视角B坐标系下的坐标:根据矩阵P<sub>A</sub>构建距离矩阵dA,其中<img file="FDA00003664861700011.GIF" wi="815" he="315" />矩阵dA的元素dai<sub>j</sub>表示矩阵P<sub>A</sub>中的元素p<sub>i</sub>和p<sub>j</sub>的距离;根据矩阵P<sub>B</sub>构建距离矩阵dB,其中<img file="FDA00003664861700012.GIF" wi="840" he="316" />矩阵dB的元素dbi<sub>j</sub>表示矩阵P<sub>B</sub>中的元素q<sub>i</sub>和q<sub>j</sub>的距离;将矩阵dA的每一行与矩阵dB中每一行进行对比,得到相比较的两行中相同元素的个数,进一步得到相同元素最多的两行da<sub>r</sub>与db<sub>s</sub>,则表示矩阵P<sub>A</sub>的第r点和矩阵P<sub>B</sub>的第s点为基准坐标系下的同一个点,即第一组对应点;所述相同元素指两个元素的元素值之差小于三维坐标提取精度;步骤3:将矩阵P<sub>A</sub>修改:将P<sub>A</sub>中的第r行提到第1行,将P<sub>A</sub>中的原第1行至原第r-1行降为第2行至第r行,得到新的标记点坐标集合矩阵P<sub>A1</sub>;将P<sub>A1</sub>中第一行表示的点与P<sub>A1</sub>中其他任意两行表示的点构成三角形,并得到三角形面积,形成面积矩阵S<sub>A</sub>,其中<img file="FDA00003664861700021.GIF" wi="846" he="326" />元素sa<sub>ij</sub>表示由P<sub>A1</sub>中第一行表示的点与P<sub>A1</sub>中第i+1行和第j+1行表示的点构成的三角形面积;将S<sub>A</sub>化为上三角矩阵T<sub>A</sub>;将矩阵P<sub>B</sub>修改:将P<sub>B</sub>中的第s行提到第1行,将P<sub>B</sub>中的原第1行至原第s-1行降为第2行至第s行,得到新的标记点坐标集合矩阵P<sub>B1</sub>,将P<sub>B1</sub>中第一行表示的点与P<sub>B1</sub>中其他任意两行表示的点构成三角形,并得到三角形面积,形成面积矩阵S<sub>B</sub>,其中<img file="FDA00003664861700022.GIF" wi="873" he="328" />sb<sub>ij</sub>表示由P<sub>B1</sub>中第一行表示的点与P<sub>B1</sub>中第i+1行和第j+1行表示的点构成的三角形面积;将S<sub>B</sub>化为上三角矩阵T<sub>B</sub>;步骤4:将T<sub>A</sub>中的每一个非零元素与T<sub>B</sub>中的每一个非零元素作比较,其中若T<sub>A</sub>中元素T<sub>A</sub>(i,j)所代表的三角形与T<sub>B</sub>中元素T<sub>B</sub>(r,t)所代表的三角形面积兼容且边长兼容,则将矩阵P<sub>A1</sub>中的第i+1行和第j+1行对应的点放入P<sub>A1</sub>的对应标记点集合pA1中,将矩阵P<sub>B1</sub>中的第r+1行和第t+1行对应的点放入P<sub>B1</sub>的对应标记点集合pB1中,其中面积兼容与边长兼容判断方法如下:设定面积相对误差限ε<sub>s</sub>,若满足<img file="FDA00003664861700023.GIF" wi="572" he="162" />则说明T<sub>A</sub>(i,j)所代表的三角形与T<sub>B</sub>(r,t)所代表的三角形面积兼容;T<sub>A</sub>(i,j)所代表的三角形的两条过第一组对应点的边为L<sub>A</sub>(i,1)、L<sub>A</sub>(j,1),T<sub>B</sub>(r,t)所代表的三角形的两条过第一组对应点的边为L<sub>B</sub>(r,1)、L<sub>B</sub>(t,1),若<maths num="0001"><![CDATA[<math><mrow><mo>-</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub><mo>&lt;</mo><mfrac><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>L</mi><mi>B</mi></msub><mrow><mo>(</mo><mi>r</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&lt;</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub></mrow></math>]]></maths>和<maths num="0002"><![CDATA[<math><mrow><mo>-</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub><mo>&lt;</mo><mfrac><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>L</mi><mi>B</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&lt;</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub></mrow></math>]]></maths>至少一个成立,且<maths num="0003"><![CDATA[<math><mrow><mo>-</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub><mo>&lt;</mo><mfrac><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>L</mi><mi>B</mi></msub><mrow><mo>(</mo><mi>r</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&lt;</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub></mrow></math>]]></maths>和<maths num="0004"><![CDATA[<math><mrow><mo>-</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub><mo>&lt;</mo><mfrac><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>L</mi><mi>B</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>L</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>&lt;</mo><msub><mi>&epsiv;</mi><mi>l</mi></msub></mrow></math>]]></maths>至少一个成立,则表示T<sub>A</sub>(i,j)所代表的三角形与T<sub>B</sub>(r,t)所代表的三角形边长兼容,其中ε<sub>l</sub>表示长度相对误差限;步骤5:通过改进的最小二乘法求出在两个视角下对应标记点对之间的转换矩阵R和T:计算矩阵P<sub>A1</sub>的对应标记点集合pA1={p<sub>i</sub>|p<sub>i</sub>∈pA1,i=1,2,…N}的质心C<sub>p</sub>和矩阵P<sub>B1</sub>的对应标记点集合pB1={q<sub>i</sub>|q<sub>i</sub>∈pB1,i=1,2,…N}的质心C<sub>q</sub>、;将pA1和pB1中的对应标记点做相对于各自质心的平移<maths num="0005"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>=</mo><msub><mi>p</mi><mi>i</mi></msub><mo>-</mo><msub><mi>C</mi><mi>p</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&beta;</mi><mi>i</mi></msub><mo>=</mo><msub><mi>q</mi><mi>i</mi></msub><mo>-</mo><msub><mi>C</mi><mi>q</mi></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>令C<sub>1</sub>=[α<sub>1</sub>,α<sub>2</sub>,…α<sub>i</sub>,…α<sub>N</sub>]<sup>T</sup>,C<sub>2</sub>=[β<sub>1</sub>,β<sub>2</sub>,…β<sub>i</sub>,…β<sub>N</sub>]<sup>T</sup>,求解方程C<sub>1</sub>·R=C<sub>2</sub>的极小最小二乘解,且得到的<img file="FDA00003664861700032.GIF" wi="203" he="68" />满足目标函数<img file="FDA00003664861700033.GIF" wi="362" he="140" />最小化,并得到平移向量T=C<sub>q</sub>-RC<sub>p</sub>。
地址 710072 陕西省西安市友谊西路127号