圖像檢測(cè)(上)

物體檢測(cè)(Object detection)

? ? 檢測(cè)圖片中所有物體的類(lèi)別標(biāo)簽(Category label)位置(最小外接矩形/Bounding box)


區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN系列)

R-CNN

? ? 模型結(jié)構(gòu)

? ? ? ? 按分類(lèi)問(wèn)題對(duì)待:模塊一:提取物體區(qū)域(不同位置,不同尺寸,數(shù)量很多),模塊二:對(duì)區(qū)域進(jìn)行分類(lèi)識(shí)別(CNN分類(lèi)器,計(jì)算量大)


模型結(jié)構(gòu)(Bounding Box用于矩形模型的矯正)
R-CNN實(shí)例
CNN模型結(jié)構(gòu)詳解

? ? CNN訓(xùn)練流程(4步)

? ? ? ? 1·M<-在ImageNet上對(duì)CNN模型進(jìn)行pre-train(預(yù)訓(xùn)練)

? ? ? ? ? ? ? ? 預(yù)訓(xùn)練:取一個(gè)在其他數(shù)據(jù)集上訓(xùn)練好的模型,進(jìn)行初始模型(公用層的參數(shù)已經(jīng)訓(xùn)練好了)

? ? ? ? 2·M’<-使用所有SS生成區(qū)域?qū)進(jìn)行fine-train(再訓(xùn)練)

? ? ? ? ? ? ? ? 再訓(xùn)練:基于現(xiàn)在需要解決的數(shù)據(jù)集進(jìn)行訓(xùn)練,使得其適應(yīng)當(dāng)前的數(shù)據(jù)集

? ? ? ? ? ? ? ? ? ? Loss:概率log值

? ? ? ? ? ? ? ? ? ? Softmax層改成(N+I)-way其他不變

? ? ? ? ? ? ? ? ? ? 32個(gè)正樣本/物體(N類(lèi)):跟Ground-truth重合IoU>=0.5(被檢物體與背景的重合度大于0.5)

? ? ? ? ? ? ? ? ? ? 96個(gè)負(fù)樣本/背景(I類(lèi)):IoU<0.5(被檢物體與背景的重合度小于0.5)

步驟二

? ? ? ? 3·C<-在M‘的Fc7特征在訓(xùn)練線(xiàn)性SVMs分類(lèi)器

? ? ? ? ? ? Hinge loss(SVM的損失函數(shù))

? ??????????每個(gè)類(lèi)別(N類(lèi))對(duì)應(yīng)一個(gè)SVM分類(lèi)器

????????????正樣本:所有的Ground-truth區(qū)域

????????????負(fù)樣本:跟Ground-truth重合IoU<0.3的SS區(qū)域

步驟三

? ? ? ? 4·R<-在M‘的Conv5(第五個(gè)卷積層輸出的結(jié)果)特征上訓(xùn)練Bounding box回歸模型

? ? ? ? ? ? 提升定位性能(Bounding box的準(zhǔn)確性)

? ? ? ? ? ? 每個(gè)類(lèi)別(N類(lèi))訓(xùn)練一個(gè)回歸模型

? ? ? ? ? ? ? ? 將SS提供的Bounding box做重新映射P->G,位置重新規(guī)劃

訓(xùn)練輸入

? ? ? ? ? ? ? ? 輸出結(jié)果;P的IoU>0.6(P為SS算法提出的舊位置信息,G為輸出的信息)

? ? ? ? ? ? ? ? 模型優(yōu)化:Squared loss(差平方和loss),t_{*}為t_{x} , t_{y} , t_{w} , t_{h}  \varphi 為卷積層的輸出

Squared loss函數(shù)

? ? ? ? ? ? 測(cè)試階段:

? ? ? ? ? ? ? ? 參數(shù)w已經(jīng)訓(xùn)練好

參數(shù)w

? ? ? ? R-CNN測(cè)試階段

? ? ? ? ? ? SS算法提取~2000個(gè)區(qū)域/圖片,將所有的區(qū)域膨脹+縮放到227*227。

? ? ? ? ? ? 使用fine-tune過(guò)的AlexNet計(jì)算2套特征,為每個(gè)類(lèi)別執(zhí)行:

? ? ? ? ? ? ? ? Fc7特征->SVM分類(lèi)器->類(lèi)別分值

? ? ? ? ? ? ? ? 使用非極大值抑制(IoU>=0.5)獲取無(wú)冗余的區(qū)域子集

? ? ? ? ? ? ? ? ? ? (重復(fù)下列操作)

? ? ? ? ? ? ? ? ? ? ? ? 所有區(qū)域按分值從大到小排列

