【深度学习】自动驾驶汽车:实现实时交通信号灯检测和分类

今天,基本的交通灯信号灯检测问题已经得到解决。深度学习和计算机视觉的创新以强健的算法的形式存在。它们在没有开发代码的情况下工作,手动确定颜色或交通信号灯的位置。例如,优化的R-CNN(https://arxiv.org/abs/1506.01497)模型能够以实时的速度获得最先进的精度。那么它是如何工作的呢?

交通信号灯在哪里?

Google的一个团队使用提取检测到的交通信号灯的方法,然后在该方法上运行第二个分类器。提供了灵活性;然而,根据实现的不同,它可能会增加管道复杂度和计算成本。更重要的是,它似乎依赖于对预期交通信号灯位置的先验信息。一般来说,将分类作为第二步添加第二个网络进行培训、测试等等。

检测交通信号灯的方法https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37259.pdf

在只有一个图像,没有先验信息的情况下,是否可以在一个神经网络中完成任务?

我开始先使用了单镜头检测(SSD),最后使用了Faster R-CNN,因为它对较小的对象具有较好的性能。我有点费力地重建了现有的实现,以自学它是如何工作的。然后切换到使用开放源码的tensorflow对象检测api。

最近发布的工具集(https://github.com/tensorflow/models)为测试模型提供了更快的周转时间,并准备好了预先训练的权重。它允许我更多地关注工程的实现,并且很少涉及每个神经网络实现的细节。

在该论文(https://arxiv.org/abs/1611.10012)中,他们讨论了不同方法的性能权衡。例如,SSD(类似于YOLO)对于中型到大型对象来说很好,但是对于小型对象来说,它比Faster R-CNN更糟糕。在实践中我们很难让SSD在Bosch的小交通信号灯数据集(https://hci.iwr.uni-heidelberg.de/node/6132)上收敛。相反,包含Resnet的Faster R-CNN能得到良好的结果。

想看到更多吗?查看完整的视频:测试视频(https://youtu.be/5e_9r9DROEY)或训练视频(https://youtu.be/EN2jZ-9LRjs)。

为Udacity自动驾驶汽车调整Bosch数据

我们一直在做一个关于自动驾驶汽车的有限测试。在一个很小的封闭轨道上,汽车必须成功地遵循一组路标并识别交通信号灯。

如果你对技术细节感兴趣,可以查看代码https://github.com/nhiddink/SDCND_Capstone_TEC

双转移学习

由于可用的数据量有限,我们严重依赖转移学习。我们可以使用以下数据集:

  • COCO(http://cocodataset.org/#home)预先训练网络
  • Bosch交通信号灯数据
  • Udacity真实数据(150个样本)或sim数据(260个样本)

我们得到了很好的结果。

为什么要使用深度学习的方法?

交通信号灯有不同的数量、位置、形状、大小和布局。基于深度学习的方法,这些差异通过深度学习是“容易的”解决的——只收集在汽车行驶区域的交通信号灯类型的例子。

高精度定位的动机

高精度的边界框允许高精度距离估计。距离估计的越准确,我们就越接近其他数据点。看下图,交通信号灯在十字路口附近还是远侧呢?

实时性能(10 + Hz)

起初,我们需要大约220 ms的推理时间,与滑动窗口的方法相比较,这是一个更快速的方法,我个人认为3 – 4帧每秒不是实时的。

根据论文的建议,我们将该区域建议数量从原来的300个减少到50个。在推理时间里(~220 ms 到~80 ms),给了我们一个具有类似精度的~3x的速度。预测在1280×720图像中不到1%的交通信号灯。例如,在上述谷歌的论文中,他们使用了2040×1080或2.3x像素的图像。

失败案例

有许多系统还没有准备好用于生产的示例。举个例子,在下面的图片中的灯光被认为是黄色的。

在拥有更多数据或者更多培训的情况下,很多这样的案例可以被解决。例如,我们训练了大约2万次迭代,这大概是真正收敛(最优模型的权重值)需要的1 / 10。

最后一步

在测试过程中,我意外地在真实图像上运行了模拟图像的网络。

某种程度上来说,它可以工作,而且运行得很好。看看下面这个例子的结果:

  • 第一张:Bosch训练(不同风格的图像)=没有超过50%confidence的预测
  • 第二张:Sim训练(上面的图片)=正确预测
  • 第三张:真实的数据训练(bosch数据之后)=错误预测

这是一件有趣的事情。从理论上讲,你可以模拟任何你想要的情况,把它提供给一个深度学习系统,然后将其通用化到现实生活中的情况。

深度学习代码:https://github.com/swirlingsand/deeper-traffic-lights 自动驾驶汽车代码:https://github.com/nhiddink/SDCND_Capstone_TEC 测试视频:https://youtu.be/5e_9r9DROEY 训练视频:https://youtu.be/EN2jZ-9LRjs

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-10-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

ICML进行时 | 一文看尽获奖论文及Google、Facebook、微软、腾讯的最新科研成果

【导读】 ICML ( International Conference on Machine Learning),国际机器学习大会如今已发展为由国际机器学习学...

944
来自专栏人工智能头条

2015伦敦深度学习峰会:来自DeepMind、Clarifai、雅虎等大神的分享

1824
来自专栏AI研习社

CVPR 2017精彩论文解读:综合使用多形态核磁共振数据的3D生物医学图像分割方法 | 分享总结

论文的故事还在继续 相对于 CVPR 2017收录的共783篇论文,即便雷锋网(公众号:雷锋网) AI 科技评论近期挑选报道的获奖论文、业界大公司论文等等是...

3496
来自专栏机器之心

观点 | 机器学习=「新瓶装旧酒」的数据统计?No!

随着深度学习的热度开始消退,这个梗最近开始在社交媒体上广为流传,引起了互联网上众人的讥笑。机器学习没什么好激动的,它只是对统计技术的一种补充——这种观点越来越普...

501
来自专栏CSDN技术头条

2015伦敦深度学习峰会笔记:来自DeepMind、Clarifai等大神的分享

上周,我有机会参加在伦敦举行的第三届深度学习峰会,上两届分别在旧金山和波士顿举行。 深度学习峰会由 RE.WORK主办,汇集了从工业领域到学术领域不同背景的专业...

1698
来自专栏机器之心

学界 | 结合生成式与判别式方法,Petuum新研究助力医疗诊断

34612
来自专栏新智元

今日头条李磊:用机器学习做自然语言理解,实现通用 AI 仍需解决三大难题(33PPT下载)

1 新智元原创 【新智元导读】10月18日,在中国自动化学会与新智元联合主办的 2016世界人工智能大会上,今日头条科学家、头条实验室总监李磊博士受邀发表...

3946
来自专栏人工智能头条

ICML进行时|一文看尽获奖论文及Google、Facebook、微软、腾讯的最新科研成果

【导读】 ICML ( International Conference on Machine Learning),国际机器学习大会如今已发展为由国际机器学习学...

982
来自专栏社区的朋友们

《 NEXT 技术快报》:计算机视觉篇(上)

图像生成是计算机视觉中非常重要的一类问题,也有着很长的研究历史。同时这一类问题也和动画制作有着紧密的关联。广义的说来,凡是生成新的图像内容的相关问题都可以归为图...

2890
来自专栏AI科技评论

学界 | 深度学习盛会ICLR2017最佳论文出炉,AI科技评论带你5分钟看完重点

AI科技评论按:受到万众瞩目的2017年ICLR 即将于今年四月在法国召开。该大会是Yann LeCun 、 Yoshua Bengio 等几位行业顶级专家于2...

2688

扫码关注云+社区