论文部分内容阅读
自动驾驶是指车辆通过传感器感知周围环境,在没有人为干预的情况下,实时改变驾驶行为,完成驾驶任务。自动驾驶可以减少交通事故的发生,提高道路交通资源的使用率,节约居民的出行成本,因此对自动驾驶技术的研究具有重要意义。基于计算机视觉的自动驾驶技术使用视觉传感器的观测图像作为输入,驾驶动作作为输出。现有方法主要分为间接感知型(Mediated Perception)方法、直接感知型(Direct Perception)方法和端到端控制(End-to-End Control)方法。其中,间接感知型方法将自动驾驶任务分为目标检测、目标跟踪、场景语义分割、相机模型和标定、三维重建等子任务。直接感知型方法首先学习交通环境的关键指标,随后由控制逻辑进行控制。端到端控制方法直接建立输入到动作的映射,具有简明的系统结构。本文设计了一个基于端到端控制和深度学习的自动驾驶算法。算法将自动驾驶作为一个整体的问题进行研究,建立一个端到端的学习系统。学习系统是由7层卷积层和4层全连接层组成的卷积神经网络(CNN),网络的输入是无人车第一视角的图像,输出是一个浮点数,代表要预测的转向角。相对于预测左转、右转等动作的传统方法,连续的转向角对运动的描述更加精确。为了提升训练效果,算法在训练中使用了网络预训练和防止过拟合等措施。与间接感知型结构和直接感知型结构相比,本文设计的算法具有明显的优势。首先,避免了间接映射型方法的复杂系统结构,降低了设计的难度。其次,可以在真实场景下高效的完成数据采集和训练,而直接感知型方法中需要学习驾驶相关的指标,例如与障碍物的距离、与标志线距离等,在真实场景中精确采集这些数据需要超声和激光雷达等设备,采集成本高,不易实现。本文算法只需要记录视场图像和转向角作为卷积神经网络的训练样本,在测试时只需采集视场图像,根据卷积神经网络预测的转向角实现对智能车的连续控制。为了减少真车实验的成本,本文设计实现了一个微缩智能车系统用于数据采集和算法验证。智能车在自行设计的有标志线和障碍物的模拟交通环境中进行数据采集、训练和测试。在对CNN的可视化中,发现CNN可以自行提取与决策有关的特征。实验结果表明,智能车能够提前规划合理的路线进行避障,能够在常规场景中保持较高的自动驾驶率。