SlideShare a Scribd company logo
1 of 53
Download to read offline
コンピュータビジョンのための
グレブナー基底⼊⾨1
美間亮太
東京⼤学⼯学部計数⼯学科3年
2019/12/15(3D勉強会)
⾃⼰紹介
かわいい
Twitter(@mamii0718) Facebook
好きな定理
1.Introduction 3
Gröbner basisとは
1.Introduction 4
[Cox,Using…]
Gröbner basisの参考⽂献
.
[Cox,Ideals…] [グレbo徒] [⻘⽊,統計]
1.Introduction 5
(例)多変数⾮線形連⽴⽅程式
1.Introduction 6
(例)多変数⾮線形連⽴⽅程式
1.Introduction 7
例題(Gröbner basis解答例1/3 ①)
1.Introduction 8
例題(Gröbner basis解答例1/3 ②)
1.Introduction 9
例題(Gröbner basis解答例1/3 ③)
1.Introduction 10
例題(Gröbner basis解答例1/3 ④)
1.Introduction 11
例題(Gröbner basis解答例2/3 )
1.Introduction 12
例題(Gröbner basis解答例3/3 )
1.Introduction 13
例題(Gröbner basis解答例3/3 )
→3章へ
2. SLAMにおける
Gröbner basis
SLAMにおける5点アルゴリズム
5点アルゴリズムの問題設定
エピポーラー拘束
5点アルゴリズムの先⾏研究
CVでの最⼩問題
2.SLAMにおける
Gröbner basis (15)(例)SLAMにおける5点アルゴリズム
Mur-Artal, Raul, Jose Maria Martinez Montiel, and Juan D. Tardos. "ORB-SLAM: a versatile and accurate monocular SLAM system." IEEE transactions on robotics 31.5 (2015): 1147-1163.
特徴点ベースのSLAMでの初期化(パラメータの初期値を求め
る)
→5点アルゴリズム、8点アルゴリズム、DLT…
2.SLAMにおける
Gröbner basis (16)(例)5点アルゴリズム(問題設定)
2.SLAMにおける
Gröbner basis (17)補⾜(内部パラメーターとは)
3次元点の世界座標値
正規画像座標値
3次元点のカメラ座標値
画像座標値
1
内部パラ
メーター
K
2.SLAMにおける
Gröbner basis (18)(例)5点アルゴリズム(エピポーラ拘束)
Rc1→c2 &tc1→c2
これらが同⼀平⾯上
→スカラー3重積が0
カメラ座標
2.SLAMにおける
Gröbner basis (19)(例)5点アルゴリズム(基本⾏列の拘束)
Rc1→c2 &tc1→c2
SVD
2.SLAMにおける
Gröbner basis (20)
• [Kruppa, 1913] : ⾼々11個の解
• Maybank, Faugerasによって改善。⾼々10個の解
• [Philip,1996]:13次⽅程式を解く⽅法(Maybankよりefficientで
practical)
• [Nister,2004]:10次⽅程式を解く⽅法→ OpenCVのfive-point.cppで
引⽤
• [Stewenius,2006]:Gröbner basisを⽤いて10次⽅程式に帰着
→Open GVのfivept_steweniusで引⽤
※[Nister,2007]:代数的に厳密解を得るには少なくとも10次の⽅程式
を解く必要があることをガロア理論によって証明
(例)5点アルゴリズム(先⾏研究)
[Kruppa,1913]“Zur Ermittlung eines Objektes aus zwei Perspektiven mit innerer Orientierung.” [Philip,1996]” A non-iterative algorithm for determining all essential matrices corresponding to five point
pairs. ” “Motion from point matches: Multiplicity of solutions.” Using galois theory to prove structure from ´ motion algorithms are optimal.
2.SLAMにおける
Gröbner basis (21)(例)5点アルゴリズム(連⽴⽅程式へ)
10個の⾮線形3変数連⽴⽅程式
代⼊
5対応
2.SLAMにおける
Gröbner basis (22)
6pt, calibrated
radial distortion,
CVでの最⼩問題
http://cmp.felk.cvut.cz/old_pages/mini/
2. SLAMにおける
Gröbner basis
SLAMにおける5点アルゴリズム…Trackingの初期化
5点アルゴリズムの問題設定…2視点,歪みなし,内部パラメータ既知,5対応
エピポーラー拘束…対応のカメラ座標による制約
5点アルゴリズムの先⾏研究…openGVでのfivept_stewenius
CVでの最⼩問題… http://cmp.felk.cvut.cz/old_pages/mini/
まとめ
3. Gröbner basis ⼊⾨
イデアルと⽣成
連⽴⽅程式とイデアル
単項式順序
余りの⼀意性
Gröbner basis導出アルゴリズム
3.Grobner Basis
⼊⾨ (25)イデアルと⽣成
3.Grobner Basis
⼊⾨ (26)連⽴⽅程式とイデアル
3.Grobner Basis
⼊⾨ (27)連⽴⽅程式とイデアル
3.Grobner Basis
⼊⾨ (28)連⽴⽅程式とイデアル(疑問点1)
3.Grobner Basis
⼊⾨ (29)単項式順序
3.Grobner Basis
⼊⾨ (30)(例)単項式順序
OK
3.Grobner Basis
⼊⾨ (31)(例)単項式順序
OK
3.Grobner Basis
⼊⾨ (32)(例)単項式順序
“Ideals,Varieties ,and Algorithm”
他にも無限に…
3.Grobner Basis
⼊⾨ (33)連⽴⽅程式とイデアル(懸念点2)
3.Grobner Basis
⼊⾨ (34)余りの⼀意性
3.Grobner Basis
⼊⾨ (35)Gröbner basisを求めるアルゴリズム
最初は与えられた多項式からスタート!
3.Grobner Basis
⼊⾨ (36)Gröbner basisを求めるアルゴリズム
多項式2つを取る
3.Grobner Basis
⼊⾨ (37)Gröbner basisを求めるアルゴリズム
S多項式を既にある多項式達で割った余りを追加
3.Grobner Basis
⼊⾨ (38)Gröbner basisを求めるアルゴリズム
3.Grobner Basis
⼊⾨ (39)Gröbner basisを求めるアルゴリズム
Gröbner basisを求めるBuchbergerのアルゴリズムは
例題で多項式を追加していた流れととほとんど同じ!
3.Grobner Basis
⼊⾨ (40)連⽴⽅程式とイデアル(懸念点その他)
3. Gröbner basis ⼊⾨
まとめ
イデアルと⽣成…和と多項式倍を組み合わせてイデアル⽣成!
連⽴⽅程式とイデアル…同じイデアルの中で変数を減らす!
単項式順序…割り算に向いた順序、無限にある!
余りの⼀意性…余りが割り算の順序によらない
Gröbner basis導出アルゴリズム…例題の解法!
4. 固有値問題に帰着
させる⽅法
消失定理による解法の問題点
商環
action matrixの固有値問題
具体例
4.固有値問題に帰
着させる⽅法 (43)消失定理による解法の問題点
4.固有値問題に帰
着させる⽅法 (44)この章での⼿法
4.固有値問題に帰
着させる⽅法 (45)商環
後のスライドで具体例を通して説明します
4.固有値問題に帰
着させる⽅法 (46)action matrix
4.固有値問題に帰
着させる⽅法 (47)(例題)action matrix
多項式f1,…,fs
Gröbner basis
g1,…,gt
基底B
写像[g]→[fg]の
基底Bの表現⾏
列mf
Mfの固有値f(p)
Gröbner basisは3章のBuchbergerのアルゴリズムで求めた
4.固有値問題に帰
着させる⽅法 (48)action matrixによる解答例1/3(標準基底)
多項式f1,…,fs
Gröbner basis
g1,…,gt
基底B
写像[g]→[fg]の
基底Bの表現⾏
列mf
Mfの固有値f(p)
4.固有値問題に帰
着させる⽅法 (49)action matrixによる解答例2/3(表現⾏列)
多項式f1,…,fs
Gröbner basis
g1,…,gt
基底B
写像[g]→[fg]の
基底Bの表現⾏
列mf
Mfの固有値f(p)
4.固有値問題に帰
着させる⽅法 (50)action matrixによる解答例3/3(固有値問題)
多項式f1,…,fs
Gröbner basis
g1,…,gt
基底B
写像[g]→[fg]の基底
Bの表現⾏列mf
Mfの固有値がf(p)
4.固有値問題に帰
着させる⽅法 (51)action matrixによる解答例3/3(固有値問題)
多項式f1,…,fs
Gröbner basis
g1,…,gt
基底B
写像[g]→[fg]の基底
Bの表現⾏列mf
Mfの固有値がf(p)
4. 固有値問題に帰着
させる⽅法
消失定理による解法の問題点…単項式順序依存、累積誤差
商環…多項式全体をイデアルの同値類で割ったもの
action matrixの固有値問題…[g]→[xg]の表現⾏列の固有値がxの解
まとめ
1.Introduction 53
• Gröbner basis導出の⾼速化
• Traceアルゴリズム
• F4
• FGLM(順序変換)
• Gröbner basis導出の⾃動化
• Syzygyを使った⽅法
• Beyond Gröbner bases: Basis Selection
for Minimal Solvers
…
次回予告?
技術書典8に計数⼯学科、物理⼯学
科で出展します!僕もGröbner
basisに関して記事を書く予定!

More Related Content

What's hot

変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 

What's hot (20)

[DL輪読会]Pay Attention to MLPs (gMLP)
[DL輪読会]Pay Attention to MLPs	(gMLP)[DL輪読会]Pay Attention to MLPs	(gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
 
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勉強会@関東)
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題について
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
20190825 vins mono
20190825 vins mono20190825 vins mono
20190825 vins mono
 

コンピュータービジョンのためのグレブナー基底入門1