Faster RCNN論文與原理解讀

      網(wǎng)友投稿 992 2025-03-31

      論文結(jié)構(gòu)

      摘要核心

      候選區(qū)域提取是已有檢測(cè)方法實(shí)時(shí)性低的主要瓶頸

      提出了候選區(qū)域網(wǎng)絡(luò),通過共享特征,提取候選區(qū)域,極大提升了計(jì)算效率,可以進(jìn)行端到端訓(xùn)練

      FastRCNN和VGG通過迭代優(yōu)化可以實(shí)現(xiàn)特征共享

      FasterRCNN是一個(gè)實(shí)用系統(tǒng),在單GPU上達(dá)5fps

      在Pascal VOC2012上達(dá)到4% mAP

      網(wǎng)絡(luò)細(xì)節(jié)

      Faster RCNN主要有4個(gè)重要部分:

      共享卷積層:用于提取feature maps被共享用于后續(xù)RPN層和全連接層。

      Region Proposal Network(RPN):生成region proposals

      RoI Pooling:收集feature maps和proposals,提取proposal feature maps后送入全連接層判定目標(biāo)類別。

      Classification:利用proposal feature maps計(jì)算proposal的類別,同時(shí)再次bbox回歸獲得精確位置。

      抽象網(wǎng)絡(luò)結(jié)構(gòu)

      具體網(wǎng)絡(luò)結(jié)果

      共享卷積層

      Conv layers(VGG網(wǎng)絡(luò))共有13個(gè)conv層,13個(gè)relu層,4個(gè)pooling層。

      在FasterRCNN的Conv layers中對(duì)所有的卷積都做了擴(kuò)邊處理(pad=1,即填充一圈0),導(dǎo)致原圖變?yōu)?M+2)x(N+2)大小,再做3x3卷積后輸出MxN。

      pooling層kernel_size=2,stride=2。這樣每個(gè)經(jīng)過pooling層的MxN矩陣,都會(huì)變?yōu)?M/2)x(N/2)大小。

      一個(gè)MxN大小的矩陣經(jīng)過Convlayers固定變?yōu)?M/16)x(N/16)

      Anchors

      假設(shè)原圖800x600 下采樣16倍,feature map每個(gè)點(diǎn)設(shè)置9個(gè)Anchor

      所以:ceil(800/16) x ceil(600/16) x 9 = 50 *38 * 9 = 17100 個(gè)框。

      區(qū)分前景與背景Anchor,標(biāo)記標(biāo)簽(1正例,0負(fù)例,-1忽略)

      正例:對(duì)于每一gtbox,交并比最大的anchor以及與任一gtbox交并比超過一定閾值(0.7)

      負(fù)例:與所有g(shù)tboxes交并比小于一定閾值(0.3)其他忽略

      對(duì)每一前景anchor,根據(jù)對(duì)應(yīng)的gtbox計(jì)算回歸值。

      Region Proposal Networks

      目的:判定哪些anchors有可能包含物體

      輸入:

      提取的特征

      原圖信息(縮放比例,以及resize后尺寸)

      輸出:

      rpn_box 偏移量(hh*ww*9,4)

      rpn_score(hh*ww*9,2)

      rois(2000,4)

      RPN具體網(wǎng)絡(luò)結(jié)構(gòu)

      上面一條用softmax分類anchors獲得positive和negative

      下面一條用于計(jì)算對(duì)于anchors的bounding box regression偏移量

      最后的proposal進(jìn)一步剔除太小和超出邊界的proposal,并綜合變換量和positive anchors,計(jì)算出精準(zhǔn)的proposal。

      目標(biāo):尋找一種關(guān)系使得輸入原始的anchor A 經(jīng)過映射得到一個(gè)跟真實(shí)窗口G更接近的回歸窗口G’。

      其中綠色為GroundTruth,紅色為positive anchor。

      Positive anchor 與ground truth之間的平移計(jì)算方法:

      先平移:

      再縮放:

      通過觀察上面4個(gè)公式可知,需要學(xué)習(xí)的是dx(A), dy(A), dw(A), dh(A)這四個(gè)變換。當(dāng)anchorA 與GT相差較小時(shí),可認(rèn)為這是一種線性變換。

      如何通過線性回歸獲得dx(A), dy(A), dw(A), dh(A)?

      線性回歸就是給定輸入特征向量X,學(xué)習(xí)一組參數(shù)W,使得經(jīng)過線性回歸后的值跟真實(shí)值Y非常接近。即Y=WX。對(duì)于該問題,輸入X是feature map定義為φ;同時(shí)還有訓(xùn)練傳入A與GT之間的變換量即(tx,ty,tw,th),輸出是dx(A), dy(A), dw(A), dh(A)這四個(gè)變換那么目標(biāo)函數(shù)可以表示為:

      在FasterRCNN中 foreground anchor與ground truth之間的平移量(tx, ty)與尺度縮放因子(tw,th)關(guān)系如下:

      對(duì)于每張圖片,利用它的feature map,計(jì)算(H/16)x(W/16)x9(大概20000)個(gè)anchor屬于前景的概率,然后從中選取概率較大的12000張,利用位置回歸參數(shù),修正這大約12000個(gè)anchor的位置, 利用非極大值抑制,選出大約2000個(gè)ROIS以及對(duì)應(yīng)的位置參數(shù)。

      輸入:anchors分類結(jié)果,對(duì)應(yīng)的bbox變換量和縮放信息

      處理流程:

      Faster RCNN論文與原理解讀

      依據(jù)變換量對(duì)所有的anchors做bbox regression回歸。

      根據(jù)fg anchor scores由大到小排序anchors,提取前pre_nms_topN(e.g.

      12000)個(gè)anchors。

      限定超出圖像邊界的positive anchors為圖像邊界,防止后續(xù)roipooling時(shí)proposal超出圖像邊界。

      剔除尺寸非常小的positive anchors。

      對(duì)剩余的positive anchors進(jìn)行NMS。

      之后輸出proposal=[x1,y1,x2,y2],對(duì)應(yīng)的是MxN的圖像尺度。

      即如下流程:

      生成anchors->softmax分類器提取foreground anchors->bbox 回歸positive anchors->Proposal Layer生成proposals

      ROIPooling

      輸入:

      原始的feature maps

      RPN輸出的proposal boxes

      由于目前的proposals還沒有具體的物體信息,因此需要從已有的bounding boxes中提取特征。

      不同于CNN 網(wǎng)絡(luò)中的池化層,這里通過分塊池化的方法得到固定尺寸的輸出。

      假設(shè)ROI Pooling層的輸出大小為w2*h2,輸入候選區(qū)域的大小為 w*h,ROI Pooling的過程如下:

      1) 把輸入候選區(qū)域劃分為 w2*h2,大小的子網(wǎng)格窗口,每個(gè)窗口的大小為(w/w2)*(h/h2)

      2) 對(duì)每個(gè)子網(wǎng)格窗口取最大元素作為輸出,從而得到大小為w2*h2的輸出。

      如上圖所示,假設(shè)Feature Map大小為4x4,候選ROI區(qū)域大小為3x3,通過2x2的ROI Pooling Layer得到2x2的歸一化輸出。4個(gè)劃分后子窗口分別為1、2、3、5(5最大),3、7(7最大),9、10(10最大),11(11最大),然后對(duì)每個(gè)子窗口做Max Pooling。

      這其實(shí)來自于更早提出的SPP Net,RPN網(wǎng)絡(luò)提取出的proposal大小是會(huì)變化的,而分類用的全連接層輸入必須固定長(zhǎng)度,所以必須有個(gè)從可變尺寸變換成固定尺寸輸入的過程。在較早的R-CNN和Fast R-CNN結(jié)構(gòu)中都通過對(duì)proposal進(jìn)行拉升(warp)或裁減(crop)到固定尺寸來實(shí)現(xiàn),拉升、裁減的副作用就是原始的輸入發(fā)生變形或信息量丟失(圖7),以致分類不準(zhǔn)確。而ROI Pooling就完全規(guī)避掉了這個(gè)問題,proposal能完整的pooling成全連接的輸入,而且沒有變形,長(zhǎng)度也固定。

      執(zhí)行流程:

      由于proposal對(duì)應(yīng)的尺寸為MxN,所以首先使用spatial_scale參數(shù)將其映射回(M/16)x(N/16)大小的feature map。

      再將每個(gè)proposal對(duì)應(yīng)的feature map分為 pooled_w x pooled_h的網(wǎng)絡(luò);

      對(duì)網(wǎng)格的每一份都進(jìn)行max pooling處理,以保證結(jié)果都是pooled_w x pooled_h固定大小。

      分類Classification

      通過全連接和softmax對(duì)proposals進(jìn)行分類

      再次對(duì)proposals進(jìn)行bounding box regression,獲取更高精度的bbox

      Loss

      論文總結(jié)

      關(guān)鍵點(diǎn):

      候選區(qū)域提取——RPN

      特征共享計(jì)算——RPN和FastRCNN共享骨干網(wǎng)絡(luò)特征

      創(chuàng)新點(diǎn):

      多尺度與縱橫比Anchor解決目標(biāo)多尺度問題

      RPN提取候選區(qū)域,實(shí)現(xiàn)端到端檢測(cè)

      多任務(wù)損失函數(shù)

      兩階段目標(biāo)檢測(cè),提高檢測(cè)精度

      啟發(fā)點(diǎn):

      Anchor定義是否在不同數(shù)據(jù)集及不同場(chǎng)景下是否應(yīng)有所變化

      是否有必要在整幅圖中均勻分布Anchor

      Anchor定義的多尺度是否能夠滿足實(shí)際物體尺度變化要求

      Faster RCNN代碼復(fù)現(xiàn)

      代碼地址:

      https://github.com/chenyuntc/simple-faster-rcnn-pytorch

      博客《逐字理解目標(biāo)檢測(cè)simple-faster-rcnn-pytorch-master代碼》地址:

      https://blog.csdn.net/qq_32678471/article/details/84776144

      https://blog.csdn.net/qq_32678471/article/details/84792307

      https://blog.csdn.net/qq_32678471/article/details/84882277?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-6&spm=1001.2101.3001.4242

      https://blog.csdn.net/qq_32678471/article/details/85678921

      注:該博客雖然有很多理解不對(duì)或不到位的地方,但注釋比較詳細(xì),能幫助新手快速理解每個(gè)模塊的具體含義。

      機(jī)器學(xué)習(xí) 神經(jīng)網(wǎng)絡(luò)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel模板怎么新建表格文檔(excel新建模板工作簿)
      下一篇:Netdata監(jiān)控安裝(漢化)
      相關(guān)文章
      亚洲gv猛男gv无码男同短文| 亚洲aⅴ无码专区在线观看| 亚洲福利精品一区二区三区 | 亚洲最大的黄色网| 亚洲国产天堂久久综合网站| 国产成人精品日本亚洲| 国产亚洲日韩在线三区| 在线a亚洲v天堂网2019无码| 久久久久亚洲AV成人网人人软件| 国产成人va亚洲电影| 色九月亚洲综合网| 国产亚洲高清在线精品不卡| 国产av无码专区亚洲av毛片搜| 日本亚洲中午字幕乱码| 国产亚洲美女精品久久| 亚洲AV成人潮喷综合网| 亚洲精品成人a在线观看| 国产国拍亚洲精品福利| 在线观看亚洲成人| 久久精品国产精品亚洲| 狠狠色婷婷狠狠狠亚洲综合| 亚洲国产精品尤物yw在线 | 亚洲福利一区二区精品秒拍| 亚洲美女一区二区三区| 亚洲国产成人九九综合| 亚洲一区二区三区免费观看| 亚洲中字慕日产2020| 亚洲成人黄色网址| 亚洲国产视频一区| 亚洲中文字幕一区精品自拍| 麻豆亚洲AV成人无码久久精品 | 亚洲视频免费一区| 亚洲Av高清一区二区三区| 亚洲综合小说另类图片动图 | 亚洲av日韩综合一区久热| 亚洲AV无码一区二三区 | 亚洲www在线观看| 亚洲久热无码av中文字幕| 国产亚洲精品91| 亚洲伊人色欲综合网| 亚洲福利在线观看|