没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
24页
运动目标自动检测是对运动目标进行检测、提取、识别和跟踪的技术。基于视频序列的运动目标检测,一直以来都是机器视觉、智能监控系统、视频跟踪系统等领域的研究重点,是整个计算机视觉的研究难点之一。运动目标检测的结果正确性对后续的图像处理、图像理解等工作的顺利开展具有决定性的作用,所以能否将运动物体从视频序列中准确地检测出来,是运动估计、目标识别、行为理解等高层次视频分析模块能否成功的关键。
资源推荐
资源详情
资源评论
计算机视觉与深度学习实战——以 MATLAB、Python 为工具
234
基于帧间差法进行视频目标检测
20.1 案例背景
运动目标自动检测是对运动目标进行检测、提取、识别和跟踪的技术。基于视频序列的运
动目标检测,一直以来都是机器视觉、智能监控系统、视频跟踪系统等领域的研究重点,是整
个计算机视觉的研究难点之一。运动目标检测的结果正确性对后续的图像处理、图像理解等工
作的顺利开展具有决定性的作用,所以能否将运动物体从视频序列中准确地检测出来,是运动
估计、目标识别、行为理解等高层次视频分析模块能否成功的关键。
运动目标检测技术在实际应用上更能体现人们对移动目标的定位和跟踪需求,因此在许多
领域都有着广泛的应用。在运输上,运动目标检测技术被用于交通管理与视频监控来智能识别
运输工具或行人的违章行为,为后续的抓拍、录入等提供了数据源;在医学上,运动目标检测
技术被用于生物组织运动分析等方面,为病理判断提供了参考依据;在场景监控等安全防范领
域,基于运动目标检测的视频监控系统与原来完全依靠人眼进行监控的系统相比,大大减轻了
监控人员的工作强度,避免了值班员主观判断所引起的漏报、误判等问题,为单位节省了人工
成本。因此,对运动目标检测技术的研究是一项既有理论意义又有使用价值的课题。近年来关
于这项课题的研究有很多,大体有帧间差分法、背景差分法和光流法等算法。其中,帧间差分
法由于运算量较小,易于硬件实现,已得到了广泛应用。
20.2 理论基础
运动目标检测算法往往是面向特定应用场景的,不存在一个算法能适用于所有场合的情况,
第 20 章 基于帧间差法进行视频目标检测
235
也就是说每个算法都有其一定的适用范围。特别是,在同类环境下工作的各种检测算法有其特
有的优点和缺点,目前还没有一个公认的标准来衡量算法的优劣。其中,从算法应用对象的角
度来看,运动目标检测算法主要有两种:基于图像差分的算法和基于光流场的算法。其中,基
于图像差分的算法又可以分为帧间差分法和背景差分法。
20.2.1 帧间差分法
帧间差分法一般通过判断相邻两帧或若干帧图像之间像素灰度值之差是否大于某一阈值来
识别物体的运动:如果差的绝对值小于某一阈值 T,则未检测到运动目标,反之,发现运动目
标。以车辆模型运动序列为例,其帧间差分法的检测效果如图 20-1 所示。
图 20-1 帧间差分效果图
假设取相邻两帧的灰度图像 I
k
、I
k+1
,并且两帧之间具有良好的配准效果,图像上某个像素
点(i,j)在 k 时刻的灰度值记为 f(I,j,k),在 k+1 时刻的灰度值记为 f(i,j,k+1),差分图像记为 B(i,j),
则有:
他其
B i j
f i j t f i j t T
0
,
1 , , , , 1
1
因此,差分结果
B i j,
是一个二值图像,值 1 表示该像素在不同时刻的灰度发生了很大的
变化,说明有运动物体;值 0 表示该像素的灰度没有发生变化或者变化很小,说明没有运动物
体。其中,
T
1
类似于在二值化过程中所使用的阈值,该值的选取非常关键,决定了检测目标区
域的准确度和灵敏度。
基于帧间差法进行视频目标检测的主要优点是算法简单,程序设计复杂度低,易于实现,
并且对背景或者光线的缓慢变换不太敏感,能根据帧序的移动来较快适应,对目标运动的检测
灵敏度较高。基于帧间差法进行视频目标检测的主要缺点是检测位置不够精确,特别是当目标
运动速度较快,相邻帧之间的目标运动位移较大时,会影响运动目标区域的定位及其特征参数
的准确提取。此外,帧间差分法阈值的选取对其检测结果也有直接的影响,往往决定目标检测
的区域范围。特别是,如果预先定义某阈值而不是自适应计算阈值,则会提高差分图像中运动
目标点和噪声点的误判概率。虽然帧间差分法可能提取不到完整的目标图像,但它简单、计算
量小、速度快,也容易优化,适合 DSP 实现,所以目前被广泛运用。
计算机视觉与深度学习实战——以 MATLAB、Python 为工具
236
20.2.2 背景差分法
背景差分法是利用当前帧图像与背景图像进行差分运算,并提取运动区域的一种目标检测
方法,该方法一般能够提供完整的目标数据。背景差分的基本思想是:首先,用预先存储或者
实时更新的背景图像序列为图像的每个像素统计建模,得到背景模型 f
b
(x,y);其次,将当前每
一帧的图像 f
k
(x,y)和背景模型 f
b
(x,y)相减,得到图像中偏离背景图像较大的像素点;最后,类似
于帧间差分法的处理方式,循环前两步直至确定目标的矩形定位信息。其中,运算过程的具体
公式如下:
他其,
—,
D x y
f x y f x y T
k
kb
0
( , )
1 | ( , ) ( , )|
式中,
f x y
k
,
为某一帧图像,
f x y
b
,
为背景图像,
D x y
k
,
为帧差图像,
T
为阈值。相
减值大于
T
,则认为像素出现在目标上,
D x y
k
,
值为 1;反之,
D x y
k
,
值为 0,则认为像素
在背景中。通过以上步骤遍历处理每个像素,能够完整地分割出运动目标。
但是,当背景图像发生长时间的细微变化时,如果一直使用预先存储的背景图像,那么随
着时间的增长,累积误差会逐渐增大,最终可能会造成原背景图像与实际背景图像存在较大偏
差,导致检测失败。因此,背景差分方法中的一个关键要素就是背景更新,自适应的背景图像
更新方法往往会大大提高目标检测的准确性及背景差分法的效率。基于像素分析的背景图像更
新是常用的背景更新算法之一,该方法在更新背景图像之前先把背景图像和运动目标区分开:
对于出现运动目标的背景图像区域不进行图像更新,对于其他区域则实时更新。因此,该算法
所得到的背景图像不会受到运动目标的干扰。但是基于像素分析的背景图像更新算法对噪声具
有一定的敏感性,特别是在光线突变时,可能不会实时更新背景图像。
背景差分法的优点是算法简单,易于实现。在实际处理过程中,在根据实际情况确定阈值
后,所得结果直观反映了运动目标的位置、大小和形状等信息,能够得到比较精确的运动目标
信息。该算法适用于背景固定或变化缓慢的情况,其关键是如何获得场景的静态背景图像,其
缺点是容易受到噪声等外界因素干扰,如光线发生变化或者背景中物体暂时移动都会对最终的
检测结果造成影响。
20.2.3 光流法
光流指图像中模式的运动速度,属于二维瞬时速度场的范畴。用光流法检测运动目标的基
本原理是:首先,为图像中的每个像素点都初始化一个速度矢量,形成图像的运动场;然后,
在运动中的某个特定时刻,将图像中的点与三维物体中的点根据投影关系进行一一映射;最后,
根据各个像素点的速度矢量特征对图像进行动态分析。在此过程中,如果在图像中没有运动目
第 20 章 基于帧间差法进行视频目标检测
237
标,则光流矢量在整个图像区域都呈现连续变化的态势;如果在图像中存在物体和图像背景的
相对运动,则运动物体所形成的速度矢量必然和邻域背景的速度矢量不同,从而检测出运动物
体的位置。在实际应用中,光流法的计算量大,容易受到噪声干扰,不利于实时处理。
光流法在近几年得到了较大的发展,出现了很多种改进算法,常用的有时空梯度法、模块
匹配法、基于能量的分析方法和基于相位的分析方法。其中,时空梯度法以经典的 Horn&Schunck
方法为代表,应用最为普遍。该方法利用图像灰度的时空梯度函数来计算每个图像点的速度矢
量,构建光流场。假设
I x y t,,
为
t
时刻图像点
xy,
的灰度;
u
、
v
分别为该点光流矢量沿
x
和
y
方向的两个分量,且有
u x tdd
,
v y tdd
,则根据计算光流的条件
I x y t td , , d 0
,
可得到光流矢量的梯度约束方程为:
I u I v I
x y t
0
改写为矢量形式:
I v I
t
0
式中,
I
x
、
I
y
、
I
t
分别为参考像素点的灰度值沿
x
、
y
、
t
三个方向的偏导数,
I I I
xy
,
T
为图像灰度的空间梯度,
v u v,
T
为光流矢量。
梯度约束方程限定了
I
x
、
I
y
、
I
t
与光流矢量的关系,但是该方程的两个分量
u
和
v
并非唯
一解,所以需要附加另外的约束条件来求解这两个分量。常用的约束条件是假设光流在整个图
像上的变化具有平滑性,也叫作平滑约束条件,如下所示:
v x v y
u x u y
( / ) ( / )
min
( / ) ( / )
22
22
因此,通过一系列的数学运算,可取得
uv,
的递归解。
光流法的优点是在不需要预先知道场景的任何消息的前提下能够检测独立的运动目标;光
流法的缺点是该方法在大多数情况下计算复杂度较高,容易受光线等因素的影响,导致该方法
在实时性和实用性方面处于劣势。
20.3 程序实现
运动检测算法有帧间差分法、背景差分法和光流法,已经在 20.2 节进行了具体介绍。本案
例采用的算法是较为简单的帧间差分法,利用视频序列中连续的两帧或几帧图像的差异进行目
标检测和提取。在处理过程中为了提高兼容性,选择 MeanShift 算法作为跟踪算法的补充,提
计算机视觉与深度学习实战——以 MATLAB、Python 为工具
238
升检测效果。由于此方式对动态环境具有较强的自适应性,所以检测效果还是可以接受的,不
足之处在于当检测目标的运动速度较快时不能精确地定位目标。
为了增加软件设计的交互性,提升演示效果,本实验通过设计 GUI 的方式来实现软件框架,
如图 20-2 所示。
图 20-2 GUI 框架设计
软件设计以之前介绍的经典视频处理框架为基础进行开发,加入了目标检测定位、跟踪识
别、轨迹分析、速度曲线等功能模块。其中,目标定位过程综合了视频图像序列本身的特点。
为了增强演示效果,在程序设计之初对不同的目标位置序号进行分析,并采用帧间特征与
MeanShift 相结合的思想进行目标定位函数的开发。核心代码如下:
function [Xpoints1, Ypoints1, Xpoints2, Ypoints2, tms, yc] =
ProcessVideo(videoFilePath)
% 目标定位
% 输入参数:
% videoFilePath——视频路径
% 输出参数:
% Xpoints1, Ypoints1——目标 1 位置信息
% Xpoints2, Ypoints2——目标 2 位置信息
% tms, yc——运行参数
if nargin < 1
videoFilePath = fullfile(pwd, 'video/video.avi');
剩余23页未读,继续阅读
资源评论
好知识传播者
- 粉丝: 498
- 资源: 4204
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功