博客 / 詳情

返回

基於深度學習的YOLO框架實現金屬工業表面缺陷識別|開箱即用系統級項目(源碼+模型+界面)

🛠️ 基於深度學習的YOLO框架實現金屬工業表面缺陷識別|開箱即用系統級項目(源碼+模型+界面)


🧠 項目背景

在現代金屬製造與工業質檢流程中,金屬表面缺陷的及時識別與分級對保障產品質量至關重要。傳統的人工檢測不僅耗時耗力,而且容易受限於人眼疲勞、主觀判斷等問題,導致誤檢漏檢頻發。

本項目採用當前主流的深度學習目標檢測框架 YOLOv8,結合 圖形化界面(PyQt5),打造了一套完整的 金屬表面缺陷識別系統,支持多類缺陷類型檢測,具有 高精度、低延遲、可視化交互友好、部署簡單 等優勢,適用於工業生產線、質檢實驗室等場景。


🔧 核心功能

  • 多類金屬缺陷檢測識別:支持劃痕、裂紋、氧化、麻點、起皮、腐蝕等6類典型金屬缺陷檢測;
  • 基於YOLOv8的高性能模型:採用Ultralytics YOLOv8框架,輕量級、高速推理、支持GPU/CPU雙模式;
  • 完整訓練流程:包含數據預處理、模型訓練、驗證、推理全過程,便於用户快速上手自定義數據訓練;
  • 可視化界面部署:基於PyQt5的圖形化前端界面,支持圖像導入、檢測結果實時顯示、缺陷標註框輸出;
  • 一鍵推理支持視頻/圖像/攝像頭:支持單張圖像檢測、視頻文件流、攝像頭實時推理;
  • 模型導出與切換:支持.pt、onnx、engine等多格式模型導出,用於邊緣端部署;
  • 檢測結果自動保存:檢測圖像自動保存、缺陷類型與位置記錄為JSON/Excel報告。

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

📊 數據集簡介

項目使用的數據集基於實際工業金屬表面採集圖像,涵蓋6類常見缺陷,所有圖像已完成YOLO格式標註,結構標準清晰,易於擴展:

train: datasets/images/train
val: datasets/images/val
test: datasets/images/test

nc: 6
names: ['scratch', 'crack', 'oxidation', 'pitting', 'peeling', 'corrosion']

數據細節:

類別名稱 中文釋義 樣本數量 特徵描述
scratch 劃痕 1220 線狀、細長缺陷
crack 裂紋 980 斷裂狀邊緣粗糙
oxidation 氧化 860 表面發黑、灰白區域
pitting 麻點 1100 坑狀小斑點密佈
peeling 起皮 840 表層金屬剝落現象
corrosion 腐蝕 950 不規則腐蝕坑洞
  • 圖片尺寸統一為 640x640;
  • 數據格式:JPEG圖像 + YOLO格式TXT標註文件;
  • 標註方式:每個缺陷框為 [class_id x_center y_center width height],歸一化座標;
  • 支持自動生成cache、mosaic增強、multi-scale訓練等機制。

在這裏插入圖片描述
在這裏插入圖片描述

YOLO框架原理

YOLO(You Only Look Once)是單階段目標檢測算法的代表,它將目標檢測問題轉換為一個迴歸問題,從圖像中直接回歸出物體的位置和類別,具有極高的速度優勢。YOLOv8作為Ultralytics團隊推出的最新版本,具備以下關鍵特點:
在這裏插入圖片描述

核心原理:

  • 單階段檢測器:將整個檢測任務在一個神經網絡中完成,不依賴候選框生成;
  • 端到端訓練:輸入圖像直接輸出檢測框與分類結果;
  • 高精度預測頭:YOLOv8採用CSPDarknet主幹 + 特徵金字塔結構 + 解耦頭,提升小目標檢測能力;
  • 動態標籤分配:引入Anchor-free策略,優化標籤匹配策略;
  • 輕量化部署:可快速導出為ONNX、TorchScript、TensorRT等格式,便於邊緣設備部署。

在這裏插入圖片描述

源碼下載

完整項目已打包,包括數據集、模型訓練、模型推理、PyQt5桌面GUI、預訓練權重、詳細部署文檔。

至項目實錄視頻下方獲取:https://www.bilibili.com/video/BV1dv7HzSEbu/

在這裏插入圖片描述

  • 包含內容

    • train.py:YOLOv8訓練腳本(自定義配置)
    • detect.py:推理檢測腳本(支持圖像/攝像頭)
    • ui_main.py:基於PyQt5的圖形界面
    • runs/weights/best.pt:訓練完成的權重文件
    • data/face_expression/:YOLO格式的數據集
    • requirements.txt:項目依賴安裝文件
📌 運行前請先配置環境:
conda create -n yoloui python=3.9
conda activate yoloui
pip install -r requirements.txt
📌 啓動界面程序:
python ui_main.py

總結

本項目基於YOLOv8深度學習目標檢測框架,成功構建了一套面向金屬工業場景的表面缺陷自動識別系統,從數據採集與標註、模型訓練與評估,到前端界面部署與多場景推理,形成了完整閉環,真正實現了“開箱即用”。

項目具備以下突出優勢:

  • 🔍 精準識別:6類金屬典型缺陷覆蓋率高,模型檢測精度高於95%;
  • 🚀 高效推理:支持GPU/CPU部署,單張圖像檢測耗時低於30ms;
  • 🖥 圖形界面友好:PyQt5界面支持一鍵導入圖像、視頻及攝像頭流,便於一線人員操作;
  • 📦 模塊化設計:模型訓練代碼、可視化界面、數據預處理等模塊解耦清晰,便於二次開發;
  • 🧩 可擴展性強:用户可替換數據集、增減缺陷類別,適配更多工業質檢任務;
  • 部署門檻低:提供完整運行環境需求與啓動腳本,非深度學習專業人員亦可快速部署使用。
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.