项目简介
本项目基于PyTorch框架,运用改进版YOLOv5s模型,将去雾算法与目标检测功能相结合。通过联合训练,系统可在实时处理图像去雾的同时进行目标检测,适用于复杂环境下的目标识别任务。项目具备完整的训练、检测和API调用功能,支持用户自定义模型训练与优化。
项目的主要特性和功能
- 联合去雾与目标检测:改进YOLOv5s模型,结合去雾算法,在去雾后的图像上开展目标检测,提高复杂环境下的检测精度。
- 模型训练与优化:支持联合训练模式,可先预训练去雾模型再进行联合训练,优化模型性能。
- 数据处理与增强:提供数据加载、标签处理和数据增强(随机裁剪、旋转、缩放等)功能,提升模型泛化能力。
- 日志记录与可视化:集成Weights & Biases(wandb)平台,支持训练过程的实时监控与日志记录,方便进行模型性能分析和参数优化。
- API支持:基于Flask框架提供REST API接口,支持用户上传图片并获取去雾与检测结果。
- 自动锚点优化:提供自动锚点优化工具,生成适应数据集的锚点配置。
- 训练恢复功能:支持从断点恢复训练任务,保障长时间训练任务的稳定性。
安装使用步骤
环境准备
- 确保已安装Python 3.8及以上版本。
- 安装PyTorch及相关依赖库:
bash pip install torch torchvision
- 安装项目所需的其他依赖:
bash pip install -r requirements.txt
模型训练
- 预训练去雾模型(可选):
bash python train.py --dehaze_only
- 联合训练去雾与检测模型:
bash python train.py --joint_training
训练完成后,模型文件将保存在./run
目录下。
目标检测
- 使用联合去雾与检测功能:
bash python detect.py --joint
检测结果将保存在./results
目录下。
API调用
- 启动Flask API服务:
bash python api.py
- 通过API上传图片并获取检测结果:
bash curl -X POST -F "file=@your_image.jpg" http://localhost:5000/detect
日志记录与可视化
- 配置wandb平台API密钥:
bash wandb login
- 在训练过程中,日志将自动上传至wandb平台,用户可通过平台查看训练进度与性能指标。
注意事项
- 确保训练数据集的格式符合YOLOv5s的要求。
- 在分布式训练或多GPU环境下,需正确配置训练参数。
- 训练过程中建议定期检查模型性能,避免过拟合或欠拟合。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】