项目简介
本项目是基于PyTorch框架构建的YOLOv3模型,主要用于在图像和视频中检测速度丘。可实现单张图像和整个视频上的实时目标检测,检测对象包含速度丘、速度丘标志等。
项目的主要特性和功能
- 实时目标检测:借助YOLOv3算法,实现速度丘的实时检测。
- 多类别检测:能检测不同类型的速度丘,如橡胶减速丘和减速标志等。
- 视频处理:支持对视频文件逐帧处理,并实时显示检测结果。
- FPS测试:提供FPS测试功能,评估模型批量处理时的速度。
- 数据增强:运用数据增强技术增加训练数据多样性,提升模型泛化能力。
- 自定义配置:支持自定义配置,如调整先验框尺寸、类别数量等。
安装使用步骤
环境准备
- 确保安装Python、PyTorch及相关依赖库。
- 安装CUDA 11.0以支持GPU加速。
数据准备
- 从Google Drive下载训练所需图像集,存于项目根目录的
VOCdevkit
文件夹。 - 下载YOLOv3预训练模型,存于
model_data
文件夹。 - 在
model_data
文件夹创建包含目标物体标签名称的npustspeedbump.txt
文件。
数据标注
- 在终端启动包含PyTorch 1.7的虚拟环境。
- 使用
voc_annotation.py
脚本生成包含图像路径和对应物体坐标文件的训练集、测试集和验证集。
模型训练
- 修改
train.py
中的配置参数,如model_path
、annotation_path
等。 - 在终端运行
python train.py
开始训练模型。 - 训练完成后,模型保存于
logs
文件夹。
模型测试
- 使用
predict.py
脚本对单张图像进行检测。 - 使用
video.py
脚本对视频文件逐帧检测,并保存检测结果。 - 使用
FPS_test.py
脚本测试模型的FPS性能。
结果分析
- 使用
get_dr_txt.py
和get_map_05.py
脚本生成检测结果的评估指标,如AP、F1 - score、recall、precision等。 - 分析结果并保存到CSV文件。
注意:使用前确保所有文件和目录结构正确,根据实际需求修改配置文件参数。若遇问题,检查相关文件依赖关系和代码逻辑,按正确顺序执行各步骤。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】