1. 光流的概念
•空间运动物体在观察成像平面上的像素运动的瞬时速度

2. 光流法的原理
•利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息,即光流
光流的分类:稠密光流与稀疏光流(Lucus-Kanade算法)

3. L-K光流

Lucas-Kanada最初于1981年提出,该算法假设在一个小的空间邻域内运动矢量保持恒定,使用加权最小二乘法估计光流。由于该算法应用于输入图像的一组点上时比较方便,因此被广泛应用于稀疏光流场。

4. 三个假设

假设一:场景中物体被跟踪的部分亮度保持不变

假设二:运动相对于帧率是缓慢、连贯的数学表达指的是在上连续,可导
假设三:相邻的点保持近邻δ邻域内所有像素点的速度(U,V)相等
由假设二,对假设一应用偏微分链式法则,则得到L-K算法核心的数学描述公式:

5. 图像金字塔的引入L-K算法
对于大多数30Hz摄像机,大而不连贯的运动较多,所以LK光流法在实际中的跟踪效果不好,通常一个大的窗口来捕获大的运动,但往往违背运动连贯的假设,故引入图像金字塔。
在图像金字塔的最高层计算光流,用得到的运动估计结果作为下一层金字塔的起始点,重复这个过程直到到达金字塔的最底层。这样将不满足运动假设的可能性降到最小从而实现对更快和更长的运动的跟踪。

为什么要用金字塔?因为lk算法的约束条件即:小速度,亮度不变以及区域一致性都是较强的假设,并不很容易得到满足。如当物体运动速度较快时,假设不成立,那么后续的假设就会有较大的偏差,使得最终求出的光流值有较大的误差。
考虑物体的运动速度较大时,算法会出现较大的误差。那么就希望能减少图像中物体的运动速度。一个直观的方法就是,缩小图像的尺寸。假设当图像为400×400时,物体速度为[16 16],那么图像缩小为200×200时,速度变为[8,8]。缩小为100*100时,速度减少到[4,4]。所以在源图像缩放了很多以后,原算法又变得适用了。所以光流可以通过生成 原图像的金字塔图像,逐层求解,不断精确来求得。简单来说上层金字塔(低分辨率)中的一个像素可以代表下层的两个。

首先要先建立金字塔

金字塔跟踪

总体来讲,金字塔特征跟踪算法描述如下:首先,光流和仿射变换矩阵在最高一层的图像上计算出;将上一层的计算结果作为初始值传递给下一层图像,这一层的图像在这个初始值的基础上,计算这一层的光流和仿射变化矩阵;再将这一层的光流和仿射矩阵作为初始值传递给下一层图像,直到传递给最后一层,即原始图像层,这一层计算出来的光流和仿射变换矩阵作为最后的光流和仿射变换矩阵的结果。

Lucas–Kanade光流算法相关推荐

  1. 【算法分析】Lucas–Kanade光流算法

    (最近再看光流法的应用,发现一篇对算法讲的非常好的文章,转载过来看) 转自:gnuhpc的百草园和三味书屋 作者:gnuhpc@gmail.com 简介:在计算机视觉中,Lucas–Kanade光流算 ...

  2. Lucas Kanade 光流法(来自wiki 百科)

    小伙伴们开始正式玩起了APM的PX4flow,加上课题方向也要用到光流法,因此从哪个角度来说,都是十分必要的. 光流法最常用的是用于机器视觉的跟踪算法,一是可以跟踪目标物体,而是求解目标的运动学参数( ...

  3. Lucas–Kanade算法

     本文转自:http://blog.csdn.net/JustRemind/article/details/23745579 原文地址:http://www.cnblogs.com/gnuhpc/ ...

  4. 光流(二)--光流算法

    原文: http://www.cnblogs.com/gnuhpc/archive/2012/12/04/2802124.html 简介:在计算机视觉中,Lucas–Kanade光流算法是一种两帧差分 ...

  5. 详解OpenCV中的Lucas Kanade稀疏光流单应追踪器

    详解OpenCV中的Lucas Kanade稀疏光流单应追踪器 1. 效果图 2. 源码 参考 这篇博客将详细介绍OpenCV中的Lucas Kanade稀疏光流单应追踪器. 光流是由物体或相机的运动 ...

  6. Lucas–Kanade

    博主声明:本文英文内容全部来自于http://en.wikipedia.org/wiki/Lucas_Kanade_method,中文由博主据此进行翻译而来. 在计算机视觉中,Lucas-Kanade ...

  7. Lucas-Kanade光流算法原理

    光流(Optical flow or optic flow) 它是一种运动模式,这种运动模式指的是一个物体.表面.边缘在一个视角下由一个观察者(比如眼睛.摄像头等)和背景之间形成的明显移动. 光流技术 ...

  8. Lucas-Kanade光流算法 — Lucas-Kanade Method

    Lucas-Kanade光流算法通过假设像素的变化速度与其临近像素的变化一致来增加约束条件,并利用最小二乘法来计算光流[学习本文内容前,需要先了解光流的基础知识].构建目标函数如下: E=∑p′nea ...

  9. 光流 | 高精度变分光流、LK-HS多项式展开的帧间估计、局部全局光流(论文翻译)及光流场与光流算法研究

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 Two-Frame Motion Esti ...

最新文章

  1. E - Right-Left Cipher CodeForces - 1087A (模拟)
  2. rocksdb和leveldb的bloom filter比较
  3. arcgis 圈选获取图层下点位_ArcGIS小技巧——提取面要素的质心点
  4. 关于扁平化视觉设计趋势的一些小分享
  5. Games101现代图形学入门Lecture 3: Transformation知识点总结
  6. kafka可视化客户端工具(Kafka Tool)的使用
  7. redisLock redis分布式锁
  8. 如何重命名Git标签?
  9. 【Spring第十一篇】Transaction
  10. JavaScript—当前时间
  11. Go Hack 2017 报名开启:十月魔都约一场 Go 语言烧脑之战
  12. SpringBoot中是如何创建WebServer的?
  13. 微信小程序下拉刷新组件加载图片(三个小点)不显示的问题
  14. 如何快速在PDF中查找内容?PDF快速查找内容
  15. react后台管理项目
  16. 【操作系统】HRT任务和SRT任务(实时系统中的硬实时系统和软实时系统)
  17. UE4:浅谈什么是GamePlay框架
  18. 【python】删除excel表格重复行,数据预处理
  19. OpenCV学习2——矩阵的掩模
  20. Ubuntu 20.04 实现Windows 复制粘贴

热门文章

  1. 《香帅财富报告——分化时代的财富选择》Aphrodite Wealth Trends 香帅/著 读后感2021-02-13
  2. bundletool工具使用(Android aab包安装)-Google play上架
  3. 真香!180页100+题15W+字解析的《Java高级面试指南》,果断收下
  4. 【数学建模入门】层次分析法
  5. 2012搭建web服务器_2012年值得关注的15个Web设计趋势
  6. 思科模拟器如何给端口启用根保护
  7. 《沟通的方法》笔记七:沟通的原则
  8. 思维模型 乔哈里视窗
  9. 《360°管理沟通艺术》--司铭宇老师
  10. IPMsg(飞鸽传书)文件发送源码分析