點選上方 藍字 關註我們
微信公眾號: OpenCV開發者聯盟
關註獲取更多電腦視覺與深度學習知識
套用說明
YOLOv8物件檢測模型基於自訂數據集訓工地安全帽檢測模型,然後透過工具匯出模型為ONNX,基於OpenVINO實作模型推理,完成工人是否佩戴安全帽檢測辨識,根據檢測到的結果統計佩戴與未佩戴人數,在PyQT5打造的界面上顯示輸出檢測結果。
模型介紹
YOLOv8自訂安全帽檢測模型
模型的輸入與輸出資訊如下:
輸入格式:
NCHW = 1x3x640x640
輸出格式:
1x6x8400, xyhw+類別2 = 6,20x20+40x40+80x80=8400
模型推理基於OpenVINO框架,CPU即可執行。
界面設計
界面支持模型相關得參數設定、輸入影像路徑選擇與設定,相關界面設計如下:
程式碼實作與演示
程式碼實作與演示,設計兩個類,一個界面類實作參數化界面輸入與推理結果顯示,另外一個模型推理類執行緒,負責呼叫模型實作模型推理,返回推理結果。推理類與界面類之間透過訊號與槽機制實作數據交換。主界面呼叫界面類例項化與初始化,實作程式啟動,在子執行緒種實作推理,主執行緒種重新整理界面。完整的主程式呼叫程式碼實作如下:
# 初始化APP例項
import platform
app = 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()
# 載入視窗並啟動App
app.exec()
掃碼關註
OpenCV開發者聯盟,
專註各種語言的OpenCV開發教程分享
OpenCV周邊開發技術套用!
推薦閱讀
好書推薦
【OpenCV套用開發:入門、進階與工程化實踐】 全書共計16個章節,重點聚焦OpenCV開發常用模組詳解與工程化開發實踐,提升OpenCV套用開發能力,助力讀者成為OpenCV開發者,同時包含深度學習模型訓練與部署加速等知識,幫助OpenCV開發者進一步拓展技能地圖,滿足工業計畫落地所需技能提升。購買請點連結:
https://item.jd.com/10092255924058.html
學習課程有專屬答疑群
負責貼身答疑解惑
讀者專屬QQ群 :657875553
進群暗號:OpenCV4讀者