當前位置: 妍妍網 > 碼農

YOLOv8+PyQT5打造安全帽檢測預警套用

2024-01-26碼農

點選上方 藍字 關註我們

微信公眾號: OpenCV開發者聯盟

關註獲取更多電腦視覺與深度學習知識

套用說明

YOLOv8物件檢測模型基於自訂數據集訓工地安全帽檢測模型,然後透過工具匯出模型為ONNX,基於OpenVINO實作模型推理,完成工人是否佩戴安全帽檢測辨識,根據檢測到的結果統計佩戴與未佩戴人數,在PyQT5打造的界面上顯示輸出檢測結果。

模型介紹

YOLOv8自訂安全帽檢測模型

模型的輸入與輸出資訊如下:

輸入格式:

NCHW = 1x3x640x640

輸出格式:

1x6x8400, xyhw+類別2 = 6,20x20+40x40+80x80=8400

模型推理基於OpenVINO框架,CPU即可執行。

界面設計

界面支持模型相關得參數設定、輸入影像路徑選擇與設定,相關界面設計如下:

程式碼實作與演示

程式碼實作與演示,設計兩個類,一個界面類實作參數化界面輸入與推理結果顯示,另外一個模型推理類執行緒,負責呼叫模型實作模型推理,返回推理結果。推理類與界面類之間透過訊號與槽機制實作數據交換。主界面呼叫界面類例項化與初始化,實作程式啟動,在子執行緒種實作推理,主執行緒種重新整理界面。完整的主程式呼叫程式碼實作如下:

# 初始化APP例項import platformapp = QtWidgets.QApplication(sys.argv)if 'Windows' == platform.system(): app.set style('Windows')# 初始化桌面容器main_win = QtWidgets.QMainWindow()# 設定APP視窗名稱main_win.setWindowTitle("安全帽測檢測 - 演示版本")# 初始化內容面板content_panel = YOLOv8InferPanel()# 設定視窗大小main_win.setMinimumSize(1340, 910)main_win.setCentralWidget(content_panel)# 請求顯示main_win.show()# 載入視窗並啟動Appapp.exec()

掃碼關註

OpenCV開發者聯盟,

專註各種語言的OpenCV開發教程分享

OpenCV周邊開發技術套用!

推薦閱讀

好書推薦

【OpenCV套用開發:入門、進階與工程化實踐】 全書共計16個章節,重點聚焦OpenCV開發常用模組詳解與工程化開發實踐,提升OpenCV套用開發能力,助力讀者成為OpenCV開發者,同時包含深度學習模型訓練與部署加速等知識,幫助OpenCV開發者進一步拓展技能地圖,滿足工業計畫落地所需技能提升。購買請點連結:

https://item.jd.com/10092255924058.html

學習課程有專屬答疑群

負責貼身答疑解惑

讀者專屬QQ群 :657875553

進群暗號:OpenCV4讀者