发明名称 基于尺度空间的亚像素级立体匹配方法
摘要 本发明提供的是一种基于尺度空间的亚像素级立体匹配方法。(1)为立体像对构建尺度空间;(2)为尺度空间中当前层级参考图像的每一点确定匹配窗口大小;(3)根据上一层级视差为本层级参考图像的每一点计算视差搜索范围;(4)计算尺度空间中当前层级的整数级视差;(5)利用基于二分搜索的亚像素级匹配方法计算亚像素级视差。本发明使用了小基高比条件下生成的立体像对进行匹配,在匹配过程中采用了离散尺度空间以提高匹配效率,并利用混合式窗口选择策略减少匹配过程中所产生的“粘合”现象,最后使用了基于二分搜索的亚像素级匹配方法获得亚像素级视差,不但可以保证较高的亚像素级精度,而且还很大程度上提高了算法的匹配效率。
申请公布号 CN102184540B 申请公布日期 2013.03.20
申请号 CN201110112619.8 申请日期 2011.05.03
申请人 哈尔滨工程大学 发明人 门朝光;边继龙;李香;余鹏达;尚方;田泽宇
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 代理人
主权项 1.一种基于尺度空间的亚像素级立体匹配方法,其特征是:(1)为立体像对构建尺度空间;(2)为尺度空间中当前层级参考图像的每一点确定匹配窗口大小;①在尺度空间的当前层级下,首先根据标准偏差σ计算高斯范数,其高斯范数的计算公式如下:<maths num="0001"><![CDATA[<math><mrow><msub><mrow><mo>|</mo><mo>|</mo><mi>g</mi><mo>|</mo><mo>|</mo></mrow><msub><mi>L</mi><mn>2</mn></msub></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>&sigma;</mi><msqrt><mi>&pi;</mi></msqrt></mrow></mfrac></mrow></math>]]></maths>式中,σ的值为0.56;②为尺度空间中当前层级参考图像的每一点计算最优窗口大小,其最优窗口计算公式如下:<img file="FDA00002255312300012.GIF" wi="907" he="263" />式中,<img file="FDA00002255312300013.GIF" wi="23" he="34" />表示参考图像,g表示高斯函数,σ<sub>b</sub>表示高斯噪声标准差,λ表示匹配精度,<img file="FDA00002255312300014.GIF" wi="54" he="67" />表示参考图像的相关密度,其计算公式如下:<img file="FDA00002255312300015.GIF" wi="905" he="200" />式中,u(x)表示图像函数,u'(x)表示图像函数u(x)的导数,<img file="FDA00002255312300016.GIF" wi="52" he="46" />表示以X<sub>0</sub>为中心的支撑窗口,图像函数u(x)的范数<img file="FDA00002255312300017.GIF" wi="101" he="86" />的计算公式如下:<img file="FDA00002255312300018.GIF" wi="567" he="86" />u(x)与其导数u'(x)的内积计算公式如下:<img file="FDA00002255312300019.GIF" wi="725" he="85" />计算匹配窗口大小的公式如下:<img file="FDA000022553123000110.GIF" wi="457" he="199" />式中,<img file="FDA000022553123000111.GIF" wi="94" he="61" />表示参考图像,g为高斯函数,σ<sub>b</sub>为噪声标准差,λ为匹配精度,<img file="FDA000022553123000112.GIF" wi="180" he="95" />的计算公式如下:<img file="FDA00002255312300021.GIF" wi="665" he="95" />(3)根据上一层级视差为本层级参考图像的每一点计算视差搜索范围;①根据上一层级的整数级视差为本层级的每一点计算初始视差值,初始视差的计算公式如下:d<sub>N-1</sub>(i,j)=2·d<sub>N</sub>(m,n),(i,j)∈{(2m,2n),(2m+1,2n),(2m,2n+1),(2m+1,2n+1)}式中,d<sub>N</sub>(i,j)为第N层(i,j)位置的整数级视差;②根据最大视差值d<sub>max</sub>计算本层级的最大视差值d<sub>N,max</sub>,其计算公式如下:<img file="FDA00002255312300022.GIF" wi="303" he="125" />式中,<img file="FDA00002255312300023.GIF" wi="69" he="62" />表示大于等于x的最小整数;(4)计算尺度空间中当前层级的整数级视差;根据步骤(2)中为每一点确定的匹配窗口大小和步骤(3)中获得的视差搜索范围,针对混合式窗口选择策略确定的每一个匹配窗口位置,在相应的视差搜索范围内依据NCC计算匹配窗口的相似性获得每个窗口位置下所对应的最优视差值,并在这些窗口位置下所计算的视差中选取相似性最大的视差作为最终视差,具体包括:①针对每一窗口位置,根据窗口大小和视差范围计算匹配代价,其计算公式如下:<maths num="0002"><![CDATA[<math><mrow><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mi>k</mi></msub></mrow></munder><mi>u</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mover><mi>u</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>+</mo><mi>d</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow></mrow><msqrt><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mi>k</mi></msub></mrow></munder><mi>u</mi><msup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>&CenterDot;</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mi>k</mi></msub></mrow></munder><mover><mi>u</mi><mo>~</mo></mover><msup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mi>i</mi><mo>+</mo><mi>d</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>j</mi><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac></mrow></math>]]></maths>式中,u和<img file="FDA00002255312300025.GIF" wi="26" he="37" />分别代表立体像对中的左右图像,W<sub>k</sub>表示相应的匹配窗口,C<sub>k</sub>(x,y,d)表示像素(x,y)在第k个窗口下、视差为d时的匹配代价;②计算每个窗口位置下所对应的视差,其计算公式如下:<maths num="0003"><![CDATA[<math><mrow><msub><mi>d</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>arg</mi><mi>d</mi></munder><mi>max</mi><msub><mi>C</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></math>]]></maths>式中,d<sub>k</sub>(x,y)表示(x,y)点在第k个匹配窗口下的最优视差,相应的最优成本表示为C<sub>k,opt</sub>(x,y);③计算最终视差,其计算公式如下:<maths num="0004"><![CDATA[<math><mrow><msub><mi>d</mi><mi>opt</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>arg</mi><mrow><msub><mi>d</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></munder><mi>max</mi><msub><mi>C</mi><mrow><mi>k</mi><mo>,</mo><mi>opt</mi></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></math>]]></maths>式中,d<sub>opt</sub>(x,y)表示(x,y)点的最终视差;(5)利用基于二分搜索的亚像素级匹配方法计算亚像素级视差;根据在多尺度空间中计算的整数级视差,再利用二分搜索法计算优于指定精度的亚像素级视差;①首先利用线性插值公式计算匹配窗口及其左右相邻窗口浮点位置的灰度值,其左右相邻窗口是通过将匹配窗口内的所有像素分别向左右方向平移1/2<sup>A</sup>形成的两个窗口、其中A为迭代次数,将这三个窗口分别称为:中间匹配窗口、左移匹配窗口和右移匹配窗口,其匹配窗口中浮点位置的灰度计算公式如下:<maths num="0005"><![CDATA[<math><mrow><mover><mi>u</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mo>[</mo><mi>x</mi><mo>]</mo><mo>)</mo></mrow><mrow><mo>(</mo><mover><mi>u</mi><mo>~</mo></mover><mrow><mo>(</mo><mo>[</mo><mi>x</mi><mo>]</mo><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mover><mi>u</mi><mo>~</mo></mover><mrow><mo>(</mo><mo>[</mo><mi>x</mi><mo>]</mo><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mover><mi>u</mi><mo>~</mo></mover><mrow><mo>(</mo><mo>[</mo><mi>x</mi><mo>]</mo><mo>)</mo></mrow></mrow></math>]]></maths>式中,[]表示取整;②计算参考窗口和三个匹配窗口的相似性,其计算公式如下:<img file="FDA00002255312300032.GIF" wi="597" he="139" />式中,m∈{d<sup>A</sup>(x<sub>0</sub>),d<sup>A</sup>(x<sub>0</sub>)+12<sup>A</sup>,d<sup>A</sup>(x<sub>0</sub>)-1/2<sup>A</sup>}其中A≥1为迭代次数,d<sup>A</sup>(x<sub>0</sub>)表示x<sub>0</sub>点第A次迭代的亚像素级视差,A=1时d<sup>1</sup>(x<sub>0</sub>)表示x<sub>0</sub>点的整数级视差,<img file="FDA00002255312300033.GIF" wi="126" he="50" />表示以x<sub>0</sub>点为中心的参考窗口,<img file="FDA00002255312300034.GIF" wi="208" he="50" />表示以x<sub>0</sub>+m为中心的匹配窗口;③根据计算获得的三个相似度值确定最优亚像素级视差,计算公式如下:<maths num="0006"><![CDATA[<math><mrow><msup><mi>d</mi><mrow><mi>A</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>x</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>arg</mi><mrow><mi>m</mi><mo>&Element;</mo><mi>S</mi></mrow></munder><mi>max</mi><msub><mi>N</mi><msub><mi>x</mi><mn>0</mn></msub></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></mrow></math>]]></maths>S={d<sup>A</sup>(x<sub>0</sub>),d<sup>A</sup>(x<sub>0</sub>)+1/2<sup>A</sup>,d<sup>A</sup>(x<sub>0</sub>)-1/2<sup>A</sup>}。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室