SlideShare a Scribd company logo
1 of 15
Download to read offline
Bundle Adjustment
(10.2)
최종호
2019.03.17
Feature Based Visual Odometry (Recap - 7장)
• Relative camera pose from 2 views:
• Fundamental matrix
• Essential matrix
2* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf
Feature Based Visual Odometry (Recap - 7장)
• 3D Points:
• Triangulation
3* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf
Feature Based Visual Odometry (Recap - 7장)
• Subsequent views:
• Bundle adjustment - 모든 카메라 포즈와 3차원 점을 조정(최적화)한다.
4* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf
'bundles’ of light rays
최적화하고자 하는 BA Cost Function은?
• Total reprojection error를 줄이는 방향으로 최적화하라.
5
𝑧𝑖𝑗
𝜉𝑖
zij
𝑃𝑗
reprojection error
ℎ 𝜉 , 𝑃
i 번째 카메라
j 번째 3차원 점
관측 모델
(Projection)
minimize
: 비선형 모델 (non-linear optimization 활용)
- 초기값에서 시작하여,
- cost function을 줄이는 방향으로,
- 점진적 방정식을 통해 증가분(Δ𝜉, Δ𝑃) 계산
증가분(Δ) 계산을 위한 점진적 방정식은?
• Cost function에서 최적화할 변수:
6
식 (10.42)에 증가분(Δ𝜉, Δ𝑃)을 추가
𝐹: 현재 cost function에 카메라 포즈(𝜉)로 편미분
𝐸: 현재 cost function에 3차원 점(𝑃)로 편미분
이 값을 줄일 수 있는 증가분을 계산
근데 어떻게 계산?
Gauss-Newtown 또는 Levenberg-Marquardt 방법을 활용하면 점진적 방정식(10.48) 계산 가능
식 (10.48)에 대한 유도는 6.2 절 참고
𝐹 와 𝐸에 대한 유도는 7.7.3 절 참고
𝐻 = 𝐽 𝑇 𝐽 𝐻 = 𝐽 𝑇 𝐽 + 𝜆𝐼
점진적 방정식
H(Hessian Matrix)는 어떤 모양?
• 예) Gauss-Newton
7
𝐉 =
𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏
𝜕𝐑
𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏
𝜕𝐭
𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏
𝜕𝐏
3 3 3
2 (u,v) 포즈와 포인트가 한 개씩 일 때
F E
포즈와 포인트가 여러 개씩 일 때희소성(sparsity)
: 행렬의 값이 대부분 0인 경우
: 3차원 점 𝑃𝑗가 로봇 위치 𝜉𝑖에서 보이는데
i 번째 카메라 포즈와 j 번째 랜드마크에서만 보이고
나머지 변수의 미분은 모두 0이라는 사실을 보여준다.
H(Hessian Matrix)는 어떤 모양?
• 예) Gauss-Newton
8
H의 희소성은 J로부터 야기
𝐽𝑖𝑗가 i, j 에서 0이 아닌 블록일 때,
𝐻는 (i,i), (i,j), (j,i), (j,j)에 위치한 블록만 0 이 아닌 값을 갖는다.
Camera Point
Camera
Point
Camera Point
𝐻11은 camera-camera로 구성된 대각 블록 행렬
𝐻22은 point-point로 구성된 대각 블록 행렬
𝐻12/𝐻21은 observations에 따라 sparse 또는 dense 행렬
6x6 블록
3x3 블록
H(Hessian Matrix)는 어떤 모양?
• 예) Gauss-Newton
9* 그림: Robotics - Perception, Coursera
Goal: Δx = 𝐻−1g
Main computational
bottle neck
In real world,
일반적으로 랜드마크의 수가 카메라 포즈보다 훨씬 크다!
Large-scale 최적화 문제를
헤쳐 나갈 전략이 필요하다!
연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용?
• 점진적 방정식에 대응하는 선형시스템:
• 연산량 줄이기 위한 과정:
1) 먼저 Δ𝑥 𝑐 계산 (전진 대입; forward substitution)
2) 이후 Δ𝑥 𝑃 계산 (후진 대입; backward substitution)
10
block triangular matrix factorization
1st Strategy
연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용?
• Δ𝑥 𝑐 (camera poses 증가분) 계산:
11
block triangular matrix factorization
선형시스템에서 𝐸를 소거하기 위해
양변에 행렬 곱 (forward substitution)
marginalization
첫 번째 방정식을 풀면
Δ𝑥 𝑃가 소거된 Δ𝑥 𝑐에 대한 방정식을 유도
Schur complement of C
(Sparse and symmetric positive definite matrix)
그런데, 𝐶−1
을 계산하는 건 쉬운가?
YES! C 행렬은 대각 블록 행렬이며 각 블록은 3x3 행렬
대각 블록 행렬의 역행렬을 계산할 때는 각 블록별로 독립적인 inverse 연산 가능
일반 블록 행렬의 역행렬을 계산하는 것보다 상대적으로 쉽다.
1st Strategy
연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용?
• Δ𝑥 𝑃 (3D points 증가분) 계산:
12
block triangular matrix factorization
두 번째 방정식을 풀면
Δ𝑥 𝑃에 대한 방정식을 유도
Already computed
이미 계산한 Δ𝑥 𝑐를 활용해
Δ𝑥 𝑃를 계산 (backward substitution)
1st Strategy
슈어 보수로 얻은 선형 방정식을 어떻게 계산?
• 전통적인 numerical matrix analysis 활용:
• LU factorization → 𝐴 = 𝐿𝑈
• Cholesky factorization → 𝐴 = 𝐿𝐿 𝑇
(if 𝐴 is symmetric positive definite, we can further set 𝐷 = 1)
• Standard decomposition method for almost all unconstrained optimizations
13
Ax = b
(including bundle adjustment)
2nd Strategy
효율적 최적화를 위한 Robust Cost Function 설계?
• Cost function:
• 문제) 주어진 데이터가 잘못된 매칭 정보(outlier)일 경우, 𝑒𝑖𝑗 값이 지나치게 커질 수 있다!
• Robust cost function:
• 해결) Robust kernel(Huber, Cauchy, …)을 활용하여 error가 큰 데이터의 영향력을 줄일 수 있다!
14
𝛿
Huber Kernel
3rd Strategy
Q & A
Thank you
15

