20.1 多尺度目標檢測
- 在錨框中,在以輸入圖像的每個像素為中心生成多個錨框。
- 這些錨框是對輸入圖像不同區(qū)域的采樣。然而孽锥,如果以圖像每個像素為中心都生成錨框,很容易生成過多錨框而造成計算量過大
- 減少錨框個數
- 在輸入圖像中均勻采樣一小部分像素,并以采樣的像素為中心生成錨框
- 在不同尺度下惜辑,可以生成不同數量和不同大小的錨框
- 較小目標比較大目標在圖像上出現位置的可能性更多
- 既然已在多個尺度上生成了不同大小的錨框唬涧,相應地,需要在不同尺度下檢測不同大小的目標
- 基于卷積神經網絡的方法
- 在某個尺度下盛撑,假設依據Ci張形狀為h×w的特征圖生成h×w組不同中心的錨框碎节,且每組的錨框個數為a ? 例如,在第一個尺度下抵卫,依據10(通道數)張形狀為4×4的特征圖生成了16組不同中心的錨框狮荔,且每組含3個錨框
- 接下來,依據真實邊界框的類別和位置介粘,每個錨框將被標注類別和偏移量
- 在當前的尺度下殖氏,目標檢測模型需要根據輸入圖像預測h×w組不同中心的錨框的類別和偏移量
- 假設這里的Ci張?zhí)卣鲌D為卷積神經網絡根據輸入圖像做前向計算所得的中間輸出。
- 既然每張?zhí)卣鲌D上都有h×w個不同的空間位置姻采,那么相同空間位置可以看作含有Ci個單元雅采。
- 將特征圖在相同空間位置的ci個單元變換為以該位置為中心生成的a個錨框的類別和偏移量。
- 本質上偎谁,用輸入圖像在某個感受野區(qū)域內的信息來預測輸入圖像上與該區(qū)域位置相近的錨框的類別和偏移量总滩。
- 當不同層的特征圖在輸入圖像上分別擁有不同大小的感受野時,它們將分別用來檢測不同大小的目標巡雨。
- 例如,可以通過設計網絡席函,令較接近輸出層的特征圖中每個單元擁有更廣闊的感受野铐望,從而檢測輸入圖像中更大尺寸的目標。
20.2 目標檢測算法分類
- 基于深度學習的目標檢測算法主要分為兩類:
- Two stage目標檢測算法
- 任務:特征提取—>生成RP—>分類/定位回歸
- 常見的two stage目標檢測算法有:R-CNN茂附、Fast R-CNN正蛙、Faster R-CNN和R-FCN等
- One stage目標檢測算法
- 任務:特征提取—>分類/定位回歸
- 常見的one stage目標檢測算法有:OverFeat、YOLOv1营曼、YOLOv2乒验、YOLOv3和SSD等
- Two stage目標檢測算法
20.2.1 SSD( Single Shot multibox Detection )
- SSD屬于one-stage方法。
- SSD使用 VGG16 網絡作為特征提取器蒂阱,將后面的全連接層替換成卷積層锻全,并在之后添加自定義卷積層,并在最后直接采用卷積進行檢測录煤。
- 在多個特征圖上設置不同縮放比例和不同寬高比的先驗框以融合多尺度特征圖進行檢測鳄厌,靠前的大尺度特征圖可以捕捉到小物體的信息,而靠后的小尺度特征圖能捕捉到大物體的信息妈踊,從而提高檢測的準確性和定位的準確性了嚎。
-
如下圖是SSD的網絡結構圖
- 怎樣創(chuàng)建錨框?
- SSD在多個特征層上取錨框,可以得到不同尺度的錨框歪泳。
- 在特征圖的每個單元上取不同寬高比的錨框,一般寬高比在{1,2,3,1/2,1/3}中選取
-
如圖所示萝勤,在8x8的feature map和4x4的feature map上的每個單元取4個不同的錨框。
大數據視頻推薦:
騰訊課堂
CSDN
大數據語音推薦:
企業(yè)級大數據技術應用
大數據機器學習案例之推薦系統
自然語言處理
大數據基礎
人工智能:深度學習入門到精通