0

我正在用U-net體系結構來訓練分割模型。輸入圖像大小爲250x250。如何確保Caffe分割網絡的輸出大小與輸入相同?

目前,我已經手動調整了一些卷積層的填充以確保模型輸出具有相同的大小,即250x250。

但是,當我輸入一個不同大小的圖像,例如一個500x500,輸出尺寸是506x506。

如何確保輸出尺寸與所有尺寸的輸入保持一致?

回答

1

您可以使用"Crop"圖層強制輸出形狀相同。
對於U-net,我建議在每次上採樣後使用一個作物層,而不是僅在最後使用作物層,以避免累積填充錯誤。

關於「填充錯誤」:
假設你有100×100形狀的輸入,你下來樣品的3倍的一個因素,如果2,你會用13×13的特徵圖結束。
現在,如果你通過X2每次

13x13 --> 26x26 --> 52x52 --> 104x104 

你必須添加由於填充的是「額外的」 4個像素上採樣三次/舍入(在你的問題,你有6個)。
不過,如果你"Crop"每個上採樣

13x13 --> 26x26 \crop 25x25 --> 50x50 --> 100x100 

你看,只有第一上採樣後有一個不平凡的作物,而且它只有1個像素的錯誤在這一水平,而不是4

+0

填充錯誤是什麼意思? 我剛剛在最後一個上採樣圖層之後包含了一個裁剪圖層以匹配尺寸,並且它看起來工作正常。有什麼問題呢? – shubhamgoel27

+0

@ shubhamgoel27請參閱我的編輯 – Shai

+0

感謝您的編輯,但是如何知道我需要在中間層裁剪多大的尺寸? (假設我的輸入大小不固定) – shubhamgoel27

相關問題