FlashNormal: Detailed Surface Normal Estimation from Flash and No-Flash Images
Authors: Ruiyang Chen, Feiran Li, Heng Guo, Zhanyu Ma
Organizations: Pattern Recognition and Intelligent System Laboratory, School of Artificial Intelligence, Beijing University of Posts and Telecommunications (BUPT), Beijing 100080, China · independent researcher
High-quality surface normal estimation is preferred for detailed surface shape recovery and image editing. Existing single image-based methods, though being a practical setup, often struggle to recover fine surface details and are sensitive to inherent shape-reflectance ambiguity. While photometric stereo achieves high-fidelity surface normal estimation from images under varying lights, its applicability is strictly limited by requiring a multi-illumination capture setup. To this end, we propose FlashNormal, a diffusion-based surface normal estimator from flash/no-flash image pairs. While retaining high practicability on modern smartphones, our proposal takes advantage of flash-induced shading variations, and leverages curvature-guided detail enhancement strategy, improving surface detail recovery and mitigating shape-reflectance ambiguity effectively. To evaluate our proposed method, we further present EvalFlash, the first real-world flash/no-flash evaluation dataset containing 20 objects aligned with ground-truth surface normals for quantitative benchmarking. Extensive experiments demonstrate the effectiveness of FlashNormal over state-of-the-art single image-based methods and show a significant out-performance over flash/no-flash-based normal estimation method on EvalFlash.
Figures & tables
Fig. 2: Pipeline of FlashNormal: Flash/no-flash image pairs and a coarse shape initialization are individually encoded by the VAE and then concatenated into a latent representation, which serves as guidance for normal estimator. The normal estimator denoises the latent representation to generate the latent surface normal, which is then decoded to produce the final estimated surface normal map.
Fig. 3: Flash/no-flash image pairs of Badge and Earphone poster . We show the shading variation between flash and no-flash images through the green boxes.
Fortune bag
Pineapple
Lady
Pinkcat
Guanyu
Egyptcat
Shakespeare
Monkey
Tree
Monster
Hugo
Anderson
Happydog
Monkeyhead
Luxun
Sittingbuddha
Goethe
Lion
Persimmon
Toy
Fig. 4: Overview of our EvalFlash benchmark. We illustrate the GT surface normals, flash (top), and no-flash (bottom) images of EvalFlash.
Fig. 5: Capture setup of EvalFlash. (Top) Flash/no-flash capture setup and 3D scanner used for GT shape acquisition. (Bottom) Flash/no-flash image observations and the aligned surface normal map rendered from the mesh.
Fig. 6: Four examples from our rendered photorealistic training dataset Flash100K. We show four 3D assets and the corresponding HDR environment maps in the first row and the bottom 4 rows show the rendering data.
Fig. 7: Surface normal estimation of Pineapple and Lady from baseline methods and ours. We show the estimated surface normals and the corresponding angular error distributions with MAE in degrees shown on the top.
EvalFlash
EvalFlash-synth
Method
MAE
RMSE
MSE
MAE
RMSE
MSE
E2E-FT [ 28 ]
16.02
0.33
0.04
17.50
0.38
0.06
Metric3Dv2 [ 29 ]
16.37
0.34
0.04
16.14
0.35
0.05
StableNormal [ 15 ]
18.53
0.36
0.05
18.48
0.38
0.06
LX18 [ 24 ]
38.83
0.88
0.27
45.39
1.02
0.38
SDM-UniPS [ 13 ]
21.89
0.44
0.07
26.32
0.52
0.11
TABLE I: Comparison On EvalFlash and EvalFlash-synth . We Calculate the Average Values Over the Two Test Sets.
Method
Fortune bag
Pineapple
Lady
Pinkcat
Guanyu
Eygptcat
Shakespeare
Monkey
Tree
Monster
E2E-FT [ 28 ]
15.36 / 0.32
14.45 / 0.29
19.84 / 0.45
17.22 / 0.35
20.02 / 0.41
15.09 / 0.32
16.42 / 0.34
14.52 / 0.29
18.71 / 0.40
12.91 / 0.26
Metric3Dv2 [ 29 ]
14.74 / 0.31
16.03 / 0.32
18.75 / 0.44
20.31 / 0.41
14.88 / 0.31
12.00 / 0.27
18.70 / 0.39
15.54 / 0.31
15.48 / 0.33
16.44 / 0.33
StableNormal [ 15 ]
15.50 / 0.32
18.27 / 0.35
18.15 / 0.42
20.45 / 0.39
19.67 / 0.38
15.19 / 0.31
20.82 / 0.42
17.33 / 0.33
18.10 / 0.35
15.99 / 0.31
LX18 [ 24 ]
31.70 / 0.70
32.10 / 0.74
40.98 / 0.86
41.92 / 0.86
36.90 / 0.77
40.26 / 0.88
33.49 / 0.75
29.53 / 0.70
36.43 / 0.81
35.61 / 0.83
SDM-UniPS [ 13 ]
21.95 / 0.46
18.51 / 0.36
24.01 / 0.51
36.66 / 0.68
29.79 / 0.58
17.73 / 0.38
19.51 / 0.41
16.54 / 0.33
23.00 / 0.46
16.67 / 0.33
MV20 [ 19 ]
25.01 / 0.55
33.19 / 0.69
45.92 / 0.86
44.00 / 0.83
33.42 / 0.68
42.05 / 0.82
33.85 / 0.68
31.76 / 0.67
34.96 / 0.71
38.30 / 0.75
TABLE II: Quantitative Comparison (MAE/RMSE) on Surface Normal Estimation Between Baseline Methods and Ours. The Best and Second-best Results Are Emboldened and Underlined, Respectively. These Are the 10 Objects Results from EvalFlash.
Method
Hugo
Anderson
Happydog
Monkeyhead
Luxun
Sittingbuddha
Goethe
Lion
Persimmon
Toy
E2E-FT [ 28 ]
14.87 / 0.30
17.69 / 0.36
14.00 / 0.29
14.15 / 0.29
15.69 / 0.33
13.15 / 0.27
17.65 / 0.37
18.20 / 0.37
14.58 / 0.32
15.51 / 0.34
Metric3Dv2 [ 29 ]
18.77 / 0.38
19.00 / 0.38
13.28 / 0.28
13.74 / 0.27
18.89 / 0.38
15.69 / 0.31
19.59 / 0.39
15.64 / 0.32
13.12 / 0.29
16.91 / 0.36
StableNormal [ 15 ]
20.41 / 0.39
21.33 / 0.42
19.48 / 0.38
17.45 / 0.34
19.84 / 0.38
17.89 / 0.36
20.89 / 0.41
18.11 / 0.37
17.42 / 0.37
18.44 / 0.39
LX18 [ 24 ]
30.66 / 0.62
31.61 / 0.64
28.17 / 0.61
49.03 / 0.89
28.82 / 0.63
38.09 / 0.73
30.10 / 0.63
43.89 / 1.04
48.35 / 1.12
50.77 / 1.13
SDM-UniPS [ 13 ]
23.62 / 0.46
21.79 / 0.44
21.02 / 0.43
14.55 / 0.29
17.87 / 0.36
22.61 / 0.43
21.70 / 0.43
22.86 / 0.47
17.02 / 0.36
31.34 / 0.61
MV20 [ 19 ]
33.59 / 0.85
41.31 / 0.96
36.74 / 0.90
43.29 / 0.98
32.41 / 0.93
52.38 / 1.11
34.93 / 0.89
33.09 / 0.69
40.67 / 0.81
47.46 / 0.90
TABLE III: Quantitative Comparison (MAE/RMSE) on Surface Normal Estimation Between Baseline Methods and Ours. The Best and Second-best Results Are Emboldened and Underlined, Respectively. These are the other 10 objects results from EvalFlash.
Method
Fortune bag
Pineapple
Lady
Pinkcat
Guanyu
Eygptcat
Shakespeare
Monkey
Tree
Monster
E2E-FT [ 28 ]
0.03
0.03
0.07
0.08
0.05
0.03
0.04
0.03
0.05
0.02
Metric3Dv2 [ 29 ]
0.04
0.03
0.06
0.06
0.03
0.02
0.05
0.03
0.04
0.04
StableNormal [ 15 ]
0.04
0.05
0.10
0.07
0.06
0.03
0.05
0.03
0.06
0.06
LX18 [ 24 ]
0.18
0.27
0.34
0.24
0.29
0.35
0.27
0.22
0.33
0.28
SDM-UniPS [ 13 ]
0.05
0.06
0.09
0.15
0.11
0.06
0.06
0.04
0.06
0.04
MV20 [ 19 ]
0.10
0.14
0.24
0.19
0.12
0.23
0.16
0.14
0.15
0.19
TABLE IV: Quantitative Comparison (MSE) on Surface Normal Estimation Between Baseline Methods and Ours. The Best and Second-best Results Are Emboldened and Underlined, Respectively.These Are the 10 Objects Results from EvalFlash.
Method
Hugo
Anderson
Happydog
Monkeyhead
Luxun
Sittingbuddha
Goethe
Lion
Persimmon
Toy
E2E-FT [ 28 ]
0.03
0.04
0.03
0.03
0.04
0.02
0.04
0.04
0.03
0.04
Metric3Dv2 [ 29 ]
0.04
0.04
0.03
0.02
0.05
0.03
0.05
0.03
0.03
0.04
StableNormal [ 15 ]
0.04
0.05
0.03
0.03
0.04
0.04
0.05
0.07
0.05
0.07
LX18 [ 24 ]
0.21
0.26
0.19
0.24
0.22
0.33
0.24
0.29
0.30
0.33
SDM-UniPS [ 13 ]
0.07
0.08
0.05
0.02
0.06
0.05
0.06
0.07
0.05
0.12
MV20 [ 19 ]
0.24
0.26
0.25
0.26
0.28
0.31
0.29
0.17
0.23
0.27
TABLE V: Quantitative Comparison (MSE) on Surface Normal Estimation Between Baseline Methods and Ours. The Best and Second-best Results Are Emboldened and Underlined, Respectively. These Are the Other 10 Objects Results from EvalFlash.
Fig. 8: Qualitative comparison with baseline methods in terms of shape-reflectance ambiguity. Our method can estimate high-quality ambiguous-less surface normal maps, leading to visibly flatter meshes after surface normal integration.
Fig. 9: Estimated surface normal maps and reconstructed meshes of detail-rich objects. Compared to the peer methods, our estimated surface normals present richer details, leading to higher-quality structured meshes.
Fig. 10: Mesh generation results of Shakespeare (left side) and Monkey (right side) by image-to-3D methods [ 48 , 49 ] and ours. The 3D mesh visualizations are taken as snapshots.
Fig. 11: Ablation on geometric detail recovery from different setups.
Fig. 12: Ablation study on flash input.
Fig. 13: Ablation study on coarse shape initialization. Though the initial surface normal is lack of detail, it can help enhance the accuracy of estimated surface normal from FlashNormal.
EvalFlash
EvalFlash-synth
Method
MAE
RMSE
MSE
MAE
RMSE
MSE
FlashNormal (Ours)
14.96
0.31
0.03
15.47
0.33
0.04
w/o flash input
15.48
0.32
0.03
15.88
0.35
0.05
w/o curvature-guided detail enhancement
15.50
0.33
0.04
16.07
0.35
0.05
w/o zoomed pixels strategy
15.60
0.32
0.04
17.96
0.38
0.06
w/o global shape initialization
16.33
0.34
0.04
18.23
0.39
0.07
TABLE VI: Ablation study on EvalFlash and EvalFlash-synth . We calculated the average values of two testsets.
λ
EvalFlash
EvalFlash-synth
MAE
RMSE
MSE
MAE
RMSE
MSE
10
15.46
0.34
0.11
16.12
0.35
0.05
1000
15.23
0.33
0.05
15.98
0.34
0.05
100 (used in paper)
14.96
0.31
0.03
15.47
0.33
0.04
TABLE VII: Sensitivity study on the loss weight λ . We report the average values on EvalFlash and EvalFlash-synth.
Prompt variant
EvalFlash
EvalFlash-synth
MAE
RMSE
MSE
MAE
RMSE
MSE
w/o “DSLR”
15.16
0.31
0.03
15.73
0.34
0.04
w/o “detailed”
15.21
0.32
0.03
15.66
0.34
0.05
full prompt (used in paper)
14.96
0.31
0.03
15.47
0.33
0.04
TABLE VIII: Sensitivity study on prompt variants. We report the average values on EvalFlash and EvalFlash-synth.
Fig. 14: Comparison between E2E-FT [ 28 ] and ours about zoomed pixels strategy. Valid regions are resized to the same resolution.
Fig. 15: Analysis on the robustness against varying focal length f and camera-to-object distance z . The top and middle four rows show the image observations and estimated surface normal maps. Valid regions are resized to the same resolution. The bottom row summarizes the normal estimation errors measured by MAE under varying f and z .
Fig. 16: Analysis on the robustness w.r.t. varying illuminations & color temperatures. The top three rows show the synthetic experimental results and bottom two rows show the real-world experimental results.
Fig. 17: Representative ROI extraction and surface normal prediction results using SAM 2 [ 40 ] . The first three rows are single-object cases, and the last two rows are multi-object cases.
Fig. 18: Qualitative result using an in-the-wild image processed by StableDelight [ 52 ] .
Fig. 19: 3D reconstruction via integrating multi-view surface normal maps estimated by E2E-FT [ 28 ] and ours. The 3D mesh visualizations are taken as snapshots.
Fig. 20: Failure cases from our proposal. Red boxes highlight areas where surface normals are incorrect.
Surface Normal Estimation recovers the orientation of visible 3D surfaces from images and other sensor data for shape understanding and reconstruction.