Visual-Hull + Bregman迭代
这个部分,算法,主要是实现一下效果,这里增加了迭代过程。具体原理如下所示:
这个迭代算法的作用就是通过不断的迭代,使其重建的三维效果不断的逼近真实的三维状态。
由于三维模型和真实的标准的三维模型的宽高比都可能不相同,因此有必要先对三维模型进行对齐变形。这里改进方法拟采用的对齐变形方法是基于Laplacian算子的标定点约束方法,为了保持三维模型又尽量降低从2D坐标变换到3D坐标的误差,问题就转化为最小化下面能量公式:
其中
为Laplace Beltrami算子,
为图像投影矩阵,
为一般模型中相应的标定点的三维坐标矩阵,
为标定点在图像中的二维坐标矩阵,
是相应的权重。第一项是原始网格
和变形网格
的Laplace Beltrami算子偏差在表面
下的积分,第二项是一般模型上与图像上特征点对应点投影后的二维坐标与图像上特征点的二维坐标的均方误差。为了解决(1)式我们把表面
离散为一个p个顶点的三维网格,其对应的三维坐标组成矩阵X,于是(1)式就等价于:
这是一个关于X的二次函数,其中
是Laplace Beltrami算子的离散化,是一个对称矩阵其中每项为
这里
和
边ij相对的两个角如图4所示。其中
是一个对角矩阵,
。然而这并不能确保旋转不变形,于是我们借鉴[28][28],注意到
,这说明点作用拉普拉斯算子后就是等于平均曲率与表面的单位法向量的乘积。因此,为了保持模型的几何信息和旋转不变性,我们首先初始化平均曲率
并且迭代更新
按如下公式(3)计算出
,
综上所述,整个变形过程可以写为一个线性系统:
因为基于Laplacian算子的标定点约束方法对模型进行一个全局的变形,但丢失一些细节信息。为此,本课题提出一个新颖的优化模型细节的方法——光度法线技术。首先假设每幅图像都是在Lambertian反射环境下拍摄的,于是图像上任意点x的光照强度计算公式为:
其中
为环境系数,
为散射系数,
为光源方向,
为该点处的反射率
为该点处的表面法线。然后把(5)式改写为矩阵形式:
这里行向量
列向量
。对于可见点我们根据图像信息可以计算出其光照强度,对于某些图像中的不可见点把光照强度设置为0,于是得到光照强度矩阵M。由(5)式我们知道M=LS,对M进行SVD分解可以得到
,但是因为SVD分解的不唯一性,我们不能得到
和
。