论文部分内容阅读
随着国家经济的高速发展以及基础设施的不断完善,使得汽车对普通家庭来说不再是一件奢侈品。路上的汽车多了,自然道路交通问题也就随之产生。为了能够有效的解决这些问题,减少交通事故率,国家投入了大量的经费支持科研人员研究智能网联汽车。这个方向成为研究的一个热点,而实时车道检测则是实现无人驾驶的基础任务,其识别出车道线信息,为后续的车道偏移预警做好前期准备工作。而现在还没有一个车道线的检测算法可以有效高速处理现实中各种复杂路况,因而如何提高复杂道路中车道检测的准确性和实时性是一个重点研究方向。Hough变换被不断改进,使其能够更加准确的检测出车道线。虽然算法的准确率提高了,但是其计算所需的时间较长,并不能满足实时性要求。为了达到实时性的目标,目前对车道线检测的研究多数集中在CPU+GPU的异构平台。由于车载平台应用的要求是低功耗、高性价比,而GPU成本高、功耗高,所以不适合应用于车载环境中。FPGA因其可编程、低功耗、高并发的特点,用于开发车载场景应用十分合适。本文选择在FPGA平台上设计车道线检测加速器,主要内容如下。1)提出基于FPGA的直方图均衡化和改进Canny边缘检测的并行化策略。本文引入直方图均衡化,增强光暗程度不同的图像车道线信息,使得图像预处理的结果更利于后续检测。针对直方图中的仿存密集特点,用聚合仿存的方法,同时读取多个数据进行并行化处理,提高运算速度。进行去噪时,快速中值滤波算法需要进行多次排序操作,非常影响算法的效率。考虑用全比较排序法并行的比较,使一个像素点的滤波处理可以在3个时钟周期完成,本文引入FPGA流水线处理,提高数据处理的速度。对于Canny边缘检测中的边缘连接,需要进行多次迭代循环,不易在FPGA上实现,考虑用遍历10次弱边缘图像判断是否为边缘点的方式,代替循环,减少资源消耗。2)提出基于FPGA的Hough变换并行化策略。针对串行Hough变换算法存在的循环多、累加数组占内存多的问题,提出FPGA上的并行优化方法。该方法根据Hough变换适合并行化处理的特点,设计相应的并行化方法,对得到的累加矩阵进行分割,切分成多个子矩阵进行并行遍历,获得局部最大值,最后整合得到整体最大值,实现车道线检测。3)车道线检测加速器FPGA实现。本文选择的开发平台是一个ARM+FPGA的异构计算平台,在该平台上完成了图像预处理、车道线检测等工作。整个加速器的各个模块根据相应的并行策略,采用OpenCL C语言完成内核程序编写实现,然后用Intel的SDK编译成FPGA上运行的.sof文件,将其下载到DE10上实验验证,共耗时55.72ms,有待进一步优化代码,减少计算时间。FPGA上的查找表和RAM资源分别使用了63%和41%,后续可以考虑优化算法,保证运行速度的基础上减少资源消耗,从而达到降低成本的目的。