基于YOLO和大语言模型的PCB智能缺陷检测系统

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 并拉取模型:

    bash 复制代码
    ollama 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)

相关推荐
裤裤兔8 小时前
卷积神经网络中的自适应池化
人工智能·神经网络·cnn·自适应池化
TracyCoder1238 小时前
词嵌入来龙去脉:One-hot、Word2Vec、GloVe、ELMo
人工智能·自然语言处理·word2vec
V1ncent Chen8 小时前
机器是如何变“智能“的?:机器学习
人工智能·机器学习
ccLianLian8 小时前
CLIP Surgery
人工智能·计算机视觉
秋刀鱼 ..8 小时前
2026年新一代智能通信与信号处理研讨会
人工智能·神经网络·物联网·计算机网络·人机交互·信号处理
likeshop 好像科技9 小时前
新手学习AI智能体Agent逻辑设计的指引
人工智能·学习·开源·github
许泽宇的技术分享9 小时前
当 AI Agent 遇上可观测性:AgentOpenTelemetry 让你的智能体不再“黑盒“
人工智能·可观测性·opentelemetry·agentframework
加载中3619 小时前
LLM基础知识,langchainV1.0讲解(一)
人工智能·langchain
一水鉴天9 小时前
整体设计 定稿 之23 dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q199 之1)
人工智能·架构·自动化