ホームページ > 記事 > テクノロジー周辺機器 > スケール不変特徴量 (SIFT) アルゴリズム
スケール不変特徴変換 (SIFT) アルゴリズムは、画像処理とコンピューター ビジョンの分野で使用される特徴抽出アルゴリズムです。このアルゴリズムは、コンピュータ ビジョン システムにおけるオブジェクト認識とマッチングのパフォーマンスを向上させるために 1999 年に提案されました。 SIFT アルゴリズムは堅牢かつ正確であり、画像認識、3 次元再構成、ターゲット検出、ビデオ追跡などの分野で広く使用されています。複数のスケール空間内のキーポイントを検出し、キーポイントの周囲の局所特徴記述子を抽出することにより、スケール不変性を実現します。 SIFT アルゴリズムの主なステップには、スケール空間の構築、キー ポイントの検出、キー ポイントの位置決め、方向の割り当て、および特徴記述子の生成が含まれます。これらのステップを通じて、SIFT アルゴリズムは堅牢でユニークな特徴を抽出し、画像の効率的な認識とマッチングを実現します。
SIFT アルゴリズムは、画像のスケール、回転、明るさの変化に対して不変であるという主な特徴を持ち、ユニークで安定した特徴点を抽出して効率的な照合と認識を実現できます。 。その主な手順には、スケール空間の極値の検出、キー ポイントの位置決め、方向の割り当て、キー ポイントの説明とマッチングなどが含まれます。 SIFT アルゴリズムは、スケール空間の極値検出を通じて、さまざまなスケールの画像内の極値点を検出できます。キーポイント位置決め段階では、局所極値検出とエッジ応答除去により、安定性と独自性のあるキーポイントを決定します。方向割り当てステージでは、各キー ポイントに支配的な方向を割り当てて、フィーチャ記述の回転不変性を改善します。キー ポイント記述段階では、キー ポイントの周囲の画像勾配情報を使用して特徴を生成します
1. スケール スペースの極値検出
ガウス差分関数 元の画像は、異なるスケールの極値点を検出するためにスケール空間処理を受けます。次に、DoG オペレーターを使用してこれらの極点を検出します。つまり、異なるスケールのガウス ピラミッド内のガウス イメージの 2 つの隣接するレイヤー間の差分が比較され、スケール不変のキー ポイントが取得されます。
2. キー ポイントの位置決め
次に、SIFT アルゴリズムは各キー ポイントに方向を割り当て、回転変換に対する不変性を確保します。方向の割り当てでは、勾配ヒストグラム統計手法を使用して各キー ポイントの周囲のピクセルの勾配値と方向を計算し、これらの値を勾配ヒストグラムに分配し、最後にヒストグラム内の最大のピークをメイン ポイントとして選択します。キーポイントの方向。
3. 方向の割り当て
キーポイントの位置決めと方向の割り当て後、SIFT アルゴリズムはローカル画像ブロックの特徴記述子を使用して説明します。それぞれの要所の地域特性。記述子は、回転、スケール、明るさの変化に対する不変性を確保するために、キーポイントの周囲のピクセルに基づいて構築されます。具体的には、SIFT アルゴリズムは、キー ポイントの周囲の画像ブロックをいくつかのサブ領域に分割し、各サブ領域のピクセルの勾配の大きさと方向を計算し、128 次元の特徴ベクトルを構築して、領域の局所的な特性を記述します。キーポイント。 。
4. キー ポイントの説明とマッチング
最後に、SIFT アルゴリズムは 2 つの画像のキー ポイント特徴ベクトルを比較することで画像マッチングを実行します。 . .具体的には、このアルゴリズムは、ユークリッド距離またはコサイン類似度を計算することによって 2 つの特徴ベクトル間の類似性を評価し、それによって特徴マッチングとターゲット認識を実現します。
SIFT アルゴリズムは、ガウス差分関数を通じて元の画像に対してスケール空間処理を実行し、異なるスケールの極点を検出します。具体的には、SIFT アルゴリズムは、ガウス ピラミッドを構築することによって画像のスケール変換を実現します。つまり、元の画像を継続的に畳み込み、ダウンサンプリングして、異なるスケールを持つ一連のガウス画像を取得します。次に、ガウス画像の 2 つの隣接する層に対して差分演算、つまり DoG 演算子を実行することにより、スケール不変のキーポイントが取得されます。
DoG オペレーター操作を実行する前に、ガウス ピラミッドのレイヤー数と画像の各レイヤーのスケールを決定する必要があります。 SIFT アルゴリズムは通常、ガウス ピラミッドをいくつかのレイヤーに分割し、各レイヤーの画像のサイズは前のレイヤーの画像の半分であるため、画像のスケール変更がキー ポイントの検出に影響を与えないことが保証されます。 SIFT アルゴリズムは、画像レイヤーごとに、異なるスケールでキーポイントを検出するために複数のスケールも選択します。
ガウス ピラミッドのレイヤー数と各レイヤーの画像のスケールを決定した後、SIFT アルゴリズムは各画像レイヤー、つまり各レイヤーの極値を探します。ガウス ピラミッドのレイヤー。ピクセルの周囲の 26 ピクセルの中から最大値または最小値を見つけ、それをガウス ピラミッドの 2 つの隣接するレイヤー内の対応するピクセルと比較して、その点がスケール空間の極点であるかどうかを判断します。これにより、スケールの異なる画像においても安定性と独自性を持ったキーポイントの検出が可能となります。 SIFT アルゴリズムは、低コントラストやエッジ点を除外するなど、検出された極値点の一部のスクリーニングも実行することに注意してください。
キー ポイントの位置を決定した後、SIFT アルゴリズムはキー ポイントの位置決めと方向の割り当ても実行して、回転変換に対する不変性を確保します。具体的には、SIFT アルゴリズムは各キー ポイントの周囲のピクセルの勾配値と方向を計算し、これらの値を勾配ヒストグラムに割り当てます。次に、SIFT アルゴリズムは、ヒストグラム内の最大のピークをキー ポイントの主な方向として選択し、それをポイントの方向として使用します。これにより、キー ポイントが回転方向に不変であることが保証され、後続のフィーチャの説明に方向情報が提供されます。
SIFT アルゴリズムにおけるキーポイントの検出と位置決めはガウス ピラミッドと DoG 演算子に基づいているため、このアルゴリズムはスケールの変化に対して優れた堅牢性を備えていることに注意してください。画像。 。ただし、SIFT アルゴリズムは計算量が高く、多数の画像畳み込み演算や差分演算を必要とするため、実際のアプリケーションでは積分画像や高速フィルター技術を使用するなど、ある程度の最適化と高速化が必要です。
一般に、SIFT アルゴリズムは、効果的な特徴抽出アルゴリズムとして、強力な堅牢性と精度を備えており、スケール、回転、明るさ、その他の変換を効果的に処理して、効率的なマッチングと効率的なマッチングを実現します。画像の認識。このアルゴリズムはコンピュータ ビジョンおよび画像処理の分野で広く使用されており、コンピュータ ビジョン システムの開発に重要な貢献をしています。
以上がスケール不変特徴量 (SIFT) アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。