1.一种基于隐式神经场景表示进行虚拟视点图像合成的方法,其特征在于,包括如下步骤:步骤1:获取需要产生虚拟视点的训练图像数据集和测试图像数据集;
步骤2:利用colmap工具将步骤1中得到的训练图像数据集进行预处理,在预处理阶段基于特征匹配算法Sift对输入的训练图像数据集进行特征点的提取和匹配;
所述预处理操作是指通过Colmap工具从输入的训练图像数据集中计算每张图像对应的摄像机的内外参数以及场景的最大、最小边界;同时Colmap工具将计算场景的稀疏点云,基于特征匹配算法Sift提取图像之间的每张图像与旁边图像的共同特征点,该特征点对应于稀疏点云中的点;
步骤2还包括利用MiDas深度估计算法估计每张训练图像对应的深度值;
步骤3:将步骤1获得的训练图像数据和步骤2所提取的特征点信息经过处理后输入多层感知器网络中进行训练,并通过体渲染计算训练图像数据的渲染颜色值;
对已获取的训练图像数据和提取的特征点信息的具体处理过程如下:步骤3‑1:计算从摄像机位置向二维成像平面投射到三维空间的射线;
步骤3‑2:结合步骤2所获取的深度估计值在步骤3‑1所获取的射线上进行集中采样来获取多层感知器网络的输入值;
步骤3‑3:对已获取的多层感知器网络的输入值进行位置编码,然后将编码后的采样点和深度值连接后送入多层感知器中进行学习;同时射线的方向向量d也需进行位置编码;
步骤4:将测试图像数据输入训练好的多层感知器网络,得到网络的输出值后,通过体渲染得到测试的渲染图像;
步骤5:基于训练好的多层感知器网络生成虚拟视点的图像。
2.根据权利要求1所述的一种基于隐式神经场景表示进行虚拟视点图像合成的方法,其特征在于,步骤1所述训练图像数据集为摄像机拍摄的大型场景数据集或只拥有单一对象的场景。
3.根据权利要求1‑2任一项所述的一种基于隐式神经场景表示进行虚拟视点图像合成的方法,其特征在于,步骤3中所述多层感知器包括两部分的全连接层,每部分包含四层全连接层,每个连接层包括256个通道和一个ReLU激活函数;当数据送入多层感知器经过四层的全连接层后,然后将得到的256维张量连同编码完的数据送入剩余的四层全连接层,最终多层感知器的输出值与编码完的方向向量连接,最后输出一维的体积密度σ;所述多层感知器的输出值和编码后的射线方向向量γ(d)连接后经过128通道的全连接层,输出颜色值c。
4.根据权利要求3所述的一种基于隐式神经场景表示进行虚拟视点图像合成的方法,其特征在于,所述体渲染的公式如下:其中
其中c表示每个采样点的颜色值,σ表示每个采样点的体积密度值,tn和tf分别表示射线上采样的最近点和最远点,r(t)表示射线,d表示射线的方向向量,T(t)表示所有采样点累积的透射率,即采样点的权重值。
5.根据权利要求1所述的一种基于隐式神经场景表示进行虚拟视点图像合成的方法,其特征在于,整体网络的最终损失函数由特征点损失函数 和真实颜色值损失函数两部分组成;
所述特征点损失函数 利用MSE损失来计算相邻图像的特征点之间的颜色均方误差:其中 与 分别为第i张图和第i+1张图的特征点经过网络后再进行体渲染的颜色值;
所述真实颜色值损失函数 为:
其中, 为采样的像素点经过计算射线采样以及位置编码后送入多层感知器,经过体渲染后得到的颜色值;C(r)为采样点的真实颜色值;
因此,最终的损失函数为:
其中特征点损失函数相对于真实颜色损失函数的权重为0.1。
6.一种运行权利要求1‑5任意一项所述的基于隐式神经场景表示进行虚拟视点图像合成方法的装置,其特征在于,包括:图像获取模块,用于获取需要产生虚拟视点的训练图像数据集;
预处理模块,用于进行特征点的提取和匹配以及计算摄像机参数;
继续处理模块,用于获取多层感知器网络的输入值;
训练模块,用于利用渲染图像得到的颜色值训练多层感知器网络;
虚拟视点合成模块,用于通过训练好的多层感知器网络生成指定虚拟视点的图像。