自动驾驶汽车
self-driving-car
⭐⭐⭐⭐☆ (4/5)
🧩 软硬件结合
已发布
项目简介
Udacity Self-Driving Car Engineer Nanodegree projects.
这是一个由 Udacity 自动驾驶汽车工程师纳米学位课程项目代码组成的开源仓库,汇集了从计算机视觉基础到路径规划与控制的完整技术栈。项目以 12 个循序渐进的实战项目为核心,覆盖了自动驾驶系统的关键模块:在感知层面,实现了基于 Canny 边缘检测和霍夫变换的基本车道线识别,以及利用透视变换、滑动窗口和曲线拟合的进阶车道线检测;同时包含基于 HOG 特征与 SVM 分类器的车辆检测,以及使用深度学习进行交通标志分类和道路语义分割的方案。在定位与状态估计方面,项目提供了扩展卡尔曼滤波、无迹卡尔曼滤波以及粒子滤波(绑架车辆问题)的完整实现。在控制与规划层面,涵盖了 PID 控制器、模型预测控制(MPC)以及基于 Frenet 坐标系的行为规划与轨迹生成。此外,还有一个交通灯分类器作为综合项目的组成部分。
标签
项目特点
涵盖Udacity自动驾驶纳米学位的全部12个核心项目,内容系统全面
涉及计算机视觉、深度学习、状态估计、控制理论和路径规划等多个领域
每个项目都有独立的代码目录和详细说明,便于学习和复用
包含丰富的可视化结果和演示视频链接
使用多种编程语言和框架(Python、C++、TensorFlow、Keras、OpenCV)
技术规格
| 项目总数 | |
|---|---|
| 主要编程语言 | |
| 主要框架/库 | |
| 核心算法 | |
| 适用平台 | |
| 数据来源 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Python 3.x | 1 | — | 用于大部分项目 |
| C++编译器 | 1 | — | 用于P6-P11项目 |
| TensorFlow | 1 | — | 深度学习框架 |
| Keras | 1 | — | 深度学习框架 |
| OpenCV | 1 | — | 计算机视觉库 |
| Udacity模拟器 | 1 | — | 用于P3、P9、P10等项目 |
| 带GPU的计算机 | 1 | — | 推荐用于深度学习训练 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| Python开发环境 | 运行Python项目代码 | ✅ 是 |
| C++开发环境 | 编译运行C++项目 | ✅ 是 |
| Jupyter Notebook | 交互式开发和可视化 | ✅ 是 |
| Git | 版本控制和代码管理 | ✅ 是 |
| GPU (NVIDIA CUDA) | 加速深度学习训练 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
4/5
表达与交流
1/5
感知与观察
3/5
数理与计算
5/5
动手与操作
3/5
狂热与坚持
4/5
创造与创新
3/5
项目图库
视频
watch
watch
watch
watch
watch
所需技能
🔧 **动手能力**:需要配置开发环境、安装依赖库、运行模拟器,并能够调试代码和调整参数。
💻 **编程能力**:需要熟练掌握Python和C++编程,理解TensorFlow/Keras等深度学习框架的使用,以及OpenCV图像处理库。
⚡ **电子电路**:不涉及硬件电路,但需要理解传感器(摄像头、激光雷达、雷达)的工作原理和数据特性。
适用场景
学习自动驾驶核心技术栈,从感知到控制再到路径规划的完整流程
作为Udacity纳米学位的配套代码库,辅助课程学习和项目实践
为自动驾驶相关的研究或工作提供参考实现和基线代码
用于教学演示,展示计算机视觉、深度学习和控制理论在自动驾驶中的应用