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)的,因为它不使用过去的值来帮助预测未来。我们可以通过将过去的转向角度作为模型的输入来进行试验,添加一个递归层,或者只是改变卷积层的结构。

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

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

    关注

    1791

    文章

    46820

    浏览量

    237457
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132391
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84439
  • 自动驾驶
    +关注

    关注

    783

    文章

    13674

    浏览量

    166096
  • 树莓派
    +关注

    关注

    116

    文章

    1697

    浏览量

    105501
  • tensorflow
    +关注

    关注

    13

    文章

    328

    浏览量

    60490
  • keras
    +关注

    关注

    2

    文章

    20

    浏览量

    6079
收藏 人收藏

    评论

    相关推荐

    MEMS技术在自动驾驶汽车中的应用

    MEMS技术在自动驾驶汽车中的应用主要体现在传感器方面,这些传感器为自动驾驶汽车提供了关键的环境感知和数据采集能力。以下是对MEMS技术在自动驾驶
    的头像 发表于 11-20 10:19 117次阅读

    自动驾驶汽车安全吗?

    随着未来汽车变得更加互联,汽车逐渐变得更加依赖技术,并且逐渐变得更加自动化——最终实现自动驾驶,了解自动驾驶
    的头像 发表于 10-29 13:42 432次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>安全吗?

    使用STT全面提升自动驾驶中的多目标跟踪

    3D多目标跟踪(3D MOT)在各种机器人应用中发挥着关键作用,例如自动驾驶车辆。为了在驾驶时避免碰撞,机器人汽车必须可靠地跟踪道路上的物体
    的头像 发表于 10-28 10:07 159次阅读
    使用STT全面提升<b class='flag-5'>自动驾驶</b>中的多目标<b class='flag-5'>跟踪</b>

    自动驾驶技术的典型应用 自动驾驶技术涉及到哪些技术

    自动驾驶技术的典型应用 自动驾驶技术是一种依赖计算机、无人驾驶设备以及各种传感器,实现汽车自主行驶的技术。它通过使用人工智能、视觉计算、雷达、监控装置和全球定位系统等技术,使
    的头像 发表于 10-18 17:31 495次阅读

    FPGA在自动驾驶领域有哪些优势?

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)在自动驾驶领域具有显著的优势,这些优势使得FPGA成为自动驾驶技术中不可或缺的一部分。以下是FPGA在自动驾驶
    发表于 07-29 17:11

    FPGA在自动驾驶领域有哪些应用?

    低,适合用于实现高效的图像算法,如车道线检测、交通标志识别等。 雷达和LiDAR处理:自动驾驶汽车通常会使用雷达和LiDAR(激光雷达)等多种传感器来获取环境信息。FPGA能够协助完成这些传感器
    发表于 07-29 17:09

    自动驾驶汽车如何识别障碍物

    自动驾驶汽车识别障碍物是一个复杂而关键的过程,它依赖于多种传感器和技术的协同工作。这些传感器主要包括激光雷达(LiDAR)、雷达、摄像头以及超声波雷达等,它们各自具有不同的工作原理和优势,共同为自动驾驶
    的头像 发表于 07-23 16:40 928次阅读

    自动驾驶汽车传感器有哪些

    自动驾驶汽车传感器是实现自动驾驶功能的关键组件,它们通过采集和处理车辆周围环境的信息,为自动驾驶系统提供必要的感知和决策依据。以下是对自动驾驶
    的头像 发表于 07-23 16:00 2016次阅读

    keras模型转tensorflow session

    在这篇文章中,我们将讨论如何将Keras模型转换为TensorFlow session。 KerasTensorFlow简介 Keras
    的头像 发表于 07-05 09:36 454次阅读

    未来已来,多传感器融合感知是自动驾驶破局的关键

    技术 ,摄像头和雷达等多传感器的探测数据 在前端(数据获取时)交互验证,让自动驾驶系统能感知到“看不见”的危险。 例如,在反向车道有强远光灯干扰的情况下,当雷达子系统探测到潜在运动目标时,融合感知系统
    发表于 04-11 10:26

    大众汽车和Mobileye加强自动驾驶合作

    美国智能驾驶芯片巨头Mobileye与大众汽车集团近日宣布,在自动驾驶领域深化合作,共同推动全新自动驾驶功能在大众旗下量产车型的应用。Mobileye依托其领先的Mobileye
    的头像 发表于 03-22 11:46 862次阅读

    自动驾驶汽车技术 | 车载雷达系统

    自动驾驶汽车技术 | 车载雷达系统
    的头像 发表于 03-20 08:09 2816次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b>技术 | 车载雷达系统

    自动驾驶发展问题及解决方案浅析

    随着科技的飞速进步,自动驾驶汽车已经从科幻概念逐渐转变为现实。然而,在其蓬勃发展的背后,自动驾驶汽车仍面临一系列亟待解决的问题和挑战。本文将对这些问题进行深入的剖析,并提出相应的解决方
    的头像 发表于 03-14 08:38 1059次阅读

    Waymo自愿召回444辆自动驾驶汽车 L4的自动驾驶还有很多路要走

    近日,谷歌旗下的自动驾驶部门Waymo自愿召回了444辆自动驾驶汽车,原因是其软件可能无法准确预测拖曳车辆的运动轨迹
    的头像 发表于 02-26 10:22 1135次阅读
    Waymo自愿召回444辆<b class='flag-5'>自动驾驶</b><b class='flag-5'>汽车</b> L4的<b class='flag-5'>自动驾驶</b>还有很多路要走

    LabVIEW开发自动驾驶的双目测距系统

    LabVIEW开发自动驾驶的双目测距系统 随着车辆驾驶技术的不断发展,自动驾驶技术正日益成为现实。从L2级别的辅助驾驶技术到L3级别的受条件约束的
    发表于 12-19 18:02