发明名称 基于SIFT的双目视觉沥青路面微观纹理三维图像重构方法
摘要 本发明公开了基于SIFT的双目视觉沥青路面微观纹理三维图像重构方法,双目视觉系统中的计算机控制左相机与右相机同时捕获到含有沥青路面信息的图像对;通过基于SIFT算法的双目视觉立体匹配算法实现特征点匹配,进一步实现区域点立体匹配;通过双目视觉沥青路面微观纹理三维图像重构模型得到沥青路面微观纹理的三维坐标,形成表面点三维坐标点集合,实现沥青路面微观纹理三维图像重构。本发明为沥青路面力学和流体学有限元分析提供真实的沥青路面微观纹理三维图像重构模型,为后续研究奠定基础。
申请公布号 CN104361627A 申请公布日期 2015.02.18
申请号 CN201410623932.1 申请日期 2014.11.07
申请人 武汉科技大学 发明人 周兴林;冉茂平;严园;邹兰林;谢旭飞
分类号 G06T17/00(2006.01)I;G06T15/04(2011.01)I 主分类号 G06T17/00(2006.01)I
代理机构 北京科亿知识产权代理事务所(普通合伙) 11350 代理人 汤东凤
主权项 基于SIFT的双目视觉沥青路面微观纹理三维图像重构方法,其特征在于:按照以下步骤进行:步骤1:以测量平台中心为原点,建立世界坐标系,左相机与右相机,规格一样,两相机平行、镜头垂直的安装在沥青路面上方,计算机控制左相机与右相机同时捕获到含有沥青路面信息的图像对,并构建双目视觉三维重构模型式:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>31</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>11</mn><mi>l</mi></msubsup></mtd><mtd><msub><mi>x</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>32</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>12</mn><mi>l</mi></msubsup></mtd><mtd><msub><mi>x</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>33</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>13</mn><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><msub><mi>y</mi><mn>1</mn></msub><msubsup><mi>m</mi><mn>31</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>21</mn><mi>l</mi></msubsup></mtd><mtd><msub><mi>y</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>32</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>22</mn><mi>l</mi></msubsup></mtd><mtd><msub><mi>v</mi><mn>1</mn></msub><msubsup><mi>m</mi><mn>33</mn><mi>l</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>23</mn><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>31</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>11</mn><mi>r</mi></msubsup></mtd><mtd><msub><mi>x</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>32</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>12</mn><mi>r</mi></msubsup></mtd><mtd><msub><mi>x</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>33</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>13</mn><mi>r</mi></msubsup></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>31</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>21</mn><mi>r</mi></msubsup></mtd><mtd><msub><mi>y</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>32</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>12</mn><mi>r</mi></msubsup></mtd><mtd><msub><mi>y</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>33</mn><mi>r</mi></msubsup><mo>-</mo><msubsup><mi>m</mi><mn>23</mn><mi>r</mi></msubsup></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>X</mi></mtd></mtr><mtr><mtd><mi>Y</mi></mtd></mtr><mtr><mtd><mi>Z</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mtable><mtr><mtd><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>m</mi><mn>14</mn><mi>l</mi></msubsup><mo>-</mo><msub><mi>x</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>34</mn><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>m</mi><mn>24</mn><mi>l</mi></msubsup><mo>-</mo><msub><mi>y</mi><mi>l</mi></msub><msubsup><mi>m</mi><mn>34</mn><mi>l</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>m</mi><mn>14</mn><mi>r</mi></msubsup><mo>-</mo><msub><mi>x</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>34</mn><mi>r</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>m</mi><mn>24</mn><mi>r</mi></msubsup><mo>-</mo><msub><mi>y</mi><mi>r</mi></msub><msubsup><mi>m</mi><mn>34</mn><mi>r</mi></msubsup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></mtd></mtr></mtable></mrow>]]></math><img file="FDA0000603433110000011.GIF" wi="1195" he="279" /></maths>步骤2:检测尺度空间极值点,初步确定关键点位置和所在尺度;步骤3:精确确定特征点位置;对检测到的尺度空间极值点进行三维二次函数拟合以精确确定特征点的位置和尺度;步骤4:确定特征点的主方向;利用特征点邻域像素的梯度方向分布特性为每个特征点指定方向参数;步骤5:生成SIFT特征描述符:首先将坐标轴顺时针旋转为特征点主方向,以保证旋转不变性,再以特征点为中心取8*8的窗口,然后在每4*4的窗口上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,形成一个种子点,一个特征点由2*2共4个种子点组成,每个种子点有8个方向向量信息,产生2*2*8共32个数据的SIFT特征向量即SIFT特征描述符,所需的图像窗口为8*8;步骤6:以两个特征点描述符之间的欧式距离作为特征点匹配的相似度准则,先采用K‑D树进行优先搜索来查找每个特征点的两个近似最近邻特征点,如果找出特征点p的欧式距离最近和次近的两个邻特征点q'和q″,然后计算p与q',p和q″两组描述符之间的欧式距离的比值r,如果r小于规定阀值T,阀值T的取值范围为0.4~0.6,则视匹配成功,接受点(p,q')为图像对中的一对匹配点,否则匹配失败;步骤7:对于左图像上特征点a<sub>l</sub>(x<sub>l</sub>,y<sub>l</sub>)和与之匹配右图像上特征点a<sub>r</sub>(x<sub>r</sub>,y<sub>r</sub>),用单应性矩阵H表示其对应匹配关系如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>l</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>l</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mi>H</mi><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><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><msub><mi>h</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><msub><mi>h</mi><mn>33</mn></msub></mtd></mtr></mtable></mfenced><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></mrow>]]></math><img file="FDA0000603433110000021.GIF" wi="877" he="272" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>H</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mn>11</mn></msub></mtd><mtd><msub><mi>h</mi><mn>12</mn></msub></mtd><mtd><msub><mi>h</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>21</mn></msub></mtd><mtd><msub><mi>h</mi><mn>22</mn></msub></mtd><mtd><msub><mi>h</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>31</mn></msub></mtd><mtd><msub><mi>h</mi><mn>32</mn></msub></mtd><mtd><msub><mi>h</mi><mn>33</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>h</mi><mn>1</mn><mi>T</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>h</mi><mn>2</mn><mi>T</mi></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>h</mi><mn>3</mn><mi>T</mi></msubsup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000603433110000022.GIF" wi="609" he="247" /></maths>其中<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>h</mi><mi>i</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1,2,3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000603433110000023.GIF" wi="257" he="82" /></maths>为向量(h<sub>i1</sub>,h<sub>i2</sub>,h<sub>i3</sub>)对于每一对特征点可以得到2个线性方程组:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>B</mi><mo>&times;</mo><msup><mi>h</mi><mi>T</mi></msup><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>l</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>l</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000603433110000024.GIF" wi="284" he="165" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>l</mi></msub></mtd><mtd><msub><mi>y</mi><mi>l</mi></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mrow><mo>-</mo><mi>x</mi></mrow><mi>r</mi></msub><msub><mi>x</mi><mi>l</mi></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>y</mi></mrow><mi>r</mi></msub><msub><mi>x</mi><mi>l</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mi>r</mi></msub></mtd><mtd><msub><mi>y</mi><mi>r</mi></msub></mtd><mtd><mn>1</mn></mtd><mtd><msub><mrow><mo>-</mo><mi>x</mi></mrow><mi>r</mi></msub><msub><mi>y</mi><mi>l</mi></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>y</mi></mrow><mi>r</mi></msub><msub><mi>y</mi><mi>l</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000603433110000025.GIF" wi="917" he="158" /></maths>h=[h<sub>11</sub> h<sub>12</sub> h<sub>13</sub> h<sub>21</sub> h<sub>22</sub> h<sub>23</sub> h<sub>31</sub> h<sub>32</sub>],左图像上每一点,其在右图像上对应匹配点通过单应性矩阵H求解;步骤8:完成了立体匹配后,采用最小二乘法求解步骤1中构建的双目视觉三维重构模型,得到沥青路面表面上任意一点P(X,Y,Z)的三维坐标,形成表面点三维坐标点集合,从而恢复出三维微观纹理。
地址 430081 湖北省武汉市和平大道947号