More Related Content

What's hot

3D Rigid Body Transformation for SLAM
3D Rigid Body Transformation for SLAM3D Rigid Body Transformation for SLAM
3D Rigid Body Transformation for SLAMEdwardIm1
 
Deep deterministic policy gradient
Deep deterministic policy gradientDeep deterministic policy gradient
Deep deterministic policy gradientSlobodan Blazeski
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 ISungbin Lim
 
Deep Learning for Structure-from-Motion (SfM)
Deep Learning for Structure-from-Motion (SfM)Deep Learning for Structure-from-Motion (SfM)
Deep Learning for Structure-from-Motion (SfM)PetteriTeikariPhD
 
PRML Chapter 9
PRML Chapter 9PRML Chapter 9
PRML Chapter 9Sunwoo Kim
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算sleepy_yoshi
 
Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusionDong-Won Shin
 
머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithmJungkyu Lee
 
Chapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsChapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsKyeongUkJang
 
Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Kiho Hong
 
Implementation of modified goertzel algorithm using fpga
Implementation of modified goertzel algorithm using fpgaImplementation of modified goertzel algorithm using fpga
Implementation of modified goertzel algorithm using fpgaIAEME Publication
 
Understanding neural radiance fields
Understanding neural radiance fieldsUnderstanding neural radiance fields
Understanding neural radiance fieldsVarun Bhaseen
 
文献紹介:X3D: Expanding Architectures for Efficient Video Recognition
文献紹介:X3D: Expanding Architectures for Efficient Video Recognition文献紹介:X3D: Expanding Architectures for Efficient Video Recognition
文献紹介:X3D: Expanding Architectures for Efficient Video RecognitionToru Tamaki
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standardanuragjagetiya
 
