0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

无人车学会开车的原理和过程分析

中科院长春光机所 2018-01-06 11:30 次阅读

无人车到底是怎样一步一步学会开车的?

与人类用双眼去观察路面、用手去操控方向盘类似,无人车用一排摄像机去感知环境,用深度学习模型指导驾驶。大体来说,这个过程分为五步:

记录环境数据

分析并处理数据

构建理解环境的模型

训练模型

精炼出可以随时间改进的模型

如果你想了解无人车的原理,那这篇文章不容错过。

记录环境数据

一辆无人车首先需要具备记录环境数据的能力。

具体来说,我们的目标是得到左右转向角度的均匀分布。这倒也不难操作,可以以顺时针和逆时针方向在测试场地内绕圈的方式实现。这种训练有助于减少转向偏差,避免长时间驾驶后汽车从道路一边慢慢漂移到道路另一边的尴尬情境。

此外,以慢速(例如每小时10英里)行驶也有助于在转弯时记录平滑的转向角,在这里驾驶行为被分类为:

直线行驶:0<=X<0.2

小转弯:0.2<=X<0.4

急转:X>=0.4

恢复到中心

其中,X为转向角,r为旋转半径(单位为米),计算转向角的公式为X=1/r。上面提到的“恢复到中心”在数据记录过程中很重要,它帮助车辆学会在即将撞上,马路崖子时回到车道中心。这些记录数据保存在driving_log.csv中,其中每一行都包含:

文件路径到镜头前中央相机图像

文件路径到前左相机图像

文件路径到前右相机图像

转向角

在记录环境数据的过程中,我们需要记录约100000个转向角的图像,以便提供足够的数据训练模型,避免因样本数据不足导致的过拟合。通过在数据记录过程中定期绘制转向角直方图,可以检查转向角是否为对称分布。

无人车学会开车的原理和过程分析

分析处理数据

第二步是为构建模型分析和准备刚刚记录的数据,此时的目标是为模型生成更多的训练样本。

下面这张图片由前中央相机拍摄,分辨率为320*160像素,包含红色、绿色和蓝色的channel。在Python中,可以将其表示为一个三维数组,其中每个像素值的范围在0到255之间。

司机视线以下的区域和两边的车道标志一直是自动驾驶技术中研究的重点。这两部分可以使用Keras中的Cropping2D裁剪图像,减少输入到模型中的噪声。

我们可以用开源的计算机视觉库OpenCV从文件中读取图像,然后沿垂直轴翻转,生成一个新的样本。OpenCV非常适合自动驾驶汽车用例,因为它是用C++语言编写的。像倾斜和旋转这样的其他图像增强技术,也有助于产生更多的训练样本。

无人车学会开车的原理和过程分析

此外,还需要通过乘以-1.0翻转其转向角。

无人车学会开车的原理和过程分析

之后,可以用Numpy开源库将图像重新塑造成一个三维数组,方便下一步的建模。

无人车学会开车的原理和过程分析

构建理解环境的模型

图像数据搞定后,我们需要为无人车构建理解环境信息的深度学习模型,从记录的图像中提取特征。

具体来说,我们的目标是将包含153600像素的输入图像映射到包含单个浮点值的输出。英伟达之前提出的模型的每一层都提供了特定的功能,作为基础架构效果应该不错。

英伟达模型相关论文地址:

https://arxiv.org/pdf/1604.07316v1.pdf

之后,我们需要将三维数组规范化为单位长度,防止模型中较大的值偏差。注意我们将其除以255.0,因为这是一个像素的最大可能值。

无人车学会开车的原理和过程分析

还要适当减少人类视野以下的车前场景和车前上方图像的像素,以减少噪音。

无人车学会开车的原理和过程分析

之后,我们需要将车道标记等三维数组进行卷积,提取关键特征,这些信息对于预测转向角至关重要。

无人车学会开车的原理和过程分析

我们想让开发的模型能够驾驭任何道路类型,因此需要用dropout减少过拟合。

无人车学会开车的原理和过程分析

最后,我们需要将转向角输出为float。

无人车学会开车的原理和过程分析

训练模型

构建了模型后,我们需要训练模型自己学习开车了。

从技术角度上讲,现阶段的目标是尽量准确地预测转向角。在此,我们将损失定义为预测和实际转向角之间的均方误差。

从driving_log.csv中随机抽取样例减少顺序偏差。

无人车学会开车的原理和过程分析

可以将样本的80%设为训练集,20%设为验证集,这样我们就能看到模型在预测转向角时的精确程度。

无人车学会开车的原理和过程分析

之后,需要用Adam(自适应矩估计)将平均平方误差最小化。与梯度下降相比,Adam的一大优势是借用了物理中的动量概念收敛到全局最优值。

无人车学会开车的原理和过程分析

最后,我们用生成器来适应模型。由于图像数量庞大,我们无法一次性将整个训练集输入到内训中。因此,需要用生成器批量生产图像以进行训练。

无人车学会开车的原理和过程分析

无人车学会开车的原理和过程分析

随时间精炼模型

完善模型是我们的最后一步,需要让模型的准确性和稳健性随着时间的推移而提高。我们的实验采用不同的体系结构和超参数,观察其对减少均方误差的影响。什么样的模型最好?不好意思,这个问题没有一个统一的答案,因为大部分改进都需要牺牲其他的一些东西,比如:

