写点什么

用 C++ 和 OpenCV 实现视频目标检测(YOLOv4 模型)

发布于: 2021 年 04 月 25 日
用C++ 和OpenCV 实现视频目标检测(YOLOv4模型)

据说,现在很多小区都上线了 AI 抓拍高空抛物的黑科技,可以自动分析抛物轨迹,用来协助检查很多不文明行为

你想不想知道,这类检测视频中目标物的黑科技是怎么实现的呢?

虽然不同场景下的目标检测模型训练不同,但底层技术都是一样的。

这里就一步步来教一下大家如何用 C++ 和 OpenCV 实现视频目标检测(YOLOv4 模型)。

1.     实现思路

读取视频流,载入模型,执行推理,找出所有目标及其位置,最后绘制检测结果。

2.     实现步骤

读取摄像头视频流或本地视频文件:


载入模型:


执行推理:


找出所有目标及其位置:


绘制检测结果:



(a)测试图 1YOLOv4


(b)测试图 1YOLOv4-tiny


(c)测试图 2YOLOv4


(d)测试图 2YOLOv4-tiny

图 YOLOv4 与 YOLOv4-tiny 模型的检测结果


3.     总结

YOLOv4 的检测精度优于 YOLOv4-tiny。经 GPU 加速后,模型推理速度明显提升,YOLOv4 的推理速度提高了约 10 倍,YOLOv4-tiny 的推理速度提高了约 4.8 倍。

若想了解更多关于视频检测或文本检测的内容,可以阅读《OpenCV 4 机器学习算法原理与编程实战》一书。


▊《OpenCV 4 机器学习算法原理与编程实战》

朱斌 著


  • 注重理论结合实战

  • 兼顾经典与前沿算法

  • 应用案例翔实

  • 学习路线清晰


本书主要面向 OpenCV 领域的研究与开发人员,采用原理结合实战的方式,介绍 OpenCV 4 的机器学习算法模块与深度神经网络模块中的核心算法原理与 C++编程实战。全书共 10 章, 第 1~3 章, 介绍 OpenCV 4 的基础知识、基本图像操作和机器学习基础知识;第 4~8 章,介绍 K-means、KNN、决策树、随机森林、Boosting 算法和支持向量机等机器学习算法与编程实战;第 9~10 章,介绍神经网络与深度神经网络的基本原理与编程实战,并提供了不同深度学习模型的部署示例代码。

本书基本聚焦于机器学习在计算机视觉领域的应用,不要求读者具有相应的知识背景,在必要时书中会介绍相关的基本概念。因此,本书既可以作为相关专业学生的实验教材,也可以作为研究人员或工程技术人员的参考资料。

用户头像

还未添加个人签名 2019.10.21 加入

还未添加个人简介

评论

发布
暂无评论
用C++ 和OpenCV 实现视频目标检测(YOLOv4模型)