本发明涉及新视角合成,尤其涉及一种基于傅立叶网格的三维神经渲染方法和装置。
背景技术:
1、视角合成是指利用现有图像或场景信息生成在原始观察点之外的新视角的技术。该领域在计算机视觉和计算机图形学中具有重要意义,并涉及到模型建立、图像处理、信号处理等相关技术。
2、神经辐射场(neural radiance fields,nerf):nerf是一种通过多层感知器(mlp)来表示颜色和密度,并通过可微分的体积渲染来学习隐式的三维表示。nerf已经成为新视角合成的主要方法,并在多个领域得到广泛应用。之前的工作还针对nerf的效率做出了一些改进,例如使用高级缓存技术的fastnerf和instant-ngp,以及将高容量mlp分解为多个小型mlp的kilonerf。
3、无界场景重建:该领域主要关注学习无界或大规模辐射场的重建。由于nerf在渲染新视角方面取得了显著的成功,近期的研究着眼于学习无界或大规模辐射场。例如,nerf++将nerf推广到360度捕捉,并在unbounded tanks&temples数据集上进行了实验。mip-nerf-360改进了mip-nerf的参数化和效率。
4、现有的技术路径主要包含以下几个步骤:
5、(1)采集图像:nerf的工作流程通常从采集场景的多个图像开始。这些图像可以是从不同视角拍摄的,以捕捉场景的各个方面和细节。
6、(2)相机定位装置回归相机姿态:为了准确地重建场景,nerf需要知道每个图像的相机姿态(位置和方向)。为了获得这些信息,通常需要使用相机定位装置(如imu、gps等)来记录相机的姿态,然后通过回归方法预测相机的姿态参数。
7、(3)求解神经渲染场:nerf使用神经网络来建模场景的辐射场(radiance field),即场景中每个点的颜色和密度。神经网络将输入点的三维坐标映射到对应点的颜色和密度值,从而实现对场景的建模。
8、(4)获取输入视角:在渲染新视角之前,nerf需要获取所需的输入视角。这可以通过在已知视角处采样场景的输入点来实现。通常会选择在场景中均匀采样一组输入点,这些点的视角将被用于渲染新视角。
9、(5)根据输入视角采样,渲染新视角的图片:一旦获取了输入视角和相应的场景点,nerf可以利用神经网络模型对新视角进行渲染。通过在输入视角处采样光线,并沿着光线对场景的辐射场进行积分,nerf可以生成逼真的新视角图像,显示场景从该视角观察的外观。
10、然而,现有技术存在以下缺点:
11、(1)计算复杂性和效率低下:某些技术在处理大规模数据集或复杂模型时面临计算复杂性和效率低下的问题。这可能导致训练和推理过程的时间和资源消耗较高,限制了其在实时应用和资源受限环境中的应用。
12、(2)数据需求量大:许多技术对大量标注数据的需求量较大。在一些任务中,需要大量的标注数据来训练准确的模型。数据收集和标注的成本往往很高,可能会限制技术的应用范围。
13、(3)对数据质量和多样性的依赖:一些技术对高质量和多样性的数据集依赖较大。如果训练数据集存在噪声、偏差或不平衡,模型的性能和泛化能力可能会受到影响。
14、(4)缺乏鲁棒性和泛化能力:一些技术在面对未见过的数据或领域转移时可能表现出较差的鲁棒性和泛化能力。这可能导致模型在现实世界中的应用受限,特别是在复杂、动态或不确定的环境中。
技术实现思路
1、本发明旨在解决如下技术问题:
2、(1)数据需求和采集复杂性:nerf模型需要大量的输入图像和对应的相机姿态信息来建立场景的神经渲染场。采集这些数据需要高精度的相机定位装置和复杂的数据采集过程。因此,降低数据需求和简化数据采集过程是一个重要的技术问题。
3、(2)计算效率和实时性:由于nerf模型的计算复杂度很高,渲染新视角的图像需要耗费大量的计算资源和时间。提高nerf模型的计算效率,使其能够实时地生成高质量的图像是一个挑战。
4、(3)泛化能力和场景扩展性:现有的nerf模型在场景的泛化能力和扩展性方面存在局限性。这意味着模型在处理未见过的场景或复杂场景时可能无法生成准确的渲染结果。改进nerf模型的泛化能力和场景扩展性,使其能够适应更广泛的场景是一个关键问题。
5、(4)几何和光照一致性:nerf模型在场景的几何结构和光照一致性方面存在挑战。生成的图像可能存在几何失真、光照不一致等问题。解决这些问题,使得生成的图像在几何和光照方面更加真实和一致,是一个重要的研究方向。
6、为达到上述目的,本发明的技术方案提供了一种基于傅立叶网格的三维神经渲染方法,其包括如下步骤:s1:采集图像,通过摄影设备采集场景的多个视角图像;s2:相机定位装置回归相机姿态,使用相机定位装置来确定每个图像的相机姿态信息;s3:求解神经渲染场,通过网格操作符fouriergrid建模无界辐射场,其中,fouriergrid利用傅里叶特征映射将输入信号扩展为多个频率分量,并使用网格来建模不同频率的组成部分;s4:获取输入视角,利用获取的相机姿态信息,将相机位置和方向转化为对应的输入视角;s5:根据输入视角采样,渲染新视角的图片。
7、进一步地,对于输入信号的第$i$个频率成分,傅里叶特征映射$\gamma(\bx,i)\in\mathbb{r}^{3}$的计算如下:
8、如果$i$除以2的余数为0,则$\gamma(\bx,i)=\sin(2^{\lfloor i/2\rfloor}\pi\bx)$;
9、否则,$\gamma(\bx,i)=\cos(2^{\lfloor i/2\rfloor}\pi\bx)$。
10、进一步地,通过相应的可学习网格张量$\mathbf{v}^{(i)}$对每个频率成分进行建模。
11、进一步地,通过相应的可学习网格张量$\mathbf{v}^{(i)}$对每个频率成分进行建模具体包括:
12、对于第$i$个频率成分,通过插值操作符$\texttt{interpolate}$将特征映射应用到网格上,得到表示该频率成分的特征向量$\boldsymbol{h_i}$:
13、$\boldsymbol{h_i}=\texttt{interpolate}(\gamma(\bx,i),\mathbf{v}^{(i)})$,其中$0\leq i\leq 2l-1$,$l$是控制采用的傅里叶特征数量的超参数;
14、最后,fouriergrid通过汇总函数$\phi$输出汇总的信号,得到最终的特征向量$\bu$:
15、$\bu=\texttt{fouriergrid}(\bx)=\phi({\boldsymbol{h_0},\boldsymbol{h_1},...,\boldsymbol{h_{2l-1}}})$;
16、在汇总函数中,采用平均值作为最佳的汇总方式:
17、$\phi({\boldsymbol{h_0},\boldsymbol{h_1},...,\boldsymbol{h_{n-1}}})=\frac{1}{n}\sum_{i=0}^{n-1}{\boldsymbol{h_i}}$。
18、进一步地,在步骤s5中,通过对fouriergrid中的网格进行插值操作,从已有视角图像中推断出新视角的辐射场属性,进而生成新视角图像。
19、本发明的技术方案还提供了一种基于傅立叶网格的三维神经渲染装置,其包括如下模块:图像采集模块,用于通过摄影设备采集场景的多个视角图像;相机姿态回归模块,用于通过使用相机定位装置来确定每个图像的相机姿态信息;神经渲染场求解模块,用于通过网格操作符fouriergrid建模无界辐射场,其中,fouriergrid利用傅里叶特征映射将输入信号扩展为多个频率分量,并使用网格来建模不同频率的组成部分;输入视角获取模块,用于利用获取的相机姿态信息,将相机位置和方向转化为对应的输入视角;新视角生成模块,用于根据输入视角采样,渲染新视角的图片。
20、进一步地,对于输入信号的第$i$个频率成分,傅里叶特征映射$\gamma(\bx,i)\in\mathbb{r}^{3}$的计算如下:
21、如果$i$除以2的余数为0,则$\gamma(\bx,i)=\sin(2^{\lfloor i/2\rfloor}\pi\bx)$;
22、否则,$\gamma(\bx,i)=\cos(2^{\lfloor i/2\rfloor}\pi\bx)$。
23、进一步地,通过相应的可学习网格张量$\mathbf{v}^{(i)}$对每个频率成分进行建模。
24、进一步地,通过相应的可学习网格张量$\mathbf{v}^{(i)}$对每个频率成分进行建模具体包括:
25、对于第$i$个频率成分,通过插值操作符$\texttt{interpolate}$将特征映射应用到网格上,得到表示该频率成分的特征向量$\boldsymbol{h_i}$:
26、$\boldsymbol{h_i}=\texttt{interpolate}(\gamma(\bx,i),\mathbf{v}^{(i)})$,其中$0\leq i\leq 2l-1$,$l$是控制采用的傅里叶特征数量的超参数;
27、最后,fouriergrid通过汇总函数$\phi$输出汇总的信号,得到最终的特征向量$\bu$:
28、$\bu=\texttt{fouriergrid}(\bx)=\phi({\boldsymbol{h_0},\boldsymbol{h_1},...,\boldsymbol{h_{2l-1}}})$;
29、在汇总函数中,采用平均值作为最佳的汇总方式:
30、$\phi({\boldsymbol{h_0},\boldsymbol{h_1},...,\boldsymbol{h_{n-1}}})=\frac{1}{n}\sum_{i=0}^{n-1}{\boldsymbol{h_i}}$。
31、进一步地,所述新视角生成模块通过对fouriergrid中的网格进行插值操作,从已有视角图像中推断出新视角的辐射场属性,进而生成新视角图像。
32、本发明通过引入fouriergrid操作符,提高了处理无界辐射场的效率和准确性。fouriergrid能够更好地建模频率成分,并通过网格进行插值操作,以更快速地处理输入数据。与现有的voxelgrid操作符相比,fouriergrid在场景建模和视图合成任务中表现出更好的性能和效率。