点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者丨飞奔的啦啦啦@知乎(已授权)

来源丨知乎

编辑丨极市平台

UP-DETR: Unsupervised Pre-training for Object Detection with Transformers

论文:https://arxiv.org/abs/2011.09094

中cvpr oral啦!代码和预训练模型已经开源:

https://github.com/dddzg/up-detr

相信大家都有目共睹,无监督预训练模型无论是在nlp(BERT,GPT,XLNet)还是在cv(MoCo,SimCLR,BYOL)上都取得了突破性的进展。而对于无监督(自监督)预训练而言,最重要的就是设计一个合理的pretext,典型的像BERT的masked language model,MoCo的instance discrimination。他们都通过一定的方式,从样本中无监督的构造了一个"label",从而对模型进行预训练,提高下游任务的表现。

回到我们的UP-DETR,对于DETR而言,既然CNN可以是无监督预训练的,那么transformer能不能也无监督预训练一下呢。这就是我们的motivation。

当然啦,骚想法可以很丰满,可现实总是很骨感(T.T)。对于现有的pretext任务,似乎都不太适合于DETR里transformer的预训练。比如,你想搞个mask,可cv都是连续像素构成语义,没法像nlp天然有个离散的token的概念,最后还可能训成一个mask检测器(狗头。直接把MoCo那一套搬过也不太可行。我们认为主要的原因是DETR中的transformer主要是用来做空间信息上的定位而MoCo那一套主要是用来提高CNN的instance discrimination。

更重要的是,无监督预训练检测器,这听起来就很违背自觉,因为是不是object某种意义上明明就是人为定义的。所以,我们换了一个思路,提出了一个叫random query patch detection的pretext,具体而言就是从原图中,我们随机的框若干个patch下来,把这些patch输入到decoder,原图输入到encoder,然后整个任务就变成了给定patch找他们在原图中的位置。最后,对于一个无监督训好的DETR,只要输入patch,它天然就能做到如下图的无监督定位patch的功能(不需要额外的nms后处理),当然这个patch还能支持数据增强和尺度变换。从这个预训练任务的角度来说,一个patch是不是object本身没有任何先验。

idea其实就这么简单,但具体实现上,我们其实遇到了两个主要的问题,在paper里,我们把它们总结为:multi-task learning和multi-query localization。更多详细的内容大家可以参阅我们的论文,这里我们简单介绍一下:

  • 对于multi-task learning,主要是由于目标检测其实本身就带有定位和分类两个任务,这两个任务对特征其实有着不同的偏好。这其实在之前许许多多工作中都有大佬提到了,因此许多目标检测的工作通常会设计了两条不同的分支(带有额外卷积结构)分别对应于分类和回归。而detr其实完全共享了同一组特征,在实验中,我们发现如果只做patch的定位,不管分类的话,UP-DETR迁移到voc上效果会不好。这意味着定位和分类,特征偏好上确实是有冲突的。所以,为了在预训练中权衡这两个任务的偏好,我们固定了预训练好的CNN权重,新增了一个叫patch feature reconstruction的分支。motivation就是希望经过transformer的特征能保持和经过CNN后的特征一致的分类判别性。

  • 对于multi-query localization,主要是说对于DETR,decoder其实有100个object query,这100个object query其实是100个网络隐式学到的空间位置偏好的embedding。我们实际上是随机搞了M个query patch,因为patch可能会在任意位置,直觉上得一个patch加到多个object query上,所以我们讨论了一下如何在预训练过程中,把这M个query patch分配到100个embedding上去。我们从最简单的single-query开始介绍,把它拓展到了支持multi-query的预训练。对于multi-query,我们认为有两个要满足的条件,第一个是 query之间框的预测是独立的,所以我们提出了一个放在decoder上的attention mask,保证query之间彼此不可见。第二个是100个embedding和M个query patch应当是没有任何位置先验限制的,我们提出了object query shuffle的方法去达到这种随机性。

解决了这俩问题,UP-DETR的预训练过程如下图所示,除此之外,下游目标检测的微调是和训DETR一模一样的:

在实验中,通过在ImageNet上无监督预训练,UP-DETR在VOC和COCO上都取得了更快的收敛和更高的精度。即便在充足长的训练epoch下,VOC上仍然有3 AP以上的提升,而对于COCO,UP-DETR仍然可以获得0.7 AP的提升(42.8 AP)。要知道的是,对于在充足训练时间下的COCO,预训练CNN对于Faster R-CNN已经不重要了,但是对于DETR而言,预训练CNN和transformer仍然能提升其性能。

最后的话,怕大家误解,我先提前辩解一下,我们和DETR用的是一模一样的模型结构,都是没有FPN,以ResNet50最后一层作为encoder特征输入(当然,由于attention高昂的复杂度也做不了FPN),这导致了小物体依旧挺拉跨,所以AP的提升比起deformable DETR和sparse R-CNN自然会低一些(噗通)。我觉得吧,站在通用视觉表征的立场上,这锅怎么也得分给ResNet一半吧。希望知乎大佬们轻喷(害怕.jpg)。

点个在看 paper不断!

CVPR 2021 Oral | Transformer再发力!华南理工和微信提出UP-DETR相关推荐

  1. CVPR 2021 Oral | Transformer再发力!华南理工和微信提出UP-DETR:无监督预训练检测器...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:飞奔的啦啦啦   |  来源:知乎 https://zhuanlan.zhihu.com/p/31 ...

  2. ICCV 2021 Oral | Transformer再下一城!百度南大提出神经绘画网络:Paint Transformer

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 杨净 发自 凹非寺 转载自:量子位(QbitAI) AI已经能教你画油画了. 随便给一张图,笔画序列秒秒钟呈 ...

  3. CVPR 2021 Oral | Transformer!UP-DETR:无监督预训练检测器

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨飞奔的啦啦啦@知乎(已授权) 来源丨知乎  编辑丨极市平台 AI博士笔记系列推荐 周志华<机器学习 ...

  4. 只用静态图像,就能实时渲染出丝滑3D效果 | CVPR 2021 Oral

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI 这般丝滑的美食展示,是否让跟随镜头移动的你食指大动? 再看这放大镜里流畅变化的弹簧,你敢相信,这完全是用静态图像合成的吗? 没错,这样的动 ...

  5. CVPR 2021 Oral|只用静态图像,就能实时渲染出丝滑3D效果

    作者丨鱼羊 来源丨量子位 编辑丨极市平台 [导读] 入选CVPR2021 Oral,NeX的AI,能直接把每秒渲染帧数从0.02帧提升到60帧,渲染速度比NeRF要快1000倍以上. 这般丝滑的美食展 ...

  6. CVPR 2021 Oral | 我给大家表演一个无中生有!北航商汤耶鲁新作:DSG

    来源:量子位 量化,作为神经网络压缩和加速的重要手段,往往要依赖真实数据进行校准. 此前,一些无数据量化方法虽然解决了数据依赖问题,但是却存在数据分布和样本同质化问题,致使量化模型的精度下降. 现在, ...

  7. 再发力!Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]无监督学习再发力!Facebook AI 研究团队的陈鑫磊.樊昊棋.Ros ...

  8. 区块链是大数据生态圈技术之一_区块链技术再发力,携手智能制造构建产业生态圈...

    原标题:区块链技术再发力,携手智能制造构建产业生态圈 大数据时代的逐渐逼近,使得传统行业面临巨大的挑战.区块链技术是大数据时代备受关注的新星,在越来越多的领域进行试点应用,区块链技术也是大数据时代日益 ...

  9. 【观察】神州数码:向云转型再提速,技术创新再发力

    申耀的科技观察 读懂科技,赢取未来! 正所谓"不鸣则已一鸣惊人",这就是神州数码过去一段时间以来云上战略转型捷报频传的真实写照. 从今年11月初开始,神州数码先后与思科.IBM.中 ...

