文章转载自:https://blog.csdn.net/sgfmby1994/article/details/68489944
光流是图像亮度的运动信息描述,这种运动模式指的是由一个观察者(比如摄像头),在一个视角下,一个物体、表面、边缘和背景之间形成的明显移动。评估两幅图像的变形。
光流计算基于物体移动的光学特性提出了2个假设:
(1)运动物体在很短的时间内灰度保持不变
(2)给定邻域内速度向量场变化是缓慢的
这就是基本的光流约束方程,但是基本的光流约束方程的约束只有一个,而需要求出x,y方向的速度u和v(两个未知变量)。一个方程两个未知量无法求解,因此LK光流算法考虑到像素点的邻域,将问题变成计算某些点集的光流,联立多个方程,解决该问题。
Lk-光流算法的假设:
(1)亮度恒定,图像场景中的目标的像素在帧间运动时外观保持不变。用于得到光流法的基本方程。
(2)时间连续或者运动是小运动,图像随时间的运动比较缓慢,实际中指的是时间变化相对图像中的运动的比例要足够小,这样灰度才能对位置求偏导(小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去对位置求偏导数),这也是光流不可或缺的假设
(3)邻域内光流一致。一个场景中的同意表面的局部内具有相识的运动,在图像平面上的投影也在邻近区域,且邻近点的速度一致(认为邻域内所有像素的运动是一致的)。如果第三条假设满足意味着可以联立n个基本的光流方程求取x,y方向的速度。
LK光流法是一种稀疏光流法。它假设光流在像素点内的局部邻域是一个常数 , 然后使用最小二乘法对邻域中的所有像素点求解基本的光流方程。从而计算两帧在时间间隔内每个像素点位置的移动。
上面提到LK-光流法是小运动,可是运动快速的时候怎么处理了?两帧物体运动位移较大时,算法的误差较大,因此需要减少两帧之间的位移即缩放原图像,400x400 位移为 16x16 --→ 200x200 位移为 8x8,图像缩放很多后LK算法又变得适用了。
基于上面的描述,Bouguet想到利用金字塔分层的方式,将原图像逐层分解,即上层金字塔(低分辨率)中的一个像素可以代表下层的两个像素。这样,利用金字塔的结构自上而下的修正运动量。
算法的具体步骤:
(1)首先,对每一帧建立一个高斯金字塔,最低分辨率图像在最顶层,原始图片在底层。
(2)从顶层开始,通过最小化每个点的邻域范围内的匹配误差和,得到顶层图像中每个点的光流。
(3)顶层的计算结果(位移情况)反馈到Lm-1层,作为该层的初始时的光流值的估计g
(4)这样沿着金字塔向下反馈,重复估计动作,直到金字塔的底层(即原图像)。
详细过程及公式推导见原文即:文章转载自:https://blog.csdn.net/sgfmby1994/article/details/68489944

光流 LK 金字塔的更多相关文章

  1. Opencv光流运动物体追踪

    光流的概念是由一个叫Gibson的哥们在1950年提出来的.它描述是空间运动物体在观察成像平面上的像素运动的瞬时速度,利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存 ...

  2. Tracking-Learning-Detection (TLD算法总结)

    一.TLD算法简介 TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生ZdenekKalal在2012年7月提出的一种新的单目标长时间跟踪算法.该算法与传 ...

  3. 视觉slam十四讲

    对这个的学习一直都在,感觉到了这本书很强大呀!!! ch2---安装ubuntu:安装kdevelop. ch3---安装eigen3---几何模块:安装Pangolin可视化. ch4---安装So ...

  4. OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)

    https://blog.csdn.net/shadow_guo/article/details/44312691 基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 1. 单目视觉三维重建问题 ...

  5. LK光流算法:提高计算精度和增加搜索范围

    LK光流算法:提高计算精度和增加搜索范围 关于LK算法的基本理论,见:http://www.cnblogs.com/dzyBK/p/4960630.html 这里主要阐述如何提高LK算法的计算精度和在 ...

  6. LK光流算法公式详解

    由于工程需要用到 Lucas-Kanade 光流,在此进行一下简单整理(后续还会陆续整理关于KCF,PCA,SVM,最小二乘.岭回归.核函数.dpm等等): 光流,简单说也就是画面移动过程中,图像上每 ...

  7. LK 光流法简介

    前言 若假定一个局部区域的像素运动是一致的,则可以用这个新的约束条件替代前文中提到的全局速度平滑约束条件.这种光流算法就叫做 LK 光流法. LK 光流法的推导 首先,需要推导出光流约束方程. 这一步 ...

  8. 光流法详解之一(LK光流)

    Lucas–Kanade光流算法是一种两帧差分的光流估计算法.它由Bruce D. Lucas 和 Takeo Kanade提出 [1]. LK光流法有三个假设条件: 1. 亮度恒定:一个像素点随着时 ...

  9. OpenCV LK光流法测试

    OpenCV版本: 3.2.0 例程文件目录/samples/cpp/lkdemo.cpp 原始程序是采集相机数据,台式机没有摄像头,用Euroc测试集,偷ORB_SLAM2 /Examples/Mo ...

随机推荐

  1. epoll 浅析以及 nio 中的 Selector

    首先介绍下epoll的基本原理,网上有很多版本,这里选择一个个人觉得相对清晰的讲解(详情见reference): 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作 ...

  2. 赞一下TMS Software 和 AdvStringGrid

    非常久前给Support发Email问能不能在设计期给AdvStringGrid标题加个数字标识.每次我都是自己改代码加上去.这次升级到新版本号,没想到增加了这个功能: 功能虽小可是非常有用,非常多的 ...

  3. [Algorithm] Breadth First JavaScript Search Algorithm for Graphs

    Breadth first search is a graph search algorithm that starts at one node and visits neighboring node ...

  4. 树状数组求最大值 (RMQ with Shifts)

    代码: #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib ...

  5. 整合Hibernate3.x

    As of Spring 3.0, Spring requires Hibernate 3.2 or later. Hibernate 3和Hibernate 4有一些区别,所以对于spring而已, ...

  6. 【每日Scrum】第三天(4.13) TD学生助手Sprint1站立会议

    TD学生助手Sprint1站立会议(4.13) 任务看板 站立会议内容 组员 昨天 今天 困难 签到 刘铸辉 (组长) 昨天完成了课程的增删改查功能 今天早晨静姐调整了下界面和配色,下午和宝月兄一起做 ...

  7. 前端UI框架整理

    JQuery Jquery官网:http://jquery.com/ jQuery是一个快速,小巧,且功能丰富的JavaScript库. Jquery-1.11.3.min.js 压缩版:http:/ ...

  8. Android.mk: recipe commences before first target. Stop.

    [GUIDE] Setup Android Development Environment on Ubuntu 14.04 Trusty Tahr Hi All, This originally wa ...

  9. hdu5698 百度之星2016round2b第3题

    这题首先是找规律推公式,然后就是组合数学的知识了. 题目是问到第n行第m列的格式有几种方案,我们可以用手算的方法列出当n和m比较小时的所有答案 比如我列出以下8*8的矩阵 矩阵上的数表示从那个位置到最 ...

  10. 索引大小 975.45 MB (1,022,836,736)

    975.45 MB (1,022,836,736)