从ADAS到自动驾驶(一):自动驾驶的发展及分级

好久没更新了,今天写一点吧!!!

下面所讲的车辆检测主要是针对车载传感器车辆检测,不是十字路口那种车辆检测,这个属于静态背景的车辆检测,和我们车载传感器获取的车辆信息量不一样,场景不一样,检测方法也是有区别的,大家不要混淆。

车辆检测的主要方法有通过阴影检测,通过机器学习检测、通过深度学习检测、通过车灯检测等,特别说一下,车灯在夜间的效果较好,可以弥补使用摄像头进行车辆检测时夜间捕捉特征比较少的这个缺陷。车辆检测的传感器主要还是雷达、摄像头,最主要的还是使用摄像头。测距使用单目可以建立简单的测距模型,精度在米级,使用双目测距的精度在一定范围内在亚米级,这个一定范围是有原因的,双目测距,越远像素点代表的深度信息越多,遮挡的越严重,所以太远双目测距精度和近处的精度是不能同步的。雷达测量车距精度是亚米级。对测距这里是顺便提一下,本文还是主要描述车辆检测算法。

通过车牌定位车辆的方法基本不能适合车辆的

一、通过阴影进行车辆检测

这种方法是比较古老的,大概在07年左右,有很多的论文出现了这种过检测方法,核心的思想是,在标准结构化的道路面上,车辆遮挡光照,在地面上有一个特征明显的本影区,通过提取这个阴影,可以找到车辆的位置。如果感兴趣,可以去网上查一下这方面的文章。下面具体讲一下使用传统的图像处理方法提阴影检测车辆。


二、通过车灯检测车辆

三、机器学习传统方法进行车辆检测

       机器学习自2006年以来取得突破进展,依赖大数据和多层神经网络训练得到的结果,准确率迅速提升,在各个识别比赛中取得非常好的成绩。大数据保证了样本的多样性,使得最终的训练结果从统计规律来讲,覆盖的特征范围更广(准确的说不能说是特征,应该是抽象的描述)。多层神经网络层为准确提取这些特征或者得到这些特征的微观描述提供了一种更加准确的方法。

       在机器学习下面的大类深度学习火起来之前,其实工程应用较多的还是传统的机器学习方法,比如遗传算法、KNN、SVM等,在今天,这些方法依然非常实用。其中adaboost机器学习对于特定的类别物体识别具有很好的效果,实时性都还不错。使用adaboost方法训练得到的分类器可以用移植到嵌入式设备上实时检测车辆,这个方法也是目前一些ADAS方案商实现前碰撞预警车辆检测的主要方法。

      

四、机器学习之深度学习检测车辆

       深度学习作为机器学习的一种,在物体检测的准确率和定位方面,是其它方法目前无法相比较的。深度学习的模型经过大牛的一番酝酿之后,每次发布的新算法,得到的检测结果的实时性都是质的提升。主要的模型有CNN,Fast R-CNN,Faster R-CNN,YOLO,SSD,等,大家可以去搜一下。我用YOLO跑了一遍模型,主要是考虑到YOLO的实时比较好,SSD速度也非常快,大家感兴趣可以试着做一下。先放一张图来