jbwang1997 / OBBDetection

OBBDetection is an oriented object detection library, which is based on MMdetection.
Apache License 2.0
522 stars 112 forks source link

对roi_align模块的疑问 #99

Open qfwysw opened 2 years ago

qfwysw commented 2 years ago

感谢您提供优质的代码! 我将roi_align单独抽出来在我的项目中使用了,它的速度非常快,代码也十分易懂。 但是我的训练常常会停滞很长时间,我考虑到可能在我的项目中box常常会出现在image范围之外。我想请教一下roi_align在处理box在image之外这种情况的措施。 一共有三种情况

  1. 正常情况在image内,速度很快
  2. 有一部分在image内
  3. 完全不在image内 是否是因为box不在image之内影响了训练速度呢?那我需要做一些什么预防措施呢 期待您的解惑,万分感谢!
jbwang1997 commented 2 years ago

这个没有专门研究过,不过我认为采样点在图像之外不太会影响速度。感觉是在更大的特征图上截取特征消耗的时间更多。

qfwysw commented 2 years ago

目前在测试的时候如果box在image范围外可能插值不好做,速度非常慢,甚至说是卡住。 我只能将超出范围的box剔除才能正常训练

jbwang1997 commented 2 years ago

哦哦,这个现象我之前还真没有注意过,如果是RPN提出的建议区域应该不会有很多落在image之外的情况吧?

qfwysw commented 2 years ago

是的,但我目前生成box的方法是卡尔曼滤波。目前我的box是从雷达坐标系投影回image上面,有部分是超出了的。所以会有这种情况,我测试了一下box超出image越多,它需要的时间也越多。

qfwysw commented 2 years ago

是的,但我目前生成box的方法是卡尔曼滤波。目前我的box是从雷达坐标系投影回image上面,有部分是超出了的。所以会有这种情况,我测试了一下box超出image越多,它需要的时间也越多。

jbwang1997 commented 2 years ago

原本的MMDetection会对propsoal的位置进行判断,并尽量消除超出部分。因此有向框不太好进行判断,所以我将这部分代码舍弃掉了,那看来这部分功能还有待优化。

qfwysw commented 2 years ago

mmdetection这部分代码只消除超出部分吗,您能否发个代码位置呢,我想借鉴一下前辈的解决方案

jbwang1997 commented 2 years ago

在mmdetection的coder中会有clip_border的选项 https://github.com/open-mmlab/mmdetection/blob/master/mmdet/core/bbox/coder/delta_xywh_bbox_coder.py#L256