Robust Optimization ์ด๋?
- ํ์ค ์ธ๊ณ์์๋ ๋ค์ํ ์ด์ ๋ก ์ธํด False Correspondences ๊ฐ ์กด์ฌํ๋ค.
- ๋ฐ๋ผ์ ์ด๋ฐ ์๋ชป๋ constraint ๋ก ์ธํด, ์ ์ฒด ํด(solution)๊ฐ ๋ง๊ฐ์ง ์ ์๋ค.
- ์ด๋ฐ ์ํฉ์์๋ ๊ฐ๊ฑดํ๊ฒ ์ต์ ํ๋ฅผ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ ์ค์ตํด๋ณด์.
Robust Optimization์ ํ์์ฑ
Recap
- ์ง๋ ํฌ์คํธ (Sim(3) ICP, Pose-graph Optimization)์ ์ด์ด ๊ณ์ํด์, Robotics ์์์ Nonlinear Optimization ์ ํ์ด๋ณด๋ ์ค์ต์ ํด๋ณด์.
- SymForce ๋ฅผ ์ด์ฉํด์!
- ps. Robotics ์์
์ด๋ค
(Non)-linear problem ๋ค์ Least square optimization ์ผ๋ก์ด๋ป๊ฒ
ํธ๋์ง์ ๊ดํด์๋ Grisetti ๊ต์๋์ Least squares optimization: From theory to practice ๋ ผ๋ฌธ์ ์ฝ์ด๋ณด๊ธฐ๋ฅผ ์ถ์ฒํจ.
์ด์ vs ํ์ค
- ์ด์: ๊ทธ๋ฐ๋ฐ ์์ ์์ ๋ค์์๋ True correspondence ๋ฅผ ๊ฐ์ ํ์๋ค.
- ํ์ค: ํ์ง๋ง ํ์ค ์ธ๊ณ์์๋, ์ผ์ ๋
ธ์ด์ฆ, ์ ์ฌํ ์ฅ์, ์๊ณ ๋ฆฌ์ฆ์ ํ๊ณ ๋ฑ ๋ค์ํ ์ด์ ๋ก ์ธํด False correspondence๊ฐ ์๊ธฐ๋ ๊ฒ์ ํผํ ์ ์๋ค.
- ์๋ฅผ ๋ค๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. (Full ํํ ๋ฆฌ์ผ ์์์ ์ฌ๊ธฐ์ ๋ณผ ์ ์๋ค)
- ์์ ํฌ์คํธ ์ ๋์ผํ Sim(3) Registration ๋ฌธ์ ์ด๋ค.
- ์ฌ๊ธฐ์ ์ ์ผ ์ผ์ชฝ ๊ทธ๋ฆผ์์, ์ด๋ก์ ์ ์ True correspondence ๋ฅผ ์๋ฏธํ๊ณ , ๋นจ๊ฐ์ pair lines ๋ False correspondences ๋ฅผ ์๋ฏธํ๋ค.
- ์ฆ, ์ด๋ก pair ๋ ์ค์ ๋ก ์๋ฏธ์ ์ผ๋ก ๋์ผํ ๋ถ๋ถ์ด๋ฉฐ, ๋นจ๊ฐ pair๋ ์ค์ ๋ก ๋ค๋ฅธ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ ๋ถ๋ถ์ด ๊ฐ์์ ธ์๋ ์๋๋ค.
- ํ์ง๋ง Solver ์
์ฅ์์๋ ์ด๋ค pair ๊ฐ true ์ด๊ณ false ์ธ์ง ์ ์ ์๊ธฐ ๋๋ฌธ์, ์ด๋ค ๋ชจ๋ constraints ๋ฅผ ๋์์ ๋ง์กฑํ๋ ค๊ณ ํ๋ค๋ณด๋ฉด, solution์ด ๋ง๊ฐ์ง๋ค. ์ค์์ ๊ทธ๋ฆผ์ ๊ทธ๋ฐ ์์์ด๋ค.
- ps. ์ฌ๊ธฐ์๋ ๊ณผ์ฅํด์ ์ ๋ฐ (50%) ์ด outlier ์ธ ์ํฉ์ ๊ฐ์ ํ์ง๋ง, ๋ณธ ํํ ๋ฆฌ์ผ์์ ์ค๋ช
ํ๋ robust kernel ์ ์ ์ฉํ์ง ์์ผ๋ฉด, ๋จ 5%์ outlier ๋ง ์๋๋ผ๋ ํด๊ฐ ์๋ ดํ์ง ์์ ์ ์๋ค (๋ค์์ ์ค์ต์์ ์์๋ณผ ์์ ).
- ps2. ์ฌ์ค ์ค์ ์ํฉ์์ 50% ๊น์ง๋ low outlier ๋ผ๊ณ ์ฌ๊ฒจ์ง๋ ๋ฏ.
- Robotics ์์ Robust optimization ์ฐ๊ตฌ๋ฅผ ๋ง์ด ํ๋ MIT์ Luca Carlone ๊ต์๋์ ์ต๊ทผ ๋
ผ๋ฌธ Estimation Contracts for Outlier-Robust Geometric Perception ์ ๋ณด๋ฉด ์ด๋ฐ ๋ง์ด ๋์จ๋คโฆ (์ด ๊ต์๋์ ์ฌ์ ์ outlier ์ ๋น์จ์ด ์๋ ค์ ธ์์ง ์์ ๋์๋, ๊ทธ๋ฆฌ๊ณ 99%์ outlier ๊ฐ ์์ ๋์๋ ์ด๋ป๊ฒ ๊ฐ๊ฑดํ๊ฒ ์ต์ ํ๋ฅผ ํ ๊ฒ์ธ๊ฐ.. ์ด๋ฐ ์ฐ๊ตฌ๋ค์ ํ์ ๋ค)
For the case with low-outlier rates (i.e., ฮฒ << 0.5), ...
- Robotics ์์ Robust optimization ์ฐ๊ตฌ๋ฅผ ๋ง์ด ํ๋ MIT์ Luca Carlone ๊ต์๋์ ์ต๊ทผ ๋
ผ๋ฌธ Estimation Contracts for Outlier-Robust Geometric Perception ์ ๋ณด๋ฉด ์ด๋ฐ ๋ง์ด ๋์จ๋คโฆ (์ด ๊ต์๋์ ์ฌ์ ์ outlier ์ ๋น์จ์ด ์๋ ค์ ธ์์ง ์์ ๋์๋, ๊ทธ๋ฆฌ๊ณ 99%์ outlier ๊ฐ ์์ ๋์๋ ์ด๋ป๊ฒ ๊ฐ๊ฑดํ๊ฒ ์ต์ ํ๋ฅผ ํ ๊ฒ์ธ๊ฐ.. ์ด๋ฐ ์ฐ๊ตฌ๋ค์ ํ์ ๋ค)
- ps2. ์ฌ์ค ์ค์ ์ํฉ์์ 50% ๊น์ง๋ low outlier ๋ผ๊ณ ์ฌ๊ฒจ์ง๋ ๋ฏ.
- ps. ์ฌ๊ธฐ์๋ ๊ณผ์ฅํด์ ์ ๋ฐ (50%) ์ด outlier ์ธ ์ํฉ์ ๊ฐ์ ํ์ง๋ง, ๋ณธ ํํ ๋ฆฌ์ผ์์ ์ค๋ช
ํ๋ robust kernel ์ ์ ์ฉํ์ง ์์ผ๋ฉด, ๋จ 5%์ outlier ๋ง ์๋๋ผ๋ ํด๊ฐ ์๋ ดํ์ง ์์ ์ ์๋ค (๋ค์์ ์ค์ต์์ ์์๋ณผ ์์ ).
- ์ํผ ํํธ, Robust optimization ์ ํตํ๋ฉด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ๋ผ, ํ์ ์ฉ์ด ํ๋์ ์ฉ์ ์์ค๊น์ง ์ฌ๋ฐ๋ฅด๊ฒ ์ ํฉ์ด ๋ ๊ฒ์ ์ ์ ์๋ค.
- ์๋ฅผ ๋ค๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. (Full ํํ ๋ฆฌ์ผ ์์์ ์ฌ๊ธฐ์ ๋ณผ ์ ์๋ค)
- ์ด์ ๋ถํฐ (์ด๋ฐ outlier correspondences ๊ฐ ์์ ๋์๋) ์ด๋ป๊ฒ ์์ ํ๊ฒ ์ต์ ํ ํ๋์ง ๊ฐ๋จ ์ด๋ก + ์ค์ต ์ ํตํด ์์๋ณด์!
Robust optimization ์ ์ํ ์ ๊ทผ ๋ ์ข ๋ฅ
- ์ค์ต์ ์์, ๋จผ์ ๊ฐ๋จํ๊ฒ ํ์ํ ๊ฐ๋ ์ ๋ํด ์์๋ณด์.
Least square optimization
- Least square optimization ๋ฌธ์ ์ ์ํ์ ๊ถ๊ทน์ ์ผ๋ก ๋ชจ๋ ์๋์ ๊ฐ์ ๋ชจ์์ ๋ฐ๋ฅธ๋ค.
- ์ด๋ค ๋ชจ๋ธ (cost function == observation model๊ณผ measurement ์ ์ฐจ์ด) $\text{x}$ ๊ฐ ์๊ณ , ์ฐ๋ฆฌ๋ ์ด๊ฒ๋ค์ ์ด ํฉ์ ์ต์ํ ํ๋ parameter $\theta$ ์ ์ต์ ๊ฐ์ ์๊ณ ์ถ๋ค.
- ps. ์ด ๋ ๋ณดํต robotics ์์์ cost function ํน์ observation model ๋ค์ nonlinear ํ ๊ฒฝ์ฐ๊ฐ ๋ง์์, ์ $\text{x}$ ์ ๋ฏธ๋ถ์ธ ์์ฝ๋น์์ ๊ณ์ฐํด์ผ ํ๋๋ฐ ์ด๋ถ๋ถ์ SymForce ๊ฐ ์์์ ์ ํด์ค๋คโฆ ์ ๋ํ ๋ด์ฉ์ ์ง๋ ํํ ๋ฆฌ์ผ๋ค์์ ๊ณ์ ๊ฐ์กฐํ์์๋ค (๊ทธ๋์ ์ด๋ฒ์๋ ๊ทธ ์ค๋ช ์ ๋์ด๊ฐ๋๋ก ํ๊ณ ).
- ์ด ๋ ์ index ๋ณ์ $i$๋ผ๋ ๊ฒ์, ์๋ฅผ ๋ค์ด, ์์ ์์ point cloud ๊ทธ๋ฆผ์์ ์ฉ์ 1000๊ฐ์ ํฌ์ธํธ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ์ด ๋ 1000๊ฐ์ correspondence ๊ฐ ์กด์ฌํ๋ค๋ฉด, ์ด๊ฒ๋ค์ index๋ฅผ ์๋ฏธํ๋ค. ๊ทธ ์ค ์ด๋ค i์ ๋ํด์๋ true correspondence ์ด๊ณ , ๊ทธ ์ค ๋ค๋ฅธ i์ ๋ํด์๋ false correspondence ๊ฐ ์์ฌ ์๋ ๊ฒ์ด๋ค.
- ์ด๋ค ๋ชจ๋ธ (cost function == observation model๊ณผ measurement ์ ์ฐจ์ด) $\text{x}$ ๊ฐ ์๊ณ , ์ฐ๋ฆฌ๋ ์ด๊ฒ๋ค์ ์ด ํฉ์ ์ต์ํ ํ๋ parameter $\theta$ ์ ์ต์ ๊ฐ์ ์๊ณ ์ถ๋ค.
- ์ฐ๋ฆฌ์ ๋ชฉํ๋ false correspondence ์ ์ํฅ๋ ฅ์ ์์ ๋ ๊ฒ์ด๋ค. ์ด๋ป๊ฒ ํ ์ ์์๊น?
- ๋จผ์ , ๋๊ฐ false correspondence ์ธ์ง ํ์คํ๊ฒ ์ฐพ์์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ด ์์ ์ ์๋ค. ์ด๋ฅธ๋ฐ explicit removal ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์๊ฒ ๋ค.
- ๊ทธ๋ฐ๋ฐ ๊ทธ๊ฒ์ด ๋ง์ฝ ์ด๋ ต๋ค๋ฉด, false correspondence โ์ผ ๊ฒ ๊ฐ์โ term ์์ ์์ฃผ ์์ weight ๋ฅผ ๊ณฑํด์ฃผ๋ฉด ๋๊ฒ ๋ค. ์ด๋ฅธ๋ฐ deweighting ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ ์ ์๊ฒ ๋ค.
- ์ด ๋ ๋ถ๋ฅ์ ๊ดํ ์ค๋ช
์ Scale-Variant Robust Kernel Optimization for Non-linear Least Squares Problems ๋
ผ๋ฌธ์ 1์ชฝ์ ์ ์ค๋ช
๋์ด ์๋ค (1์ชฝ๋ง ์ฝ์ด๋ ์ถฉ๋ถํจ).
- ์ฌ๊ธฐ์๋ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌ๋ฅผ ํด๋ณด์.
1. Explicit Removal
RANSAC
์ผ๋ก ๋ํ๋๋ ๊ณ์ด.- ์ด ๋ถ๋ฅ์ ํด๋นํ๋ Robotics applications ์์์ (2022๋ 8์๊น์ง์) ๋ ผ๋ฌธ๋ค ์ญ์ ๋ฐฉ๊ธ ์๊ฐํ ๋ ผ๋ฌธ Scale-Variant Robust Kernel Optimization for Non-linear Least Squares Problems ๋ ผ๋ฌธ ์ ์ ์ ๋ฆฌ๋์ด์์ผ๋ ์ฐธ๊ณ .
- ๊ทธ๋์ (+RANSAC์ ๋๋ฌด ์ ๋ช ํ๋) ์ด ํฌ์คํธ์์๋ ์์ธํ ์ค๋ช ์ ์๋ตํ๋ค.
- ๊ตณ์ด Robotics์์์ ์ต๊ทผ ๋
ผ๋ฌธ ์ค ํ๋๋ง ๊ผฝ์๋ฉด 2018 ICRA Pairwise consistent measurement set maximization for robust multirobot map merging ๋
ผ๋ฌธ์ ์ถ์ฒ.
- ps. ์ฌ๊ธฐ ๋์ค๋
maximal clique
๋ผ๋ ์ฉ์ด์ ๋ํด์๋ ์์๋๋ฉด ์ข๊ธฐ ๋๋ฌธ. max clique inlier selection (MCIS) ๋ผ๊ณ ํด์ TEASER++ (20 TRO Teaser: Fast and certifiable point cloud registration), Quatro (22 ICRA A Single Correspondence Is Enough: #Robust Global Registration to Avoid Degeneracy in Urban Environments) ๋ฑ ์ต๊ทผ ๋ ผ๋ฌธ๋ค์์ ๋ง์ด ๋ฑ์ฅํ๋ ๊ฐ๋ ์ด๋ค.
- ps. ์ฌ๊ธฐ ๋์ค๋
2. (Implicit) Deweighting
M-estimator
๋ผ๊ณ ์์ฃผ ๋ถ๋ฆฌ๋ ๊ณ์ด.- ์์ ์๊ฐํ consensus ๊ธฐ๋ฐ outlier rejection ๊ธฐ๋ฒ๋ค์ ํจ๊ณผ๋ ์ข์ง๋ง, ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค.
- ๊ทธ๋ฆฌ๊ณ ํ์ค ์ธ๊ณ์์๋ ์ด๋ค pair ๊ฐ false correspondence ์ธ์ง ํ๋ณํ๋ ์์ ์ด ์ฌ์ ํ ์ด๋ ค์ธ ์ ์๊ธฐ ๋๋ฌธ์, ์์ explicit removal ๊ณผ์ ์ ๊ฑฐ์ณค๋๋ผ๋, ์ฌ์ ํ false correspondence ๊ฐ 100% ์ ๊ฑฐ๋์์์ ๊ธฐ๋ํ๊ธฐ๋ ์ด๋ ค์ธ ์ ์๋ค.
- ๊ทธ๋์ ์ตํ์ ๋ฐฉ์ด๋ผ์ธ?!์ด ํ์ํ๋ค.
- ๊ทธ ์ญํ ์ ํ๋ ๊ฒ์ด M-estimator ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ๊ณ์ด์ด๋ฉฐ, โrobust loss function (e.g., see Ceres)โ, โrobust kernel ์ ์์ด๋คโ ๋ฑ๋ฑ์ผ๋ก ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
- ์์ฝ
- False correspondence โ์ผ ๊ฒ ๊ฐ์โ term ์์ ์์ weight ๊ฐ์ด ๊ณฑํด์ง๋๋ก ํ์๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
- ๊ทธ๋ฐ๋ฐ ์ด๋ป๊ฒ ํ๋๋ฉด:
- ์์ least square optimization ์ ์ฌ์ค iterative ํ๊ฒ ํธ๋ ๊ฒ์ด๋ค. ์ฆ, initial estimate ์ด ์ฃผ์ด์ ธ์์ ๋ ์ด๋๋ก ์ผ๋ง๋งํผ ์ด๋ํด์ผ ์ต์ ํด์ ๊ฐ๊น์์ง์ง โdeltaโ ๋ฅผ ์ต์ ํํ๋ ๊ฒ. ์ด ๋ถ๋ถ์ ๋ํด์๋ ๋ Grisetti ๊ต์๋์ tutorial ์๋ฃ ๋ฅผ ์ฐธ๊ณ ํ๋ผ๊ณ ์ด์ผ๊ธฐ ํ๋ ์ค.
- ๋ฐ๋ผ์ initial value ๊ฐ ์ ์ ํ ์ข๋ค๋ฉด (์ ์ ํ ์ข์์ผ๋ง ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ์ฐ๋ฆฌ์ observation model๋ค์ด ๋์ฒด๋ก nonlinear ํ๊ธฐ ๋๋ฌธ์), false correspondence ์ cost ๊ฐ์ ํด ๊ฒ์ด๋ผ๊ณ ์์ธกํด๋ณผ ์ ์๋ค.
- ๊ทธ๋ผ error ๊ฐ์ ๋ฐ๋ผ weight ๋ฅผ ๊ฒฐ์ ํด์ฃผ๋ฉด ๋๊ฒ ๋ค! ๋ผ๊ณ ์๊ฐํด๋ณผ ์ ์๊ฒ ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ๊ฒ์ if๋ฌธ์ผ๋ก ๋๋ฐฐํ๋ ๊ฒ์ด ์๋๋ผ. ์์ฃผ ์์ฐ์ค๋ฝ๊ฒ. ์ด๋ค ํจ์ $\rho(\cdot)$ ๋ฅผ ๊ธฐ์กด cost function ์ ์์์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ์ด ํจ์๋ฅผ kernel ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
- ์์ธํ ๊ฑด ์๋ ์ฌ๋ผ์ด๋ ์ฐธ๊ณ .
- ์ค๋ช
(slides from SNU talk)
- ๊ทธ๋์ ์์ ์ฌ๋ผ์ด๋์์๋ ์๊ฐํ๋ฏ 1995๋
Parameter Estimation Techniques: A Tutorial with Application to Conic Fitting ๋
ผ๋ฌธ์ ๋ณด๋ฉด Huber, Cauchy, โฆ ๋ญ ์ข
๋ฅ๊ฐ ๋ง๋ค.
- ์ด์จ๊ฑฐ๋ deweighting ํ๋ ๋ฏผ๊ฐ๋๋ฅผ ์กฐ๊ธ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ฒ ์ค์ ํ๊ฒ ๋ค๋ ์ด์ผ๊ธฐ์ด์ง ๊ฑฐ์ ๊ฐ๋ ์ ๋น์ทํ๋ค.
- ํํธ, 2019๋
CVPR์์ John Barron ๋๊ป์
์ด ๋ชจ๋ ๋ค์ํ Kernel ๋ค์ ์ฌ์ค general ํ ์์์ ํน์์๋ค์ ์ง๋์ง ์์!
์ด๋ผ๋ ๋ ผ๋ฌธ์ ๋๋ค.- 2019 CVPR, A general and adaptive robust loss function
- ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด SymForce ์์
BarronNoiseModel
์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ด๋ฏธ ๊ตฌํ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์, ์๋ ์ค์ต์์ ์ฐ๋ฆฌ๋ ์ด๋ฅผ ์ฌ์ฉํด๋ณผ ๊ฒ์ด๋ค. - ํบ์๋ณด๋ฉด, SymForce์
noise_models.py
์์ ์ด๋ฌํ ์ฃผ์์ ๋ณผ ์ ์๋ค.# see the class BarronNoiseModel(ScalarNoiseModel) definition in noise_models.py """ alpha: Controls shape and convexity of the loss function. Notable values: alpha = 2 -> L2 loss alpha = 1 -> Pseudo-huber loss alpha = 0 -> Cauchy loss alpha = -2 -> Geman-McClure loss alpha = -inf -> Welsch loss delta: Determines the transition point from quadratic to robust. Similar to "delta" as used by the pseudo-huber loss function. scalar_information: Scalar representing the inverse of the variance of an element of the unwhitened residual. Conceptually, we use "scalar_information" to whiten (in a probabalistic sense) the unwhitened residual before passing it through the Barron loss. x_epsilon: Small value used for handling the singularity at x == 0. alpha_epsilon: Small value used for handling singularities around alpha. """
- ์ด ๊ณ์ด์ ๋ฐฉ๋ฒ์ ๊ตฌํํ๋ ์ ์ฅ์์ ๋๊ฒ straightforward ํ๋ค๋ ๊ฒ์ด ์ฅ์ ์ด๋ค.
- ๊ทธ๋์ ์์ ์ฌ๋ผ์ด๋์์๋ ์๊ฐํ๋ฏ 1995๋
Parameter Estimation Techniques: A Tutorial with Application to Conic Fitting ๋
ผ๋ฌธ์ ๋ณด๋ฉด Huber, Cauchy, โฆ ๋ญ ์ข
๋ฅ๊ฐ ๋ง๋ค.
์ค์ต
- ์ฌ๊ธฐ Jupyter notebook ์ผ๋ก ์ค์ต์ ๊ฐ์ ํด๋ณผ ์ ์๋ค.
- ์ ์ฒด์ ์ธ ์ค์ต์ฝ๋์ ๋ฐฑ๋ณธ์ ์ ํธ๊ณผ ๋์ผํ๋ค.
- ๋ค๋ง ์ด์ false correspondences ๋ฅผ ์์ด์ฃผ๋ ๋ถ๋ถ, robust kernel์ ์์ฐ๋ ๋ถ๋ถ ์ ๋ ์ ์์ ์ด ์๋ค.
- ๊ธฐ์กด ICP ์๊ณ ๋ฆฌ์ฆ ์ฝ๋๊ฐ ์์ ํ ๋์ผํ ๋, ๋จ์ํ robust kernel ์ ์์ฐ๋ ๊ฒ (์ต์ํ์ ์ฝ๋์์ !)๋ง์ผ๋ก๋ outlier ์ ๊ฐํธํ๊ฒ ๋์ํ ์ ์๋ค๋ ๊ฒ์ด M-estimation ๋ฐฉ๋ฒ์ ์ฅ์ ์ด๋ค!
- ์ง์ ์ค์ต์ ํตํด ๋๊ปด๋ณด์.
- ps. ๋ฌผ๋ก trick๋ค์ ์ข ์์ด์ฃผ๋ฉด ์ข๋ค. ์๋ฅผ ๋ค์ด, ์์ ์ค์ต์ฝ๋์ ๋ณด๋ฉด ์ต์ ํ ๋์์ด ๋๋ 7-dim state vector ์์ ํน์ dimension (ํนํ scale๋ถ๋ถ) ์ ๊ฐ ํฌ๊ธฐ๋ฅผ ๋ค๋ฅธ element ๋๋น ์ข ์๊ฒ rescaling ํด์ฃผ๋ฉด ์๋ ด์ด ๋์ฑ ์์ ์ ์ผ๋ก ๋๋ค.
- ์์ธํ ์ค์ต๊ณผ์ ์ ์์์ผ๋ก ๋์ฒดํจ.
๊ฒฐ๋ก
์์ฝ
- Robust optimization ์ ๋ ๋ถ๋ฅ (1. outlier pruning, 2. deweighting) ์ ๋ํด ์์๋ณด์๋ค.
- Outlier๊ฐ ์์ ๋์๋ Sim(3) registration ์ด ์๋๋ ์ค์ต์ ํด๋ณด์๋ค.
- SymForce์ Barron loss ๋ฅผ ์ฌ์ฉํด์ deweighting ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
- robust loss ์์ด๋ ๋จ 5%์ outlier๋ง ์๋๋ผ๋ ํด๊ฐ ์๋ ดํ์ง ์๋๋ค.
- ๋ฐ๋ฉด 50% ์ outlier ๊ฐ ์์ด๋ ํด๊ฐ ๊นจ์ง์ง ์๊ณ ์ ์๋ ดํ๋ค.
- note: ํ์ง๋ง ์ด๋์ ๋ ์๋ ด ์ํ์ ์ด ์๊ธฐ ๋๋ฌธ์, robust loss ๋ฅผ ํตํด ์์ ํ๊ฒ ์ด๋์ ๋ estimate ์ ์์ธกํ๊ณ ๋ ๋ค์์๋, correspondence ์ฐพ๋ ๊ณผ์ ์ ๋ค์ ์ํํด์ฃผ์ด์, outlier ๋น์จ ์์ฒด๋ฅผ ๋ค์ ํ๋ฒ ์ค์ฌ์ฃผ๋ ค๋ ๋ ธ๋ ฅ์ด ํ์ค๋ฌธ์ ๋ฅผ ํ ๋์๋ ์๊ตฌ๋ ๊ฒ์ด๋ค.
์ฌ๋ด
Pose-graph optimization ์์ ์ ์ฉ
- ์์ ํฌ์คํธ ์์๋ ์์๋ณด์๋ฏ์ด, pose-graph optimization์ ํตํด ๋์ ๋ trajectory์ drift๋ฅผ ๊ทน๋ณตํ๊ณ globally consistent ํ map์ ๋ง๋๋ ๋ฐ ๊ธฐ์ฌํ ์ ์๋ค. ์ด ์์ ์์๋ ๊ฐ๋จํ circle ํํ์ trajectory์์๊ณ , ์ญ์ correspondence ๊ฐ ์ฃผ์ด์ ธ์์๋ค. ์ฆ, ํ ๋ฐํด๋ฅผ ๋์๋ค๋ ์ฌ์ค์ ์ด๋ฏธ ์๊ณ ์์๊ณ , ์ ์ผ ์ฒซ๋ฒ์งธ node์ ์ ์ผ ๋ง์ง๋ง node ์ฌ์ด๋ฅผ ์ด์ด์ฃผ๋ฉด ๋๋ค๋ ๊ฒ์ด ์๋ ค์ ธ์์๋ค.
- ๋ฌผ๋ก , ํ์ค์ธ๊ณ์์ ๊ทธ ์ฌ์ค์ ๊ทธ๋ ๊ฒ ์ฝ๊ฒ ์๋ ค์ง์ง๋ ์๊ณ โฆ ์ด๊ฒ์ ๋ํด ์ฐ๊ตฌํ๋ ๋ถ์ผ๊ฐ place recognition ์ด๋ค.
- ํ์ค ์ธ๊ณ์์๋ perceptual aliasing ์ด ๋น๋ฒํ๊ธฐ ๋๋ฌธ์, ์ญ์ ์ด place recognition ์ ์ํํ ๋์๋ false correspondence ๊ฐ ๋ง๋ค์ด์ง๊ธฐ ์ฝ๋ค.
- ์ฆ ์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ด ..
- ๊ทธ๋์ pose-graph optimization ์ ์ํํ ๋์๋ ์์ ์๊ฐํ Deweighting ์ ํ์๋ก ์ ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๋ฉด โฆ ์ ์ฒด์ ์ผ๋ก Trajectory ๊ฐ ๋ง๊ฐ์ง๊ฒ ๋๋ค. ์๋์ ๊ฐ์ด โฆ (๊ทธ๋ฆผ์ 13 ICRA Robust map optimization using dynamic covariance scaling)
- Deweighting (๊ฐ๋จํ๊ฒ Cauchy kernel) ์ ์ ์ฉํ๋ฉด ์๋์ ๊ฐ์ด, false pair ๊ฐ ์์ฃผ์์ฃผ ๋ง์๋ ์ ์ฒด trajectory๊ฐ ๊นจ์ง์ง ์๊ณ ์ ๊ตฌ์ฑ๋ ๊ฒ์ ์ ์ ์๋ค.
- ์๋ ๊ทธ๋ฆผ์ SC-A-LOAM ์ ์ํํ ๊ฒฐ๊ณผ ์์.
The three important things in computer vision
- ์ฌ๋ด์ผ๋ก ์ฌ๋ฏธ์๋ ์ด์ผ๊ธฐ ํ๋.
- CMU ๋ฐ์ฌ๋ฅผ ์กธ์
ํ Xiaolong Wang ๊ต์๋ ์ ๋ฐ์ฌํ์๋
ผ๋ฌธ์ ๋ณด๋ฉด ์ด๋ฐ๋ง์ด ๋์จ๋ค.
- Computer vision ์์ ๊ทธ ์ ๋ช ํ Takeo Kanade (Lucas-Kanade ์!) ๊ต์๋์ด ํ ๋ง์ด๋ผ๊ณ (๋ฏฟ๊ฑฐ๋ ๋ง๊ฑฐ๋) ํ๋ค.
- Computer vision ์ด ๋ค๋ฃจ๋ ํ์คํฌ ์ค ์ ์ผ ์ค์ํ ์ธ ๊ฐ์ง๋ฅผ ๊ผฝ์ผ๋ผ๋ฉด correspondence์ correspondence์ correspondence ๋ผ๊ณ โฆ
- ์ด๋ฒ ํฌ์คํธ์์ ๋ฐฉ์ด์ ์ญํ ์ ํ๋ m-estimation ๊ธฐ๋ฐ์ robuist optimization์ ๋ํด ์์๋ณด์์ง๋ง, ์ด์จ๋ ์ด๋ ๋ฐฉ์ด์ ์ธ๊ฒ์ด๊ณ .. ์์ ํฌ์คํ ๋ค์์ ์ดํด๋ณด์๋ฏ correspondence ๊ฐ true ๋ฉด ์ต์ ํ๋ ์ด๋ก ์ ์ผ๋ก ์ ๋ ์๋ฐ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ต๊ทผ ๋ฅ๋ฌ๋์ด ์ ๋ง ์ํ๋ ๋ถ๋ถ๋ ๋ฐ๋ก ์ด๋ฐ ๋ถ๋ถ์ด ๋๊ฒ ๋ค.
- ์๋ฅผ ๋ค์ด SuperPoint, SuperGlue, LoFTR ๋ก ๋ํ๋๋ ๋ฅ ๋งค์นญ ๋ฐฉ๋ฒ๋ค.
- ๊ทธ๋์ Robotics ์์ ๋ ์ค์ํ ๋ฌธ์ ์ค ํ๋์ธ Visual Localization (== cameraโs 6D pose estimation) ์์๋ SuperGlue ์ ๊ธฐ๋ฐํ ๋ฐฉ๋ฒ์ด Sota ๋ฅผ ์ฐ๊ธฐ๋ ํ์๋ค.
- ๊ทธ๋์ ์ญ์ visual localization์์๋ correspondence๋ง ์ ์์ธก๋๋ฉด, ์ค์ ๋ก ์ต์ ํ ์์ฒด๋ ๊ณ์ฐ๊ธฐ์ด๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์ฒด๋ก ์ข์ ํ์ง์ ํด๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒ
- ๋ฅ๋ฌ๋ ์ด๊ธฐ (2015๋ ) ์๋ ๋คํธ์ํฌ์ (input, output) data ๋ง ์ฃผ๊ณ end-to-end ๋ก ํ์ต์ํค๋ฉด ๋ญ๊ฐ ๊ทธ์์์ ๋ง๋ฒ๊ฐ์ ์ผ์ด ์ผ์ด๋์ ์๋ก์ด input์ด ๋ค์ด๊ฐ๋ ๊ทธ๊ฒ์ pose ๋ฅผ ์ ์๋ ค์ค ๊ฑฐ์ผ (15 CVPR Posenet: A convolutional network for real-time 6-dof camera relocalization) ๋ผ๋ ๋ฏฟ์์ด ์์๋๋ฐ ..,
- ์ด๊ฑธ ํด๋ณด๋ฉด ์๊ฐ๋ณด๋ค ์ ์๋๋ค. ์ด๋ฐ ์ฌ์ฆ์ด ์ฐ๊ตฌ์๋ค ์ฌ์ด์์ ๊ณ์ ์๋ค๊ฐ,
- ์ดํ CVPR 2019์ ์์ Understanding the Limitations of CNN-based Absolute Camera Pose Regression ๋ผ๋ ๋
ผ๋ฌธ์์ ๊ทธ ๋ฏฟ์์ด ์ ๋๋ก ์ง์ ๋นํ๋ค. ๊ทธ๋ฆฌ๊ณ SuperGlue์ ์์ Hloc ์ด ์คํ์ ์ผ๋ก๋ ๋ณด์ฌ์ฃผ๊ฒ ๋๋ค: ๋ฅ๋ฌ๋์ feature correspondence ๋ง ์ ์ง์ด์ฃผ๋ฉด ๋๋ค. 2D-3D matches ๋ง ์ ์์ฑ๋๋ฉด ๊ทธ ์ดํ๋ ๊ธฐ์กด์ ์ ์ ๋ฆฝ๋ ์ํ์ธ PnP ๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค (์ด ๋ถ๋ถ์ ๋ฅ์ด ํ ๊ฒ ์๋๋ผ๋ ๊ฒ).. ๋ผ๋ ์ด์ผ๊ธฐ.
- ๋ฌผ๋ก ์ด๋ฐ conventional ํ geometric pipeline (e.g., svd, pnp, โฆ) ์์ฒด๋ฅผ differentiable ํ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ ์ณ์ ๋ฐฉํฅ์ด๋ค! ๊ทธ ๋ ธ๋ ฅ์ด ๋ฐ๋ก Kornia ๋ผ๋ ํ๋ก์ ํธ.
- ์ฌ์ค์ด ๊ธธ์์ผ๋ Localization ์ด์ผ๊ธฐ๋ ๋์ค์ ๋ ๋ฐ๋ก ํด๋ณด๋๋ก ํ์.