前方车辆检测的常用方法

2018-11-12 17:18:30 ADAS

        前方车辆检测,这里指的是基于车辆自身对象,而不是公路交通部分的车辆检测。

前方车辆检测,可以用于防碰撞系统、进而用于自动巡航(ACC)等功能,应用场景广泛,所以,此技术是一项比较基础的技术。而先前的ACC,只是基于正前方车辆的检测,对于侧面的车辆或环境的跟踪能力有限。但随着各种传感器和导航地图的应用,ACC的能力也会大大增强。ACC只用于高速行驶状态,但已有低速跟车系统的研究,某公司已计划未来两年内上市。


1. 传感器

        前方车辆检测,常用的传感器有高频雷达(毫米波)、红外激光雷达、摄像头。

每种传感器都有各自的优缺点:

        雷达:自己可选用的波段有限,常用24G(厘米波)、79G波段。对雨雾天气的适应能力好,探测距离大150米,但容易受电磁干扰影响。据传,79G雷达技术对国内有限制的。而欧盟和我国的工信部是建议24G作为车载雷达波段。而美国是推荐79G波段作为车载雷达的使用波段。http://www.srrc.org.cn/NewsShow6038.aspx

        红外激光:抗干扰能力强,定向性。但对于雨雾天气的穿透能力弱。且成本高。

        摄像头:基于视觉的探测。对距离的判断较弱(单目视觉情况下),易受雨雾天气的影响。

        所以,想适应各种场景,厂商一般会采用多种传感器收集信息。

        这里重点总结下,基于单目视觉的车辆检测技术。

        从视觉上来讲,车辆的形状、颜色和大小虽然限定在一定范围,但都是不固定的,而且,其外形会受到自身姿势和外部环境,如光照或旁边物体的影响。


2. 基于先验知识的特征检测

        汽车有一些一些典型的特征, 如对称性、颜色、阴影、几何特征(如角点、边缘)、纹理、车灯。

        1)对称性:汽车从前方和后方来看,无论是在区域面积还是边缘特征上,具有很好的对称性。但是,对称性特征易受噪声的干扰,以及角度的影响。

        2)颜色:颜色空间一般不直接使用在车辆上,而比较有效的手段是识别路面和车辆阴影。

        3)阴影:车辆阴影是与车辆相关的一个重要的特征。因为车辆阴影一般比周围区域都要暗。但具体的参数指标,还与光照,即天气状况有关。

        一般做法是采用两个阈值,一高、一低,低阈值用于确定阴影,而高阈值由阴影周围环境来确定,如局部分割算法,均值+方差。

        4)角点:先检测出所有角点,然后再根据角点的空间关系,如汽车的四个角点会形成一个矩形,来筛选汽车。

        5)垂直或水平边缘:一种方式,直接检测垂直边缘,利用类似直方图计算垂直投影。然后,车辆底盘下方阴影部分也是重要的水平边缘特征。另外,也有采用多分辨率的方式,在每个层次都边缘只是作为一种初步的筛选/搜索手段。

        6)纹理:熵、共生矩阵都可被作为基于纹理的图像分割的基础。

        7)车灯:主要是用于夜间车辆的探测。因为,以上特征在晚上基本都无效了。

        8)基于运动的方法:以上其中都是空间特征。而基于运动的方法是对图像连续序列的分析。如光流法。

        但光流法会消耗大量的计算资源,时间和空间。


3. 识别

        无论是用遍历的方式,还是用特征筛选出的候选区域,对筛选出的子图像需要进一步识别,车辆还是非车辆。

        1)基于模板的方法

        采用简化过的车辆模板来筛选。

        2)基于外观特征的方法

        车辆VS非车辆 分类

        二类分类问题,一般采用机器学习/模式识别的方法解决。

        首先,需要大量的训练图片。

        其次,选取合适的特征,如PCA,HOG,harris,haar wavelet feature, SIFT等

        再次,选取分类器,如NN,svm等


4. 跟踪

        车辆的跟踪的好处:

        1)提前预测车辆出现的位置,减少车辆检测的搜索空间,节省计算时间。

        2)区分多个车辆,每辆车都有各自的特征,如HOG,边缘,灰度密度等,使用这些特征,就可以区分不同类型的车辆。根据跟踪算法的结果,即使是同款车辆出现在同一场景,也能基本区分。

        目前,常用的跟踪算法,有卡曼滤波算法。


5. 近几年热门的车辆检测方法

        1)HOG 特征 + haar-like特征;SVM 或 adaboost  分类器; (HOG + SVM ; haar-like + adaboost 速度快)

        2)光流法;或增加一个HMM分类器,或SVM分类器

--------------------------------------------

前方车辆检测技术,常见问题:

1. 选取那种分辨率来计算?

mobileye采用的是 640×480 或 752 * 480 彩色CMOS摄像头

2. 如何选取特征?

3. 如何跟踪?

4. 如何计算距离?

5. 如何计算前车速度?

6. 如何区分多个车辆?

--------------------------------------------

        基于Haar和HoG特征的前车检测方法,其特征在于,包括以下步骤:

        步骤I)人工选取出大量车辆图片和非车辆图片作为训练集的正、负样本,并将正、负样本规格化到24 X 24像素下;

        步骤2)使用Haar特征和HoG特征分别对规格化后的每一幅正、负样本进行表征,形成特征向量;

        步骤3)针对Haar特征和HoG特征形成的两种特征向量分别构建弱分类器;

        步骤4)利用级联的Adaboost算法对弱分类器进行训练,得到级联车辆强分类器;

        步骤5)针对车载摄像头获得的前方道路视频图像,将其中各种尺寸、各种位置的子图像输入级联车辆强分类器中进行判断。

        也有利用改进的HOG特征值,和SVM训练,来对车辆进行识别

        harr特征、hog特征(大量的正、负样本图片训练),利用adboost算法 进行训练、级联,形成强分类器

http://www.google.com/patents/CN102855500A?cl=zh

-------------------------

HOG特征的计算及一些改进:

        HOG:histogram of oriented gradient, 方向梯度直方图,就是描述物体的形状和边缘特征,并且不涉及尺度和旋转。

        1. 将子图像灰度化,归一化(为了除去光照和阴影的影响)

        2. 划分成小cells,如3*3个像素块或6*6个像素块。

        3. 计算每个cell中每个pixel的gradient方向,或者说是边缘的方向。

        4. 统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor。

        5. 连接所有cell形成一个子图像的特征描述子。

        6. 子图像之间是一般是由重叠的区域的,这样一个cell影响的就不是一个子图像了。一个矩形子图像,一般有三个参数:每个子图像有多少方格、每个方格有几个像素、以及每个方格直方图有多少頻道(梯度方向)。

        由于人体轮廓在局部HOG归一化特征上有良好的稳定性,最初是用于人体检测。

        在Dalal和Triggs的人检测实验中,发现最优的单元块划分是3x3或6x6个像素,同时直方图是9通道。