GNC

Yang 2020 · 논문

한 줄 요약 — Graduated Non-Convexity: 볼록 서로게이트 비용에서 시작해 목표로 하는 강인한(비볼록) 비용으로 점진적으로 변형하는 범용 강인 추정 프레임워크로, 어떤 비최소 솔버든 감싸는 블랙박스 래퍼로 동작하며 초기 추정값이 필요 없다.

문제

준정부호 프로그래밍(SDP)과 Sums-of-Squares(SOS) 완화는 여러 로보틱스 및 비전 문제(포즈 그래프 최적화, 회전 평균화, 정합)에 대해 인증 가능하게 최적인 비최소 솔버를 만들어냈지만, 이 솔버들은 최소제곱 형식화에 의존하기 때문에 잘못된 루프 클로저나 잘못된 매칭 같은 이상치에 취약하다. 표준적인 해결책인 강인 비용 함수(Geman-McClure, Truncated Least Squares)는 비볼록성을 다시 도입하므로, 지역적 반복 최적화에는 좋은 초기 추정값이 필요하며 — 인증 가능한 솔버는 애초에 적용할 수조차 없다. GNC는 초기 추정값 없이도 비최소 솔버와 강인 추정을 동시에 사용할 수 있게 한다.

방법 및 아키텍처

이상치가 없는 추정은 최소제곱, 즉 minxXi=1Nr2(yi,x)\min_{\mathbf{x}\in\mathcal{X}}\sum_{i=1}^{N} r^2(\mathbf{y}_i,\mathbf{x})이며, 여기서 rr은 추정치 x\mathbf{x}에서 측정값 yi\mathbf{y}_i의 잔차다. 강인성은 이 이차식을 강인 비용 ρ\rho로 대체한다. GNC는 대신 제어 파라미터 μ\mu로 지배되는 서로게이트 ρμ\rho_\mu를 최적화하는데, 이는 스케줄의 한쪽 끝에서는 볼록이고 다른 쪽 끝에서는 ρ\rho와 같아진다. Geman-McClure(GM)의 경우:

ρμ(r)=μcˉ2r2μcˉ2+r2,\rho_\mu(r) = \frac{\mu\bar{c}^2 r^2}{\mu\bar{c}^2 + r^2},

이는 μ\mu\to\infty일 때 이차(볼록)가 되고 μ=1\mu=1에서 GM을 복원한다. cˉ\bar{c}는 인라이어에 대해 기대되는 최대 오차로 설정된다. Truncated Least Squares(TLS)에도 유사한 세 조각짜리 서로게이트가 유도되며, μ0\mu\to 0일 때 볼록이고 μ\mu\to\infty일 때 정확해진다.

핵심적인 조력자는 Black-Rangarajan 쌍대성이다: iρμ(ri)\sum_i \rho_\mu(r_i)을 최소화하는 것은 가중된 최소제곱 문제와 이상치 프로세스의 합과 동등하다.

minxX, wi[0,1]i=1N(wir2(yi,x)+Φρμ(wi)),\min_{\mathbf{x}\in\mathcal{X},\ w_i\in[0,1]} \sum_{i=1}^{N} \Big( w_i\, r^2(\mathbf{y}_i,\mathbf{x}) + \Phi_{\rho_\mu}(w_i) \Big),

여기서 wiw_i는 측정값별 가중치이고 Φρμ\Phi_{\rho_\mu}는 그에 대한 페널티다 — GM의 경우 Φρμ(wi)=μcˉ2(wi1)2\Phi_{\rho_\mu}(w_i)=\mu\bar{c}^2(\sqrt{w_i}-1)^2이고, TLS의 경우 Φρμ(wi)=μ(1wi)μ+wicˉ2\Phi_{\rho_\mu}(w_i)=\frac{\mu(1-w_i)}{\mu+w_i}\bar{c}^2이다. 각 고정된 μ\mu에서 알고리즘은 두 단계를 번갈아 수행한다:

  1. 변수 갱신x(t)=argminxXiwi(t1)r2(yi,x)\mathbf{x}^{(t)} = \arg\min_{\mathbf{x}\in\mathcal{X}} \sum_i w_i^{(t-1)} r^2(\mathbf{y}_i,\mathbf{x}): 이상치 없는 문제의 가중된 버전으로, 기존의 비최소 솔버(Horn의 방법, SE-Sync, 메쉬 정합 SDP 등)로 전역적으로 풀린다.
  2. 가중치 갱신 — 닫힌 형태로 계산된다. GNC-GM의 경우 잔차 r^i2=r2(yi,x(t))\hat{r}_i^2 = r^2 (\mathbf{y}_i,\mathbf{x}^{(t)})에 대해:

wi(t)=(μcˉ2r^i2+μcˉ2)2;w_i^{(t)} = \left( \frac{\mu\bar{c}^2}{\hat{r}_i^2 + \mu\bar{c}^2} \right)^{2};

GNC-TLS의 경우 세 갈래 규칙이 r^i2μμ+1cˉ2\hat{r}_i^2 \le \frac{\mu}{\mu+1}\bar{c}^2일 때 wi=1w_i=1, r^i2μ+1μcˉ2\hat{r}_i^2 \ge \frac{\mu+1}{\mu}\bar{c}^2일 때 wi=0w_i=0, 그 사이에서 wi=cˉr^iμ(μ+1)μw_i = \frac{\bar{c}}{\hat{r}_i}\sqrt{\mu(\mu+1)} - \mu로 설정한다.

바깥 루프는 이후 비볼록성의 양을 늘려간다: GNC-GM은 μ=2rmax2/cˉ2\mu = 2r_{\max}^2/\bar{c}^2로 초기화하고 μ<1\mu<1이 될 때까지 매 바깥 반복마다 1.4로 나눈다; GNC-TLS는 μ=cˉ2/(2rmax2cˉ2)\mu = \bar{c}^2/(2r_{\max}^2-\bar{c}^2)로 초기화하고 가중된 잔차 합이 수렴할 때까지 1.4를 곱한다. 모든 가중치는 1에서 시작한다. 솔버에게 요구되는 것이 가중된 최소제곱을 푸는 것뿐이므로, GNC는 Ceres/g2o/GTSAM 스타일 백엔드나 인증 가능한 솔버를 감싸는 블랙박스로 동작한다. 추가적인 기여로, 이 논문은 형상 정렬(2D-3D 대응점으로부터의 약-투영 물체 포즈)을 위한 최초의 인증 가능하게 최적인 비최소 솔버를 제안한다 — 비단위 쿼터니언 v=sq\mathbf{v}=\sqrt{s}\,\mathbf{q}에 대한 4차 다항식을 SOS 완화로 최소화한다(경험적으로 항상 정확함).

실험 결과

핵심 주장: 강인한 비최소 솔버는 이상치 70–80%를 견디고, RANSAC를 능가하며, 특화된 지역 솔버보다 정확하고 특화된 전역 솔버보다 빠르다 — 다만 GNC의 전역 최적성은 보장할 수 없다.

SLAM에서의 의미

이상치 제거는 사용 가능한 지도와 오염된 지도의 차이를 만든다. GNC는 모든 SLAM 백엔드에 문제별 볼록 완화가 필요 없는 간단하고 범용적인 강건화를 제공한다. GTSAM에 GncOptimizer로 탑재되어 강건한 포즈 그래프 최적화, 포인트 클라우드 정합, 회전 평균화에 사용된다. Carlone 그룹 내에서는 인증 가능한 솔버(SE-Sync, TEASER++)를 보완하는 실용적이고 범용적인 도구로 자리한다.

관련 문서