基于YOLO和大语言模型的铝片表面工业缺陷智能检测系统
📖 项目简介 (Project Overview)
本项目是一个 工业级铝片表面缺陷检测解决方案,深度融合了 YOLOv8 高性能目标检测算法与 LLaVA 多模态大语言模型。系统专为工业质检场景打造,不仅能以毫秒级速度“看到”缺陷,还能像资深质检员一样“读懂”缺陷,提供专业的缺陷诊断报告。








✨ 核心功能 (Core Functions)
本系统包含四大核心功能模块,满足从实验室研发到产线部署的全流程需求:
1. 🔬 智能单件检测 (Intelligent Inspection)
- 高精度缺陷定位:利用 YOLOv8 模型精准识别铝片表面的 针孔 (Pinhole)、擦伤 (Scratch)、脏污 (Dirty)、褶皱 (Crease) 四大关键缺陷。
- AI 诊断分析 (LLaVA Grounding):创新性地引入多模态大模型。系统会自动将检测到的缺陷信息(位置、类型、数量)“喂”给 LLaVA,生成基于事实的包含 缺陷成因分析、严重程度评估 及 处置建议 的自然语言报告。
- 动态可视化:实时在图像上绘制缺陷边界框和中文标签,并用不同颜色区分缺陷类型。
2. 🏗️ 批量自动质检 (Batch Processing)
- 高通量处理:支持一次性导入数百张图片进行后台批量处理。
- 自动化报表:
- Excel 清单:自动生成包含文件名、缺陷统计、质检结果 (OK/NG) 的结构化表格。
- 结果图库 (ZIP):自动打包所有标记好缺陷的图片,方便离线查看。
- 可视化画廊:在界面上直接预览批量处理的结果缩略图。
3. 📈 生产质量看板 (Quality Dashboard)
- 实时数据统计:自动统计总检测数、不良品数及良品率。
- 历史追溯:详细记录每一次检测的时间、文件名、缺陷详情和 AI 分析摘要。
- 数据导出:支持一键导出历史记录为 CSV 文件,便于接入 MES 系统或进行二次数据分析。
4. 🔧 自主模型训练 (Self-Training)
- 零代码训练:直接在 Web 界面配置训练轮次 (Epochs) 和批次大小 (Batch Size),无需编写代码即可启动 YOLOv8 训练。
- 实时监控:训练过程中实时展示 Loss 曲线、进度条和控制台日志,让模型训练过程透明化。
🛠️ 技术架构 (Technical Architecture)
- 感知层 (Vision): YOLOv8 (Ultralytics) - 负责从图像中快速提取缺陷特征和坐标。
- 认知层 (Cognition): LLaVA (Ollama) - 负责综合视觉信息与领域知识,生成诊断报告。
- 交互层 (Interaction): Gradio - 构建现代化的工业风格 Web 交互界面。
- 数据层 (Data): SQLite/CSV - 负责历史数据和配置管理。
🚀 快速开始 (Quick Start)
1. 环境准备
确保已安装 Python 3.8+ 并配置好 CUDA 环境(推荐)。
pip install -r requirements.txt
2. 启动 LLaVA 服务 (可选但推荐)
为了使用 AI 诊断功能,请确保 Ollama 服务已启动并加载了 llava 模型:
ollama serve
# 在另一个终端运行:
ollama pull llava
3. 运行系统
python run_web_aluminum.py
系统启动后,访问浏览器 http://localhost:7860 即可使用。
📂 目录结构 (Directory Structure)
src/- 核心源代码目录aluminum_detection_system.py- 系统主控逻辑yolo_detector.py- YOLO 模型封装llava_analyzer.py- LLaVA 大模型接口web_interface_aluminum.py- Gradio 界面实现data/- 数据集及生成的报表models/- 模型权重文件config.yaml- 系统配置文件
📋 缺陷类别说明
缺陷代码中文名称描述zhen_kong针孔材料表面的细小孔洞,通常由气泡或杂质引起ca_shang擦伤表面线状或带状的机械损伤,影响外观zang_wu脏污油污、灰尘或其他异物附着zhe_zhou褶皱材料表面的不平整折痕