Deep Outdoor Illumination Estimation (#3565) — Supplementary Material

The purpose of this document is to extend the explanations, results and analysis presented in the main paper. More results on sun position estimation, camera parameter estimation and virtual object insertion on both the SUN360 and HDR dataset are provided. Furthermore, supplementary explanations on the HDR capture is given.

All the provided examples (images and panoramas) are taken from our test set, which the neural network has never seen during training nor validation.

Table of Contents

  1. Sun Position (extends fig. 6)
  2. Virtual Object Insertion (extends fig. 9)
  3. Camera Parameters Estimation
    1. Parameter Estimation Performance
    2. Object Insertion Examples (extends fig. 10)
  4. HDR Captures (extends sec. 6.3)
  5. HDR Virtual Object Insertion (extends fig. 11)

1. Sun position estimation

In this section, we present some additional sun position estimations, extending the results shown in fig. 6.


Angular distance: 15.6 degrees

Angular distance: 17.0 degrees

Angular distance: 8.6 degrees

Angular distance: 5.4 degrees

Angular distance: 14.5 degrees

Angular distance: 17.5 degrees

Angular distance: 20.1 degrees

Angular distance: 12.8 degrees

Angular distance: 19.5 degrees

Angular distance: 14.8 degrees

Angular distance: 18.9 degrees

Angular distance: 11.8 degrees

Angular distance: 24.4 degrees

Angular distance: 12.4 degrees

Angular distance: 11.3 degrees

Angular distance: 40.4 degrees

Angular distance: 26.5 degrees

Angular distance: 37.2 degrees

Angular distance: 8.9 degrees

Angular distance: 37.5 degrees

Angular distance: 13.5 degrees

Angular distance: 15.0 degrees

Angular distance: 7.8 degrees

Angular distance: 32.3 degrees

Angular distance: 7.4 degrees

Angular distance: 16.8 degrees

Angular distance: 24.1 degrees

Angular distance: 11.3 degrees

Angular distance: 4.7 degrees

Angular distance: 24.2 degrees

Angular distance: 23.3 degrees

Angular distance: 11.4 degrees

Angular distance: 6.2 degrees

Angular distance: 7.6 degrees

Angular distance: 10.6 degrees

Angular distance: 13.5 degrees

Angular distance: 19.5 degrees

Angular distance: 6.5 degrees

Angular distance: 3.3 degrees

Angular distance: 31.3 degrees

Angular distance: 16.5 degrees

Angular distance: 18.2 degrees

Angular distance: 14.4 degrees

Angular distance: 72.5 degrees

Angular distance: 14.7 degrees

Angular distance: 21.8 degrees

Angular distance: 3.1 degrees

Angular distance: 2.3 degrees

Angular distance: 30.1 degrees

Angular distance: 7.2 degrees

Angular distance: 32.9 degrees

Angular distance: 14.4 degrees

Angular distance: 15.1 degrees

Angular distance: 6.9 degrees

Angular distance: 5.3 degrees

Angular distance: 17.2 degrees

Angular distance: 34.9 degrees

Angular distance: 13.4 degrees

Angular distance: 10.1 degrees

Angular distance: 15.1 degrees

Angular distance: 15.7 degrees

Angular distance: 20.3 degrees

Angular distance: 22.6 degrees

Angular distance: 51.0 degrees

Angular distance: 17.4 degrees

Angular distance: 12.9 degrees

Angular distance: 12.2 degrees

Angular distance: 26.8 degrees

Angular distance: 34.7 degrees

Angular distance: 6.7 degrees

Angular distance: 6.4 degrees

Angular distance: 8.6 degrees

Angular distance: 67.8 degrees

Angular distance: 28.1 degrees

Angular distance: 10.3 degrees

Angular distance: 8.9 degrees

Angular distance: 26.4 degrees

Angular distance: 12.8 degrees

Angular distance: 7.6 degrees

Angular distance: 16.4 degrees

Angular distance: 28.4 degrees

Angular distance: 12.6 degrees

Angular distance: 12.9 degrees

Angular distance: 9.6 degrees

Angular distance: 15.2 degrees

Angular distance: 4.8 degrees

Angular distance: 22.2 degrees

Angular distance: 9.9 degrees

Angular distance: 14.2 degrees

Angular distance: 18.7 degrees

Angular distance: 16.3 degrees

Angular distance: 10.3 degrees

Angular distance: 39.6 degrees

Angular distance: 1.6 degrees

Angular distance: 1.3 degrees

Angular distance: 10.5 degrees

Angular distance: 20.5 degrees

Angular distance: 56.3 degrees

Angular distance: 26.0 degrees

Angular distance: 5.9 degrees

Angular distance: 6.7 degrees

Angular distance: 26.2 degrees

Angular distance: 5.5 degrees

Angular distance: 20.7 degrees

Angular distance: 8.8 degrees

Angular distance: 15.5 degrees

Angular distance: 22.0 degrees

Angular distance: 33.0 degrees

Angular distance: 42.4 degrees

Angular distance: 39.2 degrees

Angular distance: 8.3 degrees

Angular distance: 11.5 degrees

Angular distance: 18.3 degrees

Angular distance: 12.8 degrees

2. Virtual object insertion

More virtual object insertion results on the SUN360 dataset are presented in this section, extending the results of fig. 9. For these examples, the virtual camera parameters are kept at a fixed value (fov=60 degrees, elevation=0 degrees). Please see this section for examples where camera parameters are set by our CNN.

3. Camera parameters evaluation

3.1 Parameter estimation performance

In this section, we show a quantitative evaluation of the neural network estimation performance on the camera elevation (a)-(b) and the camera field of view (c)-(d). The range of camera elevation in our dataset is [-20, 20] degrees, with a absolute median of 10 degrees, as shown in the blue bar of the cumulative distribution function (a). Note that estimating camera elevation is analogous to finding the horizon. Our method recovers a camera elevation within 5 degrees of error roughly 75% of the time. The camera field of view is measured vertically and has a range of [35, 68] degrees in our dataset, with a median of 52 degrees. The proposed method recovers the vertical field of view within 10 degrees roughly 75% of the time. The distributions of errors on (b)-(d) are displayed as box-percentile plots, where the envelope width represents the percentile. The width is maximal at the median (also shown using a red bar), half the size at the 25th and 75th percentile, etc.

(b) Cumulative distribution function on the camera field of view. (a) Cumulative distribution function on the camera elevation.
(c) Box-Percentile plot on the camera elevation. (d) Box-Percentile plot on the camera field of view.
3.2 Object insertion examples
3.2.1 Camera Elevation

For the following results, we allow the neural network to control the elevation angle (up-down axis) of the camera while performing a virtual object insertion. The camera's field of view was fixed to 60 degrees for those experiments.


Est. elevation: -16 degrees
Real elevation: -19 degrees


Est. elevation: -6 degrees
Real elevation: -11 degrees

Est. elevation: -3 degrees
Real elevation: 0 degrees


Est. elevation: -13 degrees
Real elevation: -17 degrees
3.2.2 Camera Elevation and Field of View

We now present examples of virtual object insertion where the neural network has control over both the camera's elevation angle and field of view.


Est. elevation: -18 degrees, FoV: 41 degrees
Real elevation: -16 degrees, FoV: 40 degrees


Est. elevation: -16 degrees, FoV: 46 degrees
Real elevation: -16 degrees, FoV: 45 degrees

Est. elevation: -2 degrees, FoV: 52 degrees
Real elevation: 0 degrees, FoV: 60 degrees


Est. elevation: -2 degrees, FoV: 51 degrees
Real elevation: -1 degrees, FoV: 59 degrees

4. Validation High Dynamic Range

In sec. 6.3, we described the process of HDR panorama capture. An excerpt of such a capture is shown in this section, displaying the full dynamic range of a single capture. While most pixels of an outdoor panorama lie in a relatively limited dynamic range, the pixels representing the sun require a scale of roughly 1:10,000 to be unsaturated. Accurately capturing those extremely intense pixels are mandatory for cast shadows and proper shading to appear in renderings.

Example of HDR capture used for validation in sec. 6.3. Notice how a factor of around 10,000 is required to capture the extreme HDR of outdoor panoramas when the weather is sunny.

5. Virtual object insertion validation with HDR captures

In this section we evaluate our CNN by comparing objects rendered under our estimated lighting (first column) against those rendered with captured HDR images (left mouse hover and second column), extending the results of fig. 11. To create these results we capture HDR panoramas (last column, see Sec 6.3 for details about our HDR capture methodology), converted them to 8-bit jpegs, sampled limited field-of-view images from them, and used these images as inputs to our CNN. As can be seen from these results, our CNN reproduces the ground lighting conditions faithfully up to a scale factor, and in particular recovers the direction of the sun accurately (estimated sun direction also shown on the panoramas). Since our CNN is trained not on HDR data but on Hosek-Wilkie parameters fit to LDR data, we also evaluate the error introduced by this step. We do this by fitting the parameters of the Hošek-Wilkie model to the 8-bit jpeg panoramas and render objects under this illumination (third column). These results show that part of the error in lighting estimation (especially in terms of camera exposure) is caused by the LDR nature of the data.

Our method
(mouse hover for captured lighting)
Captured lighting
 
Hošek-Wilkie fit
 
Panorama