關於目標檢測(Object Detection)的文獻整理


本文對CV中目標檢測子方向的研究,整理了如下的相關筆記(持續更新中):

1. Cascade R-CNN: Delving into High Quality Object Detection

年份:2018;關鍵詞:Cascade RCNN;引用量:749;推薦指數(1-5):5

描述:一般正常的檢測器是用0.5的IOU閾值(用於提出正負樣本)訓練,但如果提高IOU閾值會降低檢測器的表現。這有兩個原因:

  1. 當訓練時,高IOU閾值會減少提出的正樣本,引發exponentially vanishing positive samples問題,使得模型過擬合。
  2. 在inference階段,輸入的IOU與輸出的IOU不匹配也會導致精度的下降。注:其中的輸入IOU是RPN輸出proposal的IOU(控制正負樣本),輸出IOU是proposal經過bbox classification時的IOU(判斷是否為正例)。

為了解決上述瓶頸:作者使用cascade的網絡結構在bbox head上面,如論文中的圖3,先用iou=0.5訓練RPN,然后再級聯不同的檢測器(IOU=0.5,0,6,0.7),H1預測結果框將被輸入給下一個H2進行訓練,依次后推此過程。再輸入給下一個檢測器前,輸出結果會被normalization(即減去平均值再除方差),這樣就能保證不同階段下的目標框分布能保持穩定的一致性。從小IOU到大IOU避免了過擬合,而且normalization使得輸入IOU與輸出IOU有個較好的匹配。此外,創新點處是在在bbox head上引入級聯結構且加入了normalization。
心得:當評估標准所用IOU較高時,可以考慮先提高不同檢測器的IOU(例如都加0.1),看看模型表現,如果有提升,可以再試着調整RPN里的IOU(例如提高提出pos的IOU)。因為嚴格的評估意味着要求模型檢測質量要高,而IOU的提高對於獲取高質量的結果有幫助。


 2. YOLO9000: Better, Faster, Stronger

年份:2016;關鍵詞:YOLOv2;引用量:5934;推薦指數(1-5):5

描述:YOLOv2解決YOLO第一版本的性能問題(localization error和low recall )。YOLOv2使用了Dimension Cluster用以K-means聚類得到候選框,然后再根據聚類候選框改進bbox定位方法。同時還使用了Fine-Grained Features,該方法是將passthrough層放在抽取特征圖后,檢測器前。passthrough層是抽取前面層的局部區域2*2的局部區域,然后將其轉化為channel維度,從而得到更精的特征圖,有利於幫助預測小物體,有1%的提升點。另外還有其他手段,例如訓練high resolution classifier,有4%的提升點。YOLOv2的創新點:用聚類的思想生成合適的候選框,以及使用了多種tricks。 

心得

  1. 可以根據原論文圖2的形式,選擇合適數量的聚類數,再使用Cluster IOU的候選框去代替人工定義的候選框。
  2. passthrough的思想(即將大特征圖划分后疊加在channel上,以利用low-level特征進行預測)和
  3. high resolution classifier的思想(即若預訓練模型的預訓練數據輸入尺寸比實際訓練圖像尺寸小,可以試着先用大尺寸的預訓練數據在fine-tuning訓練下預訓練模型,讓其熟悉大尺寸輸入,訓練好后,再用實際大尺寸圖像進行訓練,類似SNIP的預訓練方法)。

3.  Libra R-CNN: Towards Balanced Learning for Object Detection

年份:2019;關鍵詞:Libra R-CNN;引用量:149;推薦指數(1-5):5

 描述:解決瓶頸:訓練中不平衡問題。在樣本層的不平衡問題上,OHEM對noise labels敏感且計算昂貴。Focal loss對單階段模型有利,而雙階段模型由於常提出easy negatives,而使Focal loss在此沒有提升。在特征層上的不平衡問題上,高層特征富含語義(semantic meaning),而底層特征有更多的內容描述(content descriptive)。在目標層上有類別(classification)和定位(localization)的不平衡問題。

