公路视频中实时车流密度检测算法

更新时间:2023-06-23 07:39:32 阅读: 评论:0

第15卷 第32期 2015年11月1671—1815(2015)32-0168-07 
科 学 技 术 与 工 程
ScienceTechnologyandEngineering
 Vol畅
15 No畅32 Nov畅2015憋 2015 Sci畅Tech畅Engrg畅
通信技术
公路视频中实时车流密度检测算法
王燕玲1
 李广伦2
 丁玉连1
 林 晓
(洛阳师范学院信息技术学院1,洛阳471022;洛阳理工学院电气工程与自动化系2,洛阳471013)
摘 要 公路上固定相机拍摄的视频中背景难以自动更新、运动目标难以快速准确识别和车流密度难以快速获得的问题,提出了一种车流密度实时检测算法。首先,将统计直方图法和多帧平均法相结合,提出固定窗口背景自动更新算法来获得视频的背景图像;其次,使用背景差分法获得前景区域、前景掩码和背景区域;第三,使用腐蚀和膨胀的方法去除微小区域,以及将较大区域内部的空白点进行填充;第四,提出使用行扫描标记算法获得运动目标的最大矩轮廓,并消除运动目标的部分阴影;最后,根据设定阈值过滤掉微小目标,统计瞬时车流量,并根据预设值计算车流密度。该系统使用VisualStudio2010和OpenCV实现,实时效果良好。
关键词 固定窗口统计算法  行扫描标记算法  矩轮廓  瞬时车流量  车流密度中图法分类号 TN941畅1;    文献标志码 A
2015年7月2日收到国家自然科学基金项目(U1304616)、
河南省科技攻关计划项目(2010B520019)资助
第一作者简介:王燕玲(1976—),女,硕士,讲师,CCF会员(E200026598M)。研究方向:图像处理、模式识别。E-mail:ling_scu@163.com。
  交通监控技术[1—10]
