OpenCV4.4加载C++版和pytorch版YOLOv3及YOLOv4实现自定义目标检测

opencv在4.4版本添加了对yolov4的支持,网上也有相应的教程,但是目前中文网上的教程大都基于C++实现,或者是用cv2.dnn.readNetFromDarknet.这个比较low-level的接口,此篇将博客记录一种更简单的实现方式,采用·cv2.dnn_DetectionModel 接口(opencv4.1.2版本开始提供),实现对AlexeyAB版本和Ultralytics版本的YOLOv3和YOLOv4以及其他变体进行检测,同事支持自定义数据集情况下训练得到的模型。

1.Pre-requests

  1. yolov3.weights, yolov3.cfg
  2. yolov4.weights, yolov4.cfg
  3. https://github.com/AlexeyAB/darknet
  4. https://github.com/ultralytics/yolov3/
  5. labelImg(制作YOLO格式自定义数据集)
  6. coco.names
  7. 测试图片,笔者采用的图片来自百度百科(广州市交通治堵方案):OpenCV4.4加载C++版和pytorch版YOLOv3及YOLOv4实现自定义目标检测_第1张图片

2. Codes

废话不多说,直接上代码:

# -*- coding: utf-8 -*-

你可能感兴趣的:(机器学习,图像,yolov3,opencv,yolov4)