2013-10-24 17 views
2

我使用弓OpenCV進行聚類可變大小的功能。但是有一件事是不是從OpenCV中的文檔清晰,還我無法找到這個問題的原因:袋OpenCV中

假設:字典大小= 100

我用衝浪來計算的功能,以及各圖像具有可變尺寸描述符,例如:128×34,128×63等。現在,在BOW中,每個圖像都被聚類,並且對於圖像我得到128×100的固定描述符尺寸。我知道100是使用kmeans集羣創建的集羣中心。

但我在困惑,如果圖像具有128×63的描述符,比如何來到它簇分成100簇這是不可能使用k均值除非我轉換描述符矩陣至1D。不會轉換爲1D將失去單個關鍵點的有效128維信息?

我需要知道如何操縱是從只有63功能得到100個雜波中心的描述矩陣。

回答

9

想這樣。

你有10簇是指總和6層的特性爲當前圖像。其中前3個特徵與第5個均值最接近,其餘3個最接近第7,8,9個均值。那麼你的功能將會像[0, 0, 0, 0, 3, 0, 1, 1, 1, 0]或這個的標準化版本。它是10維的,並且等於聚類平均數。所以如果你想的話,你可以從63個特徵創建100000個三維矢量。

但我仍覺得有什麼不對,因爲你申請BOW後,你的特點應該是1×不128x100。您的羣集意味着128x1,並且您正在分配128x1大小的功能(第34張128x1功能用於第一張圖像,63 128x1功能用於第二張圖像等)。因此,在基本情況下,您將100個分配34或63個特徵,您的結果應爲1x100。

+0

噢謝謝你那麼清楚。只是我的正確,我寫了關於BOW特徵向量大小的錯誤。我檢查了它,它的1 x 100像你說的那樣。爲此道歉..謝謝你的明確解決方案 –