LK光流算法总结_第1页
LK光流算法总结_第2页
LK光流算法总结_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、运动目标检测之Lucas-Kanade光流算法读书笔记视觉是人类感知自身周围复杂环境最直接有效的手段之一,而在现实生活中 大量有意义的视觉信息都包含在运动中,人眼对运动的物体与目标也更敏感,能够快速的发现运动目标。随着计算机技术、通信技术、图像处理技术的不断发展,计算机视觉己成为目前的热点研究问题之一。而运动目标检测是计算机视觉研究的核心课题之一,融合了图像处理、模式识别、人工智能、自动控制、计算机等众多领域的先进技术,在军事制导、视觉导航、视频监控、智能交通、医疗诊断、工业产品检测等方面有着重要的实用价值与广阔的发展前景。一目标检测运动目标检测 运动目标检测是指从序列图像中将运动的前景目标从

2、背景图像中提取出 来。目前,已有的运动目标检测方法按照算法的基本原理可以分为三类:背景差分法,帧间差分法与光流法。1背景差分法背景差分法又称背景减除法,背景差分法的原理是将当前帧与背景图像进行差分来得到 运动目标区域,但是需要构建一幅背景图像,这幅背景图像必须不含运动目标,并且应该能不断的更新来适应当前背景的变化,构建背景图像的方法有很多,比较常用的有基于单个高斯模型的背景构建,基于混合高斯模型的背景构建,基于中值滤波器的背景构造,基于卡尔曼滤波器的背景构造,基于核函数密度估计的背景模型构造。缺点:因为要求背景是静止的,所以背景的变化,场景中有很多干扰,比如场景中 有树枝与叶子在风中晃动、水面

3、的波动等等,还有照明的变化与天气的变化等都可能影响检测的结果2帧间差分法帧间差分法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的 方法,它可以很好地适用于存在多个运动目标与摄像机移动的情况。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有无物体运动。图像序列逐帧的差分,相当于对图像序列进行了时域下的高通滤波。缺点:不能提取出对象的完整区域,只能提取出边界;同时依赖于选择的帧间时间间隔。 对快速运动的物体,需要选择较小的时间间隔,如果选择不合适,当物体在前后两

4、帧中没有重叠时,会被检测为两个分开的物体:而对慢速运动的物体,应该选择较大的时间差, 如果时间选择不适当,当物体在前后两帧中几乎完全重叠时,则检测不到物体。3光流算法光流,它是一种运动模式,这种运动模式指的是一个物体、表面、边缘在一个视角下由一个观察者(比如眼睛、摄像头等)与背景之间形成的明显移动。光流技术,如运动检测与 图像分割,时间碰撞,运动补偿编码,三维立体视差,都是利用了这种边缘或表面运动的技 术。光流是空间运动物体在观测成像面上的像素运动的瞬时速度,光流的研究是利用图像序列中的像素强度的时域变化与相关性来确定各自像素位置的运动,即研究图像灰度在时间上的变化与场景中物体结构及其运动的关

5、系。CCD丿'3D inoiion x cctorj: -k2D optical J flow vector 111 mFrom Lfht Ze/mk-M&nor s Sitde图1运动场与光流场对应关系图光流算法评估了两幅图像的之间的变形,它的基本假设是体素与图像像素守恒。它假设一个物体的颜色在前后两帧没有巨大而明显的变化。基于这个思路,我们可以得到图像约束方程。不同的光流算法解决了假定了不同附加条件的光流问题。二 Lucas -Kanade 算法在计算机视觉中,Lucas - Kanade光流算法是一种两帧差分的光流估计算法。这个算法是最常见,最流行的。它由Bruce D.

6、 Lucas 与Takeo Kanade提出。它假定在所考虑的像素的局部邻域内,本质上光流是恒定的,由此利用最小二乘法原则对邻域内所有像素求解 基本光流方程。Lucas -Kanade光流法是一种基于梯度的局部参数化光流估计方法,该算法假定在一个空间尺寸的邻域 E中光流矢量是恒定的,然后使用加权最小二乘法 (weighted least squares) 估计光流。它计算两帧在时间 t到t + 3之间每个像素点位置的移动。由于它是基于图像信号的泰勒级数,这种方法称为差分,这就是对于空间与时间坐标使用偏导数。LK算法基于以下三个假设:1) 亮度恒定。2) 时间连续或者是运动是“小运动”。3) 空

