R-CNN , Fast R-CNN , Faster R-CNN原理及区别
github博客傳送門(mén)
csdn博客傳送門(mén)
==RCNN==
1、生成候選區(qū)域
使用Selective Search(選擇性搜索)方法對(duì)一張圖像生成約2000-3000個(gè)候選區(qū)域,基本思路如下:
(1)使用一種過(guò)分割手段,將圖像分割成小區(qū)域
(2)查看現(xiàn)有小區(qū)域,合并可能性最高的兩個(gè)區(qū)域,重復(fù)直到整張圖像合并成一個(gè)區(qū)域位置。優(yōu)先合并以下區(qū)域:
- 顏色(顏色直方圖)相近的
- 紋理(梯度直方圖)相近的
- 合并后總面積小的
- 合并后,總面積在其BBOX中所占比例大的
在合并時(shí)須保證合并操作的尺度較為均勻,避免一個(gè)大區(qū)域陸續(xù)“吃掉”其它小區(qū)域,保證合并后形狀規(guī)則。
(3)輸出所有曾經(jīng)存在過(guò)的區(qū)域,即所謂候選區(qū)域
2、特征提取
使用深度網(wǎng)絡(luò)提取特征之前,首先把候選區(qū)域歸一化成同一尺寸227×227。
使用CNN模型進(jìn)行訓(xùn)練,例如AlexNet,一般會(huì)略作簡(jiǎn)化。
3、類(lèi)別判斷
對(duì)每一類(lèi)目標(biāo),使用一個(gè)線性SVM二類(lèi)分類(lèi)器進(jìn)行判別。
輸入為深度網(wǎng)絡(luò)(如上圖的AlexNet)輸出的4096維特征,輸出是否屬于此類(lèi)。
4、位置精修
目標(biāo)檢測(cè)的衡量標(biāo)準(zhǔn)是重疊面積:許多看似準(zhǔn)確的檢測(cè)結(jié)果,往往因?yàn)楹蜻x框不夠準(zhǔn)確,
重疊面積很小,故需要一個(gè)位置精修步驟,對(duì)于每一個(gè)類(lèi),訓(xùn)練一個(gè)線性回歸模型去判定這個(gè)框是否框得完美。
==Fast R-CNN==
Fast R-CNN主要解決R-CNN的以下問(wèn)題:
1、訓(xùn)練、測(cè)試時(shí)速度慢
R-CNN的一張圖像內(nèi)候選框之間存在大量重疊,提取特征操作冗余。
而Fast R-CNN將整張圖像歸一化后直接送入深度網(wǎng)絡(luò),緊接著送入從這幅圖像上提取出的候選區(qū)域。
這些候選區(qū)域的前幾層特征不需要再重復(fù)計(jì)算。
2、訓(xùn)練所需空間大
R-CNN中獨(dú)立的分類(lèi)器和回歸器需要大量特征作為訓(xùn)練樣本。Fast R-CNN把類(lèi)別判斷和位置精調(diào)統(tǒng)一用深度網(wǎng)絡(luò)實(shí)現(xiàn),不再需要額外存儲(chǔ)。
下面進(jìn)行詳細(xì)介紹
因此,在原始圖片上執(zhí)行這些操作后,輸入圖片尺寸不同將會(huì)導(dǎo)致得到的feature map(特征圖)尺寸也不同,這樣就不能直接接到一個(gè)全連接層進(jìn)行分類(lèi)。
在Fast R-CNN中,作者提出了一個(gè)叫做ROI Pooling的網(wǎng)絡(luò)層,這個(gè)網(wǎng)絡(luò)層可以把不同大小的輸入映射到一個(gè)固定尺度的特征向量。
ROI Pooling層將每個(gè)候選區(qū)域均勻分成M×N塊,對(duì)每塊進(jìn)行max pooling。將特征圖上大小不一的候選區(qū)域轉(zhuǎn)變?yōu)榇笮〗y(tǒng)一的數(shù)據(jù),送入下一層。
這樣雖然輸入的圖片尺寸不同,得到的feature map(特征圖)尺寸也不同,
但是可以加入這個(gè)神奇的ROI Pooling層,對(duì)每個(gè)region都提取一個(gè)固定維度的特征表示,就可再通過(guò)正常的softmax進(jìn)行類(lèi)型識(shí)別。
而在Fast R-CNN中,作者巧妙的把最后的bbox regression也放進(jìn)了神經(jīng)網(wǎng)絡(luò)內(nèi)部,與區(qū)域分類(lèi)合并成為了一個(gè)multi-task模型
實(shí)驗(yàn)表明,這兩個(gè)任務(wù)能夠共享卷積特征,并且相互促進(jìn)。
Fast R-CNN很重要的一個(gè)貢獻(xiàn)是成功地讓人們看到了Region Proposal+CNN(候選區(qū)域+卷積神經(jīng)網(wǎng)絡(luò))這一框架實(shí)時(shí)檢測(cè)的希望,原來(lái)多類(lèi)檢測(cè)真的可以在保證準(zhǔn)確率的同時(shí)提升處理速度。
==Faster R-CNN==
在Faster R-CNN中加入一個(gè)提取邊緣的神經(jīng)網(wǎng)絡(luò),也就說(shuō)找候選框的工作也交給神經(jīng)網(wǎng)絡(luò)來(lái)做了。
這樣,目標(biāo)檢測(cè)的四個(gè)基本步驟(候選區(qū)域生成,特征提取,分類(lèi),位置精修)終于被統(tǒng)一到一個(gè)深度網(wǎng)絡(luò)框架之內(nèi)。
Faster R-CNN可以簡(jiǎn)單地看成是“區(qū)域生成網(wǎng)絡(luò)+Fast R-CNN”的模型,用區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,簡(jiǎn)稱RPN)來(lái)代替Fast R-CNN中的Selective Search(選擇性搜索)方法。
RPN的工作步驟如下:
- 在feature map(特征圖)上滑動(dòng)窗口
- 建一個(gè)神經(jīng)網(wǎng)絡(luò)用于物體分類(lèi)+框位置的回歸
- 滑動(dòng)窗口的位置提供了物體的大體位置信息
- 框的回歸提供了框更精確的位置
==總結(jié)==
R-CNN、Fast R-CNN、Faster R-CNN一路走來(lái),基于深度學(xué)習(xí)目標(biāo)檢測(cè)的流程變得越來(lái)越精簡(jiǎn)、精度越來(lái)越高、速度也越來(lái)越快。
基于region proposal(候選區(qū)域)的R-CNN系列目標(biāo)檢測(cè)方法是目標(biāo)檢測(cè)技術(shù)領(lǐng)域中的最主要分支之一。
轉(zhuǎn)載于:https://www.cnblogs.com/Mrzhang3389/p/10228451.html
總結(jié)
以上是生活随笔為你收集整理的R-CNN , Fast R-CNN , Faster R-CNN原理及区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工银微信信用卡好申请吗?这么申卡成功率高
- 下一篇: 第三课《让简历有点色彩》