2014-12-03 30 views
1

我想在Matlab中實現神經網絡分類。 我的輸入是來自圖像的座標集羣。 (對應的Delaunay三角剖分頂點) 有3簇(光學算法的結果)的格式如下:(並非所有簇都具有相同的尺寸) enter image description here座標歸一化神經網絡輸入在MATLAB中

。元素表示歐幾里德2d空間中的座標。所以(110,12)是我的圖像中的一個點,所描繪的矩陣表示一個點的集羣。 聚類是在圖像邊緣完成的。因此,座標是指圖像矩陣上的邏輯值(在這種情況下總是1)(在邊緣檢測之後,圖像中有3個「密集」區域,並且這些像素集合用於分類)。有6個目標課程。

所以,我的問題是如何將它們格式化爲單列向量輸入以用於神經網絡? (有一個相關的答案here,但我想盡可能詳細說明一下(我現在可能從12小時的嘗試中過於疲勞,並且沒有得到它100%:D :() 請記住,有3個不同的座標對於每一個畫面矩陣,所以我最初的想法是,創建3個輸入ン(不同長度),但如何序列化這個

下面是其標籤在羣集上的情況下,它可以幫助:? enter image description here

+1

羣集是輸入還是點?如果是集羣,那麼你應該輸入描述集羣的任何東西(例如平均值+方差)。如果是分數,你應該輸入分配,就像在你鏈接的問題中完成一樣。在第一種情況下,您需要恆定數量的羣集,在第二種情況下,您需要恆定數量的點。 – Unapiedra 2014-12-03 09:36:59

+1

我不知道我是否理解你的問題;你是否想訓練一個nnet來將單個座標歸類爲屬於羣集1,2,3中的一個? – 2014-12-03 09:49:11

+0

點是輸入,但他們被組織在3個集羣。我有一個恆定數量的集羣。完成聚類是爲了在我的圖像中提取特定的感興趣區域。每次有3個點的聚類點。因爲分割是一個因素,所以點之間是以簇的形式分開的。所以我們的目標是,每次分類的工作就像例如「聚類1是一個圓圈,聚類2是一條線,聚類3是一個圓圈,所以圖像被分類到類別#1」。每個羣集中的點數是可變的,但我總是有3個羣集。 – 2014-12-03 09:49:20

回答

1

爲了訓練分類器,需要一個矩陣X,其中每一行都對應一個圖像,如果要使用座標表示,這意味着所有圖像必須具有相同的大小,例如M乘以N.所以,圖像的行將有M次N個元素(特徵),並且相應的特徵值將是集羣分配。類向量y將是您擁有的任何標籤,這是您通過上述註釋提及的六個不同類中的一個。你應該記住,如果你使用座標表示,X可以得到非常高維的,除非你有大量的圖像,你的分類器很可能會表現很差。如果您的圖像很少,請考慮使用屬於我在其中一個評論中建議的集羣的像素分數:這可以爲您提供一個簡短的特徵描述,這對於旋轉和平移不變,並且可以產生更好的分類。

+1

完美。你給了我另一個想法。爲了避免在座標表示的情況下可能導致的高維度問題,我將嘗試在羣集上使用傅里葉形狀描述符,並將THEM作爲輸入傳遞給nn ..我認爲這樣做會很好。 – 2014-12-03 12:09:24