2014-02-27 24 views
0

我已經培訓了基於圖像的建築材料分類的SVM分類器。這是一個兩級分類器,現在可以區分混凝土和磚。我對這個分類器的輸入是從50 * 50圖像補丁生成的一些顏色加紋理直方圖。多個樣本的分類

現在如果我可以有多個圖像補丁,我相信他們是相同的材料(想象我隨機從混凝土牆表面採樣一些圖像補丁),我想對這些多個樣本進行分類以獲得單個結論,就像這是一堵混凝土牆。對我來說,最直接的方法是對每個候選圖像塊進行分類,然後選擇大多數結果作爲我的結論。但是還有其他更好的方法可以做到嗎?像某種加權或投票策略?謝謝。

+0

取決於你想要回答的問題 「大部分圖像是具體的」或「圖像的20%顯然是具體的」等 – SlimJim

+0

謝謝。我可能不清楚我的目標。我從牆壁表面提取圖像補丁,我認爲它是由一種材料製成的。所以我現在有多個候選樣本用於我的SVM分類器。我可以多次進行分類並選擇主要結果作爲我的結論。是的,這是一堵混凝土牆。但是,考慮到我有大量樣本可以給我更好的分類結果,我有更好的分類策略嗎?每個分類結果的權重?投票計劃?或者我真的把我的多個樣本混合在一起? – Iris

+0

也許你可以使用SVM的信心。計算它被分類爲「具體」的次數,但用SVM的置信度來衡量它。這有幫助嗎? – GilLevi

回答

0

我會想象磚圖案和混凝土在視覺上會有很大的不同,所以使用SVM可能是一種矯枉過正。還有許多其他機器學習方法,例如Kmeans。它們可能更簡單,但即使如此也可能更好。

可能只是繪製多個空間中兩個類的特徵向量會創建兩個不同的雲,因此從這些雲的中心(通過標準偏差標準化)測量距離會給出答案並更清楚地瞭解發生了什麼。

Kmeans和SVM之間的區別之一在於Kmeans構建了對象的原型,而SVM收集了一些甚至不具代表性但卻靠近兩個類之間邊界的示例。 OpenCV的實現Kmeans

對功能差異執行PCA可能會給你最明顯的尺寸。這可以簡化您的算法和特徵提取。

+0

我實際上有更多類型的材料被識別。磚和混凝土只是開始。但是,我明白你的觀點。作爲機器學習中的一員,我可能還沒有以合理的方式形成我的解決方案。 – Iris

+0

我的建議是作爲一個綠色的手 - 從構建對象原型(K-均值,高斯混合)開始,而不是找到邊界(SVM,樹)。以前的方法更容易理解,它也可以幫助您在使用更復雜的方法之前選擇正確的功能。 – Vlad