c# - 如何在 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);
解决方案
推荐阅读
- python - 使 run-clang-tidy 排除文件夹
- azure-log-analytics - Azure Log Analytics - 扩展属性
- xamarin - 带有 Visual Studio 社区的 Mac OS 上的 XF iOS 项目 - XAML 热重载已禁用,因为您的 iOS 链接器设置…是不受支持的消息
- mysql - SQL:为 ID 高于先前且满足条件的条目选择不同的计数
- c# - ProjectLombok 的 C# 替代方案 - “不可变设置器”
- c++ - 在类之间传递函数指针作为参数
- firebase - Firebase 项目在本地工作,但部署的版本输出 CORS 错误
- firebase - 使用 cloud_firestore 和 firebase_core 解决 Flutter 版本失败
- python - 从本地读取 plotly-latest.min.js
- javascript - 数组删除最后一个元素而不是删除的一个反应 useState