paper:https://arxiv.org/pdf/2401.17270.pdf
Github:GitHub - AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection
online demo:https://huggingface.co/spaces/stevengrove/YOLO-World?
目錄
0. 摘要
1. 引言
2. 相關(guān)工作
2.1. 傳統(tǒng)目標(biāo)檢測
2.2. 開放詞匯目標(biāo)檢測
3. 方法
?3.1.?預(yù)訓(xùn)練范式:區(qū)域-文本對
3.2. 模型架構(gòu)
3.3. 重參數(shù)化視覺-語言 PAN
3.4. 預(yù)訓(xùn)練方案
4. 實驗
5. 結(jié)論
0. 摘要
????????YOLO系列檢測器以其高效、實用而著稱。不過,其需要預(yù)定義目標(biāo)類別,這大大限制了其在開放場景的適用性。為了解決這個問題,我們提出了YOLO-World——一個創(chuàng)新的、通過視覺-語言建模和大規(guī)模數(shù)據(jù)預(yù)訓(xùn)練的方法,其強(qiáng)化了YOLO的開放詞匯檢測能力。具體的,提出了一個新的可重參數(shù)化的視覺-語言路徑聚合網(wǎng)絡(luò)(RepVL-PAN),以及一個能夠促進(jìn)視覺和語言信息之間交互的區(qū)域-文本對比損失。提出的方法能夠以零樣本方式,在寬范圍目標(biāo)檢測方面表現(xiàn)優(yōu)異,且十分高效。在LVIS挑戰(zhàn)賽數(shù)據(jù)集上,YOLO-World使用V100可達(dá)到35.4 AP、52FPS的效果,這在速度和精度上都超過了很多SOTA。此外,微調(diào)后的YOLO-World在很多下游任務(wù)(如:目標(biāo)檢測、開放詞匯實例分割)上也能達(dá)到不錯的效果。
1. 引言
????????目標(biāo)檢測是一個長期研究的基礎(chǔ)CV任務(wù),在諸多領(lǐng)域,如圖像理解、機(jī)器人、自動駕駛,都有涉及。已有大量相關(guān)研究[15, 26, 40, 42]使用深度神經(jīng)網(wǎng)絡(luò)在該領(lǐng)域取得了突破。盡管他們都取得了成功,但都是在有限的類別(如coco里面是80個類)上進(jìn)行的,一旦類別定義好且標(biāo)注完畢,訓(xùn)練的檢測器就只能檢測指定的類別,這大大限制了他們在開放場景中的能力和應(yīng)用。
????????最近的工作 [7, 12, 49, 54]。 ] 探索了流行的視覺語言模型 [18, 36],通過從語言編碼器(例如 BERT [5])中提取詞匯知識來解決開放詞匯檢測 [54]。然而,由于訓(xùn)練數(shù)據(jù)缺乏、詞匯多樣性有限,基于蒸餾的方法的使用大大受限了。部分方法[23,29,52,53,55]將目標(biāo)檢測訓(xùn)練重新定義為區(qū)域級視覺語言預(yù)訓(xùn)練,并大規(guī)模訓(xùn)練開放詞匯對象檢測器。然而,這些方法在現(xiàn)實場景中仍然難以應(yīng)用,有兩個方面的原因:(1)較高的計算負(fù)擔(dān);(2)邊緣設(shè)備部署的復(fù)雜性。先前的一些工作[23,29,52,53,55]已經(jīng)證實了預(yù)訓(xùn)練大檢測器的性能,而為預(yù)訓(xùn)練小檢測器賦予開發(fā)詞匯檢測能力方面尚未被證實。
? ? ? ? 本文提出了YOLO-World來進(jìn)行高效開放詞匯對象檢測,并探索大規(guī)模預(yù)訓(xùn)練方案,將傳統(tǒng)的 YOLO 檢測器升級為開放詞匯檢測方法。與以前的方法相比,所提出的 YOLO-World 推理速度高且易于部署到下游應(yīng)用程序中,非常的有效。具體來說,YOLO-World 遵循標(biāo)準(zhǔn)的 YOLO 架構(gòu) [19],并利用預(yù)訓(xùn)練的 CLIP [36] 文本編碼器對輸入文本進(jìn)行編碼。我們進(jìn)一步提出了可重新參數(shù)化的視覺語言路徑聚合網(wǎng)絡(luò)(RepVL-PAN)來連接文本特征和圖像特征以獲得更好的視覺語義表示。在推理過程中,可以去掉文本編碼器,并將文本嵌入重新參數(shù)化為 RepVL-PAN 的權(quán)重以實現(xiàn)高效部署。我們通過大規(guī)模數(shù)據(jù)集上的區(qū)域-文本對比學(xué)習(xí)進(jìn)一步研究了YOLO檢測器的開放詞匯預(yù)訓(xùn)練方案,將檢測數(shù)據(jù)、標(biāo)注數(shù)據(jù)和圖像-文本數(shù)據(jù)統(tǒng)一為區(qū)域-文本對。具有豐富區(qū)域-文本對的預(yù)訓(xùn)練 YOLO-World 在大規(guī)模詞匯檢測和訓(xùn)練更多數(shù)據(jù)方面表現(xiàn)出強(qiáng)大的能力,可以顯著提高開放詞匯能力。
????????此外,我們探索了一種“提示然后檢測”(prompt-then-detect)的范式,以進(jìn)一步提高現(xiàn)實場景中開放詞匯對象檢測的效率。如圖 2 所示,傳統(tǒng)的目標(biāo)檢測器 [15, 19, 22, 38-40, 48] 專注于具有預(yù)定義和訓(xùn)練類別的固定詞匯表(閉集)檢測。而以前的開放詞匯檢測器[23,29,52,55]則使用文本編碼器對用戶的提示進(jìn)行編碼,并檢測對象進(jìn)行在線詞匯表。不過,這些方法傾向于使用大主干的大型檢測器,例如 Swin-L [31],以增加開放詞匯容量。相比之下,prompt-then-detect 范式(圖 2 (c))首先對用戶的提示進(jìn)行編碼以構(gòu)建離線詞匯表,詞匯表因不同需求而異。然后,高效的檢測器可以動態(tài)推斷離線詞匯表,而無需重新編碼提示。對于實際應(yīng)用,一旦我們訓(xùn)練好了檢測器,就可以預(yù)先編碼提示或類別以構(gòu)建離線詞匯表,然后將其無縫集成到檢測器中。
? ? ? ? 主要貢獻(xiàn)有以下幾點:
- 介紹了YOLO-World,其屬于一種高端的開放詞匯目標(biāo)檢測器,在實際使用中比較高效;
- 提出了可重參數(shù)化的視覺-語言PAN,將視覺和語言特征與YOLO-World的開放詞匯區(qū)域-文本對比預(yù)訓(xùn)練方案結(jié)合了起來;
- 所提出的在大規(guī)模數(shù)據(jù)集上訓(xùn)練的 YOLO-World 表現(xiàn)出強(qiáng)大的零樣本性能,并在 LVIS 上以 52.0 FPS 實現(xiàn)了 35.4 AP。預(yù)訓(xùn)練的 YOLO-World 可以輕松適應(yīng)下游任務(wù),例如開放詞匯實例分割和參考對象檢測。
2. 相關(guān)工作
2.1. 傳統(tǒng)目標(biāo)檢測
????????流行的對象檢測研究集中于固定詞匯表(閉集)檢測,其中對象檢測器在具有預(yù)定義類別的數(shù)據(jù)集上進(jìn)行訓(xùn)練,例如COCO數(shù)據(jù)集[25]和Objects365數(shù)據(jù)集[43],然后檢測固定類別集合中的對象。在過去的幾十年里,傳統(tǒng)的目標(biāo)檢測方法可以簡單地分為三組,即基于區(qū)域的方法、基于像素的方法和基于查詢的方法?;趨^(qū)域的方法 [10, 11, 15, 26, 41],例如 Faster R-CNN [41],采用兩階段框架進(jìn)行提案生成 [41] 和 RoI-wise(感興趣區(qū)域)分類和回歸?;谙袼氐姆椒╗27,30,39,45,57]往往是一級檢測器,它對預(yù)定義的錨點或像素進(jìn)行分類和回歸。DETR[1]首先通過transformer[46]探索目標(biāo)檢測,并啟發(fā)了廣泛的基于查詢的方法[60]。在推理速度方面,Redmon等人提出了YOLOs[37-39],它利用簡單的卷積架構(gòu)進(jìn)行實時目標(biāo)檢測。一些工作[9,22,32,48,51]提出了YOLO的各種架構(gòu)或設(shè)計,包括路徑聚合網(wǎng)絡(luò)[28]、跨階段部分網(wǎng)絡(luò)[47]和重新參數(shù)化[6],進(jìn)一步提高了速度和準(zhǔn)確性。與之前的 YOLO 相比,本文中的 YOLOWorld 旨在以強(qiáng)大的泛化能力檢測固定詞匯表之外的對象。
2.2. 開放詞匯目標(biāo)檢測
????????開放詞匯對象檢測 (OVD) [54] 已成為現(xiàn)代目標(biāo)檢測的新趨勢,旨在檢測預(yù)定義類別之外的對象。早期的工作[12]通過在基類上訓(xùn)練檢測器并評估新的(未知)類,遵循標(biāo)準(zhǔn)的OVD設(shè)置[54]。然而,這種開放詞匯設(shè)置可以評估檢測器檢測和識別新對象的能力,對于開放場景仍然受到限制,并且由于在有限的數(shù)據(jù)集和詞匯上進(jìn)行訓(xùn)練,缺乏對其他領(lǐng)域的泛化能力。
????????受視覺語言預(yù)訓(xùn)練[18,36]的啟發(fā),最近的研究[7,21,49,58,59]將開放詞匯對象檢測表述為圖像-文本匹配,并利用大規(guī)模圖像-文本數(shù)據(jù)大規(guī)模增加訓(xùn)練詞匯。GLIP [23] 提出了一種基于短語接地的開放詞匯檢測預(yù)訓(xùn)練框架,并在零樣本設(shè)置中進(jìn)行評估。接地DINO[29]將接地的預(yù)訓(xùn)練[23]合并到具有跨模態(tài)融合的檢測transformer[56]中。
????????幾種方法[24,52,53,55]通過區(qū)域-文本匹配和大規(guī)模圖像-文本對的預(yù)訓(xùn)練檢測器統(tǒng)一檢測數(shù)據(jù)集和圖像-文本數(shù)據(jù)集,取得了良好的性能和泛化能力。然而,這些方法通常使用 ATSS [57] 或 DINO [56] 等重檢測器和 Swin-L [31] 作為主干,導(dǎo)致高計算需求和部署挑戰(zhàn)。相比之下,我們提出了 YOLO-World,旨在通過實時推理和更容易的下游應(yīng)用程序部署進(jìn)行有效的開放詞匯對象檢測。我們的方法與 ZSD-YOLO [50] 不同,ZSD-YOLO [50] 還通過語言模型對齊探索了 YOLO 的開放詞匯檢測 [54],而YOLO-World 引入了一種新穎的 YOLO 框架,具有有效的預(yù)訓(xùn)練策略,提高了開放詞匯性能和泛化能力。
3. 方法
?3.1.?預(yù)訓(xùn)練范式:區(qū)域-文本對
????????傳統(tǒng)的目標(biāo)檢測方法,包括YOLO系列[19],使用實例注釋,由邊界框{Bi}和類別標(biāo)簽{ci}組成。在本文中,我們將實例注釋重新表述為區(qū)域-文本對,其中 ti 是區(qū)域 Bi 的相應(yīng)文本。具體來說,文本 ti 可以是類別名稱、名詞短語或?qū)ο竺枋觥4送?,YOLO-World 采用圖像 I 和文本 T(一組名詞)作為輸入并輸出預(yù)測框 和對應(yīng)的目標(biāo)嵌入 。
3.2. 模型架構(gòu)
????????所提出的 YOLO-World 的整體架構(gòu)如圖 3 所示,它由一個 YOLO 檢測器、一個文本編碼器和一個可重新參數(shù)化的視覺語言路徑聚合網(wǎng)絡(luò) (RepVL-PAN) 組成。給定輸入文本,YOLO-World 中的文本編碼器將文本編碼為文本嵌入。YOLO檢測器中的圖像編碼器從輸入圖像中提取多尺度特征。然后我們使用 RepVL-PAN 通過利用圖像特征和文本嵌入之間的跨模態(tài)融合來增強(qiáng)文本和圖像表示。
????????YOLO Detector:YOLO-World主要基于YOLOv8[19]開發(fā),YOLOv8[19]包含一個Darknet骨干[19,40]作為圖像編碼器,一個用于多尺度特征金字塔的路徑聚合網(wǎng)絡(luò)(PAN),一個用于邊界框回歸和對象嵌入的head。
????????Text Encoder:給定文本 T,我們采用 CLIP [36] 預(yù)訓(xùn)練的 Transformer 文本編碼器來提取相應(yīng)的文本嵌入,其中 C 是名詞的數(shù)量,D 是嵌入維度。與純文本語言編碼器 [5] 相比,CLIP 文本編碼器為將視覺對象與文本連接起來提供了更好的視覺語義能力。當(dāng)輸入文本是一個標(biāo)題或引用表達(dá)式時,我們采用簡單的 n-gram 算法來提取名詞短語,然后將它們輸入文本編碼器。
????????Text Contrastive Head:繼之前的工作 [19] 之后,我們采用具有兩個 3×3 convs 的解耦頭來回歸邊界框 和對象嵌入,其中 K 表示對象的數(shù)量。我們提出了一個文本對比頭來獲得對象-文本相似度:
?其中 L2-Norm(·) 是 L2 歸一化,是第 j 個文本嵌入。此外,我們添加了具有可學(xué)習(xí)比例因子α和移位因子β的仿射變換。L2 范數(shù)和仿射變換對于穩(wěn)定區(qū)域文本訓(xùn)練都很重要。
????????Training with Online Vocabulary:在訓(xùn)練期間,我們?yōu)槊總€包含 4 張圖像的馬賽克樣本構(gòu)建了一個在線詞匯表 T。具體來說,我們對馬賽克圖像中涉及的所有正名詞進(jìn)行采樣,并從相應(yīng)的數(shù)據(jù)集中隨機(jī)采樣一些負(fù)名詞。每個馬賽克樣本的詞匯表最多包含 M個,M 默認(rèn)設(shè)置為 80。
????????Inference with Offline Vocabulary:在推理階段,我們提出了一種帶有離線詞匯表的prompt-then-detect 策略,以提高效率。如圖3所示,用戶可以定義一系列自定義提示,可能包括標(biāo)題或類別。然后,我們利用文本編碼器對這些提示進(jìn)行編碼并獲得離線詞匯嵌入。離線詞匯表避免了每個輸入都計算一遍,并能根據(jù)需要靈活調(diào)整詞匯表。
3.3. 重參數(shù)化視覺-語言 PAN
????????圖 4 顯示了所提出的 RepVL-PAN 的結(jié)構(gòu),它遵循 [19, 28] 中的自上而下和自下而上的路徑,以使用多尺度圖像特征 {C3, C4, C5} 建立特征金字塔 {P3, P4, P5}。此外,我們提出了文本引導(dǎo)的CSPLayer (T-CSPLayer)和圖像池注意(I-Pooling Attention),進(jìn)一步增強(qiáng)了圖像特征和文本特征之間的交互,提高了開放詞匯能力的視覺語義表示。在推理過程中,離線詞匯嵌入可以重新參數(shù)化為卷積或線性層的權(quán)重以進(jìn)行部署。
????????Text-guided CSPLayer:如圖4所示,自頂向下或自底向上融合后利用跨階段部分層(CSPLayer)。我們通過將文本引導(dǎo)合并到多尺度圖像特征中來擴(kuò)展[19]的CSPLayer(也稱為C2f),以形成文本引導(dǎo)的CSPLayer。具體來說,給定文本嵌入 W 和圖像特征,我們在最后一個dark bottleneck塊之后采用 max-sigmoid attention 將文本特征聚合為圖像特征:
其中更新后的 與跨階段特征連接作為輸出。δ 表示 sigmoid 函數(shù)。?
????????Image-Pooling Attention:為了用圖像感知信息增強(qiáng)文本嵌入,我們提出 Image-Pooling Attention來聚合圖像特征以更新文本嵌入。我們沒有直接在圖像特征上使用交叉注意,而是利用多尺度特征上的最大池化來獲得3 × 3區(qū)域,總共有27個patch tokens。然后文本嵌入通過以下方式更新:
3.4. 預(yù)訓(xùn)練方案
????????在本節(jié)中,我們將介紹在大規(guī)模檢測、grounding和圖像文本數(shù)據(jù)集上進(jìn)行YOLO-World 預(yù)訓(xùn)練的方案。
????????Learning from Region-Text Contrastive Loss:給定馬賽克樣本 I 和文本 T,YOLO-World 輸出 K 個對象預(yù)測 以及注釋。我們遵循 [19] 并利用任務(wù)對齊的標(biāo)簽分配 [8] 將預(yù)測與基本事實注釋進(jìn)行匹配,并將每個正預(yù)測與文本索引分配為分類標(biāo)簽。基于這個詞匯表,我們通過對象-文本(區(qū)域-文本)相似性和對象-文本分配之間的交叉熵構(gòu)建區(qū)域-文本對比損失 Lcon。此外,我們采用 IoU 損失和分布式焦點損失進(jìn)行邊界框回歸,總訓(xùn)練損失定義為:,其中 λI 是一個指標(biāo)因子,當(dāng)輸入圖像 I 來自檢測或grounding數(shù)據(jù)時設(shè)置為 1,當(dāng)它來自圖像文本數(shù)據(jù)時設(shè)置為 0。考慮到圖像-文本數(shù)據(jù)集有噪聲框,我們只計算具有精確邊界框的樣本的回歸損失。
????????Pseudo Labeling with Image-Text Data:我們提出了一種自動標(biāo)記方法來生成區(qū)域-文本對,而不是直接使用圖像-文本對進(jìn)行預(yù)訓(xùn)練。具體來說,標(biāo)記方法包括三個步驟:(1)提取名詞短語:我們首先利用 n-gram 算法從文本中提取名詞短語; (2) 偽標(biāo)記:我們采用預(yù)訓(xùn)練的開放詞匯檢測器,例如 GLIP [23],為每個圖像生成給定名詞短語的偽框,從而提供粗略的區(qū)域-文本對。(3)過濾:我們使用預(yù)訓(xùn)練的 CLIP [36] 來評估圖像-文本對和區(qū)域-文本對的相關(guān)性,并過濾低相關(guān)性的偽注釋和圖像。我們通過結(jié)合非最大抑制 (NMS) 等方法進(jìn)一步過濾冗余邊界框。我們建議讀者參閱附錄以獲得詳細(xì)的方法。通過上述方法,我們使用 821k 偽注釋從 CC3M [44] 中采樣和標(biāo)記 246k 圖像。
4. 實驗
文章來源:http://www.zghlxwxcb.cn/news/detail-833091.html
5. 結(jié)論
????????我們提出了 YOLO-World,這是一種尖端的實時開放詞匯檢測器,旨在提高實際應(yīng)用中的效率和開放詞匯能力。在本文中,我們將流行的 YOLO 重塑為視覺語言 YOLO 架構(gòu),用于開放詞匯預(yù)訓(xùn)練和檢測,并提出了 RepVL-PAN,它將視覺和語言信息與網(wǎng)絡(luò)連接起來,并且可以重新參數(shù)化以實現(xiàn)高效的部署。我們進(jìn)一步提出了檢測、接地和圖像文本數(shù)據(jù)的有效預(yù)訓(xùn)練方案,使YOLOWorld具有較強(qiáng)的開放詞匯檢測能力。實驗證明了 YOLO-World 在速度和開放詞匯性能方面的優(yōu)越性,并表明視覺語言預(yù)訓(xùn)練在小模型的有效性,這對未來的研究有見地。我們希望 YOLO-World 可以作為解決現(xiàn)實世界開放詞匯檢測的新基準(zhǔn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-833091.html
到了這里,關(guān)于YOLO-World:實時開放詞匯目標(biāo)檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!