点击上方 蓝字 关注我们
微信公众号: 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读者