基于OpenCV的运动目标检测与跟踪

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 i
重新移动到由计算得出的此窗口的重心的位置。很显然,窗 口的移动造成了窗口内容的改变,于是我们又重复刚才重新 定位窗口中心的步骤。窗口中心重定位的过程通常会收敛到 Mean-shift矢量为0(也就是,窗口不能再移动)。收敛的位 置在窗口中像素分布的局部最大值(峰值)处。由于峰值本 身是一个对尺度变化敏感的量,所以窗口大小不同,峰值的 位置也不一样。 4.1.3Mean-shift算法的形式
int cvCamShift( Const CvArr* prob_image, CvRect window, CvTermCriteria criteria, CvConnectedComp* comp, CvBox2D* box=null );
五、运行结果与分析 在本实验中,用一个摄像头来跟踪一运动物体,下面图7~ 图8一系列图像是采用CAMSHIFT算法跟踪运动物体部分图像。
108
基于OpenCV的运动目标检测与跟踪
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 吴昊, 刘海波, WuHao, LiuHaiBo 210096,东南大学仪器科学与工程学院 数字化用户 ShuZiHua YongHu 2014(7)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_szhyh201407099.aspx

h
i
Hale Waihona Puke Baidu
令 P( x) =
1 1 n ∇K ( X − X i ) ∑ K ( X − X i ) , ∇P ( x ) = n ∑ n i =1 i =1
'
让 g ( x) = −k ( x) 得到 ∇P( x) = c ∇K = c
n

