littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Python的自动光学检测系统

项目简介

本项目是基于Python的自动光学检测系统,借助YOLOv3、YOLOv5和YOLOv5 - Lite三种模型开展目标检测。通过机器学习方法达成对图像中缺陷的自动检测与分类,可应用于工业生产的质量控制环节。

项目的主要特性和功能

  1. 多模型支持:集成YOLOv3、YOLOv5和YOLOv5 - Lite三种模型,用户能按需选择合适模型进行训练与检测。
  2. 数据预处理:提供data_process.py脚本,对输入数据筛选整理,保障数据质量。
  3. 模型训练:支持三种模型训练,可通过命令行参数调整训练参数,如epochs、模型定义文件等。
  4. 模型测试val.py脚本用于评估模型性能,支持用预训练或自训练模型测试。
  5. 可视化检测detect.py脚本可对输入图像进行可视化缺陷检测并保存结果。
  6. K - means聚类K_means.py脚本对数据集进行边框聚类,优化模型训练效果。
  7. 可视化监控:集成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】