AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车( 二 )


通过在轨道上设置多个路径点 , 微型汽车可以行驶到不同的地点 , 并从中收集数据 。在此模拟器中 , 我们每 50 毫秒收集一次图像数据和转角数据 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ 模拟器中的轨道中上设有多个路径点
大家都知道 , 软件虚拟出的场景图片和实际拍摄到的图片会有很大的差别 , 包括光线、周围环境以及其他的噪声 。为了使得训练的神经网络能够适应实际要求 , 需要对数据进行增强 。
他们将以下变量添加到场景中:随机的 HDRI 球体(具有不同的旋转模式和曝光值)、随机的环境亮度和颜色以及随机出现的车辆 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ 各种环境下的数据增强
下图给出了经过训练之后 , 卷积神经网络的第一层对于输入图片的输出 。可以看出 , 它已经能够很好地将图片中道路信息边缘信息能够很好的提取 , 对于背景可以进行有效的压制 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

【AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车】▲ 第一层神经网络的输出
使用神经网络进行控制的一个最大的问题 , 就是车模有时会出现莫名其妙的动作 。比如下面这个场景 , 明明已经成功的拐过弯道 , 进入平坦顺直的道路 , 车模则抽风地冲出跑道了 。
这主要是因为所训练的样本没有能够均匀包含各种道路情况 , 模型比较脆弱 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ 早期版本中玩具车偏离了轨道
为此 , 在场景中添加了各种形状的曲线 , 以丰富原来训练数据库中大多数的直线轨道数据 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ (左)方形轨道与(右)弯曲轨道
功夫不负有心人 , 修正数据集不均衡的问题后 , 车辆便开始能够在弯道处正确转向 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ 车辆在弯道可以成功撰文
似乎理性的增加数据可以提高车模的性能 , 但有时候仅仅采用小的技巧便可以解决大问题 。比如当微型车模运行到展品边缘时 , 就会看到很多展台外面的场景 。外面的场景多变 , 很难通过数据来表征这些变化 。怎么办?
作者就用了一个字:切!
将输入图像的下面四分之一切出来 , 送入神经网络进行训练 , 就有效化解了上述的问题 。
AI人工智能|需要更换手机了:基于手机构建无人驾驶微型汽车
文章图片

文章图片

▲ 展品上的轨道 , 以及在展品边缘看到的图像
为了能够进行车辆定位以及检测其它干扰车辆 , 在手机Pixcel 4上的Neural Core Edge TPU上运行了ssd_mobilenet_edgetpu模型 , 这是来自TensorFlow 目标检测模型库 。每帧检测时间仅用6.6毫秒 , 在实时应用中游刃有余 。
为了是检测神经网络模型能够适应展品场景需要 , 作者同样使用了模拟器和真实场景中的数据来训练模型 。为了提高检测鲁棒性 , 使用了Unreal Engine 4来随机生成物体和背景 。使用 labelImg 工具进行对样本进行了手动标注 。


推荐阅读