open-mmlab / mmrotate

OpenMMLab Rotated Object Detection Toolbox and Benchmark
https://mmrotate.readthedocs.io/en/latest/
Apache License 2.0
1.88k stars 558 forks source link

[Bug] 在验证时想要用预测值和真实值的水平框计算iou应该怎么做? #1037

Open XDEDLS opened 5 months ago

XDEDLS commented 5 months ago

Prerequisite

Task

I'm using the official example scripts/configs for the officially supported tasks/models/datasets.

Branch

master branch https://github.com/open-mmlab/mmrotate

Environment

""

Reproduces the problem - code sample

""

Reproduces the problem - command or script

“python test.py”

Reproduces the problem - error message

""

Additional information

感谢大佬们出色的工作,有个问题想咨询一下,我现在想在验证mAP的时候修改iou的计算方式,使其变成bbox1和bbox2的最小外接水平矩形的iou,应该如何做?

CrazyBrick commented 5 months ago

评估有个test模式,会把预测存成txt,你先把结果转成最小外接,再调用那个dota devkit的评估工具,对预测值和参考值进行计算

XDEDLS commented 5 months ago

评估有个test模式,会把预测存成txt,你先把结果转成最小外接,再调用那个dota devkit的评估工具,对预测值和参考值进行计算

感谢大佬的回复!我的水平实在不够,请问一下您说的这个评估是怎么进行的?我没有找到这个程序

CrazyBrick commented 5 months ago

评估有个test模式,会把预测存成txt,你先把结果转成最小外接,再调用那个dota devkit的评估工具,对预测值和参考值进行计算

感谢大佬的回复!我的水平实在不够,请问一下您说的这个评估是怎么进行的?我没有找到这个程序

非大佬,刚好用过。就是测试的脚本,有一条命令是用于提交到DOTA官网的,在测试集上进行的,所以会生成预测的txt文件还有zip包。后面那个,你检索一下dota本地验证集评估的代码,然后去更换路径就可以了

gbdjxgp commented 5 months ago

Prerequisite

Task

I'm using the official example scripts/configs for the officially supported tasks/models/datasets.

Branch

master branch https://github.com/open-mmlab/mmrotate

Environment

""

Reproduces the problem - code sample

""

Reproduces the problem - command or script

“python test.py”

Reproduces the problem - error message

""

Additional information

感谢大佬们出色的工作,有个问题想咨询一下,我现在想在验证mAP的时候修改iou的计算方式,使其变成bbox1和bbox2的最小外接水平矩形的iou,应该如何做?

参考mmrotate\core\evaluation\eval_map.py文件中的tpfp_default函数中的box_iou_rotated函数(大概第60行)

XDEDLS commented 5 months ago

评估有个test模式,会把预测存成txt,你先把结果转成最小外接,再调用那个dota devkit的评估工具,对预测值和参考值进行计算

感谢大佬的回复!我的水平实在不够,请问一下您说的这个评估是怎么进行的?我没有找到这个程序

非大佬,刚好用过。就是测试的脚本,有一条命令是用于提交到DOTA官网的,在测试集上进行的,所以会生成预测的txt文件还有zip包。后面那个,你检索一下dota本地验证集评估的代码,然后去更换路径就可以了

万分感谢,找到了,在test.py里有一个参数--format-only

XDEDLS commented 5 months ago

Prerequisite

Task

I'm using the official example scripts/configs for the officially supported tasks/models/datasets.

Branch

master branch https://github.com/open-mmlab/mmrotate

Environment

""

Reproduces the problem - code sample

""

Reproduces the problem - command or script

“python test.py”

Reproduces the problem - error message

""

Additional information

感谢大佬们出色的工作,有个问题想咨询一下,我现在想在验证mAP的时候修改iou的计算方式,使其变成bbox1和bbox2的最小外接水平矩形的iou,应该如何做?

参考mmrotate\core\evaluation\eval_map.py文件中的tpfp_default函数中的box_iou_rotated函数(大概第60行)

我找到了这个函数,但是它涉及mmcv库的调用,如果对这个仿照写一个矩形框的会比较复杂,总而言之谢谢你