当前位置:   article > 正文

C#部署YOLOV5-6.1版本_c# yolov5

c# yolov5

1、参考链接:https://blog.csdn.net/weixin_49983900/article/details/124866704
yolov5下载地址:https://github.com/ultralytics/yolov5
在这里插入图片描述
2、C#调用yolo的可用方法
使用C#语言调用yolo,网上有好几种方法:
(1)导出onnx模型,c# 部署onnx分类模型。github的代码:[yolo-net-master],直接下载即可。
(2)opencv中调用,c++转c#。网上有一篇教怎么使用opencv调用yolo onnx 模型:https://blog.csdn.net/qq_35135771/article/details/116592203.openCV调用YOLOv5 ONNX模型。需要比较扎实的语言基础,通晓两种语言的转换。
(3)c#中调用python脚本,非常慢。调用前必须打开pycharm,并且保证python文件是可运行、编译无错的。调用时间大概在20s左右,不符合要求。调用代码如下:

 private void RunPythonScript(string sArgName, string args = "", params string[] teps)
        {
            Process p = new Process();
            //string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + sArgName;// 获得python文件的绝对路径(将文件放在c#的debug文件夹中可以这样操作)
            string path = @"F:\输入自己的路径\detect.py";//"H:\\python_codes\\0331test.py";
            p.StartInfo.FileName = @"F:\输入自己的路径\python.exe";//没有配环境变量的话,可以像我这样写python.exe的绝对路径。如果配了,直接写"python.exe"即可
            string sArguments = path;
            ArrayList arrayList = new ArrayList();
            //arrayList.Add("com4");
            //arrayList.Add(57600);
            //arrayList.Add("password");
            foreach (var param in arrayList)//添加参数
            {
                sArguments += " " + sigstr;
            }
            p.StartInfo.Arguments = sArguments;//python命令的参数
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();//启动进程
            Console.ReadLine();
            Console.WriteLine("执行完毕!");//查看是否执行了
   
        }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

————————————————
版权声明:本文为CSDN博主「weixin_49983900」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49983900/article/details/124866704
3、C# 部署onnx目标检测模型
打开yolov5 6.1中的 export.py文件,修改代码,选择自己训练出来的模型路径(导出onnx前要提前配置环境),然后运行就能导出一个onnx模型。
在这里插入图片描述
导出后的模型可以使用Netron软件查看:https://netron.app/,模型是带有切片的。
4、刚刚下载的yolov5-net-master:https://github.com/mentalstack/yolov5-net是直接可以在c#环境下运行的,修改一下文件在这里插入图片描述
将下面这行代码,更改为标签种类+1:
在这里插入图片描述
安装Microsoft.ML.OnnxRuntime安装包:
在这里插入图片描述

然后调成release进行运行,可得到以下测试结果:
在这里插入图片描述
5、实现自己模型的部署:
按照上面方法,将自己训练的pt或者其他模型转换成onnx格式进行导出,然后修改文件路径:
在这里插入图片描述
修改后即可得到自己文件的识别结果:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/311700
推荐阅读
相关标签
  

闽ICP备14008679号