Faster R-CNN 論文閱讀
1. Introduction
目标檢測在region proposal 方法的推動下獲得了很大成功,SPP-Net和fast R-CNN使用共享卷積層加速了計算速度,目前在test階段的瓶頸在于region proposal。
目前的region proposal都太耗時了,這篇論文提出了RPN(Region Proposal Networks),使得面對檢測任務,基本是cost-free的。
2. related work
沒什麼要說的
3. Faster R-CNN
Faster R-CNN包含了兩個部分,一個是RPN,一個是fast R-CNN. 整個系統是單一、統一的網絡。用最近比較時髦的術語“attention”來說,RPN就是告訴fast R-CNN往哪看的。
3.1 Region Proposal Networks
這裡使用了兩種卷積網絡,一種是ZF的,一種是VGG-16。論文配圖以ZF為例。RPN網絡在最後一個卷積層之後開始,以ZF為例,最後一個卷積層的輸出為13×13×256。首先RPN接了一個n×n×256的卷積層,這裡的n = 3. 這是相當于采用滑動視窗的形式來提出proposal,每一個滑動的視窗對應回原圖的region都是所提出的region.随後接了兩個1×1的全卷積層,分别為分類層(cls)和回歸層(reg)。
3.1.1 Anchors
對于feature map 當中的每一個點,都可以對應回原圖,使用不同的尺寸和長寬比,可以得到多個原圖的boxes, 叫做anchors. 論文用了3個尺度,3個長寬比,得到k = 9.
是以對于一個W×H的feature map,可以得到 WHk個anchors.
平移不變
anchor具有平移特性。當在圖檔當中平移一個object後,proposal 也能平移,function也會預測到正确位置。
3.1.2 Loss Function
對于anchors, 正樣本:
- 與ground truth有着最高的IOU的anchors
- 與任意一個ground truth有着大于0.7的IOU的anchors
是以一個ground truth box可以對應多個正的anchors,而且至少對應一個。通常第二個條件就足以生成充足的正樣本了,但是在某些稀少的情況下第二個情況或許沒有正樣本,隻能使用第一個條件來産生一些正樣本。
負樣本的定義是對于所有的ground truth 的IoU都小于0.3.
Loss 函數的定義:
3.1.3 Training RPNs
每次的mini-batch都從一張圖上産生256個anchors,正負比例基本1:1。
前60K學習率為0.001 ,接下來20k學習率為0.0001.
momentum為0.9, weight decay為0.0005
3.2 RPN與fast R-CNN之間共享卷積層特征
4步輪流訓練
1. 從pre-trained ImageNet網絡初始化RPN網絡,訓練RPN網絡。
2. 從pre-trained ImageNet網絡初始化fast R-CNN網絡,并用1當中的RPN網絡得到region proposals, 訓練自己的網絡,此時兩個網絡的卷積層是不一樣的,不共享的。
3. 使用fast R-CNN的卷積層初始化RPN網絡的卷積層, fine-tune RPN網絡的後面的特有的層。
4. 然後用3中的RPN網絡生成region proposals,fine-tune fast R-CNN網絡後面特有的層。
3.3 實作細節
訓練時為了便于收斂去掉越過邊界的那些anchors,但是測試時還是保留了,不過會裁剪到邊界。這樣對于1000×600的圖檔,原本有60×40×9個anchors,去掉之後大約還有6000個anchors.
RPN的proposals有很大的重疊度,采用NMS來去掉重疊,采用的IOU門檻值為0.7
4 實驗
4.1 在Pascal VOC上的實驗
本Markdown編輯器使用StackEdit修改而來,用它寫部落格,将會帶來全新的體驗哦:
- Markdown和擴充Markdown簡潔的文法
- 代碼塊高亮
- 圖檔連結和圖檔上傳
- LaTex數學公式
- UML序列圖和流程圖
- 離線寫部落格
- 導入導出Markdown檔案
- 豐富的快捷鍵
快捷鍵
- 加粗
Ctrl + B
- 斜體
Ctrl + I
- 引用
Ctrl + Q
- 插傳入連結接
Ctrl + L
- 插入代碼
Ctrl + K
- 插入圖檔
Ctrl + G
- 提升标題
Ctrl + H
- 有序清單
Ctrl + O
- 無序清單
Ctrl + U
- 橫線
Ctrl + R
- 撤銷
Ctrl + Z
- 重做
Ctrl + Y
Markdown及擴充
Markdown 是一種輕量級标記語言,它允許人們使用易讀易寫的純文字格式編寫文檔,然後轉換成格式豐富的HTML頁面。 —— [ 維基百科 ]
使用簡單的符号辨別不同的标題,将某些文字标記為粗體或者斜體,建立一個連結等,詳細文法參考幫助?。
本編輯器支援 Markdown Extra , 擴充了很多好用的功能。具體請參考Github.
表格
Markdown Extra 表格文法:
項目 | 價格 |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
可以使用冒号來定義對齊方式:
項目 | 價格 | 數量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |
定義清單
- Markdown Extra 定義清單文法: 項目1 項目2
- 定義 A
- 定義 B 項目3
- 定義 C
- 定義 D
定義D内容
代碼塊
代碼塊文法遵循标準markdown代碼,例如:
@requires_authorization
def somefunc(param1='', param2=):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + ) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
腳注
生成一個腳注1.
目錄
用
[TOC]
來生成目錄:
- Faster R-CNN 論文閱讀
- Introduction
- related work
- Faster R-CNN
- 1 Region Proposal Networks
- 11 Anchors
- 12 Loss Function
- 13 Training RPNs
- 2 RPN與fast R-CNN之間共享卷積層特征
- 3 實作細節
- 1 Region Proposal Networks
- 實驗
- 1 在Pascal VOC上的實驗
- 快捷鍵
- Markdown及擴充
- 表格
- 定義清單
- 代碼塊
- 腳注
- 目錄
- 數學公式
- UML 圖
- 離線寫部落格
- 浏覽器相容
- 參考文獻
數學公式
使用MathJax渲染LaTex 數學公式,詳見math.stackexchange.com.
- 行内公式,數學公式為: Γ(n)=(n−1)!∀n∈N 。
- 塊級公式:
x=−b±b2−4ac−−−−−−−√2a
更多LaTex文法請參考 這兒.
UML 圖:
可以渲染序列圖:
或者流程圖:
- 關于 序列圖 文法,參考 這兒,
- 關于 流程圖 文法,參考 這兒.
離線寫部落格
即使使用者在沒有網絡的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的浏覽器中輸入write.blog.csdn.net/mdeditor即可。Markdown編輯器使用浏覽器離線存儲将内容儲存在本地。
使用者寫部落格的過程中,内容實時儲存在浏覽器緩存中,在使用者關閉浏覽器或者其它異常情況下,内容不會丢失。使用者再次打開浏覽器時,會顯示上次使用者正在編輯的沒有發表的内容。
部落格發表後,本地緩存将被删除。
使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換浏覽器或者清除緩存,内容也不會丢失。
注意:雖然浏覽器存儲大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱。
浏覽器相容
- 目前,本編輯器對Chrome浏覽器支援最為完整。建議大家使用較新版本的Chrome。
- IE9以下不支援
- IE9,10,11存在以下問題
- 不支援離線功能
- IE9不支援檔案導入導出
- IE10不支援拖拽檔案導入
參考文獻
- https://arxiv.org/pdf/1506.01497.pdf
- to do
- to do
- 這裡是 腳注 的 内容. ↩