YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测

        在目标检测得领域中,yolo系列无疑是最强得目标检测框架,而其中得yolov5更是扛把子得存在,虽然有着众多的yolo系列版本,但是在工业领域中yolov5还是用的最多,yolov5 yyds,,,先奉献上我的膝盖。。。。0.0        

        在模型加速得过程中,GPU得使用无疑是必须使用。不会GPU也不好意思说自己搞这些得吧。在GPU加速中TensorRT无疑是使用的最多的,加速快的一笔。

        在工业检测中,大多数都是C#+C++,其中C#做界面,C++写算法,这个就要涉及到其中的数据交互得问题,C++导出dll,C#调用其中得dll,将结果绘制到界面上。这一般是两个小组完成的,C#小组完成C#部分,C++完成C++部分。同时,也有使用QT+C++得,QT做界面也不错。总之多种多样吧。

        C#与C++互动大家可以参考下面这位大佬得博客。我也是参考他的博客得。

参考文献:

60、在Visual Studio 2019 环境下,使用C#调用C++生成的dll实现yolov5的图片检测_sxj731533730的博客-CSDN博客_c# yolov5基本思想:写了一个简单的c#调用c++的dll库,完成yolov5检测图片的分类一、创建一个c++工程,详细的构建和配置环境就不详细累述了,贴代码吧,导入opencv和ncnn库即可,因为需要考虑使用C#调用,所以改的代码尽量迎合C#调用的风格main.cpp#include "connect.h" int main(int argc, char** argv){ cv::Mat image = cv::imread("F:\\sxj\\predictiohttps://sxj731533730.blog.csdn.net/article/details/121678062

        在C#中得编译,paddlepaddle做的挺不错得,大家可以去编译一下。。这是很久之前做的编译。现在已经不再用paddlepaddle了。

基于paddledetection+C#+emgucv目标检测_汤姆or杰瑞的博客-CSDN博客基于paddledetection或者paddlex如何训练模型就不再这说了,具体参考官方文档,接下来主要是模型如何本地部署并用C#进行调用。我用的官方给的从PaddleDetection中导出的YOLOv3模型,大家自行下载具体链接:https://bj.bcebos.com/paddlex/deploy2/models/yolov3_mbv1.tar.gz安装cmake+opencv+paddle+预测库,自行编译,不过官方给的demo里面有个小bug,需要自己自行修改。接下来在C#进行单幅图.https://blog.csdn.net/zhangdaoliang1/article/details/118991943言归正传,下面我们使用C++导出dll,其实主要的操作都是参考上面那位大佬的,基本步骤都是一致得。下面展示一下效果:

单幅图检测:

YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测_第1张图片

 

视频流检测:

YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测_第2张图片

 

其中还存在一个问题没有实现多batch得图像检测,只能是单个图像得检测。。。。。。。。。。

下面贴上上面大佬的代码(我的代码和上面大佬一致,就不贴上了。)

https://pan.baidu.com/s/1RVh1XtqvFuWuHyuZKxuzDw?pwd=vsxz 

你可能感兴趣的:(AI-训练+部署,c#,目标检测,YoloV5,tensorRT)