2013-12-17 115 views
2

我試圖實現樸素貝葉斯最近鄰(NBNN)的圖像分類。在算法中,它要求屬於不同圖像的兩個像素之間的歐幾里德距離。歐幾里德距離兩個像素,每個屬於不同的圖像

我有1)m×40,000矩陣(其中40,000是一個圖像中的像素數)中的一組m圖像和2)n乘40,000的另一組n圖像矩陣。

1)是訓練集,2)是驗證集。

爲了讓我應用NBNN,從我的理解中,我需要找到2)中的每個像素與1)中相應像素之間的歐幾里德距離。

我的問題是,給出兩個灰度值,一個來自1),另一個來自2),我將如何找到它們之間的歐幾里德距離以應用k-NN?

+0

只是一個快速的實際問題:距離的輸出矩陣的預期維數是多少? – chappjc

+0

從我對樸素貝葉斯最近鄰的理解中,應該是40,000乘以40,000的測試圖像和40,000乘以m的訓練集。從那裏,我會尋找每個像素(列)的最小值來找到最近的鄰居。請讓我知道,如果我不正確地理解這一點。 – viviboox3

+0

@ viviboox3,我也試圖在MATLAB中使用這個方法。我已經閱讀了博曼關於NBNN的論文,但我仍然很難理解這種方法。我認爲NBNN的全部要點是提出類描述符,然後計算圖像到類的距離。這是你在這裏做的?另外,如果你能指出我對算法的一個很好的解釋,我將不勝感激! –

回答

3

設x,y爲兩個灰度200×200的圖像。像素級別爲x1,x2,...x40000y1, y2,...y40000。 x和y之間的歐氏距離是d(x,y)=sqrt(sum_i((xi-yi)^2))

0

我將把在wikipedia

給出的符號和定義你有一維數據,從而p=(p1)q=(q1)e(p,q)=sqrt((p1-q1)^2)=abs(p1-q1)

對於1d情況,歐幾里德距離是灰度值的絕對差值。

+0

因此,對於一維圖像,像素的位置並不重要? m乘40,000矩陣我對應於m圖像,每個200×200像素,因此總像素= 40,000。 – viviboox3

+0

也許我誤解了這個問題,我回答瞭如何計算顏色值的歐氏距離。您也可以將歐式距離應用於職位。 – Daniel

+0

我試圖在圖像集上實現knn算法來分類情感。如果我有一組用於訓練的圖像和一幅用於測試的圖像,則需要找到最小化每個像素之間距離的訓練示例。我的圖像是200×200。我仍然可以將1d情況下的歐式距離應用於此嗎?如果我的問題不清楚,我很抱歉。謝謝您的意見。 – viviboox3