Neural Ray Surfaces
Vasiljevic 2020 · Paper
One-line summary — Replaces the fixed pinhole projection in self-supervised depth-and-ego-motion learning with a learned per-pixel ray surface, so the same photometric training framework works on fisheye, catadioptric, and even underwater cameras without calibration.
Problem
Self-supervised learning became a powerful tool for depth and ego-motion estimation, but every method in the family shares one significant hidden limitation: the view-synthesis step assumes a known parametric camera model — almost always standard pinhole geometry. The approach therefore fails outright on imaging systems that deviate significantly from that assumption (catadioptric cameras, underwater imaging, cameras behind curved windshields). Parametric distortion models are only approximately correct, require a new differentiable projection per camera type, and simply do not exist for some settings. Even learning pinhole intrinsics (Gordon 2019) cannot cover these cases.
Method & architecture
The standard self-supervised setup (Zhou et al.) is kept: a depth network , a pose network predicting between target and context frames, and the photometric warp
trained with (SSIM+L1 appearance loss with per-pixel minimum over context frames and auto-masking, plus edge-aware smoothness). What changes are the unprojection and projection . Following Grossberg & Nayar’s generic camera, each pixel gets a unit viewing ray: a second decoder sharing the depth network’s encoder predicts the ray surface .
Unprojection is closed-form — scale the ray by depth from the camera center (set to the origin for a central camera):
Projection has no closed form: a 3D point must be matched to the context pixel whose ray best aligns with the direction ,
which is both and non-differentiable. Three fixes make it trainable: (1) softmax association — replace argmax over the similarity tensor with a temperature- softmax , annealing toward one-hot, then read out pixel indices and sample with spatial transformer networks; (2) residual ray-surface template — learn around a fixed template (a pinhole surface from dummy intrinsics , if no calibration exists), ramping from 0 to 1 over 10 epochs — this pinhole prior stabilizes training even for catadioptric data; (3) patch-based association — restrict the search to a grid around the target pixel at half resolution during training. At test time no approximation is needed; the full-resolution ray surface comes straight from the network.
Results
- KITTI (sanity check on near-pinhole data, distances to 80 m): NRS-ResNet with fully learned ray surface (RS-L) reaches Abs Rel 0.134 / RMSE 5.263 — competitive with Gordon et al.’s learned-pinhole 0.128 / 5.230; NRS-PackNet improves to Abs Rel 0.127 / Sq Rel 0.667 / RMSE 4.049. The learned surface is stable frame-to-frame (coefficient of variation < 2.5% over the test set).
- Multi-FOV (synthetic fisheye): Abs Rel drops from 0.441 with a pinhole model to 0.225 with NRS — a 51% decrease ( 0.336 → 0.593).
- OmniCam (catadioptric, 360° FOV): first self-supervised monocular method to learn odometry on catadioptric video — ATE 0.035 vs 0.408 for the same framework with pinhole projection (which diverges).
- KITTI odometry (seq 09/10, 5-snippet ATE): / , comparable to calibrated pinhole models without any camera knowledge.
- Qualitative results on an underwater-cave sequence and a fisheye dashcam behind a windshield, where rectified pinhole baselines fail to produce meaningful predictions.
All experiments use identical architecture and hyper-parameters — only the training videos change.
Why it matters for SLAM
Robots increasingly carry cameras that a pinhole model describes poorly (fisheye on drones and cars, catadioptric rigs), and calibrating each unit is a deployment cost. Neural Ray Surfaces showed that the camera model itself can be treated as one more learnable component — a differentiable per-pixel ray field — extending the self-supervised depth/ego-motion toolbox to arbitrary optics. It is a step toward SLAM front-ends that adapt to whatever sensor they are given, and the reference point for calibration-free geometry learning across heterogeneous optics.
Related
- Camera models beyond pinhole — the classical models this replaces with learning
- SfM-Learner — the self-supervised depth+ego-motion framework it generalizes
- Depth from Videos in the Wild — closely related idea of learning intrinsics from video
- MonoDepth — origin of photometric self-supervision for depth
- Camera calibration — the manual process NRS sidesteps