博客 / 詳情

返回

基於 YOLOv8 的焊接表面缺陷檢測|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用!

基於 YOLOv8 的焊接表面缺陷檢測|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用!

源碼包含:完整YOLOv8訓練代碼+數據集(帶標註)+權重文件+直接可允許檢測的yolo檢測程序+直接部署教程/訓練教程

源碼在文末嗶哩嗶哩視頻簡介處獲取。
nc: 3
names: [
  '焊接不良',
  '焊接良好',
  '焊接缺陷'
]

項目摘要

本項目結合 YOLOv8 檢測模型PyQt5 圖形界面工具,實現了焊接表面缺陷的自動檢測與分類。數據集包含三類標註:焊接不良、焊接良好、焊接缺陷,均採用 YOLO 格式標註,可直接用於訓練。

項目特點:

  • 數據驅動:數據集經過嚴格劃分,包括訓練集、驗證集和測試集,保證模型訓練與評估的科學性。
  • 全流程覆蓋:從數據準備、模型訓練、推理測試到可視化界面展示,一應俱全。
  • 易於擴展:用户可替換數據集或增加檢測類別,快速適配新的工業檢測需求。

通過本項目,開發者可以快速構建高精度焊縫檢測系統,實現生產線焊接質量的自動監控與缺陷報警,為工業智能製造提供強大技術支撐。

前言

隨着工業自動化和智能製造的發展,焊接質量檢測成為保證產品性能和安全的重要環節。傳統人工檢測存在效率低、主觀性強、成本高等問題,而基於深度學習的自動化檢測系統,可以實現高精度、低成本、實時化的焊接缺陷識別。

本項目利用 YOLOv8 的高性能目標檢測能力,結合 PyQt5 的可視化界面,實現了一個完整、開箱即用的焊接缺陷檢測方案。無論是學術研究還是工業應用,都能快速上手並進行二次開發。

一、軟件核心功能介紹及效果演示

本項目數據集包含千張焊接表面圖片,按照訓練集、驗證集和測試集劃分,三類標註如下:

nc: 3
names: [
  '焊接不良',
  '焊接良好',
  '焊接缺陷'
]
  • 焊接不良:存在明顯缺陷,如焊縫斷裂、氣孔等
  • 焊接良好:焊縫平整、無明顯瑕疵
  • 焊接缺陷:輕微缺陷或局部異常,可作為輔助判斷

數據集可直接用於 YOLOv8 模型訓練,標註格式完全兼容 YOLO 框架。

二、軟件效果演示

為了直觀展示本系統基於 YOLOv8 模型的檢測能力,我們設計了多種操作場景,涵蓋靜態圖片、批量圖片、視頻以及實時攝像頭流的檢測演示。

(1)單圖片檢測演示

用户點擊“選擇圖片”,即可加載本地圖像並執行檢測:

image-20251109005902146


(2)多文件夾圖片檢測演示

用户可選擇包含多張圖像的文件夾,系統會批量檢測並生成結果圖。

image-20251109005836642


(3)視頻檢測演示

支持上傳視頻文件,系統會逐幀處理並生成目標檢測結果,可選保存輸出視頻:

image-20251109005928639


(4)攝像頭檢測演示

實時檢測是系統中的核心應用之一,系統可直接調用攝像頭進行檢測。由於原理和視頻檢測相同,就不重複演示了。

image-20251109005958976


(5)保存圖片與視頻檢測結果

用户可通過按鈕勾選是否保存檢測結果,所有檢測圖像自動加框標註並保存至指定文件夾,支持後續數據分析與複審。

image-20251109010015376

三、模型的訓練、評估與推理

YOLOv8是Ultralytics公司發佈的新一代目標檢測模型,採用更輕量的架構、更先進的損失函數(如CIoU、TaskAlignedAssigner)與Anchor-Free策略,在COCO等數據集上表現優異。
其核心優勢如下:

  • 高速推理,適合實時檢測任務
  • 支持Anchor-Free檢測
  • 支持可擴展的Backbone和Neck結構
  • 原生支持ONNX導出與部署

3.1 YOLOv8的基本原理

YOLOv8 是 Ultralytics 發佈的新一代實時目標檢測模型,具備如下優勢:

  • 速度快:推理速度提升明顯;
  • 準確率高:支持 Anchor-Free 架構;
  • 支持分類/檢測/分割/姿態多任務
  • 本項目使用 YOLOv8 的 Detection 分支,訓練時每類表情均標註為獨立目標。

YOLOv8 由Ultralytics 於 2023 年 1 月 10 日發佈,在準確性和速度方面具有尖端性能。在以往YOLO 版本的基礎上,YOLOv8 引入了新的功能和優化,使其成為廣泛應用中各種物體檢測任務的理想選擇。

