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

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

3天内不再提示

树莓派自动驾驶:使用 Keras 与 Tensorflow 构建车道跟踪自动汽车

基于树莓派的自动驾驶 2018-10-07 17:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

无人驾驶虽然入门门槛很高,但是还是可以通过一些简化的模型迅速上手。例如比较有名的DonkeyCar,其实就是一个简单低成本的玩具车,基于树莓派Python,利用Keras深度学习框架实现自动驾驶。即使没有实车,也可以在Donkey Car官网下载模拟器,用程序控制模拟器中的小车。感兴趣的同学可以看看社区和文档

目前还有一些比赛也在使用donkey car帮助大家低门槛地进入自动驾驶领域。例如中国人工智能学会主办的2018模拟驾驶比赛,比赛提供了一些奖金,还为进入决赛的选手免费提供donkeycar实车线下比拼。此外,中国人工智能学会还会颁发证书,所以可以向想要入门自动驾驶,想保研、申请奖学金的同学推荐一下。此外,网上还有不少简单的攻略,例如下面是一篇来自github的自动驾驶相关研究,我对这篇文章进行了编译并在此发布,希望能帮助更多感兴趣的朋友上手自动驾驶。

欢迎大家相互交流,项目地址:https://biendata.com/kernel/detail/427

导入相关库

步骤1:获取驾驶数据

数据集由 ~7900 个图像和手动开车时收集的转向角组成。大约三分之二的图像与线之间的汽车。另外三分之一的车开始偏离航线,并且驶回线路之间。

路径是

数据集由 2 个 pickled 数组组成。X 是图像阵列,Y 是相应转向角度的阵列。

结果:

步骤2:拆分数据

在这里,我们将洗牌(shuffle)我们的数据,并将数据分成三部分。训练数据将用于训练我们的驾驶模型,使用验证数据避免过度拟合模型,测试数据用于测试我们的模型是否学到了什么。

输出:7892

输出:7892

步骤3:增强训练数据

为了加倍我们的训练数据并防止转向偏差,我们翻转每个图像和转向角并将其添加到数据集中。还有其他的方法来增加使用翻译和假阴影驾驶数据,但我没有使用这些自动驾驶仪。

结果:12626

步骤4:建立驾驶模式

这种驾驶模式将是一个端到端的神经网络,接受图像阵列作为输入,并输出-90(左)和90(右)之间的转向角。 要做到这一点,我们将使用一个完全连接图层的3层卷积网络。该模型基于 Otavio 的 Carputer,但不产生油门值输出,不使用过去的转向值作为模型的输入,并且使用较少的卷积层。

使用 TensorFlow 后端

输出:

步骤5:训练模型

我已经学会了很难的方法,即使这一切都是完美的,如果你没有正确地训练,你的自动驾驶仪将无法工作。我遇到的最大的问题是过度适应模型,以至于在很少的情况下都不能正常工作。 这里是 2 个 Keras回调,将节省您的时间。

警告 -如果仅使用CPU,则需要很长时间(3小时)

我在没有 CUDA 兼容 GPU 的 Dell XPS 笔记本电脑上运行,因此速度非常慢,并且冻结。为了加速训练,您可以使用带有 GPU 的 EC2 实例。Keras 和 Tensorflow 已经加载了几个实例图像。

对于这个笔记本,我只会训练模型 4 个时代(epochs)。

输出:

步骤6:评估性能

我们可以通过绘制预测值和实际值来检查我们的模型预测是否合理。第一个图表显示我们的测试数据中存在一个学习的关系(在训练期间模型没有看到)。

第二张图,使用包含训练数据的非混洗(unshuffled)数据,来显示预测角度紧跟实际转向角度。

输出:

下一步

改善模型,这个模型是纯粹(navie)的,因为它不使用过去的值来帮助预测未来。我们可以通过将过去的转向角度作为模型的输入来进行试验,添加一个递归层,或者只是改变卷积层的结构。

