SlideShare ist ein Scribd-Unternehmen logo
1 von 33
カメラキャリブレーションとSLAM
id:q_tarou
今回の発表内容
1. カメラキャリブレーションとは
2. カメラキャリブレーションの手順
3. カメラキャリブレーションとSLAM
4. 様々な系におけるカメラキャリブレーション
今回の発表内容
1. カメラキャリブレーションとは
2. カメラキャリブレーションの手順
3. カメラキャリブレーションとSLAM
4. 様々な系におけるカメラキャリブレーション
カメラキャリブレーションとは
オブジェクト
カメラモデル
パラメータ 1 パラメータ 2 パラメータ N…
位置(X,Y,Z) 輝度 (R,G,B)
画像
輝度(r,g,b)位置:(x,y)
カメラキャリブレーション
画像の生成過程を把握するため,適切なカメラモデルを定め,
そのカメラモデルが持つパラメータを推定すること.
カメラキャリブレーションの種類
カメラキャリブレーション
幾何学的キャリブレーション
「どこに」
光学的キャリブレーション
「どういう輝度で」
オブジェクト
位置(X,Y,Z) 輝度 (R,G,B)
…
パラメータ 1 パラメータ 2 パラメータ N
カメラモデル
画像
輝度(r,g,b)位置:(x,y)
…
幾何学的カメラキャリブレーション
幾何学的カメラキャリブレーション
内部キャリブレーション
カメラ依存のパラメータを推定
ex. 焦点距離,レンズ歪みなど
外部キャリブレーション
カメラ非依存のパラメータを推定
ex. 位置,姿勢など
パラメータ 1 パラメータ 2 パラメータ N
カメラモデル
…
カメラモデル
• ピンホール
• 魚眼レンズ
• 全天球カメラ
• 厚凸レンズ
• 薄凸レンズ
︙
カメラ構造 投影方法
• 透視投影
• 正射影
• 弱透視投影
• 平行透視投影
• 正距円筒図法
︙
カメラモデル
• 解析したい対象,内容に応じてカメラ構造および投影方法を定める.
• 一般的なカメラを用いて3次元空間と2次元画像平面の幾何学的関係を
解析する場合は,「ピンホールカメラ」x 「透視投影」の組み合わせが
よく用いられる.
ピンホールカメラ
参考:凸レンズ
焦点
凸レンズ
画像平面
画像平面
= 撮像素子が置かれる面
ピンホール
特徴
・レンズに依る効果(ぼけ,歪み)が無い. 焦点距離 f
透視投影
光学中心
=全ての光が通過する点
焦点距離 f
仮想画像平面
特徴
• 対象物を目で見た時と同じような表現が可能.
⇒ 一般的なカメラの投影に近い.
x
y
z
ピンホールカメラ x 透視投影
光学中心
=全ての光が通過する点
焦点距離 f
仮想画像平面
x
y
z
特徴
• レンズに依る効果(ぼけ,歪み)が無い.
• 対象物を目で見た時と同じような表現が可能.
⇒ 一般的なカメラの投影に近い.
仮定
• Z軸と光軸が一致
• 原点が光学中心に一致
世界座標系での座標値
投影過程 0 : 世界座標系 画像座標系
世界座標系 W カメラ座標系
C
投影行列:Projection matrix
画像座標系 I画像座標系での座標値
世界座標系での座標値
投影過程 1:世界座標系 カメラ座標系
世界座標系 W カメラ座標系
C
カメラ座標系での座標値
3x3の回転行列 3x1の並進ベクトル
外部パラメー
タ
(世界座標系 カメラ座標系)
投影過程 2:カメラ座標系 正規化画像座標系
世界座標系 W カメラ座標系
C
正規化画像座標系 N
カメラ座標系での座標値
正規化画像座標系での座標値
の平面
投影過程 3:正規化画像座標系 画像座標系
世界座標系 W カメラ座標系
C
正規化画像座標系での座標値
の平面
正規化画像座標系 N
画像座標系 I
内部パラメータ(行列)
単位はピクセル 単位は三次元座標系のもの (mm, cmなど)
投影過程 まとめ
世界座標系 W カメラ座標系
C
の平面
正規化画像座標系 N
画像座標系 I
世界座標系での座標値
画像座標系での座標値
内部キャリブレーション:内部パラメータ の推定
外部キャリブレーション:外部パラメータ の推定
投影過程 レンズ歪み (正規化画像座標系)
世界座標系 W カメラ座標系
C
の平面
正規化画像座標系 N
画像座標系 I
注:OpenCVで利用されている歪みモデル
歪み無し
歪み有り
歪み係数 カメラ固有なので内部パラメータに含まれる
半径方向の歪み 円周方向の歪み
今回の発表内容
1. カメラキャリブレーションとは
2. カメラキャリブレーションの手順
3. カメラキャリブレーションとSLAM
4. 様々な系におけるカメラキャリブレーション
幾何学的カメラキャリブレーションの手順
1. 幾何学的特性が既知の物体(参照物体)を撮影する.
2. 参照物体の特徴と,その像の特徴を対応付ける.
3. カメラモデルに基づき,特徴の対応関係から各パラメータを
求める.
幾何学的カメラキャリブレーションの手順
(Zhangの手法[4] の場合)
1. 幾何学的特性が既知の物体(参照物体)を撮影する.
1. 参照物体の特徴と,その像の特徴を対応付ける.
2. カメラモデルに基づき,特徴の対応関係から各パラメータを
求める.
参照物体としてチェスボードを利用
特徴としてチェスコーナーの座標値を利用
チェスコーナーの
三次元座標値
チェスコーナーの投影像の
二次元座標値
世界座標系
カメラ座標系[4] Z. Zhang. A flexible new technique for camera calibration, TPAMI, 2000
Zhangの手法:内部キャリブレーション
参照物体をカメラの視野の様々な位置に設置し(3箇所以上),
その投影像から内部パラメータを推定.
チェスコーナーの
三次元座標値チェスコーナーの投影像の
二次元座標値
…
共通の内部パラメータ
用いる関数:cvCalibrateCamera (OpenCV) など.
Zhangの手法:外部キャリブレーション(マルチカメラ)
参照物体をマルチカメラの共有視野に設置し,その投影像から外
部パラメータを推定.
世界座標系
カメラ1
カメラ2
世界座標系-カメラ1
世界座標系-カメラ2
各カメラの外部パラメータ
用いる関数:solvePnP (OpenCV) など.
Zhangの手法:高精度な推定に関するTips
• 観測対象が存在する領域に参照物体を置く
• 参照物体の検出点を利用して各パラメータを最適
化しているので,参照物体を設置した領域で最も
精度が良くなる.
観測対象が存在する領域
• 限りなく平面な参照物体を利用する.
• 参照物体は空間の定規のようなもの.
• 身近で簡単に手に入る平面な物体はPCディスプレイ.
アプリケーション:3次元再構成
世界座標系
カメラ1 カメラ2
被写体
世界座標系
カメラ座標系
正規化画像座標系
画像座標系
投影の過程 3次元再構成
内部パラメータの逆行列をかける
外部パラメータを利用する
今回の発表内容
1. カメラキャリブレーションとは
2. カメラキャリブレーションの手順
3. カメラキャリブレーションとSLAM
4. 様々な系におけるカメラキャリブレーション
外部パラメータ = 位置姿勢?(1/2)
世界座標系 W カメラ座標系
C
を代入すると• 世界座標系の原
点
として,世界座標系の各軸方向の単位ベクトルから
成る行列 は となる.
•
外部パラメータ はカメラ座標系における世界座標系の位置,
は姿勢とみなせる.
外部パラメータ = 位置姿勢?(2/2)
世界座標系 W カメラ座標系
C
外部パラメータ は世界座標系におけるカメラ座標系の位置,
は姿勢とみなせる.(カメラの位置姿勢)
SLAMにおける外部パラメータ
カメラ1-カメラ2:対応点から求めたF(E)行列を分解して を得る.
カメラ3以降:復元した三次元点と対応点からPnP問題を解いて を得る.
シーン
カメラ1
カメラ2
カメラ3
カメラN
…
カメラ1->カメラ2? or カメラ2->カメラ1?
世界->カメラN? or カメラN->世界?,世界座標系はどこに定められている?
外部パラメータ Tips
• 変換の方向を意識する.
• どの座標系からどの座標系への変換か.
(世界->カメラ?,カメラ0->カメラ1?)
• パラメータに変換の方向を添字として書く.
(ex. 世界->カメラの場合, など.)
• 可視化してみる.
• もはや言うまでもないですが.
• 何はともあれまずは可視化のプログラムを書く.
今回の発表内容
1. カメラキャリブレーションとは
2. カメラキャリブレーションの手順
3. カメラキャリブレーションとSLAM
4. 様々な系におけるカメラキャリブレーション
様々なカメラ構成における
カメラキャリブレーション
例1:大規模環境下での
カメラキャリブレーション[5][6]
例2:視野外に存在する参照物
体とのキャリブレーション[7]
[5]Y. Ohta+ Live 3D video in soccer stadium, IJCV, 2007
[6] Homayounfar, N+ Sports Field Localization via Deep Structured Models, CVPR2017
[7] K.Takahashi+, A new mirror-based extrinsic camera calibration using an orthogonality constraint, CVPR2012
様々なデバイスとの
カメラキャリブレーション
例1:プロジェクタ-カメラのキャリ
ブレーション[8]
例2:深度センサ-カメラのキャリブ
レーション[9]
[8] Daniel Moreno+, Simple, Accurate, and Robust Projector-Camera Calibration, 3DIMPVT, 2012.
[9] Weimin Wang+, Reflectance Intensity Assisted Automatic and Accurate Extrinsic Calibration of 3D LiDAR and Panoramic
Camera Using a Printed Chessboard, Remote Sensing, 2017
ピンホール以外のカメラ構造を持つカメラの
カメラキャリブレーション
例1:ローリングシャッター[10]
読み込み開始 読み込み終了
第1行
第2行
第3行
第4行
第5行
第6行
第N-2行
第N-1行
第N行
M列
時間
・・・
・・・
読み込み開始 読み込み終了
第1行
第2行
第3行
第4行
第5行
第6行
第N-2行
第N-1行
第N行
M列
時間
・・・
・・・
(a) グローバルシャッター (b) ローリングシャッター
例2:魚眼レンズ[11]
[10] Oth, L+, Rolling shutter camera calibration, CVPR, 2013.
[11] Kannala, J+, A generic camera model and calibration method for conventional, wide-angle, and sh-eye lenses, 2006
ツール,ライブラリ
• ど定番
• OpenCV
• Camera Calibration Toolbox for Matlab
• バンドルアジャストメント
• Ceres Solver
• http://ceres-solver.org/
• 魚眼
• OCamCalib(Matlab)
• https://sites.google.com/site/scarabotix/ocamcalib-toolbox
• New arrivals
• Surround 360 Calibration
• https://github.com/facebook/Surround360/blob/master/surround360_render
/CALIBRATION.md

