モデル・技術

SIFTとは?キーポイントという目印を尺度不変で刻む——マッチング時代の局所特徴

読み:しふと / 英:SIFT(Scale-Invariant Feature Transform)

更新日: 読了目安:約7分

SIFT(Scale-Invariant Feature Transform)は、画像の目立つ点(キーポイント)に、拡大縮小や回転に比較的強い局所特徴記述子を付与する古典的手法です。HOGが画像全体をセルごとに密に数えるのに対し、SIFTは疎な「目印」辞書を作って画像同士を対応づける——本記事はDoGピラミッドの細部より、「なぜスケール不変がマッチングに効いたか」に焦点を当てます。

試験で問われる見方

SIFT単独の過去問は少ない一方、辞典の定義は「スケール不変な局所特徴記述子」です。試験ではCNN以前の手作り特徴抽出G-315)と、局所特徴の文脈(TF-401)で整理します。

誤答では、SIFT=CNNSIFT=誤差逆伝播の勾配SIFT=画像生成などのすり替えに注意します。SIFTは学習で重みを更新しない固定アルゴリズムです。

SIFTとは

SIFTは2000年代に提案され、コンピュータビジョンの特徴抽出+マッチングパイプラインの代表格になりました。入力画像から安定したキーポイントを検出し、各点に128次元などの特徴ベクトルを割り当てます。

名前の Scale-Invariant(スケール不変)は、同じ物体が写真で大きく写っても小さく写っても、同じ目印として対応づけやすい——という設計目標を表します。試験では数式より、この不変性の意味が重要です。

キーポイントと記述子

SIFTの処理は、試験向けに次の二段で覚えると整理しやすいです。

  1. キーポイント検出 — コーナーやエッジなど、位置・スケールが安定しやすい点を選ぶ
  2. 記述子の生成 — キーポイント周辺の勾配分布から特徴ベクトルを作る

HOGは画像全体を格子状に走査してすべてのセルに特徴を付けます。SIFTは重要そうな点だけに特徴を付ける——疎な表現——ため、パノラマ合成や物体検索のように点同士の対応が要るタスクと相性がよかった時代があります。

要素役割試験向け
キーポイント画像上の「目印」の座標・スケールどこを見るか
記述子その周辺の見え方を数値化どう見えるか
マッチング記述子の距離で対応を探す別画像の同じ目印を結ぶ

スケール不変の意味

同じ建物の写真を近づいて撮ると物体は大きく、離れて撮ると小さく写ります。ピクセル単位の生の値では対応が取れません。SIFTはガウシアンピラミッド(ぼかしを変えながら多解像度で見る)上で極値点を探し、その点が「どのスケールで一番目立つか」も一緒に記録します。

  • スケール 拡大縮小しても同じキーポイントとして検出しやすい
  • 回転 主方向を推定し、記述子を正規化して回転差を吸収
  • 照明 勾配の向き・大きさの正規化である程度の変化に耐える

「不変」とは完全に変化しないではなく、実務で困る変換(スケール・回転など)に頑健——と理解するのが試験向けです。

マッチング時代の使われ方

AlexNet以前は、多くの画像認識が特徴抽出+分類器の二段構成でした(G-315)。SIFT記述子を集めてBag-of-Visual-Wordsにする、SVMで学習する——といった流れが典型です。

  • 画像マッチング — 記述子の最近傍探索で同じ点を対応づけ
  • パノラマ合成 — 複数写真のキーポイント対応から幾何変換を推定
  • 物体認識 — 大量のSIFT特徴から学習(CNN以前の代表的手法の一つ)
  • 3D復元 — 複数視点の対応からカメラ位置・形状を推定

現代ではCNNが特徴と分類を端到端で学ぶため、SIFTを直接使う場面は減りました。それでも試験では「深層学習以前に何が標準だったか」——系譜——として問われることがあります。

HOG・CNN・ORBとの対比

手法特徴の作り方試験向け
SIFTキーポイント+スケール不変記述子疎・マッチング向き
HOGセル全体の勾配ヒストグラム密・歩行者検出など
ORB高速なバイナリ特徴(SIFTの後継系)実時間寄りの代替
CNN畳み込みで学習した特徴現代の主流(TF-401)

SIFTの「勾配」は画素の輝度変化です。勾配降下法誤差逆伝播学習用勾配とは別物——HOG記事と同じすり替えに注意します。

すり替えに注意

誤った説明正しい理解
SIFT=CNN手作り特徴 vs 学習する畳み込み
SIFT=HOGキーポイント記述子 vs 密なセルヒストグラム
SIFT=学習用勾配画素勾配 vs 損失のパラメータ勾配
SIFT=Text-to-Image特徴抽出 vs 画像生成
SIFT=全画素に特徴選ばれたキーポイントに記述子
スケール不変=任意変形に不変主にスケール・回転などへの頑健性

よくある質問

SIFTは何をする手法ですか?

Scale-Invariant Feature Transformの略で、画像の角やエッジなど安定した位置(キーポイント)を見つけ、各点に128次元などの特徴ベクトル(記述子)を付与します。拡大縮小や回転があっても同じ場所を対応づけやすく、画像マッチングや物体認識の前処理としてCNN以前に広く使われました。

SIFTとHOGは同じですか?

同じではありません。どちらも古典的な手作り特徴ですが、HOGは画像全体をセルに分割して勾配方向のヒストグラムを密に作ります。SIFTは目立つ点だけをキーポイントとして選び、各点にスケール不変な記述子を付けます。密度と不変性の設計が異なります。

SIFTはCNNですか?

いいえ。SIFTは人が設計した特徴抽出アルゴリズムであり、畳み込みニューラルネットワークの学習とは別物です。CNNはデータから特徴を自動学習します。どちらも局所パターンを扱いますが、特徴の作り方と学習の有無が根本的に異なります。