What are the advantages of setting proj_xy? #725
-
mmrotate/mmrotate/models/task_modules/coders/delta_xywht_rbbox_coder.py Lines 165 to 170 in 4922856 oc define is False, and le90 and le135 define is True |
Beta Was this translation helpful? Give feedback.
Answered by
yangxue0827
Feb 10, 2023
Replies: 1 comment
-
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
vansin
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
这个应该是有一段历史的:
oc定义法应该是我最早在做舰船检[1]的时候引入的,当时采用的框的编解码是最简单那种,也就是对应
proj_xy=False
;le135和le90其实都是长边定义法只不过取值范围不同,le135最早我实在RRPN[2]文章中看到的,至于它们都用了
proj_xy=True
,是出自RoI Transformer[3]文章的设置:主要是考虑相对偏移量。
le135和le90之前其实还有一个差异,就是
edge_swap
,le135设置的是False
,le90则是True
。总结一下就是oc:
edge_swap=False, proj_xy=False
le90:
edge_swap=True, proj_xy=True
le135:
edge_swap=False, proj_xy=True
mmrotate都是按照原始出处设置的,其实所有oc的方法采用le90或le135的设置都会有性能的提升。
[1] Automatic ship detection in remote sensing images from google earth of complex scenes based on multiscale rotation dense feature pyramid networks, Remote Sensing, 2018
[2] Arbitrary-Oriented Scene Text Detection via Rotation Proposals, TMM, 2018
[3] Learning RoI Transformer f…