FlameWorks GTC 2014
FlameWorks GTC 2014FlameWorks GTC 2014
FlameWorks GTC 2014Simon Green
 
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
 

What's hot (20)

3D Rigid Body Transformation for SLAM
3D Rigid Body Transformation for SLAM3D Rigid Body Transformation for SLAM
3D Rigid Body Transformation for SLAM
 
Deep deterministic policy gradient
Deep deterministic policy gradientDeep deterministic policy gradient
Deep deterministic policy gradient
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
 
Deep Learning for Structure-from-Motion (SfM)
Deep Learning for Structure-from-Motion (SfM)Deep Learning for Structure-from-Motion (SfM)
Deep Learning for Structure-from-Motion (SfM)
 
PRML Chapter 9
PRML Chapter 9PRML Chapter 9
PRML Chapter 9
 
CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算CVIM#11 3. 最小化のための数値計算
CVIM#11 3. 最小化のための数値計算
 
Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusion
 
머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm
 
Distributed ADMM
Distributed ADMMDistributed ADMM
Distributed ADMM
 
Chapter 13 Linear Factor Models
Chapter 13 Linear Factor ModelsChapter 13 Linear Factor Models
Chapter 13 Linear Factor Models
 
Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)Variational inference intro. (korean ver.)
Variational inference intro. (korean ver.)
 
Implementation of modified goertzel algorithm using fpga
Implementation of modified goertzel algorithm using fpgaImplementation of modified goertzel algorithm using fpga
Implementation of modified goertzel algorithm using fpga
 
Understanding neural radiance fields
Understanding neural radiance fieldsUnderstanding neural radiance fields
Understanding neural radiance fields
 
文献紹介:X3D: Expanding Architectures for Efficient Video Recognition
文献紹介:X3D: Expanding Architectures for Efficient Video Recognition文献紹介:X3D: Expanding Architectures for Efficient Video Recognition
文献紹介:X3D: Expanding Architectures for Efficient Video Recognition
 
MPEG video compression standard
MPEG video compression standardMPEG video compression standard
MPEG video compression standard
 
FlameWorks GTC 2014
FlameWorks GTC 2014FlameWorks GTC 2014
FlameWorks GTC 2014
 
Lec17 sparse signal processing & applications
Lec17 sparse signal processing & applicationsLec17 sparse signal processing & applications
Lec17 sparse signal processing & applications
 
Temporal Segment Network
Temporal Segment NetworkTemporal Segment Network
Temporal Segment Network
 
K-means and GMM
K-means and GMMK-means and GMM
K-means and GMM
 
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...
 

Similar to Bundle Adjustment

8. Logistic Regression
8. Logistic Regression8. Logistic Regression
8. Logistic RegressionJungkyu Lee
 
Ray-triangle intersection
Ray-triangle intersectionRay-triangle intersection
Ray-triangle intersection동환 김
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
이정근_project_로봇비전시스템.pdf
이정근_project_로봇비전시스템.pdf이정근_project_로봇비전시스템.pdf
이정근_project_로봇비전시스템.pdftangtang1026
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningSang Jun Lee
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersJinho Lee
 
GameMath-Chapter 09 가시성판단
GameMath-Chapter 09 가시성판단GameMath-Chapter 09 가시성판단
GameMath-Chapter 09 가시성판단Mark Choi
 
Direct Sparse Odometry (DSO) Review
Direct Sparse Odometry (DSO) ReviewDirect Sparse Odometry (DSO) Review
Direct Sparse Odometry (DSO) ReviewEdwardIm1
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfHo Jeong Im
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised LearningSang Jun Lee
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기라한사 아
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지jdo
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basicsJinho Lee
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogoodS.Good Kim
 

Similar to Bundle Adjustment (20)

8. Logistic Regression
8. Logistic Regression8. Logistic Regression
8. Logistic Regression
 
