SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたTakuya Minagawa
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code ReadingTakuya Minagawa
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会nonane
 
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Satoshi Fujimoto
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説Masaya Kaneko
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Masaya Kaneko
 
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~SSII
 
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」Naoya Chiba
 
Neural scene representation and rendering の解説(第3回3D勉強会@関東)
Neural scene representation and rendering の解説(第3回3D勉強会@関東)Neural scene representation and rendering の解説(第3回3D勉強会@関東)
Neural scene representation and rendering の解説(第3回3D勉強会@関東)Masaya Kaneko
 
ラドン変換を用いた消失点検出による射影歪み補正の考察
ラドン変換を用いた消失点検出による射影歪み補正の考察ラドン変換を用いた消失点検出による射影歪み補正の考察
ラドン変換を用いた消失点検出による射影歪み補正の考察hasegawamakoto
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representation20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representationTakuya Minagawa
 
Introduction to YOLO detection model
Introduction to YOLO detection modelIntroduction to YOLO detection model
Introduction to YOLO detection modelWEBFARMER. ltd.
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化TaroSuzuki15
 
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
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせTakuya Minagawa
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰Teppei Kurita
 

What's hot (20)

ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading20180527 ORB SLAM Code Reading
20180527 ORB SLAM Code Reading
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 
Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018Open3DでSLAM入門 PyCon Kyushu 2018
Open3DでSLAM入門 PyCon Kyushu 2018
 
ORB-SLAMの手法解説
ORB-SLAMの手法解説ORB-SLAMの手法解説
ORB-SLAMの手法解説
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説
 
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~
SSII2019TS: プロジェクタ・カメラシステムが変わる! ~時間同期の制御で広がる応用~
 
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
論文紹介「PointNetLK: Robust & Efficient Point Cloud Registration Using PointNet」
 
Neural scene representation and rendering の解説(第3回3D勉強会@関東)
Neural scene representation and rendering の解説(第3回3D勉強会@関東)Neural scene representation and rendering の解説(第3回3D勉強会@関東)
Neural scene representation and rendering の解説(第3回3D勉強会@関東)
 
ラドン変換を用いた消失点検出による射影歪み補正の考察
ラドン変換を用いた消失点検出による射影歪み補正の考察ラドン変換を用いた消失点検出による射影歪み補正の考察
ラドン変換を用いた消失点検出による射影歪み補正の考察
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representation20190706cvpr2019_3d_shape_representation
20190706cvpr2019_3d_shape_representation
 
Introduction to YOLO detection model
Introduction to YOLO detection modelIntroduction to YOLO detection model
Introduction to YOLO detection model
 
複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化複数のGNSSを用いたポーズグラフ最適化
複数のGNSSを用いたポーズグラフ最適化
 
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...
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
 
Structured Light 技術俯瞰
Structured Light 技術俯瞰Structured Light 技術俯瞰
Structured Light 技術俯瞰
 

Similar to 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
 

Similar to 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