第4回「コンピュータビジョン最先端ガイド」勉強会 4章...
DESCRIPTION
「コンピュータビジョン最先端ガイド」勉強会の 第4回の発表資料です。TRANSCRIPT
第4回「コンピュータビジョン最先端ガイド」 勉強会 2010/7/19
「4章 テンソルと多視点幾何」 7節-10節
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA
このスライドの作成者 twitter:@payashim Email : [email protected]
イントロダクション 「Why 3D?」
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA
Q.(大学院生 A君より) 「私は3次元が苦手なのですが、2次元
だけで生きて行っても大丈夫ですか?(コンピュータビジョン的な意味で)」
クイズ
カメラが2個以上になると何が便利になる?
ディスカッション1: 顔画像認証
ディスカッション2: 車載ステレオカメラ
ディスカッション3: 物体の種類の判別
A.1次元情報が増えて、 2次元で行うより各種解析が簡潔で楽になります!
7.多焦点テンソル間の関係
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA
2カメラ間の関係(ステレオ) から考えていきましょう
特徴点ベースのステレオ
左右の各対応する特徴点ペアを用いて、depthを三角測量(triangulation)により算出。これによりその特徴点ペアの3D座標が求まる
エピポーラ幾何
あるカメラ画像中の1点が、他のカメラ画像の どの点に対応するかを によって 記述する
対応点はどこ?
0 0
ステレオの基本
0
基本解法:Triangulation 2つの光線(Lay)の交点として3次元座標を計算
(x; y; z)
(x; y; z)
ステレオマッチング
0
エピポーラ直線
エピポール エピポール baseline
エピポーラ直線
3次元シーン中の1点に相当する2つの対応点を求める (ピクセル単位が基本)
2D全点探索 ?
エピポーラ拘束
0
片側の画像内の点の対応点は、もう片側の画像内のエピポーラ直線上にしか存在しない。
エピポーラ直線
エピポール エピポール
エピポーラ拘束
0
多焦点テンソルを算出できれば、 エピポーラ直線上の点のみの対応点検索
エピポーラ直線
エピポール エピポール
1D 探索!
3次元座標の計算
特徴点抽出 特徴点抽出
対応点マッチング
①対応点の正規化
③ の逆正規化
②線形or非線形によるの計算
Baseline の大小の影響
Wide Baseline Narrow Baseline
長所:Triangulationに十分な角度 短所:対応点の探索が広くなる
長所:対応点の探索が狭くて済む 短所:Triangulationの角度が不足
1ピクセル分の幅
三次元上での占有面積 (候補の三次元座標)
Wide baseline Matching
複数のカメラにより同時撮影した画像を用いる (例:モーションキャプチャ・三次元復元)
各カメラ間のBaselineは広い
Structure From Motion(SFM)
対象の周りを動いて動画撮影し、 3次元構造を復元(例;広域での 三次元復元、マシンビジョン、 車前方監視など)
各フレーム間のBaselineは狭い
注意:カメラ位置は未知。 あとで推定。
Structure From Motion(SFM)
http://phototour.cs.washington.edu/
対象の周りを動いて動画撮影し、 3次元構造を復元
各フレーム間のBaselineは狭い
特徴点の選択(2巻で勉強予定)
Baseline幅が狭い場合 = 隣り合う画像の変化が小さい
Baseline幅が広い場合= 隣り合う画像の変化が大きい
• Kanade-Lucas-Tomasi Tracker(KLT)
• SIFTなどのKeypointによるマッチング
その他baselineの幅の大小に関わらず使われる方法
• 窓探索ベースの相関(幾何学的距離の) • コーナー検出器(Harris Detector, Fastなど) • Graph Cutによる視差の全体最適化
The Stanford Multi-Camera Array
Q. 3カメラ以上を使う利点は?
多焦点テンソル(復習)
• 多焦点テンソル=各カメラ間の対応点もしくはエピポーラ直線の関係式をとりもつテンソル。
• 多焦点テンソルにより、各カメラ画像上での点orエピポーラ直線の関係が、ひとつの式で表現(拘束)される
• すなわち多焦点テンソルを求めておけば、あるカメラ中での点の、他のカメラにおける点の位置を求めることができる。
3焦点テンソル v.s. 2焦点テンソル
¿j1i 12F1j = 0i ¿
j2i 12F2j = 0i ¿
j3i 12F3j = 0i
¿1ki 13F1k = 0i ¿2ki 13F2k = 0i ¿3ki 13F3k = 0i
これらの関係式より、3焦点テンソルから 3つの2焦点テンソルを求めることができる
エピポーラ拘束(2次元)の曖昧性
0
左画像の一点は右画像のエピポーラ直線全体に 対応。これだと右画像の一点だけに対応できない。
エピポーラ直線
エピポール エピポール
The Stanford Multi-Camera Array
Q. 3カメラ以上を使う利点は?
A.ステレオの曖昧性を拘束できる!
Point Transfer
2本のエピポーラ直線の交点が対応点
Point Transfer
2本のエピポーラ直線の交点が対応点
三台目のカメラ(視点)により エピポーラ拘束が強固になる!
3視点幾何(エピポーラ拘束) 2視点のエピポーラ拘束 × 3
3視点幾何を2視点拘束に分解
ei13
ej23
C1
C2
C3
2視点のエピポーラ拘束 × 3
epipole
epipole
カメラC1とカメラC2のエピポーラ拘束
3視点幾何を2視点拘束に分解
ei21ej3123Fji = 0i
ei32ej1231Fji = 0i
ei21
ej31
C1
C2
C3
2視点のエピポーラ拘束 × 3
カメラC2とカメラC3のエピポーラ拘束
epipole
epipole
3視点幾何を2視点拘束に分解
ei21ej3123Fji = 0i
ei32ej1231Fji = 0i
ei13ej2312Fji = 0i
ej12
ei32
C1
C2
C3
2視点のエピポーラ拘束 × 3
カメラC1とカメラC3のエピポーラ拘束
epipole epipole
4焦点テンソル v.s. 3焦点テンソル
3視点と似たような話なので省略!!
4視点幾何(エピポーラ拘束)
ei13ej2312Fji = 0i ei21e
j3123Fji = 0i
ei12ej3213Fji = 0iei14e
j2412Fji = 0i
ei12ej4214Fji = 0i ei21e
j4124Fji = 0i
7節のまとめ
• 3カメラは2カメラよりStable(拘束が増えるので)。
• 多焦点テンソルは各カメラ画像内の特徴点とそれらの3次元空間での対応点の幾何的関係をとりもつテンソル。
• 4焦点テンソルは 3焦点テンソルで表現でき、3焦点テンソルは2焦点テンソルで表現できる。
• 3視点幾何では各2カメラ間での3個( ) のエピポーラ拘束を満たさなければならない。 • 4視点幾何では各2カメラ間での6個( ) のエピポーラ拘束を満たさなければならない。
8.多視点幾何の縮退
臨界配置(critical configuration) カメラと対応点の配置が悪くて 多視点幾何が一意に決まらない縮退の状態
臨界配置に近くなると多焦点テンソルの計算に (すなわちカメラの校正にも)影響大!
なるべく臨界配置にならないよう気を付けないとならない
• 一様双曲面 • 双曲放物面 • 楕円錐面 • 2平面 • 1平面
2視点幾何の臨界配置
2カメラ間の拘束が複数可能性がある配置なので、 1つの拘束に限定できない。(=線形解法を解くための方程式数が この配置だと各拘束式が被ってしまっていて足りなくなっている)
この縮退が起きやすいパターン
• 紙や雑誌、ビルなど長方体を、断面に垂直な方向から撮影し、断面上の特徴点ばかり選ばれた場合(特徴点が全て同じ断面の同一平面上の点になるので)
• つまりビル街を建物の断面に平行に直線運動してるとかなり危ない(ビル以外に地上からも特徴点が欲しい。)
9.多焦点テンソルの計算法
3次元座標の計算(復習)
特徴点抽出 特徴点抽出
対応点マッチング
①対応点の正規化
③ の逆正規化
②線形or非線形によるの計算
線形解法のアイデア
各対応点ごとの拘束条件を、
ひとつの方程式にまとめて計算!
Mt= 0多焦点テンソル(F行列)の各要素から 構成されるベクトル(求めるもの!)
対応点の座標から 構成される行列
xi1x0j1 Fij
xi2x0j2 Fij
xi3x0j3 Fij
xi4x0j4 Fij
線形解法:①対応点の正規化
正規化したLeast Squareはノイズに強くなるので 特徴点を画像ごとに正規化する
(0; 0)
(¡2; 2) (2; 2)
(2;¡2)(¡2;¡2)(640; 0)
(0; 480) (640;480)
(0; 0)
線形解法:①対応点の正規化
以下のアフィン変換行列Nを用いて各対応点を正規化
N =
24
s1 0 ¡s1m1
0 s2 ¡s2m2
0 0 1
35
m1 =1K
PK
i=1 p1i;m2 =1K
PK
i=1 p2i
s1 = [ 1K
PK
i=1(p1i ¡m1)]¡1=2; s2 = [ 1
K
PK
i=1(p2i ¡m2)]¡1=2
x方向、y方向の重心
原点(0,0)からの距離の平均を にするスケーリング係数 p2
p0 = Np =
24
s1(p1 ¡m1)
s2(p2 ¡m2)
0
35
(K:検出した特徴点の数)
線形解法:②F行列の計算-手順1
Mt= 0上記式を解く代わりに、左辺のLeast Squareを求める
minkMtk2 =mintT (MTM)t = 0
MTM の最少固有値に対応する固有ベクトルが求める t となる!
このままだと自由度が増えてしまっている
線形解法:②F行列の計算-手順2
F0=UD
0VT =U
24
v1 0 0
0 v2 0
0 0 0
35VT
手順1で得たF行列を特異値分解
F =UDVT =U
24
v1 0 0
0 v2 0
0 0 v3
35VT
最少固有値を0にして、rank2のF’行列を獲得!
手順1で与えた余分な自由度(tのノルムが1)を克服!
線形解法:②F行列の計算-まとめ
手順1: 対応点から作った を特異値分解。 最少固有値の固有ベクトルが
手順2: F行列を特異値分解。rankを2に下げたF’を計算
Uの列ベクトルからFを算出
Fから幾何的条件を満たすF’を算出
を3×3のF行列に戻す。 1×9の列ベクトルである
線形解法:③F行列の非正規化
各点を正規化したので、線形拘束は②F行列の計算で、以下のようになっていた
これを以下のように元に戻す
これにて多焦点テンソル(ここではF行列)の線形計算は完成
F0=N¡T
1 FN¡12
よって②で求めたものは以下のもの
F =NT1F
0N2
非線形解法のアイデア
1. 線形解法で求めた多焦点テンソルを初期値
2. 多焦点テンソルを用いて特徴点から三次元点を計算(推定)する。
3. 推定した三次元座標群から、コスト関数を最少化する計算を行い、多焦点テンソルの値を更新(2に戻る)。
4. 2,3を繰り返し、収束した値を答えとする。
コスト関数には主に
再投影誤差を用いる
再投影誤差
x1x2
x1 x2
再投影誤差
0 0
x1 x2x̂1 x̂2
Bundle Adjustment 複数カメラ(時刻変化によるものも含む)からの特徴点を用いた再投影誤差を最少化することによる多焦点テンソルの最適化計算法。
今回の教科書には方法までは書かれていないが、非常に重要かつ難解な計算手法
入力: 誤差が多い Point Cloud
出力: 最適化された Point Cloud
9節のまとめ
• 多焦点テンソルの解法には主に二通りある。
①線形解法+RANSAC
②再投影誤差を用いた非線形解法
• バンドル調整法(Bundle Adjustment)は線形
解法から計算した多焦点テンソルを調整する非線形解法。
• 行列よりテンソルで書いた方がプログラミングするときに添え字が明確になりわかりよい。
10.まとめ
10.全体のまとめ(学んだこと)
• テンソルそのもの性質
• 複数カメラ間に成り立つ多視点幾何。
• 3次元空間に存在するカメラ間の幾何学的拘束は、4平面の交差として解釈できる。
• 2カメラ間、3カメラ間、4カメラ間の拘束は全て同質。さらには運動するカメラでも同質。
• 多視点幾何の敵である臨界配置。
• 多焦点テンソルの実際の計算方法。2次元の例を見たが、3次元以上でも方法は同じ。