論文閱讀筆記五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)


 

論文原址:https://arxiv.org/pdf/1904.08900.pdf

github:https://github.com/princeton-vl/CornerNet-Lite

摘要

      基於關鍵點模式進行目標檢測是一種新的方法,他並不需要依賴於anchor boxes,是一種精簡的檢測網絡,但需要大量的預處理才能得到較高的准確率。本文提出CornerNet-Lite,是CornerNet兩種變形的組合,一個是CornerNet-Saccade,基於attention機制,從而並不需要對圖片中的每個像素做詳盡的處理。另一個是CornerNet-Squeeze,引入了新的復雜的backbone結構。結合這兩個變形可以應用到兩個重要情景中:(1)在不降低准確率的情況下挺高效率,同時,在實時檢測過程中提高了准確率,CornerNet-Saccade即適合做離線處理,也適用於實時的檢測。

介紹

      CornerNet的推理速度是其一個缺點,對於任意目標檢測模型可以從兩個方向提高其inference效率,一個是降低處理的像素量,另一個是減少每個像素的處理過程。針對這兩個方向,分別提出了CornerNet-Saccade及CornerNet-Squeeze,統稱為CornerNet-Lite.

      CornerNet-Saccade通過減少處理的像素的個數來提高inference的效率。利用一種類似於人眼掃視的注意力機制,首先經過一個下采樣后的輸入圖片,生成一個attention map,然后再將其進行放大處理,接着進行后續模型的處理。這與之前原始的CornerNet在不同尺寸上使用全卷積是有區別的,CornerNet-Saccade通過選擇一系列高分辨率的裁剪圖來提高效率及准確率。

      CornerNet-Squeeze通過減少每個像素的處理過程來加速inference,其結合了SqueezeNet及MobileNet的思想,同時,引入了一個新的backbone hourglass,利用了1x1的卷積,bottlenec層及深度分離卷積。

      在CornerNet-Squeeze基礎上增加saccades並不會進一步提高其效率,這是因為有saccade的存在,網絡需要能夠產生足夠准確的注意力maps。但是CornerNet-Squeeze的結構並沒有額外的計算資源。另外原始的CornerNet作用在多個尺寸中,提供了足夠的空間來進行掃視操作,進而減少了處理像素的個數。相對的,CornerNet-Squeeze由於及其有限的inference負擔,因此,只能在單尺寸上進行應用,因此,提高掃視的空間更少。

      CornerNet-Saccade用於離線處理,在准確率不降的情況下,提高了效率。CornerNet-Squeeze用於實時處理,在不犧牲效率的前提下提升其准確率。CornerNet-Saccade是首個將saccades與keypoint-based 目標檢測結合的方法,與先前工作的關鍵不同點在於每個crop處理的方法。以前基於saccade的工作要么對每個crop只檢測一個目標,像faster r-cnn,要么在每個crop上產生多種檢測器,雙階段的網絡包含額外的sub-crops。相對的,CornerNet-Saccade在單階段網絡中每個crop產生多個檢測器。

      CornerNet-Squeeze首次將SqueezeNet與Hourglass網絡結構進行組合,並應用到目標檢測任務中。Hourglass結構在准確率上表現較好,但不清楚在效率上是否也有較好的效果。但本文證實了這種情況的可能性是存在的。

       貢獻:(1)提出了CornerNet-Saccade 及 CornerNet-Squeeze,用於提高基於關鍵點目標檢測的效率。(2)COCO,提高了6倍檢測效率,AP從42.2%提升至43.2%(3)將目標檢測較好的算法YOLOv3的准確率及性能由33.0%39ms提升至34.4% 30ms。

相關工作

      目標檢測中的掃視功能,人類視覺中的掃描指的是在固定的不同區域中進行一系列的快速掃描。在目標檢測算法中,使用這個方法以順序或者並行的方式進行有選擇的進行裁剪及處理圖片區域。可以有效的提升inference的速度,在R-CNN,Fast-RCNN,Faster R-CNN中裁剪的圖片中存在潛在的目標物。經過分類和回歸操作后,每個剪裁后的圖片要么被丟棄,要么轉換為一個單一帶標簽的框。Cascade R-CNN在Faster R-CNN的基礎上增加了分類器及回歸器進而進一步的篩選增強邊框。saccade在這些R-CNN變形中處理的crop只有一種類型,而且每個crop最多只包含一個目標物。然而在CornerNet-Saccade中,saccades是單類型,同時是多目標的。因此,通過CornerNet-Saccade產生的crop的數量會比目標的數量少很多。

