YOLOv8+PyQT5打造安全帽检测预警应用

科技   2024-12-02 22:53   江苏  

点击上方蓝字关注我们

微信公众号: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.setStyle('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()



OpenCV4系统化学习


深度学习系统化学习

推荐阅读

OpenCV4.8+YOLOv8对象检测C++推理演示

ZXING+OpenCV打造开源条码检测应用

攻略 | 学习深度学习只需要三个月的好方法

三行代码实现 TensorRT8.6 C++ 深度学习模型部署

实战 | YOLOv8+OpenCV 实现DM码定位检测与解析

对象检测边界框损失 – 从IOU到ProbIOU

初学者必看 | 学习深度学习的五个误区

OpenCV学堂
三本书《Java数字图像处理-编程技巧与应用实践》、《OpenCV Android开发实战》、《OpenCV4应用开发-入门、进阶与工程化实践》作者。OpenCV实验大师平台 软件作者,OpenCV开发专家、OpenCV研习社创始人。
 最新文章