在事件检测、交通管理和时间估计中起着至关重要的作用。目前,交通监控系
统分为两类:基于感应环探测器[1—3]
和基于视频[4—10]。基于感应环探测器应用比较成熟,但是需要破坏路面;基于视频的交通监控系统具有响应速度较快、易于安装、方便维护和监视范围比较广等优点。基于视频的交通监控系统中车辆的速度、流量和密度为后期应用(如智能控制交通信号等)提供参数。车流密度通过计算车流量和估计监控视域内最大车数可得。监控视域内最大车数可以通过人工方式进行设置,而车流量分为一般车流量和瞬时车高考成绩今日公布
流量(或帧车流量)。一般车流量通过跟踪[4—8]
法获得,实时性能较差;瞬时车流量[9,10]
计算每帧车辆数,实时性较好。计算车流密度使用瞬时车流量即可。
本文提出一种新的车流密度检测算法。首先提出使用固定窗口背景自动更新算法自适应获取视频背景;其次使用背景差分法获得当前帧的前景区域、前景掩码和背景区域;第三提出使用行扫描标记算法用自然数标记运动区域的最大矩轮廓同时部分消除阴影;最后统计当前帧中运动目标的数量获得车流密度。
中石油职称英语1 相关工作
正确且快速地统计车流量是车流密度检测的前提。运动车辆的跟踪是一般车流量统计算法的基
础。ChiragI畅Patel[4]
使用基于决策树的机器学习算法限制感兴趣区域,并使用Haar级联分类器和KLT算法对运动区域的角点进行跟踪,从而实现车
辆的计数和分类功能。ZehangSun[5]
提出使用Ga-bor滤波器提取车辆的特征,并使用支持向量机
(SVM)用于车辆检测。H畅Y畅Cheng[6]
使用动态贝
叶斯网络模型对车辆进行跟踪。T畅H畅Chen[7]
对于晚上黑暗状态下司机打开前灯的视频信息进行分类
和检测。J畅Melo[8]
使用卡尔曼滤波对车辆进行跟踪,使用聚类求得车道中心。这些方法都是基于跟踪的方法获得车流量,这些算法虽然可以较好地统计一段时间之内的车辆数,但是实时性能较差。
周世付[9]
设置检测带,跟据车辆是否通过检测带来计算瞬时车流量,从而估计一般车流量。朱华生[10]
costume jewelry按车道分别设置相应的虚拟区域来实现计算瞬时车流量。这些算法能够快速地提取车辆目标且准确统计瞬时车流量,实时性能较好。本文计算车流密度采用瞬时车流量进行计算。
expressionism鲁棒地自适应背景的获得是车流量检测完成的
基础。YoannDhome[11]、强振平[12]、冯华文[13]
和陈雷等[14]
分别使用不同的高斯模型来获得前景目标。
KinjalAJoshi[15]
在运动目标识别时采用了模糊相似度测量来区分前景和背景,并可以自动更新阈值。这些方法都使用统计模型,运算量较大。统计直方
图法[16]提取出的背景较中值法好,但该算法的主要缺陷为需要保存大量信息,运算量大,提取背景速度慢;虽然对于图像中的近景能得到较好的背景图像;但是对于图像远景得到的远景背景图像失真;当光照等环境因素发生变化时,由于前期背景像素值计数累计较大,新背景图像的像素值从零开始累计,更新响应较慢。多帧平均法[17]在视频中前几帧图像,对坐标(x,y)处的像素值求加权平均值。方法计算比较简单,仅仅将前景和背景像素值求加权平均得到背景,但是当视频中运动目标移动速度较快或运动车辆出现频繁时,会产生“鬼影”。
本文基于统计直方图法提出一种固定窗口背景自动更新算法,该方法减少了数据处理量,当背景变化时能够较快更新背景。准确获得背景之后,通过背景差分法获得前景区域经过二值化后需要对最大连通区域进行标记。目前二值图像连通区域标记算
法有三类:像素标记法[18,19]、游程编码方法[20—22]和区域生长法[23,24]。其中,像素标记法是对每个点进行扫描标记目标像素点并得到等价标记表,根据等价标记表获得连通区域。游程编码方法将直线段作为连通区域检测的基本单元。像素标记法和游程编码方法都容易生成等价对,等价对之间的匹配受目标数量影响;区域生长法一次标记整个连通区域,它可以避免出现等价标记,不需要对等价标记进行配对,但是当区域面积较大时,算法效率下降。本文采用行标记算法求得运动区域的最大矩轮廓。
2 系统概述
本系统实现了智能交通监控的车流密度实时检测。系统流程图如图1所示。
其主要步骤为:
(1)使用固定窗口背景检测算法自适应获得背景图像。
(2)使用背景差分法获得前景运动目标。
(3)通过将前景进行二值化处理和腐蚀膨胀操作来消除目标内部的空隙和去除微小目标。
(4)使用最大连通区域检测和行扫描标记算法,找出最小外截距。
(4)根据所设阈值再次去除较小目标。
(5)统计每帧的瞬时车辆数和计算每帧的车流密度。
3 固定窗口背景自动更新算法
由于统计直方图法需要记录每个像素点的统计信息,进行处理时需要大量计算,且更新响应速度较慢,不能及时反映光照等条件的变化。在统计直方
图1 系统流程图
Fig.1 SystemFlowChart图的基础上进行改进,提
出了固定窗口背景自动更
新算法。该算法减少了处
理的数据量,能快速适应
环境的变化。
3畅1 固定窗口
通过为每个像素点设
置窗口减少计算量。窗口
设为长度为MAX_QUEUE
_SIZE的队列,每单元存
放PX_RECXORD结构。
CurPos指向队列的当前位
置。PX_Value记录该点
出现的像素值,PX_count
记录该像素值出现的次
数。初始时将所有记录初
始化为0,依次接收后续帧
对应点的像素值,每接收
一个像素值,就与已有的
记录比较,如果队列中有相同的记录值,就将该计数点的PX_count增加1。如果队列未满,就将新的像素值插入到CurPos指向位置,如果队列已满,就将新的像素值替换掉计数最小的记录。Queue结构图如图2
所示。
图2 窗口的逻辑结构图
Fig.2 Thelogicalstructurediagramofwindow
3畅2 基于固定窗口的背景自动更新算法
算法描述:每个像素点设置大小为N个单元的窗口,每个单元记录该点出现的像素值及其出现的次数。当窗口填满后,新出现的值会替换计数最小的记录,并更新背景图像。具体步骤见图3。
算法的详细描述如下。
1)初始化
在每个像素点上设置大小为N的窗口。
2)接收第j帧图像,计算更新像素值。
(1)计算像素值及其次数。
接收第j帧图像之后,计算每个像素点的像素值(在误差范围r内)出现的次数。见式(1)。
961
32期王燕玲,等:公路视频中实时车流密度检测算法
图3 基于固定窗口背景自动更新算法流程图
Fig.3 Automaticupdatebackgroundalgorithmflowchart
basedonthefixedwindow
ci=
ci+1,|Ri(x,y)-I(x,y)/I(x,y)≤Tr;i=1,2,…,n
1,  其他
(1)式(1)中i表示窗口记录的序号,ci表示第i个记录的计数值,Ri(x,y)表示在第i个窗口中的像素值,Ij(x,y)表示第j帧图像坐标(x,y)处的像素值,Tr表示允许误差范围。若Ij(x,y)与第i个窗口记录中像素值相似,ci就会自增1。进入第2步。否则若
窗口未满,在空白处记录窗口记录号和像素值Ij(x,y)。进入第3步;若窗口已满,进入第(2)步。
(2)窗口记录排序。
若窗口填满,对窗口记录根据PX_count进行排序求得最小次数(min)。进入第(3)步。
themoment(3)更新最小次数的像素值。
将Ij(x,y)替换最小次数的像素值,且将其次数(px_count)改为1。进入第3步。
3)更新背景图像
根据设置的更新速率(α)和窗口信息更新背景图像,见式(2)。
B(x,y)=(1-α)B(x,y)+αIj(x,y);0≤α≤1
(2)式(2)表示更新变化较大点处的背景像素值,α表示更新速率,值越大,新的像素值对背景影响就越大。根据实验,将α限制在小于0畅3的范围内,减小了突变产生的影响。由于窗口长度较小,当背景发生变化后,在N帧后就可以得到背景,更新周期较短。
使用基于固定窗口的背景自动更新算法可以减少直方图统计的项数,也就减少了查找记录表的时间,因此本算法更新背景速度较快,效果较好。
4 行扫描标记算法
二值化前景图像数据矩阵中,目标区由亮度值为255的像素点组成连通区域,非目标区域亮度值为0,通过行扫描进行标记所有最大连通区域,然后计算最小外截矩,即为车辆的矩形轮廓。最大连通区域常用算法运算量较大,需要对图像进行大量的查找和扫描操作。本节提出一种行扫描标记算法,只通过一次行扫描,即可得到去掉部分车辆阴影的最大连通区域。
将第3节提取的背景与当前帧进行背景差分获得的运动区域二值化且经过腐蚀和膨胀之后使用本节的行扫描标记算法提取运动区域的矩形轮廓。本节介绍了最大连通区域和行扫描标记算法,并提取运动区域的矩形轮廓。
4.1 行扫描标记算法
对每一幅图像,先建立一个与图像等宽等高的二维标记表T,然后逐行扫描图像,当遇到亮度为255的点,如果邻域内没有大于零的标记,就设其标记为序号i,否则便在标记表T中将该亮点的标记设为八邻域内最小标记。因为所有具有相同标记的点组成一个连通区域,所以连通区域内的像素点的标记i就是该连通区域的标记。
算法具体步骤如下:(设F为将要扫描的图像,T为标记表,cTag为区域标记)
(1)初始化T中的每一个元素为0,cTag初始化为0。
(2)从图像T的第一行第一列开始,找到T中亮度值为255的一个像素点Pi。
天津软件工程师培训(3)如果在二维标记表相应位置Qi的八邻域范围内存在大于零的标记,就将Qi处的标记值设为八邻域内大于零标记的最小值,否则就将cTag自增1,并将Qi位置的标记设为cTag。
(4)继续扫描图像T,找到下一个亮度值为255的像素点然后进行第(3)步直到扫描完图像T。
上面算法中当二维标记表中相应位置的八邻域内没有一个大于零的标记,则说明该点是一个新邻
071科 学 技 术 与 工 程15卷
域内的点,cTag自增1,标记了这个新邻域。本算法的关键之处是在取标记八邻域内最小标记作为这个点的标记,这样有效防止了小邻域的交叉和重叠。
图4中有3个连通区域,其中标记3是突出的点,标记为2的点构成一个小的连通区域,标记为1的点构成一个最大连通区域。3个连通区域各自确定了一个外接矩形,然后通过计算面积就可以排除一些像标记3标记的孤立点,具体计算方法见4畅
2。
(a)中深色阴影部分是未扫描但存在的亮度为255的点;(b)扫描剩下的点,可以看到这些深色的点被标记“1”
图4 行扫描标记算法示意图
Fig.4 Linescanschematictagsalgorithm
4畅2 最小外截矩
最小外截距定义:位于连通区域中点的最小横坐标、纵坐标和最大横坐标、纵坐标构成的矩形。4畅2畅1 最小外截距模型
二值化图像中车辆的边缘和阴影等容易形成较大的“突刺”,可将其简化为一个交叉线模型,这个模型构成一个连通区域,然后使用上面的行扫描标记算法进行扫描标记。
在一幅320×240图像中画成夹角的交叉线[图5(a)],然后标记图像[图5(b)],图5(c)为交叉线标记的部分表值。图5(b)可见交叉线所形成的连通区域确定了两个外接矩形,较大的矩形包含了整个交叉线,而右上角的还有一个较小的矩形,这个矩形框包含在大矩形框的内部。
图5(c)可见,交叉线的交叉点处只有右上部分标记2,在进行行扫描时,交叉点的八邻域中最小标记为1,当向下扫描时,交叉线下半部分都被记为1。因此,在标记车辆的二值图像时,只要二值化图像中车辆的像素点是连通的,就可以用这种方法来标记。4畅2畅2 映射表
扫描图像之后,标记好连通区域和建立标记表T。扫描标记表T,建立线性映射表(List)统计每个连通区域内标记点横坐标,纵坐标的最小值和最大值。标记表到映射表的映射见图6。
映射表的记录结构定义:(1)structTAG_
RECORD{;
图5 交叉线模型
Fig.5 Crossovercable
小学五年级英语上册model
图6 连通区域标记表和映射表
Fig.6 Regionalconnectivitymarkingtableandmaptable
(2)uint32MinX; //最小横坐标
(3)uint32MaxX; //最大横坐标(4)uint32MinY; //最小纵坐标(5)uint32MaxY; //最大纵坐标(6)uint32count; //标记计数,表示面积(7) }。4畅2畅3 最小外截距算法
最小外截距是由最小的横坐标和最小的纵坐标组成最小外截矩的左上顶点,由最大的横坐标和最大的纵坐标组成最小外截矩的右下顶点。最小外截距的面积是映射表中的计数记录被这个标记所标记的点数。根据经验设置高度、宽度和面积的阈值过滤掉部分阴影。
sympathetic7132期王燕玲,等:公路视频中实时车流密度检测算法
算法描述如下:
(1)构造一个大小为最大标记值的线性映射表,将count初始化为0,MinX初始化为该帧图像的宽度,MinY初始化为该帧图像的高度,MaxX,MaxY初始化为0;
(2)按行扫描标记表,当遇到大于零的标记T(x,y)时,就用该标记的坐标将映射表第T(x,y)个元素的内容按照如规则更新:
i畅count自增1;ii畅如果x<MinX,则MinX=x;iii畅如果x>MaxX,则MaxX=x;iv畅如果y<MinY,则MinY=y;v畅如果y>MaxY,则MaxY=y。
(3)按照(2)继续更新映射表直到标记表扫描结束。
根据该算法,更新完映射表后,就记录了该帧图像中所有连通区域的最小外截矩。将截取的最小外截矩画在当前视频帧中,如图7所示。从实验结果来看,车辆识别效果较好。
在图7中可见部分阴影已经被去掉。可以看到由于光照偏向左边,车辆阴影形成较大的“突刺”,行扫描时,阴影部分和车辆虽然属于一个较大的连通区域。但是,并不在彼此的八邻域范围内,所以对每一个车辆的阴影部分都会被标记为一个新的标记值,在阴影的像素点和车辆的像素点交叉的地方,将
会被较小的标记“染色”,阴影部分就会被截断,这
样就将阴影与车辆分离开来。
图7 最小外截距
Fig.7 Minimumouterintercept
5 实验
5畅1 实验环境及测试集midland
在PC上进行测试,硬件配置如下:Intelcorei5,2畅5GHz,内存4G。系统平台是:Windows7X64。开发语言是C++。开发工具:VisualStudio2010。采用的OpenCV为:OpenCV2畅48。
以公路标准测试集highway1、highway2、viptraf-fic、video进行实验。具体数据见表1。
sncf
5畅2 背景提取算法比较实验
采用常见的多帧平均法和新提出的基于窗口的固定背景更新算法进行实验。根据实验结果可知,基于窗口的固定背景更新算法背景更新效果较好,与多帧平均法比较没有残留车辆“鬼影”。5.2.1 多帧平均法
根据多帧平均法求得背景图像见图8,其中图8(a)是前10帧提取的背景,图8(b)是前30帧提取的背景。由图可见背景更新较慢,且残留车辆“鬼
影”。
图8 多帧平均法求背景
Fig.8 Thebackgroundbymulti-frameaveraging
5.2.2 基于固定窗口的背景更新算法
窗口的长度设置为10帧。实验效果见图9,图9(a)为采用本方法在第6帧时提取的背景,图9(b)为第13帧时提取的背景,可见读取新帧会更新部分
背景。
图9 固定窗口自适应更新背景
Fig.9 Adaptiveupdatebackgroundbasedon
fixedwindow
5畅3 车流密度结果分析
使用本文算法对表1中视频集进行测试。表1中显示了数据集的总帧数、视频帧速、真实车辆数(真实车流量和,truenumber)、总正检出数(瞬时车流量和,instantaneousflow)和总误检出数(errornumber)。另外,准确率(Ac)定义如下:
准确率=总正检数
总真实运动目标数
(3)
基于表1的结果,总真实运动目标数为9435,
271科 学 技 术 与 工 程15卷

本文发布于:2023-06-23 07:39:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1019503.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:标记   背景   区域   算法   图像   进行   车辆
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图