ローカル機能
SIFT を使用する場合、通常は局所的な特徴を抽出する必要があります。それはどう言う意味ですか?画像があり、この画像からローカル特徴ベクトルを抽出するポイントを見つけます。ローカル特徴ベクトルは、それが抽出された画像領域の視覚情報を記述する数値で構成される単なるベクトルです。画像 A から抽出できる局所特徴ベクトルの数は、画像 B から抽出できる特徴ベクトルの数と同じである必要はありませんが、局所特徴ベクトルの数成分 (つまり、その次元数) は常に同じ。
ここで、ローカル特徴ベクトルを使用して画像を分類する場合、問題が発生します。従来の画像分類では、各画像はグローバルな特徴ベクトルによって記述され、機械学習のコンテキストでは数値属性のセットと見なすことができます。ただし、一連のローカル特徴ベクトルを抽出すると、画像分類に必要な各画像のグローバル表現が得られません。この問題を解決するために採用できる手法は、バッグ オブ ビジュアル ワード (BoW) としても知られるバッグ オブ ワードです。
ビジュアルワードのバッグ
(非常に) 単純化された BoW アルゴリズムは次のとおりです。
一連の画像から SIFT ローカル特徴ベクトルを抽出します。
このすべてのローカル特徴ベクトルを 1 つのセットに入れます。この時点では、各ローカル特徴ベクトルがどの画像から抽出されたかを保存する必要さえありません。
重心座標を見つけ、各重心に ID を割り当てるために、一連のローカル特徴ベクトルにクラスタリング アルゴリズム (k-means など) を適用します。この一連の重心は語彙になります。
グローバル特徴ベクトルは、各画像で各セントロイドが発生した回数をカウントするヒストグラムになります。ヒストグラムを計算するには、各ローカル特徴ベクトルの最も近い重心を見つけます。
画像分類
ここで、あなたの問題は次のとおりであると想定しています。
入力として、視覚的な外観に基づいてラベルを割り当てたい、ラベル付けされた画像のセットとラベル付けされていない画像のセットがあります。問題が風景写真を分類することだとします。画像ラベルは、たとえば「山」、「ビーチ」、「森」などです。
各画像から抽出されたグローバルな特徴ベクトル (つまり、ビジュアル ワードの袋) は、一連の数値属性として見ることができます。各画像の視覚的特徴を表すこの数値属性のセットと、対応する画像ラベルを使用して、分類器をトレーニングできます。たとえば、 SMO として知られる SVM を実装したWekaなどのデータ マイニング ソフトウェアを使用して、問題を解決できます。
基本的に、グローバル特徴ベクトルと対応する画像ラベルをARFF ファイル形式に従ってフォーマットするだけで済みます。これは基本的に、グローバル特徴ベクトルの CSV に画像ラベルが続きます。