コンピュータビジョン 初級
特徴点とカメラキャリブレーション
初級の概要
初級では、画像から特徴的な点を検出し、画像間で対応付けを行う手法を学ぶ。また、カメラの内部・外部パラメータを推定するキャリブレーション技術を扱う。
これらの技術は、3次元復元・SLAM・画像スティッチング(パノラマ合成)・拡張現実(AR)といった応用の基礎となる。特徴点の対応から幾何学的な関係を復元することが、多くの高度なタスクの出発点である。
学習目標
- 主要な特徴点検出器(Harris, SIFT, ORB)を理解する
- 特徴量記述子の役割と種類を理解する
- RANSACによるロバストな推定を理解する
- カメラキャリブレーションを実行できる
目次
-
第1章
コーナー検出
Harris コーナー検出、Shi-Tomasi
-
第2章
SIFT特徴量
スケール空間、DoG、記述子
-
第3章
ORBとバイナリ特徴量
FAST, BRIEF, ORB
-
第4章
特徴点マッチング
Brute-Force, FLANN, 比率テスト
-
第5章
RANSAC
ロバスト推定、外れ値除去
-
第6章
カメラキャリブレーション
Zhang法、歪み係数
-
第7章
レンズ歪み補正
放射歪み、接線歪み
-
第8章
練習問題
初級編の総まとめ
副読本:図入り 10 話
本編 8 章に加えて、フィルタ・エッジ・ピラミッド・キャリブレーション・歪みのコラム集 10 本を用意した。
前提知識
- コンピュータビジョン 入門の内容
- 微積分(勾配、ヘッセ行列)
- 線形代数(固有値分解、SVD)
- 確率(基礎的な概念。RANSAC の理解に役立つ)
基本概念
Harris コーナー検出
画像勾配から構造テンソル$M$を構成:
$$M = \begin{pmatrix} \displaystyle\sum I_x^2 & \displaystyle\sum I_x I_y \\ \displaystyle\sum I_x I_y & \displaystyle\sum I_y^2 \end{pmatrix}$$コーナー応答関数:$R = \det(M) - k(\text{trace}(M))^2$
スケール空間と DoG
画像を段階的にぼかしてガウシアンピラミッドを構成し、隣接するぼかし画像の差分(Difference of Gaussian, DoG)を取ることで、スケール不変な特徴点の候補を検出する。SIFT はこの仕組みにより、拡大・縮小に頑健な特徴点を得る。
RANSAC
ランダムにサンプルを選び、モデルを推定:
- 最小サンプル数でモデル推定
- インライア(モデルに適合する点)をカウント
- 最も多くのインライアを持つモデルを採用
レンズ歪みモデル
放射歪み:
$$x' = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6)$$$r^2 = x^2 + y^2$、$k_i$は歪み係数
読み物 読み物
式に入る前に、肩の力を抜いて直観をつかむための物語。「コンピュータはなぜ特徴点として角を選ぶのか」を、窓をずらす身近なたとえで眺める。
よくある質問(FAQ)
Q1. Harris コーナー検出はどのような原理か?
画像勾配から構造テンソル $M$ を構成し、コーナー応答関数 $R = \det(M) - k(\text{trace}(M))^2$ を評価する。$R$ が大きい点は、どの方向に窓をずらしても輝度が大きく変化する点、すなわちコーナーとして検出される。
Q2. SIFT と ORB の違いは何か?
SIFT はスケール空間と DoG を用いてスケール不変な特徴点を検出し、勾配ヒストグラムによる実数値記述子を生成する。ORB は FAST コーナー検出と BRIEF に基づくバイナリ記述子を組み合わせた高速な手法で、回転不変性を加えている。SIFT は精度に優れ、ORB は計算コストが低くリアルタイム用途に向く。
Q3. RANSAC はなぜ必要か?
特徴点マッチングには誤対応(外れ値)が必ず含まれるため、全点を用いる最小二乗法は外れ値に引きずられて破綻する。RANSAC はランダムに最小サンプルを選んでモデルを推定し、最も多くのインライアを説明するモデルを採用することで、外れ値に頑健な推定を実現する。
Q4. カメラキャリブレーションでは何を求めるのか?
焦点距離や主点などの内部パラメータ、カメラの位置・姿勢を表す外部パラメータ、そしてレンズの放射歪み・接線歪みを表す歪み係数を推定する。チェッカーボードを用いる Zhang 法が代表的で、既知の平面パターンを複数視点から撮影して求める。