--- breaks: False --- # MZKB05/Beyond Lambert: Reconstructing Specular Surfaces From Color Paper: http://www.eecs.harvard.edu/~zickler/download/photodiff_cvpr05_preprint.pdf ## Immediately arising questions - MZKB say previous works model *homogeneous* dichromatic surfaces and begin by referencing Shafer... Shafer introduces dichromatic model and discusses "*inhomogeneous* surfaces that can be described by a dichromatic model", where "inhomogeneous", or "optically inhomogeneous", is expounded as characteristic that local surface normal deviates from macroscopic average normal. It's unclear what MZKB mean by "homogeneous", but I first thing think of "optical (in)homogeneity". So, if Dichromatic Model is designed for inhomogeneous surfaces, how come "previous works" model "*homogeneous dichromatic* surfaces"? - How do I know the source color $S$? - Basically, the paper just says, based on the assumption that material is dichromatic and specular component's color is approximately the lightsource's color, that ***if** we know specular component $S$ then, well, we can remove it and use the orthogonal part to measure chromacity*. No wonder that just setting $S=(1,1,1)$ does not work... $S$ obviously need be estimated from data. ## Paper content discussion **Dichromatic BRDF**: $$f(\lambda, \theta) = g_d(\lambda) f_d(\theta) + f_s(\theta).$$ Additional assumption: [IOR](https://en.wikipedia.org/wiki/Refractive_index) of surface is constant, "thus no $g_s(\lambda)$ factor". This is kind of questionable, I thought $g_s(\lambda)$ -- the spectral power distribution component of BRDF -- encodes the color information, while refraction index is the part that depends on angle $\theta$? **Sensor response**: $$I_k = (D_k f_d(\theta) + S_k f_s(\theta)) \langle N, L\rangle,$$ - $k$ -- channel; - $D_k$ -- diffuse/body component of the color measured by $k$'th sensor? - $S_k$ -- "effective source strength", measured with $k$'th filter and independent of surface; - $C_k$ -- sensor's sensitivity function; - $N$ -- surface normal; - $L$ -- illumination direction. **Pixel color**: $$I = \begin{bmatrix}I_{\mathrm{R}}\\I_{\mathrm{G}}\\I_{\mathrm{B}}\end{bmatrix}.$$ ## SUV transform $$ I_{\mathrm{SUV}} = R I, $$ where $R$ is a rotation that aligns $S$ with the red axis. $$\begin{split}I_{\mathrm{SUV}} &= (RD f_d(\theta) + RS_k f_s(\theta))\langle N, L\rangle\\ &= (RD f_d(\theta) + \begin{bmatrix}1\\0\\0\end{bmatrix} f_s(\theta))\langle N, L\rangle.\end{split}$$ $$I_U = R_{[2,:]}Df_d(\theta)\langle N, L\rangle,$$ $$I_V = R_{[3,:]}Df_d(\theta)\langle N, L\rangle.$$ In Lambertian case, $f_d(\theta)=\mathrm{const}$ and $R_{[2:,:]}Df_d$ are Lambertian albedos.