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

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

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源码在这里。



有不当之处,欢迎批评指正~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存