近年来,自动驾驶一直是人工智能领域最热门的场景之一,可以落地到物流、共享出行、公共交通、环卫、港口码头、矿山开采、零售等众多领域。
在年华为云人工智能大赛?无人车挑战杯赛道中,来自上海交通大学的“SRC”战队,借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台,进行无人车模型开发与部署,最终夺冠。
“SRC”战队撰文分享其参赛体验,包括无人车的图像识别,多维数据处理及行驶控制的能力等。
一、背景介绍
华为云人工智能大赛·无人车挑战杯总决赛主要赛点包括:实现交通灯识别、环岛行驶、U形弯道行驶、静态/动态障碍物避障,并准确识别停车位标示进行泊车。在总决赛中,小车不仅仅要完成所有的赛点,还要跑得快。在比赛规则中,还要一个时间加分项,若40s内跑完全程,则可以获得此项得分。
图1半决赛比赛现场
无人车挑战杯是在智能小车的基础上,结合华为云人工智能平台(华为云ModelArts一站式AI开发与管理平台、HiLens端云协同AI开发应用平台),全面锻炼和提高赛队的AI解决方案能力及无人驾驶编程技巧的赛事,比赛用车由上海交大学生创新中心智能制造实验室自主研发。
图2华为全联接大会无人车比赛总决赛赛场
二、整体解决方案
在无人车比赛中,有着两个非常重要的传感器:相机及激光雷达。相机主要用于交通标志牌和交通信号灯的识别,激光雷达则用于避障及路径规划。在无人驾驶领域,相机和激光雷达的复合解决方案也逐渐成为了技术主流。激光雷达的点云数据流可以由工控机处理,这一部分的技术也比较成熟,GitHub、GitLab等开源平台也有一些非常棒的基于ROS的激光slam项目,此文就不再赘述。对于涉及到深度学习的图像数据流的处理,传统工控机显得有些力不从心。首先模型部署流程比较复杂,模型推理需要安装必要的依赖库,这些库的配置在传统工控机上并不容易,尤其是具有ARM架构的工控机;最重要的是对于无人驾驶这样的高速实时系统,模型推理的速度是最为关键的,HiLens搭载的昇腾芯片是一块高性能华为人工智能芯片昇腾,针对神经网络进行了优化,在模型的推理上有着得天独厚的优势。
图3无人车解决方案整体框架示意图
三、华为云ModelArts一站式AI开发与管理平台的使用
3.1识别任务
交通信号灯的识别主要分为红灯、左转灯和右转灯的识别;交通标志牌主要分为P1、P2两个停车位的识别。本文使用华为云ModelArts一站式AI开发与管理平台进行模型训练。
图4单面三灯的识别
图5待识别的停车标志牌
3.2网络框架
在选择深度学习框架时,尽管tensorflow和pytorch是目前学术界的两大主流,但caffe在工业设备上进行部署要更加方便,因此选择了caffe。目前,ModelArtsnotebook中提供了官方1.0版本的Caffe引擎,我们基于Caffe使用SSD算法开发交通信号灯和标志牌检测模型,并使用了ModelArtsnotebook自带的terminal来编译安装caffe-ssd。
图6SSD网络结构及损失函数的说明
数据处理过程参考ModelArts开发手册: