项目简介
本项目是基于Python的自动光学检测系统,借助YOLOv3、YOLOv5和YOLOv5 - Lite三种模型开展目标检测。通过机器学习方法达成对图像中缺陷的自动检测与分类,可应用于工业生产的质量控制环节。
项目的主要特性和功能
- 多模型支持:集成YOLOv3、YOLOv5和YOLOv5 - Lite三种模型,用户能按需选择合适模型进行训练与检测。
- 数据预处理:提供
data_process.py
脚本,对输入数据筛选整理,保障数据质量。 - 模型训练:支持三种模型训练,可通过命令行参数调整训练参数,如epochs、模型定义文件等。
- 模型测试:
val.py
脚本用于评估模型性能,支持用预训练或自训练模型测试。 - 可视化检测:
detect.py
脚本可对输入图像进行可视化缺陷检测并保存结果。 - K - means聚类:
K_means.py
脚本对数据集进行边框聚类,优化模型训练效果。 - 可视化监控:集成Weights & Biases(wandb)工具,可实时监控模型训练过程并进行数据可视化。
安装使用步骤
1. 环境准备
确保系统满足以下要求: - Ubuntu 16.04.5 LTS - CUDA 10.2 - Anaconda 4.10.3
创建虚拟环境并安装依赖:
bash
cd PCB_Project
conda create --name PCB_env python=3.6.13
conda activate PCB_env
pip install -r requirements.txt
2. 数据集准备
从清华云盘下载数据集并解压:
bash
unzip PR_AIVS.zip
mkdir ./data
mkdir ./data/Annotations
mkdir ./data/images
mv ./PR_AIVS/*.jpg ./data/images/
mv ./PR_AIVS/*.json ./data/Annotations/
3. 预训练模型下载
运行脚本下载预训练模型:
bash
bash prepare.sh
4. 数据预处理
运行数据预处理脚本:
bash
python data_process.py
5. 模型训练
选择合适的模型进行训练:
- YOLOv3:
bash
python ./YOLOv3/train.py
- YOLOv5 - Lite:
bash
python ./YOLOv5 - Lite/train.py
- YOLOv5:
bash
python ./YOLOv5/train.py
6. 模型测试
使用训练好的模型进行测试:
bash
python ./detect/val.py --weights ./test_weights/YOLOv5_best.pt --task test
7. 可视化缺陷检测
对输入图像进行可视化检测:
bash
python ./detect/detect.py --weights ./test_weights/YOLOv5_best.pt --source ./data/test.txt --save - txt
8. K - means聚类
运行K - means聚类脚本:
bash
python K_means.py
通过以上步骤,用户可顺利完成项目的安装、数据准备、模型训练、测试以及可视化检测。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】