jbwang1997 / OBBDetection

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

Iteration Plan for OBBDetection 2021-11-19 #72

Open jbwang1997 opened 2 years ago

jbwang1997 commented 2 years ago

Iteration Plan for OBBDetection 2021-11-19

BboxToolkit:

OBBDetection

It's very welcome to propose PRs.

chandlerbing65nm commented 2 years ago

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

liuyanyi commented 2 years ago

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

jbwang1997 commented 2 years ago

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

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

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

liuyanyi commented 2 years ago

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

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

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

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

jbwang1997 commented 2 years ago

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

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

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

liuyanyi commented 2 years ago

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

liuyanyi commented 2 years ago

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

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

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

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