首页 > 解决方案 > 如何在 C# 中使用 tiny-yolo 和 OpenCvSharp Wrapper?

问题描述

我想用 c# 在我的网络摄像头输入上进行对象识别。首先,我可以用 yolov3 做到这一点,但它太慢了。所以我想用tiny-yolov3试试。但是所有的输出似乎一直都是“不是数字”,因此没有检测到任何物体。将代码从 yolov3 更改为 tiny-yolov3 时,我只将模型和权重文件路径更改为 tiny-yolov3 的路径。我是否必须进行其他更改?输出层的数量应该相同。

我使用以下代码来启动和推进神经网络:

capture.Read(frame);

var blob = CvDnn.BlobFromImage(frame, 1.0 / 255, new Size(416, 416), new Scalar(), true, false);

var net = Net.ReadNetFromDarknet(cfg, weights);

net.SetPreferableTarget(0);

net.SetInput(blob);

var outNames = net.GetUnconnectedOutLayersNames();

var outs = outNames.Select(_ => new Mat()).ToArray();

net.Forward(outs, outNames);

标签: c#yoloobject-recognitionopencvsharp

解决方案


推荐阅读