Stereo DSO

Wang 2017 · 논문

한 줄 요약 — Stereo DSO는 DSO의 직접적인 희소 광도 번들 조정을 스테레오 카메라로 확장하여, 정적 스테레오(좌우) 제약과 시간적 다중 뷰 제약을 하나의 윈도우 최적화에서 결합함으로써 KITTI 규모에서 매우 정확한 미터 단위 직접 오도메트리를 산출한다.

문제

DSO 같은 단안 직접 방법은 스케일 드리프트를 축적하며 느리고 움직임에 의존하는 부트스트래핑 단계를 필요로 한다. 깊이는 오직 시간적 시차(parallax)로부터만 생겨나기 때문이다. 고정된 기선의 스테레오 리그는 둘 다 고친다 — 그러나 정적 스테레오만으로는 제한된 깊이 범위 내에서만 정확하게 삼각측량할 수 있고, 에피폴라 선과 평행한 스테레오 엣지는 퇴화(degenerate)한다. Stereo DSO는 정적 스테레오를 시간적 다중 뷰 스테레오의 직접적인 희소 번들 조정에 통합해서 두 가지가 서로를 보완하게 하는 방법을 묻는다: 스테레오는 절대 스케일과 깊이 초기화를 제공하고, 시간적 관측은 원거리 점과 퇴화 방향을 제약한다.

방법 및 아키텍처

파이프라인. 새 스테레오 프레임은 조대-정밀(coarse-to-fine) 직접 이미지 정합(이미지 피라미드에서 가우스-뉴턴, 등속 초기화)으로 최신 키프레임에 대해 추적된다. 포즈는 최근에 선택된 후보 점들의 깊이를 정련한다. 장면이나 조명이 충분히 변했다면(평균 제곱 광류, 상대 밝기 인자) 키프레임이 생성되어 활성 윈도우에 추가되며, 여기서 모든 키프레임의 포즈, 아핀 밝기 파라미터, 점의 역깊이, 카메라 내부 파라미터가 공동으로 최적화된다. 오래된 키프레임과 점은 슈어 보수(Schur complement)로 주변화된다. 시스템 초기화는 무작위 깊이 대신 정적 스테레오 매칭(수평 에피폴라 선을 따른 3×5 패치의 NCC)으로 얻은 반밀집 깊이 맵을 사용한다.

광도 에너지. 프레임 IiI_i의 점 Pi\mathcal{P}_iIjI_j에서 관측될 때, 이미지별 아핀 밝기 파라미터 a,ba,b가 있는 경우:

Eij=pPip~Npωp~Ij[p~]bjeajeai(Ii[p~]bi)γE_{ij}=\sum_{\mathbf{p}\in\mathcal{P}_{i}}\sum_{\tilde{\mathbf{p}}\in\mathcal{N}_{\mathbf{p}}}\omega_{\tilde{\mathbf{p}}}\left\|I_{j}[\tilde{\mathbf{p}}^{\prime}]-b_{j}-\frac{e^{a_{j}}}{e^{a_{i}}}\left(I_{i}[\tilde{\mathbf{p}}]-b_{i}\right)\right\|_{\gamma}

여기서 γ\|\cdot\|_\gamma는 후버 노름, Np\mathcal{N}_{\mathbf{p}}는 8점 잔차 패턴, ωp=c2/(c2+Ii(p)22)\omega_{\mathbf{p}}=c^{2}/(c^{2}+\|\nabla I_{i}(\mathbf{p})\|_{2}^{2})는 고기울기 픽셀의 가중치를 낮추며, p=ΠK(TjiΠK1(p,dp))\mathbf{p}'=\Pi_{\mathbf{K}}\left(\mathbf{T}_{ji}\,\Pi_{\mathbf{K}}^{-1}(\mathbf{p},d_{\mathbf{p}})\right)는 역깊이 dpd_{\mathbf{p}}를 통해 재투영한다.

스테레오 결합 — 핵심 기여. 각 활성 점은 다른 키프레임을 향한 시간적 잔차 rtr^{t}와, 같은 순간의 우측 이미지를 향한 정적 스테레오 잔차 rsr^{s}를 만든다(Tji\mathbf{T}_{ji}는 기선으로 고정되므로, 기하학적 파라미터는 (d,c)(d,\mathbf{c})뿐이다). 둘 다 결합 인자 λ\lambda로 가중된 하나의 에너지에 들어간다:

E=iFpPi(jobst(p)Eijp+λEisp)E=\sum_{i\in\mathcal{F}}\sum_{\mathbf{p}\in\mathcal{P}_{i}}\Big(\sum_{j\in obs^{t}(\mathbf{p})}E^{\mathbf{p}}_{ij}+\lambda E^{\mathbf{p}}_{is}\Big)

이는 가우스-뉴턴 δξ=(JTWJ)1JTWr\delta\boldsymbol{\xi}=-(\mathbf{J}^{T}\mathbf{W}\mathbf{J})^{-1}\mathbf{J}^{T}\mathbf{W}\mathbf{r}로, 모든 키프레임 포즈 T\mathbf{T}, 역깊이 dd, 내부 파라미터 c\mathbf{c}, 좌/우 아핀 파라미터 aL,bL,aR,bRa^{L},b^{L},a^{R},b^{R}에 대해 최소화되며, SE(3)\mathrm{SE}(3) 증분은 xT:=exp(x^)T\mathbf{x}\boxplus\mathbf{T}:=\exp(\hat{\mathbf{x}})\mathbf{T}로 적용된다.

점 관리와 주변화. 후보 픽셀은 기울기 적응형 블록(이미지 크기에 비례하는 블록 크기, 이는 넓은 KITTI 이미지에 도움이 됨)에서 선택된다. 이들의 깊이는 정적 스테레오 NCC 매칭으로 초기화되어 — 단안의 0-부터-무한대 초기화보다 추적 정확도를 크게 높인다 — 활성화 전에 후속 비키프레임에 의해 정련된다. 주변화는 윈도우 크기를 제한한다: 유지되는 변수를 α\alpha, 주변화되는 변수를 β\beta라 하면,

(HααHαβHββ1HαβT)xα=bαHαβHββ1bβ\left(\mathbf{H}_{\alpha\alpha}-\mathbf{H}_{\alpha\beta}\mathbf{H}^{-1}_{\beta\beta}\mathbf{H}^{T}_{\alpha\beta}\right)\mathbf{x}_{\alpha}=\mathbf{b}_{\alpha}-\mathbf{H}_{\alpha\beta}\mathbf{H}^{-1}_{\beta\beta}\mathbf{b}_{\beta}

이 이후 최적화를 위한 사전(prior)으로 유지된다.

실험 결과

SLAM에서의 의미

Stereo DSO는 직접 방법이 소규모 실내 장면에 한정되지 않음을 보였다: 스테레오 리그를 사용하면 순수 VO로서 루프 클로저를 갖춘 SLAM 시스템을 능가하는 최신 수준의 대규모 실외 오도메트리를 달성한다. 정적+시간적 스테레오를 하나의 광도 번들 조정에 담고 스테레오로 초기화된 점 깊이를 사용하는 방식은 표준 설계 패턴이 되었다: “가상 스테레오”를 사용하는 DVSO(CNN으로 예측한 우측 이미지)와 관성 확장인 VI-DSO 모두 이를 직접 기반으로 한다. DSO 다음에 이 문서를 살펴보면 직접 파이프라인이 두 번째 카메라를 어떻게 흡수하는지 알 수 있다.

관련 문서