当前位置:文档之家› 运动目标检测光流法详解

运动目标检测光流法详解

摘要运动目标检测方法是研究如何完成对视频图像序列中感兴趣的运动目标区域的“准确定位”问题。

光流场指图像灰度模式的表面运动,它可以反映视频相邻帧之间的运动信息,因而可以用于运动目标的检测。

MATLAB这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以利用MATLAB 软件来用光流法对运动目标的检测中具有很大的优势。

本设计主要可以借助matlab软件编写程序,运用Horn-Schunck算法对图像前后两帧进行处理,画出图像的光流场。

而图像的光流场每个像素都有一个运动矢量,因此可以反映相邻帧之间的运动,分析图像的光流场就可以得出图像中的运动目标的运动情况。

关键字:光流法;Horn-Schunck算法;matlab目录1光流法的设计目的 (1)2光流法的原理 (1)2.1光流法的介绍 (1)2.1.1光流与光流场的概念 (1)2.1光流法检测运动目标的原理 (2)2.1.1光流场计算的基本原理 (2)2.2.2基于梯度的光流场算法 (2)2.2.3Horn-Schunck算法 (3)2.2.4光流法检测运动目标物体的基本原理概述 (5)3光流法的程序具体实现 (6)3.1源代码 (6)3.1.1求解光流场函数 (6)3.1.2求导函数 (9)3.1.3高斯滤波函数 (9)3.1.4平滑性约束条件函数 (10)3.1.5画图函数 (10)4仿真图及分析 (12)结论 (13)参考文献 (14)1 光流法的设计目的数字图像处理,就是用数字计算机及其他有关数字技术,对图像进行处理,以达到预期的目的。

随着计算机的发展,图像处理技术在许多领域得到了广泛应用,数字图像处理已成为电子信息、通信、计算机、自动化、信号处理等专业的重要课程。

数字图像处理课程设计是在学习完数字图像处理的相关理论后,进行的综合性训练课程,其目的是:使学生进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法;增强学生应用Matlab编写数字图像处理的应用程序及分析、解决实际问题的能力;尝试所学的内容解决实际工程问题,培养学生的工程实践能力。

运动目标检测是数字图像处理技术的一个主要部分,近些年来,随着多媒体技术的迅猛发展和计算机性能的不断提高,动态图像处理技术日益受到人们的青睞,并且取得了丰硕的成果,广泛应用于交通管理、军事目标跟踪、生物医学等领域。

因此,基于光流法,实现运动目标的检测是本文的研究对象。

结合图书馆书籍、网上资料以及现有期刊杂志,初步建立起运动目标检测的整体思路和方法。

2 光流法的原理2.1 光流法的介绍2.1.1 光流与光流场的概念光流是指空间运动物体在观测成像面上的像素运动的瞬时速度,它利用图像序列像素强度数据的时域变化和相关性来确定各自像素位置的“运动”,即反映图像灰度在时间上的变化与景物中物体结构及其运动的关系。

将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。

视觉心理学认为人与被观察物体发生相对运动时,被观察物体表面带光学特征的部位的移动给人们提供了运动和结构的信息。

当相机与场景目标间有相对运动时所观察到的亮度模式运动称之为光流(optical flow),或者说物体带光学特征部位的移动投影到视网膜平面(也即图像平面)上就形成了光流。

光流场是指图像灰度模式的表观运动,它是一个二维矢量场,所包含的信息就是各个像素点的瞬时运动速度矢量信息。

光流场每个像素都有一个运动矢量,因此可以反映相邻帧之间的运动[1]。

2.1 光流法检测运动目标的原理2.1.1 光流场计算的基本原理一般情况下,光流由相机运动,场景中目标运动或两者的共同运动产生。

光流场的计算大致可分为三类:基于梯度的方法(Horn-Schunck);基于匹配的方法;基于能量的方法。

基于梯度的方法利用图像灰度的梯度来计算光流,是研究最多的方法。

基于梯度的方法根据运动前后图像灰度保持不变这个基本假设,导出光流约束方程。

由于光流约束方程并不能唯一的确定光流,因此需要导入其他的约束。

根据引入的约束不同,基于梯度的方法又可以分为全局约束方法和局部约束方法。

全局约束的方法假定光流在整个图像范围内满足一定的约束条件;而局部约束的方法假定在给定点周围的一个小区域内,光流满足一定的约束条件。

基于匹配的方法,这类方法是将速度v m定义为视差d=(dx,dy)t,使得两个时刻的图像区域的匹配最佳。

为了找到最佳匹配,我们可以对定义在d上的相似度量,如规一化的互相关系数,进行最大化,也可以对某一距离度量,如光强度差的平方和,进行最小化[2]。

2.2.2 基于梯度的光流场算法梯度光流法又分为全局约束方法和局部约束方法。

全局约束方法假定光流在整个图像范围内满足一定的约束条件,而局部约束的方法假定在给定点周围的一个小区域内,光流满足于一定的约束条件。

下面先导出光流约束方程。

然后给出两种比较典型的基于梯度的方法。

