SceneCode

Zhi 2019 · 논문

한 줄 요약 — CodeSLAM을 확장하여 깊이 그리고 시맨틱 세그먼테이션을 컴팩트한 이미지 조건형 latent code로 인코딩함으로써, 시맨틱 레이블 융합을 다중 뷰 code 최적화로 만들고 geometry, 포즈, 시맨틱을 하나의 통합된 최적화에서 추정합니다.

문제

증분적 시맨틱 매핑 시스템은 geometry와 시맨틱 둘 다를 저장하고 업데이트해야 하지만, geometry 추정은 잘 발전된 확률적 공식을 갖고 있는 반면, 최신 시스템들은 표면 요소(깊이 픽셀, 서펠, 또는 복셀)마다 독립적인 레이블 추정치를 저장했습니다. 공간적 상관관계가 버려지므로 융합된 레이블 맵은 비일관되고 잡음이 많아지며, 시맨틱 증거가 모션이나 geometry 추정에 정보를 줄 수 없습니다. 객체 그래프 접근법(SLAM++ 스타일)은 원하는 토큰과 같은 특성을 갖지만 알려진 개별 객체만을 다룹니다. SceneCode는 CodeSLAM의 깊이 code처럼, 시맨틱이 학습된 컴팩트한 code 안에 존재할 수 있는지를 물으며, 레이블을 최적화 가능하고 공간적으로 일관된 맵 변수로 만듭니다.

방법 및 아키텍처

멀티태스크 CVAE. 공유 ResNet-50 인코더와 두 개의 RefineNet 디코더를 가진 U자형 네트워크가 컬러 이미지를 처리합니다; VGG 스타일의 variational 인코더 두 개가 깊이와 원-핫 시맨틱 레이블을 두 개의 저차원 code(cd\boldsymbol{c}_d, cs\boldsymbol{c}_s)로 압축합니다. 각 디코더는 code에 대해서는 의도적으로 선형이며, 이미지에 대해서는 비선형적으로 조건화됩니다:

D(cd,I)=D0(I)+Jd(I)cd,S(cs,I)=S0(I)+Js(I)csD\left(\boldsymbol{c}_{d},I\right)=D_{0}\left(I\right)+J_{d}\left(I\right)\boldsymbol{c}_{d}, \qquad S\left(\boldsymbol{c}_{s},I\right)=S_{0}\left(I\right)+J_{s}\left(I\right)\boldsymbol{c}_{s}

여기서 D0(I),S0(I)D_0(I), S_0(I)는 zero-code(가장 가능성 높은 단일 뷰) 예측이고 Jd/sJ_{d/s}는 학습된 선형 영향(influence)입니다 — 선형성 덕분에 code 야코비안을 키프레임당 한 번만 미리 계산할 수 있습니다. 학습은 예측된 픽셀별 불확실성 bib_i를 가진 L1L_1 근접도 손실 i=1N[p~ipibi+log(bi)]\sum_{i=1}^{N}\big[\tfrac{|\widetilde{p}_{i}-p_{i}|}{b_{i}}+\log(b_{i})\big](근접도 p=a/(a+d)p=a/(a+d), a=2a=2m), 시맨틱을 위한 다중 클래스 교차 엔트로피, KL-어닐링된 variational 손실, 적응적 태스크 가중치를 결합합니다.

다중 뷰 code 최적화를 통한 융합. 상대 포즈 TBA\boldsymbol{T}_{BA}가 있으면, 밀집 대응 w(uA,cdA,TBA)=π(TBAπ1(uA,DA[uA]))w\left(\boldsymbol{u}_{A},\boldsymbol{c}_{d}^{A},\boldsymbol{T}_{BA}\right)=\pi\left(\boldsymbol{T}_{BA}\,\pi^{-1}\left(\boldsymbol{u}_{A},D_{A}\left[\boldsymbol{u}_{A}\right]\right)\right)가 겹치는 뷰들을 연결합니다. 세 개의 잔차가 최소화됩니다: 광도 잔차 ri=IA[uA]IB[w(uA,cdA,TBA)]r_{i}=I_{A}\left[\boldsymbol{u}_{A}\right]-I_{B}\left[w\left(\boldsymbol{u}_{A},\boldsymbol{c}_{d}^{A},\boldsymbol{T}_{BA}\right)\right], geometric 잔차 rzr_z(워프된 점들의 깊이 일관성), 그리고 새로운 시맨틱 일관성 잔차

rs=DS(SA[uA],SB[w(uA,cdA,TBA)])r_{s}=DS\left(S_{A}\left[\mathbf{u}_{A}\right],S_{B}\left[w\left(\mathbf{u_{A}},\boldsymbol{c}_{d}^{A},\boldsymbol{T}_{BA}\right)\right]\right)

여기서 DSDS는 softmax 확률 간의 유클리드 거리입니다 — 대응하는 픽셀은 시점에 관계없이 비슷한 카테고리 분포를 가져야 합니다. rsr_s가 시맨틱 code 뿐만 아니라 포즈 그리고 깊이에 대해서도 미분 가능하므로, 시맨틱이 모션과 구조에 영향을 줄 수 있습니다(벽은 벽과 정렬되고, 의자는 의자와 정렬됩니다). zero-code 사전 분포가 약하게 고정된 시맨틱 항을 정규화합니다.

SLAM 시스템. 키프레임 기반 단안 파이프라인: 각 키프레임은 II, cd\boldsymbol{c}_d, cs\boldsymbol{c}_s를 저장합니다; tracking은 광도 잔차만 사용합니다; mapping은 N-프레임 문제에 대해 감쇠된 Gauss-Newton을 실행하며, 먼저 geometry+포즈를 최적화하고, 그다음 시맨틱을, 그다음 전부를 함께 최적화합니다.

실험 결과

SLAM에서의 의미

SceneCode는 SLAM을 위한 최초의 결합 geometric-시맨틱 latent 표현으로, 시맨틱이 geometry 위에 사후적으로 레이블을 덧칠하는 것이 아니라 최적화 가능한 맵 변수가 될 수 있음을 보여주었습니다 — 픽셀이 더 이상 독립적으로 취급되지 않으므로 융합된 레이블은 매끄럽고 공간적으로 일관되게 유지됩니다. 이는 Imperial College의 latent-map 계보(CodeSLAM → SceneCode → DeepFactors/NodeSLAM)에 속하며, 단일 암묵적 표현이 geometry와 시맨틱 모두를 디코딩하는 시맨틱 신경 필드 SLAM을 개념적으로 예견합니다.

관련 문서