csuhan / s2anet

Official code of the paper "Align Deep Features for Oriented Object Detection"
375 stars 90 forks source link

Rotated IOU Loss Training showed NaN in custom dataset #107

Open HBioquant opened 3 years ago

HBioquant commented 3 years ago

Hi!请问用rotated IOU loss是不是容易引起梯度爆炸?我在自定义的数据上表现出的梯度爆炸的情况,刚开始是没问题的,就是loss有点抖,但是后面就直接nan了;IOU loss应该不可导吧,请问这个Rotated IOU loss是怎么实现可微的,我看上交的严老师课题组基于Ratated IOU loss不可导的问题发展了两套近似的loss,比较好奇你们怎么做到可导的。期待您的答复~

zhanggefan commented 3 years ago

我觉得IOU可导呀,百度那篇 https://arxiv.org/pdf/1908.03851.pdf (虽然这篇有点语焉不详)

严老师和杨学的GWD和KLD不是因为R-IOU不可导才做的近似,相反R-IOU本身是可导的,但是反向传播的实现有很多计算图形学的知识,整体更偏工程一些,而且百度19年也已经搞过了。并且单纯的IOU Loss在框不重合时有梯度为0的问题,直框检测里也说明DIOU、CIOU相比与纯IOU也都是很有优势的,说明近似IOU不一定比纯IOU差。

当然我也很好奇,如果把GWD、KLD和RIOU Loss结合在一起(像G、D、CIOU那样后面加个IOU Loss项)会有多少提升。希望能有高人答疑解惑。

csuhan commented 3 years ago

https://github.com/csuhan/s2anet/blob/master/configs/rotated_iou/README.md