SlideShare a Scribd company logo
1 of 31
第28回コンピュータビジョン勉強会@関東
コンピュータビジョン最先端ガイド5
第2章 複数画像からの三次元復元
#2 カメラパラメータ推定
東京大学 情報理工M1
伊神 大貴<@_Nonane_>
自己紹介
• @ketsumedo_yarouの手下その2
• 3次元の研究をしているという?
– していない
• L0-normの最適化をごりごりしています
– 全ての非線形関数を生まれる前に消し去りたい
ステレオによる3次元復元
3
Depth?
ステレオによる3次元復元
4
Depth
ステレオによる3次元復元
5
Depth
点のマッチングとカメラの位置姿勢
から3次元復元ができる
カメラパラメータ
スクリーン座標 ワールド座標
𝒙 = 𝐊 𝐑 𝒕 𝒑
𝒖
𝒗
𝟏
~
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
𝒑 𝒙
𝒑 𝒚
𝒑 𝒛
𝟏
カメラ内部行列
DOF: 5
カメラ外部行列
DoF: 6
カメラパラメータ
カメラ内部行列
DOF: 5
スクリーン座標
カメラ外部行列
DoF: 6
ワールド座標
𝒙 = 𝐊 𝐑 𝒕 𝒑
𝒖
𝒗
𝟏
~
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
𝒑 𝒙
𝒑 𝒚
𝒑 𝒛
𝟏
焦点距離など,カメラ
固有のパラメータ
カメラの位置,姿勢を
示すパラメータ
透視投影
𝑐 𝑠
𝑦𝑠
𝑓
𝑥 𝑠
𝑦𝑐
𝑥 𝑐
𝑧 𝑐
画像面
透視投影
𝑐 𝑠
𝑦𝑠
𝑓
𝑥 𝑠
𝑦𝑐
𝑥 𝑐
𝑧 𝑐
画像面
𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥)
𝒙 = (𝑢, 𝑣)
透視投影
𝑐 𝑠
𝑦𝑠
𝑓
𝑥 𝑠
𝑦𝑐
𝑥 𝑐
𝑧 𝑐
画像面
𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥)
𝒙 = (𝑢, 𝑣)
𝑐 𝑠
′
𝑦𝑠
′
𝑥 𝑠
′
𝒙′ = (𝑢, 𝑣)
透視投影
𝑐 𝑠
𝑦𝑠
𝑓
𝑥 𝑠
𝑦𝑐
𝑥 𝑐
𝑧 𝑐
画像面
𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥)
𝒙 = (𝑢, 𝑣)
𝑐 𝑠
′
𝑦𝑠
′
𝑥 𝑠
′
𝒙′ = (𝑢, 𝑣)
𝑢
𝑣
=
𝑓
𝑝 𝑥
𝑝𝑧
+ 𝑐 𝑥
𝑓
𝑝 𝑦
𝑝 𝑧
+ 𝑐 𝑦
⇔
𝑢
𝑣
1
~
𝑓 0 𝑐 𝑥
0 𝑓 𝑐 𝑦
0 0 1
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
内部パラメータ
𝑓: 焦点距離
𝑠: スキュー
𝑎: アスペクト比
𝑐 𝑥, 𝑐 𝑦: 光学中心
𝐊=
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
※歪曲収差パラメータも存在
→キャリブレーションチャートを用いた推定が一般的
MATLAB Calibration Toolbox
OpenCVのcvCalibrateCamera2など
・𝑠 = 0, 𝑎 = 1とし, 𝑐 𝑥, 𝑐 𝑦をそれぞれ画像中心とすることも多い
Bundlerなどはこの仮定を利用している
カメラパラメータ
カメラ内部行列
DOF: 5
スクリーン座標
カメラ外部行列
DoF: 6
ワールド座標
𝒙 = 𝐊 𝐑 𝒕 𝒑
𝒖
𝒗
𝟏
~
𝑓 𝑠 𝑐 𝑥
0 𝑎𝑓 𝑐 𝑦
0 0 1
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
𝒑 𝒙
𝒑 𝒚
𝒑 𝒛
𝟏
焦点距離など,カメラ
固有のパラメータ
カメラの位置,姿勢を
示すパラメータ
カメラの位置姿勢
14
𝒙0
𝒄0
回転行列 𝐑0 = 𝐈
並進ベクトル 𝒕0 = 𝟎
𝒙0~ 𝐊0 𝐑0 𝒕0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
1
= 𝐊0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
カメラの位置姿勢
15
𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
𝒙0 𝒙1
Rotation 𝐑1
and translation 𝒕1
𝒄0 𝒄1
回転行列 𝐑0 = 𝐈
並進ベクトル 𝒕0 = 𝟎
𝒙0~ 𝐊0 𝐑0 𝒕0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
1
= 𝐊0
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
𝒙1~ 𝐊1 𝐑1 𝒕1
𝑝 𝑥
𝑝 𝑦
𝑝 𝑧
1
外部パラメータ
𝐑: 回転行列
𝒕: 並進ベクトル𝐑 𝒕 =
𝑅11 𝑅12 𝑅13 𝑡 𝑥
𝑅21 𝑅22 𝑅23 𝑡 𝑦
𝑅31 𝑅32 𝑅33 𝑡 𝑧
→SfM (Structure from Motion) による推定が一般的
-Bundler, VisualSFMなどが有名なソフト
Structure from Motion
17
SfMのパイプライン
1. 画像から特徴量を抽出し,マッチングを行う
Structure from Motion
18
2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める
(e.g. five-point algorithm, eight-point algorithm)
SfMのパイプライン
1. 画像から特徴量を抽出し,マッチングを行う
2枚での外部パラメータ推定
19
𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
𝒙0 𝒙1
Rotation 𝐑1
and translation 𝒕1
𝒄0 𝒄1
回転行列 𝐑0 = 𝐈
並進ベクトル 𝒕0 = 𝟎
Epipolar constraint: 𝒙 𝟎 𝐄 𝟎𝟏 𝒙 𝟏 = 𝟎 𝑬 = 𝒕 × 𝑹 :essential matrix
{𝒙 𝟎, 𝒙 𝟏}の組が8つ以上あれば解ける
Structure from Motion
20
2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める
(e.g. five-point algorithm, eight-point algorithm)
3. バンドル調整による再投影誤差の最小化を行う
SfMのパイプライン
1. 画像から特徴量を抽出し,マッチングを行う
バンドル調整
21
: カメラパラメータ
: 点の3次元座標
: 点のセンサー座標
: 再投影されたセンサー座標
argmin
𝒑 𝑖,𝒒 𝑗
𝑢𝑖𝑗 − 𝑢 𝒑𝑖, 𝒒 𝑗
2
𝒑𝑖
𝒒 𝑗
𝒖𝒊𝑗
𝒖𝒊𝑗
再投影誤差の最小化
SfMのソフトウェア
• Bundler
– 最も有名なオープンソースのSfMソフトウェア
– やや古い
• Photosynth, Autodesk 123D Catch, Arc3D
– SfMを行うWebサービス
– 使いやすいがパラメータや途中経過が見えない
SfMのソフトウェア
• Bundler
– 最も有名なオープンソースのSfMソフトウェア
– やや古い
• Photosynth, Autodesk 123D Catch, Arc3D
– SfMを行うWebサービス
– 使いやすいがパラメータや途中経過が見えない
• VisualSFM
VisualSFM
VisualSFMによる復元結果
Exif有り Exif無し
焦点距離の初期値としてExifを利用しており,結果に
大きく影響する
-Bundlerも同様
SLAM
• SLAM (Simultaneous Localization and Mapping)
– カメラやセンサを用いて自己位置推定と地図作成
を同時に行うタスク
– RGB-D SLAM, Monocular SLAMなど
Kinect Fusion
PTAM
SLAMの基本
27
PTAMなど
1. Map initialization
-ステレオなどによる
SLAMの基本
28
PTAMなど
1. Map initialization
-ステレオなどによる
2. Tracking
-マップの点を新しい入力画像に投影する
-再投影誤差を最小化することでカメラの位置姿勢を推定する
SLAMの基本
29
PTAMなど
1. Map initialization
-ステレオなどによる
2. Tracking
3. Mapping
-マップの点を新しい入力画像に投影する
-再投影誤差を最小化することでカメラの位置姿勢を推定する
-三角測量の原理に基づきマップに点を追加する
-バンドル調整によるリファインメントを行う
LSD-SLAM
30
LSD-SLAM
31
-Monocular SLAMの最新論文
-特徴点ではなく画像全てを利用
Large-Scale Direct Monocular SLAM
-Semi-denseデプスマップ
-CPUでのリアルタイム動作
-オープンソース