7、间一致,临近点有相似运动,保持相邻。假设1亮度恒定的假设即为了保证其等号成立不受亮度的影响,假设2是为了保证KLT能够找到点,假设 3则为以下原因假设,即对于同一个窗口中,所有的点的偏移量都相等。图像约束方程可以写为:I (x ,y ,t ) = I (x +3 x ,y +3 y,t +3 (t1)其中,(x, y, t)为在(x,y)位置的像素。我们假设移动足够的小,那么对图像约束方程使用泰勒公式,我们可以得到:I (x dx, y dy,t dt) I (x, y, t) dx dy 一 dt x y t因为移动足够小所以忽略二阶与更高阶的项。从这个方程中我们可以得到:U对t求导,令dx

8、,vdt(3)dydt分别表示水平方向、垂直方向的光流速度,表示某方向的梯度,用一阶差分代替一阶微分,于是光流基本计算公式有一般形式:I X UI y VI t(4)u, v分别是l(x,y,t)的光流向量中x, y的组成。山与'则是图像在(x ,y ,t )这一点相应方 向的差分。方程有两个未知量,尚不能被解决,这也就是所谓光流算法的光圈问题。那么要找到光流向量则需要另一套解决的方案。而Lucas-Ka nade算法是一个非迭代的算法。将上式写为矩阵相乘形式:Ulx ly *Itv(5)LK光流:假设像素流在一个大小为m*m(m>1)的小窗中是一致的,那么从像素1.n , n

9、=mA2中可以得到下列一组方程:图2 LK光流算法示意图将写成矩阵的形式,则有:(7)式两个个未知数但是有多于两个的方程,这个方程组自然是个超定方程, 也就是说方程组内有冗余为了解决这个超定问题,我们采用最小二乘法解Au b的向量u:=貝丁(一几(8)得到:u ( AT A) 1 ATb(9)考虑矩阵的可逆性:其中的求与是从1到n。于是得:I;Ixlylxlyly(10)(11)加权窗口:述普通的最小二乘解对窗口内n个像素qi 一视同仁。事实上,通常对于靠近中 心像素p的像素更多的权重会更好。介于此,人们使用最小二乘方程的加权版本:= ArWb(12)v = (乂仃厂口仃必(13)计算的:2?

10、時D山"E(14)权重w通常被设置为qi与p之间距离的高斯函数。三LK光流法改进算法1 LK方法的金字塔改进LK方法有一个缺陷,小速度,亮度不变以及区域一致性都是较强的假设,并不很容易得到满足。如当物体运动速度较快时,假设不成立,那么后续的假设就会有较大的偏差,使得最终求出的光流值有较大的误差。我们设邻域窗口半径为 w,则光流d定义为最小化残差方程 ?的速度:«ci)=芒(£,尙)=52 工(仗油)一丿(上十心沖十鬲)'(15)考虑物体的运动速度较大时,算法会出现较大的误差。 那么就希望能减少图像中物体的运动速度。一个直观的方法就是,缩小图像的尺寸。假设当

11、图像为400X 400时,物体速度为16 16,那么图像缩小为 200X200时,速度变为8,8。缩小为100*100时,速度减少到4,4。所以在源图像缩放了很多以后,原算法又变得适用了。所以光流可以通过生成原图像的金字塔图像,逐层求解,不断精确来求得。Lm层,则第0层为原图像。设已知假设图像的宽高每次缩放为原来的一般,共缩放了原图的速度向量为 d,则每一层的速度为基于金字塔的光流法的大概步骤如下:现在最深层(16)Lm中求解光流。这次计算的结果反馈给上一次Lm-1,作为该层初始时的光流值得估计g。就这样一层一层的向上反馈,直到最高层,即原图。对于每一层L,上方程变为:tiy-KUJ“旳=&#

12、163;(牴殆)=v £(如旳-弘+姑+盈用+姑+殆)r(17)T廿生一U'_城每一层的计算结果通过如下方程反馈给上一层作为初始的光流估计:严=+ dL)(18)由于金字塔的缩放减小了光流值,最底层的光流估计值可以设为0,即綁=卩尸(19)图3金字塔光流示意图2前后光流估计算法但这些假设在阴影、 边统的光流计算方法主要是基于灰度守恒与光流场的平滑性假设,界与遮挡性的地方不再成立,为此,对其进行改进。前向一后向光流方程:/(兀 JV) = /(X + 3+ Af)(20)I(xy9t + Af) = I(x - Ax,y - ” f)光流约束方程为:人 M + /r V + /

13、 二 0 T ( 21)尽管Lucas - Kanade光流法计算简单,光流估计精度较高,但它有一个致命缺点,假 定邻域Q内各像素点光流保持恒定,而且光流计算依赖于窗口权重函数,这意味着如果在邻域Q内存在严重违反光流约束方程的点或邻域Q运动不连续,将使得估计的光流可靠性严重降低。为此,弓I入 Hessian矩阵判断领域Q内每点对于基本约束方程的"良态性”。方程?分别对x与y求偏导数,可得:(22)加+=-人写成矩阵形式,即:(23)定义Hessian矩阵:H 二厶L即-Hessian矩阵的条件数:(25)其中"z、"利分别为Hessian矩阵H的最大特征值与最小特

14、征值,可以通过Hessian矩阵的条件数大小来判断方程 (23)解的稳定性,如果Hessian矩阵的条件数很大则方程(23) 为病态方程,对应的 Hessian矩阵秩很小,其解不稳定,计算的光流不可靠;如果 Hessian 矩阵的条件数接近1,对应的Hessian矩阵秩很大,方程(23)为良态,其解鲁棒性较好。由此可以通过计算 Hessian矩阵的条件数来剔除邻域Q内不可靠点。Hessian矩阵的条件数很好地刻画了线性方程(11)解的稳定性,而且条件数越大,对应的Hessian矩阵的秩越小,为此可以先利用 Hessian矩阵剔除邻域Q内不可靠点,并把各点对应条件数的倒数作为该点权重,其算法如下:计算图像中每点的一阶与二阶梯度; 分别计算每点对应Hessian矩阵的秩det(H)与条件数Cond( H),设定阈值t 并对 每个邻域Q内的)(X W 进行归一化处理,则:f dei(Fl) a if> r 采用加权最小二乘法求解式(21)光流场(u,v)四总结如上所述,光流法基本思想是像素守恒,其思想简单,易于理解。LK算法是对光流法的改进,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论