論文閱讀筆記五十:CornerNet: Detecting Objects as Paired Keypoints(ECCV2018)


 

 

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

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

摘要

       本文提出了目標檢測算法的新的模型結構,利用單個卷積網絡將框的左上角及右下角兩個點組成一對關鍵點,進而不需要設計在單階段檢測中大量的anchor boxes,同時,引入了corner pooling用於提升角點定位效果。

介紹

       單階段檢測通過密集的anchor box及后續的增強定位來獲得好的檢測效果,但使用anchor存在以下幾點問題:(1)需要大量的anchor box,然而只有一小部分的anchor box與ground truth 存在較大的重疊,這就會造成類別不平衡問題,而且不利於訓練。(2)使用anchor 引入了大量人為的超參數及設計方法(數量?大小?比例?)。

       本文引入了新的單階段檢測方法,其並未依賴於anchor box。本文將框的左上角及右下角兩個角點看作一組關鍵點。用一個卷積網絡預測所有同一類別的樣本的左上角點的heatmap,及右下角點的heatmap,及一個檢測到角點的embeding vector。embeding用於組合屬於同一個目標的一對角點,網絡預測其相似的embedings。本模型簡化了模型的輸出,同時移除了anchor的設計步驟。本文受人體關鍵點檢測思想啟發,整個思路圖如下

       Cornernet的另一個創新點是corner pooling,有利於卷積網絡定位邊界框的角點。如下圖所示,一個邊界框的角點經常在目標物的外邊。這種情況下,一個角點無法根據局部特征進行定位。為了確定一個像素點處是否存在左上角的角點,需要從右側觀察邊界框其頂部水平方向,同時,從下觀察邊界框的最左邊。

       Corner pooling受上述啟發,如下圖,輸入兩個feature maps,對第一個Feature map的所有向量的左側進行max pool操作,對第二個feature map所有向量的頂部進行max pool,最后將二者的結果進行相加處理。

       本文認為基於Corner 的目標檢測要優於proposals的檢測方法主要有兩點:(1)由於框的中心依賴於四個邊很難進行定位。而定位角點只需要定位兩條邊,同時引入了coner pool的先驗,因此,定位更加簡單。(2)角點高效的離散了框的解空間,只需要O(wh)的角點可以表示O(w^2h^2)的anchor box的數量。

