专栏名称: OpenCV学堂
一个致力于计算机视觉OpenCV原创技术传播的公众号!OpenCV计算机视觉与tensorflow深度学习相关算法原创文章分享、函数使用技巧、源码分析与讨论、,计算机视觉前沿技术介绍,技术专家经验分享,人才交流,学习交流。
目录
相关文章推荐
科幻世界SFW  ·  AI评《三体》:解锁科幻宇宙的新视角 ·  2 天前  
51好读  ›  专栏  ›  OpenCV学堂

PyQT5开发之YOLOv8多线程多路视频推理设计与实现

OpenCV学堂  · 公众号  ·  · 2024-05-05 22:09

正文

引言

在实际项目中经常会需要有多个监控视频流输入到应用程序,完成多路视频中模型推理与显示,本文基于PyQT5实现了多路视频的推理与实时界面刷新,主要是基于QThread线程与信号与槽机制实现了线程与主界面之间的数据交互与通信。

架构与界面设计

最终运行界面如下


支持YOLOv8对象检测与姿态评估模型的线程推理,两个模型分别跑在不同的线程中,通过信号与槽机制实现了模型推理结果回传到主线程,并完成界面实时显示,线程之间相互独立,均可单独启动推理与刷新各自显示的PyQT5组件。完整的架构设计如下:


推理线程实现

基于OpenCV实验大师Python SDK,三行代码就可以实现YOLOv8对象检测与姿态评估的模型推理,然后构建自定义的QThread线程类分别实现对象检测线程与姿态评估线程,同时通过自定义信号实现数据发送到主线程(界面线程),完成整个流程的构建,PyQT5的界面类这里就不再赘述了,感兴趣请查看B站相关视频教程:
https://www.bilibili.com/video/BV1u2421K7yc
YOLOv8对象检测推理线程代码


YOLOv8姿态评估推理线程代码

运行结果




支持各种定义的YOLOv8模型推理与部署,支持一键设置视频数据源与推流地址,轻松实现多模型多路视频推理。
系统化学习直接扫码查看

推荐阅读

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

总结 | OpenCV4 Mat操作全接触

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

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

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







请到「今天看啥」查看全文