日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Faster R-CNN理论

發布時間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Faster R-CNN理论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本文參考來源于b站up主霹靂吧啦Wz.原視頻.
Faster R-CNN是作者作者Ross Girshick繼Fast R-NN之后的又一力作。同樣使用VGG16作為網絡的backbone,推理速度在GPU上達到5fps(包括候選區域的生成),準確率也有進一步的提升。在2015年的ILSVRC以及COCO競賽中獲得多個項目的第一名。


文章目錄

  • 前言
  • 理論部分
    • 1.Fast R-CNN簡介
    • 2.Faster R-CNN簡介
    • 3. RPN網絡
      • 參數解釋
      • anchor boxes解釋
      • RPN訓練過程中正負樣本的選擇標準
      • RPN Multi-task loss
        • 分類損失
      • Fast R-CNN Multi-task loss
    • 4.Faster R-CNN訓練
    • 5.Faster R-CNN框架


理論部分

1.Fast R-CNN簡介

在講Faster R-CNN之前我們先來簡單的看一下它的上一代算法:Fast R-CNN

Fast R-CNN算法的流程可以分為三個步驟:

  • 通過使用Selective Search方法在一張圖片上生成1000~2000個候選區域(這種方法在Faster R-CNN中RPN網絡被替代)
  • 將圖像輸入卷積網絡生成相應的特征圖,將SS算法生成的候選框投影到特征圖上獲得相應的特征矩陣。(也就是相當于有了一張特征圖,然后在特征圖上將ss算法掃到的區域框出來)
  • 將每個特征矩陣通過ROI pooling層縮放到7x7大小的特征圖,接著將特征圖展平通過一系列全連接層得到預測結果

2.Faster R-CNN簡介

Faster R-CNN算法的流程可分為三個步驟:

  • 將圖像輸入網絡得到相應的特征圖
  • 使用RPN結構生成候選框,將RPN生成的候選框投影到特征圖上獲得相應的特征矩陣
  • 將每個特征矩陣通過ROI pooling層縮放到7x7大小的特征圖,接著將特征圖展平通過一系列全連接層得到預測結果

    實際上我們的Faster R-CNN可以看作是RPN+Fast R-CNN這個形式。Faster R-CNN和Fast R-CNN最主要的區別就在于:Faster R-CNN將候選框的推舉交給RPN網絡來實現(替代了SS算法)。
    因此我們的研究重點就在于RPN網絡。

3. RPN網絡

參數解釋

首先,由上一步的conv layers生成了conv feature map。在這張特征圖上,我們使用一個滑動窗口進行滑動。每滑動到一個位置上時候,我們就生成一個1-dim向量。在這個向量基礎上再通過兩個全連接層,分別輸出目標概率和邊界框回歸參數。其中:

  • 256-d:因為我們前面的backbone網絡使用的是ZF網絡,它所輸出的特征圖是256-d。如果使用VGG-16,生成的特征圖就是512-d。
  • 2k:是指k個anchor boxes,每個anchor boxes生成兩個概率(前景和背景)。所以k個anchor boxes會生成2k個scores。
  • 4k:對每個anchor boxes我們會生成4個邊界框回歸參數。所以k個anchor boxes會生成4k個coordinates。

anchor boxes解釋

首先明確上圖的含義,左邊是原圖,右邊是相應的特征圖,我們使用一個3*3滑動窗口在特征圖上進行滑動的時候,特征圖會存在一個中心點,通過推算出該中心點在原圖上的對應位置,在原圖上以這個中心點為中心,生成一系列anchor boxes。舉個例子,就是如下這種效果:

對于k個anchor boxes,存在2k個scores。兩個兩個為一組(前景和背景的概率),一共k組。比如第一組:

  • 0.1代表其中一個anchor boxes框選(比如是圖中的正方形框)的內容是背景的概率是0.1;
  • 0.9代表其中一個anchor boxes框選(比如是圖中的正方形框)的內容是前景的概率是0.9;

這里只是對它進行背景還是前景的預測,并沒有進行分類!


