新網(wǎng)站做百度推廣 收錄百度關(guān)鍵詞查詢排名怎么查
框架的主要成分稱為 DEtection TRansformer 或 DETR,是基于集合的全局損失,它通過二分匹配強(qiáng)制進(jìn)行獨(dú)特的預(yù)測,以及 Transformer 編碼器-解碼器架構(gòu)。
DETR 會(huì)推理對象與全局圖像上下文的關(guān)系,以直接并行輸出最終的預(yù)測集。
1.?介紹
對象檢測的目標(biāo)是預(yù)測每個(gè)感興趣對象的一組邊界框和類別標(biāo)簽。
在計(jì)算機(jī)圖形學(xué)和圖像處理中,錨點(diǎn)(Anchor Point)是一個(gè)特定的位置,通常用于描述圖像中的特征點(diǎn)或區(qū)域。它可以是單個(gè)像素點(diǎn),也可以是一個(gè)更復(fù)雜的區(qū)域如矩形或橢圓。錨點(diǎn)的主要作用是為圖像處理和計(jì)算機(jī)視覺任務(wù)提供一個(gè)參考點(diǎn),以便更準(zhǔn)確地描述和定位圖像中的特征。在目標(biāo)檢測任務(wù)中,錨點(diǎn)用于預(yù)測目標(biāo)物體的位置和大小;在圖像匹配任務(wù)中,它幫助找到圖像中的相似區(qū)域。
DETR 通過將通用 CNN 與 Transformer 架構(gòu)相結(jié)合來直接(并行)預(yù)測最終的檢測集。
二分匹配:模型的預(yù)測結(jié)果(包括坐標(biāo)和類別概率)與真實(shí)框之間會(huì)進(jìn)行最優(yōu)的一一配對,即每個(gè)預(yù)測結(jié)果都會(huì)與一個(gè)真實(shí)框(或背景類,如果沒有真實(shí)框與之匹配)進(jìn)行匹配。?
通過將對象檢測視為直接集合預(yù)測問題來簡化訓(xùn)練流程。我們采用基于 Transformer 的編碼器-解碼器架構(gòu),這是一種流行的序列預(yù)測架構(gòu)。 Transformer 的自注意力機(jī)制明確地模擬了序列中元素之間的所有成對交互,使這些架構(gòu)特別適合集合預(yù)測的特定約束,例如刪除重復(fù)的預(yù)測。
DEtection TRansformer(DETR)會(huì)同時(shí)預(yù)測所有對象,并使用一組損失函數(shù)進(jìn)行端到端訓(xùn)練,該函數(shù)在預(yù)測對象和真實(shí)對象之間執(zhí)行二分匹配。DETR 通過刪除多個(gè)手工設(shè)計(jì)的編碼先驗(yàn)知識的組件(例如空間錨點(diǎn)或非極大值抑制)來簡化檢測流程。
DETR 的主要特征是二分匹配損失和Transformer與(非自回歸)并行解碼的結(jié)合。
2. 相關(guān)工作
我們的工作建立在多個(gè)領(lǐng)域的先前工作的基礎(chǔ)上:集合預(yù)測的二分匹配損失、基于Transformer的編碼器-解碼器架構(gòu)、并行解碼和對象檢測方法。
2.1 集合預(yù)測
基本的集合預(yù)測任務(wù)是多標(biāo)簽分類,這些任務(wù)中的第一個(gè)困難是避免近似重復(fù)。當(dāng)前大多數(shù)檢測器使用非極大值抑制等后處理來解決此問題,但直接集預(yù)測無需后處理。他們需要全局推理方案來對所有預(yù)測元素之間的交互進(jìn)行建模,以避免冗余。
后處理主要用于對目標(biāo)檢測算法的輸出進(jìn)行調(diào)整和優(yōu)化,以提高檢測結(jié)果的準(zhǔn)確性和穩(wěn)定性
損失函數(shù)應(yīng)該通過預(yù)測的排列而保持不變。通常的解決方案是基于匈牙利算法設(shè)計(jì)損失,以找到真實(shí)值和預(yù)測之間的二分匹配。
匈牙利算法https://blog.csdn.net/qq_52302919/article/details/132170356
2.2 Transformer和并行解碼
Transformer,作為機(jī)器翻譯的新的基于注意力的構(gòu)建塊。注意力機(jī)制 是聚合來自整個(gè)輸入序列的信息的神經(jīng)網(wǎng)絡(luò)層。 Transformer 引入了自注意力層,與非局部神經(jīng)網(wǎng)絡(luò)類似,它掃描序列的每個(gè)元素,并通過聚合整個(gè)序列的信息來更新它?;谧⒁饬Φ哪P偷闹饕獌?yōu)點(diǎn)之一是它們的全局計(jì)算和完美的記憶,這使得它們比 RNN 更適合長序列。
RNN循環(huán)神經(jīng)網(wǎng)絡(luò)https://blog.csdn.net/zyf918/article/details/136172798
Transformer 最初用于自回歸模型,遵循早期的序列到序列模型 ,一一生成輸出標(biāo)記。結(jié)合了變壓器和并行解碼,以在計(jì)算成本和執(zhí)行集合預(yù)測所需的全局計(jì)算的能力之間進(jìn)行適當(dāng)?shù)臋?quán)衡。
Transformer模型中,并行解碼(Parallel Decoding)指的是解碼器(Decoder)部分能夠同時(shí)處理多個(gè)輸出位置,而不是像傳統(tǒng)的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)那樣逐個(gè)位置地順序生成輸出。
2.3 對象檢測
大多數(shù)現(xiàn)代物體檢測方法都會(huì)根據(jù)一些初始猜測進(jìn)行預(yù)測。在我們的模型中,通過使用絕對框預(yù)測直接預(yù)測檢測集來簡化檢測過程。輸入圖像而不是錨點(diǎn)。
基于集合的損失
一些物體檢測器使用了二分匹配損失。然而,在這些早期的深度學(xué)習(xí)模型中,不同預(yù)測之間的關(guān)系僅使用卷積層或全連接層進(jìn)行建模。最近的檢測器使用地面實(shí)況和預(yù)測之間的非唯一分配規(guī)則以及 NMS(非極大值抑制)。
NMS的主要目的是解決目標(biāo)檢測算法輸出目標(biāo)框時(shí)的重疊問題。在目標(biāo)檢測任務(wù)中,算法通常會(huì)生成多個(gè)候選框來表示可能包含目標(biāo)的區(qū)域。這些候選框往往會(huì)有一定的重疊,NMS的作用就是對這些重疊的候選框進(jìn)行篩選,以保留最優(yōu)的檢測結(jié)果。
可學(xué)習(xí)的 NMS 方法和關(guān)系網(wǎng)絡(luò)通過注意力顯式地建模不同預(yù)測之間的關(guān)系。使用直接設(shè)置損失。然而,這些方法采用額外的手工制作的上下文特征? 來有效地建模檢測之間的關(guān)系,同時(shí)我們尋找減少模型中編碼的先驗(yàn)知識的解決方案。
循環(huán)檢測器
最接近的方法的是對象檢測和實(shí)例分割的端到端集合預(yù)測。
使用基于 CNN 激活的編碼器-解碼器架構(gòu)的二分匹配損失來直接生成一組邊界框。
3. DETR模型
對于檢測中的直接集合預(yù)測來說,有兩個(gè)要素至關(guān)重要:
(1) 集合預(yù)測損失,強(qiáng)制預(yù)測框和真實(shí)框之間進(jìn)行唯一匹配;
(2) 一種能夠(在一次傳遞中)預(yù)測一組對象并對其關(guān)系進(jìn)行建模的架構(gòu)。
3.1?對象檢測集預(yù)測損失
DETR 在通過解碼器的單次傳遞中推斷出一組固定大小的 N 個(gè)預(yù)測,其中 N 設(shè)置為明顯大于圖像中對象的典型數(shù)量。訓(xùn)練的主要困難之一是根據(jù)真實(shí)情況對預(yù)測對象(類別、位置、大小)進(jìn)行評分。我們的損失在預(yù)測對象和真實(shí)對象之間產(chǎn)生最佳二分匹配,然后優(yōu)化特定于對象(邊界框)的損失。
y 表示對象的真實(shí)集合,并且?表示 N 個(gè)預(yù)測的集合。假設(shè) N 大于圖像中的對象數(shù)量,我們也將 y 視為大小為 N 的集合,并用
?填充。為了找到這兩個(gè)集合之間的二分匹配,我們以最低成本搜索 N 個(gè)元素
的排列:
其中是真實(shí)值
和索引為
的預(yù)測之間的成對匹配成本。
匹配成本考慮了類別預(yù)測以及預(yù)測框和地面實(shí)況框的相似性。
真實(shí)集的每個(gè)元素 i 都可以視為 ,其中
是目標(biāo)類標(biāo)簽(可能是
),
是一個(gè)向量,定義真實(shí)框中心坐標(biāo)及其相對于圖像大小的高度和寬度。
對于索引為 的預(yù)測,我們將類
的概率定義為
,將預(yù)測框定義為
。利用這些符號,我們將
定義為
。需要找到一對一的匹配來進(jìn)行直接集預(yù)測,而無需重復(fù)。
邊界框損失
我們的框損失是定義為:
3.2 DETR架構(gòu)
一個(gè)用于提取緊湊特征表示的 CNN 主干、一個(gè)編碼器-解碼器 Transformer 以及一個(gè)簡單的前饋網(wǎng)絡(luò) (FFN),該網(wǎng)絡(luò)用于提取緊湊的特征表示。做出最終的檢測預(yù)測。
主干
從初始圖像開始,傳統(tǒng)的 CNN 主干網(wǎng)生成較低分辨率的激活圖
,使用的典型值為 C = 2048 和
。
Transformer編碼器
首先,1x1 卷積將高級激活圖 f 的通道維度從 C 減少到更小的維度 d。創(chuàng)建新的特征圖
。編碼器期望一個(gè)序列作為輸入,因此我們將?
?的空間維度折疊為一維,從而產(chǎn)生 d×HW 的特征圖。每個(gè)編碼器層都有一個(gè)標(biāo)準(zhǔn)架構(gòu),由多頭自注意力模塊和前饋網(wǎng)絡(luò)(FFN)組成。由于 Transformer 架構(gòu)是排列不變的,我們用固定位置編碼對其進(jìn)行補(bǔ)充,并將其添加到每個(gè)注意層的輸入中。
Transformer解碼器
解碼器遵循 Transformer 的標(biāo)準(zhǔn)架構(gòu),使用多頭自注意力機(jī)制和編碼器-解碼器注意力機(jī)制來轉(zhuǎn)換大小為 d 的 N 個(gè)嵌入。與原始 Transformer 的區(qū)別在于,我們的模型在每個(gè)解碼器層并行解碼 N 個(gè)對象,由于解碼器也是排列不變的,因此 N 個(gè)輸入嵌入必須不同才能產(chǎn)生不同的結(jié)果。這些輸入嵌入是學(xué)習(xí)的位置編碼,我們將其稱為對象查詢。
N 個(gè)對象查詢被解碼器轉(zhuǎn)換為輸出嵌入。然后通過前饋網(wǎng)絡(luò)將它們獨(dú)立解碼為框坐標(biāo)和類標(biāo)簽,從而產(chǎn)生 N 個(gè)最終預(yù)測。利用對這些嵌入的自注意力和編碼器-解碼器注意力,該模型使用它們之間的成對關(guān)系對所有對象進(jìn)行全局推理,同時(shí)能夠使用整個(gè)圖像作為上下文。
預(yù)測前饋網(wǎng)絡(luò)(FFNs)
最終預(yù)測由具有 ReLU 激活函數(shù)和隱藏維度 d 的 3 層感知器以及線性投影層計(jì)算。FFN 預(yù)測框的標(biāo)準(zhǔn)化中心坐標(biāo)、高度和寬度。輸入圖像,線性層使用 softmax 函數(shù)預(yù)測類標(biāo)簽。
輔助解碼損失
在每個(gè)解碼器層之后添加預(yù)測 FFN 和匈牙利損失。所有預(yù)測 FFN 共享其參數(shù)。
使用額外的共享層范數(shù)來規(guī)范化來自不同解碼器層的預(yù)測 FFN 的輸入。