主权项 |
一种基于非线性多重网格法的光流场快速估计方法,其特征在于,引入非线性多重网格法和OpenMP编程模型提高光流的求解速度;所述方法包括以下步骤:步骤一,输入图像序列;步骤二,将图像灰度化,并对图像进行降采样;步骤三,运用变分法求与光流估计模型等价的离散化Euler‑Lagrange方程组;运用变分法,对非线性光流能量泛函求偏导,得到与光流估计模型等价的Euler‑Lagrange方程组:<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>I</mi><mi>x</mi></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>I</mi><mn>1</mn></msub><mo>-</mo><msub><mi>I</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>+</mo><mi>λ</mi><mi>g</mi><mrow><mo>(</mo><mo>|</mo><mo>▿</mo><mi>I</mi><mo>|</mo><mo>)</mo></mrow><mo>|</mo><mo>▿</mo><mi>u</mi><mo>|</mo><mo>-</mo><mfrac><mi>λ</mi><mn>2</mn></mfrac><mi>d</mi><mi>i</mi><mi>v</mi><mrow><mo>(</mo><mi>g</mi><mo>(</mo><mrow><mo>|</mo><mo>▿</mo><mi>I</mi><mo>|</mo></mrow><mo>)</mo><mo>▿</mo><mi>u</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>I</mi><mi>y</mi></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>I</mi><mn>1</mn></msub><mo>-</mo><msub><mi>I</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>+</mo><mi>λ</mi><mi>g</mi><mrow><mo>(</mo><mo>|</mo><mo>▿</mo><mi>I</mi><mo>|</mo><mo>)</mo></mrow><mo>|</mo><mo>▿</mo><mi>v</mi><mo>|</mo><mo>-</mo><mfrac><mi>λ</mi><mn>2</mn></mfrac><mi>d</mi><mi>i</mi><mi>v</mi><mrow><mo>(</mo><mi>g</mi><mo>(</mo><mrow><mo>|</mo><mo>▿</mo><mi>I</mi><mo>|</mo></mrow><mo>)</mo><mo>▿</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000935543680000011.GIF" wi="1022" he="245" /></maths>式中,I为图像的灰度值,I<sub>0</sub>与I<sub>1</sub>分别表示前后两帧图像的灰度,u,v分别代表该点在x,y方向上的光流分量,λ为平滑项系数,g(·)为边缘函数;对方程组进行离散化,设定需要满足的精度要求并用数值方法进行逼近求解;Euler‑Lagrange方程组的离散形式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>I</mi><mrow><mi>x</mi><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>I</mi><mrow><mn>1</mn><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>0</mi><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>λg</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>m</mi><mn>1</mn></msub><mo>-</mo><mfrac><mi>λ</mi><mn>2</mn></mfrac><mo>·</mo><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><mn>4</mn><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>I</mi><mrow><mi>y</mi><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>I</mi><mrow><mn>1</mn><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>I</mi><mrow><mi>0</mi><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>λg</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>m</mi><mn>2</mn></msub><mo>-</mo><mfrac><mi>λ</mi><mn>2</mn></mfrac><mo>·</mo><mrow><mo>(</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><mn>4</mn><msub><mi>g</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000935543680000012.GIF" wi="1901" he="263" /></maths>式中,i,j表示像素点在图像中的位置;步骤四,运用非线性多重网格法求解所述步骤3得到的Euler‑Lagrange方程组;采用非线性多重网格方法计算非线性变分光流模型,在保持非线性模型所求解光流精度的情况下,提高算法迭代收敛的效率;步骤五,利用OpenMP并行编程模型对能量泛函的求解过程进行加速。 |