最近,YOLOv5 扩展了对 OpenCV DNN 框架的支持,这增加了使用这种最先进的
对象检测模型的优势——Yolov5 OpenCV DNN 模块.
我们已经对 YOLOv5 进行了一段时间的实验,它有很多正在进行的有趣的事情。
我们正在阐明我们的发现,其中包括以下内容。
✅ 使用 Ultralytics Repo 和 PyTorchHub 进行 Yolov5 推理
✅ 将 YOLOv5 PyTorch 模型转换为 ONNX
✅ 使用 YOLOv5 和 OpenCV DNN 模块进行目标检测。
为什么使用 OpenCV 进行深度学习推
理?
OpenCV 中 DNN 模型的可用性使得执行推理变得非常容易。想象一下,您在生产
中有一个旧的对象检测模型,并且您想改用这个新的最先进的模型。您可能必须
安装多个库才能使其正常工作。
此外,您的生产环境可能不允许您随意更新软件。这就是 OpenCV DNN 模块的亮
点所在,因为它具有用于执行深度学习推理的单一 API,并且几乎没有依赖项。
如果您使用 OpenCV DNN,您可以将旧模型换成最新模型,只需对生产代码进行
很少的更改。
其次,如果你想用 C++部署一个深度学习模型,它变得很麻烦,但是使用 OpenCV
在 C++中部署是毫不费力的。
最后,OpenCV CPU 实现针对英特尔处理器进行了高度优化,因此这可能是考虑
使用 OpenCV DNN 进行推理的另一个原因。
为什么选择 YOLOv5?
YOLOv5 快速且易于使用。它基于 PyTorch 框架,该框架拥有比 Yolo v4 Darknet
更大的社区。安装简单明了。与 YOLOv4 不同,您不必费力地从源代码构建它,
即使有 CUDA 支持也不行。