3

我正在閱讀論文「用於語義分段的完全卷積網絡,由Jonathan Long *,Evan Shelhamer *和Trevor Darrell。CVPR 2015和PAMI 2016」 我想了解爲什麼它可以用於語義分割。讓我們來看看fcn-32s架構,它包括兩個階段:特徵提取(conv1-1-> pool5)和特徵分類(fc6-> score_fr)。與正常分類網絡比較,主要的不同在於第二階段。 FCN-32s通過fc7中的完全卷積層(1×1)替換完全連接的層,以保留空間映射(作爲文章圖2中的標題)。因此,我被搞糊塗了一些關於這一點:完全卷積圖層可以用於分割任務嗎?

  1. 如果我們完全卷積層代替完全連接層, 怎麼能學會的重量傳統的分類 架構?
  2. 爲什麼我們可以通過使用完全卷積層來保留空間圖(熱圖)?

在此先感謝您。

更新:這是數字展示如何從完全連接,充分卷積層 enter image description here

+1

您能否提供更多信息/背景信息,讓讀者不必親自操作Google?在我看來,只有那些曾經閱讀過論文的人仍然會回憶這個問題。 – javaLover

+0

感謝javaLover。我更新了它 – user8264

+0

歡迎。我有時想問這樣的事情。關於這個話題,這篇文章看起來像是一大段(不太吸引人)。你可以發表文章鏈接嗎?它還引用了諸如「FCN-32s」,「pool5」和「卷積層」之類的行話(?)。我不知道他們哪一個是這方面的常用詞。如果有些不是,提供他們的意思可能是一個好主意。 :) – javaLover

回答

4

如果你看一下數學,"Convolution"層和"InnerProduct"(又名「完全連接」)層基本上很相似轉換:他們在各自的感受野上進行線性操作。唯一的區別是"InnerProduct"將整個輸入視爲其「接受字段」,而"Convolution"圖層僅查看輸入中的kernel_size窗口。

如果輸入大小改變會發生什麼?
"Convolution"圖層無需關注,只需輸出與新輸入形狀對應的空間尺寸的特徵地圖。
另一方面,"InnerProduct"圖層失敗,因爲其具有的權重數與接受性字段的新大小不匹配。

"Convolution"圖層替換模型中的頂層完全連接圖層允許對圖像進行「滑動窗口」分類:從而實現粗略的語義分割 - 每像素標註一個標籤,而不是每個圖像的標籤。

輸入標尺和輸出標號的粗標尺寸之間的尺度差距仍然存在很大問題,但有"Deconvolution"層來填補這一空白。

+0

謝謝謝。我展示了每一層的形狀:'fc6:(1,4096,16,16),fc7:(1,4096,16,16),score_fr:(1,21,16,16)'其中'fc6'使用內核大小「7」,「fc7」和「score_fr」使用內核大小「1」。 'fc7'具有'4096'特徵圖,'score_fr'具有'21'(班級數)。據我瞭解,'fc6'的49(7x7)輸入連接到'fc7'中的輸出。而'fc7'中只有1個輸入連接到'score_fr'中的1個輸出,因爲內核大小:1.是不是?此外,卷積層的權重是隨機初始化的,如高斯核,那麼權重如何學習? – user8264

+0

模型的所有權重都是隨機初始化的,其訓練過程將隨機權重調整爲有用的@ user8264 – Shai

+0

這意味着最後兩個卷積隨機初始化,然後在下一次迭代之後進行微調。或從1到7的所有卷積? – user8264

相關問題