官术网_书友最值得收藏!

第1章 雙階段檢測

1.3.3 Fast R-CNN網絡結構

Fast R-CNN選擇了VGG-16網絡結構,并將最后一層的最大池化換成了ROI池化。經過兩層共享的全連接和Dropout后,Fast R-CNN接了一個雙任務的損失函數,分別用于分類和檢測精校,具體結構如圖1.9所示。其中Convi_j表示的是第i個網絡塊的第j層的卷積操作,ReLUi_j表示的是第i個網絡塊的第j層的ReLU激活函數;Pooli表示第i個網絡塊的最大池化。FC6、FC7以及FC8是3個全連接層。cls_score是分類評分,bbox_pred是預測的檢測框, loss_cls和loss_box分別是分類任務和檢測任務的損失函數。

圖1.9 Fast R-CNN網絡結構

1.ROI池化層

ROI池化層是一個單層的SPP。ROI池化可以由(r, c, w, h)定義,其中(r, c)表示候選區域的左上角坐標,(w, h)表示候選區域的寬和高。假設我們要將特征層映射成大小為H×W的特征圖。ROI池化將特征層分成的柵格,每個柵格通過最大池化得到。在Fast R-CNN中,ROI池化使用的是固定柵格數量的最大池化,在反向傳播時,只對柵格中選為最大值的像素更新參數,可以表示為式(1.5)。[bool(?)]在Fast R-CNN論文中叫作Iverson括號,它的本質是一個指示函數,表示當布爾值為True時,該函數的值為1,否則為0。

(1.5)

2.候選區域的ROI池化的計算

在Fast R-CNN中,所有候選區域的卷積操作是共享的,而選擇性搜索是在輸入圖像上完成的,所以需要將從輸入圖像上提取的候選區域對應到Conv5層的特征圖。然后在這個特征圖上進行ROI池化的操作,如圖1.10所示。因為骨干網絡是一個全卷積的網絡結構,輸入圖像像素之間的相對位置不會變化,所以我們可以根據候選區域在原圖中的大小占比以及相對位置等比例地換算出它應該在Conv5層上的哪個位置。在換算的過程中,我們主要關注圖像尺寸下降了多少。在Fast R-CNN中,它使用了VGG-16作為骨干網絡,VGG-16共有4個步長為2的最大池化操作,而卷積操作是步長為1、加邊為1的卷積操作,所以它最終得到的Conv5層的特征圖的尺寸是輸入圖像的1/16。

圖1.10 Fast R-CNN算法流程以及ROI池化

輸入圖像上的候選區域(x1, y1, x2, y2)在與之對應的特征圖的區域 的計算方式為:

(1.6)

主站蜘蛛池模板: 阳江市| 湟中县| 蓬莱市| 泰兴市| 神木县| 法库县| 衡阳县| 罗城| 安化县| 揭阳市| 望奎县| 九龙县| 吉林省| 连平县| 金昌市| 南华县| 宾川县| 平原县| 嵩明县| 东源县| 岫岩| 长子县| 香港 | 濉溪县| 从江县| 祁阳县| 九江县| 雷山县| 阳高县| 胶州市| 本溪| 云和县| 察哈| 万宁市| 长武县| 常山县| 四川省| 青龙| 常熟市| 沅陵县| 博客|