Data-Driven Diffuse-Specular Separation from Spherical Gradient Illumination
SIGGRAPH 2009 Poster
Tongbo Chen    Abhijeet Ghosh    Paul Debevec   
USC Institute for Creative Technologies
Introduction

Recently, Ma et al. [2007] introduced a technique for estimating high quality diffuse and specular normals and albedo maps using polarized spherical gradient illumination. However, the polarization based technique restricts acquisition to a single viewpoint, needs observation of two polarization states and results in insufficient light levels for performance capture. In this work, we look into an alternate diffuse-specular separation technique for spherical gradients based on a data-driven reflectance model.

Method

Our separation algorithm proceeds in two stages. First, we employ example data with known ground truth separation to build orientation-based reflectance profiles for diffuse and specular reflectance under the uniform spherical illumination condition. Thereafter, we employ the diffuse and specular reflectance profiles to split the uniform illumination observation into diffuse and specular albedos (Figure 1, (b)). The above separation serves as an initial guess for the following iterative optimization: we relight the separated diffuse and specular albedo into the X, Y and Z gradient illuminations, sum them up and then compare to the observed unseparated gradients. The error in the relit conditions is attributed alternately to the specular normal estimate and to the specular albedo estimate in subsequent iterations. We repeat the above normal and albedo updates for a few iterations until convergence.

Results

In this work, we consider the polarization based separation of Ma et al. to be the ground-truth diffuse-specular separation of albedo and surface normals. We employ our example-based data-driven separation on the parallel-polarized images (Figure 1, (c) & (e)) in order to compare the proposed separation technique with the polarization-based results. Figure 2 shows separation results for a human face in a static neutral expression as well as two dynamic performance capture settings.