1. 程式人生 > >G-CNN詳解

G-CNN詳解

(3)根據G-CNN的框架結構圖,它的總體思路是:首先在影象上新增多尺度的regular grid(multi-scale regular grid),圖中為了視覺化,展示的grid是不重疊,但實際上boxes之間是重疊的。在訓練時,通過分配函式為每一個box分配一個groundtruth object,分配函式是基於box與groundtruth的IoU進行分配的。然後,在每一個訓練step,對grid中的boxes進行迴歸,使得box朝著分配給它的影象中的目標移動。測試時(test time),對於每次迭代中的每一個box,可以得到它在所有類別上的confidence scores(可信度分值),用最可能類別(the most probable class)的迴歸器來更新box的Location。
2.相關工作
(1)Prior to CNN(在CNN之前):目標檢測問題在使用CNN之前多是用滑動視窗和分類(sliding window and classification)實現的,如HOG+SVM。還有DPM模型
(2)CNN age:Grishick提出了一個多階段的目標檢測系統R-CNN(第一個基於
深度學習
的目標檢測系統)。為了處理目標檢測中的定位問題,R-CNN主要依賴於object proposal技術。另一方面,R-CNN用一個標準的CNN作為特徵提取器來提取每個proposed bounding box的特徵,最後用一分類器對box中的目標類別進行判斷識別。R-CNN的主要缺點是計算特徵的冗餘性。一般來說,一幅影象要生成2k個proposals,對每一個proposal都要運用CNN來提取特徵。為了緩和這個問題,在SPP-Net中,對於每一幅影象,網路的卷積層只運用一次,然後每個roi的特徵通過整個影象的feature map得到。然而SPP-Net中學習僅限於微調完全卷積層的權值。這一問題在Fast-RCNN中得以解決。在Fast-RCNN中所有引數都通過反向誤差傳播(BP)來學習。Fast-RCNN的不足是沒有將目標proposals生成整合到網路中。對於Fast-RCNN來說,object proposal成為了瓶頸問題。為了使object proposals數目更少一些,Multibox提出了一種使用CNN生成proposal的演算法,輸出800個bounding boxes。Multibox將CNN最後一層的大小增加到4096*800*5,引入了很多引數。文獻[17]提出了Faster-RCNN,它從幾千個anchor points開始生成300個boxes。
(3)將目標檢測模型化迴歸問題:除了分類,使用迴歸器(regressor)進行目標檢測在之前也有一些研究。(一種思路是將目標檢測作為分類任務來實現,RCNN,Fast RCNN這一系列都是對object proposal進行分類,然後利用regressor修正位置,而另一種思路是將目標檢測任務通過迴歸來實現)。如文獻[19]提出將目標檢測模型化一個迴歸問題,提出了基於CNN的一個迴歸系統(a CNN-based regression system)。近期,文獻[23](ICCV2015的一篇論文)提出了AttentionNet,它使用迭代迴歸來檢測影象中的一個單個目標,是單類別目標檢測。對於多類目標,模型使用proposal演算法生成上千個proposals,然後對每個prpoposal重複運用進行單類別目標檢測,效率非常低。
(4)去除基於CNN的目標檢測系統中的proposal階段:文獻[14]論述了基於CNN的目標檢測系統中object proposal演算法的必需性。在文獻[14]中,用一個固定的bounding boxes集合來替代proposals。另一個去除proposal階段的嘗試是文獻[16],which conducts object detection in a single shot。