0

這個問題是概念性的。我基本瞭解MNIST示例如何工作,前饋網絡將圖像作爲輸入並輸出預測標籤0至9.使用卷積神經網絡的逐像素分類?

我正在開發一個項目,該項目理想情況下會將圖像作爲輸入,並且對於每個像素在該圖像上,我將輸出該像素是否爲特定標籤的概率。所以我的輸入,例如600 * 800 * 3像素的大小,我的輸出將是600 * 800,其中我輸出的每一個條目都是一個概率。

如何設計使用卷積神經網絡的流水線?我正在與Tensorflow合作。感謝


精化:

基本上我想每個像素標記爲前景或背景(像素是前景的概率)。我的直覺是,在卷積圖層中,神經元將能夠拾取圍繞該像素的補丁中的信息,並最終能夠確定這個像素有多可能成爲前景。

+0

單個像素如何被分類爲特定標籤?你能再詳細一點嗎?也許是一組像素,但一個像素被歸類爲一個難以可視化的標籤 –

+1

這基本上是語義分割,請參閱論文「用於語義分割的完全卷積網絡」以獲取更多信息。 –

+0

@LuisLeal我想將每個像素都標記爲前景或背景(像素爲前景的概率)。我的直覺是,在卷積圖層中,神經元將能夠拾取圍繞該像素的補丁中的信息,並最終能夠確定這個像素有多可能成爲前景。 – Paler

回答

2

雖然效率不高,但一種天真的方法可以是將像素的窗口(例如5px x 5px)着色爲黑色,記錄每個輸出類的概率,然後將窗口滑過一點,然後再次錄製。這將重複,直到窗口通過整個圖像。

現在我們有一些有趣的信息。對於每個窗口位置,我們知道標籤上的概率分佈相對於分類器接收整個圖像時的概率的增量。該增量對應於該區域對做出該決定的分類器的貢獻量。

如果您希望將其映射到每像素級別用於可視化目的,則可以在滑動窗口時使用1像素的步長,並將概率增量映射到窗口的最中心像素。

請注意,您不希望窗口太小,否則增量太小而無法改變。此外,您可能希望對於如何選擇窗口顏色有所瞭解,以便窗口本身不會成爲分類器的一項功能。

編輯迴應你的闡述: 這仍然適用於你想要做的。事實上,它甚至變得更好一些。不要將所有標籤概率增量分開,而是將它們相加。這會給你一個測量值,告訴你「這個區域使圖像更像是一個數字」(或換言之,前景)。此外,您不會測量未覆蓋圖像的增量,而是針對每個標籤的P(x)= 0的概率向量。