用更好的图形处理单元(GPU)减少训练时间,需要注意这样会增加成本

通过降低训练时间来降低学习速度,增加最佳值收敛的概率

通过使用灰度图像减少训练时间,需要注意这样会损失红色、绿色和蓝色通道提供的颜色信息

通过较大的batch size提高梯度估计的准确性,这会以牺牲使用的内存为代价

每个阶段都选用大量样例来减少损失的波动

概览全文,其实可以发现,自动驾驶汽车开发的过程,也是我们了解计算机视觉和深度学习的优势和局限性的过程。

我坚信,未来是属于自动驾驶的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像机
    +关注

    关注

    3

    文章

    1395

    浏览量

    58900
  • 自动驾驶
    +关注

    关注

    773

    文章

    12894

    浏览量

    162926
  • 无人车
    +关注

    关注

    1

    文章

    292

    浏览量

    36261
  • 深度学习
    +关注

    关注

    73

    文章

    5200

    浏览量

    119804

原文标题:无人车是怎样一步步学会开车的?|自动驾驶科普

文章出处:【微信号:cas-ciomp,微信公众号:中科院长春光机所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于光电导航的无人驾驶智能

    基于光电导航的无人驾驶智能车下个月学校举行这个智能比赛,比在相同路段跑的时间,看到这个题目,没有任何思路。。望高手指教下,原理图,设计思路。。都可以!!谢谢~
    发表于 04-10 10:19

    百度无人驾驶北京完成路测

    国内无人驾驶汽车的消息一直处于沉寂状态,终于有一家打破国内该行业的平静局面。12月10日,百度正式对外宣布,百度无人驾驶首次实现城市、环路及高速道路混合路况下的全自动驾驶,测试时最高速度达到100
    发表于 12-12 16:53

    天工测控在智能穿戴、联网和无人机强势布局

    熟悉天工测控·SKYLAB的都清楚,这是一家专注于无线模块和室内定位解决方案,集研发、生产、销售于一体的高新技术企业。在物联网大环境中,天工测控在智能穿戴、联网、无人机领域的无线模块研发步伐明显
    发表于 07-19 17:40

    Python助力百度无人 人工智能时代到来

    今年7月份,在“百度AI开发者大会”上,百度CEO李彦宏亲自乘坐百度无人,在真实路况下演示了百度无人驾驶技术,预示着人工智能时代的到来。百度无人
    发表于 12-13 14:48

    联网的架构分析实现联网的价值

    的控制。通过车内网我们可以知道汽车各部件的使用情况,能够及时发现车辆问题,确保安全驾驶。  2.际网是指之间的通信、与交通设施、道路以及行人等物体之间的通信网络。在驾驶
    发表于 02-11 10:13

    自动驾驶汽车+无人机 的企新套路

    的新款路虎发现定制的SVO版(Special Vehicle Operations:特种车辆系统),SOV版发现搭载了一个新的电磁保持和自动定位系统。这个系统可以保证汽车在高速行驶的过程中实现车顶无人
    发表于 07-14 15:43

    程序教会无人更“懂礼貌”

    `无人和人类将如何互动?这是一个棘手的问题,因为人工智能系统在解决任务时往往与人类的行为不同。如今,加州大学伯克利分校的研究人员试图通过编程,教会无人懂“礼貌”,让人
    发表于 08-15 11:03

    Uber无人致命车祸的原因是什么

    Uber无人撞死人原因:软件发现了受害者但选择忽略
    发表于 05-28 09:26

    基于PC控制和单兵运行实现无人控制系统

    该方案基于Atmega128单片机和无线通信技术设计,其创新点是采用了PC控制模式和单兵运行模式两种方式对无人进行控制,极大地增强了无人的功能性和环境适应能力。该方案可广泛应用于短
    发表于 06-14 05:00

    无人量产的4大技术储备是什么

    AutoX创始人肖健雄来信:无人量产的4大技术储备
    发表于 04-24 12:38

    俄罗斯武装力量摩步营将列装无人无人机中

    俄罗斯武装力量将列装无人地面车辆,早在2000年,俄罗斯国防部决定启动“2015武装自动化”计划,开展综合研究,设计无人无人机。尽管实施了“2015武器自动化”计划、进行了系列
    发表于 05-14 08:18

    天工测控如何布局智能穿戴/联网和无人机?

    在物联网大环境中,天工测控在智能穿戴、联网、无人机领域的无线模块研发步伐明显加快,推出多款高性能产品,强势布局智能穿戴、联网和无人机等无线模块应用。
    发表于 12-16 06:35

    无人传感器 IMU与GPS数据融合进行定位机制 精选资料推荐

    前言上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度、频率),同时也从无人控制的角度,讨论了为什么仅有GPS无法满足无人的定位要求。为了能让
    发表于 08-18 06:39

    如何构建一辆无人驾驶呢?

    如何构建一辆无人驾驶呢?
    发表于 09-30 07:37

    为什么仅有GPS无法满足无人的定位要求?

    为什么仅有GPS无法满足无人的定位要求?
    发表于 11-22 06:55