SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
第4回 3D勉強会@関東
~画像を用いた3Dモデリングの基礎から応用まで~
Visual SLAM: Why Bundle Adjust?
東京大学 相澤研究室所属
M1 金子 真也 (@syinari0123)
1
自己紹介
• 氏名
– 金子 真也 (かねこ まさや)
• 所属
– 東京大学大学院 学際情報学府 相澤研 M1
• Recently
– 2018年5月-8月 DeNA アルバイト (SFM)
– 2018年8月-9月 Sony Internship (SLAM)
– 2018年9月- 産総研 Research Assistant
• 深層学習やVisual SLAMと戯れています
• 就活に向けて情報収集中なのでSLAM関連でおすすめの企業があり
ましたらぜひ教えてください
まさや
(@syinari0123)
2
本論文
• Visual SLAM: Why Bundle Adjust?
– 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid
– 採択会議: ICRA2019 (arXivには2019/2/11投稿)
Andrew Davison 大先生も絶賛
3
本論文 (おまけ)
• Visual SLAM: Why Bundle Adjust?
– 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid
– 採択会議: ICRA2019 (arXivには2019/2/11投稿)
一番最初のVisual SLAMである
MonoSLAM [Davison+, PAMI’07]
のメンバーの一人
[1] A. J. Davison, I. D. Reid, N. M. Molton, and O. Stasse, “MonoSLAM: real-time single camera SLAM,” IEEE TPAMI, vol. 29,
no. 6, pp. 1– 16, 2007
4
本論文 (おまけ)
• Visual SLAM: Why Bundle Adjust?
– 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid
– 採択会議: ICRA2019 (arXivには2019/2/11投稿)
[1] H. Strasdat, J. M. M. Montiel, and A. J. Davison, “Visual SLAM: Why Filter?” Image and Vision Computing, vol. 30, no. 2,
pp. 65–77, 2012
5
どのようなものか?
• 新しい最適化手法のVSLAMを提案 (L-infinity SLAM)
– 従来の特徴点ベースのVSLAMよりシンプルでロバスト
– 実用化には至っていなかった要素技術で実践的なVSLAMの基礎
を実現した点が今回の貢献
6
従来のVSLAM (BA-SLAM)
• ORB-SLAM [Mur-Artal+, IEEE TRO’15]
– 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定
画像上での特徴点 各点の三次元位置と
カメラ軌跡の推定
7
従来のVSLAM (BA-SLAM)
• ORB-SLAM [Mur-Artal+, IEEE TRO’15]
– 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定
– Bundle Adjustment (BA)
• 基準点とカメラを結ぶ光線束(Bundle)による調整
画像 𝑍𝑗 画像 𝑍𝑗+1
𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗
カメラ姿勢 [𝐑𝑗, 𝐭𝑗]
𝒖𝑖,𝑗
投影点
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗) Bundle
𝑍𝑗+1
[𝐑𝑗+1, 𝐭𝑗+1]
𝒖𝑖,𝑗+1
画像 𝑍𝑗
3D位置 𝐗 𝑖
8
従来のVSLAM (BA-SLAM)
• ORB-SLAM [Mur-Artal+, IEEE TRO’15]
– 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定
– Bundle Adjustment (BA)
• 基準点とカメラを結ぶ光線束(Bundle)による調整
画像 𝑍𝑗 画像 𝑍𝑗+1
𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗
最適化
画像 𝑍𝑗
𝒖𝑖,𝑗
Bundle
[𝐑𝑗+1, 𝐭𝑗+1]
𝑍𝑗+1
𝒖𝑖,𝑗+1
3D位置 𝐗 𝑖
カメラ姿勢 [𝐑𝑗, 𝐭𝑗]
投影点
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗)
9
従来のVSLAM (BA-SLAM)
• ORB-SLAM [Mur-Artal+, IEEE TRO’15]
– 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定
– Bundle Adjustment (BA)
• 基準点とカメラを結ぶ光線束(Bundle)による調整
画像 𝑍𝑗 画像 𝑍𝑗+1
𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗
最適化
画像 𝑍𝑗
𝒖𝑖,𝑗
Bundle
[𝐑𝑗+1, 𝐭𝑗+1]
𝑍𝑗+1
𝒖𝑖,𝑗+1
3D位置 𝐗 𝑖
カメラ姿勢 [𝐑𝑗, 𝐭𝑗]
投影点
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗)
10
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
11
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍1
𝑍0 Initialization
(3D地図の点の初期化)
12
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍1
𝑍2
𝑍0
Tracking
13
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍1
𝑍2
𝑍0
3D地図への点の追加/削除
14
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍1
𝑍2
𝑍0
Local Mapping
(局所的なBA)
15
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍0
𝑍1
𝑍2
𝑍𝑡 𝑍𝑡−1
16
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍0
𝑍1
𝑍2
𝑍𝑡 𝑍𝑡−1
Loop detection
17
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍0
𝑍1
𝑍2
𝑍𝑡 Loop closing
(全体的なBA)
𝑍𝑡−1
18
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
𝑍0
𝑍1
𝑍2
𝑍𝑡
𝑍𝑡−1
カメラ軌跡
{𝐑𝑗, 𝐭𝑗}
3D地図に対するメンテナンス(「初期化」と「点の追加/削除」)
はVSLAMの性能に大きな影響 (職人技が光る部分)
→カメラの初期化やPure rotation時に失敗しやすい
19
従来のVSLAM (BA-SLAM)
• Basic recipe for BA-SLAM
✖ システムが複雑
(3D地図の維持が大変)
✖ Pure rotationに弱い
(3D地図の参照が困難なため)
→ できるだけ3D地図に依存しないカメラの軌跡推定を行えないか?
𝑍0
𝑍1
𝑍2
𝑍𝑡
𝑍𝑡−1
カメラ軌跡
{𝐑𝑗, 𝐭𝑗}
20
提案手法
• VSLAMのカメラ軌跡推定を2つの問題に分離
1. カメラの回転 𝐑𝑗
Rotation Averaging[1]
2. カメラの位置𝐭𝑗 (と3D地図 𝐗)
Known Rotation Problem (KRot)[2]
𝐮𝑖,𝑗
[1] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018.
[2] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
3D地図に依存することなくカメラの回転を求めることが可能に!
(従来よりもTracking失敗しにくいシステムに)
21
提案手法
• VSLAMのカメラ軌跡推定を2つの問題に分離
1. カメラの回転 𝐑𝑗
Rotation Averaging[1]
2. カメラの位置𝐭𝑗 (と3D地図 𝐗)
Known Rotation Problem (KRot)[2]
𝐮𝑖,𝑗
[おまけ] 本論文の著者の1人であるTat-Jun Chin氏は両問題に対する解法
の論文に関わっており, CVPR2018で採択[1][2](片方はoral)
[1] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018.
[2] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
• カメラの回転成分{𝐑𝑗}の最適化[1]
22
1. Rotation Averaging
2
1
3
4
5
𝐑2
絶対座標
𝐑3
𝐑4
𝐑5
𝐑1
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
• カメラの回転成分{𝐑𝑗}の最適化[1]
1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める
2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める
23
1. Rotation Averaging
2
1
3
4
5
𝐑2
絶対座標
𝐑3
𝐑4
𝐑5
𝐑1
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
• カメラの回転成分{𝐑𝑗}の最適化[1]
1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める
2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める
𝐑12
24
1. Rotation Averaging
21. 特徴点マッチングにより基礎行列の計算
2. SVDによる行列分解
𝐱2
T
𝐅12 𝐱1 = 0
𝐄12 = 𝐊2 𝐅12 𝐊1
𝐄12 = 𝐭12 × 𝐑12
特徴点 𝐱1 特徴点 𝐱2
1
3
4
5
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
25
1. Rotation Averaging
• カメラの回転成分{𝐑𝑗}の最適化[1]
1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める
2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める
絶対座標
min
𝐑1,𝐑2
𝐑12 − 𝐑2 𝐑1
−1
𝐹
= 2 2 sin
∠(𝐑12 𝐑2 𝐑1
−1 −1)
2
𝐑12
2
1
𝐑2
𝐑1
相対座標系の回転は 絶対座標系での
回転で表現可能
𝐑12
2
1
𝐑2
𝐑1
−1
3
4
5
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
[2] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018.
(Chordal distance[2])
26
1. Rotation Averaging
• カメラの回転成分{𝐑𝑗}の最適化[1]
1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める
2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める
→ 各カメラの回転方向{𝑹𝑗}を求めることができた
𝐑12
2
1
𝐑2
𝐑1
絶対座標
3
4
5
𝐑23
𝐑34
𝐑45
𝐑51
𝐑52
𝐑53𝐑14
𝐑24
𝐑13
𝐑3
𝐑4
𝐑5
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
カメラ全体に対して最適化
27
1. Rotation Averaging
• カメラの回転成分{𝐑𝑗}の最適化[1]
1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める
2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める
→ 各カメラの回転方向{𝑹𝑗}を求めることができた
𝐑12
2
1
𝐑2
𝐑1
絶対座標
3
4
5
𝐑23
𝐑34
𝐑45
𝐑51
𝐑52
𝐑53𝐑14
𝐑24
𝐑13
𝐑3
𝐑4
𝐑5
[1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
28
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い)
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
最大要素の最小化
(𝐿∞最適化)
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
カメラ姿勢 [𝐑𝑗, 𝐭𝑗]
𝒖𝑖,𝑗
3D位置 𝐗 𝑖
投影点
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗)
𝑍𝑗+1
[𝐑𝑗+1, 𝐭𝑗+1]
𝒖𝑖,𝑗+1
画像 𝑍𝑗
29
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い)
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
Bundle AdjustmentKRot
2乗誤差の和の最小化
(𝐿2最適化)
最大要素の最小化
(𝐿∞最適化)
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
30
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い)
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
Bundle AdjustmentKRot
2乗誤差の和の最小化
(𝐿2最適化)
最大要素の最小化
(𝐿∞最適化)
• 再投影誤差の𝑳 𝟐最小化はhard non-
convex problem[2]
• 良い初期解が必要
• 𝑳∞最適化で書き直すとsingle local
optimumを持つようになる[2]
• Outlierに対して非常に敏感
(だがL2も同じくらい敏感(?))
𝐿2関数 𝐿∞関数
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
[2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
31
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 以下をどう最適化するか?
• Res-Int (Resection-Intersection)[1]
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
[2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
32
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 以下をどう最適化するか?
• Res-Int (Resection-Intersection)[1]
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
[2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 =
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
=
𝑓𝐱
𝐳
+ 𝑐 𝑥
𝑓𝐲
𝐳
+ 𝑐 𝑦
カメラの投影モデル
(簡単のため内部パラメータ𝑲 = 𝑰 𝟑×𝟑)
𝑓 = 1
z𝑖
[𝑥𝑖, 𝑦𝑖, 𝑧𝑖]
[𝑥𝑖/𝑧𝑖, 𝑦𝑖/𝑧𝑖, 1]
𝑐 𝑥 = 𝑐 𝑦 = 0
33
2. Known Rotation Problem (KRot)
• カメラの回転から, カメラ位置と3D点の最適化[1]
– 以下をどう最適化するか?
• Res-Int (Resection-Intersection)[1]
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
[2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 =
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
=
𝑓𝐱
𝐳
+ 𝑐 𝑥
𝑓𝐲
𝐳
+ 𝑐 𝑦
カメラの投影モデル
(簡単のため内部パラメータ𝑲 = 𝑰 𝟑×𝟑)
𝑓 = 1
z𝑖
[𝑥𝑖, 𝑦𝑖, 𝑧𝑖]
[𝑥𝑖/𝑧𝑖, 𝑦𝑖/𝑧𝑖, 1]
𝑐 𝑥 = 𝑐 𝑦 = 0
34
2. Known Rotation Problem (KRot)
• Res-Int (Resection-Intersection)[1]
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
35
2. Known Rotation Problem (KRot)
• Res-Int (Resection-Intersection)[1]
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
min
𝐗 𝑖 ,{𝐭 𝑗}
max
𝑖,𝑗
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖, 𝑗
KRot
min
𝐗 𝑖
max
𝑗
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑗
min
𝐭 𝑗
max
𝑖
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖
Int𝒊
Res𝒋
{𝐭𝑗}を固定
{𝑿𝒊}を固定
36
2. Known Rotation Problem (KRot)
• Res-Int (Resection-Intersection)[1]
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
min
𝐗 𝑖
max
𝑗
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑗
min
𝐭 𝑗
max
𝑖
𝐮𝑖,𝑗 −
𝐑𝑗
(1:2)
𝐗 𝑖 + 𝐭𝑗
(1:2)
𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
𝟐
s. t. 𝐑𝑗
(3)
𝐗 𝑖 + 𝐭𝑗
(3)
> 0 ∀𝑖
Int𝒊
Res𝒋
IntとResの交互最適化を高速に解く[1]
大体3秒(画像15枚, 3D点3000個)
𝐮𝑖,𝑗 𝑖 = 1
𝑿𝑖 𝑖 = 1
𝑖 𝑿𝑖 Int 𝑖
𝑿𝑖 𝑖 = 1
37
L-infinity SLAM
• 全体的な流れ
「初期化」「3D点の追加」
などの3D地図に関する注意深い
メンテナンスが不要に
38
L-infinity SLAM
• 全体的な流れ
BAの操作を
「Rotation Averaging」と
「KRot」に置き換え
39
L-infinity SLAM
• 全体的な流れ
非常にシンプルな形のアルゴリズムに変形することができた!
40
実験1
• L-infinity SLAM vs BA-SLAM
– MATLABで両アルゴリズムを実装
• Quad-core 2.5GHz Intel core i7 CPU + 16GB of RAM
• BAの方はCeres-solver[1]で実装
– Maptek社によって提供されたデータで実験
• 正確なGT付き
• 1833 frameで構成され2回loopする映像
(KeyFrameを358枚選択)
– 今回VSLAMで必要不可欠なKeyFrame選択などの操作の実装は
行っていない
• 単純に各KFに対して最適化を繰り返すような実装
[1] S. Agarwal and K. Mierle, Ceres Solver: Tutorial & Reference, Google Inc.
41
結果
• カメラの軌跡の位置誤差と回転誤差
– BA-SLAMの方は途中でtracking lost※を起こしている
– 結果としてL-infinity SLAMはBA-SLAMよりも性能が良い
カメラ位置誤差(< 0.67 𝑚), 回転誤差(< 0.83°)
– L-infinity SLAMで軌跡を求めた後にBAすると結果が悪化
Tracking Lost
※今回Tracking LostはOutlier除去の結果起きている. 各三次元点の位置がカメラから150mより遠くなった場合outlierと見なした
42
結果
• カメラの軌跡の比較
– BA-SLAMは部分的に誤差が目立つ(?)
43
結果
• 三次元地図の復元結果
– カメラ軌跡推定時には300点しか特徴点を使っていないので,
KRot[1]で改めて三角測量し直した結果
[1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
44
結果
• 最適化の速さの計測
– Rotation Averaging vs BA(回転のみ)
– 最初のloopまでの時間を計測し比較
– 回転に関してはRotation Averagingの方が高速に最適化可能
45
実験2
• カメラの大きな回転への耐性
– Smart-phoneで撮影したカメラの回転映像
– ORB-SLAM[1]では初期化すらできないが, L-infinity SLAMでは
きちんと復元できた
[1] R. Mur-Artal, J. Montiel, and J. Tardos, “ORB-SLAM: a versatile and accurate monocular SLAM system,” IEEE TRO,
vol. 31, no. 5, pp.1147–1163, 2015.
46
まとめ
• L-infinity SLAM
– 新しいVSLAMの最適化フレームワークの提案
– BAをRotation AveragingとKRotに分離することで, 3D地図の
依存なくカメラの回転を求められる
1. 職人技だった3D地図の注意深いメンテナンスが不要に
– カメラ初期化や, Pure rotation時のTrackingに強くなった
2. VSLAMのアルゴリズムがシンプルに
• 個人的な所感
– VSLAMの細かい要素の作り込みが今後の焦点になりそう
• 毎時刻のTrackingやKeyFrame選択をどう行うか?
• 遅すぎるLoop Closingをどう扱うべきか?
– 新しいVSLAMのフレームワークとして非常に面白い論文
47
参考資料
• 本論文の著者が関連する論文
– A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,”
in CVPR, 2018.
– Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known
rotation problem,” in CVPR, 2018.
• Rotation Averagingの実装に採用した論文
– A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation
averaging,” in ICCV, 2013.
• KRot (Loop Closing版, 詳細は論文へ)でベースにしていた論文
– K. Sim and R. Hartley, “Recovering camera motion using L∞ minimization,” in CVPR,
2006, pp. 1230–1237.
• 𝑳∞-normを使った定式化関連
– F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” IEEE Transactions
on Pattern Analysis and Machine Intelligence, vol. 30, no. 9, pp. 1603–1617, 2008.
– C. Olsson, A. Eriksson, and F. Kahl, “Efficient optimization for 𝐿∞- problems using
pseudoconvexity,” in ICCV, 2007.

Mais conteúdo relacionado

Mais procurados

LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料Fujimoto Keisuke
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日Kitsukawa Yuki
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたTakuya Minagawa
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会nonane
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類Yoshitaka HARA
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせTakuya Minagawa
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)Toru Tamaki
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介Ryohei Ueda
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Masaya Kaneko
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)Tomohiro Motoda
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理Toru Tamaki
 

Mais procurados (20)

LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料LiDAR-SLAM チュートリアル資料
LiDAR-SLAM チュートリアル資料
 
20180424 orb slam
20180424 orb slam20180424 orb slam
20180424 orb slam
 
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
 
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみたORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
 
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
SSII2019企画: 画像および LiDAR を用いた自動走行に関する動向
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会関東コンピュータビジョン勉強会
関東コンピュータビジョン勉強会
 
オープンソース SLAM の分類
オープンソース SLAM の分類オープンソース SLAM の分類
オープンソース SLAM の分類
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
G2o
G2oG2o
G2o
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
Direct Sparse Odometryの解説
Direct Sparse Odometryの解説Direct Sparse Odometryの解説
Direct Sparse Odometryの解説
 
Lucas kanade法について
Lucas kanade法についてLucas kanade法について
Lucas kanade法について
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
 

Semelhante a Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)

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_eventcameraKyohei Unno
 
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
 
Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceishii yasunori
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料Masayuki Tanaka
 
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
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)Masaya Kaneko
 
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature FilterMorpho, Inc.
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出MPRG_Chubu_University
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Hiroki Itô
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」Sho Kagami
 
K shapes zemiyomi
K shapes zemiyomiK shapes zemiyomi
K shapes zemiyomikenyanonaka
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデルMasashi Komori
 
関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)tackson5
 
