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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【CV论文阅读】 Fast RCNN + SGD笔记

發布時間:2024/4/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【CV论文阅读】 Fast RCNN + SGD笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Fast RCNN的結構:

?

先從這幅圖解釋FAST RCNN的結構。首先,FAST RCNN的輸入是包含兩部分,image以及region proposal(在論文中叫做region of interest,ROI)。Image經過深度網絡(deep network)之后得到feature map,然后可以從feature map中找到ROI在其中的投射projection得到每個patch,但論文沒有提及怎么在map中尋找對應的patch,估計可以通過位置關系找到(猜想,因為deep ConvNet 之后相對的位置是不變的)。

把每個patch經過ROI pooling layer,再經過一系列的full connected layer后,分別完成了兩個任務的預估:一是類別的預測softmax,一個是bounding box的預測。

在softmax的預測輸出是類別的概率分布,而bounding box 預測為每個類別都輸出預測回歸方程計算的四個參數(如上篇總結《Rich feature hierarchies for accurate object detection and semantic segmentation》中學習的四個參數,但論文中好像直接就是代表中心坐標以及長寬)。

?

ROI pooling layer:

ROI pooling layer其實是一個max pooling layer。假設有兩個超參數H、W,把輸入的patch劃分成H*W個小方格,假設投影的每個ROI的patch為h*w,則每個小子方格的大小沒h/H*w/W,而在每個方格中,執行的是max pooling layer 的操作。

在這里有必要繼續的討論一下在這個ROI pooling layer怎樣反向誤差傳播。

首先要明白的是,BP算法其實應用的就是導數的鏈式法則,很巧妙地解決了誤差的傳播問題。如下公式:

?

其中aj代表卷積層的輸入,而如果經過一個激活函數之后,得到zj=h(aj),其實zj才是下一層的輸入,而對k求和代表所有包含zj作為輸入的神經元。因此,可以得到公式,而就是誤差。

對應到pooling層,假設輸入層的元素值xi,對應卷積層的i位置,對應的是第r個ROI的layer,它經過ROI pooling層后在對應輸出到j位置。而xi是子窗口中的最大值。把一般的求誤差的公式對應到ROI pooling中,

?

其中i*(r,j)表示第r個ROI從第i的輸入(如果是子窗口中的最大像素值)對應到輸出的第j的位置。而sigma(r)是因為某個像素可能落在多個ROI中。

?

Mini-batch:

當使用pre-trained網絡的參數去初始化Fast RCNN網絡時,需要三個改變。第一,把最后一層的max pooling使用ROI pooling層去替代;第二、最后一層fc層以及softmax層用softmax層和bounding box預測層替代;第三,輸入包含兩種數據:image以及ROI。

batch就是完成一次訓練的數據集,這里對參數進行tune,就是有監督訓練對參數進行微調(使用的是SGD,隨機梯度下降法)。mini batch是通過隨機采樣得到的,首先隨機選擇N張圖片,然后每張圖片隨機采樣R/N個ROI。論文采用R=128,N=2。

今天想明白了一個batch是怎么完成一次訓練。我開始以為是一次輸入一個batch的數據集,其實不是的,一次處理的依然是一張的圖片,而在最后輸出層計算這張圖片的產生的loss,把batch里的圖片全部輸入到網絡里,就產生了loss的和LOSS,這時可以使用這個LOSS去執行BP算法,微調網絡中的參數。

同樣的,當IOU至少是0.5的才有可能是帶有類別標志的,而0.1到0.5的認為是背景,而低于0.1的act as a heuristic for hard example mining(這里我也想不明白)。

?

損失函數:

損失函數由兩部分組成,分別是類別誤差函數以及定位誤差:

?

(@2016/8/17 ? : 訓練時每個ROI輸入時應該都是有label的,這取決于它與label的IOU,如上小節所述。估計訓練時的樣本只會有一個bounding box)

其中類別誤差取類別概率的負對數作為誤差函數。而第二項定位誤差,在真實類別u>=1時才有意義,u=0時表示背景。Bounding box的目標為v,如上文提到,它有四個參數,于是定位誤差為:

?

其中,,而且。

?

尺度不變性:

論文中實現尺度不變性是通過把圖像固定。

?

隨機梯度下降法:

?

@ 2016 /08/21 更新。

現在神經網絡里用的SGD都是指min-batch SGD,找了一個例子from?http://www.cnblogs.com/maybe2030/p/5089753.html#_label2

轉載于:https://www.cnblogs.com/jie-dcai/p/5701435.html

總結

以上是生活随笔為你收集整理的【CV论文阅读】 Fast RCNN + SGD笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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