基于深度神經網絡的目標檢測器不斷發展,并用于多種應用,每個應用都有自己的一組要求。安全關鍵型的應用程序需要高精度和可靠性,而低延遲的任務需要節約資源的神經網絡結構。實時目標檢測器在有高影響力的現實世界應用中是必不可少的,并不斷有新方法提出,但它們過分強調精度和速度上的改進,而忽略了其他方面,如多功能性、魯棒性、資源和能源效率?,F有網絡的參考基準不存在,新網絡設計的標準評估指南也不存在,這導致比較模棱兩可和不一致。因此,作者在大規模的數據集上對多個實時檢測器(anchor-based、anchor-free和Transformer)進行了全面調研,并輸出了一組指標結果。作者還研究了圖像大小、anchor尺寸、置信度閾值和層結構等變量對整體性能的影響。作者分析了檢測網絡對分布變化、自然損壞和對抗性攻擊的魯棒性。此外,作者提供校準分析來衡量預測的可靠性。最后,為了突出現實世界的影響,作者針對自動駕駛和醫療保健應用進行了案例研究。為了進一步衡量網絡在關鍵實時應用中的能力,作者測試了在邊緣設備上部署檢測網絡后的性能。作者大量的實證研究可以作為工業界在現有網絡上進行選擇的指南。作者還希望激勵研究界朝著網絡設計和評估的新方向發展,專注于更大和整體的綜述,以產生更深遠的影響。
概述
深度神經網絡的最新進展帶來了目標檢測領域的顯著突破。目標檢測通過提供目標的位置以及類別標簽和置信度分數來同時完成分類和定位。目標檢測器可用于多種應用場景,例如自動駕駛系統(ADS)、監控、機器人和醫療保健。ADS需要實時準確地檢測車輛、交通標志和其他障礙物,此外,為了確保安全,它們需要檢測器在不同的光照和天氣條件下可靠且一致地執行。醫療保健應用需要高精度,即使它不是非常快。低延遲應用程序需要部署在邊緣設備上,因此需要快速且緊湊的檢測器以適應低功耗硬件設備。不同的應用程序有不同的標準,現實世界的設置伴隨著時間和資源的限制。因此,檢測器需要資源和能源效率高,以確保部署在高影響力的實際應用中。這需要對不同標準的實時檢測網絡進行詳細分析。
目前人們已經提出了許多實時檢測網絡,它們實現了SOTA性能,但它們主要關注精度和速度,但省略了其他指標,如簡單性、適用性和能源效率等。而這些指標,還包括泛化、魯棒性和可靠性等網絡能力的評估都是很重要的。因此,作者進行了全面的、在不同數據集上、多個檢測器上,進行實時目標檢測以及目標檢測基準的研究,作者還提供了兩個關于自動駕駛和醫療保健應用的案例研究。除了精度和推理時間外,作者還評估每個模型的資源和能源消耗,以估計環境影響。作者選擇了眾多網絡并創建了一個統一的框架,可以輕松分析骨干網(或特征提取器)和檢測頭的不同組合(見下表)。
為了進一步詳細評估性能增益/損失,作者解耦了不同變量的影響,例如圖像大小、anchor大小、置信度閾值和架構層類型。為了進行統一的評估,作者遵循標準的實驗流程并詳述使用的所有參數。每個組合都在兩個廣泛使用的通用數據集(PASCALVOC(Everinghametal.,2010)和MSCOCO(Linetal.,2014))上進行訓練和測試。網絡應該對實時應用中不斷變化的光照和天氣條件具有魯棒性,因此,作者進一步進行了大量的魯棒性分析,以分析網絡在分布變化和自然損壞方面的結果。對于安全關鍵型應用,網絡也應該對對抗性具有魯棒性,包含人眼無法察覺的變化的圖像,因此作者評估網絡對此類攻擊的魯棒性。同樣,對于這些應用程序,不確定性的度量有助于及時做出決策,因此作者還提供了每個網絡的可靠性分析。最后,為了展示對現實世界的影響,作者對自動駕駛和醫療保健領域進行了兩個獨家案例研究。對于前者,將檢測器性能移植到Berkeley Deep Drive(BDD)(Yuetal.,2018)數據集上,這與ADS應用更相關。作者還展示了分布外(OOD)數據集Cityscapes(Cordtsetal.,2016)的泛化能力和性能報告。為了突出檢測器實時部署的可行性,作者在嵌入式硬件部署上使用NVIDIA TensorRT優化模型,并詳述了低功耗設備上的實時性能。對于醫療保健案例研究,作者展示了網絡從醫學圖像中檢測息肉的能力,這些息肉用于檢測患者是否得癌癥。這些應用涵蓋了兩個具有不同要求的不同領域,作者的案例研究提供了超越標準的獨特視角基準測試,并衡量檢測器在實時應用中更相關和適用的不同數據集的能力。
作者制定了8種度量標準,即精度、對自然和對抗性破壞的魯棒性、速度、參數量、MAC (Multiply-Accumulate operations)計數、能耗和校準誤差(衡量可靠性)。如下圖,理想的網絡應該占據整個八邊形,這樣的網絡具有最高的精度、魯棒性和速度,參數量和MAC計數,同時消耗最低的能量,是被校準的最好的。唯一一個實時兩階段檢測器ThunderNet是為移動設備設計的,在資源方面效率很高,但在準確性、自然魯棒性方面不足,是最慢的網絡之一。YOLO是一種基于anchor的檢測器,其能量消耗排名第二,處于校準的中間范圍,但在速度、精度和魯棒性方面落后。SSD是另一種基于anchor的檢測器,在精度和速度之間提供了很好的平衡。它具有最佳的校準評分,更可靠。DETR是一種基于transformer的檢測器,它的MAC計數最低,在對抗魯棒性方面排名第二,但它的校準分數最低,因此預測的可靠性較低。CenterNet對對抗性攻擊具有最高的魯棒性,是第二快的,并且在所有其他指標上也處于良好的位置。TTFNet位于中間位置。FCOS具有最高的準確性和穩健性,但在其他指標上不穩定。NanoDet在速度方面是最快的,精度上是第二好的,并且資源消耗最低。這四種檢測器都屬于anchor-free的,是基于關鍵點的檢測器范疇??偟膩碚f,NanoDet在大多數頂點上都達到了最高點,并且在校準上獲得了平均值,因此,對于需要在低功耗設備上運行、速度和精度高的應用程序來說,NanoDet是一個較好的選擇。
作者總結發現,基于關鍵點(anchor-free)的方法在精度和速度上普遍優于基于anchor的方法和兩階段方法。作者還注意到,雖然較高的MAC計數可能導致更高的能量消耗,但它們不一定會導致準確性的提高。所有的檢測器對大中型目標的檢測精度較高,但對小目標的檢測精度較低。FCOS在與較重的骨干(如HarDNet-68)配對時,在檢測小目標方面表現相對較好。增加輸入圖像尺寸不總是有益的,因為速度的下降往往超過精度的提高。anchor大小影響基于anchor檢測器預測的不確定性使得它們難以適應較新的數據集。基于關鍵點的檢測器對于跨多個數據集有較好的泛化能力。不同的置信度閾值在精度和速度上的變化顯示了再現結果的模糊性。由于transformer使用注意力模塊來捕捉全局信息,它們對不同的圖像大小不那么敏感,并獲取比較一致的性能。校準結果表明,基于關鍵點的方法是謹慎和不自信的,從而證明在安全關鍵應用中有用。但是,有趣的是,DETR是所有網絡中最自負的。隨著transformers獲得越來越多的關注,這種詳細的分析將為這種新的架構范式的功能和缺陷提供更多的見解。ADS的案例研究表明,在一臺設備上看到的性能趨勢并不一定會轉化到部署中使用的嵌入式硬件。醫療保健案例研究表明,精度相對較高的網絡可能沒有更高的召回值,而這些召回值在醫療數據中更重要(因為假陰性比假陽性更有害)。
本文的貢獻總結如下:對九個特征提取網絡和八個檢測頭的組合進行了廣泛的實證研究,范圍從two-stage、one-stage、anchor-based、keypoint-based到transformer-based架構。
結果詳細,包括基準數據集上的精度、速度、可學習參數量、MAC計數和能耗。
變量的影響,例如圖像大小、anchor大小、置信度閾值和特定架構設計對整體性能的影響。
針對15種不同的自然損壞和強度不同的對抗性攻擊對所有網絡進行魯棒性分析。
通過評估所有網絡的校準分數進行可靠性分析。
通過對更相關的BDD數據集進行分析,對自動駕駛系統進行案例研究。并且,通過在Cityscapes數據集上測試網絡對分布外數據的泛化性能。
在邊緣設備上部署TensorRT優化檢測器:Jetson-Xavier和Jetson-Tx2。
通過對醫療保健應用進行分析的案例研究,用于檢測癌性息肉的Kvasir-SEG數據集。
目標檢測回顧
目標檢測通過提供目標實例的類別標簽和邊界框坐標來同時進行分類和定位。基于卷積神經網絡(CNN)的目標檢測器通常分為兩類,即兩階段和單階段檢測方法,詳見下表。
two-stage
兩階段檢測器由一個單獨的region proposal網絡(RPN)進行前景背景分類。從RPN中提出的感興趣區域(ROI)中提取的特征被傳遞給分類頭以確定類標簽,并傳遞給回歸頭以確定邊界框位置(參考Faster RCNN系列)?;趨^域的卷積神經網絡(RCNN)使用選擇性搜索算法來查找圖像中可能是目標的像素區域,然后將Proposal輸入CNN(Girshicketal.,2014)。從CNN中提取的特征支持向量機(SVM)進行分類和并回歸邊界框。RCNN需要漸進式多階段訓練,而且速度很慢。為了克服RCNN的缺點,Fast-RCNN提出了一些修改(Girshick,2015)。首先,不是提取selective search后的圖像區域的特征,而是使用CNN直接提取整個圖像的特征。然后使用一個ROI pooling層來得到和圖像proposal區域對應的特征。其次,將SVM分類器和回歸器分別替換為全連接層。Faster-RCNN提出了進一步的改進,以擺脫對速度較慢的Region proposal選擇性搜索算法。由主干CNN提取的特征被發送到一個額外的基于CNN的region proposal網絡(RPN),該網絡提供region proposal(Renetal.,2015)。然而,盡管精度很高,但上述兩階段檢測方法并不適合實時應用。一種名為ThunderNet(Qinetal.,2019)的輕量級兩階段檢測器,該檢測器具有高效的RPN和用于實時檢測的小型骨干網絡。
one-stage
單階段目標檢測器由單個端到端前饋網絡組成,整體執行分類和回歸。這些檢測器沒有單獨的proposal生成階段,而是將圖像上的所有位置視為潛在proposal。這些proposal中的每一個都用于預測類的概率、邊界框位置和置信度分數。置信度分數決定了網絡對其類別預測的確定程度。
單階段檢測器中的主要兩類是anchor-based和anchor-free的檢測器。anchor-based的檢測器使用預定的anchor框(或先驗)來輔助預測。這種方法的突出例子是You Only Look Once(YOLO;Redmonetal.(2016);Redmon&Farhadi(2017;2018))和Single Shot Detector (SSD;Liuetal.(2016))。YOLO的工作原理是將輸入圖像抽象為單元格網,其中每個單元格負責預測邊界框(如果框的中心落在單元格內)。每個網格單元預測多個邊界框并輸出位置和類別標簽以及它的置信度。SSD是第一個在保持實時速度的同時與當代兩階段檢測器精度相匹配的單階段檢測器。SSD在FPN上的特征圖上的每個位置,預測一組固定的但不同尺度anchor的目標置信度和目標框偏移量。FPN主要用于生成多分辨率特征(Linetal.,2017a)。
Anchor-based的檢測器需要處理高度依賴數據集的anchor數量、縱橫比和大小等超參數,這個缺點無法避免。這導致引入了anchor-free(又名基于關鍵點)目標檢測器這種新范式。anchor-free的方法將目標視為點,而不是將它們建模為邊界框。預測關鍵點,例如目標的角或中心,并且寬度和高度是從這些點而不是預定的anchor來回歸。引入了幾個基于關鍵點的網絡,即CornerNet、CenterNet、FCOS、NanoDet和TTFNet(Law&Deng,2018;Zhou等人,2019a;Tian等人,2019;Lyu,2020;Liu等人,2020)。盡管anchor-based和anchor-free的檢測器在通用目標檢測中都取得了顯著的精度,但它在很大程度上被缺乏全局上下文信息的基于CNN的架構所主導。此外,現代檢測器通常對大量proposal、anchors或窗口中心執行回歸和分類。因此,它們的性能受到復雜的后處理任務(例如NMS)的影響。
Vision transformers已被引入作為CNN的替代架構范式。基于Transformer的檢測器,例如DETR(Carionetal.,2020),利用自注意力模塊顯式地對給定序列中元素之間的所有交互進行建模,從而提供全局上下文信息。Transformer的整體設計還通過對給定輸入進行直接預測,繞過了NMS等手工操作過程。
目標檢測配方
基礎概念
目標檢測問題可以形式化為:給定任意圖像和預定義的目標類別列表,目標檢測模型不僅對圖像中存在的目標實例類型進行分類{c1,c2,...,cm},還返回邊界框形式的每個目標的位置{b1,b2,...,bm},其中bi={(x1,y1),(x2,y2)}是邊界框的左上角和右下角坐標。目標檢測器,包括單階段和兩階段,通常由特征提取器(以下簡稱主干)和檢測頭組成。主干通常是基于CNN的網絡,它提取場景中最突出的表示(從低級到高級特征)。大多數主干使用池化/卷積層來逐步減小特征圖的大小并增加網絡的感受野。然后將輸出特征圖傳遞給檢測頭,該檢測頭執行分類和回歸以確定目標實例的標簽和位置(下圖顯示了通用目標檢測的組成)。
損失函數
作者簡要概述了用于訓練目標檢測器的損失函數。兩個目標函數通常用于訓練基于CNN的檢測器,即分類和回歸損失。分類損失通常由交叉熵(CE)損失定義,如下:
其中ti是ground-truth標簽,pi是第i類的softmax概率。然而,CE損失并沒有考慮不平衡的數據集,與頻繁出現的目標相比,不太頻繁的目標更難學習。因此,研究人員(2017b)提出了FocalLoss(FL),它通過對困難樣本分配更多的權重,同時降低容易學習樣本的損失貢獻來解決類別平衡問題:
其中αi是加權參數,γ≥0是可調制參數?;貧w損失通常是在ground-truth和預測邊界框之間的所有四個邊界框坐標上的L1(最小絕對偏差)或L2(最小二乘誤差)損失。
Anchor-based 和 Keypoint-based
anchor-based的目標檢測技術使用anchor框的概念(在文獻中也可稱為先驗框)。在這種方法中,圖像被劃分為網格,其中每個網格單元可以分配給多個預定義的anchor框(上圖b)。這些框被定義為捕獲特定目標類的比例和縱橫比,通常根據訓練數據集中的目標大小進行選擇。計算anchors和ground-truth邊界框之間的交集(IoU),具有最高重疊的anchor用于預測該目標的位置和類別。當anchor與ground-truth box的重疊較高且超過一個給定的閾值時,它被認為是一個正anchor。該網絡不是直接預測邊界框,而是預測平鋪的anchor框的偏移量,并為每個框返回一組唯一的預測。anchor框的使用有助于檢測多個、不同尺度的目標和重疊的目標。然而,anchor-based的方法有兩個主要缺點。首先,需要大量的anchor框來確保與真實框有足夠的重疊,而在實踐中,只有一小部分與真實框重疊。這在正負anchor之間造成了巨大的不平衡,從而增加了訓練時間。其次,anchor框的大小、形狀和縱橫比高度依賴于數據集,因此需要對每個數據集進行微調。然而,這些anchor是使用數據集的ground-truth框得出的,這在多尺度架構中變得更加復雜,其中每個尺度使用不同的特征和自己的一組anchor。為了緩解上述問題,提出了不使用anchor的anchor-free的目標檢測技術(Law&Deng,2018;Zhouetal.,2019a;Tianetal.,2019)。檢測問題被重新表述為逐像素預測,類似于分割。CNN的特征用于創建熱力圖,其中強度峰值代表關鍵點,例如相關目標的角點或中心點。除了這些,還有一些額外的分支可以預測外接框的尺寸(寬度和高度)。熱力圖預測與嵌入一起用于估計預測框的正確位置和大小。對于中心關鍵點,預測從中心到目標邊界框四個邊的距離以進行目標檢測(上圖c)。
NMS
目標檢測器產生了太多的proposal,其中許多是多余的。為了去除密集的重復預測結果,檢測器通常使用稱為NMS的后處理步驟。NMS模塊首先根據每個實例的置信度分數對預測的proposal進行排序,并選擇具有最高置信度的proposal。隨后,計算其它proposal分別于最高置信度的proposal執行IoU,公式如下:
其中,bm是具有最高置信度的proposal,bi表示為真值生成的其它proposal。如果此值大于設置的NMS閾值(通常為0.5),則刪除重復項。然而,與NMS相關的問題之一是,當proposals(針對不同實例)彼此接近或在某些情況下重疊時,有效的proposal會被抑制。對于擁擠場景尤其如此。因此,研究人員提出了Soft-NMS來改進NMS約束。在Soft-NMS中,與bm 重疊稍小的檢測proposal(對于其他實例)的置信度分數衰減,同時確保與bm重疊較高的proposal置信度分數衰減更多,從而可以去除重復項,又不至于完全抑制掉。這是通過計算(一個proposal bi)置信度得分和IoU與bm的負值的乘積來完成的:
anchor-free的檢測器不使用這種基于IoU的NMS,因為它們處理的是熱力圖上的點而不是重疊框。這些網絡中的NMS是一個簡單的基于峰值的maxpool操作,計算成本低。
目標檢測中的挑戰
目標檢測作為計算機視覺問題本身就具有挑戰性,因為理想的檢測器必須以合理的能耗和計算成本提供高精度和高性能。稍后作者討論了幾種主干和檢測頭組合的優缺點,以展示精度和速度之間的權衡。檢測精度和推理速度還取決于圖像大小和目標大小。雖然通過從場景中提取更多信息,更高的圖像分辨率會產生更好的準確性,但它也會降低推理速度。因此,選擇在精度和速度之間提供適當平衡的圖像尺寸至關重要。此外,目標大小在檢測精度中起著重要作用。雖然檢測器可以在大中型目標上實現高精度,但幾乎所有檢測器都難以檢測場景中的較小目標(Liuetal.,2021)。作者研究了目標大小和圖像大小對檢測精度和速度的影響。為了提供高精度,檢測器需要具有魯棒性,并對具有顯著類內變化(例如,變化目標的大小、形狀和類型)、姿勢和非剛性變形。對于使用anchor-based的檢測器,anchor的優化是一個挑戰,因為它們依賴于數據集。后面作者展示了不同的anchor大小如何影響檢測精度。另一個主要挑戰是在不同的天氣(雨、雪、暴風雪)和光照條件下保持一致的性能。對于自動駕駛等應用,檢測器還必須考慮雜亂的背景、擁擠的場景和相機效果。作者在后面提供了關于檢測器魯棒性的詳細研究。最后,深度神經網絡傾向于依賴訓練數據的監督進行快捷學習,因此過度擬合訓練數據分布(分布內),而不是泛化到分布外(OOD)數據。真實場景的沒見過的數據才是至關重要的,作者在后面提供了對分布內數據和分布外數據的詳細分析。
目標檢測中的Head
由于作者的研究范圍是實時目標檢測,作者專注于一個兩階段檢測器:ThunderNet(Qinetal.,2019),兩個anchor-based的檢測器:SSD(Liuetal.,2016),YOLO(Redmon&Farhadi,2017),四個(anchor-free)基于關鍵點的檢測器:CenterNet(Zhou等人,2019a)、FCOS(Tian等人,2019)、NanoDet(Lyu,2020)和TTFNet(Liu等人,2020),和一個基于Transformer的檢測器:DETR(Carionetal.,2020)
ThunderNet
ThunderNet重新審視了兩階段檢測器架構并改進了Lighthead-RCNN(Lietal.,2017),并使用ShuffleNet-v2(Maetal.,2018)的變體作為主干。檢測頭在網絡的早期階段增加了通道數,以編碼低級特征,這樣提升了精度。ThunderNet使用了兩個新模塊:上下文增強模塊(CEM)和空間注意力模塊(SAM)。CEM聚合來自三個不同尺度的特征,通過利用局部和全局特征擴大感受野。SAM通過加強前景特征同時抑制背景特征來細化特征(上圖所示)。SAM模塊的輸出為:
其中FSAM、FCEM和FRPN分別表示SAM、CEM和RPN模塊的輸出特征。σ(.)是sigmoid函數和T(.)表示維度變換函數,以匹配來自FCEM和FRPN的輸出通道數。
其中Lcls是兩個類(目標或非目標).bi和bg分別表示第i個anchor的預測框和對應ground-truth目標框。與任何高于給定閾值的ground-truth重疊的anchor被認為是正樣本(ti=1),其余的anchor被認為是負的(ti=0)。因此,乘法項確?;貧w損失僅對正anchor激活。Na和Nb表示anchor位置的數量和batch大小,λ是平衡權重。與FastR-CNN類似,執行ROI pooling并將這些區域發送到兩個分支進行分類和回歸,目標函數如下:
其中Lcls是真實類u的對數損失,λ是平衡權重。Lreg計算類u的ground-truth目標框和預測框的回歸損失。[u≥1]是逆向指標函數,當u≥1(u=0是背景類)。
YOLO
YOLO(Redmonetal.,2016)是一個針對實時任務的單階段目標檢測網絡。YOLO將圖像劃分為網格單元,每個單元預測一個由邊界框和置信度分數。如果一個目標的中心位于某個特定的網格單元中,則稱該目標屬于該網格單元。YOLO快速簡單,但召回率低。Redmon&Farhadi(2017)提出了YOLOv2來提高YOLO的精度和速度。YOLOv2不是對邊界框進行任意預測,而是在每個網格中使用不同大小和縱橫比的anchor來覆蓋整個圖像的不同位置和不同尺度。通過在特定數據集上使用基于IoU的k-Means聚類計算anchor大小,可以使anchor變得更準確。網絡預測是每個anchor框的偏移量。YOLOv2在合并不同尺度的特征圖獲得的單個特征圖上進行邊界框預測(如上圖)。
其它YOLO都是建立在YOLOv2基本概念之上,但有許多技巧和竅門來實現更高的性能。由于作者試圖在簡單的框架上進行評估,因此在本研究中,作者僅考慮YOLOv2版本,因為它簡單、快速且具有最少的技巧。損失函數由分類損失、定位損失、和置信度損失(判斷bbox是目標還是背景):
其中Lcls是Focal Loss,Lreg和Lconf都是L2 loss。Lconf是衡量bbox是否為目標的置信度損失(例如,如果一個框其實是背景,則其目標的置信度將降低),λ和λ'是平衡權重。
SSD
SSD(Liuetal.,2016)有一個前饋CNN,它為場景中的多個目標實例生成邊界框、置信度分數和分類標簽。SSD使用多個特征圖從逐漸降低的分辨率模擬不同大小的輸入圖像,同時跨尺度共享計算。淺層的特征圖用于學習較小目標的低級特征,而較深層的特征用于定位場景中較大的目標。檢測頭為每個尺度的特征圖采用單獨的預定義anchor,最后結合所有預設anchor在不同尺度和縱橫比下的預測結果。每個特征圖的anchor的尺度和大小定義為:
其中k∈[1,m],smin和smax的默認值分別為0.2和0.9。SSD中用了m=6個特征圖。SSD產生一組不同預測結果,涵蓋各種形狀和大小的目標。SSD使用匹配策略來確定哪些anchor對應于ground-truth,而與ground-truth最高重疊的那個anchor用于預測該目標的位置和類別。目標函數源自多目標(Heetal.,2015),并擴展到多個類別。總體目標函數是
其中Lcls是交叉熵損失,Lreg是所有與ground-truth匹配的正樣本框的SmoothL1損失之和。N是正樣本的數量,λ是平衡權重。
CenterNet
anchor-based的檢測器必須處理與數據集高度相關的超參數,例如anchor的數量、縱橫比和大小。CornerNet被提出作為anchor-based的方法的第一個替代方法,該方法將目標檢測問題簡化為關鍵點估計問題(Law&Deng,2018)。在(Lawetal.,2019;Zhouetal.,2019b)提出的多種方法中;a),作者使用CenterNet(Zhouetal.,2019a),因為它不僅比CornerNet獲得更高的精度,而且還簡化了關鍵點估計。檢測算法通過三個轉置卷積層來增強主干,以產生高分辨率輸出。第一個分支輸出一個熱力圖來估計目標的關鍵點或中心點,熱力圖的數量等于目標類別的數量。Ground-truth 熱力圖是通過在ground-truth box的中心使用高斯核來創建的。峰值用于估計實例目標的中心并確定實例目標的類別。還有兩個生成熱力圖的分支:embedding分支回歸目標框的尺寸,即寬度和高度,offsets分支解釋了將中心坐標映射到原始輸入維度引起的離散化誤差??傮w目標函數給出為:
其中Lcls是使用FocalLoss減少像素級邏輯回歸的懲罰(Linetal.,2017b),Loff是L1損失,以最小化中心坐標,最后Lembis也是一個L1損失,以最大限度地減少計算預測框的寬度和高度時的錯誤,λ和λ'是平衡權重。
FCOS
FCOS是一種全卷積的anchor-free檢測器,將目標檢測重新表述為類似于語義分割的逐像素預測問題(Tian等人,2019年)。檢測器使用FPN的多級預測(Linetal.,2017a)來提高召回率并解決重疊邊界框歧義。以不同的尺度獲得五個特征圖,并在每個層上執行逐像素回歸。這會增加召回率,但會在遠離目標中心的位置產生低質量的預測。為了避免這種情況,并行添加了一個額外的分支,以預測位置的中心位置。整體損失函數為:
其中Lcls是FocalLoss,Lreg是IoU回歸損失,Lcent是使用二元交叉熵(BCE)loss的中心損失。N是正樣本的數量,λ是平衡權重。IoU回歸基于UnitBox(Yuetal.,2016),是輸入為IoU值的交叉熵損失的一種形式。與獨立優化坐標值的L2 loss不同,IoU loss將其視為一個單元。最終的目標分數是由centerness得分加權得到。因此,這個分支會降低距離目標中心較遠的預測框的分數,這有助于最終的NMS過濾掉低質量的預測結果。
NanoDet
受FCOS的啟發,NanoDet作為一種輕量級的anchor-free檢測器被提出(Lyu,2020)。NanoDet使用ATSS模塊(Zhangetal.,2020),該模塊根據目標特征自動選擇正負訓練樣本。檢測器使用Generalized Focal Loss(GFL)(Lietal.,2020)進行分類和回歸。GFL旨在將FocalLoss從離散域擴展到連續域,以實現更好的優化。這是 Quality FocalLoss(QFL)和Distributed FocalLoss(DFL)的組合。QFL將分類置信度和IoU質量相結合,最終輸出一個分數,DFL將預測框視為連續分布并對其進行優化。Generalized IoU loss(GIoU)對于非重疊情況很有用,因為它通過緩慢地向目標框移動來增加預測框的大小以與目標框重疊。用于訓練NanoDetis的整體損失函數為:
其中LQFL和LDFL是QFL和DFL,LGIoU是GIoU損失。Npos是正樣本的數量,λ和λ′是平衡權重。z表示金字塔特征圖上的所有位置。FCOS使用五個特征圖傳遞給多級FPN,而NanoDet使用三個特征圖傳遞給三個單獨的路徑聚合網絡(PAN)(Liuetal.,2018b)塊。PAN類似于FPN,但通過添加自下而上的路徑來增強較低級別特征。PAN塊的輸出連接到單獨的檢測頭,這些檢測頭計算特定特征圖的分類標簽和邊界框。NanoDet還刪除了FCOS中的centerness分支,因此使其成為更快的變體。三個頭的輸出最終傳遞給NMS以實現輸入圖像的最終目標框和分類標簽的預測。
DETR
Transformer是計算機視覺中一種新的設計范式,它依賴于注意力機制,并首次被DETR引入目標檢測中(Carion等人,2020年)。DETR將目標檢測任務轉換為集合預測問題,消除了重復的邊界框預測。Transformers通過使用自注意力模塊基于整個圖像上下文捕獲目標之間的成對關系,從而避免重復預測。與使用NMS等后處理步驟來消除重復預測的傳統目標檢測器相比,有減少計算成本的優勢。DETR由編碼器-解碼器轉換器和進行最終預測的前饋網絡(FFN)組成(上圖)。編碼器由一個多頭自注意力(MHSA)模塊(Vaswanietal.,2017)和一個FFN組成。這些塊是排列不變的,因此,固定位置編碼被添加到每個注意力層的輸入中。解碼器使用編碼器特征并使用多個MHSA模塊將目標查詢轉換為輸出嵌入。N個輸出嵌入被兩個不同的FFN層使用,一個用于預測類標簽,另一個用于預測框坐標。DETR使用唯一的二分匹配為每個給定的ground-truth找到最佳預測框。使用匈牙利優化算法有效地計算每N個查詢到每N個ground-truth的一對一映射。在獲得該集合的所有匹配對后,使用標準交叉熵損失進行分類,并使用L1和GIoU損失的線性組合進行回歸。在每個解碼器層之后添加輔助損失,以幫助模型在每個類中輸出正確數量的目標。給定λ和λ′是平衡權重,總損失如下:
TTFNet
受CenterNet(Zhouetal.,2019a)的啟發,TTFNet使用相同的策略,其中檢測被視為中心定位和邊界框尺寸回歸的兩部分問題(Liuetal.,2020)。對于中心定位,TTFNet采用高斯核在目標中心附近產生激活較高的熱力圖,類似于CenterNet,但另外還考慮了邊界框的縱橫比。對于尺寸回歸,TTFNet提出將高斯區域中的所有像素作為訓練樣本,而不是只選擇中心像素作為訓練樣本。此外,這些樣本通過目標大小和高斯概率計算的權重進行加權,從而利用更多信息。這樣做的原因是更多的訓練樣本類似于增加批量大小,這有助于擴大學習率并加快訓練過程。TTFNet通過圍繞目標中心構建一個子區域并僅從中提取訓練樣本來修改高斯核區域(詳見上圖)。使用高斯概率作為權重,以重點關注靠近目標中心的樣本,從而減輕重疊歧義。由于目標尺寸的巨大差異,較大的目標比較小的目標產生更多的樣本,因此較小目標的損失貢獻可以忽略不計,這會影響檢測精度。因此,引入了一種損失平衡策略,該策略充分利用大目標中的更多注釋信息,同時保留較小目標的信息。
其中,真值bm,采用高斯核,將子區域內的每個像素Am視為回歸樣本。^bij是預測框,Wij是平衡權重,Ni是回歸樣本數。因此,整體損失如下:
其中λ=1.0和λ′=5.0是分類和回歸平衡權重,Lcls是Kong等人提出的FocalLoss的修改版本。(2019)
Backbones
在這項研究中,作者根據速度、能耗和內存效率等因素選擇了九個特征提取器作為主干,專門針對實時應用。在下文中,作者按時間順序介紹了主干網絡。
ResNet:Heetal。(2016)將網絡層重新定義為具有殘差跳躍連接的學習殘差函數。具有跳躍連接的網絡更容易優化,并且可以在增加深度的情況下獲得相當大的精度。ResNet-18是深度殘差網絡的輕量級變體,由四個殘差塊組成,每個殘差塊有兩個卷積,然后是BN層。
DarkNet:Redmon&Farhadi(2017)提出了一種計算輕量級的特征提取器DarkNet作為他們提出的實時目標檢測算法YOLO的一部分。Darknet通過減少參數量對VGG-16進行了改進。出于實時檢測的目的,本研究僅考慮了DarkNet-19。
Xception:Chollet(2017)提出的Xception作為對 Inception-V3的改進,完全基于深度可分離卷積(DWS;Kaiser等人(2017年))。所提出的架構是一個由36個深度可分離卷積層組成的線性堆疊,結構為14個模塊,除了第一個和最后一個之外,所有模塊都有殘差連接。
MobileNet:Sandler等人(2018年)將MobileNet-v2設計為輕量級骨干網,專門用于嵌入式設備上的實時目標檢測。該架構使用具有線性瓶頸和深度可分離卷積的反向殘差塊。它被稱為倒置,因為在網絡的狹窄部分之間存在跳躍連接,導致參數數量較少。此外,該網絡包含跳過連接,以實現輸入和輸出瓶頸之間的特征可重用性。
ShuffleNet-v2:Ma等人(2018)設計了ShuffleNet-v2,通過降低內存訪問成本來優化推理延遲。該架構的構建塊由通道拆分操作組成,該操作將輸入分成兩部分,每一個都前饋到一個殘差塊。引入了通道混洗操作以實現兩個拆分之間的信息傳輸以提高準確性。每個構建塊的高效率使得可以使用更多的特征通道和更大容量的網絡。
VoVNet:Leeetal(2019)提出VoVNet作為能耗低的實時檢測的主干網絡。它是使用One-Shot Aggregation(OSA)模塊構建的,該模塊僅在最后一個特征圖中將所有中間特征連接一次。OSA塊中的卷積層具有相同的輸入/輸出通道,從而最大限度地減少了MAC計數,從而提高了GPU計算效率。本研究中使用了速度更快、更節能的變體VoVNet-39。
EfficientNet:Tan&Le(2019)設計了EfficientNet,一種特征提取器,使用針對精度和MAC計數進行優化的自動多目標結構搜索算法。所提出的架構通過重新調整和平衡網絡深度、寬度和分辨率來實現高精度。該架構的構建塊使用Mobile Inverted Bottleneck Convolutions(MBConv),還包括Squeeze 和 Excitation(SE)模塊(Huetal.,2018)。在提出的幾個版本中,作者使用了EfficientNet-B0,該架構中最輕量級的版本。
HarDNet:Chaoetal(2019)提出諧波密集連接網絡(HarDNet)以在MAC計數和內存訪問方面實現高效率。在減少DRAM(動態隨機存取存儲器)方面,HarDNet在所有其他主干中脫穎而出。稀疏化方案提出了層之間的連接模式,使其類似于二次諧波的冪(因此得名)的重疊。所提出的連接模式形成了一組稱為諧波密集塊(HDB)的層,而不是考慮所有層,HDB中的梯度只有“logL”層。HDB的輸出是L層以及之前所有奇數層的concat,一旦HDB完成,偶數層的輸出將被丟棄。此外,使用stride-8代替stride-16(在許多CNN網絡中采用)來增強局部特征提取。除了減少特征圖的訪問外,它還提供了其他優勢,例如低延遲、更高的精度和更快的速度。在提出的幾個版本中,HarDNet-68用于本研究。
DeiT:Touvronetal(2021)修改了視覺Transformer以用作密集預測任務的特征提取器。所提出的架構,數據高效的圖像Transformer(DeiT),由重復的自注意力模塊、前饋層和一個額外的蒸餾模塊組成。為了提取有意義的圖像表示,將來自最終Transformer塊的學習嵌入發送到一個額外的模塊,以在將其發送到檢測頭之前獲得不同尺度的特征。該架構的最小版本,即DeiT-T(其中T代表tiny)用于本研究。
驗證評價
數據集
PASCAL VOC,以下稱為VOC(Everingham等人,2010),由20個目標類別組成,分為兩個數據集,即VOC 2007和VOC 2012,共有21,493張圖像,包含52,090個標注。
COCO(Linetal.,2014)是一個更具挑戰性的數據集,由80個目標類別組成。作者使用包含118,287個圖像(860,001個標記實例)的數據集的2017年拆分進行訓練。
BDD(Yu等人,2018年)是最大和最具挑戰性的自動駕駛數據集之一。它包含各種駕駛場景,包括城市、高速公路和農村地區,以及代表現實駕駛挑戰的各種天氣和晝/夜駕駛條件。訓練集包含約128萬個標記實例的69,863張圖像,測試集包含10個目標類別的10,000張圖像和185,526個標注實例。
Cityscapes(Cordtsetal.,2016)是一個記錄完整的數據集,用于城市場景。作者從實例分割中提取邊界框,然后將標記的注釋分組為10個超類別以匹配BDD的類別。對于OOD評估,作者使用了500張圖像和15949個邊界框的測試集。
COCO有損,為了測試模型的穩健性,作者創建了一個數據集,通過添加損壞到原始COCO數據集來模擬在現實世界場景中發現的不同外部影響(Michaelis等人,2019)。有15種不同的損壞,作者將它們分為四組:噪聲、模糊、天氣和數字化影響。噪聲包括高斯噪聲、脈沖噪聲和散粒噪聲。模糊包括散焦、透明度、運動和變焦模糊效果。作者使用亮度、霧、霜和雪來模擬不同的天氣條件。最后,作者通過添加對比度、彈性變換、JPEG壓縮和像素化的變化來解釋數字化影響。這15種損壞適用于5種不同的嚴重程度。嚴重性級別范圍從1(不太嚴重的損壞)到5(最嚴重的損壞)。
Kvasir-SEG(Jha等人,2020)是用于定位胃腸道息肉的生物醫學數據集。該數據集由1000張圖像組成,每張圖像中都存在息肉的分割掩碼。該數據集還具有從分割掩碼獲得的邊界框。這里,數據集分為800張圖像用于訓練和200張圖像用于測試。
評價指標
目標檢測器根據邊界框和類別標簽進行預測。在這里,作者首先通過計算IoU來測量預測邊界框與ground-truth之間的重疊?;贗oU閾值,預測框分為真正例(TP)、假正例(FP)),或假反例(FN)。接下來,作者計算精度和召回率:
Precision衡量預測的精度,而召回率則顯示模型找到所有正例的能力。高精度但低召回率意味著更多的FN(漏檢),而相反則意味著更多的FP(誤檢)。精確召回(PR)曲線顯示了不同閾值的精確度和召回值之間的權衡。
PR曲線向下傾斜,因為隨著閾值的降低,會做出更多的預測(高召回率),而它們的精確度會降低(低精度)。作者計算各種IoU閾值下所有召回值(0到1之間)的平均精度(AP),這可以解釋為PR曲線下的面積。最后,mAP(平均平均精度)是通過對所有類的AP進行平均來計算的。PASCAL VOC(Everingham等人,2010)以0.5IoU閾值(@IoU:0.5)評估mAP,而COCO(Lin等人,2014)使用0.05步設置十個不同的閾值@IoU:[0.5-0.95]尺寸。在醫療保健等一些應用中,召回度量具有更大的價值,因為擁有更多的FN比FP更有害。平均召回是通過對所有IoU進行平均召回來衡量的,并且這些平均值被稱為mAR。
作者還使用了F1分數指標,它衡量精度和召回率之間的平衡。F1分數計算如下:
作者計算檢測器的卷積層、BN層和全連接層的MAC(乘法累加操作)計數,并得到可學習參數的數量(以百萬為單位)。作者還得到了每個主干和檢測頭組合的每秒幀數(FPS)的推理速度。推理速度是針對500張圖像計算得到的,并取平均值以消除偏差。最后,考慮到最近的節能AI趨勢(Schwartz等人)al.,2019),作者在整個測試數據集上計算模型的推理能耗。作者使用NVIDIA Management Library(NVDIA,2019)來計算GPU在推理過程中的近似功耗。數據集的推理能耗以千焦(KJ)為單位顯示,不包括其他組件的功耗。
實驗設置
作者的完整框架在PyTorch 1.7(Paszkeetal.,2019)中實現,包括執行所有訓練和評估的所有主干網絡和檢測頭。需要注意的是,一些檢測頭(例如YOLO和DETR)在其原始實現中使用了多尺度訓練,但是對于統一的訓練方案,作者使用圖像大小為512的單尺度訓練。所有圖像首先進行歸一化,通過使用ImageNet均值(Russakovskyetal.,2015),數據集的每個通道減去該均值。對于檢測頭,使用默認的PyTorch權重初始化(具有固定的種子值),使用ImageNet預訓練的權重用于主干網絡。
對于數據增強,作者使用expand、隨機水平翻轉、隨機裁剪和隨機光照,其中包括[0.5,1.5]范圍內的隨機對比度、飽和度[0.5,1.5]和色調[-18,+18]。作者使用batchsize=32,并使用隨機梯度下降(SGD)優化器(Bottou,2010)訓練模型,動量為0.9,學習率衰減因子為0.1。選擇學習率調度器以確保所有模型的收斂。該規則的唯一例外是DETR,作者跟隨作者并使用AdamW(Loshchilov&Hutter,2017)優化器。NMS閾值設置為0.45,置信度閾值設置為0.01。對于所有實驗,作者在NVIDIA RTX 2080Ti GPU上評估模型。Pytorch模型使用NVIDIA TensorRT(8.0版)轉換為其優化的高性能推理模型,以促進嵌入式硬件的部署。TensorRT轉換通過融合網絡中的多個層(包括卷積和BN層)來優化網絡,以實現并行處理。推理能耗是使用NVIDIA NVML API(Corporation,2020)在單機上運行得到的。
結果
上圖展示了三個指標的總體趨勢:COCO數據集上的推理準確性、速度和能耗。以“精度”為關鍵指標對主干和檢測頭進行排序,并將結果從低到高排序。為了更容易進行性能分析,作者將主干和頭分為三個頻譜,即低、中和高,其中低和高是最不準確和最準確的主干和頭組合,中間頻譜包含具有平均性能的網絡。
精度:從主干網絡來看,VoVNet-39、HarDNet-68和Xception在所有頭上始終保持高精度,屬于高頻譜主干。VoVNet和HardDNet的準確性可以分別歸功于One-Shot Aggregation(OSA)模塊和局部特征增強模塊,而36個CNN層的線性堆棧有助于Xception。中譜被ResNet-18、DarkNet-19和DeiT-T占據。ResNet和DarkNet都是輕量級架構,而DeiT享有自注意力模塊的好處,有助于利用全局信息。最后,EfficientNet-B0、MobileNet-v2和ShuffleNet-v2這些主要為減少MAC計數而設計的網絡,精度最低。
對于檢測頭,處于精度高頻譜的基本都是anchor-free的方法,比如NanoDet,FCOS,TTFNetandCenterNet等。它們沒有根據目標大小定義anchor大小的麻煩。FCOS的FPN執行多尺度預測,并有一個中心分支來過濾低質量的預測。NanoDet使用PAN增強低級特征并使用有助于優化位置的GIoU損失。TTFNet和CenterNet還包含多個分辨率并進一步優化目標框定位。DETR中的注意力模塊提高了精度,但由于主干仍然是CNN,因此性能掉到了中間頻譜。SSD也占據了中間頻譜,較低的頻譜由YOLO和ThunderNet組成,它們分別是anchor-based的檢測器和兩階段檢測器。
速度:推理速度與精度相比呈現出不同的趨勢。在主干網絡中,“精度”位于中間頻譜的網絡最快,即ResNet-18、DarkNet-19和DeiT-T,從而促進準確性和速度之間的良好平衡。盡管ShuffleNet-v2是最不準確的一種,但由于其為低延遲而設計的架構,推理速度相當高。準確度最高的VoVNet-39和HardDNet-68在速度方面位于中等頻譜范圍。然而,Xception是最慢的之一,因為它有大量的線性卷積層。
在檢測頭中,CenterNet、TTFNet和NanoDet是最快的,并且比其他檢測器有很大的優勢。CenterNet和TTFNet沒有NMS瓶頸(因為它使用基于熱力圖峰值的max-pooling NMS而不是基于IoU的NMS),這有助于提高推理速度。FCOS,具有最高的精度,但在速度方面處于最低頻譜,因為它具有五個特征圖和一個額外的中心分支的重型架構。NanoDet類似于FCOS,但具有更輕量級的架構,只有三個特征圖并且沒有單獨的分支,從而提高了推理速度。DETR在這里處于中間頻譜,因為Transformer架構沒有像CNN那樣進行硬件優化(Ivanov等人,2020)。SSD和YOLO也位于中間頻譜,達到平均速度。基于兩階段的檢測器,ThunderNet是最慢的。此外,下圖顯示了COCO數據集上所有檢測頭和主干(72種組合)的速度、準確性和參數權衡。
每個氣泡的大小表示網絡中的參數量。大多數組合在15到50FPS的速度范圍,而NanoDet和CenterNet為所有主干網實現了更高的速度。能源和資源。在骨干網中,低頻譜網絡消耗的能量最少因為這些網絡的規模非常小,這也反映在較少的參數量上。DeiT-T證明是非常節能的。
在這些檢測頭中,除了FCOS之外,高頻譜檢測器的表現相當不錯,因為FCOS比其他anchor-free的檢測器更重型。NanoDet消耗的能量最少,因為其專門設計用于在移動硬件上運行。SSD和DETR在能耗方面保持中等頻譜。ThunderNet除了分類和回歸階段外,還有proposal階段,比單階段檢測器消耗更多的能量。詳細分析:下表提供了兩個不同數據集VOC和COCO的八個檢測頭、九個主干的更詳細信息。
FCOS+VoVNet-39組合具有最高的準確度,而NanoDet+DarkNet-19組合具有最高的推理速度。Transformer組合DETR+DeiT-T有最低的MAC計數,因為DETR在單個特征圖上工作,而最新的DeiT-T(帶有5M參數)可謂足智多謀。兩個數據集的資源占用是相似的,除了在SSD中,在將數據集從VOC更改為COCO時參數量增加(在某些情況下約為2倍)。由于SSD使用六個特征圖,每個特征圖都有單獨的anchor,因此當類數量增加時會產生資源開銷。這種效果在anchor-free設計中的放大程度較小。
總體而言,在主干網中,高頻譜網絡HardNet-68和VoVNet-39在所有指標上都表現良好,Xception除了精度外,在所有指標上都表現不佳。中間頻譜由ResNet-18、DarkNet-19和DeiT-Toff組成,在精度、速度和資源占用之間取得了良好的平衡。DeiT-T因為沒有卷積,是資源占用最友好且MAC數量最少的。
在檢測頭中,NanoDet實現了高精度和速度,同時還具有較高的計算效率。CenterNet和TTFNet也提供了良好的平衡,而TTFNet有更快的訓練時間。DETR(同樣,NanoDet)在與較輕的主干配對時顯示較低的MAC計數。為了進一步證明在不同指標上評估網絡的重要性,正如所見,精度與所有其他指標正相關,GMAC在F1得分之后是最高相關的。速度僅與推理能耗高度負相關。能耗與GMAC的正相關性最高,表明MAC操作較多的網絡往往會消耗更多的能量。
解耦影響
目標尺寸的影響
對于大多數目標檢測器來說,小目標的檢測是一個具有挑戰性的問題(Liuetal.,2021)。為了展示網絡在不同尺度目標上的性能,作者比較了三種不同大?。葱?、中、大)的主干和檢測頭的精度。下圖顯示所有主干和檢測頭的組合在不同尺度的上表現。TTFNet、NanoDet和FCOS優于其他網絡,主要是因為得到性能最佳的重型主干網的加持,如HardDNet-68或VoVNet-39。重型主干的更高分辨率的特征圖與這些檢測頭中的FPN/PAN相結合能得到更好性能,使得中型和大型目標的精度要好得多。在檢測頭中,FCOS和NanoDet對各種尺寸的目標總體表現更好。TTFNet、CenterNet和SSD,位于中頻譜,配上更快的主干網絡對于需要更高推理速度的應用來說是不錯的選擇。FCOS的穩定性能歸功于其更重型的架構,其使用了五個不同尺度的特征圖。為了進一步分析,作者考慮所有具有HardNet-68主干的檢測頭,因為它在更復雜的數據集COCO上提供了最佳平衡。
輸入圖像尺寸的影響
用于訓練的輸入圖像的分辨率對最終精度起著重要作用。所有先前實驗中使用的圖像分辨率均為512×512。為了分析其他輸入分辨率在精度和速度上的權衡,作者使用不同圖像尺寸進行訓練,包括256、384、512和736。圖像尺寸選擇為“16的偶數倍”。
上圖表明,檢測頭的精度遵循“收益遞減”的趨勢。在大多數情況下,從256到384的圖像分辨率有顯著的精度跳躍。但是,隨著圖像尺寸的進一步增加,增益會降低,當圖像尺寸從512變為736時增益最?。ㄔ谀承┣闆r下,它也會降低精度)。此外,作者觀察到更高圖像尺寸的精度增益被更大的速度下降所掩蓋。例如,FCOS中從512到736的4.4%精度增益被37%的速度降低所掩蓋,因此FCOS切換到高分辨率不是最優選擇。對于YOLO、TTFNet和FCOS,速度隨著分辨率的增加而明顯下降,因為YOLO和其它FPN中的多分辨率尺度特征連接中的操作數量隨著圖像大小的增加而增加。DETR使用注意力塊來捕獲圖像的全局上下文信息,而ThunderNet具有單獨的區域每個樣本的proposal,它們對不同的圖像大小不太敏感。
anchor尺寸的影響
anchor大小和縱橫比需要與數據集中存在的目標的大小一致,因此是anchor-based網絡中的重要參數。anchor大小也需要先驗,因此很難適應新的數據集。在作者研究的八個檢測頭中,SSD、YOLO和Thundernet使用anchor-based的方法進行檢測。為了分析anchors對檢測性能的影響,作者對所有三個anchor的檢測頭進行了實驗,這些檢測頭具有不同的anchor尺寸,由它們各自的寬度和高度定義。目的是為anchor的寬度和高度添加一些偏移量,并分析網絡速度和準確性的變化。作者不是線性增加/減少anchor尺寸,而是從具有不同sigma的高斯分布中采樣偏移量,并將其添加到原始anchor的寬度和高度以創建修改后的anchor尺寸。此外,修改后的anchor在整個特定實驗中保持不變。原始anchor的寬度和高度(來自這些網絡的原始架構)被視為基線。
下表顯示了修改后的anchor相對于基線(第一行)的精度和推理速度方面的變化。作者觀察到不同大小的anchor的精度變化遵循隨機模式,精度和速度之間沒有相關性。ThunderNet在精度上,對anchor框大小的變化不敏感,而其推理速度不斷提高。SSD對這些變化非常敏感,因為所有三組anchor框大小的準確性都降低了,而其中一個的速度增加了。這些變化提高了YOLO的精度,但并不是都影響其推理速度。anchor尺寸影響檢測的非確定性方式證明,修改anchors以提高檢測效果不是一項簡單而直接的做法。
置信度閾值的影響
目標檢測器會產生許多框,并使用一個閾值來過濾掉冗余和低置信度預測。改變這個閾值會影響準確率和召回率。因此,置信度閾值在計算精度和推理速度方面起著至關重要的作用。由于未明確提及此類參數,因此從先前的目標檢測文獻中再現結果存在差異。使用不同的閾值顯示出精度和推理數量的顯著差異。ThunderNet有基于區域的proposal,并利用Soft-NMS,分數衰減而不是固定硬閾值,因此這個參數不影響結果。CenterNet和TTFNet使用maxpool來選擇預測,而DETR去除了傳統的檢測模塊,因此不使用這個閾值。因此,本研究僅考慮了YOLO、SSD、FCOS和NanoDet。下表顯示了使用較高閾值時準確度的下降以及使用較低閾值時速度的降低。例如,通過將閾值從0.01更改為0.4,YOLO的mAP下降了~22%,而速度提高了~71%。
可變形卷積的影響
引入了可變形卷積(DCN)層,有助于檢測具有幾何變形的目標。傳統的卷積根據定義的內核大小在圖像上使用固定的矩形網格。在DCN中,每個網格點都可以移動一個可學習的偏移量,即網格是可變形的。DCN基準測試主要關注精度的提升,而不是其他指標。為了獲得有關速度和資源需求的更多信息,作者分析了DCN層對在其最初提出的架構中使用DCN的兩個檢測器的影響,即CenterNet和TTFNet。下表提供了上述兩個檢測器的精度、速度、參數數量和能耗并且沒有DCN層。在兩個數據集COCO和BDD上測試結果。在BDD數據集上,將CenterNet中的DCN層替換為標準卷積層,導致準確率下降1.8%,速度提升8%以上。DCN層的使用也增加了參數量,導致能耗增加13%。在COCO數據集上,將TTFNet中的DCN改為標準卷積層后,精度下降不到5%,而速度提高了10%,能耗提高了約6%。這些結果表明,使用DCN層時存在固有的精度、速度和資源需求權衡。
目標檢測器的可靠性
許多應用程序,尤其是對安全至關重要的應用程序,需要檢測網絡高度準確和可靠。檢測器不僅必須精確,還應該指出它們何時可能不正確。模型校準提供了對模型不確定性的洞察,隨后可以將其傳達給最終用戶或協助進一步處理模型輸出。它是指與一個預測相關的概率反映整體精度可能性的度量。大多數工作只專注于提高網絡的預測精度,但必須有一個經過良好校準的模型。大型且精度高的網絡往往過于自信(Guoetal.,2017)并且校準錯誤。因此,迫切需要重新審視和測量SOTA檢測器的校準,以獲得完整的評估。校準的大部分工作都集中在分類領域,但Kuppers等人。(2020)包括邊界框預測以及分類標簽,以評估檢測器的整體校準。預期校準誤差(ECE)(Naeinietal.,2015)是衡量校準的常用指標之一,用于衡量預測置信度和準確度之間的期望差異。在分類領域,該分數表示分類準確度與估計的信心。檢測ECE(D-ECE)(Kuppersetal.,2020)測量觀察到的平均精度(AP)與分類和邊界框屬性的偏差。置信空間和邊界框空間被劃分為相等的bin,通過迭代所有bin并在每個bin中累積AP和置信度之間的差異來計算D-ECE。一維案例只考慮置信度,但作者使用多維D-ECE案例,它結合了所有因素:p、cx、cy、w、h,分別表示預測的類別概率、中心坐標、寬度和高度。
可靠性圖(DeGroot&Fienberg,1983)用于直觀地表示模型校準,其中準確度被繪制為置信度的函數。下表和圖分別提供了可靠性分數和圖表。
在可靠性圖中,對角線表示完美校準,綠色陰影表示校準中的差距。在anchor-based的檢測器中,SSD校準得很好,而YOLO則更不自信。所有基于關鍵點的方法(上圖中的最后一行)都更傾向于不自信,并且對他們的預測更加謹慎,因此可能更適合安全關鍵型應用。但是,基于Transformer(DETR)和基于兩階段(ThunderNet)的檢測器過于自信,在安全關鍵型應用中可能不受歡迎。當還包括定位時,校準誤差會增加(如D-ECE中所反映的)。作者注意到有幾個分類領域的校準解決方案,例如直方圖分箱(Zadrozny&Elkan,2001)、邏輯校準/普拉特縮放(Plattetal.,1999)、溫度縮放(Guoetal.,2017)和beta校準(Kulletal..,2017)。然而,將這些應用于目標檢測可能沒有那么有效,因此已經提出了其他工作(Neumann等人,2018年;Kuppers等人,2020年)來采納專門針對目標檢測的經過良好校準的估計。在這項研究中,作者專注于比較不同檢測器的可靠性,而不是深入研究解決方案以改進其校準。
自然魯棒性
自動駕駛等實時目標檢測應用非常重視安全性和精度。在此類應用中使用的目標檢測器需要在其預測中保持一致,并且對各種因素(例如不斷變化的天氣條件、光照和各種其他成像效果)具有魯棒性。公共數據集沒有充分覆蓋所有這些影響,因此作者通過在它們上添加不同的損壞來模擬它們。Corrupted COCO數據集創建有15種不同的損壞。下圖顯示了每個檢測頭在四種損壞類別上的結果:噪聲、模糊、天氣和數字化影響。精度值是該特定類別中不同損壞的平均值。這些 level0是網絡在原始數據上的表現。所有網絡的性能在所有損壞上都會惡化,并且隨著嚴重性的增加而下降得更快。在噪聲、模糊和數字化影響方面,與天氣類別相比,這些網絡的性能下降幅度相對較大。對于所有損壞類別,FCOS是最穩健的,而YOLO是最不穩健的。就IID數據的準確度而言,檢測器的頂部、中部和低譜在OOD設置上仍然保持良好。FCOS在IID測試集中被證明是最準確的,即使在具有挑戰性的OOD設置(即自然損壞的數據)上也能保持這種性能。
為了提供更詳細的分析,作者在下圖中顯示了每個網絡的所有15種不同損壞的結果。在每個熱圖中,作者通過對所有損壞進行平均來計算平均損壞準確度(mCA)。所有檢測器在所有三種噪聲(高斯噪聲、散粒噪聲和脈沖噪聲)上都顯示出類似的性能下降趨勢。與其他噪聲相比,FCOS和TTFNet的下降最少,并且對噪聲損壞相對更穩健。在模糊損壞中,散焦和運動模糊的下降更為穩定,而對于玻璃模糊,精度最初逐漸下降,但在嚴重級別3之后急劇下降。在變焦模糊中,所有檢測器的性能下降都從嚴重級別1開始。與霜和雪相比,所有檢測器對不同亮度和霧的破壞都具有魯棒性。最差的性能出現在下雪的條件下,并且趨勢相似。在數字效果中,與像素化和對比度相比,網絡對彈性變換和JPEG壓縮的魯棒性更強。所有模型對對比變化的魯棒性都較低,而YOLO是最不魯棒的。
對抗魯棒性
一些工作已經表明深度神經網絡對對抗性攻擊的脆弱性。對抗性擾動是難以察覺的噪聲,當添加到數據中時,人眼無法察覺,但可能導致網絡做出錯誤的預測。在自動駕駛等安全關鍵型應用中,穩健性對于防止網絡做出不合時宜的決策更為重要。因此,對抗魯棒性是目標檢測的關鍵指標。然而,它在文獻中并不突出。在這里,作者評估了所有八個檢測器網絡對對抗性攻擊的魯棒性。
作者采用基于梯度的攻擊,利用網絡的梯度信息來產生擾動。投影梯度下降(PGD)(Madryetal.,2017)是一種常見的非目標攻擊,它最大化訓練損失以產生對抗性擾動,該擾動被限制在epsilon范圍內。作者同時使用分類損失和回歸損失作為PGD攻擊的目標。作者以不同的攻擊強度執行PGD攻擊,并在下圖中展示精度。Epsilon=0時的精度是指原始測試集上的干凈準確度。隨著攻擊強度的增加,性能下降。與其他檢測器相比,CenterNet和DETR表現出穩定且更好的魯棒性。FCOS具有最高的自然精度,并且對非常弱的攻擊表現出良好的抵抗力,但在更高的擾動下性能急劇下降。TTFNet和ThunderNet表現次之。YOLO、NanoDet和SSD占據下一個頻譜。
案例研究:自動駕駛
實時目標檢測在自動駕駛(AD)領域具有高度相關性,網絡需要學習各種目標,例如城市道路和高速公路上的行人、車輛和路標。檢測網絡的大多數基準都在VOC和COCO上提供數據集,主要由家常目標組成。這些數據集的結果不足以衡量網絡在AD場景中的性能。因此,作者使用BDD數據集(Yuetal.,2018)對AD進行了實際案例研究,該數據集是該領域中最大和最多樣化的數據集之一。
首先,作者展示了這個復雜數據集上所有網絡的性能。然后,作者通過使用在BDD上訓練的模型并在不同的數據集(即Cityscapes(Cordtsetal.,2016))上進行測試來解決分布外(OOD)泛化問題。最后,作者將所有在BDD上訓練的模型部署在嵌入式設備上,并展示每個網絡的實時應用能力。因為與速度下降相比,DCN獲得的準確度并不顯著。因此,在本節中,作者統一考慮所有沒有DCN層的網絡。
下表是作者展示了在BDD驗證集上獲得的結果。類似于趙等人。(2018a),作者以IoU=0.7計算了模型的準確度(mAP)。NanoDetex表現出最好的準確度。FCOS是次之最準確的,但速度慢,能耗也最高。CenterNet速度最快,但準確度略低。SSD消耗的能量最少,YOLO有準確率最低。有趣的是,BDD數據集中目標位置的偏差導致生成的區域建議更少,從而使ThunderNet更快。
分布轉移的泛化是AD場景中的主要挑戰之一。網絡在實際應用中部署時,需要適應看不見的數據并始終如一地執行。然而,大多數深度學習基準都顯示在測試集上,其分布與訓練數據相同(Geirhosetal.,2020)。因此,為了測試網絡對分布變化的魯棒性,作者在Cityscapes數據上測試了BDD訓練模型。作者從Cityscapes數據集的實例分割注釋中提取真實邊界框。作者觀察到FCOS的準確度最高,NanoDet緊隨其后。CenterNet是最快的網絡,SSD在這兩個集合中是最節能的。一般來說,anchor-free的檢測器是跨具有挑戰性的AD數據集泛化的較好選擇。
AD應用程序具有功率和資源限制,因為網絡部署在板載邊緣設備上。檢測網絡在低功耗設備上的實時性能對其功效至關重要。對于部署,作者使用TensorRT庫將網絡轉換為優化的高性能推理引擎。TensorRT是NVIDIA的并行編程模型,可以優化神經網絡以部署在嵌入式或汽車產品平臺上。然后,這些引擎在NVIDIA的三個不同范圍的GPU上進行測試:(1)2080Ti,一種常用的桌面GPU,(2)Jetson-Xavier,一種強大的移動GPU,以及(3)Jetson-TX2,一種低功耗的移動GPU。下表顯示了所有8個檢測器在三種精度模式下的推理速度,即FP32、FP16和INT8。
性能趨勢可能與之前看到的不同,因為它取決于TensorRT對不同層的優化。優化融合了后續層并使計算并行化。anchor-based的檢測器ThunderNet、YOLO和SSD具有相對簡單的架構,優化后的速度增益最高。YOLO是最簡單的,得到的優化最多,是所有平臺上最快的。然而,所有anchor-free的檢測器從優化中獲得的速度增益最小。DETR位于中間頻譜,并且由于transformer架構相對較新,它不像其他卷積層那樣被TensorRT引擎優化。這個獨特的案例研究表明,性能在一臺設備上看到的趨勢不一定會轉化為其他硬件。該基準在選擇模型以部署在邊緣設備上以實現實時AD應用程序時非常有用。
案例研究:健康領域
深度學習的最新進展使人工智能模型能夠幫助外科醫生和放射科醫生診斷和治療危及生命的疾病。手動檢測需要專業知識,需要時間,并且可以也會受到人為錯誤的影響。基于AI的檢測解決方案有助于降低成本和資源,并可以為醫學成像中的檢測提供準確的工具。其中一個應用是使用DNN檢測醫學圖像中的息肉。結腸和直腸(結腸直腸)癌通常是由結腸或直腸內層的息肉引起的。
檢測這些息肉并在早期階段對其進行治療對于癌癥治療至關重要。醫學圖像的分布與COCO和VOC等標準數據集截然不同。因此,標準基準可能無法提供有關為此應用程序選擇哪種模型的重要信息。此外,不同的指標更相關,具體取決于應用程序。雖然標準基準側重于準確性的精度指標,但在醫療保健行業,即使是一個假陰性也可能比假陽性結果造成更大的損害,召回更為重要。為了解決這種新的數據分布和指標,作者專門針對通過評估Kvasir-SEG數據集上的檢測器來評估醫學圖像。下表顯示了在Kvasir-SEG的testsplit上獲得的結果。召回與此應用程序更相關,因此,作者將平均平均召回(mAR)與mAP一起報告。某些網絡(如YOLO)可能沒有最高的精度,但召回低。FCOS具有最高的召回率和精度,這使其成為此類測試用例的理想候選者。在速度方面,SSD是最快的,而Nanodet次之。
討論
作者在跨不同數據集的統一實驗設置下對特征提取器和檢測器的組合(范圍從兩階段、單階段、anchor-based、anchor-free到基于Transformer的架構)進行了全面研究。作者得出了一組廣泛的結果,包括精度、速度、資源和能耗,以及穩健性和校準分析。作者評估了檢測器對兩種自然對抗性破壞的魯棒性。此外,還突出顯示了詳細的見解,以全面了解不同變量對最終結果的影響。對不同的變量,如主干網絡的影響、圖像大小、目標大小、置信閾值和特定架構層進行了解耦和研究。作者還就兩個不同的行業貢獻了兩個獨特的案例研究:自動駕駛和醫療保健。
作者進一步在嵌入式硬件上優化和基準測試網絡,以檢查網絡部署在邊緣設備上的可行性。結果表明,anchor-free的檢測器傾向于很好地泛化多個數據集,因為不再需要對anchor進行優化。NanoDet在準確性和速度方面都很好,同時對資源也很友好。CenterNet是第二快的,并且在所有其他指標上也處于良好的范圍內,TTFNet位于中間范圍內。FCOS的準確性最高,但在其他指標上表現不佳,而DETR是基于Transformer的檢測器具有最低的MAC計數,位于中間頻譜。在主干網中,專門設計的現代網絡對于低內存流量,例如HardDNet,在精度、推理速度和能耗之間提供最佳平衡。所有檢測器在檢測小目標時都表現不佳,FCOS的表現相對更好。不同的anchor以非確定性的方式影響性能,因此難以泛化。
作者指出在切換到更高圖像尺寸或使用DCN層時應考慮的精度-速度-資源要求權衡。在對抗自然損壞的魯棒性上,所有網絡的性能在所有15次損壞上都下降了,并且隨著嚴重性的增加下降得更快。一般來說,anchor-free的檢測器比其他檢測器對自然損壞的魯棒性相對更強。FCOS是最魯棒的,而YOLO是最不魯棒的。FCOS和TTFNet對嘈雜和模糊的損壞相對更魯棒,但所有檢測器在雪天條件下表現都很差。CenterNet被證明是最強大的對對抗性擾動具有魯棒性,而FCOS和DETR對這些攻擊也具有很強的抵抗力。在可靠性分析方面,SSD的校準相對最佳,而anchor-free的檢測器在預測中更加謹慎,因此使其在安全關鍵型應用中比較推薦。ThunderNet和DETR傾向于更加過度自信。
作者對基于深度學習的實時目標檢測網絡在不同數據集和不同域上進行全面的分析。廣泛的分析了新架構(Transformer vs. CNN)的能力和缺陷。不同的應用有不同的標準,作者的研究可以作為工業界衡量不同標準的指南,在為各自的應用選擇檢測器時可以進行權衡。而且由于新的檢測網絡正在不斷的出現,作者也希望能啟發研究人員將這項研究作為設計新網絡的參考準則。本研究強調了標準化、透明和公平的重要性,同時強調需要將重點從名義上的改進轉移到更開闊的視野。
審核編輯:郭婷
-
檢測器
+關注
關注
1文章
860瀏覽量
47651 -
神經網絡
+關注
關注
42文章
4762瀏覽量
100539
原文標題:超大超全!萬字長文詳解多領域實時目標檢測算法(2022最新)
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論