經典神經網絡 | Faster R-CNN論文解析

      網友投稿 764 2022-05-30

      論文題目:Faster R-CNN: T owards Real-Time Object Detection with Region Proposal Networks

      論文鏈接:https://arxiv.org/abs/1506.01497

      研究目標

      Faster R—CNN網絡介紹

      Faster R—CNN結構

      Faster R—CNN具體可分為四個結構:

      Conv layers:作為一種CNN網絡目標檢測方法,Faster RCNN首先使用一組基礎的conv+relu+pooling層提取image的feature maps。該feature maps被共享用于后續RPN層和全連接層。

      Region Proposal Networks:RPN網絡用于生成region proposals。該層通過softmax判斷anchors屬于 positive或者 negative,再利用bounding box regression修正anchors獲得精確的proposals。

      Roi Pooling:該層收集輸入的feature maps和proposals,綜合這些信息后提取proposal feature maps,送入后續全連接層判定目標類別。

      Classification:利用proposal feature maps計算proposal的類別,同時再次bounding box regression獲得檢測框最終的精確位置。

      下圖是VGG16模型中的faster_rcnn_test.pt的網絡結構,可以清晰的看到該網絡對于一副任意大小PxQ的圖像,首先縮放至固定大小MxN,然后將MxN圖像送入網絡;而Conv layers中包含了13個conv層+13個relu層+4個pooling層;RPN網絡首先經過3x3卷積,再分別生成positive anchors和對應bounding box regression偏移量,然后計算出proposals;而Roi Pooling層則利用proposals從feature maps中提取proposal feature送入后續全連接和softmax網絡作classification。

      python版本中的VGG16模型中的faster_rcnn_test.pt的網絡結構。Conv layers部分共有13個conv層,13個relu層,4個pooling層

      Conv layers

      Conv layers包含了conv,pooling,relu三種層。所有的conv層都是:kernel_size=3,pad=1,stride=1。所有的pooling層都是:kernel_size=2,pad=1,stride=1。

      Region Proposal NetWork(RPN)

      經典的檢測方法生成檢測框都非常耗時,如R-CNN使用SS(Selective Search)方法生成檢測框。而Faster RCNN則拋棄了傳統的滑動窗口和SS方法,直接使用RPN生成檢測框,這也是Faster R-CNN的巨大優勢,能極大提升檢測框的生成速度。

      RPN網絡結構

      上圖展示了RPN網絡的具體結構。可以看到RPN網絡實際分為2條線,上面一條通過softmax分類anchors獲得positive和negative分類,下面一條用于計算對于anchors的bounding box regression偏移量,以獲得精確的proposal。而最后的Proposal層則負責綜合positive anchors和對應bounding box regression偏移量獲取proposals,同時剔除太小和超出邊界的proposals。其實整個網絡到了Proposal Layer這里,就完成了相當于目標定位的功能。

      Anchor

      在每個滑動窗口的位置,我們同時預測多個Region Proposal,每個位置最大可能的Proposal設置為k。每個回歸層輸出4k個坐標(即x,y,w,h),分類層輸出2k個Scores。RPN默認設置為3 Scale,3 aspect ratios,因此每個位置輸出9個anchor。對于大小為W×H(通常為2400)的卷積特征圖,總共有W Hkanchor。如下圖所示:

      經典神經網絡 | Faster R-CNN論文解析

      注意:全部anchors拿去訓練太多了,訓練程序會在合適的anchors中隨機選取128個postive anchors+128個negative anchors進行訓練

      Loss Function

      我們定義在faster r-cnn中,最小化多任務損失,公式如下:

      公式中,i是mini-batch中anchor的索引,是如果框出來的anchor是目標的概率。如果anchor是positive的話,ground-truth label為1,否則為0。是預測框的參數化向量。是標注的框。

      和通過參數來平衡。在論文的設置中,=256,=2400,=10。

      對于bounding box regression,我們采用如下的四個坐標,具體含義可以參照原文:

      訓練RPN

      RPN可以通過反向傳播和隨機梯度下降(SGD)進行端到端的訓練。我們遵循“以圖像為中心”的采樣策略來訓練這個網絡。每個小批都來自一個包含許多正面和負面示例anchor的圖像。我們可以對所有anchor的損失函數進行優化,但這將偏向于負樣本,因為它們占主導地位。相反,我們在一張圖像中隨機抽取256個錨點來計算一個小批量的損失函數,其中抽樣的正錨點和負錨點的比例高達1:1。如果一個圖像中有少于128個positive樣本,我們用negative樣本填充這個小批。

      ROI Polling

      ROI Pooling的作用是對不同大小的region proposal,從最后卷積層輸出的feature map提取大小固定的feature map。因為全連接層的輸入需要尺寸大小一樣,所以不能直接將不同大小的region proposal映射到feature map作為輸出,需要做尺寸變換。即將一個hw的region proposal分割成HW大小的網格,然后將這個region proposal映射到最后一個卷積層輸出的feature map,最后計算每個網格里的最大值作為該網格的輸出,所以不管ROI pooling之前的feature map大小是多少,ROI pooling后得到的feature map大小都是H*W。

      下面是ROI polling layer層的一個經典動圖:從圖中可以直接看到ROI polling是怎樣使輸出都是固定的形狀。

      classification

      Classification部分利用已經獲得的proposal feature maps,通過full connect層與softmax計算每個proposal具體屬于那個類別(如人,車,電視等),輸出cls_prob概率向量;同時再次利用bounding box regression獲得每個proposal的位置偏移量bbox_pred,用于回歸更加精確的目標檢測框。Classification部分網絡結構如下圖所示。

      從RoI Pooling獲取到7x7=49大小的proposal feature maps后,送入后續網絡,可以看到做了如下2件事:

      1、通過全連接和softmax對proposals進行分類,這實際上已經是識別的范疇了

      2、再次對proposals進行bounding box regression,獲取更高精度的rect box

      Faster RCNN訓練

      Faster R-CNN的訓練,是在已經訓練好的model(如VGG_CNN_M_1024,VGG,ZF)的基礎上繼續進行訓練。實際中訓練過程分為6個步驟:

      在已經訓練好的model上,訓練RPN網絡,對應stage1_rpn_train.pt

      利用步驟1中訓練好的RPN網絡,收集proposals,對應rpn_test.pt

      第一次訓練Fast RCNN網絡,對應stage1_fast_rcnn_train.pt

      第二訓練RPN網絡,對應stage2_rpn_train.pt

      再次利用步驟4中訓練好的RPN網絡,收集proposals,對應rpn_test.pt

      第二次訓練Fast RCNN網絡,對應stage2_fast_rcnn_train.pt

      下面是一張訓練過程流程圖:

      Faster R-CNN在各項數據集上的表現

      開源代碼

      https://github.com/rbgirshick/py-faster-rcnn

      神經網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:智慧物流7月直播技術總結
      下一篇:【愚公系列】2022年01月 Java教學課程 65-網絡編程-概念
      相關文章
      亚洲中文字幕精品久久| 亚洲人成影院午夜网站| 狠狠色伊人亚洲综合网站色| 亚洲黄色中文字幕| 亚洲激情中文字幕| 亚洲av无码一区二区三区乱子伦| 亚洲精品无码久久久久去q | 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲国产精品18久久久久久 | 久久乐国产精品亚洲综合| 亚洲精品成人片在线观看| 亚洲VA综合VA国产产VA中| 亚洲AV无码精品国产成人| 亚洲丰满熟女一区二区哦| 久久亚洲欧美国产精品| 日韩亚洲综合精品国产| 亚洲区日韩区无码区| 亚洲国产成人精品女人久久久 | 亚洲电影国产一区| 亚洲成年轻人电影网站www| 久久亚洲精品成人综合| 久久久无码精品亚洲日韩蜜臀浪潮| 久久亚洲国产成人精品性色| 亚洲高清无在码在线无弹窗| 亚洲国语在线视频手机在线| 33333在线亚洲| 亚洲一区AV无码少妇电影| 亚洲欧美综合精品成人导航| 国产精品亚洲专区无码唯爱网| 亚洲国产中文字幕在线观看 | 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲高清一区二区三区| 亚洲av片在线观看| 久久久久亚洲爆乳少妇无 | 中文字幕亚洲综合小综合在线| 亚洲国产精品无码久久九九大片| 国产亚洲精品美女久久久久| 久久亚洲高清综合| 亚洲天堂在线播放| 亚洲最大的黄色网| WWW国产亚洲精品久久麻豆|