语言模型“不务正业”做起目标检测,性能还比DETR、Faster R-CNN更好 | Hinton团队研究...
博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI
长期以来,CNN都是解决目标检测任务的经典方法。
就算是引入了Transformer的DETR,也是结合CNN来预测最终的检测结果的。
但现在,Geoffrey Hinton带领谷歌大脑团队提出的新框架Pix2Seq,可以完全用语言建模的方法来完成目标检测。
团队由图像像素得到一种对目标对象的“描述”,并将其作为语言建模任务的输入。然后让模型去学习并掌握这种“语言”,从而得到有用的目标表示。
最后取得的结果基本与Faster R-CNN、DETR相当,对于小型物体的检测优于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团队研究...相关推荐
- David P.Williams论文系列 SAS图像分辨率与目标检测性能的关系
摘要 这篇文章量化了合成孔径声纳(SAS)图像分辨率与目标检测性能之间的关系.首先演示了如何通过对全分辨率SAS图像的图像波数谱进行带宽限制,以原则性的方式模拟低分辨率SAS系统.这种洞察力可以直接比 ...
- 用opencv的dnn模块做yolov5目标检测
最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的.于是,我就想着编写一套用opencv的dnn模块做yol ...
- Jetson Nano and VIM3硬件参数对比及目标检测性能对比
文章目录: 1 Jetson Nano and VIM3硬件参数对比及目标检测性能对比 2 Jetson nano在yolov4目标检测性能 3 VIM在yolov3.yolov3-tiny.yolo ...
- 【深度学习】吊打一切现有版本的YOLO!旷视重磅开源YOLOX:新一代目标检测性能速度担当!...
作者丨happy 编辑丨极市平台 导读 YOLO系列终于又回到了Anchor-free的怀抱,不用费劲心思去设计anchor了!旷视开源新的高性能检测器YOLOX,本文将近两年来目标检测领域的各个角度 ...
- 【论文阅读】【三维目标检测】在Range view上做3D目标检测
文章目录 BEV or Range View RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection Range ...
- MMdetection3d环境搭建、使用MMdetection3d做3D目标检测训练自己的数据集、测试、可视化,以及常见的错误
MMdetection3d环境搭建.使用MMdetection3d做3D目标检测训练自己的数据集.测试.可视化,以及常见的错误 1 mmdetection3d环境搭建与测试 1.1 从docker开始 ...
- YOLOv5改进:引入DenseNet思想打造密集连接模块,彻底提升目标检测性能
目录 一.密集连接模块的介绍 1.密集连接的概念 2.密集连接与残差连接的对比 3.DenseNet的结构 二. YOLOv5中引入密集连接模块的原因 1.密集连接模块对于目标检测的优势 2.密集连接 ...
- 带你深入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 引言 深度学习目前已经应用到了 ...
- 深度学习之目标检测(十一)--DETR详解
深度学习之目标检测(十一)-- DETR详解 目录 深度学习之目标检测(十一)-- DETR详解 1. 前言 2. DETR 框架 2.1 CNN Backbone 2.2 Transformer E ...
最新文章
- _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost
- 清除病毒后经常遇到的系统修复问题
- 【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★
- springboot启动流程
- MATLAB学习笔记(二)
- 福昕pdf虚拟打印机_一学就会的PDF文档压缩小技巧
- 手写自定义注解实现思路
- 《自卑与超越》读书笔记(part2)--生活的不确定性正是我们希望的来源
- python可视化添加文本_python Matplotlib基础--如何添加文本和标注
- Kettle安装好MYSQL驱动后报用户名密码错误
- html页面上使用vlc,【JSJQuery】使用VLC在html中播放rtsp视频
- flutter图标按钮_Flutter 中的常见的按钮组件 以及自 定义按钮组件
- linux 下rpm软件的安装和卸载
- [转]DataGridView显示行号
- idea项目工具窗口
- MySQL学习第三弹——约束与多表查询详解
- 大连超级计算机,ASC19世界大学生超级计算机竞赛在我校圆满落幕
- H5 网络版坦克大战
- 谷歌账号最后验证身份手机号无法使用
- 用keytool生成证书
热门文章
- Xcode 9“ iPhone忙:准备对iPhone的调试器支持”
- 如何使用TSQL获取数据库中所有表的列表?
- 一天一个知识点 - 浅谈 JavaScript 的数据类型
- 3大主流前端框架对比
- windows下mysql-8.0.11-winx64解压版配置
- ruby on rails 学习笔记
- macOS下nginx配合obs做推流直播.md
- 转载:有关SQL server connection Keep Alive 的FAQ(3)
- 看到好东西, 赶紧收藏一下
- 《c++ templates》学习笔记(9)——第十二章 特化与重载