i =1
n
i
x−x ∑ gi h i n i =1
图2 帧间差分检测目标 3.1.2帧间差分法的优缺点 帧间差分法的优点是:算法实现简单,程序设计复杂度 低;对光线等场景变化不太敏感,能够适应各种动态环境, 稳定性较好。 其缺点是:不能提取出对象的完整区域, 只能提取出边界;同时依赖于选择的帧间时间间隔。对快速 运动的物体,需要选择较小的时间间隔,如果选择不合适, 当物体在前后两帧中没有重叠时,会被检测为两个分开的物 体:而对慢速运动的物体,应该选择较大的时间差,如果时 间选择不适当,当物体在前后两帧中几乎完全重叠时,则检 测不到物体。 3.2背景差分法 3.2.1 定义 背景差分法是采用图像序列中的当前帧和背景参考模型 比较来检测运动物体的一种方法,其性能依赖于所使用的背景 建模技术。
int cvMeanShift( Const CvArr* prob_image, CvRect window, CvTermCriteria criteria, CvConnectedComp* comp, );
4.2 Camshift算法 Camshift算法是MeanShift算法的改进,称为连续自适应的 M e a n S h i f t算法,它的关键就在于当目标的大小发生改变的时 候,此算法可以自适应调整目标区域继续跟踪。 如果有一个易 于分割的分布(例如保持紧密的人脸特征),此算法可以根据 人在走近或远离摄像机时脸的尺寸而自动调整窗口的尺寸。 4.2.1Camshift算法的流程 首先选择大小为S的初始搜索窗口,然后对该窗口中每 一个像素点的H通道上采样,得到运动目标的色调(H u e)直方 图,再将该直方图保存下来作为搜索目标的颜色直方图模 型。在目标跟踪过程中,对摄像头当前帧图像的每一个像 素,通过查询目标的颜色直方图模型,可以得到该像素为目标 像素的概率。经上述预处理,视频中每一帧图像都转化为目标 颜色概率分布图。也称为目标颜色投影图。在一般情况下,将 投影图转化为8位的灰度投影图,概率为1的像素值设为255, 概率为0的像素值为0,其他像素也转换为相应的灰度值。 4.2.2CamShift算法的形式
n
2
n x − xi 2 ∑ xi g i h i =1 n x − x 2 i ∑ gi h 1 i =
这些公式可用一个矩形
的核进行简化,将mean-shift矢量等式简化为计算图像像素 M 分布的重心: x = M , y = M
数字化用户
2014 年第 07 期 Digitization user
信息系统
基于OpenCV的运动目标检测与跟踪
吴 昊 刘海波
(210096 东南大学仪器科学与工程学院) 【摘 要】OpenCV是一个基于(开源)发行的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算 法。本文主要简述了基于OPENCV开源代码库的运动目标的检测与跟踪的原理及算法实现。在VC++6.0编译环境下,用C++ 语言编写,利用USB摄像头作为视频采集器,实现了对可疑目标的持续跟踪。 【关键词】OPENCV 运动目标 检测 跟踪 背景差分 CamShift算法
OpenCV-based moving target detection and tracking
WuHao,LiuHaiBo (Southeast University Instrument science and engineering college,Nanjing 210096 ) Abstract:OpenCV is based on (open) issued a cross-platform computer vision library that implements many common algorithms of image processing and computer vision.This paper outlines the principles and algorithms of OpenCV-based moving target detection and tracking. Compiled under VC + +6.0 environment, using C + + language,using USB camera as a video capture device, to achieve a continuous tracking of suspicious targets. Keywords:OPENCV;Moving target;detection;tracking;Background difference; CamShift algorithm 一、项目背景 以往的监控系统要监视各厅室的所有角落,需要在多方 位安装监控摄像头,随着防盗系统向着网络远程化、智能化 和自动化方向的发展,设计一种室内监控摄像头自动跟踪目 标的控制系统势在必行,可以通过分析摄像头所传输的图像 信息,锁定可疑目标,然后带动步动电机转向,将可疑目标 控制在摄像头范围内。作为具有广泛的应用前景和潜在的经 济价值的新领域,智能监控已经从早期少数研究人员的学术 兴趣,发展为科学、工业、空间技术和政府应用中的重要角 色。由于算法和实现方法的的进展,智能监控已成为一项重 要而成熟的成本划算的技术。 二、检测跟踪的整体思路 逐帧读入视频流图像,选择检测算法(背景差分或者帧 间差分)对当前帧与背景帧或前一帧进行差分运算,检测出 运动目标, 再利用目标分割的方法把运动目标从背景中分离 出来。然后利用CamShift算法自适应的跟踪目标。
图1 目标检测跟踪的流程 三、运动目标检测 运动目标检测的主要目的是:从视频流中提取出运动目 标,并获得运动目标的关键信息,如形状和轮廓等特征。 由于运动只有在图像序列中才能得到体现,因此运动目 标检测问题所讨论的焦点就是:如何从图像中将目标或部分 目标分割出来。 3.1帧间差分法 3.1.1定义 帧间差分法是一种通过对视频图像序列中相邻两帧作差 分运算来获得运动目标轮廓的方法。
c
M0
1 0
c
0 1
0
∑∑ 这里,零阶矩的计算如下: M0 = ∑∑ y I ( x, y ) M = ∑∑ x I ( x, y ) 一阶矩的计算为: 和 1 x y 。 Mean-shift矢量告诉我们如何将Mean-shift窗口的中心
M0 0 = I ( x, y )
x y
1 0 x y
图5手动选择目标物体 图6 目标移动时跟踪物体 参考文献: [1]Gary Bradski &Adrian Kaebler 著 于仕琪 刘瑞祯译 学习 OpenCV(中文版)清华大学出版社 2009年10月第一版 [2]刘瑞祯;于仕琪 OpenCV教程-基础篇2007 [3]叶锋.范曼曼.郑子华.尹鹏 一种改进的基于平均背景模 型的运动目标检测算法[期刊论文]-福建师范大学学报 [4]李国辉;涂丹 监控视频运动目标检测减背景技术的研究 现状和展望[期刊论文]-中国图象图形学报A [5]Baoxia Li;Lixi Wan;Yao Lv;Wei Gao;Chengyue Yang;Zhihua Li;Xu Zhang; Low-cost high-efficiency optical coupling using through-silicon-hole in parallel optical transceiver module [J]. Applied Physics A, 2009
图3 背景差分检测目标
107
信息系统
2014 年第 07 期 Digitization user
数字化用户
图4 背景差分中原图、背景和差分图像 3.2.2常用的背景建模方法 (1)中值法背景建模:顾名思义,就是在一段时间内, 取连续N帧图像序列,把这N帧图像序列中对应位置的像素点 灰度值按从小到大排列,然后取中间值作为背景图像中对应 像素点的灰度值; (2)均值法背景建模:均值法建模算法非常简单,就是对 一些连续帧取像素平均值。这种算法速度很快,但对环境光 照变化和一些动态背景变化比较敏感。其基本思想是,在视 频图像中取连续N帧,计算这N帧图像像素灰度值的平均值来 作为背景图像的像素灰度值; (3) 单高斯分布模型:其基本思想是,将图像中每一个 像素点的灰度值看成是一个随机过程X,并假设该点的某一像 素灰度值出现的概率服从高斯分布。 (4)卡尔曼滤波器模型:该算法把背景认为是一种稳态的 系统,把前景图像认为是一种噪声,用基于Kalman滤波理论 的时域递归低通滤波来预测变化缓慢的背景图像,这样既可 以不断地用前景图像更新背景,又可以维持背景的稳定性消 除噪声的干扰; 3.2.3背景差分法的优势 帧间差分法两帧间同一运动目标的重叠部分不容易检测 出来,即只能检测出前后两帧中目标的一部分。当阈值选取 比较低的时候,会出现目标在运动方向上前后分裂并拉长的 现象。当阈值调高,带来的问题是前景像素的数量减少,不 利于发现运动目标。使用背景差分法能够较为稳定的提取出 前景目标。 四、运动目标跟踪 4.1 Mean-shift算法 M e a n-s h i f t算法可用于多种应用的通用的数据分析方 法,计算机视觉正是这些应用之一。 4.1.1Mean-shift算法的过程 (1)选择搜索窗口,确定窗口的初始位置,类型,形 状,大小。 (2)计算窗口(可能是带权重的)的重心。 (3)将窗口的中心设置在计算出的重心处。 (4)循环第二步,直至窗口位置不再变化。 4.1.2Mean-shift算法的计算公式 X −X k 首先定义一个核函数 K ( X − X ) = c
相关文档
最新文档