论文部分内容阅读
近年来,随着国民经济的不断发展,国内对危险品的需求量也在逐年增加。截止到2017年我国每年的危险化学品运输总量已经超过3亿吨,所运输的危险化学品主要包括氰化物、液氨、液氯、油品类等。一旦发生交通事故将会对自然环境、道路安全以及人民的生命财产安全产生巨大的影响。另外,基于传感器技术、先进控制技术的先进驾驶辅助系统(Advanced Driver Assistance Systems,ADAS)为汽车行车安全提供了很好的解决方案。传感器在先进驾驶辅助系统中有着十分重要的地位,常用传感器主要包括摄像头、毫米波雷达、激光雷达等,可用于获取车辆内、外部信息,这些信息可以帮助驾驶员更加安全的完成驾驶任务。因此,本文总结了国内外相关方面的研究现状基础上,搭建了车辆检测与识别算法框架,开发一套基于机器视觉的前方危险品运输车辆识别及预警系统,最后通过实车道路试验测试系统功能。具体研究工作如下:(1)通过对各种车辆识别和检测算法进行对比,采用基于Haar特征和AdaBoost级联分类器算法识别危险品运输车辆。共训练得到四个分类器,其中各个分类器的正样本数量分别为800张、1200张、1600张和2000张。通过对比分析得到由1600张正样本训练得到的分类器效果最佳。(2)采用分层检测算法用于危险品运输车辆的识别。由于现有的滑窗检测算法计算量过大、实时性差,因此通过对滑窗检测算法的源代码进行解读,在精确掌握其工作原理的前提下,提出一种分层检测思想,然后根据这种分层思想对OpenCV中与滑窗检测算法相关的代码进行修改和重写,最终得到的分层检测算法更加适用于危险品运输车辆的检测,不仅提高了检测的速度,而且也一定程度上解决了闪现、闪灭等问题。(3)通过利用几何测距模型完成前方车辆测距功能。本文采用基于几何模型的单目视觉测距方法,首先选用张正友标定算法完成摄像机的标定,获取摄像头内参数;然后根据几何测距模型和四个坐标之间的相互转换关系,将选取的两个测距点的像素坐标转换成道路平面坐标,最后将两个测距点的道路平面坐标代入距离计算公式得出车距。通过C++语言在Visual Studio 2013开发环境中实现。(4)完成预警系统的开发并进行实车道路试验。基于Visual Studio 2013开发环境和OpenCV库,使用C++语言进行系统开发,并通过交叉编译的手段,最终将系统移植到Arm开发板中,并通过实车试验对系统功能进行了测试与分析。