关注公众号,发现CV技术之美
▊ 写在前面
本文提出了一种简单通用的目标检测框架Pix2Seq。与目前显式地集成了关于检测任务的先验知识的方法不同,本文的方法简单地将目标检测转换为以像素输入为条件的语言建模任务 。对象描述(检测框和类别标签)被表示为离散的token序列,并且作者通过训练神经网络来感知图像并生成所需的序列。
作者认为:如果神经网络知道目标在哪里以及目标是什么,那么只需要教模型如何“ 读出 ”它们 。除了使用特定于任务的数据增强,本文的方法对任务做了最少的假设,但与高度专业化和优化良好的检测算法(Faster R-CNN、DETR)相比,它在COCO数据集上获得了不错的结果。
▊ 1. 论文和代码地址
Pix2seq: A Language Modeling Framework for Object Detection
论文地址:https://arxiv.org/abs/2109.10852
代码地址:未开源
▊ 2. Motivation
目标检测的目标是识别和定位图像中所有预定义类别的对象。检测到的对象通常由一组边界框和相关联的类别标签来描述。鉴于任务的难度,大多数现有的方法都是使用精心设计和高度定制的框架,在模型结构和损失函数的选择方面需要大量的先验知识,比如NMS、ROI Pooling等等。
尽管目标检测在无数领域都有应用,从自动驾驶到医学图像分析,再到农业病害虫检测,但专业化和复杂性使它们难以集成到更大的系统中,或推广到的更广泛的任务。
作者认为:如果神经网络知道对象在哪里以及对象是什么,那么我们只需要教它读出它们(即语言生成任务) 。通过学习“描述”对象,模型可以在像素观察的基础上,学习“语言”的生成,从而产生有用的对象表示。
这是本文的Pix2Seq框架的思想:给定一幅图像,本文的模型生成一系列离散的token,这些token对应于对象描述(边界框和类别标签),这就很类似于Image Captioning任务(Image Captioning任务就是输入一张图片,然后让模型用语言描述这个图片内容;这里只不过是把语言换成了边界框和类别标签的token) 。
从本质上讲,作者把目标检测看作是一个以像素输入为条件的语言建模任务ÿ