語言模型不務正業做起目標檢測,性能比DETR更好
本文經AI新媒體量子位(公眾號ID: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