[论文解读] DeepPicar: A Low-cost Deep Neural Network-based Autonomous Car
DeepPicar 是一个基于 Raspberry Pi 3 的低成本自动驾驶汽车平台,通过使用 9 层卷积神经网络(CNN)复刻了 NVIDIA 的 DAVE-2 系统,实现了从摄像头输入端到端的转向控制。该平台在嵌入式平台上实现了 20–100 Hz 的实时推理,揭示了共享资源竞争可导致高达 11.6 倍的延迟增加,其中内存带宽节流在性能隔离方面表现有效,而缓存分区则无效。
We present DeepPicar, a low-cost deep neural network based autonomous car platform. DeepPicar is a small scale replication of a real self-driving car called DAVE-2 by NVIDIA. DAVE-2 uses a deep convolutional neural network (CNN), which takes images from a front-facing camera as input and produces car steering angles as output. DeepPicar uses the same network architecture---9 layers, 27 million connections and 250K parameters---and can drive itself in real-time using a web camera and a Raspberry Pi 3 quad-core platform. Using DeepPicar, we analyze the Pi 3's computing capabilities to support end-to-end deep learning based real-time control of autonomous vehicles. We also systematically compare other contemporary embedded computing platforms using the DeepPicar's CNN-based real-time control workload. We find that all tested platforms, including the Pi 3, are capable of supporting the CNN-based real-time control, from 20 Hz up to 100 Hz, depending on hardware platform. However, we find that shared resource contention remains an important issue that must be considered in applying CNN models on shared memory based embedded computing platforms; we observe up to 11.6X execution time increase in the CNN based control loop due to shared resource contention. To protect the CNN workload, we also evaluate state-of-the-art cache partitioning and memory bandwidth throttling techniques on the Pi 3. We find that cache partitioning is ineffective, while memory bandwidth throttling is an effective solution.
研究动机与目标
- 开发一个低成本、可访问的测试平台,用于实时深度学习驱动的自动驾驶车辆控制。
- 评估基于 CNN 的控制系统在嵌入式平台(包括 Raspberry Pi 3)上的实时推理性能。
- 研究共享资源竞争(缓存与 DRAM)对合并工作负载中 CNN 推理延迟的影响。
- 评估共享资源隔离技术(缓存分区与内存带宽节流)在保护实时 CNN 工作负载方面的有效性。
- 探索在未来工作中在资源受限平台上部署压缩或量化 CNN 的可行性。
提出的方法
- 复刻 NVIDIA 的 DAVE-2 CNN 架构(9 层,2700 万个连接,25 万个参数),用于从单目摄像头输入实现端到端的转向预测。
- 使用 Raspberry Pi 3、网络摄像头和遥控车底盘构建一个低成本、实时的自动驾驶控制系统。
- 在多个嵌入式平台(包括 Pi 3 和更强大的替代平台)上实现 CNN 的实时推理,频率为 20–100 Hz。
- 通过在同一平台上并发运行多个 CNN 模型和任务,测量共享资源竞争导致的性能下降。
- 应用先进的隔离技术:缓存分区与内存带宽节流,以评估其在维持实时性能方面的有效性。
- 通过受控的基准测试和工作负载合并实验,评估硬件级资源竞争与隔离机制的影响。
实验结果
研究问题
- RQ1像 Raspberry Pi 3 这样的低成本嵌入式平台能否支持自动驾驶车辆的实时端到端深度学习控制?
- RQ2共享资源竞争(缓存与 DRAM)如何影响合并式嵌入式系统中 CNN 推理工作负载的性能?
- RQ3现有的共享资源隔离技术——缓存分区与内存带宽节流——在多大程度上能保护实时 CNN 推理性能?
- RQ4该 CNN 模型在不同嵌入式计算平台上的可实现实时性能(推理频率)是多少?
- RQ5资源受限平台能否支持高效部署压缩或量化的 CNN,以用于未来低功耗自动驾驶系统?
主要发现
- Raspberry Pi 3 及其他嵌入式平台能够支持自动驾驶控制的实时 CNN 推理,帧率在 20 Hz 到 100 Hz 之间,具体取决于硬件性能。
- 即使使用专用 CPU 核心,共享资源竞争仍可导致 CNN 推理延迟最高增加 11.6 倍,严重损害实时性能。
- 由于共享缓存层次结构的存在,缓存分区在隔离 CNN 工作负载方面无效。
- 内存带宽节流是一种有效技术,可在资源竞争下保护 CNN 推理性能,显著减少延迟峰值。
- DeepPicar 平台仅使用 100 美元的元器件成功复刻了 NVIDIA DAVE-2 的行为,为实时深度学习控制的低成本研究提供了支持。
- 本研究证实,硬件感知优化与隔离机制对于在嵌入式自动驾驶系统中可靠部署深度神经网络至关重要。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。