DetectionTeamUCAS / FPN_Tensorflow

This is a tensorflow re-implementation of Feature Pyramid Networks for Object Detection.
https://github.com/DetectionTeamUCAS/FPN_Tensorflow
MIT License
347 stars 132 forks source link

关于训练单类飞机的性能问题 #113

Closed wytcsuch closed 4 years ago

wytcsuch commented 4 years ago

您好,我这里用的是DOTA数据集仅拿出来包含飞机的数据集来进行训练,对于您给的cfg中的参数文件,我只更改了学习率为0.0025,因为我原来跑detectron的时候一直用的这个学习率。 0-80k:0.0025 80k-100k:0.00025 100k - 150k: 0.000025 验证时,选thresh=0.7计算recall和pre,结果如下: iter recall pre ap 10000 0.89 0.83 0.91 20000 0.868 0.918 0.916 30000 0.864 0.935 0.917 40000 0.869 0.943 0.917 ... 110000 0.854 0.952 0.902 ... 150000 0.854 0.952 0.901

这里有几个疑问: 我看tensorboard中的各个loss曲线,都是很正常的下降的,训练都是正常的,那为什么recall值几乎不怎么提升? 另外就ap值来看 反而是20000- 40000的训练结果更好,为什么呢?不知道您训练dota中飞机的时候recall值是多少,能不能给出一个参考。谢谢

yangxue0827 commented 4 years ago

我没有单独训练过某一类。reall一般和precision是相反的过程,前期高recall是牺牲精度得来的,随着训练进行精度会上去导致召回率会略微下降。另外飞机这一类比较简单,容易过拟合,所以不需要训练太久,可以吧降学习率的地方改的小一点。 @wytcsuch

wytcsuch commented 4 years ago

我没有单独训练过某一类。reall一般和precision是相反的过程,前期高recall是牺牲精度得来的,随着训练进行精度会上去导致召回率会略微下降。另外飞机这一类比较简单,容易过拟合,所以不需要训练太久,可以吧降学习率的地方改的小一点。 @wytcsuch

谢谢!

ttianwang commented 4 years ago

你好,我也是单独训练的飞机目标,请问你有出现过训练几次结果差的比较多的情况吗 @wytcsuch