More Related Content

What's hot

Go-ICP: グローバル最適(Globally optimal) なICPの解説
Go-ICP: グローバル最適(Globally optimal) なICPの解説Go-ICP: グローバル最適(Globally optimal) なICPの解説
Go-ICP: グローバル最適(Globally optimal) なICPの解説
Yusuke Sekikawa
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
takaya imai
 

What's hot (20)

SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summary
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
20160724_cv_sfm_revisited
20160724_cv_sfm_revisited20160724_cv_sfm_revisited
20160724_cv_sfm_revisited
 
Go-ICP: グローバル最適(Globally optimal) なICPの解説
Go-ICP: グローバル最適(Globally optimal) なICPの解説Go-ICP: グローバル最適(Globally optimal) なICPの解説
Go-ICP: グローバル最適(Globally optimal) なICPの解説
 
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
SSII2021 [TS1] Visual SLAM ~カメラ幾何の基礎から最近の技術動向まで~
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)SLAMチュートリアル大会資料(ORB-SLAM)
SLAMチュートリアル大会資料(ORB-SLAM)
 
Lucas kanade法について
Lucas kanade法についてLucas kanade法について
Lucas kanade法について
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
 
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
 
SLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAMSLAM勉強会(3) LSD-SLAM
SLAM勉強会(3) LSD-SLAM
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 

