项目简介
本项目是山东大学(威海)数学与统计学院2020级数据科学与人工智能实验班2022年暑期科研实训成果。借助Python和Arduino搭建智能小车自动驾驶与路标识别系统,利用PaddlePaddle深度学习框架完成交通标志识别,采用U-Net网络进行道路分割,通过A*算法规划路径,由Arduino控制小车运动,实现小车自动驾驶与交通标志识别功能。
项目的主要特性和功能
- 道路分割:运用U-Net深度学习网络,在Paddle开源平台分割图像的道路与非道路部分,模型PA=0.979,IoU=0.952,分割效果佳。
- 交通标志检测与识别:采用骨干网络为ResNet50_vd_ssld的PPYOLOv2算法在Paddle平台训练,可识别64类交通标志,模型mAP=96.27%,识别精度高。
- 小车控制方式多样:可通过网页控制小车前进、后退、转弯等,还能调整旋转角度和运动速度;开发了基于Python的UI界面,可封装为软件使用。
- 自动驾驶功能:采集小车地图照片标注训练道路分割模型提高精度;对小车相机标定和去畸变处理,透视变换为俯视图;用A*算法规划路径;结合阿克曼转向几何与Pure Pursuit路径跟踪算法控制小车运动;利用MPU6050获取小车姿态角,计数器测量小车速度。
安装使用步骤
- 硬件准备:准备Arduino开发板、MPU6050陀螺仪模块、小车模型、摄像头等硬件设备。
- 软件安装:安装Python、Arduino IDE、PaddlePaddle深度学习框架等软件。
- 环境配置:设置Python环境变量,安装必要的库,如
numpy
、cv2
、requests
等。 - 代码获取:下载本项目的源码文件,包含Python和Arduino代码。
- 模型训练:使用PaddlePaddle训练交通标志识别模型,并将模型权重保存至指定路径。
- 代码调试:在Python环境中运行代码进行调试和测试,确保代码正常运行。
- 小车编程:使用Arduino IDE对Arduino开发板进行编程,实现小车运动控制功能。
- 综合测试:将小车置于预定路径上,运行Python程序,观察小车是否能按预定路径自动行驶并识别交通标志。
注意:此项目涉及硬件和软件的综合应用,需要一定的编程和硬件基础。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】