Dark3R: Learning Structure from Motion in the Dark
Organizations: University of Toronto · Vector Institute · York University · Sony Corporation of America · Harvard University · Purdue University
Abstract
We introduce Dark3R, a framework for structure from motion in the dark that operates directly on raw images with signal-to-noise ratios (SNRs) below dB -- a regime where conventional feature- and learning-based methods break down. Our key insight is to adapt large-scale 3D foundation models to extreme low-light conditions through a teacher--student distillation process, enabling robust feature matching and camera pose estimation in low light. Dark3R requires no 3D supervision; it is trained solely on noisy--clean raw image pairs, which can be either captured directly or synthesized using a simple Poisson--Gaussian noise model applied to well-exposed raw images. To train and evaluate our approach, we introduce a new, exposure-bracketed dataset that includes 42,000 multi-view raw images with ground-truth 3D annotations, and we demonstrate that Dark3R achieves state-of-the-art structure from motion in the low-SNR regime. Further, we demonstrate state-of-the-art novel view synthesis in the dark using Dark3R's predicted poses and a coarse-to-fine radiance field optimization procedure.
Figures & tables
| Camera pose error | 3D reconstruction | |||||
| Method | Input | ATE | RPE T | RPE R | AbsRel | |
| COLMAP [ 51 ] | sRGB | 0.669 | 0.155 | 1.644 | 0.638 | 54.38 |
| MASt3R [ 33 ] | raw | 0.787 | 0.472 | 2.802 | 0.318 | 39.66 |
| VGGT [ 61 ] | sRGB | 0.252 | 0.216 | 1.047 | 0.232 | 63.28 |
| MASt3R - SfM [ 16 ] | raw | 0.088 | 0.038 | 0.201 | 0.196 | 79.39 |
| Dark3R | raw | 0.050 | 0.020 | 0.121 | 0.091 | 93.14 |
| Method | Camera poses | PSNR | SSIM | LPIPS |
|---|---|---|---|---|
| Dark3R-NeRF | MASt3R-SfM [ 16 ] | 34.60 | 0.835 | 0.308 |
| RawNeRF [ 41 ] | Dark3R | 34.24 | 0.848 | 0.291 |
| LE3D [ 28 ] | Dark3R | 35.77 | 0.878 | 0.339 |
| Dark3R-NeRF | Dark3R | 36.17 | 0.866 | 0.257 |
| Dark3R-NeRF | Oracle | 37.16 | 0.882 | 0.228 |
| Condition | ATE | RPE T | RPE R |
|---|---|---|---|
| 1. w/o LoRA | 0.476 | 0.074 | 0.512 |
| 2. fine-tune & test w/ sRGB | 0.087 | 0.024 | 0.140 |
| 3. supervise w/ clean sRGB | 0.064 | 0.020 | 0.122 |
| 4. only simulated data | 0.078 | 0.032 | 0.181 |
| 5. only captured data | 0.063 | 0.020 | 0.128 |
| 6. fine-tune only | 0.030 | 0.024 | 0.149 |
| Condition | PSNR | SSIM | LPIPS |
|---|---|---|---|
| 1. w/o depth supervision | 34.91 | 0.858 | 0.307 |
| 2. w/ black level clipping | 34.98 | 0.856 | 0.267 |
| 3. w/o stochastic preconditioning | 36.05 | 0.857 | 0.262 |
| proposed | 36.17 | 0.866 | 0.257 |
| Scene | Num. Images | Scene | Num. Images | Scene | Num. Images | Scene | Num. Images |
|---|---|---|---|---|---|---|---|
| Bookstore 1 | 249 | Furniture Store 9 | 248 | Kitchen 1 | 172 | Old College 5 | 492 |
| Bookstore 2 | 196 | Furniture Store 10 | 336 | Lab 1 | 191 | Old College 6 | 212 |
| Bookstore 3 | 231 | Furniture Store 11 | 225 | Lecture Hall 1 | 270 | Old College 7 | 251 |
| Catering 1 | 184 | Furniture Store 12 | 173 | Library 1 | 409 | Parking Lot 1 | 216 |
| Classroom 1 | 242 | Furniture Store 13 | 154 | Library 2 | 230 | Parking Lot 2 | 245 |
| Classroom 2 | 302 | Furniture Store 14 | 284 | Library 3 | 235 | Parking Lot 3 | 309 |
| Scene | Num Images | Environment | Split |
|---|---|---|---|
| Lounge | 430 | Indoors | Train |
| Chapel Table | 420 | Indoors | Train |
| Traincar | 400 | Outdoors | Train |
| Quad | 400 | Outdoors | Train |
| Bookshelf | 361 | Indoors | Train |
| Table | 332 | Indoors | Train |
| Method | Input | ATE | RPE T | RPE R |
|---|---|---|---|---|
| MASt3R - SfM [ 16 ] | raw | 0.080 | 0.061 | 0.289 |
| MASt3R - SfM [ 16 ] | denoised raw | 0.048 | 0.048 | 0.238 |
| Dark3R | raw | 0.038 | 0.028 | 0.146 |
| Method/Input | Camera pose error | 3D reconstruction | |||||
| Scene | Method | Input | ATE | RPE T | RPE R | AbsRel | |
| Chapel | COLMAP [ 51 ] | sRGB | 0.187 | 0.250 | 1.229 | 0.187 | 84.21 |
| MASt3R [ 33 ] | raw | 0.832 | 0.614 | 2.877 | 0.234 | 60.56 | |
| VGGT [ 61 ] | sRGB | 0.405 | 0.451 | 2.197 | 0.212 | 59.24 | |
| MASt3R - SfM [ 16 ] | raw | 0.080 | 0.061 | 0.289 | 0.210 | 70.74 | |
| Dark3R | raw | 0.038 | 0.027 | 0.144 | 0.050 | 98.22 | |
| Scene | Method | Camera poses | PSNR | SSIM | LPIPS |
|---|---|---|---|---|---|
| Chapel | LE3D [ 28 ] | Dark3R | 38.01 | 0.868 | 0.398 |
| RawNeRF [ 41 ] | Dark3R | 35.59 | 0.871 | 0.347 | |
| Dark3R-NeRF | MASt3R-SfM [ 16 ] | 36.48 | 0.826 | 0.356 | |
| Dark3R-NeRF | Dark3R | 37.44 | 0.840 | 0.310 | |
| Dark3R-NeRF | Oracle | 37.87 | 0.873 | 0.270 | |
| Statue | LE3D [ 28 ] | Dark3R | 25.20 | 0.839 | 0.283 |
| Method | Input | Exposure (s) | ATE | RPE T | RPE R |
|---|---|---|---|---|---|
| MASt3R - SfM [ 16 ] | raw | 1/1000 | 0.105 | 0.062 | 0.238 |
| Dark3R | raw | 1/1000 | 0.043 | 0.045 | 0.172 |
| MASt3R - SfM [ 16 ] | raw | 1/2000 | 0.124 | 0.127 | 0.380 |
| Dark3R | raw | 1/2000 | 0.089 | 0.068 | 0.244 |
| MASt3R - SfM [ 16 ] | raw | 1/4000 | 2.484 | 1.174 | 6.278 |
| Dark3R | raw | 1/4000 | 0.227 | 0.178 | 0.575 |
| Method | ATE | RPE T | RPE R |
|---|---|---|---|
| M-SfM [16] | 0.088 | 0.006 | 0.031 |
| Dark3R | 0.104 | 0.006 | 0.030 |
| Camera pose error | 3D reconstruction | |||||
|---|---|---|---|---|---|---|
| Method | Intrinsics | ATE | RPE T | RPE R | AbsRel | |
| Dark3R | unknown | 0.043 | 0.019 | 0.121 | 0.090 | 93.63 |
| Dark3R | known | 0.050 | 0.020 | 0.121 | 0.091 | 93.14 |