最新文章

  1. php socket
  2. 对 Oracle 备份与恢复 的补充说明
  3. 笔记本安装centos7.6网络的配置_可以放入口袋里面的笔记本电脑:国产黑科技,户外工程师必备利器...
  4. 爬虫-使用xpath拿36KR的数据-xpath的学习与演练
  5. Maven中如何配置WAR依赖WAR和JAR的多模块项目结构
  6. java web mysql备份,Java Web 实现Mysql 数据库备份与还原
  7. [鸟哥linux视频教程整理]03_03_bash特性详解续
  8. Java线程基础(二)
  9. Landsat8的不同波段组合说明
  10. jquerymobile多页面切换
  11. KubeSphere 3.3.0 离线安装教程
  12. 可执行文件内存补丁文件补丁工具
  13. google扩展工具Octotree使用(2020-09-01)
  14. 冬季皮肤暗黄,教你一招变白
  15. 基于python的RGB图像转灰度图
  16. 一点处的导数无法确定单调性
  17. MyCat权威指南阅读笔记(进阶篇)
  18. 数字手写识别——Java实现KNN算法
  19. 自由空气间隙,爬电距离计算~~最便宜的ESD防护方法
  20. 六自由度电动并联机器人结构设计

热门文章

  1. NHibernate之旅(11):探索多对多关系及其关联查询
  2. 【青少年编程】【三级】躲避恐龙
  3. 如何使用pyecharts中自带的数据集?
  4. 【青少年编程】【答疑】控制Scratch异步代码的执行顺序
  5. win10 VMware15 安装 CentOS6.4 64位(慢慢弄吧,别急)
  6. Python:Bug 官网不要了,全迁去 GitHub
  7. Oracle 工程师离职并回踩:MySQL 糟糕透顶,强烈推荐 PostgreSQL
  8. Science论文:诺奖经济学家的经典决策模型,被AI挑战
  9. Arm收购进展、元宇宙、GPU涨价……听听黄仁勋怎么说
  10. @所有人,CSDN 粉丝专属福利来啦!