GNC

Yang 2020 · Paper

One-line summary — Graduated Non-Convexity: a general-purpose robust estimation framework that starts from a convex surrogate cost and gradually morphs it into the target robust (non-convex) cost, acting as a black-box wrapper around any non-minimal solver — no initial guess required.

Problem

Semidefinite Programming (SDP) and Sums-of-Squares (SOS) relaxations have produced certifiably optimal non-minimal solvers for several robotics and vision problems (pose graph optimization, rotation averaging, registration) — but these solvers rely on least-squares formulations and are therefore brittle against outliers such as wrong loop closures and spurious matches. The standard fix, robust cost functions (Geman-McClure, Truncated Least Squares), reintroduces non-convexity, so local iterative optimization needs a good initial guess — and the certifiable solvers cannot be applied at all. GNC enables the simultaneous use of non-minimal solvers and robust estimation, without requiring an initial guess.

Method & architecture

Outlier-free estimation is least squares, minxXi=1Nr2(yi,x)\min_{\mathbf{x}\in\mathcal{X}}\sum_{i=1}^{N} r^2(\mathbf{y}_i,\mathbf{x}), where rr is the residual of measurement yi\mathbf{y}_i at estimate x\mathbf{x}; robustness replaces the quadratic with a robust cost ρ\rho. GNC instead optimizes a surrogate ρμ\rho_\mu governed by a control parameter μ\mu, convex at one end of the schedule and equal to ρ\rho at the other. For 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},

which becomes quadratic (convex) as μ\mu\to\infty and recovers GM at μ=1\mu=1; cˉ\bar{c} is set to the maximum error expected for inliers. An analogous three-piece surrogate is derived for Truncated Least Squares (TLS), convex as μ0\mu\to 0 and exact as μ\mu\to\infty.

The key enabler is Black-Rangarajan duality: minimizing iρμ(ri)\sum_i \rho_\mu(r_i) is equivalent to a weighted least-squares problem plus an outlier process,

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),

where wiw_i are per-measurement weights and Φρμ\Phi_{\rho_\mu} is a penalty on them — for GM, Φρμ(wi)=μcˉ2(wi1)2\Phi_{\rho_\mu}(w_i)=\mu\bar{c}^2(\sqrt{w_i}-1)^2; for TLS, Φρμ(wi)=μ(1wi)μ+wicˉ2\Phi_{\rho_\mu}(w_i)=\frac{\mu(1-w_i)}{\mu+w_i}\bar{c}^2. At each fixed μ\mu the algorithm alternates two steps:

  1. Variable updatex(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}): a weighted version of the outlier-free problem, solved globally by the existing non-minimal solver (Horn’s method, SE-Sync, the mesh-registration SDP, …).
  2. Weight update — closed form. For GNC-GM, with residual 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};

for GNC-TLS a three-branch rule sets wi=1w_i=1 when r^i2μμ+1cˉ2\hat{r}_i^2 \le \frac{\mu}{\mu+1}\bar{c}^2, wi=0w_i=0 when r^i2μ+1μcˉ2\hat{r}_i^2 \ge \frac{\mu+1}{\mu}\bar{c}^2, and wi=cˉr^iμ(μ+1)μw_i = \frac{\bar{c}}{\hat{r}_i}\sqrt{\mu(\mu+1)} - \mu in between.

The outer loop then increases the amount of non-convexity: GNC-GM initializes μ=2rmax2/cˉ2\mu = 2r_{\max}^2/\bar{c}^2 and divides by 1.4 each outer iteration until μ<1\mu<1; GNC-TLS initializes μ=cˉ2/(2rmax2cˉ2)\mu = \bar{c}^2/(2r_{\max}^2-\bar{c}^2) and multiplies by 1.4 until the weighted residual sum converges. All weights start at 1. Since the solver is only asked to solve weighted least squares, GNC works as a black box around Ceres/g2o/GTSAM-style back-ends or certifiable solvers. As a further contribution, the paper proposes the first certifiably optimal non-minimal solver for shape alignment (weak-perspective object pose from 2D-3D correspondences), minimizing a degree-4 polynomial in a non-unit quaternion v=sq\mathbf{v}=\sqrt{s}\,\mathbf{q} via SOS relaxation (empirically always exact).

Results

Headline claim: the robust non-minimal solvers tolerate 70–80% outliers, outperform RANSAC, are more accurate than specialized local solvers and faster than specialized global solvers — though GNC’s global optimality cannot be guaranteed.

Why it matters for SLAM

Outlier rejection is the difference between a usable map and a corrupted one, and GNC gives every SLAM back-end a simple, general robustification that requires no problem-specific convex relaxation. It shipped in GTSAM as GncOptimizer and is used for robust pose graph optimization, point cloud registration, and rotation averaging; within Carlone’s group it complements certifiable solvers (SE-Sync, TEASER++) as the pragmatic, general-purpose tool.