假定图像上点t y x ),(m =在时刻t 的灰度值为)(t y x ,,I =,经过时间间隔dt后,对应点的灰度为dt)t dy,y dx,x I +++([3],当时,可以认为两点的灰度不变,也就是:)()(t y x dt t dy y dx ,,I ,,x I =+++ (2.1)如果图像灰度随x,y,t 缓慢变化,可以将(1)式左边泰勒级数展开:ε++=+++),,(,,I t y x I dt t dy y dx x )( (2.2)其中ε代表二阶无穷小项。

由于dt →0,忽略ε,可以得到:0I =∂∂+∂∂+∂∂dt tI dy x I dx x (2.3) 令u=,v=代表x,y 方向上的光流,I X =,I Y =,I T =分别代表图像灰度相对于x,y,t 的偏导[4],式(2.3)可以写成:0I v I u I t y x =++ (2.4)此式即光流场的基本方程。

写成向量形式,即:0=+t m I V (2.5)其中=(I X , I y )是图像在点m 处的梯度,V m (U,V)是点m 的光流。

上式称为光流约束方程,是所有基于梯度的光流计算方法的基础。

2.2.3 Horn-Schunck 算法Horn-Schunck 算法提出了光流的平滑性约束。

即:图像上任一点的光流并不是独立的,光流在整个图像范围内平滑变化。

因此Horn-Schunck 算法是一种全局约束的方法[5]。

设平滑性约束项为极小化:⎰⎰+++=dxdy v v u u y x y x s )(E 2222 (2.6)由基本等式,显然要求极小化:dxdy I y I u I t y x c 2)(E ⎰⎰++= (2.7)于是,由(2.6)和(2.7)式可知,最后求得光流应满足(2.8)式:dxdy I v I u I v v u u t y x y x y x ])()([min 22222++++++⎰⎰λ (2.8)这里λ的取值要考虑图中的噪声情况,如果噪声较强,说明图像数据本身的置信度较低,需要更多的依赖光流约束,所以λ可以取较大的值;反之,取较小的值。

为了满足(2.8),可将该式对u 和v 分别求导,并取导数为0。

这样就得到[5]:t x y x x I I u v I I u I -∇-=+22λ (2.9)t y y x y I I v u I I v I -∇-=+22λ (2.10) 以上两式也称为Euler 方程。

如果令u 和v 分别表示u 邻域和v 邻域中的均值(可用图像平滑算子求得)[6],并令u u u ∇=-和v v v ∇=-,则式(2.9)和(2.10)改写成: )()(k j i k j i k j i k j i k j i k j i k j i k j i I I I I I I ,1,1,1,,,1,,1,1,11,1,1,,11,,t I 41I 41I +++++++++++++++-+++=(2.11)t x y x I I u v I I u -=++222x I λλ)( (2.12)t y y x I I v u I I v -=++222y I λλ)( (2.13)从上式解得:222)(y x t y x x I I I v I u I I u u ++++-=λ (2.14)222y )(y x t y x I I I v I u I I v v ++++-=λ (2.15)式(2.14)和(2.15)提供了用迭代法求解u 和v 的基础[7]。

实际中,常用松弛迭方程进行求解:222)()()()1(y x t k y k x x k k II I v I u I I u u ++++-=+λ (2.16)222)()(y )()1(v y x t k y k x k k I I I v I u I I v ++++-=+λ (2.17)其中k 是循环数,(0)u 和(0)v 是初始值,可以取为0。

u 和v 是局部平均,λ为权重系数,根据导数求取的精确度确定。

在实际求解过程中,需要估计亮度的时间和空间微分。

这可在图像点的一个2×2×2立方邻域中估计[8],如果下标,,i j k 分别对应,,x y t ,那么3个一阶偏导分别是:)()(1,1,1,,,1,,,1,1,11,,1,1,1,,1x I 41I 41I +++++++++++++++-+++=k j i k j i k j i k j i k j i k j i k j i k j i I I I I I I (2.18))()(1,,11,,,,1,,1,1,11,1,,1,1,1,y I 41I 41I +++++++++++++++-+++=k j i k j i k j i k j i k j i k j i k j i k j i I I I I I I (2.19))()(k j i k j i k j i k j i k j i k j i k j i k j i I I I I I I ,1,1,1,,,1,,1,1,11,1,1,,11,,t I 41I 41I +++++++++++++++-+++=(2.20)也就是用一阶差分来替代灰度I 关于x,y,t 轴的偏导。

上述算法的实现相对简单,计算复杂性较低。

但是这种技术存在着严重缺陷。

首先,图像灰度保持假设对于许多自然图像序列来讲都是不合适的,尤其是在图像的遮合边缘处和(或)当运动速度较高时,基于灰度保持假设的约束存在较大误差。

其次,在图像的遮合区域,速度场是突变的,而总体平滑约束则迫使所估计的光流场平滑地穿过这一区域,此过程平滑掉了有关物体形状的非常重要的信息。

第二,微分技术的一个要求是I(x ,y ,t)必须是可微的,这暗示着需对图像数据进行时空预平滑[9],以避免混叠效应;而且数值微分的求取具有病态性,如果处理不当将对最终的速度估计产生显著影响。

相关主题