深度學習之影像目標檢測速覽

AIBigbull2050發表於2019-08-31

目標檢測是很多計算機視覺應用的基礎,比如例項分割、人體關鍵點提取、人臉識別等,它結合了目標分類和定位兩個任務。現代目標檢測器的框架可分為two-stage和one-stage兩種型別,two-stage框架分為兩步,精度高,但速度較慢,不能到、達到實時檢測:

1) 區分前景物體框與背景併為它們分配適當的類別標籤;

2) 迴歸一組係數使得最大化檢測框和目標框之間的交併比或其它指標,最後,使用非極大值抑制演算法移除冗餘的邊界框(對同一目標的重複檢測)。

one-stage為一步,在迴歸和目標分類同時進行,一次給出目標的迴歸框和類別,速度快能夠達到實時,但精度低於two-stage的框架。


基於深度學習的目標檢測主要的演算法模型如圖1所示:

深度學習之影像目標檢測速覽


圖1 影像目標檢測網路模型


R-CNN遵循傳統目標檢測的思路,同樣採用提取框,對每個框提取特徵、影像分類、非極大值抑制四個步驟進行目標檢測,但是做了部分改進,一是經典目標檢測演算法使用滑動窗法依次判別所有可能的區域,而R-CNN預先提取一系列較可能是物體的候選區域,之後在這些候選區域上提取特徵,進行判斷,大大減少了計算量。二是將傳統的特徵(如SIFT,HOG特徵等)換成了深度卷積網路提特徵。相比傳統目標檢測方法,R-CNN在目標檢測精度上有了較大提升,在VOC2007資料集上傳統的目標檢測方法最高map為40%左右,而R-CNN的map達到了58.5%。但R-CNN計算量很大,佔用磁碟空間也大。為了解決CNN網路需要固定尺寸的影像輸入問題,何愷明等提出了SPP-Net, SPP-Net只對影像進行一次卷積,之後使用SPP-Net在特徵圖上提取特徵。其在VOC 2007資料集上,在達到相同或更好的效能情況下,比R-CNN方法快24-102倍。受SPP-Net啟發,Ross Girshick在2015年推出了Fast R-CNN,構思精巧,流程更為緊湊,大幅提升了目標檢測的速度。在保證效果的同時提高了效率,基於VGG 16的Fast R-CNN模型在訓練速度上比R-CNN快約9倍,比SPP-Net快約3倍,測試速度比R-CNN快約80倍,比SPP-Net快約4倍,在VOC 2007上的map約在66%-67%之間。為了解決Fast R-CNN選擇性搜尋的耗時問題,Shaoqing Ren等提出了Faster R-CNN網路,在Fast R-CNN中引入Region Proposal Network替代Selective Search,同時一如anchor box機制,將特徵提取、proposal提取、Bounding Box Regression、分類整合到一個網路中,較大的提升了目標檢測的速度,相比Fast R-CNN在相同精度下,檢測速度提升了10倍。雖然Faster R-CNN在檢測速度上有了較大提升,但1s只能處理5幀影像,速度上並不能滿足實時的要求,Joseph Redmon等提出了Yolov1模型,其是一個one-stage的目標檢測框架,基於迴歸的思想,利用整張圖作為網路的輸入,直接在影像的多個位置上回歸出目標邊框以及目標所屬類別。大大提高了檢測速度,使得Yolov1每秒可以處理45張影像,map為63.4低於Faster R-CNN。由於缺少了Region Proposal機制,只使用7*7的網格迴歸會使得目標不能非常精準的定位,導致Yolov1的檢測精度並不是很高,為了解決這個問題,WeiLiu等提出了SSD目標檢測框架,採用Yolov1的方法獲取目標的位置和類別,相比Yolov1預測某個位置使用的全圖特徵,SSD預測某個位置使用的是這個位置周圍的特徵,即使用Faster R-CNN的anchor box機制,不同於Faster R-CNN,SSD的anchor是在多個feature map上的,這樣既可以利用多層的特徵而且還具有多尺度的效果。SSD 在VOC 2007上的map達到了72.1%,在GPU上速度達到了58幀每秒。為了解決Yolov1在目標定位及召回率低低的問題,Joseph Redmon等對Yolov1網路結構做了調整,提出了Yolov2,相比Yolov1框架,Yolov2將輸入影像大小448*448調整到416*416,卷積層調整為19層,網格劃分從7*7調整為13*13,加入Batch Norm層,引入anchor機制。Yolov2在VOC 2007上的map達到了76.8%,檢測速度達到了67幀每秒。以上目標檢測演算法都只是採用頂層特徵做預測,在檢測小目標物體時候效果不是很好,於是,Tsung-Yi Lin 等提出了FPN網路,即頂層特徵透過上取樣和底層特徵融合,每層獨立預測。在檢測小目標物體上的精度相比Faster R-CNN,有了一定的提升。在2018年Joseph Redmon等對Yolov2做了進一步改進,提出了Yolov3,在小目標物體檢測上有了較大提升,相比Yolov2的19層卷積,Yolov3的backbone卷積層加深到了53層,借鑑了深度殘差網路以及FPN網路,在犧牲一定的速度的基礎上,在小目標物體上的檢測精度有了較大提高。在coco test-dev上mAP@0.5達到了55.3%,檢測速度達到了34幀每秒。





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2655623/,如需轉載,請註明出處,否則將追究法律責任。

相關文章