车辆识别及跟踪是实现智能交通的关键,对车辆行为的分析都是建立在能正常识别和跟踪车辆的基础上的。本工程能够对交通视频中的多个车辆进行稳定和准确的跟踪。鲁棒性高,具有实用价值。
本工程由C++语言在Windows下实现,算法参考了德国的一个研究团队自1990年以来的成果。这个团队在智能交通这一方面有非常深厚的积累,二十多年里他们的研究全部围绕智能交通这一目标展开,构建了一个完整的算法框架。研究成果发表论文无数,其中包括多篇IJCV这类计算机视觉方向的顶级期刊。
本工程算法的简略步骤:
(1) 首先对常见的车辆建立一个线框模型,该模型主要是由点和线组成,表示的是车辆的边缘及轮廓,虽然简陋,但是足以表示车辆的主要特征。
(2) 计算图像的主要边缘,通过光流计算出场景中运动的区域。当然,整幅图像的边缘中属于车辆只是很少的一部分,并且通过光流求出来的这些区域有可能是车辆,也有可能是其他的运动物体,还有可能是误检测。
(3) 在现实世界中建立坐标系,建立路面物体到成像平面的映射关系,将处于路面上的线框模型投影到图像平面上。
(4) 利用光流和图像边缘,将线框模型在图像上的成像与图像中的车辆轮廓进行匹配,寻找两者的最佳匹配位置,匹配的过程中,还考虑了有阳光时,车辆投影对车辆轮廓所来带的干扰,对阴影也进行了建模。
(5) 利用光流求出来的运动方向、大小和卡尔曼滤波器对车辆的前进方向进行预测和跟踪。
(6) 步骤2到步骤5不断地迭代,对车辆进行跟踪。
跟踪的效果如下图所示:
[1] Roller D, Daniilidis K, Nagel H H. Model-based object tracking in monocular image sequences of road traffic scenes[J]. International Journal of Computer Vision, 1993, 10(3): 257-281.
[2] Haag M, Nagel H H. Combination of edge element and optical flow estimates for 3D-model-based vehicle tracking in traffic image sequences[J]. International Journal of Computer Vision, 1999, 35(3): 295-319.
[3] Ottlik A, Nagel H H. Initialization of model-based vehicle tracking in video sequences of inner-city intersections[J]. International Journal of Computer Vision, 2008, 80(2): 211-225.
[4] Pece A E C, Worrall A D. Tracking with the EM contour algorithm[M]//Computer Vision—ECCV 2002. Springer Berlin Heidelberg, 2002: 3-17.
[5] Kollnig H, Nagel H H. Matching object models to segments from an optical flow field[M]//Computer Vision—ECCV'96. Springer Berlin Heidelberg, 1996: 388-399.
Last update: 2012-10-01