對于k個anchor boxes,存在4k個coordinates。每四個為一組,共k組。

  • dx,dyd_x,d_ydx?,dy?是anchor中心點的坐標;
  • dw,dhd_w,d_hdw?,dh?是anchor的寬和高的調整參數;

    論文里面給出了三種尺度(面積)的anchor(1282,2562,5122128^2,256^2 ,512^21282,2562,5122),三種比例(1:1,1:2,3:1),每個位置(每個滑動窗口)在原圖上都對應3?33*33?3,9個anchor。

這里有個點需要注意:

對于ZF感受野為171;對于VGG感受野為228??墒俏覀儚纳厦婵梢灾?#xff0c;生成的anchor有256和512的,那么感受野還沒有這個anchor大,我們能進行判斷嘛?
如上圖:作者給出了相應的解釋,作者認為一個比較小的感受野(也就是看見一個物體的一部分),我們也可以大概的知道這個物體是什么。(有種窺一斑也可以知全豹的感覺)。實際使用的時候也證明這樣是有效的。


對于一張1000x600x3的圖像,大約有 60x40x9(20k)個anchor,忽略跨越邊界的 anchor以后,剩下約6k個anchor。對于RPN 生成的候選框之間存在大量重疊,基于候選框的cls得分,采用非極大值抑制,IoU 設為0.7,這樣每張圖片只剩2k個候選框。

RPN訓練過程中正負樣本的選擇標準

通過滑動窗口在特征圖上進行滑動,我們得到了上萬個anchor,這些anchor不能都用來訓練RPN網絡。在原論文中作者說每張圖片我們隨機的采樣256個anchor。這256個anchor是由正樣本和負樣本組成。正負樣本的比例為1:1。如果正樣本不足一半,我們就用負樣本來填充。
下面是正負樣本的選擇標準:


正樣本的選擇標準:

  • an anchor that has an IoU overlap higher than 0.7 with any ground-truth box.
  • the anchor/anchors with the highest Intersection-overUnion (IoU) overlap with a ground-truth box
  • 負樣本的選擇標準:
    We assign a negative label to a non-positive anchor if its IoU ratio is lower than 0.3 for all ground-truth boxes.

    丟棄掉的anchor:
    Anchors that are neither positive nor negative do not contribute to the training objective.


    RPN Multi-task loss


    其中:
    i: the index of an anchor in a mini-batch
    pip_ipi?:第i個anchor預測為object的概率
    pi?:p_i^*:pi??:當為正樣本時候為1,當為負樣本時候為0
    tit_iti?: 表示預測第i個anchor的邊界框回歸參數
    ti?t_i^*ti??:表示第i個anchor對應的GT Box的邊界框回歸參數
    NclsN_{cls}Ncls?:表示一個mini-batch中的所有樣本數量256
    NregN_{reg}Nreg?:表示anchor位置的個數(不是anchor個數)約2400(60*40)
    λ\lambdaλ=10

    分類損失

    按多類別交叉熵損失來理解:

    按二值交叉熵損失理解:

    Fast R-CNN Multi-task loss


    4.Faster R-CNN訓練

    直接采用RPN Loss+ Fast R-CNN Loss的聯合訓練方法


    原論文中采用分別訓練RPN以及Fast R-CNN的方法:

  • 利用ImageNet預訓練分類模型初始化前置卷積網絡層參數,并開始單獨訓練RPN網絡參數;
  • 固定RPN網絡獨有的卷積層以及全連接層參數,再利用 ImageNet預訓練分類模型初始化前置卷積網絡參數,并利用RPN 網絡生成的目標建議框去訓練Fast RCNN網絡參數。
  • 固定利用Fast RCNN訓練好的前置卷積網絡層參數,去微調RPN 網絡獨有的卷積層以及全連接層參數。
  • 同樣保持固定前置卷積網絡層參數,去微調Fast RCNN網絡的全 連接層參數。最后RPN網絡與Fast RCNN網絡共享前置卷積網絡層 參數,構成一個統一網絡。
  • 5.Faster R-CNN框架

    Faster R-CNN應用了端對端的思想,將Region proposal;Feature extraction;Classification;Bounding-box regression都融合進了CNN網絡。
    Faster R-CNN與前代算法框架的比較:

    總結

    以上是生活随笔為你收集整理的Faster R-CNN理论的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。