模型的跨界:我拿Transformer去做目标检测,结果发现效果不错

机器之心报道
参与:Racoon、杜伟、张倩
自2017年被提出以来 , Transformer已经席卷了整个NLP领域 , 红极一时的BERT、GPT-2都采用了基于Transformer的架构 。 既然这么好用 , 为什么不用到CV里?最近 , FacebookAI的研究者就进行了这方面的尝试 , 把Transformer用到了目标检测任务中 , 还取得了可以媲美FasterR-CNN的效果 。
近年来 , Transformer成为了深度学习领域非常受欢迎的一种架构 , 它依赖于一种简单但却十分强大的机制——注意力机制 , 使得AI模型有选择地聚焦于输入的某些部分 , 因此推理更加高效 。
Transformer已经广泛应用于序列数据的处理 , 尤其是在语言建模、机器翻译等自然语言处理领域 。 此外 , 它在语音识别、符号数学、强化学习等多个领域也有应用 。 但令人意外的是 , 计算机视觉领域一直还未被Transformer所席卷 。
为了填补这一空白 , FacebookAI的研究者推出了Transformer的视觉版本——DetectionTransformer(以下简称DETR) , 用于目标检测和全景分割 。 与之前的目标检测系统相比 , DETR的架构进行了根本上的改变 。 这是第一个将Transformer成功整合为检测pipeline中心构建块的目标检测框架 。
在性能上 , DETR可以媲美当前的SOTA方法 , 但架构得到了极大简化 。 具体来说 , 研究者在COCO目标检测数据集上将DETR与FasterR-CNN基线方法进行了对比 , 结果发现DETR在大型目标上的检测性能要优于FasterR-CNN , 但在小目标的检测上性能不如后者 , 这为今后DETR的改进提供了新的方向 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
DETR通过将一个常见CNN与Transformer结合来直接预测最终的检测结果 。 在训练期间 , 二分匹配(bipartitematching)向预测结果分配唯一的groundtruth边界框 。 没有匹配的预测应生成一个「无目标」的分类预测结果 。
DETR提供了一个更加简单、灵活的pipeline架构 , 需要的启发式更少 。 使用基本的架构块可以将推理压缩为50行简单的Python代码 。
此外 , 由于Transformer已经在多个领域被证明是一个强大的工具 , Facebook的研究者相信 , 如果进行进一步调参 , DETR的性能和训练效率还能得到进一步提升 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
论文链接:https://arxiv.org/pdf/2005.12872v1.pdf
为了方便大家复现DETR的结果 , Facebook还在GitHub上开源了该模型的代码和预训练模型 。
项目地址:https://github.com/facebookresearch/detr
Facebook表示 , 基线DETR在单节点8个V100GPU上训练了300个epoch , 每个epoch需要花费28分钟 , 因此训练300个epoch大约需要6天 。 他们在GitHub中提供了150个epoch的训练结果和日志供大家参考 。
另外 , 研究者还提供了ColabNotebook , 我们可以上传自己的图片进行预测 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
不过 , 也有人对研究结果提出了质疑:「FasterRCNN算哪门子SOTA?」
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
的确 , 在目标检测领域 , FasterRCNN已经太老了 , 比最近的ResNeSt不知差了多少 , 拉这个出来对比性能确实有些牵强 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
COCO上的目标检测算法SOTA演变
不过也有人认为 , 我们更应该看到的是论文创新的一面 , 毕竟作者在一个新的方向上做了尝试 , 而且也有一定的应用场景(如同时处理图像和文字这种多模态任务) 。
处理目标检测任务的全新架构
DETR将目标检测任务视为一种图像到集合(image-to-set)的问题 。 给定一张图像 , 模型必须预测所有目标的无序集合(或列表) , 每个目标基于类别表示 , 并且周围各有一个紧密的边界框 。
这种表示方法特别适合Transformer 。 因此 , 研究者使用卷积神经网络(CNN)从图像中提取局部信息 , 同时利用Transformer编码器-解码器架构对图像进行整体推理并生成预测 。
在定位图像中的目标以及提取特征时 , 传统计算机视觉模型通常使用基于自定义层的复杂且部分手动操作的pipeline 。 DETR则使用更为简单的神经网络 , 它可以提供一个真正的端到端深度学习解决方案 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
传统两阶段检测系统 , 如FasterR-CNN , 通过对大量粗糙候选区域的过滤来预测目标边界框 。 与之相比 , DETR利用标准Transformer架构来执行传统上特定于目标检测的操作 , 从而简化了检测pipeline 。
DETR框架包含一个通过二分匹配做出独特预测的基于集合的全局损失 , 以及一个Transformer编码器-解码器架构 。 给定一个小集合固定的学得目标查询 , DETR对目标和全局图像背景的关系作出推理 , 从而直接并行输出最终的预测集 。 之前有研究者尝试将循环神经网络等架构用于目标检测 , 但由于这类架构是按序列而非并行做预测 , 因而速度慢且有效性低 。
Transformers的自注意力机制使得DETR可以在图像以及预测的特定目标上执行全局推理 。 例如 , 该模型可以观察图像的其他区域以帮助确定边界框中的目标 。 此外 , DETR还可以基于图像中目标间的关系或相关性做出预测 。 举例而言 , 如果DETR预测到图像中包含一个站在沙滩上的人 , 那么它也会知道部分被遮挡的目标更有可能是冲浪板 。 相比之下 , 其他检测模型只能孤立地预测每个目标 。
研究者表示 , DETR还可以扩展至其他相关任务 , 比如全景分割 , 该任务旨在分割明显前景目标的同时为背景中的所有像素打上标签 。
一个架构搞定图文处理
从研究创新和信息推理方式两方面来说 , 将Transformers应用于视觉领域有助于缩小NLP和计算机视觉社区的差距 。 人们对同时处理视觉和文本输入这类型的任务有着很大的兴趣 , 比如Facebook最近推出的恶意模因挑战赛(HatefulMemesChallenge , 检测恶意图文) 。 众所周知 , 传统架构处理这类双模态任务非常困难 。
DETR的新型架构有助于提升计算机视觉模型的可解释性 , 并且由于其基于注意力机制 , 所以当它做预测时 , 很容易就能观察到网络正在查看图像的哪部分区域 。
最后 , FacebookAI的研究者希望DETR可以促进目标检测领域的进展 , 并开发出处理双模态任务的新方法 。
实验结果
研究者将DETR得到的结果与FasterR-CNN在COCO数据集上进行了量化评估 。 之后为展示DETR的多功能与可扩展性 , 研究者提供了其在全景分割中的结果 , 在实验中保持DETR模型的权值不变 , 仅对一小部分扩展模块进行训练 。
与FasterR-CNN对比
下表展示了在COCO验证集上 , DETR与FasterR-CNN进行对比的结果 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
表1:在COCO验证集上与FasterR-CNN的对比结果 。
结果表明 , DETR在大目标的检测中性能表现较好 , 在小目标的检测中表现较差 。
将DETR用于全景分割
全景分割最近在计算机视觉社区受到了广泛关注 。 类似于FasterR-CNN的扩展MaskR-CNN , DETR同样能够很方便地通过在解码器输出顶端添加maskhead来进行扩展 。
下图展示了DETR在全景分割任务中的量化结果 。 可以看到 , DETR以统一的方式为物体与材料(thingsandstuff)生成了匹配的预测蒙版 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
图9:DETR-R101处理的全景分割结果 。
结果显示DETR尤其擅长对材料分类 , 研究者推测 , 解码器注意力机制具有的全局推理特性是产生这一结果的关键因素 。
在下表中 , 研究者将自己所提出的统一全景预测方法与区分物体和材料的其他方法进行了比较 。
模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
文章图片
【模型的跨界:我拿Transformer去做目标检测,结果发现效果不错】表5:在COCO验证集上 , 将DETR与目前的SOTA方法进行比较 。


    推荐阅读