发明名称 一种提高稀疏对应点图像匹配精度及立体图像校正的方法
摘要 本发明公开了一种提高稀疏对应点图像匹配精度及立体图像校正的方法,包括以下步骤:步骤1、提高稀疏对应点的匹配精度:对局部图像方块进行放大,利用块状SSD匹配方法找出最小的SSD值和对应的中心点坐标;步骤2、立体图像校正:对应点坐标预处理,利用SVD方法求解Hg矩阵的后6个系数并填入前3个系数,对Hg矩阵进行反预处理求得H矩阵,再利用H矩阵将其中一图校正成与另一图只存在水平视差。具有提高稀疏对应点图像匹配精度同时不会明显增加搜索时间,立体图像校正方法实施流程简单,无需标定且对应点不要求在同一平面上以及减少了稠密对应点匹配过程中的搜索时间等优点。
申请公布号 CN103491361B 申请公布日期 2015.09.02
申请号 CN201310460007.7 申请日期 2013.09.30
申请人 华南理工大学 发明人 杜娟;梁睿;冯颖;胡跃明
分类号 H04N13/00(2006.01)I;H04N13/02(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 广州市华学知识产权代理有限公司 44245 代理人 蔡茂略
主权项 一种提高稀疏对应点图像匹配精度及立体图像校正的方法,其特征在于,包括以下步骤:步骤1、用平行光轴结构的双目摄像头拍摄至少两张图像;步骤2、利用自动特征点检测和匹配算法或人工选取至少5组稀疏对应点,记录对应点坐标;步骤3、提高稀疏对应点的匹配精度:对局部图像方块进行放大,利用块状SSD匹配方法找出最小的SSD值和对应的中心点坐标;步骤4、立体图像校正:对应点坐标预处理,利用SVD方法求解H<sub>g</sub>矩阵的后6个系数并填入前3个系数,对H<sub>g</sub>矩阵进行反预处理求得H矩阵,再利用H矩阵将其中一图校正成与另一图只存在水平视差;所述步骤3包括以下步骤:A、局部图像方块的放大:利用双线性插值将左图和右图以对应点为中心的图像方块的亮度或颜色值进行图像的局部放大;B、块状SSD匹配:将插值后的右图方块,在插值后的左图里遍历SSD匹配,求得SSD的最小值,并记录中心点坐标;所述步骤4包括以下步骤:(1)对应点坐标预处理;(2)利用SVD方法求解H<sub>g</sub>矩阵的后6个系数并填入前3个系数;(3)对H<sub>g</sub>矩阵进行反预处理求得H矩阵;(4)将图像划分成多个16*16的方框,利用单应性矩阵H算出所有方框4个角的对应点坐标,并利用双线性插值的方法求取公共区域所有对应点坐标;(5)利用对应点坐标和双线性插值得到其中一图进行立体校正后的图像;所述步骤(1)中,所述对应点坐标预处理具有以下三种选择:(a)不处理;(b)中心平移:x<sub>zl</sub>=x<sub>l</sub>‑E(x<sub>l</sub>),y<sub>zl</sub>=y<sub>l</sub>‑E(y<sub>l</sub>),x<sub>zr</sub>=x<sub>r</sub>‑E(x<sub>r</sub>),y<sub>zr</sub>=y<sub>r</sub>‑E(y<sub>r</sub>);(c)归一化:x<sub>gl</sub>=(x<sub>l</sub>‑E(x<sub>l</sub>))/D(x<sub>l</sub>),y<sub>gl</sub>=(y<sub>l</sub>‑E(y<sub>l</sub>))/D(y<sub>l</sub>),x<sub>gr</sub>=(x<sub>r</sub>‑E(x<sub>r</sub>))/D(x<sub>r</sub>),y<sub>gr</sub>=(y<sub>r</sub>‑E(y<sub>r</sub>))/D(y<sub>r</sub>);其中,下标为l的符号代表所用数据属于左图,下标为r的符号代表所用数据属于右图,下标为z的符号代表中心平移处理,下标为g的符号代表归一化处理,x是点的横坐标,y是点的纵坐标,E(x)是预处理前横坐标的均值,D(x)是预处理前横坐标的方差,E(y)是预处理前纵坐标的均值,D(y)是预处理前纵坐标的方差;所述步骤(2)中,对左图和右图中任意一张图像进行校正即可,若是对左图进行校正,则根据校正后的图像相同构建方程Ah=0,即:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mo>[</mo><msub><mi>x</mi><mi>gl</mi></msub><mo>,</mo><msub><mi>y</mi><mi>gl</mi></msub><mo>,</mo><mn>1</mn><mo>,</mo><msub><mrow><mo>-</mo><mi>x</mi></mrow><mi>gl</mi></msub><msub><mi>y</mi><mi>gr</mi></msub><mo>,</mo><msub><mrow><mo>-</mo><mi>y</mi></mrow><mi>gl</mi></msub><msub><mi>y</mi><mi>gr</mi></msub><mo>,</mo><msub><mrow><mo>-</mo><mi>y</mi></mrow><mi>gr</mi></msub><mo>]</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>4</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>5</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>6</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>7</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>8</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>9</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000720562810000021.GIF" wi="843" he="475" /></maths>将A矩阵进行SVD分解A=UDV<sup>T</sup>,求得预处理的单应性矩阵:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>H</mi><mi>g</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>3</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>4</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>5</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>6</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>7</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>8</mn></mrow></msub></mtd><mtd><msub><mi>h</mi><mrow><mi>g</mi><mn>9</mn></mrow></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000720562810000022.GIF" wi="466" he="246" /></maths>的后6个系数为SVD分解的第三项V的最后一列,且全部系数要同时放大使h<sub>g9</sub>=1;添加前3个系数[h<sub>g1</sub> h<sub>g2</sub> h<sub>g3</sub>]=[1 0 0]或[h<sub>g1</sub> h<sub>g2</sub> h<sub>g3</sub>]=[h<sub>g5</sub> ‑h<sub>g4</sub> 0];其中,下标为g的符号代表经过预处理的数据,下标为l的符号代表所用数据属于左图,下标为r的符号代表所用数据属于右图,H<sub>g</sub>代表求得预处理后的单应性矩阵;公式Ah=0是<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>y</mi><mi>gr</mi></msub><mo>=</mo><msub><mi>H</mi><mi>g</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mi>gl</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>gl</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000720562810000031.GIF" wi="298" he="233" /></maths>的展开,是令校正后左图y坐标与右图的y坐标相等。
地址 511458 广东省广州市南沙区环市大道南路25号华工大广州产研院