QueryDet:級聯(lián)稀疏query加速高分辨率下的小目標(biāo)檢測(代碼已開源)
論文:https://arxiv.org/abs/2103.09136
代碼(已開源):https://github.com/ChenhongyiYang/QueryDet-PyTorch
01
概述
促進(jìn)小目標(biāo)檢測的最常見和最有效的方法是使用高分辨率圖像或特征圖。然而,這兩種方法都會導(dǎo)致計(jì)算成本高昂,因?yàn)橛?jì)算成本會隨著圖像和特征大小的增加而成正比增長。
為了兩全其美,研究者提出了QueryDet,使用一種新穎的查詢機(jī)制來加速基于特征金字塔的目標(biāo)檢測器的推理速度。該流程由兩個(gè)步驟組成沒如下圖。
首先在低分辨率特征上預(yù)測小物體的粗略位置,然后使用由這些粗略位置稀疏引導(dǎo)的高分辨率特征計(jì)算準(zhǔn)確的檢測結(jié)果。這樣不僅可以收獲高分辨率特征圖的好處,還可以避免對背景區(qū)域進(jìn)行無用計(jì)算。在流行的COCO數(shù)據(jù)集上,該方法將檢測mAP提高了1.0,mAP small提高了2.0,高分辨率推理速度平均提高了3倍。在包含更多小目標(biāo)的VisDrone數(shù)據(jù)集上,研究者創(chuàng)建了一個(gè)新的狀態(tài),同時(shí)平均獲得2.3倍的高分辨率加速。
02
背景及動(dòng)機(jī)
可以通過縮放輸入圖像的大小或降低CNN的下采樣率以保持高分辨率特征來改進(jìn)小目標(biāo)檢測,因?yàn)樗鼈冊黾恿私Y(jié)果特征圖中的有效分辨率。然而,僅僅增加特征圖的分辨率會產(chǎn)生相當(dāng)大的計(jì)算成本。幾項(xiàng)工作[A unified multi-scale deep convolutional neural network for fast object detection] [Feature pyramid networks for object detection][Ssd: Single shot multibox detector]提出通過重用來自CNN不同層的多尺度特征圖來構(gòu)建特征金字塔來解決這個(gè)問題。不同尺度的目標(biāo)在不同的層次上被處理:大目標(biāo)傾向于在高層次特征上被檢測到,而小目標(biāo)通常在低層次上被檢測到。特征金字塔范式節(jié)省了在主干中從淺到深維護(hù)高分辨率特征圖的計(jì)算成本。盡管如此,檢測頭對低級特征的計(jì)算復(fù)雜度仍然是巨大的。
例如,在RetinaNet中添加一個(gè)額外的金字塔級別P2將帶來大約300%的計(jì)算量(FLOPs)和檢測頭的內(nèi)存成本;因此在NVIDIA 2080Ti GPU上將推理速度從13.6 FPS嚴(yán)重降低到4.85 FPS。
研究者提出了一種簡單有效的方法QueryDet,以節(jié)省檢測頭的計(jì)算量,同時(shí)提高小目標(biāo)的性能。動(dòng)機(jī)來自兩個(gè)關(guān)鍵觀察:
1)對低級特征的計(jì)算是高度冗余的。在大多數(shù)情況下,小目標(biāo)的空間分布非常稀疏:它們只占據(jù)高分辨率特征圖的一小部分;因此浪費(fèi)了大量的計(jì)算。
2)特征金字塔是高度結(jié)構(gòu)化的。雖然我們無法準(zhǔn)確檢測低分辨率特征圖中的小物體,但我們?nèi)匀豢梢愿叨茸孕诺赝茢喑鏊鼈兊拇嬖诤痛致晕恢谩?/span>
利用上圖兩個(gè)觀察結(jié)果的一個(gè)自然想法是,我們只能將檢測頭應(yīng)用于小目標(biāo)的空間位置。該策略需要以低成本和稀疏計(jì)算在所需的特征圖上定位小物體的粗略位置。
在今天分享中,研究者提出了基于新型查詢機(jī)制級聯(lián)稀疏查詢(CSQ)的QueryDet,如上圖所示。遞歸地預(yù)測低分辨率特征圖上小目標(biāo)(查詢)的粗略位置,并將它們用于 指導(dǎo)更高分辨率特征圖中的計(jì)算。借助稀疏卷積,顯著降低了檢測頭對低級特征的計(jì)算成本,同時(shí)保持了對小目標(biāo)的檢測精度。請注意,新提出的方法旨在節(jié)省空間計(jì)算,因此它與其他加速方法兼容,如輕量級主干網(wǎng)、模型修剪、模型量化和知識蒸餾。
03
新框架
Revisiting RetinaNet
RetinaNet有兩部分:一個(gè)帶有FPN的主干網(wǎng)絡(luò),輸出多尺度特征圖和兩個(gè)用于分類和回歸的檢測頭。
ResNet+FPN:提取圖片特征
Anchor:邊框搜索
Class subnet (Focal Loss):預(yù)測類別
Box subnet:預(yù)測邊框坐標(biāo)和大小
P3 head占據(jù)了將近一半的FLOPs,而低分辨率功能P4到P7的成本僅占15%。因此,如果想將FPN擴(kuò)展到P2以獲得更好的小目標(biāo)性能,成本是無法承受的:高分辨率的P2和P3將占據(jù)總成本的75%。在下面風(fēng)分析中,描述了QueryDet如何減少對高分辨率特征的計(jì)算并促進(jìn)推理sp。
Accelerating Inference by Sparse Query
在基于FPN的檢測器的設(shè)計(jì)中,小目標(biāo)傾向于從高分辨率低級特征圖中檢測到。然而,由于小目標(biāo)通常在空間中分布稀疏,高分辨率特征圖上的密集計(jì)算范式效率非常低。受此觀察的啟發(fā),研究者提出了一種從粗到細(xì)的方法來降低低級金字塔的計(jì)算成本:首先,在粗略特征圖上預(yù)測小物體的粗略位置,然后集中計(jì)算精細(xì)特征圖上的相應(yīng)位置。這個(gè)過程可以看作是一個(gè)查詢過程:粗略的位置是查詢鍵,用于檢測小目標(biāo)的高分辨率特征是查詢值;因此稱提出的方法為QueryDet。方法的整個(gè)流程如下圖所示。
Relationships with Related Work
請注意,盡管新提出的方法與使用RPN的兩階段目標(biāo)檢測器有一些相似之處,但它們在以下方面有所不同:
新方法僅在粗略預(yù)測中計(jì)算分類結(jié)果,而RPN同時(shí)計(jì)算分類和回歸
RPN是在所有級別的全特征圖上計(jì)算的,而QueryDet的計(jì)算是稀疏和選擇性的
兩階段方法依靠像RoIAlign或RoIPooling這樣的操作來將特征與第一階段候選對齊。
盡管如此,它們并沒有在新提出的方法中使用,因?yàn)檠芯空咴诖致灶A(yù)測中沒有框輸出。值得注意的是,提出的方法與基于FPN的RPN兼容,因此可以將QueryDet合并到兩階段檢測器中以加速提案生成。
04
實(shí)驗(yàn)及可視化
Comparison of accuracy (AP) and speed (FPS) of our QueryDet and the baseline RetinaNet on COCO mini-val set
Comparison of detection accuracy (AP) and speed (FPS) of our QueryDet and the baseline RetinaNet on VisDrone validation set
The speed and accuracy (AP and AR) trade-off with input images with different sizes on COCO and VisDrone. The trade-off is controlled by the the query threshold σ. The leftmost marker (the ▲ marker) of each curve stands for the result when Cascade Sparse Query is not applied. QD stands for QueryDet and RN stands for RetinaNet
Visualization of the detection results and the query heatmap for small objects of our QueryDet on MS-COCO and VisDrone2018 datasets. We remove class labels for VisDrone2018 to better distinguish the small bounding boxes
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。