解決方法:針對三個層次 - 樣本層,特征層和目標層,作者提出了Lirbra RCNN框架,它集成了3個部分:IOU-balanced sampling,Balanced feature pyramid和Balanced L1 loss。

  1. IOU-balanced sampling:提前設置好K個IOU bins,然后根據論文公式(2)的選擇概率為每個bins選擇相同數量的hard negative samples。默認K=3。
  2. Balanced feature pyramid:它的pipeline主要依次分為rescaling, integrating, refining和strengthening。最后得到的不同feature pyramid可以繼續接着FPN使用。
  3. Balanced L1 loss:在檢測器部分,hard samples往往被認為是outliers,它會引起過大額梯度從而不利於訓練。而inliers(即easy samples)相比於outliers,對於總體梯度貢獻的梯度較少。具體來說,對於outliers,inliers平均每個樣本只貢獻30%的梯度。在 Balanced L1 loss中,alpha控制inliers的梯度變化,alpha越大,梯度變化越大,但alpha無法控制outliers。gamma調節regression error的上限。默認alpha=0.5,gamma=1.5。

創新點:使用了三種分別應對樣本層,特征層和目標層上不平衡問題的方法。

心得:

  1. 根據IOU-balanced sampling 實驗來看,當K=3是,總AP最好,但是K>0會使得AP50有所下降,大於0.3左右,而AP75會增加1.5左右。
  2. 根據 Balanced L1 loss實驗來看,alpha 和gamma的調整都是有提升的。
  3. Libra R-CNN的三種平衡方法都可以獨立使用,並沒有說三個方法的各自性能存在相互依賴關系。

 4. Deformable Convolutional Networks

年份:2017;關鍵詞:DCN;引用量:1295;推薦指數(1-5):5

 描述:解決瓶頸:針對如何適應數據集上的空間變換,傳統思路有兩種:一是增強訓練集的變化,二是用變換不變性特征(transformation-invariant features)和算法(例如SIFT,scale invariant feature transform)。而前者的先驗設計缺乏通用性,后者難以應對復雜的空間變換。

解決方法:作者認為高層CNN上,關於特征的采樣應基於object,而不是簡單的grid。DCN提出了關於卷積層和ROI pooling的deformable形式。

  1. Deformable Convolution:先通過conv正常進行特征映射,然后將其通過由輸入的特征映射學習到的偏移offset,最后偏移輸出結果。
  2. Deformable ROI Pooling: 先由傳統ROI pooling得到ROI特征映射,然后通過fc歸一化,再偏移且雙線性插值輸出結果。
  3. Position-Sensitive (PS) ROI Pooling:與 Deformable ROI Pooling主要區別在於PS ROI Pooling使用了conv。

創新點:提出了deformable ConvNets對特征進行non-grid的映射抽取。
心得:效果不錯,默認deformable convolution是放在最后3個卷積層的位置上。


5.  Making Convolutional Networks Shift-Invariant Again

年份:2019;關鍵詞:BlurPool;引用量:110;推薦指數(1-5):3

描述:解決瓶頸:許多CNN不具有平移不變性(shift-invariant),輸入上小的移動或平移就會導致輸出的嚴重改變。
解決方法:為了使模型訓練過程中的特征具有移動不變性Shift-equivariance。作者提出了BlurPool,它就是使用了一個Blur kernel,例如最大池化第一步是先計算區域的最大值,然后進行采樣,而BlurPool則將低通濾波(low-pass filter)的操作嵌入到中間,在采樣前先經過一個模糊低通濾波的作用,然后采樣。將模糊下采樣和最大池化相結合起來,減小了混疊效應,提升了網絡的平移不變性能力。Blur kernel/filter有三種形態:Rect-2,Tri-3,Bin-5。
創新點:提出了BlurPool,幫助模型模糊輸入的平移。
心得:BlurPool能增強模型對不同平移輸入的魯棒性。其中Bin-5是Blur kernel 效果最好。


 6. MMDetection: Open MMLab Detection Toolbox and Benchmark

年份:2019;關鍵詞:MMDetection;引用量:229;推薦指數(1-5):5

