天天看點

全卷積網絡中預測部分的softmax操作原理簡析

概要

現在目标檢測網絡有采用全卷積結構進行預測的趨勢,采用該結構能夠1)大幅降低參數數量(全連接配接參數數量巨大),2)适配任意尺度輸入,3)精度上也沒有顯著降低 等優點。這兩天在研究SSH: Single Stage Headless Face Detector, 分析了預測子產品中的結構,為什麼要将(n,c,w,h)reshape成(n,2,c/2w,h)這一細節,話不多說,進入正題。

簡析

全卷積網絡中預測部分的softmax操作原理簡析

以ssh模型架構M1結構為例,檢測部分進行了如上圖所示的流程。現簡要分析如下:

  1. 假設全卷積網絡特征圖尺寸是(1,256,3,4)即n,c,h,w.

    想在每個cell 兩個anchor,總數為3x4=12的尺度上做人臉檢測,輸出特征圖如下所示:

全卷積網絡中預測部分的softmax操作原理簡析

用下面這種方式更清楚:

全卷積網絡中預測部分的softmax操作原理簡析
  1. ssh_cls_score卷積輸出後feat是(1,4,3,4) 4是2個anchor,按照以下順序

    排序排列資料:兩個anchor為負樣本(label=0),兩個anchor為人臉

    的分值,例如第一個cell的anchor資料位置如下:

全卷積網絡中預測部分的softmax操作原理簡析
  1. 計算softmax是要用數位1和25, 13和37進行,出來的softmax 值sum=1,reshape 之後變成了(1, 2, 6, 4), 然後将softmax axis=1就可以進行以上操作, caffe中預設的axis是1,pytorch中也有相應的次元設計。reshape之後如下:
全卷積網絡中預測部分的softmax操作原理簡析
  1. 計算softmax之後再reshape回來,後面就可以按照分支進行propsal操作了。

其他

loc偏移由于不用做softmax操作,是以可以直接輸出。

上一篇: EAST算法介紹

繼續閱讀