将 YOLO7 模型从 pytorch python 转换为 onnx unity

问题描述 投票:0回答:0

我正在尝试使用这个 yolo7 model 与 Barracuda 结合,来检测物体(工作中的客户特别要求这个模型)。

在 python 下运行示例时,对于每个帧或图像,它会导出一行(传递 --save-txt 标志时),其中包含框尺寸和数字,我认为对应于输出类型的类或标签(是马还是汽车等)。

我使用 repo 中提供的代码将模型导出为 onnx 模型:

python export.py --weights yolov7-tiny.pt --grid --end2end --simplify \
--topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 640 --max-wh 640

但是,我注意到如果我统一导入它,它会发出有关不支持Resizeend2end Flatten不支持的警告。两者都记录在here.

我从导出标志中删除了 --end2end,这删除了警告,对于调整大小警告,我遵循了here

的建议

Opset 9 意味着 Split 将是版本 2

所以我在 export.py 中切换了这个 line 以使用版本 9 而不是 12

这消除了所有警告,然而,一旦导入到 unity 中,梭子鱼模型的输出形状现在如下所示: n:1 h:1 w:85 c:25200

所以,我有以下问题:

1- 25200 是什么意思?是输出可以拥有的标签数量吗?

2-我如何继续,提取框和标签,我期望形状包括每张图像中的检测数量、标签名称、分数、边界框。

但是查看源代码代码我相信处理正在发生的地方,真的很乱,我无法弄清楚它是如何进行这种转换的,或者如何将它移植到 csharp 中。

任何提示将不胜感激。

python unity3d machine-learning pytorch barracuda
© www.soinside.com 2019 - 2024. All rights reserved.