Stories

Detail Return Return

實驗室監控的實時目標檢測系統|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用! - Stories Detail

實驗室監控的實時目標檢測系統|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用!

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

源碼在文末嗶哩嗶哩視頻簡介處獲取。

基本功能演示

本系統基於 YOLOv8 目標檢測模型,結合 PyQt5 圖形化界面,實現了對實驗室場景中人員與物體的實時識別、監測與報警。支持攝像頭實時監控、視頻文件分析以及本地圖片批量檢測等功能,可用於實驗室安全督查、人員進入記錄、危險操作識別等場景。

  • 攝像頭實時畫面檢測
  • 實驗室人員進出檢測
  • 未穿防護服報警提示
  • 視頻檢測結果回放

項目摘要

本項目面向 實驗室安全監控場景,通過深度學習視覺識別技術實現對人員行為及實驗設備狀態的實時檢測管理。系統採用 YOLOv8 深度目標檢測模型,對實驗器材等多類對象進行精準識別,同時結合 PyQt5 GUI 界面 提供可視化檢測、參數調節、視頻回放與結果保存等功能。

nc: 10
names: ['空調', '椅子', '主機', '電子白板', '滅火器', '鍵盤', '燈', '顯示器', '鼠標', '投影儀']

本項目提供:

內容 是否提供 説明
完整可直接運行的 YOLOv8 檢測程序 無需改代碼即可運行
訓練所用數據集(帶標註) 可直接用於復現模型訓練
訓練腳本與參數配置文件 支持重新訓練或微調模型
PyQt5 桌面級 GUI 界面程序 開箱即用,操作友好
模型權重文件(訓練完成版) 可直接用於推理部署
項目目標:讓你能夠快速完成一個可落地的實驗室實時監控檢測系統。

前言

隨着實驗室安全管理要求的不斷提高,人工巡查方式效率低、遺漏多、成本大,已經難以滿足日常監管需求。基於計算機視覺的自動檢測系統能夠實現全天候、實時、客觀的監測,對異常行為進行快速識別與報警,有助於提升實驗室安全運維水平。

然而,傳統深度學習模型部署週期長、環境配置複雜、訓練數據門檻高,導致多數實驗室或教學場景無法快速落地。本項目通過提供 完整代碼 + 數據集 + 權重 + 圖形界面 + 教程,將實驗室智能監控系統的搭建流程大幅簡化,真正實現:

  • 可復現
  • 可直接運行
  • 可二次訓練擴展
  • 可直接部署使用

如果你是第一次接觸深度學習檢測,不用擔心,本項目已將所有操作簡化到最小化門檻。

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

本系統的整體功能圍繞 “實時檢測 + 可視化界面 + 可擴展訓練” 設計,旨在做到:能看、能用、能改、能部署。

1. 攝像頭實時檢測

  • 支持 USB 攝像頭 / 工控機相機 / 網絡 RTSP 流
  • 檢測結果實時渲染,支持 FPS 顯示
  • 可根據置信度 / 分類類別進行報警提醒

2. 視頻文件檢測

  • 導入本地監控錄像進行回放分析
  • 可輸出帶檢測框的視頻文件用於存檔或審查

3. 圖片與文件夾檢測

  • 支持單圖檢測與批量檢測
  • 可自動保存檢測結果與標註圖

4. PyQt5 可視化界面

  • 輸入源切換、模型切換、參數調節均可在界面完成
  • 無需使用命令行

5. 支持模型重新訓練

  • 可直接使用提供的數據集復現模型訓練
  • 支持替換自有實驗室場景圖片繼續訓練

image-20251106214728564

二、軟件效果演示

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

(1)單圖片檢測演示

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

image-20251106214633771


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

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

image-20251106214704566


(3)視頻檢測演示

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

image-20251106214923579


(4)攝像頭檢測演示

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

image-20251106214941453


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

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

image-20251106215146196

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

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-20251106215224823

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-20251106215237537

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-20251106215311105

四.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/BV1Ga2gBNEyK

image-20250801135823301

包含:

📦完整項目源碼

📦 預訓練模型權重

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

總結

本項目從 模型訓練、數據準備、可視化界面到實時部署 全流程進行了完整展示,旨在為實驗室安全監管場景提供一套 可落地、可復現、可擴展 的智能檢測解決方案。通過引入 YOLOv8 高精度目標檢測模型,系統能夠對實驗室環境中的多類物品與人員行為進行實時識別,有效提升安全巡查效率,降低人為遺漏與監管成本。同時,項目配套的 PyQt5 圖形化界面進一步降低了系統使用門檻,使得即便無深度學習背景的用户也可直接操作使用。

該系統的優勢可總結為以下三點:

  1. 開箱即用:提供完整可直接運行的環境與模型,可立即投入實驗室場景使用。
  2. 可復現可擴展:配套的數據集、訓練腳本與模型參數可支持再次訓練或遷移擴展,便於不同場景適配。
  3. 可視化友好:無需命令行即可完成檢測、回放、保存等操作,界面清晰直觀,適用於教學、科研及工程部署。

隨着智能視覺技術的發展,實驗室安全管理正從傳統人工巡查向數字化、智能化轉型。本項目所提供的解決方案不僅適用於實驗室場景,也可進一步拓展到工廠生產線監控、機房設備管理、公共空間安全與教育實踐等多類場景。未來可繼續集成行為識別、危險動作報警、人員軌跡跟蹤等高級功能,以構建更加完善的智能安全監管體系

本項目的核心目標始終是:讓智能檢測不再困難,讓實驗室安全更具保障。

Add a new Comments

Some HTML is okay.