CornerNet-Saccade

      在一張圖片中,cornerNet-Saccade在可能存在目標物proposal的小區域范圍內進行目標檢測。利用下采樣后的圖片進行attention maps及大致邊界框的預測,這兩個都可以大致提出目標物可能存在位置。CornerNet-Saccade接下來會通過在高分辨率圖片上檢測該區域的中心進而檢測到目標物。通過控制每張圖片處理的最大數量的目標物的位置來達到准確率及效率的權衡。 CornerNet-Saccade的流程如下所示。

      Estimating Object Locations:首先是要獲得一張圖片中可能存在目標物的位置信息。本文在一張下采樣后的圖片上得到attention maps,用於代表目標物的位置以及對應位置上目標物的大致大小。給定一張圖片,縮小2倍,至邊長為255或者為192,將邊長為192的進行padding操作使其大小與255的相同,因此,可以進行並行處理。使用低分辨率圖片的原因有兩個:(1)這樣操作會減少inference時間上的消耗(2)網絡可以很容易得到圖片中的上下文信息進而進行attention maps的預測。

      對於下采樣后的圖片,CornerNet-Saccade預測出3個attention maps,其中一個用於小目標,一個用於中等目標,剩下一個作用於大的目標。如果一個目標物的較長邊的像素小於32,則被視為小目標,32到96的視為中等目標,大於96的是大目標。針對不同尺寸的物體的位置進行獨立的預測,可以更好的控制CornerNet-Saccade對每個位置的重視程度。相比於中等目標,可以更多的關注小目標。

      通過在不同尺寸的feature maps上預測出attention maps。feature maps由CornerNet-Saccade的backbone hourglass網絡得到。每一個hourglass模型通過一系列的卷積及下采樣操作對輸入圖片進行縮小,然后,通過一系列的上采樣及轉置卷積將feature map恢復到輸入圖片大小的分辨率。而attention maps由上采樣的層得到。對於尺寸較精細的feature maps用於預測小目標,而粗糙尺寸的框用於檢測較大的目標。本文通過在每個feature map后面更上一個3x3的conv-ReLU+1x1的conv-sigmoid模型來得到attention maps。在測試過程中,只處理分數大於0.3的位置。

      當CornerNet-Saccade處理下采樣后的圖片,極有可能會檢測到一些目標物,同時,產生一些邊界框,單由於分辨率較低,因此,這些框可能並不是很准確,因此,需要在高分辨率上進行評估,進而得到更好的邊界框。

      訓練時,將對應attention map上的邊界框的中心設置為positive,其余為negative,然后,使用的Focal loss。

      目標檢測:CornerNet-Saccade利用從downsized image中得到的位置來確定哪里需要進行處理。如果直接從downsized圖片中裁剪,則一些目標物可能會太小以至於無法准確的進行檢測。因此,需要剛開始就在高分辨率的feature map上得到尺寸信息。

      對於從attention maps得到的位置,可以針對不同尺寸的目標設置不同的放大尺寸。Ss代表小目標的縮放尺寸,Sm代表中等目標的縮放尺寸,Sl代表大目標的縮放尺寸。整體三者之間存在一種關系,Ss>Sm>sl,因為,我們需要對小目標進縮放的成都要大一些。本文設置如下,Ss=4,sm=2,sl=1.對於可能存在的位置(x,y),根據大致的目標尺寸,按照si的比例對downsized圖片進行放大,,然后,將CornerNet-Saccade應用到255x255窗口的中心位置處。

      從預測的邊界框中得到的位置包含更多目標物的尺寸信息。可以利用得到的邊界框的尺寸來確定縮放大小。確定縮放比例后,使小目標的長邊為24,中等目標的為64,大目標的為192。

      在可能的位置處檢測到目標物后,基於soft-NMS處理對於的檢測結果。在對圖片進行裁剪時,裁剪區域的邊界可能會包含目標物的部分區域,如下圖所示。產生的邊界框可能包含目標物很少的區域,而無法倍soft-NMS處理掉,因此,刪除了距離裁剪邊界很近的邊界框。訓練時,采用與CornerNet相似的損失,用於預測corner heatmaps,embedings 及offsets。

      准確率及效率的權衡:通過控制處理每張圖片中目標位置的最大數量來進行准確率及效率上的平衡。本文更傾向於更有可能包含目標物的位置。在得到目標物的位置后,根據其分數及由邊界框得到的先驗位置來對位置進行排序,給定處理的crops的最大數量kmax,在前kmax的目標物的位置上進行物體檢測。

      Suppressing Redundant Object Locations:當目標物之間距離很近,如下圖,會產生彼此重疊度較高的區域。兩個區域都進行處理並不可取,因為,處理一個proposal會肯能檢測到另一個proposal的目標。本文采用類似於NMS的方法用於移除冗余位置,首先將目標物的位置進行排序,由attention maps得到的邊界框的位置的優先級較高。保留最好的目標物位置,同時移除與之相類似的位置,重復此操作。

      Backbone Network:本文設計了一個新的hourglass網絡,包含三個hourglass模型,深度為54層,稱為Hourglass-54。每個hourglass 模型的參數較少而且網絡較淺。本文將feature downsize 2倍。在每個下采樣層的后面用了一個參差層及跳躍結構。每個hourglass模型將feature map減小3倍,同時通道數增加(384,384,512),在hourglass模型的中部 有一個通道數為512的殘差模塊,同時,在上采樣的每一層都有一個參數模塊。在每個Hourglass模型前對輸入圖片進行2倍的downsize。

      訓練細節:優化方法:Adam,inputSize:255x255,batchsize:48

