可変サイズの機能をクラスタリングするために、opencv で BOW を使用しています。ただし、opencv のドキュメントから明確でないことが 1 つあります。また、この質問の理由を見つけることができません。
仮定: 辞書サイズ = 100。
私は surf を使用して特徴を計算し、各画像には可変サイズの記述子 (128 x 34、128 x 63 など) があります。BOW では、それぞれがクラスター化され、画像の固定記述子サイズ 128 x 100 が得られます。100 が kmeans クラスタリングを使用して作成されたクラスターの中心であることはわかっています。
しかし、画像に128 x 63の記述子がある場合、記述子マトリックスを1Dに変換しない限り、kmeansを使用して不可能な100個のクラスターにクラスター化する方法よりも混乱しています。1D に変換すると、単一のキー ポイントの有効な 128 次元情報が失われませんか?
わずか 63 個のフィーチャから 100 個のクラスター センターを取得するために記述子マトリックスをどのように操作するかを知る必要があります。