摘要:
以往的光照估计用到的光照模型的假设条件都很多,最主要的就是凸性和恒定反射率,这篇论文提出了一种更一般的光照模型,在此模型中,我们通过考虑遮挡几何和表面纹理信息,放宽了对凸性和恒定反射率的假设。
Section2(光照估计的预备知识):
A.凸性非纹理曲面的光照模型
在相当多的假设条件的限定下,光照模型可以表示成:
其中,
和
表示的时入射光和法线方向,
为积分区域,即上图的半球面,
时一个3D表面点,
时对应的图片的2D点的位置。
和
分别表示图片的像素的强度,和光照方程。最后,我们将ρ定义为一个广义反照率,包括反射照度与入射辐照度之比以及相机传感器接收到的反射辐射与像素强度之比。实际上,上面的狮子是一个球面卷积形式,
和L的卷积是用来产生对象的强度的。
上面这个光照模型是基于若干假设的,虽然有些假设是不可避免的。
B.球面谐波表示
和
的在球面上的积分可以被表示为球谐函数,
所以,通过取样点,我们可以得到如下方程:
q为样点个数,表示对应的二维点的像素强度,
即为所求的球面谐波系数,为一个9维列向量。
仅和法向量有关。
由此,球面谐波系数可以求得
Section 3(介绍本文应用的模型):
A:非凸且有纹理的物体的光照模型
首先,为了提取更多有用的信息,我们把二维人脸进行三维建模,生成人脸的三维信息和纹理信息,光照模型可以转为:
此处的和取的三维点有关,即光照度是变化的,不是一个常数。
即为三维点。
是一个球面掩模函数,如果入射光线沿着
的方向可以到达
,那么
值为1,否则为0。
由此,我们可以得到一个更加简化的式子:
B.此模型的SH表示(球面谐波表示)
根据SH公式,可得,
为光照系数,
为转换系数,
所以可以写为:
由于SH的正交性,当p=n且q=m时,这个式子为1,其他项为0;所以,我们可得:
类似的,取样点,我们可以得到如下方程:
所以,光照系数可以表示成:
由此可知,已知传递系数,我们就可以知道光照系数,但是在每个取样点都是不同的,不是一个常数,因为查阅其公式,和几何特征以及每个点的照射度有关。文章的接下来的部分,将会探讨如何估计传递系数。
C.估计传递系数
要求得传递系数,我们可以用直接方法,即先求出传递函数,再投射到SH坐标系下,得到系数。但是传递函数并不容易求得,而且即使能求得,也很复杂。
另外一种是间接的方式,我们通过已知光照方向下的人脸图片来求传递系数。
式子如下:
左边这个L矩阵包含p个不同光照方向的光照系数,这些光照方向是已知的,通过pbrt这个软件可以求出来的。
中间一栏传递系数是传递系数,要求的。
最右边的那一栏是对应光照的样点的光强。
这样,传递系数就可以求出来了,即为:
我们只是求出了这个点的传递系数,由此,我们可以求出其他各个点的传递系数。
但是,这个公式是建立在正面人脸的基础上,当人脸有一些旋转时,相应的传递系数也要作变换:
M这个矩阵的计算,在论文的附录位置上
D.基于三维人脸对准的特征点
此小节主要介绍,我们如何得到三维点和二维点的对应关系,这里要用到人脸的三维建模的相关内容。
我们在二维人脸图片上检测出一些特征点,然后最小化这些特征点和对应的三维图上面的特征点的二维投影的距离。
即最小化此式:
表示的是三维点的二维投影。K是相机内参矩阵,R是旋转矩阵,t是转化向量
N表示特征点数量,这个式子可以用非线性最小二乘解决。
Section 4:实验
A.数据集
采用了5个数据集,这里就不赘述了。
要得到两个光照系数的距离,可以这样计算:
Q是一个9x9对角阵,对角线上的值为(0,0,0,0,0,,
,
,
)。