Weitere ähnliche Inhalte

Was ist angesagt?

Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Masaya Kaneko
 
ピンホールカメラモデル
ピンホールカメラモデルピンホールカメラモデル
ピンホールカメラモデルShohei Mori
 
20090924 姿勢推定と回転行列
20090924 姿勢推定と回転行列20090924 姿勢推定と回転行列
20090924 姿勢推定と回転行列Toru Tamaki
 
LSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMLSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMEndoYuuki
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説Masaya Kaneko
 
SLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAMSLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAMIwami Kazuya
 
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチMIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチHironobu Fujiyoshi
 
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...Hajime Mihara
 
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...Masaya Kaneko
 
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Satoshi Fujimoto
 
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説Masaya Kaneko
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summaryTakuya Minagawa
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰Teppei Kurita
 

Was ist angesagt? (20)

Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)
 
ピンホールカメラモデル
ピンホールカメラモデルピンホールカメラモデル
ピンホールカメラモデル
 
20090924 姿勢推定と回転行列
20090924 姿勢推定と回転行列20090924 姿勢推定と回転行列
20090924 姿勢推定と回転行列
 
LSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAMLSD-SLAM:Large Scale Direct Monocular SLAM
LSD-SLAM:Large Scale Direct Monocular SLAM
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
G2o
G2oG2o
G2o
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
SLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAMSLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAM
 
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチMIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
 
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...
 
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...
Unsupervised Collaborative Learning of Keyframe Detection and Visual Odometry...
 
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018
 
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
GN-Net: The Gauss-Newton Loss for Deep Direct SLAMの解説
 
Visual slam
Visual slamVisual slam
Visual slam
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
SSII2021 [OS3] 広域環境の3D計測と認識 ~ 人が活動する場のセンシングとモデル化 ~(オーガナイザーによる冒頭の導入)
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summary
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰
 

Ähnlich wie Camera calibration

静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料keima_12
 
Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceishii yasunori
 
20150328 cv関東勉強会 sumisumithパート_v1.3
20150328 cv関東勉強会 sumisumithパート_v1.320150328 cv関東勉強会 sumisumithパート_v1.3
20150328 cv関東勉強会 sumisumithパート_v1.3sumisumith
 
28th CV勉強会@関東 #3
28th CV勉強会@関東 #328th CV勉強会@関東 #3
28th CV勉強会@関東 #3Hiroki Mizuno
 
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...Sho Kagami
 
Online moving camera_background_subtraction
Online moving camera_background_subtractionOnline moving camera_background_subtraction
Online moving camera_background_subtractionDaichi Suzuo
 

Ähnlich wie Camera calibration (8)

静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料
 
Master Thesis
Master ThesisMaster Thesis
Master Thesis
 
Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_face
 
20150328 cv関東勉強会 sumisumithパート_v1.3
20150328 cv関東勉強会 sumisumithパート_v1.320150328 cv関東勉強会 sumisumithパート_v1.3
20150328 cv関東勉強会 sumisumithパート_v1.3
 
28th CV勉強会@関東 #3
28th CV勉強会@関東 #328th CV勉強会@関東 #3
28th CV勉強会@関東 #3
 
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...
CVPR2019 読み会「Understanding the Limitations of CNN-based Absolute Camera Pose ...
 
JEITA4602B
JEITA4602BJEITA4602B
JEITA4602B
 
Online moving camera_background_subtraction
Online moving camera_background_subtractionOnline moving camera_background_subtraction
Online moving camera_background_subtraction
 

Camera calibration