Open succlz123 opened 1 year ago
我尝试了 opencv 4.5.3 4.6.0 4.7.0 版本都不行。
我使用 yolov3 yolov4 weight 可以正常识别物体。
然后想要使用 yolov5 模型来测试,首先使用官方的转换脚本把官方的 release 里的 pt 转成 onnx,使用 opencv 加载出错。原因是 pytroch 兼容性问题,我修复后成功转换出 onnx 给 opencv,也没有加载错误了。理论上这一步 模型加载是没问题了,但是 forward 后, outputs 里面一直是 -1,没有检查到任何东西。尝试下载你的模型也不行。真是奇怪,v3 v4 都正常的。 我是 cv 新手,目前在探索学习阶段。
dnnNet.forward(outputs, outputLayers);
研究了下应该是 不同版本之间模型有一些差别,v3 v4 java 中可以通过 mat.rows 拿到对应的 rows,但是 v5 中是另外种方式,c++ 中我看直接指针操作了。但是不懂怎么在 java 中做对应的操作取到评分。
opencv我使用的版本是4.5.4.60
我尝试了 opencv 4.5.3 4.6.0 4.7.0 版本都不行。
我使用 yolov3 yolov4 weight 可以正常识别物体。
然后想要使用 yolov5 模型来测试,首先使用官方的转换脚本把官方的 release 里的 pt 转成 onnx,使用 opencv 加载出错。原因是 pytroch 兼容性问题,我修复后成功转换出 onnx 给 opencv,也没有加载错误了。理论上这一步 模型加载是没问题了,但是 forward 后, outputs 里面一直是 -1,没有检查到任何东西。尝试下载你的模型也不行。真是奇怪,v3 v4 都正常的。 我是 cv 新手,目前在探索学习阶段。