PCB Intelligent Defect Detection System based on YOLO & LLM
基于 YOLOv8 + LLaVA 的PCB智能缺陷检测系统
📖 项目简介 (Introduction)
本系统是一款针对PCB缺陷检测的系统。该系统旨在解决传统人工目检效率低、漏检率高的问题,通过结合YOLOv8 高速目标检测 与LLaVA 多模态大模型分析技术,实现对印刷电路板 (PCB) 缺陷的毫秒级精准识别与深度语义分析。
本项目已针对 PCB 常见缺陷进行了深度定制,支持单张精细检测 、批量流水线处理 、历史数据追踪 以及一键生成质检报告等核心功能,完全适配工业现场部署需求。
项目地址:https://mbd.pub/o/bread/YZWZmptqZw==










🔥 核心功能 (Key Features)
1. 🔍 单张检测
- 多源数据输入 :支持本地文件上传、剪贴板粘贴以及 USB/Webcam 工业相机实时识别。
- 动态可视化:采用高对比度、动态缩放的标注系统,专为工业大屏优化,确保在复杂背景下缺陷清晰可见。
- 双模检测引擎 :
- 高速模式 (High-Speed):仅运行 YOLOv8,实现 <50ms 的实时检测。
- 深度分析 (Deep Analysis):开启 LLaVA 大模型,生成关于缺陷成因与处理建议的详细自然语言报告。
- 专业质检报告:一键生成 HTML 格式的标准化质检报告,包含缺陷图像、统计数据与 AI 分析结论。
2. 📦 批量检测
- 高并发处理:支持一次性导入数百张 PCB 图像进行全自动检测。
- 画廊式预览:实时生成检测结果画廊,快速复核生产质量。
- 数据归档:自动打包所有标记图像与 CSV 统计明细,方便对接 MES 系统。
3. 📜 历史数据
- 数字化看板:实时显示生产总数、缺陷率 (Defect Rate) 等关键 KPI 指标。
- 全生命周期管理 :支持历史记录的查询、CSV 导出以及数据库的一键归档清理。
4. ⚙️ 模型训练
- 低代码训练:无需编写代码,通过图形化界面即可调整 Epochs、Batch Size 等超参数并启动训练。
- 可视化监控:实时同步训练日志与进度条,掌控模型收敛情况。
🧩 支持的缺陷类型 (Defect Classes)
系统针对以下 6 种标准 PCB 缺陷进行了针对性训练:
| 缺陷名称 (Code) | 中文名称 | 描述 |
|---|---|---|
| missing_hole | 缺孔 | 应有钻孔的位置缺失 |
| mouse_bite | 鼠咬 | 边缘呈现不规则的缺口 |
| open_circuit | 开路 | 导线断裂,导致电气连接中断 |
| short | 短路 | 两条导线意外连接 |
| spur | 毛刺 | 导线边缘突出的细小铜刺 |
| spurious_copper | 残铜 | 不应存在的额外铜箔残留 |
🛠️ 技术栈 (Tech Stack)
- 核心算法: YOLOv8 (Ultralytics), LLaVA (Ollama)
- 后端框架: Python 3, PyTorch, SQLite
- 前端交互: Gradio (WebUI), HTML/CSS/JS (Standard)
- 图像处理: OpenCV, Pillow, Numpy
- 数据分析: Pandas
🚀 快速开始 (Quick Start)
1. 环境准备
确保已安装 Python 3.8+ 及 NVIDIA GPU 驱动(推荐)。
bash
# 安装依赖
pip install -r requirements.txt
2. 下载/准备模型
-
YOLOv8 : 系统会自动下载预训练权重,建议使用 finetune 后的
best.pt放置于runs/detect/train/weights/。 -
LLaVA : 需安装 Ollama 并拉取模型:
bashollama pull llava
3. 启动系统
在项目根目录下运行:
bash
python run_web_advanced.py
4. 访问界面
浏览器打开:http://localhost:7860
📂 项目结构 (Structure)
text
.
├── config.yaml # 系统核心配置文件
├── pcb.yaml # YOLO 数据集配置
├── requirements.txt # 依赖列表
├── run_web_advanced.py # 启动入口脚本
├── src/
│ ├── history_manager.py # 数据库与历史记录管理
│ ├── llava_analyzer.py # LLaVA 大模型接口
│ ├── pcb_defect_system.py # 系统主控制器
│ ├── web_interface_advanced.py # Gradio 前端界面 (含 CSS 样式)
│ ├── yolo_detector.py # YOLO 检测核心
│ └── verify_system.py # 系统自检脚本
└── data/ # 数据存储 (Reports, CSVs, Temp Images)