RCNN,Fast-RCNN,Faster-RCNN以及YOLO的區別
RCNN:
1):利用selective-search方法提取2000個自下而上的region proposal;
2):針對每一個region proposal我們用一個大的CNN網路計算特徵;
3):利用線性SVMs分類器對每個region proposal進行分類;
4):進行回歸分析調整region proposal區域。
參考論文:Rich feature hierarchies for accurate object detection and semantic segmentation
推薦論文:RCNN論文詳解
Fast-RCNN:
1)讀取整個圖片和一個ROI(Regions of Interest,也就是一系列劃分的bounding box)集合作為輸入);
2)然後convnet從整個圖片中提取特徵,得到feature map;
3)對每一個ROI區域,pooling層從feature map中提取一個固定大小的feature factor;
4)feature factor被送往FC(fully-connected layer),被映射到兩個部分,一部分是評估k個目標類加上catch-all"背景"類的softmax probability;另一部分產生bbox regressor,即針對k個目標對象的每一個4值真值數量(4 real-valued numbers),每個4值編碼集合(set of 4 values)K類目標對象之一的bounding-box位置。
參考論文:Fast-RCNN論文出處
推薦論文:Fast R-CNN
Faster-RCNN:
1):針對整張圖片,利用CNN獲取feature map;
2):利用RPN網路針對feature map進行全連接運算,將其輸出為256d或者512d的低維特徵向量,
3):最後將該低維向量送入兩個全連接層,即box回歸層和box分類層。
RPN介紹:Region Proposal Network,利用卷積後的特徵圖生成region proposal,通過增加兩個卷基層實現,RPN網路輸出的是坐標和score兩類。
參考論文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
推薦論文:
使用Faster-Rcnn進行目標檢測Faster R-CNN論文筆記——FR使用Faster-Rcnn進行目標檢測以上的三種方法都是將目標檢測分為兩部分實現的:
1)物體的類別;分類問題。
2)物體的區域,即bounding box,回歸問題。
而YOLO將問題直接當做回歸問題求解,輸入圖像經過處理,可以直接獲取到圖像中物體的類別及其confidence以及物體的位置。
YOLO:
YOLO講輸入圖像分為S×S個grid,每個grid負責檢測落入其中的物體。如果物體的中心位置落入該grid,則該grid就負責檢測出這個問題。每個grid輸出B個bounding box的同時還要輸出C個物體屬於某類的confidence,從B個裡面挑選IOU最大的那個bounding box,同時C是總共包含的類的類別。
Loss function:依次是:坐標誤差,IOU誤差以及分類誤差。參考論文:You Only Look Once: Unified, Real-Time Object Detection
參考文獻:YOLO詳解
推薦閱讀:
※斯坦福CS231n項目實戰(三):Softmax線性分類
※一起來學西瓜書! 第二章 模型評估與選擇
※如何理解機器學習?
※《集異璧》作者侯世達瘋狂吐槽谷歌翻譯,AI讓譯者失業?還早著呢!
※使用sklearn來進行驗證碼識別