博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI

长期以来,CNN都是解决目标检测任务的经典方法。

就算是引入了Transformer的DETR,也是结合CNN来预测最终的检测结果的。

但现在,Geoffrey Hinton带领谷歌大脑团队提出的新框架Pix2Seq,可以完全用语言建模的方法来完成目标检测。

团队由图像像素得到一种对目标对象的“描述”,并将其作为语言建模任务的输入。然后让模型去学习并掌握这种“语言”,从而得到有用的目标表示。

最后取得的结果基本与Faster R-CNNDETR相当,对于小型物体的检测优于DETR,在大型物体检测上的表现也比Faster R-CNN更好,。

接下来就来具体看看这一模型的架构。

从物体描述中构建序列

Pix2Seq的处理流程主要分为四个部分:

  • 图像增强

  • 序列的构建和增强

  • 编码器-解码器架构

  • 目标/损失函数

首先,Pix2Seq使用图像增强来丰富一组固定的训练实例。

然后是从物体描述中构建序列

一张图像中常常包含多个对象目标,每个目标可以视作边界框和类别标签的集合。

将这些对象目标的边界框和类别标签表达为离散序列,并采用随机排序策略将多个物体排序,最后就能形成一张特定图像的单一序列

也就是开头所提到的对“描述”目标对象的特殊语言。

其中,类标签可以自然表达为离散标记。

边界框则是将左上角和右下角的两个角点的X,Y坐标,以及类别索引c进行连续数字离散化,最终得到五个离散Token序列:

研究团队对所有目标采用共享词表,这时表大小=bins数+类别数。

这种量化机制使得一个600×600的图像仅需600bins即可达到零量化误差,远小于32K词表的语言模型。

接下来,将生成的序列视为一种语言,然后引入语言建模中的通用框架和目标函数。

这里使用编码器-解码器架构,其中编码器用于感知像素并将其编码为隐藏表征的一般图像,生成则使用Transformer解码器。

和语言建模类似,Pix2Seq将用于预测并给定图像与之前的Token,以及最大化似然损失。

在推理阶段,再从模型中进行Token采样。

为了防止模型在没有预测到所有物体时就已经结束,同时平衡精确性(AP)与召回率(AR),团队引入了一种序列增强技术

这种方法能够对输入序列进行增广,同时还对目标序列进行修改使其能辨别噪声Token,有效提升了模型的鲁棒性。

在小目标检测上优于DETR

团队选用MS-COCO 2017检测数据集进行评估,这一数据集中含有包含11.8万训练图像和5千验证图像。

与DETR、Faster R-CNN等知名目标检测框架对比可以看到:

Pix2Seq在小/中目标检测方面与Faster R-CNN性能相当,但在大目标检测方面更优。

而对比DETR,Pix2Seq在大/中目标检测方面相当或稍差,但在小目标检测方面更优。

一作华人

这篇论文来自图灵奖得主Geoffrey Hinton带领的谷歌大脑团队。

一作Ting Chen为华人,本科毕业于北京邮电大学,2019年获加州大学洛杉矶分校(UCLA)的计算机科学博士学位。

他已在谷歌大脑团队工作两年,目前的主要研究方向是自监督表征学习、有效的离散结构深层神经网络和生成建模。

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

语言模型“不务正业”做起目标检测,性能还比DETR、Faster R-CNN更好 | Hinton团队研究...相关推荐

  1. David P.Williams论文系列 SAS图像分辨率与目标检测性能的关系

    摘要 这篇文章量化了合成孔径声纳(SAS)图像分辨率与目标检测性能之间的关系.首先演示了如何通过对全分辨率SAS图像的图像波数谱进行带宽限制,以原则性的方式模拟低分辨率SAS系统.这种洞察力可以直接比 ...

  2. 用opencv的dnn模块做yolov5目标检测

    最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的.于是,我就想着编写一套用opencv的dnn模块做yol ...

  3. Jetson Nano and VIM3硬件参数对比及目标检测性能对比

    文章目录: 1 Jetson Nano and VIM3硬件参数对比及目标检测性能对比 2 Jetson nano在yolov4目标检测性能 3 VIM在yolov3.yolov3-tiny.yolo ...

  4. 【深度学习】吊打一切现有版本的YOLO!旷视重磅开源YOLOX:新一代目标检测性能速度担当!...

    作者丨happy 编辑丨极市平台 导读 YOLO系列终于又回到了Anchor-free的怀抱,不用费劲心思去设计anchor了!旷视开源新的高性能检测器YOLOX,本文将近两年来目标检测领域的各个角度 ...

  5. 【论文阅读】【三维目标检测】在Range view上做3D目标检测

    文章目录 BEV or Range View RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection Range ...

  6. MMdetection3d环境搭建、使用MMdetection3d做3D目标检测训练自己的数据集、测试、可视化,以及常见的错误

    MMdetection3d环境搭建.使用MMdetection3d做3D目标检测训练自己的数据集.测试.可视化,以及常见的错误 1 mmdetection3d环境搭建与测试 1.1 从docker开始 ...

  7. YOLOv5改进:引入DenseNet思想打造密集连接模块,彻底提升目标检测性能

    目录 一.密集连接模块的介绍 1.密集连接的概念 2.密集连接与残差连接的对比 3.DenseNet的结构 二. YOLOv5中引入密集连接模块的原因 1.密集连接模块对于目标检测的优势 2.密集连接 ...

  8. 带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2

    带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2 2018年04月15日 11:09:29 阅读数:103 1 引言 深度学习目前已经应用到了 ...

  9. 深度学习之目标检测(十一)--DETR详解

    深度学习之目标检测(十一)-- DETR详解 目录 深度学习之目标检测(十一)-- DETR详解 1. 前言 2. DETR 框架 2.1 CNN Backbone 2.2 Transformer E ...

最新文章

  1. _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost
  2. 清除病毒后经常遇到的系统修复问题
  3. 【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★
  4. springboot启动流程
  5. MATLAB学习笔记(二)
  6. 福昕pdf虚拟打印机_一学就会的PDF文档压缩小技巧
  7. 手写自定义注解实现思路
  8. 《自卑与超越》读书笔记(part2)--生活的不确定性正是我们希望的来源
  9. python可视化添加文本_python Matplotlib基础--如何添加文本和标注
  10. Kettle安装好MYSQL驱动后报用户名密码错误
  11. html页面上使用vlc,【JSJQuery】使用VLC在html中播放rtsp视频
  12. flutter图标按钮_Flutter 中的常见的按钮组件 以及自 定义按钮组件
  13. linux 下rpm软件的安装和卸载
  14. [转]DataGridView显示行号
  15. idea项目工具窗口
  16. MySQL学习第三弹——约束与多表查询详解
  17. 大连超级计算机,ASC19世界大学生超级计算机竞赛在我校圆满落幕
  18. H5 网络版坦克大战
  19. 谷歌账号最后验证身份手机号无法使用
  20. 用keytool生成证书

热门文章

  1. Xcode 9“ iPhone忙:准备对iPhone的调试器支持”
  2. 如何使用TSQL获取数据库中所有表的列表?
  3. 一天一个知识点 - 浅谈 JavaScript 的数据类型
  4. 3大主流前端框架对比
  5. windows下mysql-8.0.11-winx64解压版配置
  6. ruby on rails 学习笔记
  7. macOS下nginx配合obs做推流直播.md
  8. 转载:有关SQL server connection Keep Alive 的FAQ(3)
  9. 看到好东西, 赶紧收藏一下
  10. 《c++ templates》学习笔记(9)——第十二章 特化与重载