最近,基于Transformer的端到端檢測器(DETR)已經(jīng)取得了顯著的性能。然而,DETR的高計算成本問題尚未得到有效解決,這限制了它們的實際應(yīng)用,并使它們無法充分利用無后處理的好處,如非最大值抑制(NMS)。
本文首先分析了現(xiàn)代實時目標(biāo)檢測器中NMS對推理速度的影響,并建立了端到端的速度基準(zhǔn)。為了避免NMS引起的推理延遲,作者提出了一種實時檢測Transformer(RT-DETR),這是第一個實時端到端目標(biāo)檢測器。
具體而言,設(shè)計了一種高效的混合編碼器,通過解耦尺度內(nèi)交互和跨尺度融合來高效處理多尺度特征,并提出了IoU感知的查詢選擇,以提高目標(biāo)查詢的初始化。
此外,本文提出的檢測器支持通過使用不同的解碼器層來靈活調(diào)整推理速度,而不需要重新訓(xùn)練,這有助于實時目標(biāo)檢測器的實際應(yīng)用。
RTDETR-L在COCO val2017上實現(xiàn)了53.0%的AP,在T4 GPU上實現(xiàn)了114 FPS,而RT-DETR-X實現(xiàn)了54.8%的AP和74 FPS,在速度和精度方面都優(yōu)于相同規(guī)模的所有YOLO檢測器。
此外,RTDETR-R50實現(xiàn)了53.1%的AP和108 FPS,在精度上比DINO-Deformable-DETR-R50高出2.2%的AP,在FPS上高出約21倍。
1、簡介
目標(biāo)檢測是一項基本的視覺任務(wù),涉及識別和定位圖像中的目標(biāo)?,F(xiàn)代目標(biāo)檢測器有兩種典型的體系結(jié)構(gòu):
基于CNN
基于Transformer
在過去的幾年里,人們對基于CNN的目標(biāo)檢測器進行了廣泛的研究。這些檢測器的架構(gòu)已經(jīng)從最初的兩階段發(fā)展到一階段,并且出現(xiàn)了兩種檢測范式,Anchor-Base和Anchor-Free。這些研究在檢測速度和準(zhǔn)確性方面都取得了重大進展。
基于Transformer的目標(biāo)檢測器(DETR)由于消除了各種手工設(shè)計的組件,如非最大值抑制(NMS),自提出以來,受到了學(xué)術(shù)界的廣泛關(guān)注。該架構(gòu)極大地簡化了目標(biāo)檢測的流水線,實現(xiàn)了端到端的目標(biāo)檢測。
實時目標(biāo)檢測是一個重要的研究領(lǐng)域,具有廣泛的應(yīng)用,如目標(biāo)跟蹤、視頻監(jiān)控、自動駕駛等?,F(xiàn)有的實時檢測器通常采用基于CNN的架構(gòu),在檢測速度和準(zhǔn)確性方面實現(xiàn)了合理的權(quán)衡。然而,這些實時檢測器通常需要NMS進行后處理,這通常難以優(yōu)化并且不夠魯棒,導(dǎo)致檢測器的推理速度延遲。
最近,由于研究人員在加速訓(xùn)練收斂和降低優(yōu)化難度方面的努力,基于Transformer的檢測器取得了顯著的性能。然而,DETR的高計算成本問題尚未得到有效解決,這限制了DETR的實際應(yīng)用,并導(dǎo)致無法充分利用其優(yōu)勢。這意味著,盡管簡化了目標(biāo)檢測流水線,但由于模型本身的計算成本高,很難實現(xiàn)實時目標(biāo)檢測。
上述問題自然啟發(fā)考慮是否可以將DETR擴展到實時場景,充分利用端到端檢測器來避免NMS對實時檢測器造成的延遲。為了實現(xiàn)上述目標(biāo),作者重新思考了DETR,并對其關(guān)鍵組件進行了詳細(xì)的分析和實驗,以減少不必要的計算冗余。
具體而言,作者發(fā)現(xiàn),盡管多尺度特征的引入有利于加速訓(xùn)練收斂和提高性能,但它也會導(dǎo)致編碼器中序列長度的顯著增加。因此,由于計算成本高,Transformer編碼器成為模型的計算瓶頸。為了實現(xiàn)實時目標(biāo)檢測,設(shè)計了一種高效的混合編碼器來取代原來的Transformer編碼器。通過解耦多尺度特征的尺度內(nèi)交互和尺度間融合,編碼器可以有效地處理不同尺度的特征。
此外,先前的工作表明,解碼器的目標(biāo)查詢初始化方案對檢測性能至關(guān)重要。為了進一步提高性能,作者提出了IoU-Aware的查詢選擇,它通過在訓(xùn)練期間提供IoU約束來向解碼器提供更高質(zhì)量的初始目標(biāo)查詢。
此外,作者提出的檢測器支持通過使用不同的解碼器層來靈活調(diào)整推理速度,而不需要重新訓(xùn)練,這得益于DETR架構(gòu)中解碼器的設(shè)計,并有助于實時檢測器的實際應(yīng)用。
本文提出了一種實時檢測Transformer(RT-DETR),這是第一個實時基于Transformer的端到端目標(biāo)檢測器。RT-DETR不僅在精度和速度上優(yōu)于目前最先進的實時檢測器,而且不需要后處理,因此檢測器的推理速度不會延遲并保持穩(wěn)定,充分利用了端到端檢測流水線的優(yōu)勢。
RT-DETR-L在COCO val2017上實現(xiàn)了53.0%的AP,在NVIDIA Tesla T4 GPU上實現(xiàn)了114 FPS,而RT-DETR-X實現(xiàn)了54.8%的AP和74 FPS,在速度和精度方面都優(yōu)于相同規(guī)模的所有YOLO檢測器。因此,RT-DETR成為了一種用于實時目標(biāo)檢測的新的SOTA,如圖1所示。
此外,提出的RT-DETR-R50實現(xiàn)了53.1%的AP和108 FPS,而RT-DETR-R101實現(xiàn)了54.3%的AP和74 FPS。其中,RT-DETR50在準(zhǔn)確度上優(yōu)于DINO-Deformable-DETR-R50 2.2%的AP(53.1%的AP對50.9%的AP),在FPS(108 FPS對5 FPS)上優(yōu)于DINO-Deformable-DETR-R5約21倍。
本文的主要貢獻總結(jié)如下:
提出了第一個實時端到端目標(biāo)檢測器,它不僅在準(zhǔn)確性和速度上優(yōu)于當(dāng)前的實時檢測器,而且不需要后處理,因此推理速度不延遲,保持穩(wěn)定;
詳細(xì)分析了NMS對實時檢測器的影響,并從后處理的角度得出了關(guān)于基于CNN的實時檢測器的結(jié)論;
提出的IoU-Aware查詢選擇在我們的模型中顯示出優(yōu)異的性能改進,這為改進目標(biāo)查詢的初始化方案提供了新的線索;
本文的工作為端到端檢測器的實時實現(xiàn)提供了一個可行的解決方案,并且所提出的檢測器可以通過使用不同的解碼器層來靈活地調(diào)整模型大小和推理速度,而不需要重新訓(xùn)練。
2、相關(guān)方法
2.1、實時目標(biāo)檢測器
經(jīng)過多年的不斷發(fā)展,YOLO系列已成為實時目標(biāo)檢測器的代名詞,大致可分為兩類:
Anchor-Base
Anchor-Free
從這些檢測器的性能來看,Anchor不再是制約YOLO發(fā)展的主要因素。然而,上述檢測器產(chǎn)生了許多冗余的邊界框,需要在后處理階段使用NMS來過濾掉它們。
不幸的是,這會導(dǎo)致性能瓶頸,NMS的超參數(shù)對檢測器的準(zhǔn)確性和速度有很大影響。作者認(rèn)為這與實時目標(biāo)檢測器的設(shè)計理念不兼容。
2.2、端到端目標(biāo)檢測器
端到端目標(biāo)檢測器以其流線型管道而聞名。Carion等人首先提出了基于Transformer的端到端目標(biāo)檢測器,稱為DETR(DEtection Transformer)。它因其獨特的特點而備受關(guān)注。特別地,DETR消除了傳統(tǒng)檢測流水線中手工設(shè)計的Anchor和NMS組件。相反,它采用二分匹配,并直接預(yù)測一對一的對象集。通過采用這種策略,DETR簡化了檢測管道,緩解了NMS帶來的性能瓶頸。
盡管DETR具有明顯的優(yōu)勢,但它存在兩個主要問題:
訓(xùn)練收斂緩慢
查詢難以優(yōu)化
已經(jīng)提出了許多DETR變體來解決這些問題。具體而言,Deformable DETR通過提高注意力機制的效率,加速了多尺度特征的訓(xùn)練收斂。Conditional DETR和Anchor DETR降低了查詢的優(yōu)化難度。DAB-DETR引入4D參考點,并逐層迭代優(yōu)化預(yù)測框。DN-DETR通過引入查詢?nèi)ピ雭砑铀儆?xùn)練收斂。DINO以之前的作品為基礎(chǔ),取得了最先進的成果。
盡管正在不斷改進DETR的組件,但本文的目標(biāo)不僅是進一步提高模型的性能,而且是創(chuàng)建一個實時的端到端目標(biāo)檢測器。
2.3、目標(biāo)檢測的多尺度特征
現(xiàn)代目標(biāo)檢測器已經(jīng)證明了利用多尺度特征來提高性能的重要性,尤其是對于小物體。FPN引入了一種融合相鄰尺度特征的特征金字塔網(wǎng)絡(luò)。隨后的工作擴展和增強了這種結(jié)構(gòu),并被廣泛用于實時目標(biāo)檢測器。Zhu等人首先在DETR中引入了多尺度特征,提高了性能和收斂速度,但這也導(dǎo)致了DETR計算成本的顯著增加。
盡管Deformable Attention制在一定程度上減輕了計算成本,但多尺度特征的結(jié)合仍然會導(dǎo)致較高的計算負(fù)擔(dān)。為了解決這個問題,一些工作試圖設(shè)計計算高效的DETR。Effificient DETR通過初始化具有密集先驗的目標(biāo)查詢來減少編碼器和解碼器層的數(shù)量。Sparse DETR選擇性地更新期望被解碼器引用的編碼器token,從而減少計算開銷。Lite DETR通過以交錯方式降低低級別特征的更新頻率來提高編碼器的效率。盡管這些研究降低了DETR的計算成本,但這些工作的目標(biāo)并不是將DETR作為一種實時檢測器來推廣。
3、檢測器端到端速度
3.1、分析NMS
NMS是檢測中廣泛采用的后處理算法,用于消除檢測器輸出的重疊預(yù)測框。NMS中需要2個超參數(shù):得分閾值和IoU閾值。
特別地,分?jǐn)?shù)低于分?jǐn)?shù)閾值的預(yù)測框被直接過濾掉,并且每當(dāng)2個預(yù)測框的IoU超過IoU閾值時,分?jǐn)?shù)較低的框?qū)⒈粊G棄。重復(fù)執(zhí)行此過程,直到每個類別的所有框都已處理完畢。因此,NMS的執(zhí)行時間主要取決于輸入預(yù)測框的數(shù)量和兩個超參數(shù)。
為了驗證這一觀點,作者利用YOLOv5和YOLOv8進行實驗。首先計算在輸出框被相同輸入圖像的不同得分閾值濾波后剩余的預(yù)測框的數(shù)量。采樣了0.001到0.25的一些分?jǐn)?shù)作為閾值,對兩個檢測器的剩余預(yù)測框進行計數(shù),并將其繪制成直方圖,直觀地反映了NMS易受其超參數(shù)的影響,如圖2所示。
此外,以YOLOv8為例,評估了不同NMS超參數(shù)下COCO val2017的模型準(zhǔn)確性和NMS操作的執(zhí)行時間。
注意,在實驗中采用的NMS后處理操作是指TensorRT efficientNMSPlugin,它涉及多個CUDA內(nèi)核,包括EfficientNMSFilter、RadixSort、EfficientNMS等,作者只報告了EfficientNMS內(nèi)核的執(zhí)行時間。在T4 GPU上測試了速度,上述實驗中的輸入圖像和預(yù)處理是一致的。使用的超參數(shù)和相應(yīng)的結(jié)果如表1所示。
3.2、端到端速度基準(zhǔn)
為了能夠公平地比較各種實時檢測器的端到端推理速度,作者建立了一個端到端速度測試基準(zhǔn)。考慮到NMS的執(zhí)行時間可能會受到輸入圖像的影響,有必要選擇一個基準(zhǔn)數(shù)據(jù)集,并計算多個圖像的平均執(zhí)行時間。該基準(zhǔn)采用COCO val2017作為默認(rèn)數(shù)據(jù)集,為需要后處理的實時檢測器添加了TensorRT的NMS后處理插件。
具體來說,根據(jù)基準(zhǔn)數(shù)據(jù)集上相應(yīng)精度的超參數(shù)測試檢測器的平均推理時間,不包括IO和內(nèi)存復(fù)制操作。利用該基準(zhǔn)測試T4 GPU上基于錨的檢測器YOLOv5和YOLOv7以及Anchor-Free檢測器PP-YOLOE、YOLOv6和YOLOv8的端到端速度。
測試結(jié)果如表2所示。
根據(jù)結(jié)果得出結(jié)論,對于需要NMS后處理的實時檢測器,Anchor-Free檢測器在同等精度上優(yōu)于Anchor-Base的檢測器,因為前者的后處理時間明顯少于后者,這在以前的工作中被忽略了。這種現(xiàn)象的原因是,Anchor-Base的檢測器比Anchor-Free的檢測器產(chǎn)生更多的預(yù)測框(在測試的檢測器中是3倍多)。
4、The Real-time DETR
4.1、方法概覽
所提出的RT-DETR由Backbone、混合編碼器和帶有輔助預(yù)測頭的Transformer解碼器組成。模型體系結(jié)構(gòu)的概述如圖3所示。
具體來說:
首先,利用Backbone的最后3個階段的輸出特征作為編碼器的輸入;
然后,混合編碼器通過尺度內(nèi)交互和跨尺度融合將多尺度特征轉(zhuǎn)換為一系列圖像特征(如第4.2節(jié)所述);
隨后,采用IoU-Aware查詢選擇從編碼器輸出序列中選擇固定數(shù)量的圖像特征,作為解碼器的初始目標(biāo)查詢;
最后,具有輔助預(yù)測頭的解碼器迭代地優(yōu)化對象查詢以生成框和置信度得分。
4.2、高效混合編碼器
1、計算瓶頸分析
為了加速訓(xùn)練收斂并提高性能,Zhu等人建議引入多尺度特征,并提出Deformable Attention機制以減少計算。然而,盡管注意力機制的改進減少了計算開銷,但輸入序列長度的急劇增加仍然導(dǎo)致編碼器成為計算瓶頸,阻礙了DETR的實時實現(xiàn)。
如所述,編碼器占GFLOP的49%,但在Deformable DETR中僅占AP的11%。為了克服這一障礙,作者分析了多尺度Transformer編碼器中存在的計算冗余,并設(shè)計了一組變體,以證明尺度內(nèi)和尺度間特征的同時交互在計算上是低效的。
從包含關(guān)于圖像中的對象的豐富語義信息的低級特征中提取高級特征。直觀地說,對連接的多尺度特征進行特征交互是多余的。如圖5所示,為了驗證這一觀點,作者重新思考編碼器結(jié)構(gòu),并設(shè)計了一系列具有不同編碼器的變體。
該組變體通過將多尺度特征交互解耦為尺度內(nèi)交互和跨尺度融合的兩步操作,逐步提高模型精度,同時顯著降低計算成本。首先刪除了DINO-R50中的多尺度變換編碼器作為基線A。接下來,插入不同形式的編碼器,以產(chǎn)生基于基線A的一系列變體,具體如下:
A→ B:變體B插入一個單尺度Transformer編碼器,該編碼器使用一層Transformer Block。每個尺度的特征共享編碼器,用于尺度內(nèi)特征交互,然后連接輸出的多尺度特征。
B→ C:變體C引入了基于B的跨尺度特征融合,并將連接的多尺度特征輸入編碼器以執(zhí)行特征交互。
C→ D:變體D解耦了多尺度特征的尺度內(nèi)交互和跨尺度融合。首先,使用單尺度Transformer編碼器進行尺度內(nèi)交互,然后使用類PANet結(jié)構(gòu)進行跨尺度融合。
D→ E:變體E進一步優(yōu)化了基于D的多尺度特征的尺度內(nèi)交互和跨尺度融合,采用了設(shè)計的高效混合編碼器。
2、Hybrid design
基于上述分析,作者重新思考了編碼器的結(jié)構(gòu),并提出了一種新的高效混合編碼器。如圖3所示,所提出的編碼器由兩個模塊組成,即基于注意力的尺度內(nèi)特征交互(AIFI)模塊和基于神經(jīng)網(wǎng)絡(luò)的跨尺度特征融合模塊(CCFM)。
AIFI進一步減少了基于變體D的計算冗余,變體D僅在上執(zhí)行尺度內(nèi)交互。作者認(rèn)為,將自注意力操作應(yīng)用于具有更豐富語義概念的高級特征可以捕捉圖像中概念實體之間的聯(lián)系,這有助于后續(xù)模塊對圖像中目標(biāo)的檢測和識別。
同時,由于缺乏語義概念以及與高級特征的交互存在重復(fù)和混淆的風(fēng)險,較低級別特征的尺度內(nèi)交互是不必要的。為了驗證這一觀點,只對變體D中的進行了尺度內(nèi)相互作用,實驗結(jié)果見表3,見行。與變體D相比,顯著降低了延遲(快35%),但提高了準(zhǔn)確性(AP高0.4%)。這一結(jié)論對實時檢測器的設(shè)計至關(guān)重要。
CCFM也基于變體D進行了優(yōu)化,在融合路徑中插入了幾個由卷積層組成的融合塊。融合塊的作用是將相鄰的特征融合成一個新的特征,其結(jié)構(gòu)如圖4所示。融合塊包含N個RepBlock,兩個路徑輸出通過元素相加進行融合。
可以將這個過程表述如下:
其中表示多頭自注意力,表示將特征的形狀恢復(fù)到與相同的形狀,這是的inverse操作。
4.3、IoU-Aware查詢選擇
DETR中的目標(biāo)查詢是一組可學(xué)習(xí)的嵌入,這些嵌入由解碼器優(yōu)化,并由預(yù)測頭映射到分類分?jǐn)?shù)和邊界框。然而,這些目標(biāo)查詢很難解釋和優(yōu)化,因為它們沒有明確的物理意義。后續(xù)工作改進了目標(biāo)查詢的初始化,并將其擴展到內(nèi)容查詢和位置查詢(Anchor點)。其中,Effificient detr、Dino以及Deformable detr都提出了查詢選擇方案,它們的共同點是利用分類得分從編碼器中選擇Top-K個特征來初始化目標(biāo)查詢(或僅位置查詢)。然而,由于分類得分和位置置信度的分布不一致,一些預(yù)測框具有高分類得分,但不接近GT框,這導(dǎo)致選擇了分類得分高、IoU得分低的框,而分類得分低、IoU分?jǐn)?shù)高的框被丟棄。這會削弱探測器的性能。
為了解決這個問題,作者提出了IoU-Aware查詢選擇,通過約束模型在訓(xùn)練期間為具有高IoU分?jǐn)?shù)的特征產(chǎn)生高分類分?jǐn)?shù),并為具有低IoU得分的特征產(chǎn)生低分類分?jǐn)?shù)。因此,與模型根據(jù)分類得分選擇的Top-K個編碼器特征相對應(yīng)的預(yù)測框具有高分類得分和高IoU得分。
將檢測器的優(yōu)化目標(biāo)重新表述如下:
其中和表示預(yù)測和GT,和。和分別表示類別和邊界框。將IoU分?jǐn)?shù)引入分類分支的目標(biāo)函數(shù)(類似于VFL),以實現(xiàn)對正樣本分類和定位的一致性約束。
有效性分析
為了分析所提出的IoU感知查詢選擇的有效性,在val2017上可視化了查詢選擇所選擇的編碼器特征的分類分?jǐn)?shù)和IoU分?jǐn)?shù),如圖6所示。
具體來說,首先根據(jù)分類得分選擇前K個(在實驗中K=300)編碼器特征,然后可視化分類得分大于0.5的散點圖。紅點和藍(lán)點是根據(jù)分別應(yīng)用普通查詢選擇和IoU感知查詢選擇訓(xùn)練的模型計算的。點越靠近圖的右上角,對應(yīng)特征的質(zhì)量就越高,即分類標(biāo)簽和邊界框更有可能描述圖像中的真實對象。
根據(jù)可視化結(jié)果發(fā)現(xiàn)最引人注目的特征是大量藍(lán)色點集中在圖的右上角,而紅色點集中在右下角。這表明,使用IoU感知查詢選擇訓(xùn)練的模型可以產(chǎn)生更多高質(zhì)量的編碼器特征。
此外,還定量分析了這兩類點的分布特征。圖中藍(lán)色點比紅色點多138%,即分類得分小于或等于0.5的紅色點更多,這可以被視為低質(zhì)量特征。然后,分析分類得分大于0.5的特征的IoU得分,發(fā)現(xiàn)IoU得分大于0.5時,藍(lán)色點比紅色點多120%。
定量結(jié)果進一步表明,IoU感知查詢選擇可以為對象查詢提供更多具有準(zhǔn)確分類(高分類分?jǐn)?shù))和精確定位(高IoU分?jǐn)?shù))的編碼器特征,從而提高檢測器的準(zhǔn)確性。
4.4、Scaled RT-DETR
為了提供RT-DETR的可擴展版本,將ResNet網(wǎng)替換為HGNetv2。使用depth multiplier和width multiplier將Backbone和混合編碼器一起縮放。因此,得到了具有不同數(shù)量的參數(shù)和FPS的RT-DETR的兩個版本。
對于混合編碼器,通過分別調(diào)整CCFM中RepBlock的數(shù)量和編碼器的嵌入維度來控制depth multiplier和width multiplier。值得注意的是,提出的不同規(guī)模的RT-DETR保持了同質(zhì)解碼器,這有助于使用高精度大型DETR模型對光檢測器進行蒸餾。這將是一個可探索的未來方向。
5、實驗
5.1、與SOTA比較
5.2、混合編碼器的消融實驗研究
5.3、IoU感知查詢選擇的消融研究
5.4、解碼器的消融研究
審核編輯:劉清
-
編碼器
+關(guān)注
關(guān)注
45文章
3643瀏覽量
134531 -
檢測器
+關(guān)注
關(guān)注
1文章
864瀏覽量
47689 -
FPS
+關(guān)注
關(guān)注
0文章
35瀏覽量
11999 -
NMS
+關(guān)注
關(guān)注
0文章
9瀏覽量
6037
原文標(biāo)題:YOLO超快時代終結(jié)了 | RT-DETR用114FPS實現(xiàn)54.8AP,遠(yuǎn)超YOLOv8
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論