jbwang1997/OBBDetection

Iteration Plan for OBBDetection 2021-11-19

jbwang1997 opened this issue · 7 comments

Iteration Plan for OBBDetection 2021-11-19

BboxToolkit:

  • 600 cropping config of DOTA(1.0, 1.5, 2.0) for imgsplit.py.
  • visualize.py supporting json config.
  • Updating HRSCio.py #62

OBBDetection

It's very welcome to propose PRs.

Looking forward to the implementation of GWD and KLD in this repo.

你好,我正在基于OBBDetection移植s2anet,代码在s2anet,但是在12个epoch下精度目前卡在72.7。查看原始版本的s2anet的训练log发现似乎数据集切分后的图像数量有区别,这边batchsize8的时候每Epoch1600步,s2a里是2631步,我准备再尝试一下2x调度下精度能否正常。您能帮忙看看是哪里出了问题吗,感谢。

你好,我正在基于OBBDetection移植s2anet,代码在s2anet,但是在12个epoch下精度目前卡在72.7。查看原始版本的s2anet的训练log发现似乎数据集切分后的图像数量有区别,这边batchsize8的时候每Epoch1600步,s2a里是2631步,我准备再尝试一下2x调度下精度能否正常。您能帮忙看看是哪里出了问题吗,感谢。

我看了一下s2anet的2631步可能是因为没有过滤没有目标的图像块,如果不过滤没有目标图像块的话,训练图片为21046张,除以8正好为2631,这个可以参考issue30

现阶段代码非常工整,不知道是否考为这个项目提pr?

你好,我正在基于OBBDetection移植s2anet,代码在s2anet,但是在12个epoch下精度目前卡在72.7。查看原始版本的s2anet的训练log发现似乎数据集切分后的图像数量有区别,这边batchsize8的时候每Epoch1600步,s2a里是2631步,我准备再尝试一下2x调度下精度能否正常。您能帮忙看看是哪里出了问题吗,感谢。

我看了一下s2anet的2631步可能是因为没有过滤没有目标的图像块,如果不过滤没有目标图像块的话,训练图片为21046张,除以8正好为2631,这个可以参考issue30

现阶段代码非常工整,不知道是否考为这个项目提pr?

好的,我周末测试一下,尽量对齐精度,整理一下代码再提pr

@liuyanyi 您好,我今天仔细地看了一下,发现造成精度不对齐也许不是裁图问题,s2anet在训练地时候应该也将没有目标地图像块过滤掉。

主要问题还是在于对有向目标地定义方面,OBBDetection定义有向目标逆时针旋转方向为正,而S2Anet中定义顺时针方向为正,这导致在coder、IoU calculator、alignconv处都有一定地变换。

我发现您地代码中coder使用的还是S2ANet的,这与OBBDetection传入的gt_obboxes定义的角度有出入,并且,alignconv处的xr,yr计算公式也需要发生变化。

哦哦,之前没注意过iou calculator和Align Conv,我取看看,感谢

@liuyanyi 您好,我今天仔细地看了一下,发现造成精度不对齐也许不是裁图问题,s2anet在训练地时候应该也将没有目标地图像块过滤掉。

主要问题还是在于对有向目标地定义方面,OBBDetection定义有向目标逆时针旋转方向为正,而S2Anet中定义顺时针方向为正,这导致在coder、IoU calculator、alignconv处都有一定地变换。

我发现您地代码中coder使用的还是S2ANet的,这与OBBDetection传入的gt_obboxes定义的角度有出入,并且,alignconv处的xr,yr计算公式也需要发生变化。

果然是角度的问题,调了角度之后在OBB的角度定义下可以达到74.0,已经提了一个pr。