描述:解決瓶頸:現有集成的代碼庫不夠豐富。
解決方法:將目標檢測多種SOTA模型和優化手段集成到mmdetection代碼庫中,靈活且高效。
創新點:將不同SOTA目標檢測模塊集成代碼庫。
心得:
(1)2018 COCO冠軍所用的代碼庫。
(2)Balanced L1 loss在IOU-balanced sampling或者balanced FPN上表現更好。
(3)IoU-based losses比L1-based losss表現的更好些,除了Bounded IoU Loss。GIoU loss比IoU loss高0.1%,Bounded IoU Loss和Smooth L1 Loss相似,但前者需要更大的loss weight。
(4)因為bachsize很小,所以凍結batch normalzation。而且不同normalization的效果都差不多。
(5)關於多尺度學習,range模式上比value好。range下,長邊 × [短邊下限,短邊上限],短邊下限變大並不能提升准度,而 短邊上限可以。


 7. Bag of Freebies for Training Object Detection Neural Networks

年份:2019;關鍵詞:Mixup;引用量:38;推薦指數(1-5):5

描述:解決瓶頸:研究不同小技巧對一階和二階模型的提升。
解決方法:作者們研究的小技巧為:Mixup, label smoothing, Random geomertry transformation和Random color jittering, cosine lr schedule, synchronized batch normalization, random shapes training。

創新點:在mixup上,作者使用了geometry preserved alignment的方式去避免就扭曲圖像.
心得:
(1)在使用mixup時,作者提議使用beta分布,其中alpha和beta都為1.5可以保證圖像視覺上更自然些。
在預訓練階段和實際訓練階段都用mixup在coco上可以獲得最大的提升1.2%,而但用mixup在其中一個階段會有0.2%mAP左右的絕對提升。
(2)雖然cosine lr schedule在結果表現上有提升,但是比賽時有選手反映其不能帶來明顯提升,其實如果step lr schedule在第二步衰減后晚點取最終的epoch結點模型,個人覺得可以忽略掉cosine lr schedule和step lr schedule之間的不同。
(3)傳統的一階模型十分依賴輸入圖像上的空間信息,而二階模型是通過ROI采樣方式進行特征提取,因此不太需要很多geometric augmentations操作,例如random cropping。
(4)Label smoothing本質上是對交叉熵cross entropy中的q做文章,原本q是服從獨熱分布的,但這樣可能會導致模型在預測中過於自信而過擬合,label smoothing就是調整了q的上下限,使模型對於預測不要那么自信。
(5)從結果看cosine lr schedule, class label smoothing, mixup對二階段模型幫助挺大的,這同樣適用於一階段模型,但數據增強對於二階段模型不是那么的必要,反而對一階模型有很大的幫助。


 8. YOLOv3 An Incremental Improvement

年份:2018;關鍵詞:YOLOv3;引用量:4558;推薦指數(1-5):5

描述:解決瓶頸:提升YOLOv2

解決方法:YOLO3主要的改進有:調整了網絡結構;利用多尺度特征進行對象檢測;對象分類用Logistic取代了softmax。YOLO3采用了稱之為Darknet-53的網絡結構(含有53個卷積層),它借鑒了殘差網絡residual network的做法,在一些層之間設置了快捷鏈路(shortcut connections)。YOLO3也使用K-means聚類得到先驗框的尺寸。預測對象類別時不使用softmax,改成使用logistic的輸出進行預測。這樣能夠支持多標簽對象(比如一個人有Woman 和 Person兩個標簽)。
參考鏈接:https://zhuanlan.zhihu.com/p/49556105
創新點:YOLO3主要的改進有:調整了網絡結構;利用多尺度特征進行對象檢測;對象分類用Logistic取代了softmax。
心得:
- 該模型缺陷在於對於IOU閥值高的AP,IOU越高,模型表現越不好。即模型對與小物體檢驗效果比中大型物體檢驗效果好。
- YOLOv3使用focal loss會降點,原因可能是:模型在提出先驗框時,如果發現與Ground-truth物體有重疊且IOU大於0.5的先驗框有多個,那么只留下最好(即IOU最大)的先驗框,如果先驗框不會在與Ground-truth物體無重疊的地方提出,因此對於class-prediction和coordinate來說是沒有loss的,只有objectness有損失。
- 據論文顯示,Darknet-53可媲美ResNet-101,且速度更快。


免責聲明!

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



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