CornerNet-Squeeze

      CornerNet-Saccade通過關注子區域的像素來減少處理量。CornerNet-Squeeze減少每個像素處理過程中的計算量。CornerNet中,計算量主要消耗在Hourglass-104上,其由包含兩個3x3的卷積及一個跳躍連接的殘差塊組成。雖然Hourglass-104的性能好,但是,其參數量大,而且inference時間長。本文借鑒了SqueezeNet及MobileNet的思想來設計一個輕量級的Hourglass結構。

    Ideas:SqueezeNet通過將3x3的卷積替換為1x1的卷積,減少3x3卷積的通道數,以及后續的下采樣操作來減少網絡的參數量。SqueezeNet中的building block及fire module包含前兩個思想,Fire Module首先會通過包含一系列1x1卷積核來減少輸入的通道數,然后,將結果送到包含1x1及3x3卷積核的擴張層中。

     本文將CornerNet-Squeeze中的參差塊替換為fire module。將其中第二層的3x3的標准卷積替換為深度可分離卷積。變換前后操作數量的對比如下。上述Squeeze的第三條特點,並未考慮,因為,hourglass為沙漏型對稱結構。后續的下采樣的結果會在上采樣過程中得到更高的分辨率,而在高分辨率的feature map上進行卷積操作會占用大量的計算資源,不利於實時檢測。本文通過在hourglass模型之前增加更多的下采樣層,移除每個hourglass模型中的一個下采樣層來進一步減少Hourglass 模型中的最大分辨率數。CornerNet-Squeeze在hourglass 模型之前減少3倍的尺寸,而CornerNet只減少兩倍。將CornerNet預測模型中的3x3卷積替換為1x1的卷積。最后,將hourglass網絡中最相鄰的上采樣層替換為4x4的轉置卷積。

 

實驗

 

 

    

 

Reference

      [1] A. T. Bahill, M. R. Clark, and L. Stark. The main sequence,a tool for studying human eye movements. Mathematical

Biosciences, 24(3-4):191–204, 1975.
      [2] N. Bodla, B. Singh, R. Chellappa, and L. S. Davis. Softnms–improving object detection with one line of code. In Proceedings of the IEEE International Conference on Computer Vision, pages 5561–5569, 2017.
      [3] Z. Cai, Q. Fan, R. S. Feris, and N. Vasconcelos. A unified multi-scale deep convolutional neural network for fast object
detection. In European conference on computer vision, pages 354–370. Springer, 2016.
      [4] Z. Cai and N. Vasconcelos. Cascade r-cnn: Delving into high quality object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 6154–6162, 2018


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM