文献标识码:A
DOI:10.16157/j.issn.0258-7998.190198
中文引用格式:赵鹏,丰大军,徐一凤. 基于改进的CAM偏移算法实现运动车辆跟踪[J].电子技术应用,2019,45(6):97-100.
英文引用格式:Zhao Peng,Feng Dajun,Xu Yifeng. Realization of moving vehicle tracking based on improved CAM offset algorithm[J]. Application of Electronic Technique,2019,45(6):97-100.
0 引言
在计算机技术迅猛发展的现代社会,人工智能逐渐应用到各种场景中,其中智能驾驶技术在交通方面的应用是研究的热门方向。交通在平常生活中占据着越来越重要的分量。交通的技术水平成为衡量城市科技化水平的重要标志。然而,交通的快速发展却带来了许多问题,如交通的拥挤、交通事故越来越多、行驶环境的变差等。这就需要有效的流量管理手段,然而由于效率低和成本高,显然现如今依赖于大量人员的运输系统的管理早已不适合当前飞速发展的交通。车辆检测智能化是当今世界道路智能交通的发展趋势。
车辆识别在道路违法行为监控、非法套牌车辆识别以及智能交通收费站等交通应用中扮演着至关重要的角色。一方面,城市人口增长过快,城市道路车辆越来越拥挤,给依靠人力的交通指挥和管理造成了巨大的压力;另一方面,伴随计算机图像识别技术和模式识别学科等现代计算机技术的研究和发展,车辆识别和检测等技术也越来越可靠成熟,采用车辆识别技术的道路违法行为监控、违法套牌车辆跟踪以及智能收费站的可靠性也越来越高。在现代交通管理系统中,随着车辆识别和检测的使用越来越多,越来越多的研究人员开始关注。
如今,国内的车辆识别检测手段主要是指基于图像监控视频的车辆检测技术。近几年来,随着智能化出行概念的提出以及智慧城市等智能交通项目的实施,基于计算机图像的车辆检测技术掀起了研究热潮。尽管目前车辆识别技术已经取得了较多的科研成果,在交管部门也得到了大量的实战应用,车辆识别中仍然有许多值得去深入研究的话题。例如:在光线天气等环境变化的情况下,如何保证车牌识别的准确性、如何保证车辆特征提取的可靠性和鲁棒性、如何确定合适的车辆分类标准等课题。
在车辆检测和跟踪方面,基于运动车辆检测的结果,本文采用了平均值偏移作为识别基础的CAM(Continuous Adaptive Mean Shift)偏移跟踪算法[1]。CAM偏移跟踪算法是一种采用目标颜色作为特征的跟踪方法,不受被检测目标明暗亮度、形状大小等因素的变化影响,在跟踪过程中有非常好的可靠性,本文对此算法加以改进以实现对运动车辆的识别检测。
1 动态车辆检测
行驶中的车辆检测是计算机视觉、图像信息处理等研究方向的热门研究课题,它的主要意图是从一系列图像中将运动的目标从背景图像中“抠”出来,使车辆目标从图像中被准确地识别出来。动态车辆检测对于车辆的分类、跟踪和动作理解等后期处理很关键,是道路监控系统、车辆检测与车辆跟踪的基础部分。但是,由于图像画面实时变化,如受到光线的变化、气候的变化、背景色差的干扰及其他因素的干扰等影响,使得运动检测变成了相当困难的一项任务,现有的运动目标检测法可以归纳为以下三种方法[2]。
1.1 帧间差分法
帧间差分法是将相邻两帧的彩色图像或灰度相差,通过差分图中各像素的灰度或颜色分量与阈值的比较判断是否有运动物体以及运动目标的位置。其定义公式如下:
其中,Pt(x,y)表示t时刻的帧,Difft(x,y)表示t时刻两个相邻帧之间图像的差,(x,y)表示像素点对应的坐标。
1.2 背景差分法
背景差分法的基本思路是预先建立道路场景的图像模型,然后从背景图像的像素中减去要检测的像素,即计算:
其中,Ft(x,y)和Bt(x,y)分别为时间t的当前帧和背景图像,Difft(x,y)是背景差图像。
1.3 光流法
车辆目标检测采用的光流方法利用了运动车辆跟随时间动态变化的光流特点。这种方法的优点是能够在不需要预先收集道路场景的其他数据的情况下检测独立的移动车辆,并且可以用于相机运动的场景。但是大多数光流计算非常复杂且反差很小,抗干扰能力弱。如果没有较好的研究设备进行数据的采集,则此方法是不能应用于实际应用的,因此实用性较差[3]。
2 运动车辆跟踪
道路车辆检测的目的就是通过对一系列图像进行分析研究,计算出运动车辆在连续帧中的偏差,得到车辆大小、速度、车流密度等实时参数,从而对解决城市车辆拥挤、交通拥堵现象提供依据。可靠性和精确度是检测车辆过程中的重要参考点。
首先,利用车辆检测事先准备的一些有用数据:车辆在图像中的方位、车辆在图像中的占比、车辆的RGB数据[4]。把这些数据,作为CAM偏移检测算法的参数,通过对出现在图像可视范围内的每辆车进行差分,并记录每一时刻每辆车的移动信息,计算每辆车的平均速度等实时参数,从而为道路交通的车流量控制提供可靠依据。接下来对CAM偏移车辆跟踪算法进行详细介绍。
2.1 CAM算法理论
CAM偏移算法最先应用于生物中人脸的识别,它使用颜色信息进行计算,以识别具有特定颜色的目标。CAM偏移为均值偏移的优化算法,最初由Gary Bradsky等研究学者提出并将其应用在连续图像序列的人脸跟踪中[5],称其为CAM偏移(Cominuously Adaptive Mean Shift)算法。均值偏移是一种鲁棒的非参数密度梯度估算,它在颜色概率分布图像中找到概率分布的极值。用CAM偏移算法进行彩色目标跟踪的流程如图1所示。
CAM算法的不同阶段[6-8]:
(1)计算大于均值偏移初始窗口的搜索区域的概率分布;
(2)初始化均值偏移的W窗口;
(3)应用均值偏移直到收敛,获得收敛窗口Wf;
(4)增加值为Wf的±5个像素,从概率分布的二阶矩评估椭圆Wf;
(5)计算下一幅图像的平均移动的初始矩形,并将其放大±20%来定义搜索区域;
(6)对下一帧图像重复执行步骤(1)~(5)。
从概率分布的二阶矩估计椭圆参数I=Ps。当平均移动收敛时,CAM偏移算法扩大窗口W并计算在其范围内包含99%的点的置信椭圆。假设这些点具有高斯2D分布,如图2所示,这使得可以从感兴趣区域W的二阶矩估计该椭圆的参数。(x,y)代表像素点坐标,(xc,yc)为椭圆中心,i、j为对应的计算阶数。
其中,Moo表示像素矩阵零阶矩。如果a
然后通过在a和b轴上投影椭圆顶点来推导下一个图像的平均移动的初始窗口的高度w和宽度h:
2.2 算法优化改进
2.2.1 CAM算法优劣
CAM偏移跟踪算法是一种基于颜色特征的运动目标跟踪方法,由于目标的颜色特征不受目标运动形状的影响,是一种较为稳定的特征,因此可以用来实现对运动物体的跟踪。由于CAM偏移在每一帧的均值偏移计算中都用到了上一帧计算的结果,因此即使跟踪目标被部分遮挡也能够持续地跟踪目标。但是之前的CAM偏移算法在实际运行中也存在缺点。搜索窗口的初始位置需要人工设定,运动物体的样本也要人工选择,由于引入了人的参与,使得该算法不能实现全自动地实时跟踪。
2.2.2 CAM算法优化
首先在系统初始化时通过第1节所述的方法快速地检测出道路上的车辆,并提取每辆车的位置、尺寸和颜色等数据。然后再用绑定每辆车的矩形框的位置和大小初始化CAM偏移搜索窗口,从而为每一辆检测到的车辆用CAM偏移算法进行跟踪。通过与运动车辆检测相结合,实现了智能的车辆检测和识别。该优化流程如图3所示,过程详述如下:
(1)通过运动车辆检测算法,检测出路面所有运动车辆,并用矩形框把测检到的每辆车绑定,同时计算每个矩形框内的Hue通道直方图[9],把得到的数据作为车辆的颜色查询表。
(2)为检测到的车辆都设置一个“CAM偏移跟踪器”,即对每个检测到的运动物体都使用CAM偏移算法跟踪,算法的初始搜索区域和Hue通道直方图均从上一步中获得。
(3)计算搜索区域内的彩色概率分布图像,也就是反向的投影计算。
(4)执行均值偏移算法,获得新的搜索区域的范围和区域位置,并将其数据记录下来。
(5)在下一帧获取的图像里,利用上一步获得的数值更新搜索区域车辆的范围和区域位置,并跳转到步骤(3)继续执行。该算法重复进行,直到被跟踪车辆驶出图像范围,CAM偏移算法才可以终止。
2.2.3 优化结果
优化后的算法能有效解决目标变形和遮挡的问题,对系统资源要求不高,时间复杂度低,在简单背景下能够取得良好的跟踪效果。仅当背景非常复杂时,或者有许多与目标颜色相似像素干扰的情况下,才会导致跟踪失败。因为它单纯地考虑颜色直方图,忽略了目标的空间分布特性。对于如图4所示的场景,可以很好地实现对车辆的动态跟踪。
3 算法分析
均值偏移是一个聚类的图像识别技术,这是一种非参数密度估计算法。均值偏移算法被用于找到在距离概率分布的梯度最近的部分图像。
在用CAM偏移跟踪算法跟踪运动车辆的同时,为了确保车辆识别过程中识别的可靠性和准确性,需要增加一些人为设定的限制条件:
(1)受光线强弱的干扰,均值偏移算法计算得到的搜索窗的宽度可能会比道路还宽,但由于真实车辆的宽度不可能比车道的宽度更宽,因此人为设定计算得到搜索窗的宽度也不宽于路面车道的宽度。
(2)出现路况较为复杂的时候,对运动车辆的检测会造成干扰,所以约定当车辆被连续跟踪若干帧以上才将其认定为车辆并继续检测识别;否则将其忽略并认为是运动误检测带来的干扰。
基于颜色色差的车辆识别算法CAM偏移来跟踪和识别车辆,并且CAM移位跟踪用移动车辆定位算法初始化。车身的色彩特征不会被车辆的形状大小所影响,是识别过程中较为稳定的特征,是可以采取的特征。本文完成了迅速、可靠、智能自动地去进行运动车辆的识别。
4 结论
运动车辆数据采集与处理中,与其他方法相比,基于计算机图像识别的检测方法具有成本低、直观、维护方便、检测参数多的优点,是未来车辆信息识别的研究方向。本文通过计算机图像处理的方法,在车辆流参数检测方面进行了研究,获得了初步的研究成果。在移动车辆跟踪方面,基于运动车辆检测结果,本文采用基于均值偏移算法的CAM偏移跟踪算法,使得该算法实现全自动地实时跟踪运动车辆。CAM偏移算法是一种利用目标颜色特征的跟踪方法,它不受车辆的车型和结构影响,并且在跟踪过程中具有良好的准确性和可靠性。
参考文献
[1] 王磊,王瀚漓,何良华.基于双边缘检测的车牌识别算法[J].计算机工程与应用,2013,49(8):169-173.
[2] 陈文艺,张龙,杨辉.HDR图像色调映射的自适应色彩调节算法[J].电子技术应用,2018,44(11):107-110.
[3] 蔡念,周杨,刘根.鲁棒主成分分析的运动目标检测综述[J].中国图象图形学报,2016(10):1265-1275.
[4] 张涵,闫怀平,张展.多特征融合及最小均方误差优化的阴影检测[J].电子技术应用,2018,44(10):153-157.
[5] Cong Bin,Wang Zhefu.Camshift target tracking based on Gaussian background difference and AdaBoost combination[C].Conference on Complex,Intelligent,and Software Intensive Systems Springer,Cham,2018:1087-1096.
[6] 初红霞.基于均值移动和粒子滤波的目标跟踪关键技术研究[D].哈尔滨:哈尔滨工程大学,2012.
[7] 蔡勇智.一种改进的神经网络算法车牌识别算法研究[J].科技通报,2012,28(10):128-130.
[8] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[C].ICLR 2015,2015:1-14.
[9] 刘芳辉,郭慧,张培,等.基于基元自相关图和结构元直方图的图像检索[J].电子技术应用,2017,43(8):115-118.
作者信息:
赵 鹏,丰大军,徐一凤
(华北计算机系统工程研究所,北京100083)