查看“卢卡斯-卡纳德方法”的源代码
←
卢卡斯-卡纳德方法
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在[[计算机视觉]]中,'''卢卡斯-卡纳德方法'''是一种广泛使用的[[光流]]估计的差分方法,这个方法是由[[Bruce D. Lucas]]和[[Takeo Kanade]]发明的。它假设光流在像素点的邻域是一个常数,然后使用[[最小平方法]]对邻域中的所有像素点求解基本的光流方程。<ref name=LKproc> B. D. Lucas and T. Kanade (1981), ''[http://www-cse.ucsd.edu/classes/sp02/cse252/lucaskanade81.pdf An iterative image registration technique with an application to stereo vision.]'' Proceedings of Imaging Understanding Workshop, pages 121--130 </ref> <ref name=Lthesis> Bruce D. Lucas (1984) ''[http://www.ri.cmu.edu/pubs/pub_5610.html Generalized Image Matching by the Method of Differences] {{webarchive|url=https://web.archive.org/web/20070611072842/http://www.ri.cmu.edu/pubs/pub_5610.html |date=2007-06-11 }}'' (doctoral dissertation) </ref> 通过结合几个邻近像素点的信息,卢卡斯-卡纳德方法(简称为''L-K方法'')通常能够消除光流方程里的多义性。而且,与逐点计算的方法相比,L-K方法对图像噪声不敏感。不过,由于这是一种局部方法,所以在图像的均匀区域内部,L-K方法无法提供光流信息。 == 基本原理 == L-K方法假设两个相邻帧的图像内容位移很小,且位移在所研究点''p''的邻域内为大致为常数。所以,可以假设[[光流法|光流方程]] 在以''p''点为中心的窗口内对所有的像素都成立。也就是说,局部图像流(速度)向量<math>(V_x,V_y)</math>须满足: :<math>I_x(q_1) V_x + I_y (q_1) V_y = -I_t(q_1)</math> :<math>I_x(q_2) V_x + I_y (q_2) V_y = -I_t(q_2)</math> :<math>\vdots</math> :<math>I_x(q_n) V_x + I_y (q_n) V_y = -I_t(q_n)</math> 其中,<math>q_1,q_2,\dots,q_n</math> 是窗口中的像素,<math>I_x(q_i),I_y(q_i),I_t(q_i)</math>是图像在点<math>q_i</math>和当前时间对位置''x'',''y''和时间''t''的偏导。 这些等式可以写成[[矩阵]]的形式<math>A v = b</math>,此处 :<math>A = \begin{bmatrix} I_x(q_1) & I_y(q_1) \\[10pt] I_x(q_2) & I_y(q_2) \\[10pt] \vdots & \vdots \\[10pt] I_x(q_n) & I_y(q_n) \end{bmatrix}, \quad\quad v = \begin{bmatrix} V_x\\[10pt] V_y \end{bmatrix}, \quad \mbox{and}\quad b = \begin{bmatrix} -I_t(q_1) \\[10pt] -I_t(q_2) \\[10pt] \vdots \\[10pt] -I_t(q_n) \end{bmatrix} </math> 此方程组的等式个数多于未知数个数,所以它通常是[[线性方程组|over-determined]]的。L-K方法使用[[最小平方法]]获得一个近似解,即计算一个2x2的方程组: :<math>A^T A v=A^T b</math> 或 :<math> \mathrm{v}=(A^T A)^{-1}A^T b</math> 其中,<math>A^T</math>是矩阵<math>A</math>的[[转置矩阵|转置]]。即计算: :<math>\begin{bmatrix} V_x\\[10pt] V_y \end{bmatrix} = \begin{bmatrix} \sum_i I_x(q_i)^2 & \sum_i I_x(q_i)I_y(q_i) \\[10pt] \sum_i I_y(q_i)I_x(q_i) & \sum_i I_y(q_i)^2 \end{bmatrix}^{-1} \begin{bmatrix} -\sum_i I_x(q_i)I_t(q_i) \\[10pt] -\sum_i I_y(q_i)I_t(q_i) \end{bmatrix} </math> 对''i''=1 到 ''n''求和。 矩阵<math>A^T A</math>通常被称作图像在点''p''的 [[结构张量]]。 [[Category:计算机视觉]] == 参考文献 == <references /> ==外部链接== * [http://www.cs.cmu.edu/~kangli/code/Image_Stabilizer.html The image stabilizer plugin for ImageJ] based on the Lucas–Kanade method * [http://www.mathworks.com/matlabcentral/fileexchange/24677 Mathworks Lucas-Kanade] Matlab implementation of inverse and normal [[affine]] Lucas-Kanade * [https://web.archive.org/web/20091014150930/http://www.onera.fr/dtim-en/gpu-for-image/folkigpu.php FolkiGPU :] GPU implementation of an iterative Lucas-Kanade based optical flow * [http://www.success-ware.com/150842/Lucas-Kanade-Detection-for-the-iPhone Lucas-Kanade for the iPhone]{{dead link|date=2018年5月 |bot=InternetArchiveBot |fix-attempted=yes }} by Success Labs. A modified and enhanced port of the OpenCV lkdemo sample application to the iPhone. * [http://www.ces.clemson.edu/~stb/klt/ KLT]: An Implementation of the Kanade–Lucas–Tomasi Feature Tracker * [http://www.ri.cmu.edu/people/kanade_takeo.html Takeo Kanade]
本页使用的模板:
Template:Dead link
(
查看源代码
)
Template:Webarchive
(
查看源代码
)
返回
卢卡斯-卡纳德方法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息