SSII2020 [O3-01] Extreme 3D センシング
SSII2020 [O3-01]  Extreme 3D センシングSSII2020 [O3-01]  Extreme 3D センシング
SSII2020 [O3-01] Extreme 3D センシングSSII
 
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...Eiji Uchibe
 
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)Yoichi Shirasawa
 
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields [DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields Deep Learning JP
 

Semelhante a Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東) (20)

JEITA4602B
JEITA4602BJEITA4602B
JEITA4602B
 
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
 
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の解説
 
Light weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_faceLight weightbinocular sigasia2012_face
Light weightbinocular sigasia2012_face
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
 
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勉強会@関東)
 
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)論文読み会(DeMoN;CVPR2017)
論文読み会(DeMoN;CVPR2017)
 
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
 
Hough forestを用いた物体検出
Hough forestを用いた物体検出Hough forestを用いた物体検出
Hough forestを用いた物体検出
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
ICCV2019読み会「Learning Meshes for Dense Visual SLAM」
 
K shapes zemiyomi
K shapes zemiyomiK shapes zemiyomi
K shapes zemiyomi
 
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
 
関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)関東CV勉強会20140802(Face Alignment at 3000fps)
関東CV勉強会20140802(Face Alignment at 3000fps)
 
SSII2020 [O3-01] Extreme 3D センシング
SSII2020 [O3-01]  Extreme 3D センシングSSII2020 [O3-01]  Extreme 3D センシング
SSII2020 [O3-01] Extreme 3D センシング
 
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
 
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)
20110109第8回CV勉強会(ミーンシフトの原理と応用:6章・7章)shirasy)
 
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields [DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
 

Último

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Visual SLAM: Why Bundle Adjust?の解説(第4回3D勉強会@関東)

  • 1. 第4回 3D勉強会@関東 ~画像を用いた3Dモデリングの基礎から応用まで~ Visual SLAM: Why Bundle Adjust? 東京大学 相澤研究室所属 M1 金子 真也 (@syinari0123)
  • 2. 1 自己紹介 • 氏名 – 金子 真也 (かねこ まさや) • 所属 – 東京大学大学院 学際情報学府 相澤研 M1 • Recently – 2018年5月-8月 DeNA アルバイト (SFM) – 2018年8月-9月 Sony Internship (SLAM) – 2018年9月- 産総研 Research Assistant • 深層学習やVisual SLAMと戯れています • 就活に向けて情報収集中なのでSLAM関連でおすすめの企業があり ましたらぜひ教えてください まさや (@syinari0123)
  • 3. 2 本論文 • Visual SLAM: Why Bundle Adjust? – 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid – 採択会議: ICRA2019 (arXivには2019/2/11投稿) Andrew Davison 大先生も絶賛
  • 4. 3 本論文 (おまけ) • Visual SLAM: Why Bundle Adjust? – 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid – 採択会議: ICRA2019 (arXivには2019/2/11投稿) 一番最初のVisual SLAMである MonoSLAM [Davison+, PAMI’07] のメンバーの一人 [1] A. J. Davison, I. D. Reid, N. M. Molton, and O. Stasse, “MonoSLAM: real-time single camera SLAM,” IEEE TPAMI, vol. 29, no. 6, pp. 1– 16, 2007
  • 5. 4 本論文 (おまけ) • Visual SLAM: Why Bundle Adjust? – 著者: A. P. Bustos, T. Chin, A. Eriksson and I. Reid – 採択会議: ICRA2019 (arXivには2019/2/11投稿) [1] H. Strasdat, J. M. M. Montiel, and A. J. Davison, “Visual SLAM: Why Filter?” Image and Vision Computing, vol. 30, no. 2, pp. 65–77, 2012
  • 6. 5 どのようなものか? • 新しい最適化手法のVSLAMを提案 (L-infinity SLAM) – 従来の特徴点ベースのVSLAMよりシンプルでロバスト – 実用化には至っていなかった要素技術で実践的なVSLAMの基礎 を実現した点が今回の貢献
  • 7. 6 従来のVSLAM (BA-SLAM) • ORB-SLAM [Mur-Artal+, IEEE TRO’15] – 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定 画像上での特徴点 各点の三次元位置と カメラ軌跡の推定
  • 8. 7 従来のVSLAM (BA-SLAM) • ORB-SLAM [Mur-Artal+, IEEE TRO’15] – 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定 – Bundle Adjustment (BA) • 基準点とカメラを結ぶ光線束(Bundle)による調整 画像 𝑍𝑗 画像 𝑍𝑗+1 𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗 カメラ姿勢 [𝐑𝑗, 𝐭𝑗] 𝒖𝑖,𝑗 投影点 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗) Bundle 𝑍𝑗+1 [𝐑𝑗+1, 𝐭𝑗+1] 𝒖𝑖,𝑗+1 画像 𝑍𝑗 3D位置 𝐗 𝑖
  • 9. 8 従来のVSLAM (BA-SLAM) • ORB-SLAM [Mur-Artal+, IEEE TRO’15] – 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定 – Bundle Adjustment (BA) • 基準点とカメラを結ぶ光線束(Bundle)による調整 画像 𝑍𝑗 画像 𝑍𝑗+1 𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗 最適化 画像 𝑍𝑗 𝒖𝑖,𝑗 Bundle [𝐑𝑗+1, 𝐭𝑗+1] 𝑍𝑗+1 𝒖𝑖,𝑗+1 3D位置 𝐗 𝑖 カメラ姿勢 [𝐑𝑗, 𝐭𝑗] 投影点 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗)
  • 10. 9 従来のVSLAM (BA-SLAM) • ORB-SLAM [Mur-Artal+, IEEE TRO’15] – 抽出した特徴点の三次元位置を推定しながらカメラ軌跡の推定 – Bundle Adjustment (BA) • 基準点とカメラを結ぶ光線束(Bundle)による調整 画像 𝑍𝑗 画像 𝑍𝑗+1 𝒖𝑖,𝑗+1特徴点 𝒖𝑖,𝑗 最適化 画像 𝑍𝑗 𝒖𝑖,𝑗 Bundle [𝐑𝑗+1, 𝐭𝑗+1] 𝑍𝑗+1 𝒖𝑖,𝑗+1 3D位置 𝐗 𝑖 カメラ姿勢 [𝐑𝑗, 𝐭𝑗] 投影点 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗)
  • 12. 11 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍1 𝑍0 Initialization (3D地図の点の初期化)
  • 13. 12 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍1 𝑍2 𝑍0 Tracking
  • 14. 13 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍1 𝑍2 𝑍0 3D地図への点の追加/削除
  • 15. 14 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍1 𝑍2 𝑍0 Local Mapping (局所的なBA)
  • 16. 15 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍0 𝑍1 𝑍2 𝑍𝑡 𝑍𝑡−1
  • 17. 16 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍0 𝑍1 𝑍2 𝑍𝑡 𝑍𝑡−1 Loop detection
  • 18. 17 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍0 𝑍1 𝑍2 𝑍𝑡 Loop closing (全体的なBA) 𝑍𝑡−1
  • 19. 18 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM 𝑍0 𝑍1 𝑍2 𝑍𝑡 𝑍𝑡−1 カメラ軌跡 {𝐑𝑗, 𝐭𝑗} 3D地図に対するメンテナンス(「初期化」と「点の追加/削除」) はVSLAMの性能に大きな影響 (職人技が光る部分) →カメラの初期化やPure rotation時に失敗しやすい
  • 20. 19 従来のVSLAM (BA-SLAM) • Basic recipe for BA-SLAM ✖ システムが複雑 (3D地図の維持が大変) ✖ Pure rotationに弱い (3D地図の参照が困難なため) → できるだけ3D地図に依存しないカメラの軌跡推定を行えないか? 𝑍0 𝑍1 𝑍2 𝑍𝑡 𝑍𝑡−1 カメラ軌跡 {𝐑𝑗, 𝐭𝑗}
  • 21. 20 提案手法 • VSLAMのカメラ軌跡推定を2つの問題に分離 1. カメラの回転 𝐑𝑗 Rotation Averaging[1] 2. カメラの位置𝐭𝑗 (と3D地図 𝐗) Known Rotation Problem (KRot)[2] 𝐮𝑖,𝑗 [1] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018. [2] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. 3D地図に依存することなくカメラの回転を求めることが可能に! (従来よりもTracking失敗しにくいシステムに)
  • 22. 21 提案手法 • VSLAMのカメラ軌跡推定を2つの問題に分離 1. カメラの回転 𝐑𝑗 Rotation Averaging[1] 2. カメラの位置𝐭𝑗 (と3D地図 𝐗) Known Rotation Problem (KRot)[2] 𝐮𝑖,𝑗 [おまけ] 本論文の著者の1人であるTat-Jun Chin氏は両問題に対する解法 の論文に関わっており, CVPR2018で採択[1][2](片方はoral) [1] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018. [2] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
  • 23. • カメラの回転成分{𝐑𝑗}の最適化[1] 22 1. Rotation Averaging 2 1 3 4 5 𝐑2 絶対座標 𝐑3 𝐑4 𝐑5 𝐑1 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
  • 24. • カメラの回転成分{𝐑𝑗}の最適化[1] 1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める 2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める 23 1. Rotation Averaging 2 1 3 4 5 𝐑2 絶対座標 𝐑3 𝐑4 𝐑5 𝐑1 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
  • 25. • カメラの回転成分{𝐑𝑗}の最適化[1] 1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める 2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める 𝐑12 24 1. Rotation Averaging 21. 特徴点マッチングにより基礎行列の計算 2. SVDによる行列分解 𝐱2 T 𝐅12 𝐱1 = 0 𝐄12 = 𝐊2 𝐅12 𝐊1 𝐄12 = 𝐭12 × 𝐑12 特徴点 𝐱1 特徴点 𝐱2 1 3 4 5 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
  • 26. 25 1. Rotation Averaging • カメラの回転成分{𝐑𝑗}の最適化[1] 1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める 2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める 絶対座標 min 𝐑1,𝐑2 𝐑12 − 𝐑2 𝐑1 −1 𝐹 = 2 2 sin ∠(𝐑12 𝐑2 𝐑1 −1 −1) 2 𝐑12 2 1 𝐑2 𝐑1 相対座標系の回転は 絶対座標系での 回転で表現可能 𝐑12 2 1 𝐑2 𝐑1 −1 3 4 5 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013. [2] A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018. (Chordal distance[2])
  • 27. 26 1. Rotation Averaging • カメラの回転成分{𝐑𝑗}の最適化[1] 1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める 2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める → 各カメラの回転方向{𝑹𝑗}を求めることができた 𝐑12 2 1 𝐑2 𝐑1 絶対座標 3 4 5 𝐑23 𝐑34 𝐑45 𝐑51 𝐑52 𝐑53𝐑14 𝐑24 𝐑13 𝐑3 𝐑4 𝐑5 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013. カメラ全体に対して最適化
  • 28. 27 1. Rotation Averaging • カメラの回転成分{𝐑𝑗}の最適化[1] 1. 特徴点マッチングより相対的なカメラ回転{𝐑 𝑖𝑗}を求める 2. 相対的なカメラ回転{𝐑 𝑖𝑗}から絶対座標系での回転{𝐑𝑗}を求める → 各カメラの回転方向{𝑹𝑗}を求めることができた 𝐑12 2 1 𝐑2 𝐑1 絶対座標 3 4 5 𝐑23 𝐑34 𝐑45 𝐑51 𝐑52 𝐑53𝐑14 𝐑24 𝐑13 𝐑3 𝐑4 𝐑5 [1] A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013.
  • 29. 28 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い) min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot 最大要素の最小化 (𝐿∞最適化) [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. カメラ姿勢 [𝐑𝑗, 𝐭𝑗] 𝒖𝑖,𝑗 3D位置 𝐗 𝑖 投影点 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗) 𝑍𝑗+1 [𝐑𝑗+1, 𝐭𝑗+1] 𝒖𝑖,𝑗+1 画像 𝑍𝑗
  • 30. 29 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い) min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 Bundle AdjustmentKRot 2乗誤差の和の最小化 (𝐿2最適化) 最大要素の最小化 (𝐿∞最適化) [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
  • 31. 30 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 2Dカメラ画像上に投影し最小化 (Bundle Adjustmentに近い) min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 Bundle AdjustmentKRot 2乗誤差の和の最小化 (𝐿2最適化) 最大要素の最小化 (𝐿∞最適化) • 再投影誤差の𝑳 𝟐最小化はhard non- convex problem[2] • 良い初期解が必要 • 𝑳∞最適化で書き直すとsingle local optimumを持つようになる[2] • Outlierに対して非常に敏感 (だがL2も同じくらい敏感(?)) 𝐿2関数 𝐿∞関数 [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. [2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
  • 32. 31 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 以下をどう最適化するか? • Res-Int (Resection-Intersection)[1] min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. [2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008.
  • 33. 32 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 以下をどう最適化するか? • Res-Int (Resection-Intersection)[1] min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. [2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008. 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 = 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) = 𝑓𝐱 𝐳 + 𝑐 𝑥 𝑓𝐲 𝐳 + 𝑐 𝑦 カメラの投影モデル (簡単のため内部パラメータ𝑲 = 𝑰 𝟑×𝟑) 𝑓 = 1 z𝑖 [𝑥𝑖, 𝑦𝑖, 𝑧𝑖] [𝑥𝑖/𝑧𝑖, 𝑦𝑖/𝑧𝑖, 1] 𝑐 𝑥 = 𝑐 𝑦 = 0
  • 34. 33 2. Known Rotation Problem (KRot) • カメラの回転から, カメラ位置と3D点の最適化[1] – 以下をどう最適化するか? • Res-Int (Resection-Intersection)[1] [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. [2] F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” PAMI, vol. 30, no. 9, pp. 1603–1617, 2008. min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot 𝑓 𝐗 𝑖 𝐑𝑗, 𝐭𝑗 = 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) = 𝑓𝐱 𝐳 + 𝑐 𝑥 𝑓𝐲 𝐳 + 𝑐 𝑦 カメラの投影モデル (簡単のため内部パラメータ𝑲 = 𝑰 𝟑×𝟑) 𝑓 = 1 z𝑖 [𝑥𝑖, 𝑦𝑖, 𝑧𝑖] [𝑥𝑖/𝑧𝑖, 𝑦𝑖/𝑧𝑖, 1] 𝑐 𝑥 = 𝑐 𝑦 = 0
  • 35. 34 2. Known Rotation Problem (KRot) • Res-Int (Resection-Intersection)[1] [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot
  • 36. 35 2. Known Rotation Problem (KRot) • Res-Int (Resection-Intersection)[1] [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. min 𝐗 𝑖 ,{𝐭 𝑗} max 𝑖,𝑗 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖, 𝑗 KRot min 𝐗 𝑖 max 𝑗 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑗 min 𝐭 𝑗 max 𝑖 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖 Int𝒊 Res𝒋 {𝐭𝑗}を固定 {𝑿𝒊}を固定
  • 37. 36 2. Known Rotation Problem (KRot) • Res-Int (Resection-Intersection)[1] [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. min 𝐗 𝑖 max 𝑗 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑗 min 𝐭 𝑗 max 𝑖 𝐮𝑖,𝑗 − 𝐑𝑗 (1:2) 𝐗 𝑖 + 𝐭𝑗 (1:2) 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) 𝟐 s. t. 𝐑𝑗 (3) 𝐗 𝑖 + 𝐭𝑗 (3) > 0 ∀𝑖 Int𝒊 Res𝒋 IntとResの交互最適化を高速に解く[1] 大体3秒(画像15枚, 3D点3000個) 𝐮𝑖,𝑗 𝑖 = 1 𝑿𝑖 𝑖 = 1 𝑖 𝑿𝑖 Int 𝑖 𝑿𝑖 𝑖 = 1
  • 39. 38 L-infinity SLAM • 全体的な流れ BAの操作を 「Rotation Averaging」と 「KRot」に置き換え
  • 41. 40 実験1 • L-infinity SLAM vs BA-SLAM – MATLABで両アルゴリズムを実装 • Quad-core 2.5GHz Intel core i7 CPU + 16GB of RAM • BAの方はCeres-solver[1]で実装 – Maptek社によって提供されたデータで実験 • 正確なGT付き • 1833 frameで構成され2回loopする映像 (KeyFrameを358枚選択) – 今回VSLAMで必要不可欠なKeyFrame選択などの操作の実装は 行っていない • 単純に各KFに対して最適化を繰り返すような実装 [1] S. Agarwal and K. Mierle, Ceres Solver: Tutorial & Reference, Google Inc.
  • 42. 41 結果 • カメラの軌跡の位置誤差と回転誤差 – BA-SLAMの方は途中でtracking lost※を起こしている – 結果としてL-infinity SLAMはBA-SLAMよりも性能が良い カメラ位置誤差(< 0.67 𝑚), 回転誤差(< 0.83°) – L-infinity SLAMで軌跡を求めた後にBAすると結果が悪化 Tracking Lost ※今回Tracking LostはOutlier除去の結果起きている. 各三次元点の位置がカメラから150mより遠くなった場合outlierと見なした
  • 44. 43 結果 • 三次元地図の復元結果 – カメラ軌跡推定時には300点しか特徴点を使っていないので, KRot[1]で改めて三角測量し直した結果 [1] Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018.
  • 45. 44 結果 • 最適化の速さの計測 – Rotation Averaging vs BA(回転のみ) – 最初のloopまでの時間を計測し比較 – 回転に関してはRotation Averagingの方が高速に最適化可能
  • 46. 45 実験2 • カメラの大きな回転への耐性 – Smart-phoneで撮影したカメラの回転映像 – ORB-SLAM[1]では初期化すらできないが, L-infinity SLAMでは きちんと復元できた [1] R. Mur-Artal, J. Montiel, and J. Tardos, “ORB-SLAM: a versatile and accurate monocular SLAM system,” IEEE TRO, vol. 31, no. 5, pp.1147–1163, 2015.
  • 47. 46 まとめ • L-infinity SLAM – 新しいVSLAMの最適化フレームワークの提案 – BAをRotation AveragingとKRotに分離することで, 3D地図の 依存なくカメラの回転を求められる 1. 職人技だった3D地図の注意深いメンテナンスが不要に – カメラ初期化や, Pure rotation時のTrackingに強くなった 2. VSLAMのアルゴリズムがシンプルに • 個人的な所感 – VSLAMの細かい要素の作り込みが今後の焦点になりそう • 毎時刻のTrackingやKeyFrame選択をどう行うか? • 遅すぎるLoop Closingをどう扱うべきか? – 新しいVSLAMのフレームワークとして非常に面白い論文
  • 48. 47 参考資料 • 本論文の著者が関連する論文 – A. Eriksson, C. Olsson, F. Kahl, and T.-J. Chin, “Rotation averaging and strong duality,” in CVPR, 2018. – Q. Zhang, T.-J. Chin, and H. M. Le, “A fast resection-intersection method for the known rotation problem,” in CVPR, 2018. • Rotation Averagingの実装に採用した論文 – A. Chatterjee and V. Madhav Govindu, “Efficient and robust largescale rotation averaging,” in ICCV, 2013. • KRot (Loop Closing版, 詳細は論文へ)でベースにしていた論文 – K. Sim and R. Hartley, “Recovering camera motion using L∞ minimization,” in CVPR, 2006, pp. 1230–1237. • 𝑳∞-normを使った定式化関連 – F. Kahl and R. Hartley, “Multiple-view geometry under the L∞-norm,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 9, pp. 1603–1617, 2008. – C. Olsson, A. Eriksson, and F. Kahl, “Efficient optimization for 𝐿∞- problems using pseudoconvexity,” in ICCV, 2007.