介绍
如今,特斯拉,谷歌,优步和通用汽车都在努力创造自己的自动驾驶汽车,可以在现实世界的道路上行驶。许多分析师预测,在未来5年内,我们将开始在我们的城市中运行全自动驾驶汽车,并且在30年内,几乎所有汽车都将完全自主。使用大家伙使用的一些相同技术来制造你自己的自动驾驶汽车不是很酷吗?在本文和接下来的几篇文章中,我将指导您如何从头开始构建自己的物理,深度学习,自动驾驶机器人汽车。您将能够在一周内检测并跟踪车道,识别并响应交通标志和路上的人。以下是您最终产品的预览。
来自DeepPiCar的DashCam的车道跟随(左)和交通标志和人员检测(右)
我们的路线图
第2部分:我将列出要购买的硬件以及如何设置它们。简而言之,您将需要一个Raspberry Pi板(50美元),SunFounder PiCar套件(115美元),Google的Edge TPU(75美元)以及一些配件,以及每个部件在后续文章中的重要性。这些材料的总成本约为250-300美元。我们还将安装Raspberry Pi和PiCar所需的所有软件驱动程序。
Raspberry Pi 3 B +(左),SunFounder PiCar-V(中),Google Edge TPU(右)
第3部分:我们将设置所需的所有计算机视觉和深度学习软件。我们使用的主要软件工具是Python(用于机器学习/ AI任务的事实上的编程语言),OpenCV(一个功能强大的计算机视觉包)和Tensorflow(谷歌流行的深度学习框架)。注意我们在这里使用的所有软件都是免费的开源软件
第4部分:通过(繁琐的)硬件和软件设置,我们将直接进入FUN部分!我们的第一个项目是使用python和OpenCV教DeepPiCar通过检测车道线并相应地转向,在绕行的单车道道路上自主导航。
第5部分:我们将训练DeepPiCar自动导航,而不必像我们在第一个项目中那样明确地编写逻辑来控制它。这是通过使用“行为克隆”来实现的,我们只使用道路视频和每个视频帧的正确转向角来训练DeepPiCar自行驾驶。该实施的灵感来自NVIDIA的DAVE-2全尺寸自动驾驶汽车,它使用深度卷积神经网络来检测道路特征并做出正确的转向决策。
最后,在第6部分:我们将使用深度学习技术,如单镜头多盒物体检测和转移学习,教DeepPiCar检测道路上的各种(微型)交通标志和行人。然后我们将教它停在红灯和停车标志,继续绿灯,停下来等待行人过马路,并根据张贴的速度标志等改变其速度限制。
条件
以下是这些文章的先决条件:
- 首要的是愿意修补和破坏事物。与汽车模拟器不同,汽车模拟器中的一切都是确定性且完全可重复的,真实世界的模型汽车可能无法预测,您必须愿意亲自动手并开始修补硬件和软件。
- 基本的Python编程技巧。我假设您知道如何在python中读取python代码和编写函数,if语句和循环。我的大部分代码都有详细记录,特别是难以理解的部分。
- 基本的Linux操作系统知识。我将假设您知道如何在Linux中的Bash shell中运行命令,这是Raspberry Pi的操作系统。我的文章将告诉您确切的运行命令,运行它们的原因以及输出结果。
- 最后,购买所有硬件和工作PC(Windows / Mac或Linux)需要大约250到300美元。同样,所有使用的软件都是免费的。
进一步思考[可选]
这是可选的阅读,因为我试图涵盖我在文章中需要知道的所有内容。但是,如果你想深入学习深度学习(双关语),除了我在整篇文章中提供的链接之外,还有一些资源需要检查。
Andrew Ng关于Coursera的机器学习和深度学习课程。正是这些课程点燃了我对机器学习和人工智能的热情,并给了我创建DeepPiCar的灵感。
- 机器学习(免费):本课程涵盖传统的机器学习技术,如线性回归,逻辑回归和支持向量机等,以及神经网络。它创建于2012年,所以它使用的一些工具,即Matlab / Octave,已经过时了,并没有谈论深度学习。但它教给你的概念非常宝贵。你只需要高中水平的数学和一些基本的编程技巧来完成课程,而Ng博士非常好地解释了像反向传播这样的困难概念。完成本课程大约需要3个月。
- 深度学习5门课程专业(如果你想获得证书,免费或50美元/月):该课程于2018年初推出。因此它涵盖了迄今为止所有最新的人工智能研究,如完全连接的神经网络,卷积神经网络(CNN)和序列模型(RNN / LSTM)。这个课程对我来说是一种享受。作为一名工程师,我总是想知道一些很酷的小工具是如何工作的,比如Siri如何回答你的问题,以及汽车如何识别路上的物品等等。现在我知道了。完成这个5门课程专业需要大约3-4个月。
下一步是什么
这是第一篇文章的全部内容。我会在第2部分见到你,我们会弄脏手,一起制造一辆机器人车!
以下是整个指南的链接:
第1部分:概述(本文)
第3部分:让PiCar看到并思考
第4部分:通过OpenCV进行自主车道导航
第6部分:交通标志和行人检测和处理