车辆识别与样本自动采集方法的研究
2016-01-12王齐,金小峰
车辆识别与样本自动采集方法的研究
王齐,金小峰*
( 延边大学工学院 计算机科学与技术学科 智能信息处理研究室, 吉林 延吉 133002 )
摘要:为解决车辆样本采集困难的问题,在研究车辆识别与跟踪的基础上提出了样本的自动采集方法.首先,采用Blob分析技术从视频流中检测出车辆;其次,结合Blob和CamShift跟踪算法跟踪运动车辆;再次,通过分析车辆的运动轨迹判定其停驶状态;最后,控制云台变焦摄像机获取车辆的细节图像,以此作为车辆的样本.实验结果表明,本文提出的方法实时性高,对车辆的识别与跟踪、停驶判断具有较高的准确性,获取的车辆样本图像细节丰富,能够满足车辆样本库建设的基本要求.
关键词:车辆识别与跟踪; Blob分析; CamShift; 车辆样本采集; 车辆样本库
收稿日期:2015-03-25*通信作者: 金小峰(1972—),男,副教授,研究方向为智能信息处理.
基金项目:吉林省科技厅自然科学基金资助项目(20140101225JC)
文章编号:1004-4353(2015)02-0164-06
中图分类号:TP391.41
Research on method of vehicle detection and sample acquisition
WANG Qi,JIN Xiaofeng*
(IntelligentInformationProcessingLab.,Dept.ofComputer
Science&Technology,CollegeofEngineering,YanbianUniversity,Yanji133002,China)
Abstract:In order to solve the problem of vehicle sample collection difficulty, this paper proposed a method of automatic data collection of vehicle samples on the basis of vehicle detection and tracking. Firstly, the Blob analysis technology was employed to detect vehicles from video. Secondly, moving vehicles were tracked by the Blob method and CamShift tracking algorithm. Again, after analyzing the movement of vehicles, the vehicle states of movement and stop were detected. Finally, the detail image obtained by controlling camera pan was used as the vehicle samples. Experimental results show that the proposed method is of high real-time performance and accuracy in detecting and tracking of vehicles and the judgment of vehicles states. Meanwhile, the obtained vehicle sample images with rich details was able to meet the basic requirements of vehicle sample library construction.
Key words: vehicle detection and tracking; Blob analysis; CamShift; vehicle sample acquisition; vehicle sample library
0引言
车辆样本库为车辆检测分类器训练提供基础数据,其规模和丰富程度直接影响分类器的性能,因此车辆样本建设越来越受到研究人员的重视.早期的车辆样本获取方法是以人工手动分割以及手工剪裁的方式为主,然后逐渐出现了利用分割算法得到感兴趣区域的半自动采集方法,后续又出现了学习方式的样本采集,但是与车辆样本库建设相关的文献却很少[1-3].文献[4]和[5]采用机器学习的方法实现了车辆自动识别与标记,但发生识别错误时,依然需要通过人工确认的方法进行修正,之后最终将采集到的车辆图像作为样本存入样本库中.这些方法在实际应用中由于受摄像机视角和场景较为复杂的影响,使得采集的车辆样本准确率不高,而且因为需要人工参与修正也导致了效率较低[6].
本文提出了一种新的车辆识别与样本自动采集方法,它不仅能够在复杂的监控环境中实现车辆的检测与跟踪[7],以及车辆停驶状态的检测,而且还可通过控制摄像机的云台和镜头的变焦系数获取清晰的车辆样本.本文方法的工作流程图见图1.
1基于Blob分析的运动车辆识别
计算机视觉中的Blob[8]是指图像中具有相似颜色、纹理等特征所组成的一块连通区域.Blob分析就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块的过程[9].从Blob中可以提取运动车辆特征信息,如:质心、宽高比、面积、周长、最小包围矩形,以及颜色直方图等.
Blob面积可以作为一种度量尺度,它对应着Blob连通区域内的像素数目.Blob面积的计算公式为
S=∑(x,y)∈R(x,y)f(x,y),
(1)
其中R(x,y)代表Blob对应的连通区域.Blob周长的计算公式为
P=∑(x,y)∈Γ(x,y),
(2)
其中Γ表示边界曲线,即求解边界上所有像素的集合.在获取Blob的连通区域后,还可以计算它的质心坐标和外接最小包围矩形等参数.根据常见车辆的几何参数[10],本文的车辆识别方法采用Blob的宽高比、面积和最小包围矩形等几何特征.这些参数计算量少,而且能够有效地区分车辆和行人.图2为本文提出的车辆识别方法的流程图.在图2中,Ta为宽高比例阈值,Tb为Blob像素面积阈值,k为连续帧数量的阈值.为了提高车辆识别的精度,根据连续差分帧中车辆保持形态连续稳定的特点(人群变化较大),将至少连续k帧Blob保持宽高比和面积相对稳定的运动目标判定为车辆.
图2 车辆识别方法的工作流程图
2运动车辆跟踪
后续的连续帧对已标记的每个BlobID进行跟踪,同时记录它的运动轨迹,以便于对车辆进行停驶检测.车辆的跟踪方法可以采用连续帧Blob块对应的连通区域的直方图匹配的方式寻找最接近的Blob块,以此作为跟踪结果,但是,这种基于Blob分析的车辆跟踪方法采用的直方图特征仅能反映颜色的统计分布,并不能反映颜色的空间分布情况,这给跟踪场景中同时存在多辆颜色相近的车辆带来不利影响;因此,本文提出的车辆跟踪方法同时引入了CamShift跟踪算法[11-13],以提高跟踪的准确率.
2.1基于Blob分析的车辆跟踪方法
基于Blob分析的运动车辆跟踪[14]采用车辆的Blob形状特征参数和对应的子图像,通过子图像直方图匹配的方法寻找前后帧最接近的Blob块对,把它们作为跟踪的结果.在跟踪过程中使用3个链表分别记录当前跟踪的Blob列表、当前帧的Blob列表、临时存放丢失的Blob列表,每个跟踪的车辆(Blob)采用记录运动轨迹的方式.基于Blob分析的车辆跟踪算法如下:
输入当前跟踪的Blob链表BL={Ø},当前帧的Blob链表TB={Ø},临时丢失的Blob链表LB={Ø}.
输出BL及其运动轨迹.
Step1 当前帧中检测Blob.若BL={Ø},则为每个Blob分配ID,并存入BL中;否则,给每个Blob分配一个临时ID并存入TB中;
Step2 匹配TB和BL中的Blob的直方图,找到两者间匹配的BlobID对;
Step3 将TB与LB进行逐个比对,若找到更加匹配的Blob,则将其从LB中移到BL中,并更新轨迹信息;
Step4 若TB在BL和LB中均未找到匹配项,则将该Blob视为一个新的跟踪车辆,将其移入BL中并分配一个新ID;
Step5 若所有的TB数据都处理完毕,将BL中没有找到匹配的数据,移至LB中;
Step6 更新LB丢失Blob的记数值,自增1;
Step7 判断LB丢失计数值.若大于设定的丢失的阈值,则删除相应的Blob信息;
Step8 判断BL中每个Blob的跟踪帧数,若大于k,则记录运动轨迹;
Step9 当前帧处理完毕则转至Step1.
通过上面的跟踪算法,即可获取车辆的跟踪信息,其中BL中记录了跟踪车辆的轨迹信息(质心运动轨迹),场景中驶离或误识车辆的轨迹信息均记录在LB中.
2.2Blob分析与CamShift算法相结合的车辆跟踪方法
使用CamShift可以有效地解决跟踪对象丢失问题[15].假设在第k+1帧使用Blob分析方法跟踪产生丢失或结果偏差过大,则使用k+1帧的Blob跟踪轨迹与k+1帧的CamShift跟踪轨迹比较,若在一个合理的误差阈值范围内,则增加这个跟踪轨迹到相应的Blob中;否则,将此Blob存放到临时丢失的链表中.Blob分析与CamShift算法相结合的运动车辆跟踪方法的执行过程如图3所示,具体步骤为:
Step1 从前一帧的Blob的数据中获取目标区域,设定为CamShift的跟踪目标;
Step2 将视频帧图像的颜色模型转化为HSV颜色空间;
Step3 提取当前帧图像的H分量并计算其反向投影P;
Step4 使用CamShift算法重新获得搜索窗口的大小和新的位置;
Step5 比较CamShift跟踪轨迹和Blob分析轨迹与前一帧Blob位置差值是否在设定的阈值范围内;
Step6 若不在阈值范围内,则用CamShift方法获得的轨迹更新BL.
图3 Blob与CamShift算法相结合的 车辆跟踪方法的工作流程图
2.3停驶车辆的判别方法
车辆的运行轨迹信息[16]包含在BL中每一个车辆信息中,在实现停驶车辆检测时,主要根据当前跟踪车辆的运动轨迹分析来进行判断.跟踪车辆的Blob信息使用两个链表来记录,一个是跟踪的Blod链表(BL),另一个是已经消失或暂时跟踪丢失的Blod链表(LB).这里所说的运动轨迹信息以分布存储的方式记录到了链表中的每一个Blob节点中,所以运动轨迹分析就是从这些分布的节点中提取出轨迹信息,分析它们的行驶帧数与停驶帧数之间的关系,以此用于判断车辆当前的状态.BL和LB两个链表的关系和结构如图4所示.
图4 BL和LB两个链表的关系和结构
利用轨迹判定运动车辆的停驶状态时,需要判断车辆行驶帧数n与停驶帧数m之间的关系.本文在满足下面两个条件时才将车辆的运动轨迹归类为停驶状态:
1) m>60,停驶时间为4s左右;
2) n>20,即行驶帧数大于20才能排除监控场景中启动车辆造成的背景更新误差.
3云台变焦摄像机的控制与车辆样本采集
云台控制系统一般由控制台、远程通信模块和控制模块组成.视频监控系统通过控制云台的水平及俯仰运动使摄像头准确地指向监控目标.由于云台变焦摄像机能够获取细节丰富的车辆图像,而且具有二次开发的SDK功能,因此本文方案采用云台变焦摄像机(海康威视DS-2DM1-602H).
控制摄像机时,依据停驶车辆的位置与摄像机的标定参数来确定放大的倍数以及云台的转动方向.摄像机的采集区域采用公式(3)确定,并将它作为摄像机的控制参数:
(3)
式中:Pminx和Pminy为车辆的左上顶点坐标,Pmaxx和Pmaxy为车辆右下角顶点坐标.将车辆外接矩形大小缩小三分之一的原因是为了使摄像机的放大倍率更大,获取图像细节更丰富.
获取的车辆样本图像作为样本库的一个样例以JPEG格式保存,文件名命名方式采用获取图像时的时间戳.采用时间戳命名文件,使样本库后期使用时方便定位图像与视频流的对应位置.
4实验结果与分析
为验证本文方法的有效性、合理性以及实时性等特征,进行了如下的实验.
4.1运动车辆识别实验
运动目标使用Blob块的宽高比和面积作为特征参数,为了验证这个特征参数能否有效地区分行人和车辆,随机选取多组白天不同时段(包含学校上下课高峰和低峰时间段)进行了运动车辆检测测试,测试结果见表1.
表1 连续差分图像中人车像素对比表
表1表明,运动目标的宽高比可作为区分行人和车辆判别的依据之一.当宽高比阈值取Ta=0.8时,系统可以区分行人和车辆,即行人宽高比≤0.8,而车的宽高比>0.8.根据监控摄像机的标定,距离摄像机较近的位置,车辆的特征必须符合两个条件:①Tb>600px;②Ta>0.8.通过这两个条件的判定,能够有效地去除单个行人的干扰,但对于人群的干扰则不能全部排除,需要进一步采用其他方法进行识别.
4.2运动车辆跟踪实验
测试发现,前后连续两帧间车辆的Blob特征变化细微,在短时间内可以认定车辆是刚体运动.但是,跟踪过程中会出现车辆丢失的现象,产生的跟踪轨迹偏差很大,其主要原因为:一是车辆驶入阴影区域导致与背景对比度变差(融入背景);二是瞬间光照条件的变化,致使背景更新出现误差.
CamShift算法实验采用3个时段,每次采用10min左右的实时监控视频,测试结果见表2.表2数据表明:在白天光照条件下,车辆的识别率达到了100%,跟踪准确率不低于90%;而在光照条件不佳的情况下(测试环境为冬季17:00点太阳已落山),车辆的识别与准确率都降低,尤其是跟踪准确率仅能达到66.7%.
图5是采用Blob分析和CamShift算法相结合的跟踪测试结果,图中尾部的轨迹线表示产生的运动轨迹.从图5可以看出,由Blob分析和CanShift算法相结合的方法产生的轨迹更具有连续性,而且与车辆的实际运动路线吻合得更好,这说明其比单独采用Blob分析跟踪方法更加准确、鲁棒.
表2 不同时段实时监控探头车辆识别与跟踪效果的比较
(a) 第300帧跟踪轨迹 (b) 第352帧跟踪轨迹 图5 第300—352帧车辆运行轨迹图
4.3停驶车辆检测及样本采集实验
图6为停驶车辆样本采集结果的效果图,其中图6(a)为检测的停驶车辆(矩形框标注),图6(b)是经过摄像机云台控制和镜头变焦后获取的车辆样本图像.由图6可以看出,采集的车辆样本因为采用了光学变焦所以图像细节清晰,满足样本要求.另外,云台调整和镜头变焦过程需要连续判断摄像机是否到达预定位置,一般通过连续4次询问当前摄像机的状态,这个过程大约需要2~5s(行人的位置已经发生了改变).
通过测试,摄像机控制动作及复原时间需要3~7s,再加上停驶判断需要4s(60帧),这样采集一辆车的样本图像在5~10s内即可完成,基本满足系统实时性的要求.
(a) 检测的停驶车辆 (b) 采集的停驶车辆图像 图6 停驶车辆样本采集效果图
5结论
实验结果表明,本文提出的方法在光照条件适宜的情况下,能够完成车辆样本的自动采集,采集的车辆样本图像满足建库要求.本文采集的停驶车辆图片可直接用于车辆样本库的建设,研究成果对智能化监控系统的研究起到一种支撑作用,同时本文研究过程中提出的车辆识别跟踪、停驶检测,以及车辆细节抓拍等方法适用于视频监控系统的特定需求,具有较高的实用价值.
在本文中,尚未处理夜间的车辆样本采集问题,有关夜间车辆样本采集方法将成为后续研究内容.
参考文献:
[1]Sidla O, Paletta L, Lypetskyy Y, et al. Vehicle recognition for highway lane survey[C]//The 7th International IEEE Conference on Intelligent Transportation Systems. Graz, Austria: IEEE, 2004:531-536.
[2]Sun Z, Bebis G, Miller R. Improving the performance of on-road vehicle detection by combining gabor and wavelet features[C]//The 5th International IEEE Conference on Intelligent Transportation Systems. Singapore: IEEE, 2002:130-135.
[3]文学志,赵英男,郑钰辉,等.车辆识别中样本自动化准备方法研究[J].计算机工程与应用,2010,46(15):25-27.
[4]Khammari A, Nashashibi F, Abramson Y, et al. Vehicle detection combining gradient analysis and adaboost classification[C]//Intelligent Transportation Systems, 2005. IEEE, 2005:1084-1089.
[5]刘星.基于co-training学习的车辆检测算法及场景自适应分析[D].北京工业大学,2013:66-70.
[6]王相海,秦钜鳌,方玲玲.基于感兴趣区域AdaBoost分类器的视频车辆检测研究[J].辽宁师范大学学报,2014,37(1):52-62.
[7]Vosters L, Shan C, Gritti T. Real-time robust background subtraction under rapidly changing illumination conditions[J]. Image and Vision Computing, 2012,12(30):1004-1015.
[8]施小成,郝丽超,张伟,等.基于Blob分析和贝叶斯决策的水下目标提取方法[J].计算机应用,2012,32(11):3214-3217.
[9]Collins R T. Mean shift blob tracking through scale space[C]// The 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Madison, USA, 2003:234-240.
[10]李伟生,汪钊.基于时空背景模型的自适应运动目标检测方法[J].计算机应用,2014,34(12):3515-3520.
[11]LIU Chao, HUI Jing. Object tracking algorithm based on improved CamShift[J]. Computer Engineering and Applications, 2014,50(11):149-153.
[12]黄园刚,桑楠,郝宗波,等.改进CamShift算法的眼动跟踪方法[J].计算机应用研究,2014,31(4):1220-1224.
[13]骆且,丁盼盼,杜宇人.一种基于多特征融合CamShift的运动车辆跟踪方法[J].扬州大学学报:自然科学版,2014,17(3):54-58.
[14]Jazayeri A, Cai H, Zheng J. Vehicle detection and tracking in car video based on motion model [J]. IEEE Transactions on Intelligent Transportation Systems, 2011(2):583-595.
[15]Cheng Y. Mean shift, mode seeking and clustering[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1995,17(8):790-799.
[16]Wu J, Cui Z, Chen J, et al. A survey on video-based vehicle behavior analysis algorithms [J]. Journal of Multimedia, 2012,7(3):223-230.