2017-04-19 42 views

回答

0

您從完全連接的層從訓練的模型中刪除並添加您自己的完全連接圖層,將學會分類。

基本上,你有這樣的事情:

Image -> Conv1 -> Pool1 -> Conv2 -> Pool2 -> ... -> ConvN -> FC1 -> FC2 -> Softmax 

的第一部分,轉化率和池層提取圖像特徵。分類部分發生在最後的FC -> FC -> Softmax。爲了根據這個訓練好的模型訓練你自己的分類器,你將你自己完全連接的圖層連接到最後一個卷積圖層,將卷積圖層設置爲不可訓練,然後在你的數據集上訓練網絡。

說,要加3完全連接層和輸出層,就會變得像這樣:

Image -> Conv1 -> Pool1 -> ... -> ConvN - FC1 -> FC2 -> Softmax 
             \ 
              MyFC1 -> MyFC2 -> MyFC3 -> MySoftmax 

你的分類輸出將MySoftmax將包含您的類的數量。

+0

你在說什麼是關於圖像分類器的轉移學習......我問的是物體檢測器... –

2

不特定的實現中,SSD,

  • 由於所有層都是卷積,則需要更改的在預測層應用的過濾器的數量,因爲(根據紙在第4頁)的輸出作爲要預測的類別數量的函數給出:即,對於網絡中的任何預測層,對於特徵映射,我們預計(c + 4)kmn輸出/預測用於分類和本地化; c是您嘗試預測的類的數量,k是該特徵地圖中使用的錨/默認框的數量,mn是特徵地圖的2維。
  • 您可能希望改變錨/默認箱秤,每在報紙

具體到SSD-Tensorflow給出的公式,

  • 你需要確保輸入格式匹配界面由tf.contrib.slim提供。目前SSD-Tensorflow僅支持Pascal VOC格式。我一直無法適應它接受其他數據集。對於示例KITTI界面,您可以看到https://github.com/balancap/SDC-Vehicle-Detection/。 SDC-Vehicle-Detection repo與SSD-Tensorflow的作者相同,儘管部分代碼庫已過時。
相關問題