Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android 上使用 opencv 加载 onnx 模型,总是返回 -1 ,无法检测任何物体 #5

Open
succlz123 opened this issue Apr 4, 2023 · 2 comments

Comments

@succlz123
Copy link

succlz123 commented Apr 4, 2023

我尝试了 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);
@succlz123 succlz123 changed the title Android 上使用 opencv 加在 onnx 模型,总是返回 -1 ,无法检测任何物体 Android 上使用 opencv 加载 onnx 模型,总是返回 -1 ,无法检测任何物体 Apr 4, 2023
@succlz123
Copy link
Author

研究了下应该是 不同版本之间模型有一些差别,v3 v4 java 中可以通过 mat.rows 拿到对应的 rows,但是 v5 中是另外种方式,c++ 中我看直接指针操作了。但是不懂怎么在 java 中做对应的操作取到评分。

@Transformer-man
Copy link
Owner

opencv我使用的版本是4.5.4.60

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants