More Related Content
Similar to 関東コンピュータビジョン勉強会 (13)
関東コンピュータビジョン勉強会
- 6. カメラパラメータ
スクリーン座標 ワールド座標
𝒙 = 𝐊 𝐑 𝒕 𝒑
𝒖
𝒗
𝟏
~
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
𝒑 𝒙
𝒑 𝒚
𝒑 𝒛
𝟏
カメラ内部行列
DOF: 5
カメラ外部行列
DoF: 6
- 11. 透視投影
𝑐 𝑠
𝑦𝑠
𝑓
𝑥 𝑠
𝑦𝑐
𝑥 𝑐
𝑧 𝑐
画像面
𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥)
𝒙 = (𝑢, 𝑣)
𝑐 𝑠
′
𝑦𝑠
′
𝑥 𝑠
′
𝒙′ = (𝑢, 𝑣)
𝑢
𝑣
=
𝑓
𝑝 𝑥
𝑝𝑧
+ 𝑐 𝑥
𝑓
𝑝 𝑦
𝑝 𝑧
+ 𝑐 𝑦
⇔
𝑢
𝑣
1
~
𝑓 0 𝑐 𝑥
0 𝑓 𝑐 𝑦
0 0 1
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
- 12. 内部パラメータ
𝑓: 焦点距離
𝑠: スキュー
𝑎: アスペクト比
𝑐 𝑥, 𝑐 𝑦: 光学中心
𝐊=
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
※歪曲収差パラメータも存在
→キャリブレーションチャートを用いた推定が一般的
MATLAB Calibration Toolbox
OpenCVのcvCalibrateCamera2など
・𝑠 = 0, 𝑎 = 1とし, 𝑐 𝑥, 𝑐 𝑦をそれぞれ画像中心とすることも多い
Bundlerなどはこの仮定を利用している
- 15. カメラの位置姿勢
15
𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
𝒙0 𝒙1
Rotation 𝐑1
and translation 𝒕1
𝒄0 𝒄1
回転行列 𝐑0 = 𝐈
並進ベクトル 𝒕0 = 𝟎
𝒙0~ 𝐊0 𝐑0 𝒕0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
1
= 𝐊0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
𝒙1~ 𝐊1 𝐑1 𝒕1
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
1
- 16. 外部パラメータ
𝐑: 回転行列
𝒕: 並進ベクトル𝐑 𝒕 =
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
→SfM (Structure from Motion) による推定が一般的
-Bundler, VisualSFMなどが有名なソフト
- 18. Structure from Motion
18
2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める
(e.g. five-point algorithm, eight-point algorithm)
SfMのパイプライン
1. 画像から特徴量を抽出し,マッチングを行う
- 19. 2枚での外部パラメータ推定
19
𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
𝒙0 𝒙1
Rotation 𝐑1
and translation 𝒕1
𝒄0 𝒄1
回転行列 𝐑0 = 𝐈
並進ベクトル 𝒕0 = 𝟎
Epipolar constraint: 𝒙 𝟎 𝐄 𝟎𝟏 𝒙 𝟏 = 𝟎 𝑬 = 𝒕 × 𝑹 :essential matrix
{𝒙 𝟎, 𝒙 𝟏}の組が8つ以上あれば解ける
- 20. Structure from Motion
20
2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める
(e.g. five-point algorithm, eight-point algorithm)
3. バンドル調整による再投影誤差の最小化を行う
SfMのパイプライン
1. 画像から特徴量を抽出し,マッチングを行う
- 26. SLAM
• SLAM (Simultaneous Localization and Mapping)
– カメラやセンサを用いて自己位置推定と地図作成
を同時に行うタスク
– RGB-D SLAM, Monocular SLAMなど
Kinect Fusion
PTAM