image-20250526165954475

YOLOv8原理圖如下:

image-20250526170118103

3.2 數據集準備與訓練

採用 YOLO 格式的數據集結構如下:

dataset/
├── images/
│   ├── train/
│   └── val/
├── labels/
│   ├── train/
│   └── val/

每張圖像有對應的 .txt 文件,內容格式為:

4 0.5096721233576642 0.352838390077821 0.3947600423357664 0.31825755058365757

分類包括(可自定義):

image-20251109010138803

3.3. 訓練結果評估

訓練完成後,將在 runs/detect/train 目錄生成結果文件,包括:

  • results.png:損失曲線和 mAP 曲線;
  • weights/best.pt:最佳模型權重;
  • confusion_matrix.png:混淆矩陣分析圖。
若 mAP@0.5 達到 90% 以上,即可用於部署。

在深度學習領域,我們通常通過觀察損失函數下降的曲線來評估模型的訓練狀態。YOLOv8訓練過程中,主要包含三種損失:定位損失(box_loss)、分類損失(cls_loss)和動態特徵損失(dfl_loss)。訓練完成後,相關的訓練記錄和結果文件會保存在runs/目錄下,具體內容如下:

image-20251109010112974

3.4檢測結果識別

使用 PyTorch 推理接口加載模型:

import cv2
from ultralytics import YOLO
import torch
from torch.serialization import safe_globals
from ultralytics.nn.tasks import DetectionModel

# 加入可信模型結構
safe_globals().add(DetectionModel)

# 加載模型並推理
model = YOLO('runs/detect/train/weights/best.pt')
results = model('test.jpg', save=True, conf=0.25)

# 獲取保存後的圖像路徑
# 默認保存到 runs/detect/predict/ 目錄
save_path = results[0].save_dir / results[0].path.name

# 使用 OpenCV 加載並顯示圖像
img = cv2.imread(str(save_path))
cv2.imshow('Detection Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

預測結果包含類別、置信度、邊框座標等信息。

image-20251109010159274

四.YOLOV8+YOLOUI完整源碼打包

本文涉及到的完整全部程序文件:包括python源碼、數據集、訓練代碼、UI文件、測試圖片視頻等(見下圖),獲取方式見【4.2 完整源碼下載】:

4.1 項目開箱即用

作者已將整個工程打包。包含已訓練完成的權重,讀者可不用自行訓練直接運行檢測。

運行項目只需輸入下面命令。

python main.py

讀者也可自行配置訓練集,或使用打包好的數據集直接訓練。

自行訓練項目只需輸入下面命令。

yolo detect train data=datasets/expression/loopy.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 batch=16 lr0=0.001

4.2 完整源碼

至項目實錄視頻下方獲取:

嗶哩嗶哩視頻演示:https://www.bilibili.com/video/BV1NrkiBJEcH/

image-20250801135823301

包含:

📦完整項目源碼

📦 預訓練模型權重

🗂️ 數據集地址(含標註腳本)

總結

本項目基於 YOLOv8 深度學習目標檢測模型,結合 PyQt5 圖形界面,實現了一個完整的焊接表面缺陷檢測系統。通過實際演示可以看出,該系統能夠對單張圖片、批量圖片、視頻以及實時攝像頭流進行高精度檢測,並自動標註缺陷位置和類別,支持檢測結果的保存和複查,為工業生產線提供了高效、智能化的焊接質量監控手段。

項目的核心亮點包括:

  1. 高精度檢測:利用 YOLOv8 的先進架構與損失函數,實現焊接不良、焊接良好和焊接缺陷的精確分類。
  2. 全流程覆蓋:從數據準備、模型訓練、推理到可視化界面展示,用户可快速部署和復現。
  3. 可擴展性強:支持新增類別、替換數據集或自定義檢測場景,適應不同工業檢測需求。
  4. 易於部署:打包了完整源碼與預訓練權重,開箱即可運行,無需複雜環境配置。
  5. 結果可視化與分析:提供訓練曲線、混淆矩陣以及檢測結果圖,便於模型評估和優化。

總體來看,該系統不僅降低了人工檢測成本和主觀誤差,還為工業智能製造提供了可落地的技術解決方案。無論是科研實驗還是生產實踐,開發者都可以在此基礎上快速搭建高性能焊縫檢測系統,實現智能化生產監控和缺陷報警。

user avatar 13917911249 頭像 yadong_zhang 頭像 goudantiezhuerzi 頭像 async_wait 頭像 zoux 頭像 codelogs 頭像 lidong_58afb57096f8c 頭像 gdlf 頭像 chuanghongdengdeqingwa_eoxet2 頭像 enaium 頭像 youfujideshangpu 頭像 xiongod 頭像
13 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.