这是以色列特拉维夫大学和Microsoft Research搞的一篇关于自监督预训练检测任务的文章,DETReg: Unsupervised Pretraining with
Region Priors for Object Detectionh, 代码https://www.amirbar.net/detreg/
他们关注的是目标检测自监督训练领域,他们觉得当前如SwAV, ReSim, InsLoc这些工作,给DETR检测网络做自监督预训练时只是训练了CNN主干,而检测部分没有预训练,限制了自监督训练期间学习到更好表达的能力,因此他们的工作就是在自监督预训练阶段,训练整个DETR网络,同时学习定位目标和编码目标。文中也提到了一个和他们有类似想法的工作——UP-DETR, 这个方法也是预训练整个DETR, 显著的区别是它的region是随机生成的。
该文的第一张图就显示,用DETReg做预训练后,模型是具备目标定位的能力的
DETReg包含2个任务,目标定位任务,目标嵌入任务
在目标定位任务中,他们使用简单的Region Proposal方法,如Selective Search,使用如颜色连续性,层次,边缘特征来提取proposal, 不管目标类别,要求recall。通过排序或者随机选取一部分作为region. 目标嵌入任务的目标是预测region的自监督图像编码,本文是用SwAV提取region的特征来蒸馏,它希望检测网络学习到图像到SwAV特征的嵌入。
这篇文章使用的检测网络是DETR, 讲的故事是怎么用自监督的方法预训练DETR,要预训练完整的DETR, 就需要Region和region图像编码的监督信号,它简单底用高recall的Selective Search产生的框作为定位的pseudo ground-truth, 这些框又用SwAV来提取特征,并用这些特征来作为embedding的pseudo ground-truth。因为到finetune时才有类别信息,所以这时候才训练对物体的分类。这需要将DETR的输出和上述这些伪ground-truth做匹配,该文用的是匈牙利匹配。
该文的第一个实验对比表格用来表明DETReg方法比监督预训练,SwAV, UP-DETR好
像其他搞自监督的文章一样,总要限制下游任务的finetune epoch数来比较,不得不吐槽这受调参的影响有多大,不同的方法你总不能用同一套超参吧。你可以理解为,同样的epoch数下,这些自监督预训练过的模型训练起来收敛会更快,这里DETReg是最快的,省训练时间?其实工业界更想知道训练到完全收敛后的精度比较