C#部署Yolov5步骤

1.导出ONNX模型

  1. 通过yolov5中的export.py导出ONNX模型。将export.py文件中的参数按训练的修改,如:‘–data’、‘–weights’、‘–imgsz’。点击运行。

2.C#调用yolo的

1. 下载C#运行YOLOv5的代码

1.github中有一个使用C#运行YOLOv5的代码:Yolov5Net

2. 安装程序包

  1. 安装如下第一个软件包。

软件包
需要安装以下库:
Microsoft.ML.OnnxRuntime.Gpu (ONNX运行时)
OpenCvSharp4.Extensions (输出图像框定对象使用)
OpenCvSharp4.Windows (输出图像框定对象使用)

3. 修改YoloCocoP6Model中的参数

  1. 我用yolov5-v6.1版本(yolov5-v5.0版本报超出索引,不知道为啥)。
  2. yolov5-v6.1版本需要用YoloCocoP6Model.cs,修改参数:
    1)将图片宽高(Width/Height)改为与模型训练/测试的相同。
    2)Dimensions为:标签种类+5。
    3)将Labels函数中的参数改为自己的标签。

参数修改

4.C#使用ONNX模型

  1. ONNX通过scorer调用,路径为绝对路径,使用的yolov5-v6.1版本。使用v5.0报错。
  2. 图片路径也为绝对路径。
  3. scorer = new YoloScorer(@“D:\skye\Yolov5Net-v1.0\Yolov5NetW\bin\best.onnx”, SessionOptions.MakeSessionOptionWithCudaProvider(0));—使用GPU检测。

在这里插入图片描述参考文章:
参考文章

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在C#部署YOLOv8,你可以按照以下步骤进行操作: 1. 首先,你需要将YOLOv8的模型文件和权重文件下载到本地。你可以从YOLO官方的GitHub仓库中获取这些文件。 2. 在C#项目中,你需要使用一个深度学习框架,如TensorFlowSharp、CaffeSharp或ONNX Runtime来加载和运行YOLOv8模型。这里以TensorFlowSharp为例。 3. 安装TensorFlowSharp NuGet包,可以使用Visual Studio的NuGet包管理器来完成。 4. 在你的C#代码中,使用TensorFlowSharp来加载YOLOv8模型并进行推理。首先,你需要创建一个TensorFlow会话,并加载YOLOv8的模型文件和权重文件。 ```csharp using TensorFlow; // 创建会话 var session = new TFSession(); // 加载模型 var graph = new TFGraph(); graph.Import(File.ReadAllBytes("path/to/your/model.pb")); // 加载权重 var session = new TFSession(graph); session.GetRunner().AddInput(graph["input"][0], tensor).Fetch(graph["output"][0]).Run(); ``` 5. 接下来,你需要将输入图像转换成模型所需的格式。YOLOv8期望输入图像为416x416像素大小,并且需要进行一些预处理操作,如归一化和填充。 ```csharp // 加载和预处理图像 var image = Image.Load("path/to/your/image.jpg"); var resizedImage = image.Resize(new Size(416, 416)); var tensor = resizedImage.ToTensor(); ``` 6. 最后,你可以使用加载的模型进行推理,并获取检测到的目标框和类别信息。 ```csharp // 进行推理 var outputs = session.GetRunner().AddInput(graph["input"][0], tensor).Fetch(graph["output"][0]).Run(); // 解析输出结果 var boxes = outputs[0].GetValue() as float[,,]; var classes = outputs[1].GetValue() as float[,]; var scores = outputs[2].GetValue() as float[,]; // 处理结果 // ... ``` 以上是一个基本的示例,你可以根据实际情况进行调整和优化。请注意,这只是一个简单的示例,实际上在生产环境中部署YOLOv8可能涉及更多的细节和步骤

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值