QueryDet:級聯(lián)稀疏query加速高分辨率下的小目標檢測(代碼已開源)
論文:https://arxiv.org/abs/2103.09136
代碼(已開源):https://github.com/ChenhongyiYang/QueryDet-PyTorch
01
概述
促進小目標檢測的最常見和最有效的方法是使用高分辨率圖像或特征圖。然而,這兩種方法都會導致計算成本高昂,因為計算成本會隨著圖像和特征大小的增加而成正比增長。
為了兩全其美,研究者提出了QueryDet,使用一種新穎的查詢機制來加速基于特征金字塔的目標檢測器的推理速度。該流程由兩個步驟組成沒如下圖。
首先在低分辨率特征上預測小物體的粗略位置,然后使用由這些粗略位置稀疏引導的高分辨率特征計算準確的檢測結果。這樣不僅可以收獲高分辨率特征圖的好處,還可以避免對背景區(qū)域進行無用計算。在流行的COCO數據集上,該方法將檢測mAP提高了1.0,mAP small提高了2.0,高分辨率推理速度平均提高了3倍。在包含更多小目標的VisDrone數據集上,研究者創(chuàng)建了一個新的狀態(tài),同時平均獲得2.3倍的高分辨率加速。
02
背景及動機
可以通過縮放輸入圖像的大小或降低CNN的下采樣率以保持高分辨率特征來改進小目標檢測,因為它們增加了結果特征圖中的有效分辨率。然而,僅僅增加特征圖的分辨率會產生相當大的計算成本。幾項工作[A unified multi-scale deep convolutional neural network for fast object detection] [Feature pyramid networks for object detection][Ssd: Single shot multibox detector]提出通過重用來自CNN不同層的多尺度特征圖來構建特征金字塔來解決這個問題。不同尺度的目標在不同的層次上被處理:大目標傾向于在高層次特征上被檢測到,而小目標通常在低層次上被檢測到。特征金字塔范式節(jié)省了在主干中從淺到深維護高分辨率特征圖的計算成本。盡管如此,檢測頭對低級特征的計算復雜度仍然是巨大的。
例如,在RetinaNet中添加一個額外的金字塔級別P2將帶來大約300%的計算量(FLOPs)和檢測頭的內存成本;因此在NVIDIA 2080Ti GPU上將推理速度從13.6 FPS嚴重降低到4.85 FPS。
研究者提出了一種簡單有效的方法QueryDet,以節(jié)省檢測頭的計算量,同時提高小目標的性能。動機來自兩個關鍵觀察:
1)對低級特征的計算是高度冗余的。在大多數情況下,小目標的空間分布非常稀疏:它們只占據高分辨率特征圖的一小部分;因此浪費了大量的計算。
2)特征金字塔是高度結構化的。雖然我們無法準確檢測低分辨率特征圖中的小物體,但我們仍然可以高度自信地推斷出它們的存在和粗略位置。
利用上圖兩個觀察結果的一個自然想法是,我們只能將檢測頭應用于小目標的空間位置。該策略需要以低成本和稀疏計算在所需的特征圖上定位小物體的粗略位置。
在今天分享中,研究者提出了基于新型查詢機制級聯(lián)稀疏查詢(CSQ)的QueryDet,如上圖所示。遞歸地預測低分辨率特征圖上小目標(查詢)的粗略位置,并將它們用于 指導更高分辨率特征圖中的計算。借助稀疏卷積,顯著降低了檢測頭對低級特征的計算成本,同時保持了對小目標的檢測精度。請注意,新提出的方法旨在節(jié)省空間計算,因此它與其他加速方法兼容,如輕量級主干網、模型修剪、模型量化和知識蒸餾。
03
新框架
Revisiting RetinaNet
RetinaNet有兩部分:一個帶有FPN的主干網絡,輸出多尺度特征圖和兩個用于分類和回歸的檢測頭。
ResNet+FPN:提取圖片特征
Anchor:邊框搜索
Class subnet (Focal Loss):預測類別
Box subnet:預測邊框坐標和大小
P3 head占據了將近一半的FLOPs,而低分辨率功能P4到P7的成本僅占15%。因此,如果想將FPN擴展到P2以獲得更好的小目標性能,成本是無法承受的:高分辨率的P2和P3將占據總成本的75%。在下面風分析中,描述了QueryDet如何減少對高分辨率特征的計算并促進推理sp。
Accelerating Inference by Sparse Query
在基于FPN的檢測器的設計中,小目標傾向于從高分辨率低級特征圖中檢測到。然而,由于小目標通常在空間中分布稀疏,高分辨率特征圖上的密集計算范式效率非常低。受此觀察的啟發(fā),研究者提出了一種從粗到細的方法來降低低級金字塔的計算成本:首先,在粗略特征圖上預測小物體的粗略位置,然后集中計算精細特征圖上的相應位置。這個過程可以看作是一個查詢過程:粗略的位置是查詢鍵,用于檢測小目標的高分辨率特征是查詢值;因此稱提出的方法為QueryDet。方法的整個流程如下圖所示。
Relationships with Related Work
請注意,盡管新提出的方法與使用RPN的兩階段目標檢測器有一些相似之處,但它們在以下方面有所不同:
新方法僅在粗略預測中計算分類結果,而RPN同時計算分類和回歸
RPN是在所有級別的全特征圖上計算的,而QueryDet的計算是稀疏和選擇性的
兩階段方法依靠像RoIAlign或RoIPooling這樣的操作來將特征與第一階段候選對齊。
盡管如此,它們并沒有在新提出的方法中使用,因為研究者在粗略預測中沒有框輸出。值得注意的是,提出的方法與基于FPN的RPN兼容,因此可以將QueryDet合并到兩階段檢測器中以加速提案生成。
04
實驗及可視化
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
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。