2016-11-29 203 views
3

這是在ai.stackexchange中詢問的question的轉貼。由於該論壇沒有太多的牽引力,我想我可能會在這裏嘗試我的機會。深度學習:數據集包含不同尺寸和方向的圖像

我有一個特定對象的不同維度的圖像的數據集。該物體的幾張圖像也處於不同的方向。目標是學習對象的功能(使用自動編碼器)。

是否有可能創建一個網絡,該網絡可以考慮輸入圖像的不同尺寸和方向,或者我應該嚴格考慮包含均勻尺寸圖像的數據集?一般而言,用於培訓深度網絡的合格數據集的必要標準是什麼?

這個想法是,我想避免預處理我的數據集,通過縮放規範化,重新定向操作等。我希望我的網絡能夠解釋尺寸和方向的變化。請同樣指出我的資源。

編輯:

作爲一個示例,考慮由香蕉的圖像的數據集。它們具有不同的尺寸,例如,265x525 px,1200x1200 px,165x520 px等等。90%的圖像以一個正交方向顯示香蕉(例如,正視圖),其餘的以不同的方向顯示香蕉(例如,等距視圖)。

+0

據我所知,沒有超參數可以在訓練過程中根據輸入維度控制cnn模型的結構。 – Dale

+0

@Jugesh:你能否把第一段寫在評論中? –

回答

2

幾乎所有的人都會在將它們發送到CNN之前將其所有圖像的大小調整爲相同大小。除非你面臨真正的挑戰,否則這可能是你應該做的。

也就是說,它是可能建立一個單一的CNN,將圖像輸入作爲不同的維度。有很多方法可以嘗試做到這一點,我不知道任何已發表的科學分析這些不同的選擇。關鍵是這組學習參數需要在不同輸入大小之間共享。雖然卷積可以應用於不同的圖像尺寸,但最終它們總是被轉換爲單個矢量來進行預測,而矢量的大小將取決於輸入,卷積和合並圖層的幾何形狀。您可能希望基於輸入幾何圖形動態更改池圖層,並使卷積保持不變,因爲卷積圖層具有參數,並且池通常不會。所以在更大的圖像上,你更積極地融合。

實際上,您希望將類似(相同)大小的圖像組合在一起放入小型貼片中進行高效處理。這對於LSTM型號模型很常見。這種技術通常被稱爲「bucketing」。有關如何有效執行此操作的說明,請參閱http://mxnet.io/how_to/bucketing.html

2

是否有可能創建具有考慮不同的尺寸和輸入圖像

通常的方式來處理不同的圖像的定向層的網絡是以下內容:

  • 您拍攝一張或多張作品的圖像以製作width = height。如果您拍攝多個作物,則將所有作物通過網絡並對結果進行平均。
  • 您可以將作物縮放到網絡所需的大小。

但是,也有全球平均彙總(例如Keras docs)。

符合條件的數據集一般用於訓練深度網絡的必要條件是什麼?

這是一個難以回答的問題,因爲(1)深度學習有很多不同的方法,而且這個領域相當年輕(2)我很確定現在沒有定量的答案。

這裏有兩條經驗規則:每個類

  • 你應該至少有50例
  • 將多個參數用的機型,你需要

Learning curvesvalidation curves的數據越多有助於估計更多培訓數據的影響。