? ? ? ? ? ? ? ? ? ? ? ? 剔除冗余:與最大分值區(qū)域IoU>=0.5的所有區(qū)域

? ? ? ? ? ? ? ? ? ? ? ? 保留該最大分值區(qū)域,剩余區(qū)域作為新候選集

? ? ? ? ? ? ? ? Conv5特征 ->Bounding Box回歸模型 ->Bbox偏差

? ? ? ? ? ? ? ? 使用Bbox偏差修正區(qū)域子集

IoU的定義

? ? 性能評(píng)價(jià):

準(zhǔn)確率與召回率

SPP-Net網(wǎng)絡(luò)

? ? R-CNN速度慢的一個(gè)重要原因,卷積特征重復(fù)計(jì)算量太大,每張圖片的~2000區(qū)域都會(huì)計(jì)算CNN特征

? ? 倆大改進(jìn),直接輸入整圖,所有區(qū)域共享卷積計(jì)算(一遍),在conv5層輸出上提取所有區(qū)域的特征,引入空間金字塔池化,為不同尺寸的區(qū)域,在Conv5輸出上提取特征,映射到尺寸固定的全連接層上。

SCP網(wǎng)絡(luò)

? ? 空間金字塔池化,替換conv5的Pooling層,3個(gè)level和21個(gè)Bin:1*1,2*2,4*4,bin內(nèi)使用max pooling,每個(gè)SS區(qū)域會(huì)產(chǎn)生21個(gè)Bin

?空間金字塔池化


SPP訓(xùn)練流程

? ? SPP-Net問(wèn)題:

? ? ? ? 繼承了R-CNN的剩余問(wèn)題,需要存儲(chǔ)大量特征,復(fù)雜的多階段訓(xùn)練,訓(xùn)練時(shí)間長(zhǎng)(特征提取時(shí)間下降),新問(wèn)題:SPP層之前的所有卷積層參數(shù)不能finetune。


Fast R-CNN

? ? 改進(jìn):比R-CNN,SPP-Net更快的training /test 更高的mAP,實(shí)現(xiàn)end-to-end(端對(duì)端)單階段訓(xùn)練,多任務(wù)損失函數(shù)(Multi-task loss)所有層的蠶食都可以實(shí)現(xiàn)finetune(微調(diào)),不需要離線(xiàn)存儲(chǔ)特征文件。

? ? 在SPP-Net基礎(chǔ)引入2個(gè)新技術(shù),感興趣區(qū)域池化層(RoI,pooling layer)多任務(wù)損失函數(shù)(Multi-task loss)

? ? 感興趣區(qū)域池化(RoI pooling):空間金字塔池化(SPP pooling)的單層特例,將RoI區(qū)域的卷積特征拆分成H*W網(wǎng)格(7*7for VGG),每個(gè)Bin內(nèi)的所有特征進(jìn)行Max pooling

?感興趣區(qū)域池化(RoI pooling)


損失函數(shù)


Faster R-CNN

? ? 集成了RPN網(wǎng)絡(luò),F(xiàn)aster R-CNN = fast R-CNN+RPN,取代離線(xiàn)的SS模塊,解決性能瓶頸,經(jīng)一部共享卷積層計(jì)算,基于Attention機(jī)制,引導(dǎo)Fast R-CNN關(guān)注區(qū)域,Region proposals量少優(yōu)勢(shì)(~300)高precision,高recall。

? ? RPN網(wǎng)絡(luò):

RPN網(wǎng)絡(luò)

? ? Faster R-CNN網(wǎng)絡(luò):

? ? ? ? 四步訓(xùn)練流程

? ? ? ? ? ? step1? ? -? ? 訓(xùn)練RPN網(wǎng)絡(luò)

? ? ? ? ? ? ? ? 卷積層初始化<-ImageNet 上 pretrained模型參數(shù)

? ? ? ? ? ? step2? ? -? ? 訓(xùn)練Fast R-CNN網(wǎng)絡(luò)

? ? ? ? ? ? ? ? 卷積層初始化<-ImageNet上pretrained模型參數(shù)

? ? ? ? ? ? ? ? Region proposals由Step1的RPN生成

? ? ? ? ? ? step3? ? -? ? 調(diào)優(yōu)RPN

? ? ? ? ? ? ? ? 卷積層初始化<-Fast R-CNN的卷積層參數(shù)

? ? ? ? ? ? ? ? 固定卷積層,finetune剩余層

? ? ? ? ? ? step4? ? -? ? 調(diào)優(yōu)fast R-CNN

? ? ? ? ? ? ? ? 固定卷積層,finetune剩余層

? ? ? ? ? ? ? ? Region proposals 由step3的RPN生成

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容