《Vision based autonomous driving - A survey of recent methods》读书笔记
原文链接:Vision based autonomous driving - A survey of
recent methods
他山之石:【泡泡机器人新闻社】Vision based autonomous driving - A survey
基于视觉的自动驾驶有三种主要的方法:
使用回归模型直接将输入的图像映射成驾驶行为
将输入图像映射到一些关键变量,并使用该信息指导自动驾驶
分析整个场景,做出驾驶决策
1.回归模型直接将输入图像映射成驾驶行为
训练CNNs将原始像素从相机映射到转向指令。相对于直接分解(例如车道检测,路径规划和控制),端到端的学习系统能同时对所有的这些过程进行优化。
优点:
训练数据容易生成
可用的开源实现(尽管这些版本不使用任何后置摄像头,也没有任何“memory”)
缺点:
首先,行驶在道路上的不同车辆,即使输入的图像是相似的,不同的人类驾驶员也可能会做出完全不同的决策,这导致了一个问题:当回归训练的时候会产生混乱。
在端到端的学习系统中很难对问题进行调试。
深层神经网络如何学会从糟糕的位置恢复?
扩大数据来添加人工转换和旋转。
Comma.ai使用GAN+RNN/LSTM来建立一个自动驾驶模拟,可以用来生成更多的数据
相关研究:
- End to end learning for self-driving cars by NVIDIA 他们声称,他们的网络可以在驾驶15公里内用少于10次的干预来驾驶汽车。
- ALVINN, an autonomous land vehicle in a neural network (1989, CMU),(Demo)
- Offroad obstacle avoidance using end to end learning (Yan Lecun, NIPS 2005)
- Dataset and code for comma.ai’s driving simulator
2.图像映射到关键变量,用其指导自动驾驶
训练一个深层的神经网络,用来学习从图像到道路情况指示的一个映射,并使用这种简洁的表示来做出驾驶决策。
Demo(http://deepdriving.cs.princeton.edu/)
优点:
在两个极端之间,这种表示提供了合适的抽象级别。我们既不需要分析整个场景,也不需要盲目地将地图映射到转向角度。
可用的开源实现。(预先训练的网络+训练代码)
缺点:
预先训练好的网络的效果并不是很好。
很难生成训练数据。
- 解决方法:使用模拟器(TORCS,Deepdrive)。
相关研究:
- DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving (Princeton, ICCV 2015)
- TORCS Open-source car simulator - Widely used for research
- Deepdrive.io- Hacked into GTA to use as simulator (Demo). Also has a
pretrained end to end network.
3.分析整个场景做出驾驶决策
识别所有和驾驶相关的物体——车道,交通标志,交通指示灯,汽车,行人等。
1.车道检测
讨论车道检测的一般框架。虽然一种简单的基于hough变换的方法在高速公路情况下能达到70%的效果,但是这个问题还是相当有难度。
为什么车道检测很困难?
- 车道和道路外观的多样性
- 图像清晰度问题(遮挡,阴影,眩光)
- 低能见度情况
2.模块分解
●Image cleaning (图像预处理)
●Feature extraction(特征提取)
●Road/lane model fitting(道路车道模型匹配)
●Temporal integration(暂时的集成策略)
●Image to world transformation(从图像到全局的映射)
这不是一个自上而下的方法,不同的模块可以从其他模块获得反馈。
2.1.图像预处理
- 去噪
- 消除杂物和不相关的图像部分等,消除超过平面上的图像
- 障碍识别(车辆和行人)和去除
- 对图像归一化处理来修正 超/低曝光和眩光,比如当进入或者离开隧道的时候
- 去除阴影
2.2.特征提取
- 实/虚线
- 比周围亮度高的狭窄区域,如亮度峰值(先将图像变换到鸟瞰图)
- 激光雷达反射率测量
- 道路分割
3.道路/车道模型适配
利用车道的宽度和曲率约束降低特征的噪声,提高特征的质量
模型可以是全参数化的(直线,抛物线),半参数化的(B样条)或者非参数化的(连续的边界线)。具体的参数可以通过RANSAC,最小二乘优化或者能量函数优化来估计得到。
4.暂时的集成策略
集成前几帧的信息可以提高车道检测的准确率并降低计算代价。此时汽车运动模型需要估计。
4.1.案例研究:Caltech车道检测器
4.2.使用B-Snake进行车道检测和跟踪
5.道路分割
但如果没有车道呢?在十字路口怎么驾驶呢?我们可以使用预先建立好的地图或者需要将可以驾驶的区域分割出来。
Tesla和Mobileye(基于视觉的自动驾驶区域的领头者之一)都使用了道路分割技术来提高车道检测的准确率。如何对道路进行分割?仅使用局部的特征信息是极其困难的。上下文是很重要的一个信息。因此可以使用深度学习技术。
一个想法:
与其每一帧都检测车道,为什么我们不能预先建立一个我们需要的有每一分钟的道路细节的地图,然后当我们驾驶通过一片区域的时候,我们就可以仅将我们当前的估计与地图融合。
例如:Amnon Shashua CVPR 2016 keynote: Autonomous Driving, Computer Vision and Machine Learning
这些地图可以给予我们传感器之外的区域先验信息,并且当传感器的信息不准确的时候至关重要。一些公司正在如此做-TomTom, HERE. Nissan, Volkswagen 和 BMW正在和Mobileye合作来建立这种地图。
《Vision based autonomous driving - A survey of recent methods》读书笔记相关推荐
- 读书笔记 | 墨菲定律
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 读书笔记 | 墨菲定律(一)
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
<洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...
- 股神大家了解多少?深度剖析股神巴菲特
股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...
- 2014巴菲特股东大会及巴菲特创业分享
沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...
- 《成为沃伦·巴菲特》笔记与感想
本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...
- 读书笔记002:托尼.巴赞之快速阅读
读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...
- 读书笔记001:托尼.巴赞之开动大脑
读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...
- 读书笔记003:托尼.巴赞之思维导图
读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...
- 产品读书《滚雪球:巴菲特和他的财富人生》
作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...
最新文章
- python打开中文文本utf-8用不了_关于Python文档读取UTF-8编码文件问题
- oracle u4e00 u9fa5,oracle中文与数字正则实例代码
- 【Linux】一步一步学Linux——info命令(17)
- Jensen不等式及其证明
- 静态 非静态代码块和构造器的执行顺序测试方法
- 工作371-javascript判断数组为空
- gdb 调试_GDB调试指南-源码查看
- html中下边框过渡效果,CSS3 参与背景过度的属性有哪些(transition-property语法规则及多组过渡效果实例)...
- 华为2018春招笔试题目 字节流解析与长整数相乘
- SpringCloud整合Feign的调用源码流程解析
- Android项目报错:Could not resolve com.android.support.constraint:constraint-layout:2.0.2.
- springboot+基于JavaWEB学生课程考试系统 毕业设计-附源码171548
- [转载]马士兵Java视频教程 —— 学习顺序
- Python爬取2万条微博热搜,带你揭开热搜趋势!
- 学习Wolff关于分离镜面反射与漫反射的文章
- SuperView和View的区别
- Spring Security和Angular教程
- Get 和 Post 请求
- 重点客户销售数据分析python_项目实战 | 使用python分析销售数据
- Java Web3j nonce 获取