Viewers also liked

Viewers also liked (13)

第28回コンピュータビジョン勉強会@関東(kanejaki担当分)
第28回コンピュータビジョン勉強会@関東(kanejaki担当分)第28回コンピュータビジョン勉強会@関東(kanejaki担当分)
第28回コンピュータビジョン勉強会@関東(kanejaki担当分)
 
cvsaisentan5 Multi View Stereo 3.3
cvsaisentan5 Multi View Stereo 3.3cvsaisentan5 Multi View Stereo 3.3
cvsaisentan5 Multi View Stereo 3.3
 
Cvim saisentan-5-2-tomoaki
Cvim saisentan-5-2-tomoakiCvim saisentan-5-2-tomoaki
Cvim saisentan-5-2-tomoaki
 
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
 
フォトンマッピング入門
フォトンマッピング入門フォトンマッピング入門
フォトンマッピング入門
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
 
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチMIRU2013チュートリアル:SIFTとそれ以降のアプローチ
MIRU2013チュートリアル:SIFTとそれ以降のアプローチ
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像
 
2008-12-07_PTAM_Kansai.AR
2008-12-07_PTAM_Kansai.AR2008-12-07_PTAM_Kansai.AR
2008-12-07_PTAM_Kansai.AR
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
T TIME 滞在時間割キャンペーン(第4回販促会議企画コンペティション)
T TIME 滞在時間割キャンペーン(第4回販促会議企画コンペティション)T TIME 滞在時間割キャンペーン(第4回販促会議企画コンペティション)
T TIME 滞在時間割キャンペーン(第4回販促会議企画コンペティション)
 

Similar to 関東コンピュータビジョン勉強会

Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_face
ishii yasunori
 

Similar to 関東コンピュータビジョン勉強会 (13)

Camera calibration
Camera calibrationCamera calibration
Camera calibration
 
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 ...
 
Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_face
 
静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料静岡Developers勉強会コンピュータビジョンvol4発表用資料
静岡Developers勉強会コンピュータビジョンvol4発表用資料
 
nagata b
nagata bnagata b
nagata b
 
20190825 vins mono
20190825 vins mono20190825 vins mono
20190825 vins mono
 
論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)
 
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
Inside-Outカメラからの3次元Scan Pathとシーン構造の復元
 
関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)
 
2016.04.27
2016.04.272016.04.27
2016.04.27
 
Slideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from videoSlideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from video
 
20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera20161203 cv 3_d_recon_tracking_eventcamera
20161203 cv 3_d_recon_tracking_eventcamera
 
Tech art 20170315
Tech art 20170315Tech art 20170315
Tech art 20170315
 

関東コンピュータビジョン勉強会