论文部分内容阅读
自动驾驶汽车可为人们生活带来便利,行车环境中的实时车道检测是实现自动驾驶的首要基础任务。目前对车道检测的研究大多是基于CPU+GPU开发平台,该平台性价比低、功耗高、体积大,不适合用于车载场景中。为了满足实时车道检测性能、功耗和灵活性等要求,本文在FPGA开发平台上设计出车道检测系统,最终实现实时车道检测。本文主要研究内容如下:车道线检测。本文首先列举并对比目前常用的实现方法,包括图像处理、语义分割等,经过实时性、计算复杂度等方面的对比后,制定出基于图像处理算法的实现方案;然后设计出实现车道线检测的各个模块,主要包括阈值分割、逆透视变换和车道线拟合;最后输出行驶区域、车道的曲率半径、车道弯曲方向以及车辆偏离车道中心的方向和距离等重要信息,完成车道线检测。车道线类型识别。本文首先提出车道线类型识别的必要性以及识别区域动态提取的方法;接着对Caffe深度学习框架以及卷积神经网络算法进行学习,对基于卷积神经网络算法的目标识别的原理与实现方法进行学习研究;然后制作车道线数据集,并根据数据集及硬件平台资源的实际情况,在PC上设计并训练出适合的网络结构;接着在FPGA环境中完成识别网络的搭建与测试;最后通过更改网络参数类型、插入流水线等方法优化程序设计,使得综合后硬件资源的使用量以及系统实时性方面都满足实际要求。数据通路设计。本文通过OV7725采集数据并输入到FPGA中,接着通过数据格式转换模块以及传输接口转换模块完成数据预处理,然后经过车道线检测模块和车道线类型识别模块,获取到车道曲率半径、车道弯曲方向以及车道线类型等重要信息,最后将检测结果输出到外部显示器上。整个系统的设计是基于ZYNQ7035 SoC开发平台,并该平台上完成车道线检测、车道线类型识别、数据通路设计等工作,并根据平台资源及特点优化通路设计,最终实现对车道线清晰且道路背景单一的结构化道路进行车道检测,速度达到104fps以上。