NeurIPS 2022 | 開放域檢測新方法DetCLIP,推理效率提升20倍
開放域檢測問題,指的是在上游利用大量網上爬取的圖文對或一定類別的人工標注數據進行訓練,如何在下游場景上實現任意類別檢測的問題。開放域檢測方法在產業界的應用主要包括自動駕駛系統路面物體檢測,云端全場景檢測等。
論文地址:https://arxiv.org/abs/2209.09407
本篇分享的是 NeurIPS 2022 入選論文《DetCLIP: Dictionary-Enriched Visual-Concept Paralleled Pre-training for Open-world Detection》,該論文對開放域檢測問題提出了一種針對多數據源聯合高效的并行訓練框架,同時構建了額外的知識庫來提供類別間的隱式關系。同時 DetCLIP 在微軟舉辦的 ECCV2022 OdinW (Object Detection in the Wild[1]) 比賽上以 24.9% 的平均檢測指標取得了 zero-shot 檢測賽道第一名。
問題介紹
隨著使用基于網上爬取的圖片文本對訓練的多模態預訓練模型 (如 CLIP) 的流行,以及其在 zero-shot 分類領域體現出的卓越性能,越來越多的方法嘗試將這種能力遷移至開放域的 dense 預測 (如任意類別檢測、分割等)。現有方法往往使用預訓練好的分類大模型進行特征層面的蒸餾[1] 或通過對 caption 打偽標簽加自訓練的方式進行學習[2],但這樣往往會受限制于分類大模型的性能以及 caption 標注不完全的問題。
現有 SOTA 開放域檢測模型 GLIP[3]通過將檢測數據的格式轉化為 Grounding 數據的格式進行多數據源的聯合訓練,充分利用不同數據源的優勢(檢測數據集對常見類別有較為完全的標注,而 Grounding 數據集對類別 cover 區間的范圍更大)。然而,我們發現將類別名詞簡拼接的方式導致模型整體的學習效率降低,同時直接使用類別單詞作為文本輸入無法提供細粒度的類別之間的先驗關系。
圖 1:多數據源聯合預訓練開放域檢測模型 pipeline
模型框架
如下圖所示,基于 ATSS[4]單階段檢測模型搭建,DetCLIP 包含了一個圖像編碼器?來獲得檢測框的圖像特征?,以及一個文本編碼器?來獲得類別的文本特征?。然后基于上述圖像特征及文本特征來計算對應的分類對齊損失?、中心點損失?以及回歸損失?。
圖 2:DetCLIP 模型框架
如圖 2 右上及左上所示,本文的主要創新點是 1)提出以并行輸入處理多數據源物體 - 文本聯合訓練的框架,優化訓練效率;2)構建一個額外的物體知識庫輔助開放域檢測訓練。
多數據源并行輸入預訓練框架
相對于 GLIP 中將 detection 數據通過拼接類別名詞的方式轉化為 grounding 形式(串行),我們通過將 grounding 數據中的對應名詞詞組抽取出來和 detection 中的類別作為獨立的輸入,輸入到 text encoder 中(并行),避免不必要的 attention 計算,實現更高的訓練效率。
圖 3:DetCLIP 并行輸入預訓練框架與 GLIP 對比
物體知識庫
為了解決不同數據源的類別空間不統一問題 (同樣類別名稱不同,或類別包含等) 以及為類別之間的關系提供先驗信息,我們構建了物體知識庫來實現更高效的訓練。
構建:我們同時綜合檢測數據中的類別、image-text pair 中的名詞詞組以及對應定義來構建物體知識庫。
使用:1. 我們使用物體知識庫的定義對現有的檢測數據中的類別單詞進行擴充,以提供類別之間關系的先驗信息(Concept Enrichment)。
圖 4:使用物體知識庫對類別單詞釋義擴充示例
2. 由于 grounding 數據以及 image-caption 中數據存在 caption 標注不完全的問題(圖片上出現的類別在 caption 中并沒有出現),導致訓練這些圖片的時候可以作為負樣本的類別數目極少,進而使得模型對于一些不常見類別的區分度較少。因此我們從物體知識庫中隨機選取物體名詞作為負樣本類別,提升模型對稀少類別特征的區分度(+Negative Samples)。
圖 5:引入物體知識庫中的類別作為負樣本類別
3. 對于無框標注的 image-text pair 數據,我們通過華為諾亞自研大模型 FILIP[5]和預訓練好的 RPN 對其進行標注,使其可以轉化為正常的 grounding 數據進行訓練。同時為了緩解 caption 中對圖片上物體不完全標注的問題,我們使用了物體知識庫的所有類別詞組作為打偽標簽的候選類別 (第二行),與僅僅使用 caption 中的類別標注效果(第一行) 對比如下:
圖 6:引入物體知識庫中的類別作為打偽標簽候選類別
實驗結果
我們在下游 LVIS 檢測數據集 (1203 類) 上驗證了所提方法的開放域檢測性能,可以看出在基于 swin-t backbone 的架構上,DetCLIP 相對于現有 SOTA 模型 GLIP 取得了 9.9% AP 提升,在 Rare 類別上更是提升了 12.4% AP,盡管相對于 GLIP 我們只使用了少于其一半的數據量,注意訓練集中未包含 LVIS 中任何圖片。
表 1:LVIS 上不同方法 Zero-shot transfer performance 比較
在訓練效率上,基于相同 32 張 V100 的硬件條件,GLIP-T 的訓練時間是 DetCLIP-T 的 5 倍(10.7K GPU hrs vs. 2.0K GPU hrs)。在測試效率上,基于單張 V100,DetCLIP-T 的推理效率 2.3 FPS (0.4 秒每張圖)是 GLIP-T 的 0.12 FPS (8.6 秒每張圖)的 20 倍。我們同時單獨研究了 DetCLIP 的關鍵創新 (并行框架和物體知識庫) 對精度的影響。
表 3:DetCLIP 在 LVIS 數據集上的消融研究結果
可視化結果
如下圖所示,基于相同的 swin-t backbone,在 LVIS 數據集上的可視化效果相對于 GLIP 來說有了明顯的提升,尤其是在稀有類別的標注以及標注的完整程度。
?
圖 7:DetCLIP 與 GLIP 在 LVIS 數據集上預測結果的可視化對比