Message Passing Least Squares Framework and Its Applications to Rotation Synchronization
Yunpeng Shi
Joint work with Prof. Gilad Lerman School of Mathematics University of Minnesota
Its Applications to Rotation Synchronization Yunpeng Shi Joint work - - PowerPoint PPT Presentation
Message Passing Least Squares Framework and Its Applications to Rotation Synchronization Yunpeng Shi Joint work with Prof. Gilad Lerman School of Mathematics University of Minnesota Rotation Synchronization 3 2 1 5 4 Given a graph
Message Passing Least Squares Framework and Its Applications to Rotation Synchronization
Yunpeng Shi
Joint work with Prof. Gilad Lerman School of Mathematics University of Minnesota
Given a graph ๐ป ๐ , ๐น ๐ : = 1,2,3, โฆ , ๐ , ๐น is the set of edges
๐1
โ = ?
๐2
โ = ?
๐3
โ = ?
๐4
โ = ?
๐5
โ = ?
Each node ๐ โ [๐] is assigned an unknown ground truth rotation ๐๐
โ โ ๐๐(3)
๐1
โ = ?
๐2
โ = ?
๐3
โ = ?
๐4
โ = ?
๐5
โ = ?
โ = ๐๐ โ๐๐ โโ1
โ ๐โ[๐] from ๐๐๐ ๐๐โ๐น
โ๐ ๐โ[๐] for any rotation ๐ is also a solution ๐12 ๐23 ๐25 ๐14 ๐45 ๐35
Camera orientation estimation in 3D reconstruction tasks:
Simultaneous localization and mapping (SLAM) Demonstration by Raรบl Mur-Artal Structure from motion (SfM) Demonstration by Carl Olsson
๐๐๐ = แ ๐๐๐
โ : = ๐๐ โ๐๐ โโ1,
๐๐ โ ๐น๐ เทจ ๐๐๐, ๐๐ โ ๐น๐
(good edges) (bad edges)
๐๐๐ = แ ๐๐๐
โ : = ๐๐ โ๐๐ โโ1,
๐๐ โ ๐น๐ เทจ ๐๐๐, ๐๐ โ ๐น๐ Corruption Level ๐ก๐๐
โ โ ๐(๐๐๐, ๐๐๐ โ )
Commonly, ๐ is the geodesic distance on ๐๐(3)
(good edges) (bad edges)
๐๐ ๐โ[๐]โ๐๐(3) เท ๐๐โ๐น
๐ โ1, ๐๐๐)
The most common approximate solution is the Lie algebraic averaging
๐๐ ๐โ[๐]โ๐๐(3) เท ๐๐โ๐น
๐ โ1, ๐๐๐)
How to minimize ฯ๐๐โ๐น ๐๐(๐๐๐๐
โ1, ๐๐๐) over ๐๐ ๐โ[๐] in SO(3)?
Iteratively Reweighted Least Squares (IRLS): ๐๐,๐ข ๐โ[๐] = argmin
๐๐ ๐โ[๐]โ๐๐(3)
ฯ๐๐โ๐น ๐ฅ๐๐,๐ข๐2(๐๐๐๐
โ1, ๐๐๐)
๐
๐๐,๐ข = ๐(๐๐,๐ข๐๐,๐ข โ1, ๐๐๐)
๐ฅ๐๐,๐ข+1 = ๐
๐๐,๐ข ๐โ2
How to minimize ฯ๐๐โ๐น ๐๐(๐๐๐๐
โ1, ๐๐๐) over ๐๐ ๐โ[๐] in SO(3)?
Iteratively Reweighted Least Squares (IRLS): ๐๐,๐ข ๐โ[๐] = argmin
๐๐ ๐โ[๐]โ๐๐(3)
ฯ๐๐โ๐น ๐ฅ๐๐,๐ข๐2(๐๐๐๐
โ1, ๐๐๐)
๐
๐๐,๐ข = ๐(๐๐,๐ข๐๐,๐ข โ1, ๐๐๐)
๐ฅ๐๐,๐ข+1 = ๐
๐๐,๐ข ๐โ2
Ideally, ๐
๐๐,๐ข โ ๐ก๐๐ โ โ ๐(๐๐๐, ๐๐๐ โ ) and ๐ฅ๐๐,๐ข+1 โ 1 ๐ก๐๐
โ
2โ๐
concentrates on ๐น๐
How to minimize ฯ๐๐โ๐น ๐๐(๐๐๐๐
โ1, ๐๐๐) over ๐๐ ๐โ[๐] in SO(3)?
โ and thus ๐ ๐๐,๐ข โ ๐ก๐๐ โ
๐ฅ๐๐,๐ข+1 =
1 ๐ ๐๐,๐ข 2โ๐
can be extremely high for ๐๐ โ ๐น๐
๐๐,๐ข ๐โ[๐] = argmin
๐๐ ๐โ[๐]โ๐๐(3)
เท
๐๐โ๐น
๐ฅ๐๐,๐ข๐2(๐๐๐๐
โ1, ๐๐๐)
๐๐,๐ข ๐โ[๐] = argmin
๐๐ ๐โ[๐]โ๐๐(3)
เท
๐๐โ๐น
๐ฅ๐๐,๐ข๐2(๐๐๐๐
โ1, ๐๐๐)
๐๐ ๐๐ ๐๐,๐ขโ1 Riemannian manifold of SO(3) Lie algebraic representation
๐๐,๐ข ๐โ[๐] = argmin
๐๐ ๐โ[๐]โ๐๐(3)
เท
๐๐โ๐น
๐ฅ๐๐,๐ข๐2(๐๐๐๐
โ1, ๐๐๐)
The Lie Algebraic Averaging uses the approximation ๐ ๐๐๐
๐ โ1, ๐๐๐
โ ิก๐๐ โ เธฎ ๐๐ โ ๐๐๐
2
where ๐๐ = log( ๐๐,๐ขโ1
โ1 ๐๐)
and ๐๐๐ = log( ๐๐,๐ขโ1
โ1 ๐๐๐๐ ๐,๐ขโ1)
The approximation is valid only when ๐๐ โ ๐๐
โ and ๐๐๐ โ ๐๐ โ๐๐ โโ1
๐๐ ๐๐ ๐๐,๐ขโ1
How to accurately estimate ๐ก๐๐
โ without knowing ๐๐ โ and ๐๐ โ ?
๐ก๐๐
โ โ ๐(๐๐๐, ๐๐๐ โ )
from 3-cycle inconsistency measure ๐๐๐๐ โ ๐(๐๐๐๐๐๐๐๐๐, ๐ฝ)
๐ก๐๐
โ โ ๐(๐๐๐, ๐๐๐ โ )
from 3-cycle inconsistency measure ๐๐๐๐ โ ๐(๐๐๐๐๐๐๐๐๐, ๐ฝ)
๐ก๐๐
โ โ ๐(๐๐๐, ๐๐๐ โ )
from 3-cycle inconsistency measure ๐๐๐๐ โ ๐(๐๐๐๐๐๐๐๐๐, ๐ฝ)
๐๐๐๐ = ๐(๐๐๐๐๐๐
โ ๐๐๐ โ , ๐ฝ)=๐(๐๐๐๐๐๐ โ ๐๐๐ โ ๐๐๐ โ , ๐๐๐ โ )=๐(๐๐๐, ๐๐๐ โ )= ๐ก๐๐ โ
= ๐ฝ by cycle consistency
๐๐๐๐1 ๐๐๐๐2 ๐๐๐๐49 ๐๐๐๐50
๐๐๐๐1 ๐๐๐๐2 = ๐ก๐๐
โ
๐๐๐๐49 = ๐ก๐๐
โ
๐๐๐๐50
๐๐๐๐1
๐ข
๐๐๐๐2
๐ข
๐๐๐๐49
๐ข
๐๐๐๐50
๐ข
๐๐
๐๐๐๐1 ๐๐๐๐2 = ๐ก๐๐
โ
๐๐๐๐49 = ๐ก๐๐
โ
๐๐๐๐50
๐๐๐๐1
๐ข
๐๐๐๐2
๐ข
๐๐๐๐49
๐ข
๐๐๐๐50
๐ข
๐ก๐๐
โ โ ๐ก๐๐,๐ข+1: = 1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ข ๐๐๐๐
๐๐
๐๐๐
๐ข = ฯ๐ ๐๐๐๐ ๐ข ๐๐๐๐
๐ก๐๐,๐ข ๐ก
๐๐,๐ข
๐โ๐พ๐ขโ ๐ก๐๐,๐ข ๐๐๐,๐ข ๐๐๐,๐ข ๐ก
๐๐,๐ข
๐โ๐พ๐ขโ
๐๐,๐ข
๐๐๐ ๐๐๐๐
๐ข
= ๐โ๐พ๐ข(๐ก๐๐,๐ข+๐ก๐๐,๐ข)
๐โ๐พ๐ขโ ๐ก๐๐,๐ข ๐๐๐,๐ข ๐๐๐,๐ข ๐ก
๐๐,๐ข
๐โ๐พ๐ขโ
๐๐,๐ข
๐๐๐๐
๐ข
= ๐โ๐พ๐ข(๐ก๐๐,๐ข+๐ก๐๐,๐ข) = ๐๐ (๐๐๐๐ = ๐ก๐๐
โ |{๐ก๐๐,๐ข: ๐๐ โ ๐น})
The conditional probability that ๐๐๐ is good (๐๐๐๐ = ๐ก๐๐
โ ):
The estimate of the corruption level:
๐ก๐๐,๐ข+1: =
1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ข ๐๐๐๐ = ๐ฝ(๐ก๐๐ โ |{๐ก๐๐,๐ข: ๐๐ โ ๐น})
If f
1 5
the hen
converges to ๐ก๐๐
โ .
Run CEMP for ๐ iterations Build a weighted graph with edge weights ๐ก๐๐,๐ ๐๐โ๐น Find the minimal spanning tree using Primโs Algorithm Initi nitializ ize ๐๐,0 by fixing ๐1,0 = ๐ฝ and ๐๐,0 = ๐๐๐ ๐๐,0 Initi nitializ ize weights ๐ฅ๐๐,0 = ๐บ(๐ก๐๐,๐) For ๐๐ minimization, ๐บ ๐ฆ = ๐ฆ๐โ2
where ๐๐ = log( ๐๐,๐ขโ1
โ1 ๐๐) and ๐๐๐ = log( ๐๐,๐ขโ1 โ1 ๐๐๐๐๐,๐ขโ1).
After solving ๐๐,๐ข, update ๐๐,๐ข = ๐๐,๐ขโ1exp(๐๐,๐ข). Residual ๐ ๐๐,๐ข: = เธฎ๐๐,๐ข โ เธฎ ๐๐,๐ข โ ๐๐๐
2 โ ๐ ๐๐,๐ข๐๐,๐ข โ1, ๐๐๐ โ ๐ก๐๐ โ
๐๐,๐ข ๐๐,๐ข ๐๐,๐ขโ1
๐๐,๐ข ๐โ[๐] = argmin
๐๐โโ3 เท ๐๐โ๐น
๐ฅ๐๐,๐ขิก๐๐ โ เธฎ ๐๐ โ ๐๐๐
2 2
โ , where ๐บ ๐ฆ = ๐ฆ๐โ2
โ than ๐ก๐๐,๐ข
IRLS: ๐ก๐๐
โ โ ๐ ๐๐,๐ข โ ๐ ๐๐,๐ข๐๐,๐ข โ1, ๐๐๐
and ๐ฅ๐๐,๐ข+1 = ๐บ ๐ ๐๐,๐ข CEMP: ๐ก๐๐
โ โ ๐ก๐๐,๐ข: = 1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ขโ1๐๐๐๐ and ๐๐๐๐ ๐ขโ1 = ๐โ๐พ๐ข(๐ก๐๐,๐ขโ1+๐ก๐๐,๐ขโ1)
MPLS: ๐ก๐๐
โ โ ๐๐๐,๐ข: = ๐ฝ๐ข โ๐๐,๐ข + (1 โ ๐ฝ๐ข) ๐ ๐๐,๐ข
and ๐ฅ๐๐,๐ข+1 = ๐บ ๐๐๐,๐ข where โ๐๐,๐ข: =
1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ข ๐๐๐๐ and ๐๐๐๐ ๐ข
= ๐โ๐พ๐(๐ ๐๐,๐ข+๐ ๐๐,๐ข)
IRLS: ๐ก๐๐
โ โ ๐ ๐๐,๐ข โ ๐ ๐๐,๐ข๐๐,๐ข โ1, ๐๐๐
and ๐ฅ๐๐,๐ข+1 = ๐บ ๐ ๐๐,๐ข CEMP: ๐ก๐๐
โ โ ๐ก๐๐,๐ข: = 1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ขโ1๐๐๐๐ and ๐๐๐๐ ๐ขโ1 = ๐โ๐พ๐ข(๐ก๐๐,๐ขโ1+๐ก๐๐,๐ขโ1)
MPLS: ๐ก๐๐
โ โ ๐๐๐,๐ข: = ๐ฝ๐ข โ๐๐,๐ข + (1 โ ๐ฝ๐ข) ๐ ๐๐,๐ข
and ๐ฅ๐๐,๐ข+1 = ๐บ ๐๐๐,๐ข where โ๐๐,๐ข: =
1 ๐๐๐
๐ข ฯ๐ ๐๐๐๐
๐ข ๐๐๐๐ and ๐๐๐๐ ๐ข
= ๐โ๐พ๐(๐ ๐๐,๐ข+๐ ๐๐,๐ข) โ๐๐,๐ข = ๐ฝ(๐ก๐๐
โ |{๐ ๐๐,๐ข: ๐๐ โ ๐น})
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข ๐ฅ๐๐,๐ข: weights
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข ๐ฅ๐๐,๐ข: weights ๐๐๐,๐ข : estimated relative rotations ๐๐,๐ข๐
๐,๐ข โ1
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข โ ๐
๐๐,๐ข
๐ฅ๐๐,๐ข: weights ๐๐๐,๐ข : estimated relative rotations ๐๐,๐ข๐
๐,๐ข โ1
๐
๐๐,๐ข: residuals
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข โ ๐
๐๐,๐ข โ โ๐๐,๐ข
๐ฅ๐๐,๐ข: weights ๐๐๐,๐ข : estimated relative rotations ๐๐,๐ข๐
๐,๐ข โ1
๐
๐๐,๐ข: residuals
โ๐๐,๐ข: analogue of ๐ก๐๐,๐ข (Note that ๐ก๐๐,๐ข =CEMP(๐ก๐๐,๐ขโ1) and โ๐๐,๐ข =CEMP(๐
๐๐,๐ข))
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข โ ๐
๐๐,๐ข โ โ๐๐,๐ข โ ๐๐๐,๐ข
๐ฅ๐๐,๐ข: weights ๐๐๐,๐ข : estimated relative rotations ๐๐,๐ข๐
๐,๐ข โ1
๐
๐๐,๐ข: residuals
โ๐๐,๐ข: analogue of ๐ก๐๐,๐ข (Note that ๐ก๐๐,๐ข =CEMP(๐ก๐๐,๐ขโ1) and โ๐๐,๐ข =CEMP(๐
๐๐,๐ข))
IRLS: ๐
๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข โ ๐ ๐๐,๐ข
MPLS: ๐๐๐,๐ขโ1 โ ๐ฅ๐๐,๐ข โ ๐๐๐,๐ข โ ๐
๐๐,๐ข โ โ๐๐,๐ข โ ๐๐๐,๐ข
CEMP: ๐ก๐๐,๐ขโ1 โ ๐ก๐๐,๐ข ๐ฅ๐๐,๐ข: weights ๐๐๐,๐ข : estimated relative rotations ๐๐,๐ข๐๐,๐ข
โ1
๐
๐๐,๐ข: residuals
โ๐๐,๐ข: analogue of ๐ก๐๐,๐ข (Note that ๐ก๐๐,๐ข =CEMP(๐ก๐๐,๐ขโ1) and โ๐๐,๐ข =CEMP(๐
๐๐,๐ข))
๐ = 5, ๐พ๐ข = 2๐ข for ๐ข = 0, โฆ , 5. For ๐ข > 0 ๐ฝ๐ข = 1 ๐ข + 1 , ๐บ ๐ฆ = ๐ฆโ3
2 โ 1(๐ฆ < ๐๐ข)
๐1/2 minimization Additional Thresholding
๐12 โ ๐12
โ
๐23 โ ๐23
โ
๐35~Haar(SO(3)) ๐14~Haar(SO(3)) ๐25 โ ๐25
โ
๐45 โ ๐45
โ
1 2
3 5 4
Corrupted with Prob. q
๐12 โ ๐12
โ
๐23 โ ๐23
โ
๐35~Haar(G) ๐14~Haar(G) ๐25 โ ๐25
โ
๐45 โ ๐45
โ
1 2 3 5 4
Corrupted with Prob. q
Uniform Corruption
q: prob. of corruption ๐: noise level
๐12 โ ๐12
โ
๐23 = เทจ ๐2 เทจ ๐3
โ1
๐35 = เทจ ๐3 เทจ ๐5
โ1
เทจ ๐๐~Haar(SO(3)) for ๐ โ [๐] ๐25 = เทจ ๐2 เทจ ๐5
โ1
๐45 โ ๐45
โ
1 2
3 5 4
Corrupted with Prob. q ๐14 = เทจ ๐1 เทจ ๐4
โ1
Self-Consistent Corruption
q: prob. of corruption ๐: noise level
theory for MPLS (exact recovery and convergence); more applications; adaptive reweighting parameters/optimal reweighting functions