添加更多数据,随着我们添加更多驾驶数据,此模型将会得到改进。预测油门,输出目前自动驾驶仪只能转向并保持恒定的速度。一个更复杂的模型将加速在直路上,并在路缘之前放缓。

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

    关注

    1820

    文章

    50314

    浏览量

    266883
  • 机器学习
    +关注

    关注

    67

    文章

    8562

    浏览量

    137209
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

    90300
  • 自动驾驶
    +关注

    关注

    794

    文章

    14985

    浏览量

    181459
  • 树莓派
    +关注

    关注

    122

    文章

    2082

    浏览量

    110755
  • tensorflow
    +关注

    关注

    13

    文章

    336

    浏览量

    62369
  • keras
    +关注

    关注

    2

    文章

    20

    浏览量

    6341
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    滴滴自动驾驶与广汽埃安新一代Robotaxi R2获得北京智能网联汽车道路测试牌照

    近日,滴滴自动驾驶与广汽埃安联合打造的新一代 Robotaxi R2,正式获得北京智能网联汽车道路测试牌照。这是继1月获得广州测试牌照后,该车型再次获得路测牌照,将进一步验证在复杂城市道路场景下的自动驾驶能力。
    的头像 发表于 03-17 09:19 709次阅读

    如何构建适合自动驾驶的世界模型?

    [首发于智驾最前沿微信公众号]世界模型经历了系统动力学阶段(1960年~2000年)、认知科学阶段(2001年~2017年)、深度学习阶段(2018年至今),但将其应用到自动驾驶汽车上,还是近几年才
    的头像 发表于 02-18 08:14 1.1w次阅读
    如何<b class='flag-5'>构建</b>适合<b class='flag-5'>自动驾驶</b>的世界模型?

    自动驾驶汽车如何完成超车?

    在我们日常开车时,别人想要超车,只要确认后方、旁边有没有车,打个灯、稍微加速、换个车道就完成了。这一动作乍一看非常简单,但对自动驾驶汽车来说,这个过程需要多方协调。 自动驾驶车辆要完成
    的头像 发表于 02-16 17:37 1.7w次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>如何完成超车?

    自动驾驶汽车如何实现自动驾驶

    人类驾驶员而言是非常直观且有效的指令,但对于自动驾驶汽车来说,则意味着需要一套极其复杂的感知、理解与决策链路。 自动驾驶如何看清文字? 自动驾驶
    的头像 发表于 02-10 08:50 789次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>如何实现<b class='flag-5'>自动驾驶</b>

    2026年自动驾驶汽车发展趋势前瞻

    自动驾驶汽车会使用人工智能吗?答案是肯定的。人工智能(AI)是自动驾驶汽车运行的基石,它使车辆能够平稳、安全地在道路上正常行驶,适应实时交通状况,并做出瞬间的决策,确保道路交通安全,是
    的头像 发表于 02-05 09:38 3936次阅读
    2026年<b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>发展趋势前瞻

    汽车自动驾驶的太阳光模拟应用研究

    测试装备,通过提供可控、可重复的测试环境,已成为汽车自动驾驶研发、验证与标定过程中不可或缺的核心工具。汽车自动驾驶的光挑战与测试需求luminbox
    的头像 发表于 12-10 18:04 563次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>自动驾驶</b>的太阳光模拟应用研究

    自动驾驶汽车如何确定自己的位置和所在车道

    [首发于智驾最前沿微信公众号]我们平时开车时,判断自己在哪条路、哪个车道,只需要看一眼导航、扫几眼车道线、再听听提示就够了。但对自动驾驶汽车来说,这件事既简单又复杂。简单在于
    的头像 发表于 11-18 09:03 1053次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>如何确定自己的位置和所在<b class='flag-5'>车道</b>?

    不同等级的自动驾驶技术要求上有何不同?

    谈到自动驾驶,不可避免地会涉及到自动驾驶分级,美国汽车工程师学会(SAE)根据自动驾驶系统与人类驾驶员参与
    的头像 发表于 10-18 10:17 2855次阅读

    如何确保自动驾驶汽车感知的准确性?

    [首发于智驾最前沿微信公众号]自动驾驶汽车想要自动驾驶,首先要做的就是能对周边环境实现精准感知,也就是能“看”清道路,那自动驾驶汽车如何在复
    的头像 发表于 08-23 15:06 1821次阅读
    如何确保<b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>感知的准确性?

    塑造自动驾驶汽车格局的核心技术

    自动驾驶汽车长期以来一直是科幻小说中的情节,但在如今的2025年,它似乎已经离我们越来越近,智能辅助驾驶已经出现在越来越多的新能源汽车中。但距离完全的
    的头像 发表于 08-21 16:03 1095次阅读

    看看那些用树莓打造的自动驾驶汽车

    在崭新的汽车时代门槛前,通往未来的道路不再仅由沥青铺就,还承载着人工智能(AI)的无限可能和突破性的创造力。在现实世界中驾驶颇具挑战,因为可能会发生各种意外事件。正因如此,打造一辆真正安全的自动驾驶
    的头像 发表于 07-27 13:24 1479次阅读
    看看那些用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>打造的<b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>!

    自动驾驶汽车如何正确进行道路识别?

    [首发于智驾最前沿微信公众号]自动驾驶汽车在行驶过程中必须准确识别道路环境,以便做出安全有效的决策,不同于人类开车,可以思考,自动驾驶汽车对于道路的识别需要更多的技术辅助。对于
    的头像 发表于 06-29 09:40 1890次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>如何正确进行道路识别?

    自动驾驶汽车是如何准确定位的?

    [首发于智驾最前沿微信公众号]随着自动驾驶技术的快速发展,车辆的精准定位成为安全驾驶与路径规划的核心基础。相比于传统人类驾驶依赖路标和视觉判断,自动驾驶
    的头像 发表于 06-28 11:42 1481次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>是如何准确定位的?

    如何为树莓 FPV 战斗无人机构建自动驾驶仪的“眼睛”!

    是我一年多来一直在进行的研发工作的自然延续,该研发工作专注于为FPV战斗无人机构建自动驾驶仪。当我开始探索如何向FPV操作员通知自动驾驶仪的当前状态和飞行参数时,
    的头像 发表于 06-08 08:33 1616次阅读
    如何为<b class='flag-5'>树莓</b><b class='flag-5'>派</b> FPV 战斗无人机<b class='flag-5'>构建</b><b class='flag-5'>自动驾驶</b>仪的“眼睛”!

    树莓也能实现海上自动驾驶

    全员登船,共赴树莓之旅生活中有些问题,用树莓派来解决会更有乐趣。今天,我们要与航海爱好者们分享一个由创客TommyJoad打造的巧妙项目。Joad是一位帆船船长,对现代自动驾驶系统了
    的头像 发表于 04-24 16:04 770次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>也能实现海上<b class='flag-5'>自动</b>化<b class='flag-5'>驾驶</b>?