发明名称 一种基于非线性多重网格法的光流场快速估计方法
摘要 本发明涉及一种基于非线性多重网格法的光流场快速估计方法,包括:输入图像序列;将图像灰度化,并对图像进行降采样;运用变分法求与光流估计模型等价的离散化Euler‑Lagrange方程组;采用非线性多重网格法求解光流;利用OpenMP并行编程模型对能量泛函的求解过程进行加速。本发明利用非线性多重网格法求解非线性光流模型,在每一个多网格循环中消去一个非线性残差,消除了线性多重网格法的求解误差,从而保证了光流的求解精度;本发明的数值求解方法只需迭代20~30次,与现有方法相比,大大提高了光流计算的实时性。同时,本发明利用OpenMP并行编程模型对能量泛函的求解过程进行加速,提高了程序的运行速度。
申请公布号 CN103761749B 申请公布日期 2016.08.17
申请号 CN201410048618.5 申请日期 2014.02.12
申请人 北京工业大学 发明人 贾松敏;尹晓琳;李秀智;谭君;赵冠荣;秦宝岭
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 张慧
主权项 一种基于非线性多重网格法的光流场快速估计方法,其特征在于,引入非线性多重网格法和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>&CenterDot;</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>&lambda;</mi><mi>g</mi><mrow><mo>(</mo><mo>|</mo><mo>&dtri;</mo><mi>I</mi><mo>|</mo><mo>)</mo></mrow><mo>|</mo><mo>&dtri;</mo><mi>u</mi><mo>|</mo><mo>-</mo><mfrac><mi>&lambda;</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>&dtri;</mo><mi>I</mi><mo>|</mo></mrow><mo>)</mo><mo>&dtri;</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>&CenterDot;</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>&lambda;</mi><mi>g</mi><mrow><mo>(</mo><mo>|</mo><mo>&dtri;</mo><mi>I</mi><mo>|</mo><mo>)</mo></mrow><mo>|</mo><mo>&dtri;</mo><mi>v</mi><mo>|</mo><mo>-</mo><mfrac><mi>&lambda;</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>&dtri;</mo><mi>I</mi><mo>|</mo></mrow><mo>)</mo><mo>&dtri;</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>&CenterDot;</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>&lambda;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>&lambda;</mi><mn>2</mn></mfrac><mo>&CenterDot;</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>&CenterDot;</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>&lambda;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>&lambda;</mi><mn>2</mn></mfrac><mo>&CenterDot;</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并行编程模型对能量泛函的求解过程进行加速。
地址 100124 北京市朝阳区平乐园100号