1.绪论
官方GitHub地址:https://github.com/RangiLyu/nanodet
中文知乎地址: https://zhuanlan.zhihu.com/p/449912627
性能如下图,在一众轻量化目标检测算法中是很有竞争力的。
但是官方给的demo没有基于C++ opencv调用的,因此就有了这篇博客。
; 2.环境准备
系统:Win10
VS2017
opencv:4.5.1GPU版本
3.环境配置
前面环境搭建可以依照官方的教程一步步进行,执行完 python setup.py develop
输出这个就是成功了。
; 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/
转载文章受原作者版权保护。转载请注明原作者出处!