发明名称 一种基于双向加权聚合的实时立体匹配方法
摘要 一种基于双向加权聚合的实时立体匹配方法,包括以下步骤:(1)计算图像对中各个像素点的匹配代价函数值;(2)对(1)步骤中计算出的匹配代价函数进行行列双向的加权聚合,仅以颜色相似度作为权值参数,设计了一种权值可信度评估机制降低行列双向加权聚合产生的误差;(3)对(2)步骤的聚合结果沿行方向选择视差,设计了一种动态规划与贪心策略相结合的选择策略。实验证明,本发明提出的方法在保证实时性的前提下达到了较高的匹配精度。本发明可应用于各种形式的交互类应用,在科研、教育、娱乐领域均有较为广阔的应用前景。
申请公布号 CN102096919B 申请公布日期 2013.03.20
申请号 CN201010623912.6 申请日期 2010.12.31
申请人 北京航空航天大学 发明人 赵沁平;周忠;史英杰;常雪枫;吴威
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉;李新华
主权项 1.一种基于双向加权聚合的实时立体匹配方法,其特征在于实现步骤如下:(1)根据匹配代价函数计算图像对中各个像素点的匹配代价函数值,计算公式为:<maths num="0001"><![CDATA[<math><mrow><mi>C</mi><mrow><mo>(</mo><mi>p</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>s</mi><mo>&Element;</mo><mo>{</mo><mi>r</mi><mo>,</mo><mi>g</mi><mo>,</mo><mi>b</mi><mo>}</mo></mrow></munder><mo>|</mo><msub><mi>I</mi><mi>s</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>I</mi><mo>&OverBar;</mo></mover><mi>s</mi></msub><mrow><mo>(</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>|</mo><mo>,</mo></mrow></math>]]></maths>其中,d为左右图像的视差,p,<img file="FDA00002525014800012.GIF" wi="35" he="61" />为在视差为d的情况下左右图像中的对应点,I<sub>r</sub>(p),I<sub>g</sub>(p),I<sub>b</sub>(p)分别表示左图像在点p处的r,g,b值,<img file="FDA00002525014800013.GIF" wi="474" he="61" />分别表示右图像在点<img file="FDA00002525014800014.GIF" wi="35" he="62" />处的r,g,b值,匹配代价函数即为左右图像中对应点的r,g,b值之差的绝对值的和;对每一个视差d<sub>i</sub>,d<sub>min</sub>≤d<sub>i</sub>≤d<sub>max</sub>,d<sub>max</sub>,d<sub>min</sub>为整幅图像的视差范围,对图像中每一点均计算C(p,d<sub>i</sub>);(2)对于左图像中的每一个点c,将其周围边长为w<sub>1</sub>的正方形作为支持窗口,该正方形以c点为中心,w<sub>1</sub>为预设的支持窗口大小,支持窗口边长均设为33,除c点外支持窗口内所有点叫做c的支持点,用p表示左图像中的支持点;对于右图像中的每一个点<img file="FDA00002525014800015.GIF" wi="47" he="52" />即点c在视差为d时的对应点,将其周围边长为w<sub>1</sub>的正方形作为支持窗口,该正方形以<img file="FDA00002525014800016.GIF" wi="25" he="50" />点为中心,除<img file="FDA00002525014800017.GIF" wi="25" he="50" />点外支持窗口内所有点叫做<img file="FDA00002525014800018.GIF" wi="34" he="52" />的支持点,用<img file="FDA00002525014800019.GIF" wi="35" he="61" />表示右图像中的支持点;在视差为d的情况下,对每一个点c,将其支持窗口内所有匹配代价函数值C(p,d)先后进行行方向和列方向的加权聚合,具体过程如下:A.行方向的加权聚合先将支持窗口内所有点向该行中心点加权聚合,每行中心点设为c′,行方向加权聚合过程中权值W<sub>h</sub>(c′,p)的计算公式为:<maths num="0002"><![CDATA[<math><mrow><msub><mi>W</mi><mi>h</mi></msub><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mi>w</mi><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>w</mi><mrow><mo>(</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>,</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,<maths num="0003"><![CDATA[<math><mrow><mi>w</mi><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mi>T</mi><mrow><mo>(</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mi>w</mi><mrow><mo>(</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>,</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>=</mo><mi>T</mi><mrow><mo>(</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>,</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>,</mo><mover><mi>p</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mi>dix</mi><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>,</mo><msub><mi>p</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><msqrt><munder><mi>&Sigma;</mi><mrow><mi>m</mi><mo>&Element;</mo><mo>{</mo><mi>r</mi><mo>,</mo><mi>g</mi><mo>,</mo><mi>b</mi><mo>}</mo></mrow></munder><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>m</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>I</mi><mi>m</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>,</mo></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><mi>T</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0,0</mn><mo>&lt;</mo><mi>x</mi><mo>&lt;</mo><msub><mi>T</mi><mrow><mi>w</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mn>0.5</mn><mo>,</mo><msub><mi>T</mi><mrow><mi>w</mi><mn>1</mn></mrow></msub><mo>&lt;</mo><mi>x</mi><mo>&lt;</mo><msub><mi>T</mi><mrow><mi>w</mi><mn>2</mn></mrow></msub></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo><msub><mi>T</mi><mrow><mi>w</mi><mn>2</mn></mrow></msub><mo>&lt;</mo><mi>x</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中<img file="FDA00002525014800023.GIF" wi="38" he="58" />为在视差为d时c′的对应点,dis(p<sub>1</sub>,p<sub>2</sub>)为p<sub>1</sub>,p<sub>2</sub>两个点的颜色相似度,即颜色空间中的距离,T(x)为可信度评估函数,用于对聚合过程中的权值做一个评估,权值越大,可信度越高;权值越小,可信度越低,T<sub>w1</sub>,T<sub>w2</sub>为预设参数,分别取0.3和0.6;行方向加权聚合的公式为:<maths num="0007"><![CDATA[<math><mrow><msub><mi>C</mi><mi>H</mi></msub><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><msub><mi>H</mi><msup><mi>c</mi><mo>&prime;</mo></msup></msub></mrow></msub><msub><mi>W</mi><mi>h</mi></msub><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow><mi>C</mi><mrow><mo>(</mo><mi>p</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><msub><mi>H</mi><msup><mi>c</mi><mo>&prime;</mo></msup></msub></mrow></msub><msub><mi>W</mi><mi>h</mi></msub><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>p</mi><mo>)</mo></mrow></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,H<sub>c′</sub>表示点c′在支持窗口内所在行的所有点组成的集合;对于每一个视差d,为图像中所有点进行一次上述的行方向的加权聚合,将这个聚合的结果,作为下一步列方向加权聚合的输入;B.列方向的加权聚合对行方向加权聚合的结果进行列方向的加权聚合,列方向加权聚合过程中权值W<sub>v</sub>(c,c′)的计算公式为:<maths num="0008"><![CDATA[<math><mrow><msub><mi>W</mi><mi>v</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>=</mo><mi>w</mi><mrow><mo>(</mo><mi>c</mi><mo>,</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo></mo><mi>w</mi><mrow><mo>(</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover><mo>,</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,<maths num="0009"><![CDATA[<math><mrow><mi>w</mi><mrow><mo>(</mo><mi>c</mi><mo>,</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>=</mo><mi>T</mi><mrow><mo>(</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mi>c</mi><mo>,</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mi>c</mi><mo>,</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><mi>w</mi><mrow><mo>(</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover><mo>,</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>=</mo><mi>T</mi><mrow><mo>(</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover><mo>,</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>)</mo></mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mi>dis</mi><mrow><mo>(</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover><mo>,</mo><mover><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&OverBar;</mo></mover><mo>)</mo></mrow></mrow><mi>K</mi></mfrac><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>T(x)和dis(p<sub>1</sub>,p<sub>2</sub>)与行方向聚合过程中的含义及计算方法相同;列方向加权聚合的公式为:<maths num="0011"><![CDATA[<math><mrow><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>W</mi></msub><mrow><mo>(</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&Element;</mo><msub><mi>V</mi><mi>c</mi></msub></mrow></msub><msub><mi>W</mi><mi>v</mi></msub><mrow><mo>(</mo><msup><mrow><mi>c</mi><mo>,</mo><mi>c</mi></mrow><mo>&prime;</mo></msup><mo>)</mo></mrow><msub><mi>C</mi><mi>H</mi></msub><mrow><mo>(</mo><msup><mi>c</mi><mo>&prime;</mo></msup><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>&Sigma;</mi><mrow><msup><mi>c</mi><mo>&prime;</mo></msup><mo>&Element;</mo><msub><mi>V</mi><mi>c</mi></msub></mrow></msub><msub><mi>W</mi><mi>v</mi></msub><mrow><mo>(</mo><msup><mrow><mi>c</mi><mo>,</mo><mi>c</mi></mrow><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,V<sub>c</sub>表示点c在支持窗口内所在列的所有点组成的集合,C<sub>H</sub>(c′,d)为行方向加权聚合的结果;对每一个视差d<sub>i</sub>,d<sub>min</sub>≤d<sub>i</sub>≤d<sub>max</sub>,对图像中的每一点先后执行上述行方向、列方向的加权聚合过程,最终求得C′<sub>W</sub>(c,d<sub>i</sub>);(3)通过运用步骤(2)的所有列方向的加权聚合结果C′<sub>W</sub>(c,d<sub>i</sub>),分别对图像的每一行进行视差选择,所述视差选择采用动态规划与贪心策略相结合的选择策略,具体过程如下:对一行中横坐标为0的点x<sub>0</sub>,即最左边的点,定义函数F(x<sub>0</sub>,d<sub>i</sub>)=C′<sub>w</sub>(x<sub>0</sub>,d<sub>i</sub>);对于横坐标为1的点x<sub>1</sub>,<maths num="0012"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>min</mi><mrow><mi>d</mi><mo>=</mo><mo>{</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><msub><mi>WTA</mi><mn>0</mn></msub></msub><mo>}</mo></mrow></munder><mo>{</mo><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>0</mn></msub><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>+</mo><mi>&gamma;</mi><mo>*</mo><mo>|</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mi>d</mi><mo>|</mo><mo>}</mo></mrow></math>]]></maths>其中,γ为预设参数,取值为3.27,<img file="FDA00002525014800032.GIF" wi="95" he="57" />为贪心策略选择出的x<sub>0</sub>点的视差,也就是使C′<sub>w</sub>(x<sub>0</sub>,d<sub>i</sub>)取得最小值的d<sub>i</sub>;对于横坐标为2的点x<sub>2</sub>,<maths num="0013"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>min</mi><mrow><mi>d</mi><mo>=</mo><mo>{</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><msub><mi>WTA</mi><mn>1</mn></msub></msub><mo>}</mo></mrow></munder><mo>{</mo><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>+</mo><mi>&gamma;</mi><mo>*</mo><mo>|</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mi>d</mi><mo>|</mo><mo>}</mo></mrow></math>]]></maths><img file="FDA00002525014800034.GIF" wi="90" he="57" />为贪心策略选择出的x<sub>1</sub>点的视差,也就是使C′<sub>w</sub>(x<sub>1</sub>,d<sub>i</sub>)取得最小值的d<sub>i</sub>;以此类推,对于横坐标为w的点x<sub>w</sub>,w为图像的宽度,x<sub>w</sub>为一行中最右边的点,<maths num="0014"><![CDATA[<math><mrow><mrow><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>w</mi></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>w</mi></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>min</mi><mrow><mi>d</mi><mo>=</mo><mo>{</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>,</mo><msub><mi>d</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><msub><mi>WTA</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub></msub><mo>}</mo></mrow></munder><mo>{</mo><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>+</mo><mi>&gamma;</mi><mo>*</mo><mo>|</mo><msub><mi>d</mi><mi>i</mi></msub><mo>-</mo><mi>d</mi><mo>|</mo><mo>}</mo></mrow><mo>,</mo></mrow></math>]]></maths>选择使F(x<sub>w</sub>,d<sub>i</sub>)取得最小的d<sub>i</sub>为x<sub>w</sub>的视差d<sub>w</sub>,此时满足公式<maths num="0015"><![CDATA[<math><mrow><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>w</mi></msub><mo>,</mo><msub><mi>d</mi><mi>w</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>w</mi></msub><mo>,</mo><msub><mi>d</mi><mi>w</mi></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>min</mi><mrow><mi>d</mi><mo>=</mo><mo>{</mo><msub><mi>d</mi><mi>w</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><mi>w</mi></msub><mo>,</mo><msub><mi>d</mi><mi>w</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><msub><mi>WTA</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub></msub><mo>}</mo></mrow></munder><mo>{</mo><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>+</mo><mi>&gamma;</mi><mo>*</mo><mo>|</mo><msub><mi>d</mi><mi>w</mi></msub><mo>-</mo><mi>d</mi><mo>|</mo><mo>}</mo></mrow></math>]]></maths>中的d作为x<sub>w-1</sub>的视差d<sub>w-1</sub>;代入上一层公式中:<maths num="0016"><![CDATA[<math><mrow><mrow><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>=</mo><msub><msup><mi>C</mi><mo>&prime;</mo></msup><mi>w</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><munder><mi>min</mi><mrow><mi>d</mi><mo>=</mo><mo>{</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>d</mi><msub><mi>WTA</mi><mrow><mi>w</mi><mo>-</mo><mn>2</mn></mrow></msub></msub><mo>}</mo></mrow></munder><mo>{</mo><mi>F</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>w</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>+</mo><mi>&gamma;</mi><mo>*</mo><mo>|</mo><msub><mi>d</mi><mrow><mi>w</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><mi>d</mi><mo>|</mo><mo>}</mo></mrow><mo>,</mo></mrow></math>]]></maths>满足公式的d即为x<sub>w-2</sub>的视差d<sub>w-2</sub>;以此类推,从右至左选择视差,最终求得x<sub>0</sub>的视差,得到整行每个像素点的视差值;通过对每一行进行上述视差选择,最终得到整幅图像的视差图;(4)对步骤(3)得到的视差图进行噪声过滤,过程如下:当某点c的上、下、左、右四个点的视差均为d时,则将c点的视差置为d;(5)由步骤(4)得到的视差图以及视差范围d<sub>max</sub>,d<sub>min</sub>求出深度图,过程如下:某点c的深度<img file="FDA00002525014800041.GIF" wi="761" he="139" />其中d<sub>c</sub>为点c的视差,d<sub>max</sub>,d<sub>min</sub>为整幅图像的视差范围,点c的视差范围为[0,255]。
地址 100191 北京市海淀区学院路37号