開放域偵測問題,指的是在上游利用大量網路上爬取的圖文對或某一類別的人工標註資料進行訓練,如何在下游場景上實現任意類別偵測的問題。開放域偵測方法在產業界的應用主要包括自動駕駛系統路面物體偵測,雲端全場景偵測等。
#論文網址: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 資料集上預測結果的視覺化對比#
以上是NeurIPS 2022 | 開放域偵測新方法DetCLIP,推理效率提升20倍的詳細內容。更多資訊請關注PHP中文網其他相關文章!