新视角重建方法、新视角重建网络的训练方法及装置
文献发布时间:2024-01-17 01:27:33
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种新视角重建方法、新视角重建网络的训练方法及装置。
背景技术
新视角合成广泛应用于3D重建、VR(虚拟现实)和AR(增强现实)等领域。新视角合成可以使用物体或场景的多个已知图像生成任意视角下的高清图像。
目前,神经辐射场(Neural Radiance Fields,NeRF)成为新视角合成的主流方法,NeRF技术在优化观察图像的体积几何和外观方便非常成功,可以渲染得到逼真的新视图。但该方法需要对每个场景进行训练优化来获得高质量的神经辐射场,此过程非常耗时且对硬件要求高,因此,限制了该技术在智能终端(如,手机)上使用。而且,目前的新视角重建方法合成得到的新视图的准确度低。
发明内容
有鉴于此,本申请提供了一种新视角重建方法、新视角重建网络的训练方法及装置,以解决上述至少部分问题,其公开的技术方案如下:
第一方面,本申请提供了一种新视角重建网络的训练方法,应用于电子设备,终端设备运行训练网络,训练网络包括新视角重建网络和图像深度估计网络;方法包括:通过新视角重建网络接收多个重建对象的图像样本,每个重建对象包括多个不同视角的图像样本,且每个重建对象的多个图像样本中包括一参考图像样本;通过新视角重建网络基于同一重建对象的所有图像样本,得到重建对象的神经编码体,以及基于神经编码体得到渲染损失值;通过深度估计网络基于神经编码体获得参考图像样本对应的深度损失值;基于同一重建对象的深度损失值和渲染损失值优化训练网络的参数。可见,该新视角重建网络的训练方法结合深度信息和外观信息(渲染)共同监督新视角重建网络的学习,使得到的神经编码体可以更准确地表达场景的几何和外观的信息,进而提高了最终输出的新视角图像的准确率和分辨率。
在第一方面一种可能的实现方式中,通过新视角重建网络基于同一重建对象的所有图像样本,得到重建对象的神经编码体,包括:通过新视角重建网络对同一重建对象的每个图像样本提取深度特征,得到一个特征图;通过新视角重建网络利用同一重建对象的所有特征图,获得重建对象对应的神经编码体。
在第一方面另一种可能的实现方式中,基于神经编码体得到渲染损失值,包括:基于神经编码体构建重建对象对应的神经辐射场;基于重建对象的神经辐射场,对重建对象的目标视角进行渲染得到目标视图;利用目标视图与重建对象在目标视角的真实视图,获得渲染损失值。
在第一方面又一种可能的实现方式中,根据同一重建对象的深度损失值及渲染损失值优化训练网络的参数,包括:获取深度损失值对应的第一权重,以及渲染损失值对应的第二权重;计算深度损失值与第一权重的第一乘积,渲染损失与第二权重的第二乘积,以及计算第一乘积与第二乘积得到总损失值;根据总损失值调整训练网络的参数。这样,可以根据实际需求调整深度损失值和渲染损失值的权重系数,进而调整深度损失值和渲染损失值对总损失值的影响,灵活性更高。
在第一方面再一种可能的实现方式中,通过新视角重建网络利用同一重建对象的所有特征图,获得重建对象对应的神经编码体,包括:对于同一重建对象的所有特征图进行单应性变换,投影到参考图像样本对应的特征图的平行平面上,得到每个特征图对应的特征体;将同一重建对象对应的所有特征体聚合为一个三维代价体;对三维代价体进行编码获得重建对象对应的神经编码体。该方案中的神经编码体可以有效推断和传播场景的几何信息和外观信息,因此无需对每个场景都进行训练优化,而且无需输入大量训练样本。
在第一方面另一种可能的实现方式中,将同一重建对象对应的所有特征体聚合为一个三维代价体,包括:计算同一重建对象对应的所有特征体的方差,获得重建对象对应的三维代价体。该方案得到的基于方差的3D代价体对不同输入视图上的图像外观变化进行编码,因此基于方差的3D代价体可以表达场景几何体和视图相关的着色效果引起的外观变化,进而使神经编码体可以更准确地表达场景的几何和外观。
在第一方面又一种可能的实现方式中,基于神经编码体构建重建对象对应的神经辐射场,包括:对神经编码体内任一三维位置的第一位置向量进行编码获得第二位置向量;对神经编码体的任一观察方向的第一方向向量进行编码获得第二方向向量;利用重建对象对应的神经编码体,以及位置向量、方向向量及任一三维位置映射到重建对象的图像样本的位置对应的颜色信息,获得任一三维位置在任一观察方向对应的体素密度和颜色信息。
在第一方面另一种可能的实现方式中,对神经编码体内任一三维位置的第一位置向量进行编码获得第二位置向量,包括:采用位置编码方式对第一位置向量进行编码得到第二位置向量,第二位置向量的维数高于第一位置向量的维数;对神经编码体的任一观察方向的第一方向向量进行编码获得第二方向向量,包括:采用位置编码方式对第一方向向量进行编码得到第二方向向量,第二方向向量的维数高于第一方向向量的维数。该方案采用位置编码方式可以获得维数更高的位置向量和方向向量,这样可以提高渲染图像的高频信息,即细节信息。
第二方面,本申请提供了一种新视角重建方法,应用于终端设备,终端设备运行新视角重建网络,新视角重建网络利用第二方面所述的新视角重建网络的训练方法得到;该方法包括:通过新视角重建网络接收目标重建对象的多个不同视角的图像,且多个不同视角的图像中包括一参考图像;通过新视角重建网络基于目标重建对象的所有图像得到重建对象在目标视角的图像。该方案的新视角重建方法可以基于重建对象的多个视图构建得到相应的神经编码体和神经辐射场,最终基于神经辐射场渲染得到该重建对象在新视角的图像。神经编码体可以推断和学习重建对象的几何信息和外观信息,因此无需对每个场景都进行训练优化,而且无需输入大量训练样本。
在第二方面一种可能的实现方式中,终端设备包括可动的摄像头;获取目标重建对象的多个不同视角的图像,包括:通过可动的摄像头拍摄目标重建对象对应多个不同视角的图像,从多个不同视角的图像中选取任一张图像确定为参考图像。这样,可动摄像头在移动过程中可以拍摄当前场景或物体的多个不同视角的图像,即多张视图,无需用户手动拍摄不同视角的图像,因此降低了对用户的协作要求,提高了用户体验。
第三方面,本申请提供了一种电子设备,该电子设备包括一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得所述终端设备实现如第一方面任一项所述的新视角重建网络的训练方法或第二方面任一项所述的新视角重建方法。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面任一项所述的新视角重建网络的训练方法或第二方面任一项所述的新视角重建方法。
第五方面,本申请还提供了一种计算机程序产品,其上存储有执行,当所述计算机程序产品在终端设备上运行时,使得所述终端设备实现第一方面任一项所述的新视角重建网络的训练方法或第二方面任一项所述的新视角重建方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种终端设备的界面示意图;
图2是本申请实施例提供的另一种终端设备的界面示意图;
图3是本申请实施例提供的一种终端设备的结构示意图;
图4是本申请实施例提供的终端设备的软件架构示意图;
图5是本申请实施例提供的一种新视角重建网络的训练网络结构示意图;
图6是本申请实施例提供的一种新视角重建网络的结构示意图;
图7是本申请实施例提供的一种新视角重建方法的流程图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
可以应用本申请实施例提供的新视角合成方法及装置的终端设备可以是手机、平板电脑、无人机、VR设备、AR设备等便携式设备。例如,在一种场景中,可以利用终端设备上的摄像头拍摄场景的多个视角的图像,进一步利用新视角合成方法合成该场景的3D场景,从而实现直接在终端设备上查看该3D场景,即可以在终端设备上展示任意视角的场景。
例如,在一种可能的实现方式中,如图1的(1)所示,用户可以点击桌面界面100上的相机图标101,跳转至图1的(2)所示的拍照界面,该界面包括预览图显示区域102和功能项区域103。
例如,本申请实施例中,功能项区域103可以包括3D场景功能项104。在本申请一种可能的实现方式中,用户点击3D场景功能项104,进入拍摄场景或物体的多各不同视图的界面。
3D场景功能项104可以实现利用用户拍摄的场景或物体的多个不同视角的图像(即,多个不同视图),进而创建得到该场景或物体的3D模型,用户可以查看该场景或物体任意角度的图像。
例如,在另一种可能的实现方式中,如图2的(1)所示,用户可以点击桌面界面200上的图库应用的图标201,进入图库界面,图库的界面可以包括照片页面、相册页面、时刻页面和发现页面。
图库界面包括页面控件区域203,用户可以通过点击区域203内的不同控件进入不同的页面。如图2的(2)所示的界面202为发现页面的界面示意图,发现页面202包括微电影创作、拼图创作、3D场景创建204等功能。在本申请一示例性实施例中,用户点击3D场景创建204后可以根据同一场景或物体的多个视图构建该场景或物体的3D模型,用户可以查看该场景或物体在任意视角的图像。例如,可以通过终端设备采集家中每个房间的多个视图,最终合成3D房屋模型,可以在该3D房屋模型中查看任一房间的任一视角的图像。
请参见图3,示出了本申请实施例提供的一种终端设备的结构示意图。
如图3所示,终端设备可以包括处理器110、摄像头120、显示屏130、存储器140。
可以理解的是,本实施例示意的结构并不构成对终端设备的具体限定。在另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如,处理器110可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),数字信号处理器(digitalsignal processor,DSP),基带处理器等,其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中,例如,调制解调处理器和基带处理器可以集成在一个处理器中。其中,ISP用于处理摄像头120反馈的数据。
摄像头120用于捕获静态图像或视频。在一些实施例中,电子设备可以包括1个或N个摄像头120,N为大于1的正整数。
在本申请一实施例中,摄像头采用可动摄像头,其中,“可动”包括但不限于以下至少一种情况:
1、在终端设备屏幕所在平面的平行平面中,发生任意方向的移动。例如,在手机中与手机屏幕平行的后壳上设置的轨道上移动。可以理解的是,轨道的形状包括但不限于弧形以及直线型等。
2、相对于固定轴转动,例如,在手机的外壳上设置有摄像头的固定轴,摄像头可绕固定轴在一定角度范围内转动。
可以理解的是,可动摄像头在移动过程中可以拍摄当前场景或物体的多个不同视角的图像,即多张视图,无需用户手动拍摄不同视角的图像,因此降低了对用户的协作要求,提高了用户体验。
显示屏130用于显示图像、视频等。在一些实施例中,电子设备可以包括1个或N个显示屏130,N为大于1的正整数。
存储器140可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在存储器140的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在存储器140中的指令,合成物体或场景的新视角图像。
另外,在上述部件之上,运行有操作系统。
以手机、平板电脑为例,操作系统可以是
图4是本申请实施例提供的一种终端设备的软件结构框图。
Android系统包括四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包,例如,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。例如,在本申请实施例中,应用程序包还可以包括3D重建应用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries)等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
内核层是硬件和软件之间的层。例如,内核层可以包括显示驱动,摄像头驱动等各种驱动。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于其他操作系统的电子设备。
请参见图5,示出了本申请实施例提供的新视角重建网络的训练网络架构的框图。本实施例所示是训练阶段的新视角重建网络架构。
如图5所示,该新视角重建网络的训练网络架构可以包括:特征提取模块101、代价体构建模块102、神经编码模块103、图像深度估计模块104、神经辐射场构建模块105,以及渲染模块106。
该训练网络架构的输入是多个重建对象的多个视图,每个重建对象包括N张不同视角的图像样本(N为大于2的正整数),其中一张视图作为参考图像样本。
在本实施例中,重建对象可以是物体或场景(如空间环境等),本申请对此不做限定。
在一种应用场景中,电子设备包括主摄像头和可动的副摄像头,且主摄像头的分辨率高于副摄像头,此种应用场景中,可以将主摄像头采集的图像作为参考图像样本,副摄像头拍摄的图像作为其他视图。
在另一种应用场景中,电子设备包括摄像头,且该摄像头可动,此种应用场景中,可以从可动的摄像头拍摄的多张图像中选取一张图像作为参考图像。
可以理解的是,N的数值越大得到的新视角重建网络的准确度越高。
前已叙及,本实施例提供的终端设备的副摄像头采用可转动摄像头,在可转动摄像头转动或移动过程中可以拍摄当前场景或物体的多个不同视角的图像,无需用户手动移动终端设备拍摄不同视图,降低了对用户的协作要求,提高了用户体验。
图像特征提取模块101的输入是N张源图样本,该模块用于对各个源图样本提取图像包含的几何信息得到N个深度特征图,即该模块的输出是N个深度特征图
代价体构建模块102的输入是特征提取模块101输出的N个特征图,输出是3D代价体。该模块用于将N个特征图投影到参考图像对应的特征图的若干个平行平面上构成N个特征体
神经编码模块103的输入是代价体构建模块102输出的3D代价体C,输出是3D代价体C对应的神经编码体S。
图像深度估计模块104的输入是神经编码模块103输出的神经编码体S,输出是参考图像的深度信息。
进一步,根据该参考图像的深度估计值及深度真值,计算得到深度损失值。
神经辐射场构建模块105的输入是神经编码模块103输出的神经编码体S,以及神经编码体S内的任意3D位置x、观察方向d,以及该位置处的颜色c,输出神经编码体S的神经辐射场信息。
渲染模块106的输入是神经辐射场构建模块输出的神经辐射场(RGB,σ),输出渲染后的新视角图像,即合成视图。
进一步地,根据渲染得到的新视角图像数据及该视角的真实图像数据,计算得到渲染损失值。
结合深度损失值和渲染损失值共同对整个新视角重建网络的训练网络架构进行监督学习,从而使得到的神经编码体可以更准确地表达场景的几何信息和外观信息,使得最终输出的新视图的准确度和分辨率更高。
请参见图6,示出了本申请实施例提供的新视角重建网络的结构示意图。如图6所示,新视角重建网络包括特征提取模块101、代价体构建模块102、神经编码模块103、神经辐射场构建模块105,以及渲染模块106。各个模块的功能与训练网络中的相同模块的功能相同,此处不再赘述。
请参见图7,示出了本申请实施例提供的新视角重建网络的训练方法的流程图,该方法应用于图5所示的新视角重建网络的训练网络的架构。如图7所示,该方法可以包括以下步骤:
S10,特征提取模块获取同一场景或物体的N个不同视角的图像。
N个视图(即源图)中的一个作为参考图像,通常选择分辨率高的图像作为参考图。
可以理解的是,输入的样本图像可以包括多个不同场景的图像,每个场景的图像包括N个视图。
S11,特征提取模块提取每个视图的深度特征,得到N个特征图。
在一示例性实施例中,图像特征提取模块101可以采用2D卷积神经网络(Convolutional NeuralNetwork,CNN)提取N个图像中代表局部图像外观的深度特征,得到N个特征图
在一种可能的实现方式中,2D CNN对N个图像的每个维度进行4倍下采样得到N个32通道的特征图。
需要说明的是,虽然特征图F
S12,特征提取模块将N个特征图输入至代价提构建模块。
S13,代价体构建模块将N个特征图投影到参考特征图的平行平面上得到N个特征体
代价体构建模块102通过可微分的单应变换将N个特征图投影至参考图像对应的特征图的若干个平行平面上构成N个特征体
单应性变换,也称为投影变换,其作用是描述两个平面上的点的映射关系,可理解为用来描述物体在世界坐标系和像素坐标系之间的位置映射关系,对应的变换矩阵称为单应矩阵(Homography)。可见,单应矩阵用于描述两个平面之间的映射关系。
通过2D CNN提取的N张特征图经过单应变换投影到参考图的特征图F
其中,K
利用特征图F
FV
S14,代价体构建模块将N个特征体聚合得到该场景或物体对应的3D代价体,并将该3D代价体传递至神经编码模块。
代价体构建模块102将N个特征体
为了适应任意数目的视图输入,本申请实施例采用基于方差的代价指标Var,该指标用于衡量N张特征体图像之间相似性,可以表示为:
C=Var(FV
这种基于方差的代价体对不同输入视图上的图像外观变化进行编码,解释了由场景的几何信息及视图相关的着色效果引起的外观变化。
S15,神经编码模块利用神经网络对3D代价体进行编码得到该3D代价体对应的神经编码体,并将神经编码体分别传递给深度估计模块和神经辐射场构建模块。
在本申请的一个实施例中,神经编码模块103利用3D CNN,学习构建一个具有体素神经特征的神经编码体,每个体素的神经特征可以表示场景几何和外观的信息。
在一种可能的实现方式中,3D CNN采用具有下采样和上采样的3DUnet结构,可以有效推断、传播场景的几何和外观的信息,从而得到有意义的场景编码体。
进一步地,神经编码模块将神经编码体分别提供给深度估计模块、神经辐射场构建模块。
S16,深度估计模块基于神经编码体预测参考图像的深度信息。
神经编码体S中既包含场景几何信息,又包含外观信息,因此可以利用多层感知机(Multilayer Perceptron,MLP)网络(即,第二MLP网络)提取参考图的深度信息,即参考图像的深度预测值。
其中,第二MLP输出的深度估计值为H×W×1,其中,H表示图像的高,W表示图像的宽。
MLP的层与层之间是全连接的,最底层是输入层,中间是隐藏层,最后是输出层。
S17,基于参考图像的深度预测值及深度真值计算得到深度损失值。
进一步地,深度估计模块104根据参考图的深度估计值与参考图的深度真值,利用如下所示的损失函数公式计算得到深度损失L
其中,式(11)中
S18,神经辐射场构建模块构建神经编码体的神经辐射场,并向渲染模块传递该神经辐射场。
神经辐射场构建模块105的输入是神经编码体S,以及神经编码体S内的任意3D位置x、观察方向d,以及该位置处的颜色c,输出神经编码体S的神经辐射场信息,即体素密度σ和辐射场(即RGB颜色信息):
RGB,σ=MLP_A(x,d,c,f) (5)
其中,f=Tri(x,S)是在位置x处由神经编码体S三线性插值得到的特征。
在本申请实施例中,对位置向量x和方向向量d采用位置编码方式,将低维向量转换为高维向量,从而增强最终输出的合成视图中的高频信号,即图像中的细节信息。
在本申请一示例性实施例中,如图5所示,神经辐射场构建模块可以采用第一MLP网络构建神经编码体S的神经辐射场。
可以理解的是,此处的第一MLP网络与深度估计模块采用的第二MLP网络的网络结构相似,但两个MLP网络所包含的层数可能不同,而且,网络内部参数不同,因此实现的功能不同。
S19,渲染模块对神经辐射场内目标视角进行渲染得到目标视角的图像(即,合成视图)。
其中,目标视角可以是场景范围内的任意一个视角。
在一种可能的实现方式中,渲染模块106可以采用基于物理的体渲染方式,得到新视角图像。具体的,像素的颜色是通过使光线穿过像素并在光线上的采样阴影点出累积辐射亮度计算得到,计算公式如下:
c=∑
其中,
在其他实施例中,渲染模块106还可以采用神经网络渲染方式,本申请实施例对渲染方式不做限定。
S110,渲染模块对基于合成视图及该视角的真实图像,计算得到渲染损失值。
进一步地,利用损失函数计算新视角图像(即合成视图)与该视角的真实图像之间的渲染损失值L
其中,
S111,基于深度损失值及渲染损失值优化整个训练网络的网络参数。
在本申请实施例中,综合考虑深度损失L
其中,总损失值的计算公式如下:
L=ω
其中,ω
可以根据实际需求确定两个权重系数的数值,例如,ω
利用深度损失对整个训练网络进行直接监督学习,利用渲染损失对整个训练网络进行间接监督学习。
可以理解的是,训练新视角重建网络的过程是反复根据最新的总损失值优化网络的过程,例如,第一次计算出总损失值后,根据该总损失值调整整个训练网络的参数,进一步,将样本图像重新输入新的训练网络,重新计算出新的总损失值。反复执行该过程,直到计算出的总损失值满足预设条件,例如,损失值不再减小,或者循环次数满足预设次数等。
可以理解的,此处的新的训练网络是指调整整个训练网络的网络参数后得到的新的新视角重建网络的训练网络。
本申请实施例中S10~S111所示的过程是新视角重建网络的训练过程,该训练过程通过几何信息(深度)和外观信息(渲染)共同监督新视角重建网络的学习,使得到的神经编码体可以更准确地表达场景的几何和外观的信息,进而提高了最终输出的新视角图像的准确率和分辨率。
下面将结合图6中的S20~S26说明使用训练好的新视角重建网络合成新视图的过程:
S20,应用响应于接收启动3D场景重建功能项的操作,采集场景的N个视图并向特征提取模块传递此N个视图。
其中,N为大于2的正整数,可以理解的是,N的数值越大最终得到的新视角图像的清晰度和分辨率也越高。
例如,用户对图1的(2)所示界面中的3D场景按钮104进行点击操作,或者,对图2的(2)所示界面中的3D场景重建功能卡片204进行点击操作可以启动3D场景重建功能。
以手机为例,可以通过手机上设置的主摄像头和可转动副摄像头拍摄得到N个视图。
在本申请一示例性实施例中,可动摄像头在移动过程中可以拍摄当前场景或物体的多个视图,无需用户手动拍摄不同视角的图像,因此降低了对用户的协作要求,提高了用户体验。
在一种可能的实现方式中,可以将主摄像头拍摄的分辨率较高的图像作为参考图像。
S21,特征提取模块分别提取N个视图的深度特征,得到N个特征图,并将N个特征图向代价体构建模块传递。
S22,代价体构建模块将N个特征图投影到参考特征图的平行平面上得到N个特征体。
S23,代价体构建模块将N个特征体聚合得到该场景或物体对应的3D代价体,并将该3D代价体传递至神经编码模块。
S24,神经编码模块利用神经网络对3D代价体进行编码得到该3D代价体对应的神经编码体,并向神经辐射场传递神经编码体。
S25,神经辐射场构建模块构建神经编码体的神经辐射场,并向渲染模块传递该神经辐射场。
S26,渲染模块对神经辐射场内目标视角进行渲染得到目标视角的图像。
其中,S22~S26所示的过程与训练网络过程中的相应步骤的实现过程相同,此处不再赘述。
可见,本实施例提供的新视角重建方法,将采集的场景的N个视图输入至本申请提供的新视角重建网络训练方法训练得到的新视角重建网络中得到新视角的图像。该新视角重建网络利用图像的深度信息和外观信息共同监督学习得到,得到的神经编码体可以更准确地表达场景的深度和外观信息,进而提高了最终输出的新视角图像的精确度和分辨率。而且,神经编码体可以推断和学习重建对象的几何信息和外观信息,可以实现在输入极少量视图的情况下进行场景重建和渲染,而无需对每个场景重新训练优化,而且训练过程中无需输入大量训练样本。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 三维重建网络的训练方法及装置、三维重建方法及装置
- 三维重建网络的训练方法及装置、三维重建方法及装置