CornerNet

       整體流程:將檢測框的左上及右下的點作為一組角點。一個單一結構的卷積網絡用於預測兩組不同目標類別的heatmaps,一組heatmaps用於預測左上角的點,另一組用於預測右下角的點,同時預測一個embedings向量,比如來自同一目標類別的兩個角點之間的距離很小。為了得到更加緊密的邊框,網絡同時預測一個偏差用於調整角點的位置。有了,兩個角點的heatmaps,embeding vectors,及Offset,后面通過使用一個后處理的方法來獲得最終的邊框。如下圖所示,使用hourglass 網絡作為backbone,其后接着兩個預測模型,一個用於預測左上角的點,另一個用於預測右下角的點。每個模型都有自己的corner pool層,在進行預測heatmaps,embeding vector,offset之前pool  hourglass 網絡的feature maps.本文並使用不同的尺寸檢測目標物,只借助模型的兩個輸出角點進行目標檢測。

       角點的檢測:預測兩組heatmaps,每組heatmaps的尺寸為HxWxC。C代表目標物的類別。沒有背景這個類別,每個通道的feature map為二值型的mask,代表是否為該類別。對於每個角點,存在一個ground truth positive location,其余的位置為negative.本文降低了對正樣本附近圓周位置的負樣本的懲罰,因為,一對距離對應ground truth很近的負樣本角點也可以產生一個較好的邊界框,包圍目標物。如下圖所示。

       本文通過確保半徑內的一對點將生成與ground truth box重疊度至少為0.3的框來確定對象大小的半徑。有了半徑,懲罰度由unnormalized的高斯分布生成。等式如下

       Pcij代表第(i,j)類別為c的概率,ycij代表對應的經過unnormalized 高斯分布增強過的ground truth 標簽,定義了新的Focal Loss如下。

       在下采樣階段中,(x,y)位置的像素被映射為(x/n,y/n),而對其還原時,會存在一定精度上的損失,對IOU造成影響,因此,在對其remap到輸入尺寸之前,預測位置偏移對角點的位置進行微調。

       角點組合:一張圖中可能會存在多個目標,因此,可能會檢測到多組角點。這里需要確定,一組左上角及右下角的點是否是來自同一個邊界框的。本文借鑒人體關鍵點檢測中基於一組embeding 向量來確定是否將關鍵點進行組合,本文也預測了embeding vectors。通過,基於左上角點的embeding vectors及右下角點embeding vectors的距離來決定是否將兩個點進行組合。重要的是二者之間的距離,而向量中的具體數值卻不是很重要。本文使用1-D的embeding 向量,etk代表目標k左上角點的embeding ,ebk代表其右下角點的embeding。定義"pull"損失用於組合角點,“push”損失用於分離角點。如下,

       Corner Pooling:角點的表示沒有任何局部視覺信息,因此要確定一個像素是否為左上角的點,需要從框的頂部水平的向右觀察,同時,在框的左邊從下觀察。提出了corner pooling基於先驗以更好的對框進行定位。

       假設判斷(i,j)位置的像素是否為左上角的點,ft,fl為兩個輸入corner pooling 的feature maps,ftij,flij分別為feature map上(i,j)位置的向量。對於一個HxW的feature map,corner pool首先max pool,ft中(i,j)到(i,H)之間所有的特征向量得到向量tij,同理,max pool fl中(i,j)至(W,j)之間所有的特征向量得到向量lij,最后,將tij與lij進行相加操作。表達式如下,基於elementwise max 操作,右下角的定義同理,處理(0,j)->(i,j),(i,0)->(i,j)之間的特征向量。

 

       預測模型結構如下,模型的第一部分為修改的殘差塊,將第一個3x3的卷積替換為corner pooing,首先通過2個3x3x128的卷積核來處理來自backbone的feature map,后接一個corner pool層,將Pooled后的feature map送入3x3x256的conv-BN層中,同時增加了一個映射短鏈接,修正的殘差塊后接一個3x3x256的卷積及三個conv-BN-ReLU模塊用於預測heatmaps,embedings,offsets。

 

       Hourglass Network:CornerNet將Hourglass 網絡作為backbone,Hourglass網絡被首次用於人體姿態估計任務,包含多個hourglass模型,hourglass模型首先會對輸入圖片通過一系列卷積池化操作進行降采樣,然后通過一系列上采樣,反卷積等操作恢復至輸入的分辨率。為了彌補最大池化過程中丟失的細節信息,增加了跳躍結構,來恢復上采樣的細節信息。hourglass在單一結構中同時捕捉了局部及全局特征信息。當多個hourglass模型組合在一起時可以獲得更高級別的特征信息。本文的hourglass網絡包含兩個hourglass模塊,並對其結構做了適當的更改。使用stride 2的卷積操作替換max pooling進行尺寸縮小,本文將分辨率減小5倍,通道數為{256,384,384,384,512},在對特征進行上采樣時,在最近的相鄰上采樣塊中添加了兩個殘差模型。每個跳躍連接也由兩個殘差模型組成。在一個hourglass模型的中間存在四個殘差模型,通道數為512,在hourglass模型之前,使用7x7x128,stride=2的卷積將輸入分辨率降4倍。同時接一個stride 為2通道數為256的殘差模塊。在訓練過程中增加了中間監督,但其預測結果並未返回網絡,因為對最終結果產生不良影響。在hourglass模型的輸入及輸出使用1x1的conv-BN模型,對結果通過后接ReLU及通道數為256的殘差塊進行像素級相加進行特征融合作為下一個hourglass的輸入。hourglass網絡的深度為104,只用網絡的最后一層特征作預測。原始hourglass網絡如下:

 

實驗

 

Reference

       1.Bell, S., Lawrence Zitnick, C., Bala, K., and Girshick, R. (2016). Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2874–2883.

       2.Bodla, N., Singh, B., Chellappa, R., and Davis, L. S. (2017). Soft-nmsimproving object detection with one line of code. In 2017 IEEE International Conference on Computer Vision (ICCV), pages 5562– 5570. IEEE.

       3.Cai, Z., Fan, Q., Feris, R. S., and Vasconcelos, N. (2016). A unified multi-scale deep convolutional neural network for fast object detection. In European Conference on Computer Vision, pages 354– 370. Springer.

       4.Cai, Z. and Vasconcelos, N. (2017). Cascade r-cnn: Delving into high quality object detection. arXiv preprint arXiv:1712.00726.


免責聲明!

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



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