基于VS2017+OpenCV,C++搭建NanoDet-Plus轻量级目标检测模型并训练(一)

1.绪论

官方GitHub地址:https://github.com/RangiLyu/nanodet
中文知乎地址: https://zhuanlan.zhihu.com/p/449912627

性能如下图,在一众轻量化目标检测算法中是很有竞争力的。
但是官方给的demo没有基于C++ opencv调用的,因此就有了这篇博客。

基于VS2017+OpenCV,C++搭建NanoDet-Plus轻量级目标检测模型并训练(一)

; 2.环境准备

系统:Win10
VS2017
opencv:4.5.1GPU版本

3.环境配置

前面环境搭建可以依照官方的教程一步步进行,执行完 python setup.py develop输出这个就是成功了。

基于VS2017+OpenCV,C++搭建NanoDet-Plus轻量级目标检测模型并训练(一)

; 4.模型.pth转.onnx格式

onnx格式有着很强的移植能力,并且再众多开发板和嵌入式平台上都有着很好的支持,官方也贴心的提供给了转换工具,在tools/export_onnx.py。

5.OpenCV调用

我这边的opencv版本是4.5.1,基于CUDA11重新编译了,需要的朋友可以从这里下载。
opencv调用模型核心代码:

    this->net = readNet(model_path);
    this->net.setPreferableBackend(DNN_BACKEND_CUDA);
    this->net.setPreferableTarget(DNN_TARGET_CUDA);

如果没有CUDA的同学,可以将DNN_BACKEND_CUDA和DNN_TARGET_CUDA改成DNN_BACKEND_OPENCV和DNN_TARGET_CPU。我是直接把调用和推理的过程封装了,模型调用成功会返回true。项目demo源码在这里
有不当之处,欢迎批评指正~

Original: https://blog.csdn.net/weixin_44826958/article/details/123995733
Author: 低空飞鱼
Title: 基于VS2017+OpenCV,C++搭建NanoDet-Plus轻量级目标检测模型并训练(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/704911/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球