Ray-triangle intersection
Ray-triangle intersectionRay-triangle intersection
Ray-triangle intersection
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
이정근_project_로봇비전시스템.pdf
이정근_project_로봇비전시스템.pdf이정근_project_로봇비전시스템.pdf
이정근_project_로봇비전시스템.pdf
 
Lecture 3: Unsupervised Learning
Lecture 3: Unsupervised LearningLecture 3: Unsupervised Learning
Lecture 3: Unsupervised Learning
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
Auto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-EncodersAuto-Encoders and Variational Auto-Encoders
Auto-Encoders and Variational Auto-Encoders
 
GameMath-Chapter 09 가시성판단
GameMath-Chapter 09 가시성판단GameMath-Chapter 09 가시성판단
GameMath-Chapter 09 가시성판단
 
Direct Sparse Odometry (DSO) Review
Direct Sparse Odometry (DSO) ReviewDirect Sparse Odometry (DSO) Review
Direct Sparse Odometry (DSO) Review
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdf
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
2016 UCPC 풀이
2016 UCPC 풀이2016 UCPC 풀이
2016 UCPC 풀이
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 

Recently uploaded

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and AdoptionSeung-chan Baeg
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Wonjun Hwang
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'Hyundai Motor Group
 

Recently uploaded (7)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 

