Lucas-Kanade算法广泛用于图像对齐、光流法、目标追踪、图像拼接和人脸检测等课题中。

一、核心思想

给定一个模板和一个输入,以及一个或多个变换,求一个参数最佳的变换,使得下式最小化

在求最优解的时候,该算法假设目前的变换参数已知,并迭代的计算的增量,使得更新后的能令上式比原来更小。则上式改写为:

二、算法流程

1.初始化参数向量

2.计算及其关于导数,求得参数增量向量

3.更新

4.若小于某个小量,即当前参数向量基本不变化了,那么停止迭代,否则继续2,3两步骤。

三、具体做法

做一阶泰勒级数展开,则目标函数变为:

对其求导,并令导数为0,得到下式:

对上式中的求解即可,得到的是的解析解:

其中,

四、Lucas-Kanade算法(前向加性算法)

迭代:

1) 利用,将中各个像素点的坐标对应到中的相应的像素点的坐标,得到。即和的大小尺寸(像素个数和长宽)相同。

2) 计算,获得误差图像。

3) 计算中与经过变换对应的像素点的梯度图像,即计算中各个点在中的梯度。利用,将中各个像素点的坐标对应到的梯度图像中各个点的坐标。

4) 计算在设定下的Jacobian。即代入当前参数,计算。如果是二维坐标,即,也就是说每行是对中每个分量对于的每个参数分量的导数:

5) 计算最速梯度下降图。即利用中每个像素点相乘。

6) 利用上述提到的公式计算Hessian矩阵

7) 利用上面步骤计算得到的值,计算

8) 利用上述提到的公式计算参数向量的增量

9) 更新

五、Baker-Matthews算法(逆向组成算法)

预处理:

1) 计算模板的梯度图像

2) 计算在设定下的Jacobian

3) 计算最速梯度下降图。即利用中每个像素点相乘。

4) 利用公式计算Hessian矩阵

迭代:

5) 利用,将中各个像素点的坐标对应到中的相应的像素点的坐标,得到。即的大小尺寸(像素个数和长宽)相同。

6) 计算,获得误差图像。

7) 利用上面步骤计算得到的值,计算

8) 利用上述提到的公式计算参数向量的增量

9) 更新。即将原有的矩阵与矩阵的逆相乘。

六、参考文献和资料

[1]Matthews I, Baker S. Active appearance models revisited[J]. International Journal of Computer Vision, 2004, 60(2): 135-164.

[2]Cootes T F, Edwards G J, Taylor C J. Active appearance models[J]. IEEE Transactions on pattern analysis and machine intelligence, 2001, 23(6): 681-685.

[3]Baker S, Matthews I. Lucas-kanade 20 years on: A unifying framework[J]. International Journal of Computer Vision, 2004, 56(3): 221-255.

[4]利用L-K算法实现的图像对齐程序:http://www.codeproject.com/Articles/24809/Image-Alignment-Algorithms

最新文章

  1. zlog学习笔记(zc_profile)
  2. ZendStudio 解决svn导出项目乱码问题
  3. 4 WPF学习---系统的学习XAML语法
  4. html移动端开发注意事项
  5. 异常处理与调试2 - 零基础入门学习Delphi51
  6. TMS X-Cloud Todolist with FNC
  7. WOW.js轻松为网页添加动画切入效果
  8. Jenkins 部署 jmeter + Ant
  9. c++学习day2
  10. apache利用http_referer进行防盗链
  11. python_day1_数据类型
  12. Codeforces-542div2
  13. 延期版本webstorm(解决许可证过期,注册,激活,破解,码,支持正版,最新可用)
  14. enum 的使用方法(java)
  15. (转)Linux ldconfig 与 ldd指令
  16. Oracle EBS应用笔记整理 (转自IT++ flyingkite)
  17. 小程序if else 判断显示隐藏
  18. U盘安装Centos7.0图解
  19. [nowcoder]青蛙
  20. 学习mybatis时出现了java.io.IOException: Could not find resource EmployeeMapper.xml

热门文章

  1. 无线投屏PC投电视
  2. JAVA-JSP内置对象之application对象
  3. 用Python从零开始实现K近邻算法
  4. java基础篇---XML解析(二)
  5. ElasticSearch的安装、使用、踩坑
  6. JDBC-批处理操作
  7. Spring Cloud Eureka 集群搭建 - 以及发现一个 “直觉BUG”
  8. Eureka 高可用
  9. 2012Hulu校园招聘笔试题
  10. 理解javascript中的回调函数(callback)【转】