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

Yolov8-obb转为.rknn后进行推理。输出的矩形中心点坐标、旋转角度与.pt推理时不一致。 #279

Open
Joazs opened this issue Feb 19, 2025 · 0 comments

Comments

@Joazs
Copy link

Joazs commented Feb 19, 2025

你好!我在根据Yolov8-obb的教程进行部署,我的模型输入是1280,reg_max=20。我使用ultraytic的官方代码转.onnx。然后转为.rknn时不能直接在你给我的C++上运行,因为我转出来只有一个输出,于是我在转.rknn时按照官方的模型输出格式,output取了四个输出以满足你例程的模型输出格式。改了以后demo可以运行了。

Image

但是发现输出的矩形中心点坐标、旋转角度不一致。然后我更改了postprocess.cc文件中的process_i8函数。将input_loc_len从64改为80,函数里面的16全部改为20;
还将angle_feature_ = (angle_feature_ - 0.25) * 3.1415927410125732改为angle_feature_ = fmod((angle_feature_+3.1415927410125732/2), 3.1415927410125732)。其中fmod是浮点数取余的操作(这里是参考了ultraytic的v8-obb推理代码)。改了angle_feature后旋转角度就与.pt对上了。但是矩形的中心坐标点差距还是很大,每张图片的框似乎都是有规律的发生偏移。

我怀疑我擅自取.onnx的输出会造成影响。所以我打算使用https://github.com/airockchip/ultralytics_yolov8/blob/main/ultralytics/engine/exporter.py进行转.onnx做一次尝试。希望你可以解答我的困惑,谢谢!

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

1 participant