Bundle Adjustment

  • 2. Feature Based Visual Odometry (Recap - 7장) • Relative camera pose from 2 views: • Fundamental matrix • Essential matrix 2* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf
  • 3. Feature Based Visual Odometry (Recap - 7장) • 3D Points: • Triangulation 3* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf
  • 4. Feature Based Visual Odometry (Recap - 7장) • Subsequent views: • Bundle adjustment - 모든 카메라 포즈와 3차원 점을 조정(최적화)한다. 4* 그림: http://www.cvg.ethz.ch/teaching/3dvision/2018/slides/class06eth18_annotated.pdf 'bundles’ of light rays
  • 5. 최적화하고자 하는 BA Cost Function은? • Total reprojection error를 줄이는 방향으로 최적화하라. 5 𝑧𝑖𝑗 𝜉𝑖 zij 𝑃𝑗 reprojection error ℎ 𝜉 , 𝑃 i 번째 카메라 j 번째 3차원 점 관측 모델 (Projection) minimize : 비선형 모델 (non-linear optimization 활용) - 초기값에서 시작하여, - cost function을 줄이는 방향으로, - 점진적 방정식을 통해 증가분(Δ𝜉, Δ𝑃) 계산
  • 6. 증가분(Δ) 계산을 위한 점진적 방정식은? • Cost function에서 최적화할 변수: 6 식 (10.42)에 증가분(Δ𝜉, Δ𝑃)을 추가 𝐹: 현재 cost function에 카메라 포즈(𝜉)로 편미분 𝐸: 현재 cost function에 3차원 점(𝑃)로 편미분 이 값을 줄일 수 있는 증가분을 계산 근데 어떻게 계산? Gauss-Newtown 또는 Levenberg-Marquardt 방법을 활용하면 점진적 방정식(10.48) 계산 가능 식 (10.48)에 대한 유도는 6.2 절 참고 𝐹 와 𝐸에 대한 유도는 7.7.3 절 참고 𝐻 = 𝐽 𝑇 𝐽 𝐻 = 𝐽 𝑇 𝐽 + 𝜆𝐼 점진적 방정식
  • 7. H(Hessian Matrix)는 어떤 모양? • 예) Gauss-Newton 7 𝐉 = 𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏 𝜕𝐑 𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏 𝜕𝐭 𝜕𝐡 𝛏 𝐑, 𝐭 , 𝐏 𝜕𝐏 3 3 3 2 (u,v) 포즈와 포인트가 한 개씩 일 때 F E 포즈와 포인트가 여러 개씩 일 때희소성(sparsity) : 행렬의 값이 대부분 0인 경우 : 3차원 점 𝑃𝑗가 로봇 위치 𝜉𝑖에서 보이는데 i 번째 카메라 포즈와 j 번째 랜드마크에서만 보이고 나머지 변수의 미분은 모두 0이라는 사실을 보여준다.
  • 8. H(Hessian Matrix)는 어떤 모양? • 예) Gauss-Newton 8 H의 희소성은 J로부터 야기 𝐽𝑖𝑗가 i, j 에서 0이 아닌 블록일 때, 𝐻는 (i,i), (i,j), (j,i), (j,j)에 위치한 블록만 0 이 아닌 값을 갖는다. Camera Point Camera Point Camera Point 𝐻11은 camera-camera로 구성된 대각 블록 행렬 𝐻22은 point-point로 구성된 대각 블록 행렬 𝐻12/𝐻21은 observations에 따라 sparse 또는 dense 행렬 6x6 블록 3x3 블록
  • 9. H(Hessian Matrix)는 어떤 모양? • 예) Gauss-Newton 9* 그림: Robotics - Perception, Coursera Goal: Δx = 𝐻−1g Main computational bottle neck In real world, 일반적으로 랜드마크의 수가 카메라 포즈보다 훨씬 크다! Large-scale 최적화 문제를 헤쳐 나갈 전략이 필요하다!
  • 10. 연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용? • 점진적 방정식에 대응하는 선형시스템: • 연산량 줄이기 위한 과정: 1) 먼저 Δ𝑥 𝑐 계산 (전진 대입; forward substitution) 2) 이후 Δ𝑥 𝑃 계산 (후진 대입; backward substitution) 10 block triangular matrix factorization 1st Strategy
  • 11. 연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용? • Δ𝑥 𝑐 (camera poses 증가분) 계산: 11 block triangular matrix factorization 선형시스템에서 𝐸를 소거하기 위해 양변에 행렬 곱 (forward substitution) marginalization 첫 번째 방정식을 풀면 Δ𝑥 𝑃가 소거된 Δ𝑥 𝑐에 대한 방정식을 유도 Schur complement of C (Sparse and symmetric positive definite matrix) 그런데, 𝐶−1 을 계산하는 건 쉬운가? YES! C 행렬은 대각 블록 행렬이며 각 블록은 3x3 행렬 대각 블록 행렬의 역행렬을 계산할 때는 각 블록별로 독립적인 inverse 연산 가능 일반 블록 행렬의 역행렬을 계산하는 것보다 상대적으로 쉽다. 1st Strategy
  • 12. 연산량 줄이기 위해 슈어 보수(Schur Complement)를 활용? • Δ𝑥 𝑃 (3D points 증가분) 계산: 12 block triangular matrix factorization 두 번째 방정식을 풀면 Δ𝑥 𝑃에 대한 방정식을 유도 Already computed 이미 계산한 Δ𝑥 𝑐를 활용해 Δ𝑥 𝑃를 계산 (backward substitution) 1st Strategy
  • 13. 슈어 보수로 얻은 선형 방정식을 어떻게 계산? • 전통적인 numerical matrix analysis 활용: • LU factorization → 𝐴 = 𝐿𝑈 • Cholesky factorization → 𝐴 = 𝐿𝐿 𝑇 (if 𝐴 is symmetric positive definite, we can further set 𝐷 = 1) • Standard decomposition method for almost all unconstrained optimizations 13 Ax = b (including bundle adjustment) 2nd Strategy
  • 14. 효율적 최적화를 위한 Robust Cost Function 설계? • Cost function: • 문제) 주어진 데이터가 잘못된 매칭 정보(outlier)일 경우, 𝑒𝑖𝑗 값이 지나치게 커질 수 있다! • Robust cost function: • 해결) Robust kernel(Huber, Cauchy, …)을 활용하여 error가 큰 데이터의 영향력을 줄일 수 있다! 14 𝛿 Huber Kernel 3rd Strategy
  • 15. Q & A Thank you 15