On Github johannesmik / thesis-presentation
Master's thesis presentation
Johannes Mikulasch
Advisor: Christian Kerl
August 21, 2015
Slides: github.com/johannesmik/thesis-presentation
Department of Informatics, Technische Universität München
Can we improve depth and material information?
Kinect One
512 × 424 px depth image (real-time).
512 × 424 px infrared image.
1920 × 1080 px color image.
Image: ifixit.com teardown
Time of Flight cameras
Round trip time t of a light burst gives distance d=c⋅t2
But light is fast, thus precision is challenging
Δd=1 mm⟹Δt=6.ˉ6 ps.
… and no intensity image.
Time of Flight cameras
Measure phase shift φ of an intensity modulated, continuous light signal
t=φ2fmodπ⟹d=cφ4fmodπ.
Time of Flight cameras
material color image ⇎ material infrared image
Time of Flight cameras
Time of Flight cameras
precision, cost,
Synthetic datasets of color, depth, infrared images
Dataset creation
OpenGL3 and Python
Fragment shaders:diffuse, specular, normal, depth, data
Load extern .obj with textures
Camera free animatable
Material estimation
k_d: diffuse reflectivity
k_s: specular reflectivity
n: hardness
\begin{align} I =& I_{\text{in}} k_d \cos \theta + I_{\text{in}} k_s \left(\cos \theta'\right)^n \end{align}
Dataset creation
A specular sphere.
Monkey Suzanne (blender): diffuse face, specular eyes.
infrared light, pointlight, coincident Kinect OneDataset creation
Three spheres, one diffuse, two specular.
Three Boxes, same materials as the spheres.
Desired challenge: can you see specular highlightsDataset creation
Ground truth known
Easy to create new scenes
Noise and artifacts are not realistic
Cluster color and depth using k-means
Relate surface normals to infrared intensity
Fit the Phong model through it
\Longrightarrow Estimate material properties k_d, k_s, n for each cluster.
Material estimation
k-means to find cluster centers \vec{\mu} of 6-dimensional data \vec{x}:
Material estimation
\begin{equation} I_k = \sum_{i}^{k} \sum_{j, c(j) = i} \parallel \vec{x}_j - \mu_i \parallel_2^2. \end{equation}\begin{equation} \hat{k} = \underset{k}{\mathrm{argmin~}} k \qquad\text{subject to} \qquad \frac{I_{k+1}}{I_{k}} > \tau \end{equation}
Material estimation
Normals calculated from depth image
Light direction / viewing direction is known
Obtain data pairs (\Theta_h, \mathcal{I}) for each pixel in each cluster
Material estimation
A constrained optimization fits the Phong model through data
\Longrightarrow gives k_d, k_s and n value for each cluster
Material estimation
Material estimation
Böhme et al. (2008) proposed this for a diffuse relighting model.
Extend this to specular relighting model.
Böhme et al. (2008), Shading constraint improves accuracy of time-of-flight measurements.
Optimization
boils down to optimizing this energy:
A non-linear conjugate gradient minimization was used.
Optimization
Python and PyCUDA
Performance critical code in CUDAHuge speedup over initial implementation on the CPU/OpenGL
Energy derivative: central difference
Optimization
The first experiment
compares diffuse and specular optimizations.
Optimization
Optimization
Optimization
Comparing RMSE improvement
RMSE (ground, initial) \leftrightarrow RMSE (ground, optimized)
\Longrightarrow tune free parameters \sigma_d^2, \sigma_i^2, w_d, and w_m.
Optimization
Evaluate on real data.
Optimization
Optimization
Thanks for your attention!