R-CNN是Ross Girshick在論文《Rich feature hierarchies for accurate object detection and semantic segmentation 》中提出的一種將CNN用于目標(biāo)檢測(object detection)并取得顯效果的新算法驼卖。該算法一經(jīng)問世盾沫,變得到廣泛關(guān)注诗眨,并迅速發(fā)展出Fast R-CNN, Faster R-CNN, Mask R-CNN等一系列相關(guān)算法鞠评。
R-CNN解決了Object detection兩個關(guān)鍵問題:
- 速度!經(jīng)典的目標(biāo)檢測算法使用滑動窗法依次判斷所有可能的區(qū)域衙荐。R-CNN用Selective search算法從圖片中提取2000多個候選Region旬昭,之后僅在這些Region上提取特征眯漩,進(jìn)行判斷旧噪。
- 數(shù)據(jù)集太少吨娜!論文使用了兩個數(shù)據(jù)集:
a. ImageNet ILSVC 2012 每張圖片都是特定類別脓匿。1000個類別淘钟。圖片數(shù)量巨大,但圖片內(nèi)容簡單陪毡,一張圖片只有一個物體米母。 使用這個數(shù)據(jù)集預(yù)訓(xùn)練一個CNN分類器。
b. PASCAL VOC 20102012毡琉, 該數(shù)據(jù)集標(biāo)注了20種不同的物體類別和位置铁瞒。如:人,交通工具桅滋,動物慧耍,家具等。該數(shù)據(jù)集的特色是接近現(xiàn)實(shí)世界的場景丐谋, 每張圖片有多個物體芍碧,不過數(shù)據(jù)量比較少。
● R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)
- 使用Selective search算法從圖片中提取2000多個候選Region(將在后面的論文筆記中介紹Selective search提取算法)号俐。提取的Region大小泌豆,長寬比例都不一樣;但CNN的輸入的圖片必須大小固定的吏饿。因而踪危,在交給CNN處理之前需要調(diào)整各個Region大小猪落;論文中的處理方法是簡單粗暴地把Region縮放或拉伸到227 * 227像素贞远。
a. 注: warp前,先把Region原始邊框向外擴(kuò)16像素笨忌。類似于增加16像素內(nèi)邊距蓝仲。 - 將處理后的Region丟給CNN訓(xùn)練,每個Region將提取出一個4096維的特征向量。CNN的架構(gòu)跟Krizhevsky提供的一樣, 5個卷積層杂曲,2個fc層(將在后面的論文筆記詳細(xì)介紹Krizhevsky的CNN在圖片分類中的應(yīng)用)庶艾。
- 論文為PASCAL VOC 的每個類別都訓(xùn)練一個SVM。將CNN輸出的每個Region的特征向量擎勘,輸入給每個類別的SVM處理打分咱揍,得分最高的類別作為這Region的類別。
a. non-maximum suppression過濾Region棚饵, 對任意兩個Region煤裙,如果他們的IoU(intersection-over-union)大于某個閾值(比如:0.5),則刪除得分比較低的Region噪漾,保留得分高的Region硼砰。
b. 最后保留得分最高K個Region作為輸出
● R-CNN訓(xùn)練的要點(diǎn)
1. 使用ILSVRC 2012的數(shù)據(jù)預(yù)先訓(xùn)練CNN, 該CNN是用于圖片識別欣硼,最后輸出的是一個1000維數(shù)組题翰,代表輸入圖片屬于各個類別的概率。將CNN用于object detection時要稍作修改诈胜,最后輸出層需要改為輸出N+1(N為類別的數(shù)目豹障,此處為20,1是加一個背景)
2. 然后用PASCAL VOC 2012數(shù)據(jù)進(jìn)行微調(diào)fine-tuning: We treat all region proposals with 0.5 IoU over- lap with a ground-truth box as positives for that box’s class and the rest as negatives 焦匈。在每次訓(xùn)練迭代中都使用32個正樣本(包括所有類別)和96個背景樣本組成的128張圖片的batch進(jìn)行訓(xùn)練(這么做的主要原因還是正樣本圖片太少了)
3. SVM的訓(xùn)練:對每個類都訓(xùn)練一個線性的SVM分類器血公,訓(xùn)練SVM的正樣本就是ground-truth框中的圖像,完全不包含的region proposal應(yīng)該是負(fù)樣本缓熟。但是對于部分包含某一類物體的region proposal使用IoU閾值的方法累魔,這次的閾值為0.3,計(jì)算每一個region proposal與標(biāo)準(zhǔn)框的IoU够滑,小于0.3的作為負(fù)樣本垦写,其他的全都丟棄。
● R-CNN的不足之處
1. 速度比較慢版述,很多重復(fù)的卷積計(jì)算
2. 網(wǎng)絡(luò)的各部分需要分開訓(xùn)練梯澜,不能同時訓(xùn)練
3. Proposal Region需要拉伸歸一化到統(tǒng)一尺寸,會導(dǎo)致物體變形影響準(zhǔn)確率