深度学习和目标检测系列教程 7-300:先进的目标检测Faster R-CNN架构
@Author:Runsen
Faster R-CNN
由于Fast R-CNN 過程中仍然存在一個瓶頸,即ROI Projection。眾所周知,檢測對象的第一步是在對象周圍生成一組潛在的邊界框。在 Fast R-CNN 中,ROI Projection是使用Selective Search創建的,發現一個非常緩慢的過程是整個對象檢測過程的瓶頸。
選擇性搜索是一個緩慢且耗時的過程,會影響網絡的性能。因此,任少清等人提出了一種對象檢測算法,該算法消除了選擇性搜索算法,讓網絡學習了區域提議區域提議。
Faster R-CNN與 Fast R-CNN 類似,圖像作為輸入,提供給提供卷積特征圖的卷積網絡。不是在特征圖上使用選擇性搜索算法來識別區域提議,而是使用單獨的網絡來預測ROI Projection。然后使用 RoI 池化層對預測的區域建議進行重新整理,然后使用 RoI 池化層對建議區域內的圖像進行分類并預測邊界框的偏移值。
從上圖可以看出,Faster R-CNN 比Fast R-CNN要快得多。因此,它是目前先進的目標檢測算法。
為什么不將這些相同的 CNN 結果重用于區域提議,而不是運行單獨的選擇性搜索算法
讓我們看一個Faster R-CNN的思想,首先,讓我們了解一下具有不同縱橫比和尺度的重疊ROI的概念。
從圖像中,我們看到很多物體相互重疊。在電視機里看到一輛汽車、一輛自行車、一個拿著電視機的人和一只狗。選擇性搜索可以解決這個問題,但我們最終會得到大量的 ROI。我們需要想一個能有效解決這個問題的想法。
如果我們在不同的對象周圍繪制邊界框,它看起來是這樣的。
實現這一點有點復雜,但 Anchor Boxes 的想法使它變得簡單。讓我們了解這些錨框的含義。
通常,對象可以放入方形盒子中,也可以放入長方形和寬,或長方形和高。從廣義上講,它們可以說是大的、小的或中等的。因此,通過實驗發現,可以使用 3 種不同比例和 3 種不同縱橫比的框檢測圖像中的任何對象。
在Feature Map上使用不同大小的滑動窗口(如上圖的9個所示)。這個概念被稱為特征金字塔。這涉及在特征圖頂部使用 9 種不同大小的滑動窗口。
RPN
- 區域提議網絡 (RPN) 從將輸入圖像饋送到卷積神經網絡開始。首先調整輸入圖像的大小,使其最短邊為 600 像素,長邊不超過 1000 像素。
- 網絡的輸出特征(由H x W表示)通常比輸入圖像小得多,這取決于網絡模型的步幅。在Faster R-CNN論文中使用的兩個網絡模型(VGG、ZF-Net),網絡步長都是 16。這意味著網絡輸出特征中的兩個連續像素對應于輸入圖像中相距 16 個像素的兩個點。
下圖顯示了 在輸入圖像上,3 種不同縱橫比和 3 種不同尺寸的 9 個可能的錨點放置,使用的錨點具有 1282、2562、5122的 3 個盒子區域比例和 1:1、1:2 和 2:1 的 3 個縱橫比。
Faster R-CNN架構
如下為整體框架結構,結合上述過程來看,主要是三部分,Extrator進行特征提取、RPN 生成候選框、RoIHead對候選框進行分類并調整目標預測框的位置與大小。
Faster R-CNN使用了預訓練的VGG16作為backbone進行特征提取,實現方法是加載預訓練模型,抽取并分離前面的卷積層和后面的全連接層,固定卷積層中部分層的權重,用作特征提取,而全連接層則給 RoIHead 用作分類和回歸。
Faster R-CNN 聯合訓練有 4 個損失:
- RPN分類(IoU 大于 0.5 Object foreground/ IoU 介于 0.1 和 0.5background)
- RPN 回歸(Anchor → ROI)
- Fast RCNN 分類(對象類)。
- Fast RCNN 回歸(ROI → Bounding Box)
總結,R-CNN 和 Fast R-CNN 都使用基于 CPU 的區域提議算法,例如選擇性搜索算法,每張圖像大約需要 2 秒并在 CPU 計算上運行。Faster R-CNN論文通過使用另一個卷積網絡(RPN)來生成區域提議來解決這個問題。這不僅將每個圖像的區域提議時間從 2 秒降低到 10 毫秒,而且還允許區域提議階段與以下檢測階段共享層,從而導致特征表示的整體改進。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的深度学习和目标检测系列教程 7-300:先进的目标检测Faster R-CNN架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丰田霸道酷路泽变速箱油加多少?
- 下一篇: 东方红20双杠车一个小时多少油