2016-07-18 50 views
2

我很熟悉如何(C)神經網絡工作在一般的分類問題(2D圖像 - > 1類),但我不知道如何構建一個網絡,將採取2d圖像並輸出分類值的2d矩陣。NN模型體系結構每像素分類

實際上,我有一組NxN圖像(1通道),我想按「每像素」進行分類。我希望輸出是一個NxN類的集合,使得對於位置(a,b)處的像素,結果將是輸入圖像中像素(a,b)的分類結果。

模型架構的任何幫助?

P.S.我聽說過基於補丁的方法,但我希望將整個NxN圖像無需「修補」即可送入網絡。

謝謝! Joe

+0

是一個像素依賴於其他像素? – malioboro

+0

你有什麼問題?我的意思是你可以清楚地嘗試使用NxN輸入層和NxN輸出層。只要確保不在整個輸出層上應用softmax函數(正如我們在分類問題中通常所做的那樣)。試試看它是否有效。或者你已經嘗試過了嗎? –

+0

這些圖像是來自醫學CT掃描的切片。 @malioboro:一個像素不是明確地依賴於其他像素,但像一個圖像,它們是內在聯繫的。 @ Maxim:這不是一個有效的自動編碼器嗎?有關爲分類目的創建此類網絡的任何提示? –

回答

2

總的來說,這項任務沒有什麼特別之處。 DNN可以同時執行多個分類或迴歸任務。由於權重是共享的,因此可以確保在對每個像素進行分類期間,一個像素與所有其他像素之間存在某種關聯。

所以長話短說,可能的算法來解決這個問題:

1)請確保您有在那裏輸入您的N×N圖像的訓練集,作爲輸出你有目標的分類標記的N×N矩陣(類標籤對於每個像素)

2)建立一個DNN與您通常用於圖像分類的架構。類似於具有最大池的卷積層的幾個,隨後是2-3個完全連接的ReLU層。

3)確保你的輸出層將具有N×N的大小,是不是SOFTMAX層(使用RELU再次)

4)車吧!

這應該工作絕對好。我也可以向您保證,從DNN獲得多個半獨立輸出並不罕見。例如here同一網絡用於同時定位所有面部關鍵點(眼睛,嘴巴,鼻子等)。