chengzhengxin/groupsoftmax-simpledet

只看到对MSCOCO80类有效果提升,CCTSDB的3类怎么样呢?

Closed this issue · 5 comments

只看到对MSCOCO80类有效果提升,CCTSDB的3类怎么样呢?

好问题啊,本意要做数据类别增广的话也是要在新增加的类别上效果要达到比较好的结果才是符合需求的,但是没有说出来啊

不是什么好问题:
1、CCTSDB数据集没有找到标准的测试基准,找到了的话可以用repo中的模型测一下;
2、写groupsoftmax交叉熵损失函数的初衷是支持多数据集训练,这是解决不同标注基准数据集联合训练的有无问题。目的并不是在原有数据集上提升检测效果,只要检测效果下降不明显就能接受。

不是什么好问题:
1、CCTSDB数据集没有找到标准的测试基准,找到了的话可以用repo中的模型测一下;
2、写groupsoftmax交叉熵损失函数的初衷是支持多数据集训练,这是解决不同标注基准数据集联合训练的有无问题。目的并不是在原有数据集上提升检测效果,只要检测效果下降不明显就能接受。

  1. 不需要什么测试基准,随意找一个mAP的算法就可以看看算法效果。
  2. 支持多数据集训练的目的是希望一个模型能够同时输出两个数据集的标签。这不是解决什么有无问题,解决方案早就有,完全可以很简单的把两个数据集合在一起训练,没有标注的就当做负样本,这完全可以当做一个baseline(只不过效果可能会很差)。
  3. 我的理解是你是希望把两个不同标注基准的数据集联合一起训,最终一个模型的输出结果不比两个单独的模型效果明显下降。但是只看到MSCOCO的效果,没有看到CCTSDB的效果,你应该给出联合训练的模型在CCTSDB上检测的效果比单独用CCTSDB训的效果对比才能说明算法的有效性。

@beckhamchen 嗯,每个任务的目的都不一样。按照你的标准来看,目前GroupsoftMax交叉熵损失函数还达不到你的要求,不能够保证联合训练的模型,会比任意一个子集的效果都好,下降0.1~0.5个mAP是常态。站在你的角度,可以认为算法是无效的。

@beckhamchen 其实COCO+CCTSDB并不是一个好的参照,因为两个数据集类别之间没有任何交集,如果两个数据集类别之间有交集,一般会比任意一个子集效果都好。