项目简介
本项目是基于树莓派和深度学习构建的自动驾驶小车系统。借助摄像头采集道路图像,经预处理后输入神经网络模型识别,依据识别结果控制小车行驶方向与速度,实现自动驾驶。项目涵盖图像采集、数据预处理、模型训练、模型部署和车辆控制等环节。
项目的主要特性和功能
- 图像采集:利用摄像头实时采集道路图像数据。
- 数据预处理:对采集的图像数据开展清洗、格式转换、大小调整、标签分配等操作,便于输入神经网络模型训练。
- 模型训练:采用深度学习框架TensorFlow和预训练的NVIDIA end - to - end Model进行训练,通过调整超参数和微调提高识别准确率。
- 模型部署:将训练好的模型部署到树莓派小车,通过GPIO等接口与硬件通信。
- 车辆控制:依据神经网络识别结果,通过控制算法控制小车行驶方向和速度,实现自动驾驶。
安装使用步骤
硬件组装
- 组装树莓派小车硬件,包含树莓派、摄像头、蓄电电池组等。
- 用螺栓、螺柱、亚克力板将树莓派、蓄电电池固定在小车上。
环境配置
- 通过VNC连接并登录树莓派。
- 在树莓派上安装Keras环境,用于调用训练好的模型。
数据采集
- 用
zth_car_control.py
控制小车前后左右移动。 - 配合
zth_collect_data.py
人工操作,让小车在自制跑道上采集数据,建议采集50000张以上图像数据。
数据处理
使用zth_process_img.py
处理采集的数据,完成数据清洗等工作。
模型训练
使用zth_train.py
对数据进行训练,得到训练好的模型。
模型部署与自动驾驶
- 将训练好的模型文件(如
.h5
文件)拷贝到树莓派。 - 使用
zth_drive
载入模型,实现小车在原先跑道的自动驾驶。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】