项目简介
本项目基于TensorFlow 2实现了YOLOv5目标检测框架,支持多种YOLOv5模型(如s、m、l、x版本)的训练、预测和评估,为各种实际应用场景提供高效、灵活的目标检测解决方案。
项目的主要特性和功能
- 支持多GPU并行训练,提高训练效率。
- 提供YOLOv5的s、m、l、x版本,满足不同计算资源和精度需求。
- 内置Mosaic和Mixup等多种数据增强技术,增强模型泛化能力。
- 可根据batch size自动调整学习率,优化训练过程。
- 支持Adam和SGD两种优化器,用户可按需选择。
- 具备详细的模型评估功能,可进行mAP计算和性能分析。
- 提供预训练权重下载,便于用户快速开启训练或预测。
安装使用步骤
环境准备
确保已安装以下依赖: - TensorFlow-gpu==2.2.0 - OpenCV - NumPy
数据准备
- 下载数据集:
- VOC数据集:下载链接 提取码: j5ge
- 预训练权重:下载链接 提取码: eq1g
- 数据处理:
- 修改
voc_annotation.py
中的annotation_mode=2
,运行后生成2007_train.txt
和2007_val.txt
。
模型训练
- 训练VOC数据集:
- 直接运行
train.py
开始训练。 - 训练自己的数据集:
- 准备数据集并放置在指定目录。
- 修改
voc_annotation.py
中的classes_path
,运行生成训练和验证文件。 - 修改
train.py
中的classes_path
,开始训练。
模型预测
- 使用预训练权重:
- 下载预训练权重并放置在
model_data
目录。 - 运行
predict.py
,输入图片路径进行预测。 - 使用自己训练的权重:
- 修改
yolo.py
中的model_path
和classes_path
。 - 运行
predict.py
,输入图片路径进行预测。
模型评估
- 评估VOC数据集:
- 修改
yolo.py
中的model_path
和classes_path
。 - 运行
get_map.py
进行评估,结果保存在map_out
文件夹。 - 评估自己的数据集:
- 修改
voc_annotation.py
中的参数,生成测试集文件。 - 修改
get_map.py
中的classes_path
。 - 修改
yolo.py
中的model_path
和classes_path
。 - 运行
get_map.py
进行评估,结果保存在map_out
文件夹。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】