logo资料库

基于OpenCV的交通视频运动目标检测与跟踪.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
2012年1勇 譬1期 电子测试 ELEcTR0I、I c TEST Jan 2o12 No., 巴 基于OpenCV的交通视频运动目标检测与跟踪 张建飞 (中北大学信息与通信工程学院,山西太原030051) 摘要:智能交通系统(ITS)是目前世界交通运输领域正在研究和广泛关注的课题。OpenCV是一种用于数字图 像处理和计算机视觉的函数库,由Intel公司开发。本文在目标检测方面,对采集到的交通视频进行灰度化、 中值滤波、背景建模、二值化,背景差分等处理,可以较准确地检测出运动目标。在目标跟踪方面,提出了 CamShift算法和Kalman滤波器相结合的方法,实现视频车辆的精确跟踪。最后,利用OpenCV的运动物体跟 踪的数据结构、函数库,建立了一个视频车辆分析系统。用于道路上车辆的检测与跟踪,并具有良好的鲁棒 性。 关键词:视频图像;运动目标检测;背景差分;运动目标跟踪;OpenCV 中图分类号:TN911.73;TP391 文献标识码:A Detection and tracking ofmoving object in traffi c video based on OpenCV Zhang Jianfei (School ofInformation and Communication Engineering,North University ofChina,Taiyuan,030051,China) Abstract:Intelligent transport system is currently being studied and worldwide focused on in the area of world traffic transport.OpenCV is a library for digital image processing and computer vision.It is developed by company of Inter. In the part of detection,the traffic video which are captured by camera are treated as gray processing,median filtering, background modeling,binary and background difference,which can exactly detect vehicle object.In the part of tracking,we propose a method of camshift,which combined with Kalman filter tO carry out video vehicle tracking.At last,the basic framework of object tracking of OpenCV is use to establish a multi—modules video vehicle detection and tracking system,and the results are moderate robustness. Keyw0rds:video image;moving target detection;background difference;moving target tracking;OpenCV
2o12.1 0引言 智能交通系统是目前世界各国交通领域竞相研究 和开发的前沿研究课题和热点。它是将先进的信息技术、 数据通讯传输技术、电子控制技术、传感器技术以及计 算机处理技术等有效地综合运用于整个交通体系,从而 建立起的一种在大范围内、全方位发挥作用的实时、准确、 高效的交通综合管理系统。运动目标检测与跟踪是智能 交通系统的一个重要组成部分,因此该课题的研究就显 得尤为重要…。 1视频图像预处理 1.1图像灰度化 图像灰度化就是将彩色图像中的彩色信息剔除,只 包含亮度信息。计算机中表示灰度图是把亮度值进行量 化等分成0~255共256个级别,0最暗(全黑),255最亮(全 白),而在RGB模型中,如果R=G=B,则颜色(R,G,B) 就表示灰度色。考虑到图像的合理性,本文选用下面的 公式进行灰度转换: Gray=0.299R+0.587G+0.114B (1) R=G=B=Gray (2) 其中Gray表示图像中像素的灰度值,R表示该像 素的红色分量,G表示绿色分量,B表示蓝色分量。在 opencv函数库中,图像的灰度化可以通过cvCvtColor(const CvAl"r*src,CvArr*dst,int code)函数实现的。 1_2中值滤波 中值滤波是由Tukey首先提出的一种基于排序统 计理论,能有效抑制噪声的非线性信号处理技术。它也 是一种邻域运算,类似于卷积,但是计算的不是加权求 和,而是把数字图像或数字序列中一点的值用该点的一 个邻域中各点值的中值代替,让周围像素灰度值的差比 较大的像素改取与周围的像素值接近的值,从而可以消 除孤立的噪声点。它能减弱或消除傅立叶空间的高频分 量,但影响低频分量。因为高频分量对应图像中的区域 边缘的灰度值具有较大较快变化的部分,该滤波可将这 些分量滤除,使图像平滑。标准一维中值滤波器的定义为: Yk med(x~:一Ⅳ,..·, ,.-·, +Ⅳ (3) 式中med表示取中值操作,中值滤波的滤波方法是 对滑动窗口2N+l内的像素做大小排序,滤波结果的输出 像素值规定为该序列的中值。 1.3图像二值化 图像分割是图像处理和计算机视觉中基本而关键的 技术之一,它是将目标与背景分离,为后续的分类、识 别和检索提供依据。图像分割方法通常包括阈值法、边 缘检测法、区域跟踪法等。在图像分割的诸多方法中, 二值化技术是一种简单有效的方法。图像的二值化按下 述公式进行: 舭 = ㈩ 式中,G(x, ):黾原图像中位于(f, )处像素的灰度; Gb(i, 是二值化后该处的像素值,它只能取O或1,将上 式所得二值图像中数值为0的部分表示背景,数值为l 的部分表示对象图形。T为用于二值化处理的闭值。二值 化的过程本身比较简单,关键问题就是闽值的选取。本 文采用了大津法(OTSU)进行了阈值的选取。 在OpenCV中,图像的二值化是由函数void cvTheshold(const Cv Arr src,CvArr dst,double threshold, double max—value,int threshold_type) 1I4数学形态学处理 在数学形态学处理中采用了闭运算、开运算和孔洞 填充等操作吲,定义形式如下。 (a)A被B的形态学闭运算记做A·B;是先膨胀再 腐蚀的结果,用数学公式表示为: A··B=( 0 )0君 (5) (b)A被B的形态学开运算记做 。 ,是先腐蚀再 膨胀的结果,用数学公式表示为: A。B=( e )0B (6) (c)假设一幅标记图像_厂删,该图像的边缘部分的值为 l 其余部分的值为0。 = 界㈩ 则填充图像厂中的孔洞的公式为: g:[Rfc(f )] (8)
2o12.1 Design&Research 2运动目标的检测与跟踪 2.1运动目标检测 视频图像中运动目标的检测主要有帧间差分、光流 法和背景差分等3种方法 。由于前两种方法存在提取 的目标不精确、实时性差和抗噪性弱等缺点,对后期的 分类识别不利,因此本文采用surendra背景更新算法实 现对运动目标的检测。具体的过程如下: (a)将第一帧图像厶作为背景 。 (b)选取阈值T,该阈值根据背景变化情况进行噪声 选择。 (c)求当前帧的帧问差分图像 ( , ),span为帧抽取 间隔: (d)用二值图像Ri(x, )控制更新背景图像 ( ,Y): Bt~1 薏譬 式中: ( , ), ( ,Y)为背景图像和差分二值图像 在( , )的灰度值, 为输入的第i帧图像,为迭代速度 系数。 (e)迭代次数re=m+1,当迭代次数m=MAX_STEPS时 结束迭代,此时Bi(x,Y)在一定程度上可以视为背景图像。 (f)当前帧与背景进行差分得到运动目标的前景F(X, Y): (x, ) 1Ii一 (x, )I (11) Surendra背景更新算法有效降低运动目标对背景的 干扰,能够提供更好的运动目标检测结果 。 2.2运动目标跟踪 运动目标的跟踪是把运动的物体检测出来后,对目 标编号并获取其运动轨迹。为了实现该功能,本文基于 Kalamn滤波 的MeanShift 目标跟踪算法将整个过程分 成如下几个模块实现:前景检测模块、新团块检测模块、 团块跟踪模块、轨迹生成模块和轨迹后处理模块,最后 由跟踪流程模块CvBlobTrackAuto将这5个模块连接起来, 构成—个完整的跟踪流程。下面对各模块简单介绍一下: (a)前景检测模块:对每一个像素判断其是前景还是 背景。 巴 (b)新团块检测模块:使用前景检测的结果检测新进 入场景的团体。 (C)团块跟踪模块:使用新团块检测模块的结果初始 化该模块,并跟踪新进入的团体。 (d)轨迹生成模块:主要是保存操作。收集所有团块 的位置,并在每条轨迹结束时将其保存到硬盘上。 (e)轨迹后处理模块:进行轨迹的平滑操作。 (f)跟踪流程模块:将前面提到的5个模块连接起来 形成一个处理流程。 3实验结果和分析 根据本文的算法用Vc++6.0软件编写实现,采用 OpenCV对视频进行读取和显示。其程序是一个基于对话 框的MFC应用程序,对话框上3个按钮分别实现打开视 频、目标检测和目标跟踪的功能。如图l所示。 图1程序界面 点击对话框上的‘打开视频’按钮,选择‘yasl2 avi’,点击打开。如图2所示。 打开视频后,点击对话框上的‘检测处理’按钮, 可实现对运动目标的检测。如图3~5所示。
分享到:
收藏