一、導(dǎo)讀
論文題目:具有條件匹配的開放詞匯表DETR
開放詞匯對象檢測是指在自然語言的引導(dǎo)下對新對象進(jìn)行檢測的問題,越來越受到社會的關(guān)注。理想情況下,我們希望擴(kuò)展一個開放詞匯表檢測器,這樣它就可以基于自然語言或范例圖像形式的用戶輸入生成邊界框預(yù)測。這為人機(jī)交互提供了極大的靈活性和用戶體驗(yàn)。為此,我們提出了一種新的基于DETR的開放詞匯檢測器,因此命名為OV-DETR,一旦訓(xùn)練,它可以檢測任何給定其類名或樣本圖像的對象。
將DETR轉(zhuǎn)變?yōu)殚_放詞匯檢測器的最大挑戰(zhàn)是,如果不訪問新類的標(biāo)記圖像,就不可能計算新類的分類成本矩陣。為了克服這一挑戰(zhàn),我們將學(xué)習(xí)目標(biāo)制定為輸入查詢(類名或示例圖像)與相應(yīng)對象之間的二進(jìn)制匹配目標(biāo),從而學(xué)習(xí)有用的對應(yīng)關(guān)系,以便在測試期間推廣到未見過的查詢。對于訓(xùn)練,我們選擇將Transformer解碼器設(shè)置在從預(yù)訓(xùn)練的視覺語言模型(如CLIP)獲得的輸入嵌入上,以便對文本和圖像查詢進(jìn)行匹配。通過在LVIS和COCO數(shù)據(jù)集上的大量實(shí)驗(yàn),我們證明了OV-DETR—第一個端到端基于變壓器的開放詞匯檢測器——比目前的技術(shù)水平取得了重大改進(jìn)。
在計算機(jī)視覺中,“binary matching”(二進(jìn)制匹配)通常指的是一種圖像特征匹配的方法,用于比較兩幅圖像之間的相似性。
具體來說,二進(jìn)制匹配常用于描述二進(jìn)制特征描述符,例如二進(jìn)制局部二進(jìn)制模式(Local Binary Patterns, LBP)或二進(jìn)制描述子(Binary Descriptors)。這些特征描述符將圖像中的局部區(qū)域編碼為二進(jìn)制形式,以表示該區(qū)域的紋理、形狀或其他重要特征。
在二進(jìn)制匹配的過程中,首先需要提取圖像中的特征描述符,然后將其轉(zhuǎn)換為二進(jìn)制形式。對于每個描述符,會將其與其他描述符進(jìn)行比較,以計算它們之間的相似性。通常使用一種距離度量(如漢明距離)來衡量兩個二進(jìn)制描述符之間的差異。如果二進(jìn)制描述符之間的差異小于某個閾值,則認(rèn)為它們匹配成功。
通過進(jìn)行二進(jìn)制匹配,可以在圖像中找到相似的局部特征或?qū)ο螅缭谀繕?biāo)檢測、圖像配準(zhǔn)、物體識別和圖像檢索等領(lǐng)域中。二進(jìn)制匹配方法通常具有計算效率高、魯棒性好等特點(diǎn),使其在實(shí)際應(yīng)用中具有廣泛的應(yīng)用前景。
二、介紹
目標(biāo)檢測是一項(xiàng)基本的計算機(jī)視覺任務(wù),旨在定位圖像中具有緊密邊界框的對象,由于深度學(xué)習(xí)的出現(xiàn),在過去十年中取得了顯著進(jìn)展。然而,大多數(shù)目標(biāo)檢測算法在詞匯量方面是不可擴(kuò)展的,即它們僅限于檢測數(shù)據(jù)集中定義的一組固定的目標(biāo)類別。例如,在COCO上訓(xùn)練的對象檢測器只能檢測80個類,并且無法處理超出訓(xùn)練類的新類。
檢測新類的一種直接方法是收集它們的訓(xùn)練圖像并將其添加到原始數(shù)據(jù)集中,然后重新訓(xùn)練或微調(diào)檢測模型。然而,由于數(shù)據(jù)收集和模型訓(xùn)練的巨大成本,這既不切實(shí)際又效率低下。
最近,開放詞匯檢測(open-vocabulary detection),一種利用大型預(yù)訓(xùn)練語言模型的新公式,越來越受到社區(qū)的關(guān)注。現(xiàn)有工作的中心思想是將檢測器的特征與在CLIP等大規(guī)模圖像-文本對上預(yù)訓(xùn)練的模型提供的嵌入對齊。通過這種方式,我們可以使用對齊的分類器僅從描述文本中識別新類。
使用 conditional queries 的基于rpn的檢測器和基于OpenVocabulary transformer的檢測器(OV-DETR)之間的比較。在閉集對象類上訓(xùn)練的RPN很容易忽略新類(例如,“貓”區(qū)域接收到的響應(yīng)很少)。因此,這個例子中的貓在很大程度上被忽略了,幾乎沒有建議。相比之下,我們的OV-DETR被訓(xùn)練來執(zhí)行條件查詢與其對應(yīng)框之間的匹配,這有助于學(xué)習(xí)可以推廣到來自未見類的查詢的對應(yīng)關(guān)系。注意,我們可以以文本(類名)或范例圖像的形式接受輸入查詢,這為開放詞匯表對象檢測提供了更大的靈活性。
現(xiàn)有開放詞匯檢測器的一個主要問題是,它們依賴于region proposals,由于缺乏訓(xùn)練數(shù)據(jù),通常不可靠地覆蓋圖像中的所有新類別,參見圖1(A)。最近的一項(xiàng)研究也發(fā)現(xiàn)了這個問題,該研究表明,區(qū)域建議網(wǎng)絡(luò)(RPN)的二值性很容易導(dǎo)致對已知類別的過擬合(從而無法推廣到新的類別)。
在本文中,我們提出在Transformer框架下訓(xùn)練端到端的開放詞匯檢測器,目的是在不使用中間RPN的情況下,提高新類別的泛化能力。為此,我們提出了一種新的基于DETR的開放詞匯檢測器—因此被命名為OV-DETR—它被訓(xùn)練來檢測給定類名或樣本圖像的任何對象。這將比僅從自然語言中進(jìn)行傳統(tǒng)的開放詞匯檢測提供更大的靈活性。
盡管端到端DETR訓(xùn)練很簡單,但將其轉(zhuǎn)換為開放詞匯表檢測器并非易事。最大的挑戰(zhàn)是無法計算沒有訓(xùn)練標(biāo)簽的新類的分類成本。為了克服這一挑戰(zhàn),我們將學(xué)習(xí)目標(biāo)重新定義為輸入查詢(類名或樣本圖像)與相應(yīng)對象之間的二元匹配。這種對不同訓(xùn)練對的匹配損失允許學(xué)習(xí)有用的對應(yīng)關(guān)系,可以在測試期間推廣到看不見的查詢。對于訓(xùn)練,我們擴(kuò)展了DETR的Transformer解碼器以接受條件輸入查詢。
具體來說,我們根據(jù)預(yù)訓(xùn)練的視覺語言模型CLIP獲得的查詢嵌入來調(diào)整Transformer解碼器,以便對文本或圖像查詢執(zhí)行條件匹配。圖1顯示了這個高級思想,它在檢測新類方面比基于rpn的閉集檢測器更好。
我們在兩個具有挑戰(zhàn)性的開放詞匯目標(biāo)檢測數(shù)據(jù)集上進(jìn)行了全面的實(shí)驗(yàn),并顯示出性能的一致改進(jìn)。具體而言,我們的OV-DETR方法在開放詞匯LVIS數(shù)據(jù)集上實(shí)現(xiàn)了17.4個新類的mask mAP,在開放詞匯COCO數(shù)據(jù)集上實(shí)現(xiàn)了29.4個新類的box mAP,分別比SOTA方法高出1.3 mAP和1.8 mAP。
三、Open-Vocabulary DETR
我們的目標(biāo)是設(shè)計一個簡單而有效的開放詞匯對象檢測器,它可以檢測由任意文本輸入或示例圖像描述的對象。我們以DETR的成功為基礎(chǔ),將對象檢測作為端到端集合匹配問題(在封閉類之間),從而消除了對錨生成和非最大值抑制等手工組件的需求。這個管道使其成為構(gòu)建端到端開放詞匯表對象檢測器的合適框架。
然而,將具有閉集匹配的標(biāo)準(zhǔn)DETR改造為開放詞匯表檢測器(需要對未見過的類進(jìn)行匹配)是非常重要的。對于這種開集匹配,一種直觀的方法是學(xué)習(xí)一個與類別無關(guān)的模塊(例如,ViLD)來處理所有的類。但是,這仍然無法匹配那些沒有標(biāo)記圖像的開放詞匯表類。
引導(dǎo)我們將固定的集合匹配目標(biāo)重新表述為條件輸入(文本或圖像查詢)和檢測輸出之間的條件二進(jìn)制匹配目標(biāo)。
我們的開放詞匯表DETR概述如下圖所示。在高層次上,DETR首先將 query embeddings (文本或圖像)作為從預(yù)訓(xùn)練的CLIP模型中獲得的條件輸入,然后對檢測結(jié)果施加二值匹配損失來衡量它們的匹配性。
OV-DETR概述。與標(biāo)準(zhǔn)的DETR不同,我們的方法不會為一組封閉的類分離“對象”和“非對象”。相反,OV-DETR通過測量一些條件輸入(來自CLIP的文本或示例圖像嵌入)與檢測結(jié)果之間的匹配性(“匹配”與“不匹配”)來執(zhí)行開放詞匯檢測。我們展示了這種管道可以靈活地檢測具有任意文本或圖像輸入的開放詞匯表類。
3.1 重新審視DETR中的閉集匹配
對于輸入圖像 x x x,一個標(biāo)準(zhǔn)的 DETR 推斷出 N N N 個對象預(yù)測 y y y,其中 N N N 由作為可學(xué)習(xí)位置編碼的 object queries q q q 的固定大小決定。DETR 管道的單次傳遞由兩個主要步驟組成:(i)集預(yù)測,(ii)最優(yōu)二部匹配。
Set Prediction:
給定輸入圖像
x
x
x,全局上下文表示
c
c
c 首先由 CNN 主干
f
?
f_{\phi}
f?? 提取,然后由 Transformer 編碼器
h
Φ
h_{\Phi}
hΦ? 提取:
c
=
h
Φ
(
f
?
(
x
)
)
c = h_{\Phi}(f_{\phi}(x))
c=hΦ?(f??(x))
其中,輸出
c
c
c 表示
q
q
q 的特征嵌入序列。將上下文特征
c
c
c 和對象查詢q作為輸入,Transformer解碼器
h
θ
h_{\theta}
hθ? (帶有預(yù)測頭)然后產(chǎn)生集合預(yù)測:
y
^
=
{
y
i
^
}
i
=
1
N
\hat{y} = \{\hat{y_i}\}_{i=1}^N
y^?={yi?^?}i=1N?
y ^ = h θ ( c , q ) \hat{y} = h_{\theta}(c, q) y^?=hθ?(c,q)
其中, y ^ \hat{y} y^? 包含封閉訓(xùn)練類集的邊界框預(yù)測值 b ^ \hat b^ 和類預(yù)測值 p ^ \hat{p} p^?。
3.2 最優(yōu)二部匹配
最優(yōu)二部匹配(Optimal Bipartite Matching)是尋找 N N N 個預(yù)測集合 y ^ \hat{y} y^? 與基礎(chǔ)真對象集合 y = { y i } i = 1 M y = \{y_i\}_{i=1}^M y={yi?}i=1M? (不包括對象 ? )之間的最佳匹配。具體來說,需要搜索N個元素 σ∈ S n S_n Sn?的一個匹配代價最低的排列:
注意
L
c
o
s
t
L_{cost}
Lcost? 由類預(yù)測
L
c
l
s
(
p
,
p
^
)
L_{cls} (p, \hat{p})
Lcls?(p,p^?) 和邊界盒定位
L
b
o
x
(
b
,
b
^
)
L_{box}(b, \hat)
Lbox?(b,b^) 的損失組成。整個二部匹配過程產(chǎn)生一對一的標(biāo)簽分配,其中每個預(yù)測
y
i
y_i
yi? 被分配給一個基真注釋
y
j
y_j
yj? 或 ? (無對象)。匈牙利算法可以有效地找到最優(yōu)分配。
如上所述,二分匹配方法不能直接應(yīng)用于包含基類和新類的開放詞匯表設(shè)置。原因是計算上式中的匹配代價需要訪問標(biāo)簽信息,這對于新類是不可用的。我們可以遵循以前的工作來生成可能涵蓋新類的類別不可知論對象建議,但我們不知道這些建議的真實(shí)分類標(biāo)簽。因此,由于缺乏訓(xùn)練標(biāo)簽,對 N 個對象查詢的預(yù)測不能推廣到新的類。如下圖所示,只能對具有可用訓(xùn)練標(biāo)簽的基類進(jìn)行二部匹配。
比較DETR和OV-DETR的標(biāo)簽分配機(jī)制。
(a)在原始的DETR中,集合到集合的預(yù)測是通過預(yù)測與閉集注釋的二部匹配進(jìn)行的,其中有一個關(guān)于查詢和類別的代價矩陣。由于缺乏新類的類標(biāo)簽注釋,計算這種特定于類的成本矩陣是不可能的。
(b)相反,我們的OV-DETR將開放詞匯檢測轉(zhuǎn)換為條件匹配過程,并制定了一個二元匹配問題,該問題計算條件輸入的類別不可知匹配成本矩陣。
四、Conditional Matching for Open-Vocabulary Detection
為了使DETR超越閉集分類并執(zhí)行開放詞匯檢測,我們?yōu)門ransformer解碼器配備了條件輸入,并將學(xué)習(xí)目標(biāo)重新表述為二進(jìn)制匹配問題。
4.1 Conditional Inputs
給定一個具有所有訓(xùn)練(基)類的標(biāo)準(zhǔn)注釋的對象檢測數(shù)據(jù)集,我們需要將這些注釋轉(zhuǎn)換為條件輸入,以促進(jìn)我們的新訓(xùn)練范式。具體來說,對于每一個邊界框?yàn)? b i b_i bi?,類標(biāo)簽名為 y i c l a s s y_i^{class} yiclass? 的真值標(biāo)注,我們使用CLIP模型生成它們對應(yīng)的圖像嵌入 z i i m a g e z_i^{image} ziimage? 和文本嵌入 z i t e x t z_i^{text} zitext?:
這樣的圖像和文本嵌入已經(jīng)被CLIP模型很好地對齊了。
因此,我們可以選擇它們中的任何一個作為輸入 queries 來約束 DETR 的解碼器并訓(xùn)練以匹配相應(yīng)的對象。一旦訓(xùn)練完成,我們就可以在測試期間使用任意輸入查詢來執(zhí)行開放詞匯表檢測。為了確保圖像和文本查詢條件下的訓(xùn)練相等,我們隨機(jī)選擇概率為 ξ = 0.5 的 z i t e x t z_i^{text} zitext? 或 z i i m a g e z_i^{image} ziimage? 作為條件輸入。
此外,我們遵循先前的工作,為新類生成額外的對象建議,以豐富我們的訓(xùn)練數(shù)據(jù)。我們只提取圖像嵌入zimage i作為條件輸入的新類建議,因?yàn)樗鼈兊念惷麩o法提取文本嵌入。
4.2 Conditional Matching
我們的核心訓(xùn)練目標(biāo)是衡量條件輸入嵌入和檢測結(jié)果之間的匹配度。為了執(zhí)行這樣的條件匹配,我們從一個全連接層 F p r o j F_{proj} Fproj? 開始,將條件輸入嵌入( z i t e x t z_i^{text} zitext? 或 z i i m a g e z_i^{image} ziimage?)投影為與 q q q 具有相同的維度。然后,對DETR解碼器的輸入q ’ 給出:
其中,我們使用一個簡單的加法操作⊕將類無關(guān)的對象查詢q轉(zhuǎn)換為由
F
p
r
o
j
(
z
i
m
o
d
)
F_{proj}(z_i^{mod})
Fproj?(zimod?) 通知的類特定的q '。
在實(shí)踐中,將條件輸入嵌入 z z z 僅添加到一個 object query 中,將導(dǎo)致對可能在圖像中出現(xiàn)多次的目標(biāo)對象的覆蓋非常有限。事實(shí)上,在現(xiàn)有的目標(biāo)檢測數(shù)據(jù)集中,每個圖像中通常有來自相同或不同類別的多個對象實(shí)例。豐富的訓(xùn)練信號條件匹配,我們?yōu)閷ο蟛樵? q q q 復(fù)制 R R R 次,和條件輸入( z i t e x t z_i^{text} zitext? 或 z i i m a g e z_i^{image} ziimage? ) N 次執(zhí)行調(diào)節(jié)在上面的等式。因此,我們一共獲得 N × R N \times R N×R queries 匹配在每個傳球前進(jìn),如下圖所示(b):
具有(a)單個條件輸入或(b)多個條件并行輸入的DETR解碼器。
給定條件查詢特征q ',我們的標(biāo)簽分配的二值匹配損失為:
其中
L
m
a
t
c
h
(
p
,
p
σ
^
)
L_{match} (p, \hat{p_{\sigma}})
Lmatch?(p,pσ?^?) 表示替換分類損失
L
c
l
s
(
p
,
p
σ
^
)
L_{cls} (p, \hat{p_{\sigma}})
Lcls?(p,pσ?^?) 的新匹配損失。在我們的例子中,
p
p
p 是一個一維 sigmoid 型概率向量,表征匹配性(“匹配”與“不匹配”),
L
m
a
t
c
h
L_{match}
Lmatch? 簡單地通過預(yù)測的
p
σ
^
\hat{p_{\sigma}}
pσ?^? 與GT值
p
p
p 之間的 Focal loss
L
F
o
c
a
l
L_{Focal}
LFocal? 來實(shí)現(xiàn)。例如,使用“bird”查詢作為輸入,我們的匹配損失應(yīng)該允許我們匹配一張圖像中的所有鳥類實(shí)例。同時將來自其他類的實(shí)例標(biāo)記為“不匹配”。
五、Inference
在測試過程中,對于每張圖像,我們將所有基類 + 新穎類的文本嵌入 z t e x t z^{text} ztext 發(fā)送給模型,并通過選擇預(yù)測得分最高的前 k 個預(yù)測來合并結(jié)果。我們遵循先前的工作,對COCO數(shù)據(jù)集使用 k = 100,對LVIS數(shù)據(jù)集使用 k = 300。為了獲得上下文表示 c,我們通過CNN主干 f φ f_φ fφ?和變壓器編碼器 h ψ h_ψ hψ? 轉(zhuǎn)發(fā)輸入圖像。注意c只計算一次,并且為了效率起見,所有條件輸入都是共享的。然后,來自不同類的條件對象查詢被并行發(fā)送到Transformer解碼器。在實(shí)踐中,我們復(fù)制對象查詢R次,如圖4 (b)所示。
六、實(shí)驗(yàn)
數(shù)據(jù)集。我們分別在由 LVIS 和 COCO 修改的兩個標(biāo)準(zhǔn)開放詞匯檢測基準(zhǔn)上對我們的方法進(jìn)行了評估。LVIS 包含100K個圖像,1203個分類。根據(jù)訓(xùn)練圖像的數(shù)量將類分為三組,即頻繁類、常見類和罕見類。
根據(jù)ViLD,我們將337個罕見的課程作為新課程,只使用頻繁和常見的課程進(jìn)行培訓(xùn)。COCO 數(shù)據(jù)集是一個廣泛使用的對象檢測基準(zhǔn),它由80個類組成。根據(jù)OVR-CNN,我們將COCO中的類劃分為48個基本類別和17個新類別,同時在WordNet層次結(jié)構(gòu)中刪除了15個沒有同義詞集的類別。訓(xùn)練集與完整的COCO相同,但只使用包含至少一個基類的圖像。我們將這兩個基準(zhǔn)分別稱為OV-L VIS和OV-COCO。
文章來源:http://www.zghlxwxcb.cn/news/detail-812156.html
現(xiàn)在我們將DETR的默認(rèn)閉集標(biāo)記賦值替換為我們建議的條件二進(jìn)制匹配。表第2-3行與表的比較結(jié)果表明,我們的二元匹配策略可以更好地利用來自對象建議的知識,并將APmnovel從9.5提高到17.4。如此大的改進(jìn)表明,在將der系列檢測器應(yīng)用于開放詞匯表設(shè)置時,所提出的條件匹配是必不可少的。文章來源地址http://www.zghlxwxcb.cn/news/detail-812156.html
到了這里,關(guān)于【計算機(jī)視覺 | 目標(biāo)檢測】Open-Vocabulary DETR with Conditional Matching論文解讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!