天天看點

R-CNN: Rich feature hierarchies for accurate object detection and semantic segmentation

摘要

2012年之前, 目标檢測算法性能已經進入平台期。性能好的算法都是內建算法(綁定底層特征和高層context)。在這篇文章中,作者提出了 R-CNN (Regions with CNN features)。

算法介紹

1. R-CNN方法包含三個子產品:

1)産生類别無關的候選區域;
2)利用CNN(卷積神經網絡)提取固定長度的特征;
3)學習linear SVM的集合,每個linear SVM對應一個類别分類器。
           
R-CNN: Rich feature hierarchies for accurate object detection and semantic segmentation

a) 生成候選區域(region proposals)

許多文章提供了這類方法,例如:objectness, selective search, 等等。作者使用了selective search。
           

b) 特征提取

作者使用caffe在每個候選區域提取4096維特征。作者在實作的時候,使用了AlexNet提取特征。
 因為AlexNet的輸入圖像大小是227*227RGB圖像。輸入的候選區域必須轉換為227*227。作者采用了最簡單的轉換方法。不管候選區域的尺寸和方向率,直接将圖像轉為227*227。
 在轉換之前,作者将圖像的邊緣像素進行了填充。填充的基本條件是,填充的邊緣在變換後的圖像上是16像素。
           
R-CNN: Rich feature hierarchies for accurate object detection and semantic segmentation

2.R-CNN測試

在測試的時候,1)運作selective search提取2000個候選區域。2)轉換每個候選區域為227*227的RGB圖像,然後送給AlexNet,提取4096維特征。3)4096維特征送給linear SVM分類器,為每個類别打一個分數。

得到了所有的打分區域,然後使用非最大抑制 拒絕掉一些低分值的區域。

3.運作時間分析

存在兩個屬性使計算更加有效率。

1)所有類的特征是共享的。

2)CNN提取的特征向量是低維的(僅僅4096)

計算region proposals和特征的時間被分攤給所有類别,是以計算效率非常高。

4.R-CNN訓練

1)監督預訓練

首先使用ImageNet(圖像級别的标注,沒有标定每個目标的位置)訓練一個CNN網絡。

2)Fine-tuning微調

使用warped regions proposals進行微調,并且1000類的分類層,修改為21類

(20個類别,加上1個背景)。

3)類别分類器

使用Linear SVM訓練類别分類器。Linear SVM的輸入是4096維特征。

4.評估

R-CNN: Rich feature hierarchies for accurate object detection and semantic segmentation

end

繼續閱讀