Driving video captured through a windshield violates the world-space consistency assumed by 3D Gaussian Splatting (3DGS): the road scene exhibits parallax while cabin reflections remain attached to the camera, causing standard 3DGS to embed reflected content into the reconstructed scene. We introduce RIDE-Splat, a pipeline for reflection-free 3D reconstruction from posed driving video without clean images, reflection masks, or pretrained networks. RIDE-Splat assigns world-consistent transmission through the windshield to a 3DGS scene and the dominant camera-attached reflection to one shared, signed RGB image. It builds the clean reconstruction in two passes. First, it learns the 3D geometry and the signed reflection image, representing both added radiance and transmission attenuation. Then, it uses the reflection-removed training images to fit a clean 3DGS model. At inference, the reflection image is discarded, preserving the standard 3DGS rendering path. We also introduce the RIDE-Splat Dataset, the first 3D reconstruction benchmark for reflection removal from driving video -- with real driving scenes, physical windshield reflections in training views, and separately captured non-reflective evaluation images. Across the RIDE-Splat Dataset, XLD, and Wayve, RIDE-Splat outperforms 3DGS, DC-Gaussian, and RobustSplat on all nine aggregate metrics, improving PSNR by up to 3.59 dB and reducing LPIPS by up to 0.0876. We achieve the highest metrics in 38 out of 42 per-scene comparisons and removes windshield reflections that remain visible in the baselines while preserving the transmitted scene.
Figures & tables
Fig. 2 : Overview of RIDE-Splat. Given posed driving frames with windshield reflections, RIDE-Splat reconstructs a reflection-free 3D Gaussian Splatting (3DGS) scene without paired clean images or reflection masks. Phase I: Coordinate-Based Joint Optimization (Sec. III-B ) warms up scene geometry, then jointly separates a world-consistent 3DGS scene from a shared, signed 2D reflection layer. Phase II: Reflection Self-Localization (Sec. III-C ) derives a continuous spatial weight from the recovered reflection layer and retrains the decomposition from scratch with this support fixed, preventing weak scene residuals from entering the final reconstruction. This refit adds no optimized parameters. At inference, the reflection layer is discarded and standard 3DGS rasterization renders reflection-free novel views.
Fig. 3 : Reflective training views from the Leesburg , Martin , and Reston scenes in the RIDE-Splat Dataset, shown from left to right. Physical windshield reflections are produced by common cabin objects, including newspapers, aluminum foil, and clips.
TABLE I : Evaluation datasets and RIDE-Splat splits.
RIDE-Splat Dataset (Ours)
XLD [ 4 ]
Wayve [ 5 ]
Method
PSNR ↑
SSIM ↑
LPIPS ↓
PSNR ↑
SSIM ↑
LPIPS ↓
PSNR ↑
SSIM ↑
LPIPS ↓
3DGS [ 1 ]
17.37
0.7204
0.5445
21.37
0.8824
0.4882
20.14
0.7366
0.4426
DC-Gaussian [ 2 ]
14.47
0.6821
0.5549
18.32
0.8436
0.5276
20.07
0.7161
0.4694
+ Oracle GT Color Correction
20.25
0.7442
0.5109
23.07
0.8894
0.4920
20.49
0.7155
0.4713
RobustSplat [ 3 ]
18.30
0.7317
0.5216
21.64
0.8815
0.4891
20.19
0.7364
0.4424
RIDE-Splat (Ours)
18.48
0.7428
0.4873
25.23
0.8980
0.4006
20.84
0.7422
0.4179
TABLE II : Quantitative results on the RIDE-Splat Dataset, XLD [ 4 ] , and Wayve [ 5 ] . Metrics are averaged across the evaluated scenes in each dataset, and the best result is bolded. Because DC-Gaussian exhibits substantial underexposure and color shifts, we also report a + Oracle GT Color Correction variant that applies the released color transform using each test target as reference. This variant deliberately favors DC-Gaussian and is excluded from bolding. Even so, RIDE-Splat achieves the strongest overall results.
Fig. 4 : Qualitative results on the RIDE-Splat Dataset, XLD [ 4 ] , and Wayve [ 5 ] . The examples show Martin and Leesburg from the RIDE-Splat Dataset, Town02 from XLD, and scene_003 from Wayve. Compared with 3DGS [ 1 ] , DC-Gaussian [ 2 ] , and RobustSplat [ 3 ] , RIDE-Splat more effectively removes windshield reflections while preserving the transmitted scene. DC-Gaussian exhibits visible color shifts, so Table II also reports the + Oracle GT Color Correction variant described in Section V-C that uses each test target as reference.
Configuration
PSNR ↑
SSIM ↑
LPIPS ↓
3DGS [ 1 ]
21.37
0.8824
0.4882
+ Joint Optimization
24.78
0.8968
0.3994
+ Self-Localization
25.23
0.8980
0.4006
TABLE III: Component ablation on XLD [ 4 ] . Coordinate-based Joint Optimization (Section III-B ) and Reflection Self-Localization (Section III-C ) are applied cumulatively, metrics are averaged across all six towns, and the best value in each column is bolded.
ηR
β
σ
PSNR ↑
SSIM ↑
LPIPS ↓
0.01
0.01
8
25.25
0.9255
0.4586
0.005
0.01
8
25.10
0.9264
0.4572
0.05
0.01
8
25.34
0.9263
0.4640
0.01
0.002
8
25.24
0.9269
0.4728
0.01
0.05
8
22.69
0.9197
0.5045
0.01
0.01
2
24.82
0.9235
0.4590
TABLE IV: Hyperparameter sensitivity on Town01 from XLD [ 4 ] . Each row varies one default value with the others held fixed. The default row is the run reported in Table II .
PSNR ↑
Drift (Pixels)
Reflection Layer (Ours)
DC-Gaussian
0.0
24.78
12.97
0.15
24.75
12.04
0.3
24.62
13.02
0.5
24.84
12.21
0.8
24.46
13.11
TABLE V: PSNR on Town01 from XLD [ 4 ] under increasing reflection drift. The reflection appearance is translated horizontally within a fixed support by the stated number of pixels per frame over 150 frames. Range is the difference between the minimum and maximum PSNR across the tested drift levels.
Parameter
XLD
Wayve
Flicker
0.0
0.0
Drift [px]
0
0
Center glare
0.35
0.0
Feather
8.0
6.0
Obstruction blur
14.0
12.0
Obstruction strength
0.6
0.4
TABLE VI: Synthetic reflection parameters. XLD [ 4 ] and Wayve [ 5 ] use the same compositing pipeline without temporal variation. A dash indicates that no separate value is specified.
RIDE-Splat Dataset (Ours)
XLD [ 4 ]
Wayve [ 5 ]
Method
Leesburg
Martin
Reston
Mean
Town01
Town02
Town03
Town04
Town05
Town10
Mean
s001
s002
s003
s004
s005
Mean
3DGS [ 1 ]
15.55
18.64
17.91
17.37
20.97
20.38
22.13
21.63
22.07
21.03
21.37
19.97
19.84
20.16
20.58
20.16
20.14
RobustSplat [ 3 ]
15.37
20.10
19.42
18.30
21.22
20.76
22.21
21.91
22.52
21.22
21.64
19.86
20.23
20.18
20.57
20.10
20.19
DC-Gaussian [ 2 ]
13.73
15.67
14.01
14.47
12.36
20.43
19.47
15.78
20.22
21.63
18.32
19.87
20.64
19.38
20.39
20.07
20.07
+ Oracle GT Color Correction
17.10
22.84
20.80
20.25
22.69
21.15
23.56
24.48
24.00
22.55
23.07
20.12
20.70
20.99
20.52
20.11
20.49
RIDE-Splat (Ours)
16.03
20.18
19.21
18.48
25.25
24.72
26.00
26.07
25.31
24.02
25.23
20.10
20.54
20.66
21.74
21.15
20.84
TABLE VII : PSNR on each scene in the RIDE-Splat Dataset, XLD [ 4 ] , and Wayve [ 5 ] . The best result for each scene is bolded. The DC-Gaussian + Oracle GT Color Correction variant is excluded from bolding because it uses test-target information.
RIDE-Splat Dataset (Ours)
XLD [ 4 ]
Wayve [ 5 ]
Method
Leesburg
Martin
Reston
Mean
Town01
Town02
Town03
Town04
Town05
Town10
Mean
s001
s002
s003
s004
s005
Mean
3DGS [ 1 ]
0.5940
0.8136
0.7538
0.7204
0.9077
0.8734
0.9080
0.9255
0.8917
0.7878
0.8824
0.7996
0.7325
0.7188
0.6926
0.7396
0.7366
RobustSplat [ 3 ]
0.5940
0.8344
0.7669
0.7317
0.9102
0.8748
0.9069
0.9215
0.8920
0.7838
0.8815
0.7959
0.7375
0.7201
0.6900
0.7387
0.7364
DC-Gaussian [ 2 ]
0.5498
0.7923
0.7040
0.6821
0.7388
0.8703
0.8990
0.8711
0.8915
0.7909
0.8436
0.7790
0.7300
0.7001
0.6537
0.7180
0.7161
+ Oracle GT Color Correction
0.6085
0.8446
0.7797
0.7442
0.9143
0.8785
0.9136
0.9334
0.9009
0.7959
0.8894
0.7769
0.7289
0.7039
0.6499
0.7178
0.7155
RIDE-Splat (Ours)
0.6070
0.8420
0.7794
0.7428
0.9255
0.8931
0.9188
0.9400
0.9020
0.8084
0.8980
0.7950
0.7396
0.7251
0.7022
0.7491
0.7422
TABLE VIII : SSIM on each scene in the RIDE-Splat Dataset, XLD [ 4 ] , and Wayve [ 5 ] . The best result for each scene is bolded. The DC-Gaussian + Oracle GT Color Correction variant is excluded from bolding because it uses test-target information.
RIDE-Splat Dataset (Ours)
XLD [ 4 ]
Wayve [ 5 ]
Method
Leesburg
Martin
Reston
Mean
Town01
Town02
Town03
Town04
Town05
Town10
Mean
s001
s002
s003
s004
s005
Mean
3DGS [ 1 ]
0.6057
0.4540
0.5737
0.5445
0.5341
0.4827
0.4112
0.5061
0.4588
0.5364
0.4882
0.3321
0.4665
0.5059
0.4626
0.4461
0.4426
RobustSplat [ 3 ]
0.6007
0.4384
0.5257
0.5216
0.5296
0.4831
0.4153
0.5016
0.4567
0.5486
0.4891
0.3400
0.4575
0.5004
0.4676
0.4464
0.4424
DC-Gaussian [ 2 ]
0.6011
0.4799
0.5838
0.5549
0.6167
0.4921
0.4243
0.5418
0.5388
0.5520
0.5276
0.3689
0.4715
0.5358
0.4921
0.4787
0.4694
+ Oracle GT Color Correction
0.5951
0.4231
0.5146
0.5109
0.5685
0.4922
0.4195
0.4787
0.4456
0.5478
0.4920
0.3734
0.4768
0.5339
0.4962
0.4762
0.4713
RIDE-Splat (Ours)
0.5712
0.4025
0.4880
0.4873
0.4586
0.3776
0.3429
0.3920
0.3740
0.4584
0.4006
0.3376
0.4332
0.4700
0.4388
0.4100
0.4179
TABLE IX : LPIPS on each scene in the RIDE-Splat Dataset, XLD [ 4 ] , and Wayve [ 5 ] . The best result for each scene is bolded. The DC-Gaussian + Oracle GT Color Correction variant is excluded from bolding because it uses test-target information.
Institute for AI Industry Research (AIR), Tsinghua University, Beijing, China. · Zhejiang University, Hangzhou, China. · University of Wisconsin–Madison, Madison, WI, USA. +4