运动目标检测光流法
- 格式:doc
- 大小:585.12 KB
- 文档页数:16
运动目标检测光流法一、引言在计算机视觉领域中,运动目标检测是一个重要研究方向,其目的在于从视频序列中分离出运动的目标。
光流法作为其中的一种方法,通过估计像素点的运动矢量来检测运动目标。
本文将详细介绍光流法在运动目标检测中的应用。
二、光流法的基本原理光流法是一种基于像素点运动估计的方法,其基本原理是通过计算图像序列中每个像素点的运动矢量,从而得到运动目标的信息。
光流场是光流法在图像上的表现形式,它反映了图像中每个像素点的运动状态。
光流场的计算可以通过多种方法实现,如基于梯度的方法、基于匹配的方法等。
三、光流法在运动目标检测中的应用在运动目标检测中,光流法的主要应用包括以下几个方面:运动目标的分割:通过计算光流场,可以将运动目标与背景进行分割。
由于运动目标与背景的光流矢量存在差异,因此可以通过设定阈值将运动目标从背景中分离出来。
运动目标的跟踪:利用光流场可以实现对运动目标的跟踪。
通过计算连续帧之间光流矢量的变化,可以估计出运动目标的运动轨迹,从而实现目标的跟踪。
运动目标的识别:通过对光流场的分析,可以提取出运动目标的特征信息,如形状、大小、速度等。
这些特征信息可以用于运动目标的识别,如行人、车辆等。
四、光流法的优缺点分析光流法在运动目标检测中具有以下优点:可以处理复杂背景下的运动目标检测问题;可以实现对运动目标的精确分割和跟踪;可以提取出丰富的运动目标特征信息。
然而,光流法也存在一些缺点:对光照变化敏感:当光照条件发生变化时,光流场的计算结果可能会受到影响,从而导致检测精度的下降;计算复杂度高:光流场的计算涉及到大量的数学运算,因此其计算复杂度较高,难以实现实时处理;对噪声敏感:当图像中存在噪声时,光流场的计算结果可能会受到影响,从而导致检测精度的下降。
为了克服这些缺点,研究者们提出了许多改进方法,如基于深度学习的方法、基于滤波的方法等。
五、结论与展望光流法作为一种基于像素点运动估计的方法,在运动目标检测中具有广泛的应用前景。
摘要运动目标检测方法是研究如何完成对视频图像序列中感兴趣的运动目标区域的“准确定位”问题。
光流场指图像灰度模式的表面运动,它可以反映视频相邻帧之间的运动信息,因而可以用于运动目标的检测。
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]。
一、光流法光流法[1]是一种以灰度梯度基本不变或亮度恒定的约束假设为基础对运动目标进行检测的有效方法。
光流是指图像中灰度模式运动的速度,它是景物中可见的三维速度矢量在成像平面上的投影,表示了景物表面点在图像中位置的瞬时变化,一般情况下,可以认为光流和运动场没有太大区别,因此就可以根据图像运动来估计相对运动。
优点:光流不仅携带了运动目标的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够检测独立运动的对象,不需要预先知道场景的任何信息,并且能够适用于静止背景和运动背景两种环境。
缺点:当目标与背景图像的对比度太小,或图像存在噪音时,单纯地从图像灰度强度出发来探测目标的光流场方法将会导致很高的虚警率。
且计算复杂耗时,需要特殊的硬件支持。
二、时域差分法时域差分法分为帧差法和改进的三帧双差分法。
1.帧差法帧差法[8]是在图像序列中的相邻帧采用基于像素点的时间差分, 然后阈值化来提取出运动区域。
视频流的场景具有连续性,在环境亮度变化不大的情况下,图像中若没有物体运动,帧差值会很小;反之若有物体运动则会引起显著的差值。
优点:时域相邻帧差法算法简单,易于实现,对背景或者光线的缓慢变化不太敏感,具有较强的适应性,能够快速有效地从背景中检测出运动目标。
缺点:它不能完全提取运动目标所有相关像素点,在运动实体内部不容易产生空洞现象。
而且在运动方向上被拉伸,包含了当前帧中由于运动引起的背景显露部分,这样提取的目标信息并不准确。
2.三帧双差分法三帧双差分法与相邻帧差法基本思想类似,但检测运动目标的判决条件上有所不同。
三帧双差分较两帧差分提取的运动目标位置更为准确。
三、背景消减法背景消减法[4]是将当前帧与背景帧相减,用阈值T判断得到当前时刻图像中偏离背景模型值较大的点,若差值大于T则认为是前景点(目标);反之,认为是背景点,从而完整的分割出目标物体。
视频监控中的运动目标检测与跟踪随着科技的不断发展,视频监控系统在我们生活中起到了越来越重要的作用。
其中,运动目标检测与跟踪是视频监控系统中的关键技术之一。
本文将详细介绍视频监控中的运动目标检测与跟踪的原理和应用。
在视频监控系统中,运动目标指的是图像序列中不断变化的区域,例如人、车辆等。
而运动目标检测与跟踪则是指在视频中自动识别和跟踪这些运动目标的过程。
首先,运动目标检测是指在视频序列中找出运动目标所在的位置。
常见的运动目标检测算法包括帧间差、光流法和背景建模等。
帧间差方法通过比较连续帧之间的像素差异来检测目标的运动。
光流法则利用像素间的灰度变化来估计运动目标的移动。
背景建模则通过建立静止背景图像来检测运动目标。
其次,运动目标跟踪是指在检测到的运动目标中,跟踪其运动轨迹并实时更新位置信息。
常见的运动目标跟踪算法包括卡尔曼滤波器、粒子滤波器和相关滤波器等。
卡尔曼滤波器通过预测和观测更新的方式来估计目标的位置。
粒子滤波器则通过在候选区域中采样来估计目标的位置。
相关滤波器利用目标模板和候选区域之间的相关性来跟踪目标。
在实际应用中,运动目标检测与跟踪技术被广泛应用于视频监控系统中。
首先,它可以用于实时监测人员和车辆的行为,以便及时发现异常情况。
例如,当有人携带危险物品进入监控区域时,系统可以立即发出警报并采取相应措施。
其次,它可以用于交通管理系统中,监测交通流量和违规行为。
例如,当有车辆逆向行驶或超速行驶时,系统可以自动拍摄照片或录像作为证据。
此外,运动目标检测与跟踪技术还可用于视频分析和智能监控系统中,为用户提供更加智能的安防服务。
然而,运动目标检测与跟踪技术也存在一些挑战和局限性。
首先,复杂的背景和光照变化会对运动目标检测产生干扰。
例如,当目标混杂在复杂的背景中时,算法往往会出现误检测现象。
其次,目标遮挡和形状变化也会对运动目标跟踪产生困难。
例如,当目标部分被其他物体遮挡时,算法往往会失去目标的轨迹。
运动目标检测方法
运动目标检测是计算机视觉领域中的一个重要任务,旨在识别图像或视频中的运动目标并将其从背景中分割出来。
以下是几种常见的运动目标检测方法:
1. 基于背景差分的方法:该方法通过建立静态背景模型并通过计算当前帧与背景之间的差异来检测运动目标。
常见的背景差分算法有帧差法、高斯混合模型(GMM)法等。
2. 基于光流的方法:光流是描述图像中像素运动方向和速度的一种方法。
基于光流的运动目标检测方法通过计算两个相邻帧之间的光流场,并根据光流的一致性来检测运动目标。
常见的光流算法有Lucas-Kanade算法、Horn-Schunck 算法等。
3. 基于运动轨迹的方法:该方法通过跟踪目标的运动轨迹来检测运动目标。
常见的运动目标跟踪算法有卡尔曼滤波算法、粒子滤波算法等。
4. 基于深度学习的方法:近年来,深度学习技术在计算机视觉领域取得了显著的进展。
基于深度学习的运动目标检测方法通过使用深度学习模型,如卷积神经网络(CNN)或循环神经网络(RNN),来学习图像或视频中的运动目标特征,并进行目标检测。
5. 基于多目标跟踪的方法:运动目标检测通常是多目标跟踪的前置任务。
基于
多目标跟踪的方法可以通过结合目标检测和目标跟踪的技术,实现对连续帧中的多个目标进行准确的检测。
这些方法各有特点和适用领域,选择适合任务需求的方法能够提高运动目标检测的效果。
《基于光流法的运动目标检测与跟踪技术》篇一一、引言在计算机视觉和智能监控领域,运动目标检测与跟踪技术是一项至关重要的技术。
该技术通过实时获取并分析视频序列中的图像信息,对运动目标进行准确检测与跟踪,进而实现目标识别、行为分析、异常检测等功能。
光流法作为一种经典的运动目标检测与跟踪方法,具有广泛的应用前景。
本文将重点介绍基于光流法的运动目标检测与跟踪技术,分析其原理、方法及优缺点,并探讨其在实际应用中的发展前景。
二、光流法原理光流是指图像中像素点在单位时间内运动的速度和方向。
光流法基于图像序列中像素强度的变化来计算光流,从而实现对运动目标的检测与跟踪。
其基本原理是:在连续的视频帧之间,如果某个区域发生运动,那么该区域的像素强度变化将与周围区域产生差异。
通过分析这些差异,可以确定运动目标的轨迹和位置。
三、光流法在运动目标检测中的应用基于光流法的运动目标检测方法主要包括以下步骤:首先,通过计算图像序列中像素的光流,得到每个像素的运动矢量场;然后,根据预设的阈值或其他条件,从运动矢量场中提取出运动目标的轮廓信息;最后,通过形态学处理等手段对提取出的轮廓信息进行优化和整合,得到完整的运动目标区域。
该方法可以有效地从背景中分离出运动目标,为后续的跟踪和分析提供基础。
四、光流法在运动目标跟踪中的应用基于光流法的运动目标跟踪方法主要利用光流信息对运动目标进行连续的定位和跟踪。
具体而言,首先在初始帧中检测并确定运动目标的初始位置;然后根据后续帧中的光流信息,计算目标在连续帧之间的位置变化;最后通过一定的算法对目标的轨迹进行预测和更新,实现目标的跟踪。
该方法可以有效地解决因背景干扰、光照变化等因素导致的跟踪问题。
五、光流法的优缺点及改进方向优点:1. 适用于各种类型的运动目标,包括刚性物体和非刚性物体;2. 可以处理背景动态变化的情况;3. 在没有先验知识的情况下,能够自主地检测和跟踪运动目标。
缺点:1. 计算量大,实时性较差;2. 对光照变化和噪声较为敏感;3. 在复杂场景下,容易出现误检和漏检的情况。
【Matlab】运动⽬标检测之“光流法”光流(optical flow)1950年,Gibson⾸先提出了光流的概念,所谓光流就是指图像表现运动的速度。
物体在运动的时候之所以能被⼈眼发现,就是因为当物体运动时,会在⼈的视⽹膜上形成⼀系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼睛视⽹膜,就好像⼀种光流过⼀样,故称之为光流。
光流法检测运动物体的原理:⾸先给图像中每个像素点赋予⼀个速度⽮量(光流),这样就形成了光流场。
如果图像中没有运动物体,光流场连续均匀,如果有运动物体,运动物体的光流和图像的光流不同,光流场不再连续均匀。
从⽽可以检测出运动物体及位置。
应⽤背景:根据图像前景和背景的运动,检测视频的变化,空间运动物体在观察成像平⾯上的像素运动的瞬时速度,是利⽤图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上⼀帧跟当前帧之间存在的对应关系,从⽽计算出相邻帧之间物体的运动信息的⼀种⽅法。
可以⽤来检测运动抖动物体关键技术:当⼈的眼睛观察运动物体时,物体的景象在⼈眼的视⽹膜上形成⼀系列连续变化的图像,这⼀系列连续变化的信息不断“流过”视⽹膜(即图像平⾯),好像⼀种光的“流”,故称之为光流(optical flow)。
编程处理中:matlab中有现成的!!函数function [fx, fy, ft] = computeDerivatives(im1, im2)if size(im2,1)==0im2=zeros(size(im1));end% Horn-Schunck original methodfx = conv2(im1,0.25* [-11; -11],'same') + conv2(im2, 0.25*[-11; -11],'same');fy = conv2(im1, 0.25*[-1 -1; 11], 'same') + conv2(im2, 0.25*[-1 -1; 11], 'same');ft = conv2(im1, 0.25*ones(2),'same') + conv2(im2, -0.25*ones(2),'same');% derivatives as in Barron% fx= conv2(im1,(1/12)*[-180 -81],'same');% fy= conv2(im1,(1/12)*[-180 -81]','same');% ft = conv2(im1, 0.25*ones(2),'same') + conv2(im2, -0.25*ones(2),'same');% fx=-fx;fy=-fy;% An alternative way to compute the spatiotemporal derivatives is to use simple finite difference masks.% fx = conv2(im1,[1 -1]);% fy = conv2(im1,[1; -1]);% ft= im2-im1;也有现成的实例:Affine optic flow - File Exchange - MATLAB CentralEstimate optical flow using Horn-Schunck method - MATLAB调⽤系统对象vision.OpticalFlow后产⽣的混合矩阵数据如何处理 – MATLAB中⽂论坛Estimate optical flow using Lucas-Kanade method - MATLABLucas-Kanade Tutorial Example 1 - File Exchange - MATLAB Central1.⾸先是假设条件:(1)亮度恒定,就是同⼀点随着时间的变化,其亮度不会发⽣改变。
多摄像机视频监控中运动目标检测与跟踪一、本文概述随着视频监控技术的不断发展,多摄像机视频监控系统已成为公共安全、交通管理、商业监控等领域的重要工具。
在这些系统中,运动目标的检测与跟踪是实现自动监控、事件识别和行为分析的关键技术。
本文旨在探讨多摄像机视频监控中运动目标检测与跟踪的相关技术,分析其原理、方法及应用现状,并对未来的发展趋势进行展望。
本文将介绍多摄像机视频监控系统的基本构成和特点,阐述运动目标检测与跟踪在多摄像机系统中的重要性和应用价值。
随后,将详细介绍运动目标检测的基本原理和方法,包括背景建模、帧间差分、光流法等,并分析它们在多摄像机系统中的适用性和优缺点。
接着,本文将重点讨论运动目标的跟踪技术,包括基于特征的方法、基于滤波的方法、基于深度学习的方法等。
我们将分析这些方法的原理、实现步骤及性能评估,并探讨它们在多摄像机系统中的实际应用效果。
还将讨论多摄像机之间的目标匹配与数据融合技术,以实现跨摄像机的目标跟踪。
本文将总结多摄像机视频监控中运动目标检测与跟踪技术的现状和挑战,并展望未来的发展趋势。
随着深度学习、计算机视觉等技术的不断进步,我们相信未来的运动目标检测与跟踪技术将更加精确、高效和智能化,为视频监控领域的发展带来更大的突破和创新。
二、相关技术研究综述随着计算机视觉和图像处理技术的快速发展,多摄像机视频监控中的运动目标检测与跟踪已成为当前研究的热点。
该领域涉及多个研究方向,包括图像处理、模式识别等。
本节将对与运动目标检测与跟踪相关的技术研究进行综述。
关于运动目标检测,主要的方法包括帧间差分法、背景建模法、光流法等。
帧间差分法通过比较连续帧之间的差异来检测运动目标,这种方法计算简单,但对光照变化敏感。
背景建模法通过建立背景模型,将当前帧与背景模型进行比较以检测运动目标,适用于静态背景的场景。
光流法基于像素亮度在图像序列中的变化来估计像素的运动,适用于动态背景的场景。
运动目标的跟踪是视频监控中的另一个关键任务。
光流法运动目标检测光流法是一种计算机视觉的方法,用于检测视频中的目标运动。
它通过分析连续帧之间的像素变化,获得目标在时间上的位移信息。
本文将介绍光流法的原理、优缺点以及在目标检测中的应用。
光流法基于一个假设:相邻帧之间的像素强度保持不变。
根据这个假设,光流法找出当前帧中的每个像素,在下一帧中的对应位置。
这个对应位置的偏移量就是该像素的光流向量。
在光流法中,最常用的算法是Lucas-Kanade算法。
该算法基于最小二乘法,使用了窗口特征和局部性质。
首先,选择一个窗口大小,在当前帧和下一帧中找到窗口内的特征点,并计算它们的灰度差。
然后,根据灰度差和窗口的局部性质,用最小二乘法求解光流向量。
光流法有许多优点,使其成为目标检测中常用的技术之一。
首先,光流法只需要计算相邻帧之间的像素变化,不需要额外的训练过程,因此计算速度较快。
其次,光流法对目标运动的估计较为准确,能够捕捉到细微的移动,例如运动模糊或者快速的目标运动。
此外,光流法还具有较好的鲁棒性,对光照条件的变化和背景杂乱的情况具有一定的容忍度。
然而,光流法也有一些限制。
首先,光流法假设相邻帧之间的像素强度保持不变,这个假设在一些情况下并不成立,例如光照变化或者背景混杂的情况下。
此外,想要获得准确的光流向量需要选择合适的窗口大小和特征点,这个过程对于不同的视频可能需要调整参数,不够智能化。
在目标检测中,光流法常被用于场景分析、目标跟踪和行为识别等任务中。
在场景分析中,光流法可以根据目标的运动信息,进行场景的聚类和分割,帮助检测出不同的目标区域。
在目标跟踪中,光流法可以追踪目标的运动轨迹,提供目标位置的估计。
在行为识别中,光流法可以提取目标的动作特征,用于动作识别和行为分析。
综上所述,光流法作为一种计算机视觉的方法,在目标检测中具有重要的应用。
它能够根据连续帧之间的像素变化,获得目标的运动信息,用于场景分析、目标跟踪和行为识别等任务中。
虽然光流法存在一些限制,但其优点使其成为目标检测中常用的技术之一。
《运动目标检测算法的探讨》篇一一、引言随着计算机视觉技术的飞速发展,运动目标检测算法在智能监控、智能交通、人机交互等领域的应用越来越广泛。
运动目标检测是计算机视觉领域中的一个重要研究方向,其目的是从视频序列中提取出感兴趣的运动目标,以便进一步分析和处理。
本文将对运动目标检测算法进行探讨,包括其基本原理、常见方法以及面临的问题与挑战。
二、运动目标检测算法的基本原理运动目标检测算法的基本原理是利用视频序列中目标的运动特性,通过一定的图像处理技术和算法,从背景中分离出运动目标。
该算法主要包括以下几个步骤:背景建模、前景提取、目标分割和目标跟踪。
1. 背景建模:背景建模是运动目标检测的第一步,其目的是建立背景模型,以便后续的前景提取和目标跟踪。
常见的背景建模方法包括统计法、学习法等。
2. 前景提取:前景提取是通过比较当前帧与背景模型,找出与背景模型不一致的部分,即运动目标。
这个过程需要用到图像处理技术和算法,如帧间差分法、光流法等。
3. 目标分割:目标分割是将提取出的运动目标从图像中分离出来,以便进行进一步的分析和处理。
常用的方法包括阈值分割、区域生长等。
4. 目标跟踪:目标跟踪是在连续的视频帧中对运动目标进行定位和跟踪,以便进行行为分析、目标识别等后续处理。
常用的跟踪方法包括基于特征的跟踪、基于模型的跟踪等。
三、常见的运动目标检测算法1. 基于光流法的运动目标检测算法:光流法是一种基于像素级运动的检测方法,通过计算像素在时间上的变化来检测运动目标。
该方法具有较好的抗干扰能力,但计算量大,实时性较差。
2. 基于帧间差分法的运动目标检测算法:帧间差分法是通过比较连续帧之间的差异来检测运动目标。
该方法计算量小,实时性好,但容易受到光照变化和噪声的影响。
3. 基于背景减除法的运动目标检测算法:背景减除法是通过建立背景模型,将当前帧与背景模型进行差分来提取运动目标。
该方法具有较好的鲁棒性和实时性,但需要准确的背景建模和更新策略。
摘要运动目标检测方法是研究如何完成对视频图像序列中感兴趣的运动目标区域的“准确定位”问题。
光流场指图像灰度模式的表面运动,它可以反映视频相邻帧之间的运动信息,因而可以用于运动目标的检测。
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],以避免混叠效应;而且数值微分的求取具有病态性,如果处理不当将对最终的速度估计产生显著影响。