镜面物体三维重建方法、装置、计算机设备和存储介质与流程

文档序号:29438267发布日期:2022-03-30 09:34阅读:218来源:国知局
镜面物体三维重建方法、装置、计算机设备和存储介质与流程

1.本技术涉及三维重建技术领域,特别是涉及一种镜面物体三维重建方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.三维重建是指从二维图像或视频中提取空间信息,利用空间信息进行三维物体和场景的模型复原。由于传统的三维重建技术的精度较高且技术复杂,因而在过去几十年中三维重建技术发展相对缓慢。随着深度学习的不断发展,深度学习技术领域也开始被应用于三维重建领域中。
3.现有的基于深度学习的三维重建方法只能应用于普通材质的物体的三维重建,缺乏对特殊材质的物体的特征处理。例如,镜面物体的表面具有高反光特性,镜面物体表面大量反射的光线使得传统的深度学习方法难以提取到有效特征,使得镜面物体采用传统方法进行三维重建时的效果较差。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高镜面物体三维重建效果的镜面物体三维重建方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种镜面物体三维重建方法。所述方法包括:将镜面物体的拍摄图像输入至渲染信息网络模型中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息;将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设视角图像;根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型。
6.在其中一个实施例中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息,包括:通过所述渲染信息网络模型对所述拍摄图像中的像素点对应的特征向量进行解码处理,得到所述像素点在所述镜面物体的历史拍摄视角下的重建信息和第一渲染信息;所述拍摄图像通过在目标场景中根据所述历史拍摄视角对所述镜面物体进行拍摄得到。
7.在其中一个实施例中,在通过所述渲染信息网络模型对所述拍摄图像中的像素点对应的特征向量进行解码处理,得到所述像素点在所述镜面物体的历史拍摄视角下的重建信息和第一渲染信息之前,还包括:对拍摄视角相同的拍摄图像中对应位置的像素点进行提取处理,得到目标像素点;所述目标像素点的数量与对应拍摄视角下得到的拍摄图像的数量相同;根据所述目标像素点,生成所述目标像素点的对应拍摄视角的像素向量;
根据所述像素向量,与所述像素向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的像素向量,生成所述目标像素点的特征向量。
8.在其中一个实施例中,在将镜面物体的拍摄图像输入至渲染信息网络模型中之前,还包括:将目标场景中的预设空间点的训练特征向量和所述镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型;所述预设空间点与所述拍摄图像中的像素点之间存在映射关系;根据所述预设空间点的重建信息的物理关系,设置所述训练后渲染信息网络模型的解码方式,得到所述渲染信息网络模型。
9.在其中一个实施例中,在将目标场景中的预设空间点的训练特征向量和所述镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型之前,还包括:对所述预设空间点的重建信息进行渲染处理,得到所述预设空间点的渲染矩阵;对所述渲染矩阵进行线性映射处理,得到空间点向量;根据所述空间点向量,与所述空间点向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的空间点向量,生成所述空间点向量的特征向量,作为所述训练特征向量。
10.在其中一个实施例中,将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设视角图像,包括:将所述重建信息输入至所述隐式场景模型中;通过所述隐式场景模型对所述重建信息进行渲染学习,得到学习后隐式场景模型;将所述镜面物体的预设视角输入至所述学习后隐式场景模型中;所述预设视角与所述镜面物体的拍摄视角的视角不同;通过所述学习后隐式场景模型对所述预设视角进行渲染处理,得到所述学习后隐式场景模型输出的针对所述镜面物体在所述预设视角下的第二渲染信息。
11.在其中一个实施例中,根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型,包括:根据所述拍摄图像和所述预设视角图像,对所述镜面物体进行形状重建,得到所述镜面物体的三维形状;根据所述第一渲染信息和所述第二渲染信息,对所述三维形状进行图像渲染,得到所述镜面物体的三维重建模型。
12.第二方面,本技术还提供了一种镜面物体三维重建装置。所述装置包括:解码模块,用于将镜面物体的拍摄图像输入至渲染信息网络模型中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息;渲染模块,用于将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设
视角图像;重建模块,用于根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型。
13.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:将镜面物体的拍摄图像输入至渲染信息网络模型中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息;将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设视角图像;根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型。
14.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:将镜面物体的拍摄图像输入至渲染信息网络模型中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息;将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设视角图像;根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型。
15.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:将镜面物体的拍摄图像输入至渲染信息网络模型中,通过所述渲染信息网络模型对所述拍摄图像中的像素点进行解码处理,得到针对所述像素点的重建信息和第一渲染信息;将所述重建信息和所述镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到所述隐式场景模型输出的针对所述镜面物体的第二渲染信息和预设视角图像;根据所述拍摄图像、所述预设视角图像、所述第一渲染信息和所述第二渲染信息,对所述镜面物体进行三维重建,得到所述镜面物体的三维重建模型。
16.上述镜面物体三维重建方法、装置、计算机设备、存储介质和计算机程序产品,将镜面物体的拍摄图像输入至渲染信息网络模型中进行解码处理,得到渲染信息网络模型输出的针对像素点的重建信息和第一渲染信息,然后将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像,根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,进而得到镜面物体的三维重建模型。采用本方法,根据多视角的图像执行后续的镜面物体的三维重建步骤,为镜面物体的三维重建提供了更丰富的重建信息,从而提升了镜面物体的三维重建精度,并通过多视角下的渲染信息对镜面物体的三维重建进行优化,进一步提高了镜面物体的三维重建精度,进而大大提高了镜面物体的三维重建效果。
附图说明
17.图1为一个实施例中镜面物体三维重建方法的应用环境图;图2为一个实施例中镜面物体三维重建方法的流程示意图;图3为一个实施例中渲染信息网络模型进行编码解码步骤的流程示意图;图4为一个实施例中对镜面物体进行三维重建步骤的流程示意图;图5为另一个实施例中镜面物体三维重建方法的流程示意图;图6为又一个实施例中镜面物体三维重建方法的流程示意图;图7为一个实施例中镜面物体三维重建装置的结构框图;图8为一个实施例中计算机设备的内部结构图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
19.本技术实施例提供的镜面物体三维重建方法,可以应用于如图1所示的应用环境中。其中,终端101通过网络与服务器102进行通信。数据存储系统可以存储服务器102需要处理的数据。数据存储系统可以集成在服务器102上,也可以放在云上或其他网络服务器上。服务器102将镜面物体的拍摄图像输入至渲染信息网络模型中进行解码处理,得到渲染信息网络模型输出的针对像素点的重建信息和第一渲染信息,然后将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像,根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,进而得到镜面物体的三维重建模型,服务器102可以将三维重建模型发送至终端101,以便于终端101展示该三维重建模型。其中,终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
20.在一个实施例中,如图2所示,提供了一种镜面物体三维重建方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤s201,将镜面物体的拍摄图像输入至渲染信息网络模型中,通过渲染信息网络模型对拍摄图像中的像素点进行解码处理,得到针对像素点的重建信息和第一渲染信息。
21.其中,镜面物体包括由金属材料制成的镜面物体,和/或表面具有金属材质的镜面物体;镜面物体的拍摄图像是在目标场景中拍摄得到的。
22.具体地,先搭建目标场景,设置目标场景中的灯光、拍摄视角等相关参数,然后将镜面物体放置在目标场景中的预设位置,根据设定的视角,分别在不同的光照模式下,对镜面物体进行拍摄,得到镜面物体的拍摄图像;服务器获取到镜面物体的拍摄图像,将镜面物体的拍摄图像输入至预先构建的渲染信息模型中,通过渲染信息网络模型中的解码部分对拍摄图像中的像素点进行处理,得到像素点在所有拍摄视角下的重建信息和渲染信息。
23.实际应用中,目标场景包括可控光照的场景。例如,在场景中搭建封闭可控光照设备,在封闭可控光照设备的内墙上布置一个或多个led(light-emitting diode,发光二极管)灯,确定所有led灯的位置、方向和光强角分布;在封闭可控光照设备的中心放置可控速转盘;并在封闭可控光照设备的固定位置上放置摄像机,将专用的标定球体放置在设备的中心位置进行标定,并确定相机的内外参数;设置拍摄视角的数量。其中,封闭可控光照设备的外部形状可以是正方体。
24.举例说明,在获取镜面物体的拍摄图像前,在每个拍摄视角下,依次拍摄镜面物体在红光、绿光和蓝光时的拍摄图像;由此,将得到的多视角、多光照的镜面物体的拍摄图像作为处理依据执行后续的三维重建步骤。
25.进一步地,目标场景为可控光照场景时,能够充分利用光照的rgb(r(red)、g(green)、b(blue),红、绿、蓝)三通道信息,并通过可控速转盘实现镜面物体的全视角的信息采集。
26.步骤s202,将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像。
27.其中,预设视角为针对镜面物体、且不同于拍摄图像的拍摄视角的视角。
28.具体地,将重建信息输入到隐式场景模型中进行渲染学习,隐式场景模型中的隐式场景表达函数根据重建信息,来学习镜面物体的神经辐射场;获取预设视角,将预设视角输入至学习后的隐式场景模型中进行渲染,进而得到学习后的隐式场景模型输出的针对镜面物体在预设视角下的第二渲染信息和预设视角图像。
29.步骤s203,根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,得到镜面物体的三维重建模型。
30.其中,第一渲染信息和第二渲染信息用于描述镜面物体在相关视角下的纹理、表面的光线散射和光影信息等。
31.具体地,根据拍摄图像、预设视角图像等镜面物体的多视角图像,对镜面物体进行初步形状的三维重建,根据第一渲染信息对初步形状进行形状优化,根据第一渲染信息和第二渲染信息,计算得到镜面物体的空间变化双向反射分布函数(spatially varying bidirectional reflectance distribution function,svbrdf),并计算得到镜面物体的三维贴图,根据三维贴图,对镜面物体进行反射率的三维重建,进而得到镜面物体的三维重建模型。
32.其中,svbdrf表示光线在物体表面的反射情况,用于描述镜面物体的材质。
33.上述镜面物体三维重建方法中,将镜面物体的拍摄图像输入至渲染信息网络模型中进行解码处理,得到渲染信息网络模型输出的针对像素点的重建信息和第一渲染信息,然后将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像,根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,进而得到镜面物体的三维重建模型。采用本方法,根据多视角的图像执行后续的镜面物体的三维重建步骤,为镜面物体的三维重建提供了更丰富的重建信息,从而提升了镜面物体的三维重建精度,并通过多视角下的渲染信息对镜面物体的三维重建进行优化,进一步提高了镜面物体的三维重建精度,进而大大提高了镜面物体的三维重建效果。
34.在一个实施例中,上述步骤s201,通过渲染信息网络模型对拍摄图像中的像素点进行解码处理,得到针对像素点的重建信息和第一渲染信息,具体包括如下步骤:通过渲染信息网络模型对拍摄图像中的像素点对应的特征向量进行解码处理,得到像素点在镜面物体的历史拍摄视角下的重建信息和第一渲染信息;拍摄图像通过在目标场景中根据历史拍摄视角对镜面物体进行拍摄得到。
35.具体地,将镜面物体的拍摄图像输入至渲染信息网络模型中,对拍摄视角相同的拍摄图像进行数据预处理,得到当前拍摄视角下不同光照的拍摄图像中相同位置的像素值构成的像素向量;根据拍摄图像的拍摄视角,对相同位置的像素向量进行拼接处理,得到像素点对应的特征向量;通过渲染信息网络模型中设置的解码方式,对特征向量进行解码处理;其中,渲染信息网络模型是通过预设空间点的相关信息训练得到的,根据拍摄图像中的像素点与预设空间点之间的映射关系,将拍摄图像中的像素点对应到相应的预设空间点,从而将图像信息解码为预设空间点的重建信息和渲染信息,进而得到拍摄图像中的每个像素点在不同视角下的重建信息和第一渲染信息。
36.本实施例中,通过渲染信息网络模型对拍摄图像中的像素点对应的特征向量进行解码处理,得到拍摄图像中每个像素点在不同视角下的重建信息和第一渲染信息,从而能够根据多视角的图像执行后续的镜面物体的三维重建步骤,为镜面物体的三维重建提供了更丰富的重建信息,从而提升了镜面物体的三维重建精度,并通过多视角下的渲染信息对镜面物体的三维重建进行优化,进一步提高了镜面物体的三维重建精度,进而大大提高了镜面物体的三维重建效果。
37.在一个实施例中,在通过渲染信息网络模型对拍摄图像中的像素点对应的特征向量进行解码处理,得到像素点在所述镜面物体的历史拍摄视角下的重建信息和第一渲染信息之前,还包括:对拍摄视角相同的拍摄图像中对应位置的像素点进行提取处理,得到目标像素点;目标像素点的数量与对应拍摄视角下得到的拍摄图像的数量相同;根据目标像素点,生成目标像素点的对应拍摄视角的像素向量;根据像素向量,与像素向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的像素向量,生成目标像素点的特征向量。
38.具体地,将拍摄视角相同的拍摄图像中的相同位置的像素值进行提取处理,得到当前拍摄视角下不同光照的目标像素点,其中,目标像素点的数量与当前拍摄视角下在不同光照中总共拍摄得到的拍摄图像的数量相同;根据所有目标像素点的像素值,生成像素向量,因此,像素向量的长度为目标像素点的数量。根据像素向量,与目标像素点的对应拍摄视角(即当前拍摄视角)的前两个拍摄视角的像素向量,以及后两个拍摄视角的像素向量,生成目标像素点的特征向量。
39.进一步地,根据像素向量,与目标像素点对应的拍摄视角之前的拍摄视角的像素向量,以及目标像素点对应的拍摄视角之后的拍摄视角的像素向量,生成特征向量的过程,还可以是根据像素向量,与目标像素点的前一个拍摄视角或前三个拍摄指教的像素向量,以及后一个拍摄视角或后三个拍摄视角的像素向量,来生成目标像素点的特征向量;因此,当前拍摄视角的之前的拍摄视角的数量可以是1、2、3、4、5个等,以及当前拍摄视角之后的拍摄视角的数量也可以是1、2、3、4、5个等,在此不进行具体限定。
40.举例说明,将待三维重建的目标镜面物体放置在可控速转盘的中心,分别在预先
设定的z个视角下,对每个视角依次按照m个光照模板进行镜面物体的图像拍摄采集,共得到m
×
z张彩色图像,针对每张彩色图像中的每个像素,将当前视角的m张图像上同一位置的像素值,构成一个长度为m的向量,根据该长度为m的向量,以及长度为m的向量的前两个视角和后两个视角的向量,共5个向量,将这5个向量进行拼接处理,得到特征向量。
41.本实施例中,根据目标像素向量的光照模式生成像素向量,然后将当前拍摄视角的像素向量,与当前拍摄视角之前视角的像素向量,以及当前拍摄视角之后视角的像素向量,进行拼接处理,除了能够充分利用目标像素点本身具有的空间属性以外,还能够结合不同视角以及像素向量中的光照变化过程的时间属性和光照属性,使得渲染信息网络模型能够充分对目标像素的特征进行处理,进而提升渲染信息网络模型的能力,从而为镜面物体的三维重建提供了更丰富的重建信息,进而大大提升了镜面物体的三维重建精度。
42.在一个实施例中,在将镜面物体的拍摄图像输入至渲染信息网络模型中之前,还包括:将目标场景中的预设空间点的训练特征向量和镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型;预设空间点与拍摄图像中的像素点之间存在映射关系;根据预设空间点的重建信息的物理关系,设置训练后渲染信息网络模型的解码方式,得到渲染信息网络模型。
43.其中,预设空间点用于在通过渲染信息网络模型对拍摄图像中的像素点进行解码处理时,将像素点映射为预设空间点,以获取针对像素点的重建信息和第一渲染信息。
44.其中,预设镜面反照率是根据镜面物体的材质特性进行设置的;预设镜面反照率的范围包括区间[0.5,1]。
[0045]
具体地,在目标场景中生成多个预设空间点,预设空间点的训练特征向量中包含有预设空间点的位置信息、法向量和反照率等信息,由于镜面反射率与预设空间点位置的耦合性较高,因而将预设空间点的训练特征向量和镜面物体的预设镜面反照率,共同输入至待训练渲染信息网络模型中进行编码训练,将训练特征向量中的位置信息、法向量和反照率作为标签,通过预设空间点中的渲染信息计算得到gt(ground truth),gt用于指导和进行反向传播,渲染信息网络模型的损失函数可以设置为l2范数,总损失函数可以通过加权获取,通过待训练渲染信息网络模型的全连接层进行特征分解处理,得到训练后渲染信息网络模型;根据预设空间点中的位置信息、法向量、以及反照率之间的物理关系,来设置训练后渲染信息网络模型的解码方式,进而得到渲染信息网络模型。
[0046]
举例说明,图3提供了一种渲染信息网络模型的编码解码训练步骤的流程示意图,具体包括:1)生成数据,在目标场景中生成多个预设空间点;2)输入模型:将预设空间点的训练特征向量和镜面物体的预设镜面反照率,共同输入至待训练渲染信息网络模型中,以便后续对待训练渲染信息网络进行训练;3)编码训练:对待训练渲染信息网络模型进行编码训练,该编码训练包括线性编码;4)实物拍摄:对镜面物体进行拍摄,得到镜面物体的拍摄图像;5)解码设置:设置训练后渲染信息网络模型的解码方式,得到渲染信息网络模型,例如,解码方式可以设置为卷积解码;6)获取法向量、镜面反照率和位置信息:将镜面物体的拍摄图像输入至渲染信息网络模型中,得到法向量、镜面反照率和位置信息。
[0047]
需要说明的是,当镜面物体为金属材质时,由于金属材质的特性,在模拟镜面物体的拍摄图像生成预设空间点时,需删除掉该镜面物体的漫反射反照率。
[0048]
本实施例中,通过将预设空间点的相关数据作为渲染信息网络模型的输入和输出,使得渲染信息网络模型的自监督能力提升,将与像素点存在映射关系的预设空间点作为渲染信息网络模型的训练数据,能够将镜面物体的真实拍摄的拍摄图像中的像素点,对应到仿真生成的预设空间点,使得模型能够更精准地从不同光照不同角度的拍摄图像中提取出镜面物体的重建信息和第一渲染信息,进而大大提升了镜面物体的三维重建精度。此外,通过去除镜面物体的漫反射反照率、并将预设镜面反照率控制在一定范围内,能够减少所需的训练数据的数据量,从而避免了无效数据带来的负面训练影响。
[0049]
在一个实施例中,在将目标场景中的预设空间点的训练特征向量和镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型之前,还包括:对预设空间点的重建信息进行渲染处理,得到预设空间点的渲染矩阵;对渲染矩阵进行线性映射处理,得到空间点向量;根据空间点向量,与空间点向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的空间点向量,生成空间点向量的特征向量,作为训练特征向量。
[0050]
具体地,设置目标场景中预设空间点的镜面反照率、双向表面散反射分布函数(bidirectional reflectance distributionfunction,brdf)等相关参数,通过目标场景中的光照模板控制目标场景中灯的r、g、b值,随机生成预设空间点,预设空间点中包含位置信息、法向量、切向量和镜面反照率等brdf参数;其中,重建信息包含预设空间点的brdf参数。
[0051]
进一步地,根据渲染公式,对预设空间点的重建信息进行渲染处理,得到每个预设空间点在灯光分别为红光、绿光和蓝光时的渲染结果,渲染结果表现为(n,3)的渲染矩阵;对渲染矩阵进行线性映射处理,得到空间点向量,空间点向量的长度与光照模板的数量相同;根据空间点向量,与空间点向量对应的拍摄视角之前的拍摄视角的空间点向量,以及空间点向量对应的拍摄视角之后的拍摄视角的空间点向量,生成空间点向量的特征向量,将该空间点向量的特征向量作为训练特征向量。
[0052]
本实施例中,通过可控光照场景控制生成预设空间点和获取镜面物体的拍摄图像时灯光的三通道数值,而不是将拍摄图像转变为灰度值进行处理,能够对特殊材质的镜面物体在rgb通道中的不同镜面反射率进行学习和处理,从而为镜面物体的三维重建提供了更丰富的重建信息和渲染信息,提高了镜面物体的三维重建精度,进而提高了镜面物体的三维重建效果。
[0053]
在一个实施例中,上述步骤s202,将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像,具体包括如下步骤:将重建信息输入至隐式场景模型中;通过隐式场景模型对重建信息进行渲染学习,得到学习后隐式场景模型;将镜面物体的预设视角输入至学习后隐式场景模型中;预设视角与镜面物体的拍摄视角的视角不同;通过学习后隐式场景模型对预设视角进行渲染处理,得到学习后隐式场景模型输出的针对镜面物体在预设视角下的第二渲染信息。
[0054]
其中,学习后隐式场景模型用于根据重建信息提供的物体信息和/或场景信息,在选定的预设视角下渲染得到镜面物体的新图像,即预设视角图像。
[0055]
具体地,将重建信息输入到隐式场景模型中进行渲染学习,隐式场景模型中的隐式场景表达函数能够根据重建信息,来学习镜面物体的神经辐射场;获取设置的预设视角,将预设视角输入到学习后隐式场景模型中,学习后隐式场景模型对预设视角进行渲染处理,进而得到针对镜面物体在预设视角下的第二渲染信息和预设视角图像。其中,获取第二渲染信息和预设视角图像的流程示意图如图4所示。
[0056]
本实施例中,通过隐式场景模型对重建信息进行渲染学习,能够在预设视角下生成预设视角图像和第二渲染信息,使得能够获取多视角的图像以执行后续的镜面物体的三维重建步骤,不仅为镜面物体的三维重建提供了更丰富的镜面物体的重建信息,还减少了镜面物体所需的拍摄图像,提高了镜面物体的三维重建效率。
[0057]
在一个实施例中,上述步骤s203,根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,得到镜面物体的三维重建模型,具体包括如下步骤:根据拍摄图像和预设视角图像,对镜面物体进行形状重建,得到镜面物体的三维形状;根据第一渲染信息和第二渲染信息,对三维形状进行图像渲染,得到镜面物体的三维重建模型。
[0058]
具体地,根据多视图密集重建(multi view system,mvs),对拍摄图像、预设视角图像进行初步重建。根据多视图几何算法,将拍摄图像、预设视角图像等镜面物体的多视角图像转换为3d点云位置数据;根据形状重建方法,确定镜面物体的mesh形状,得到镜面物体的三维形状,例如泊松重建方法;通过重建信息中的法向量,对镜面物体的三维形状进行形状优化;根据第一渲染信息和第二渲染信息,对svbrdf参数进行优化,并计算得到镜面物体的三维贴图,根据三维贴图,对镜面物体的三维形状进行反射率重建,进而得到镜面物体的三维重建模型。其中,根据形状重建方法、第一渲染信息和第二渲染信息,获取镜面物体的三维重建模型步骤的流程示意图如图4所示。
[0059]
本实施例中,通过多视角的图像来进行镜面物体的三维重建,提供了更丰富的镜面物体的重建信息,从而提升了镜面物体的三维重建精度,并通过多视角下的渲染信息对镜面物体的三维重建进行优化,进一步提高了镜面物体的三维重建精度,进而大大提高了镜面物体的三维重建效果。
[0060]
在一个实施例中,为了便于本领域技术人员的理解,图5提供了另一种镜面物体三维重建方法的流程示意图,具体包括如下内容:具体地,1)设备标定:服务器通过在封闭可控光照设备内对标定球体等进行设备标定;2)预设空间点:在封闭可控光照设备内生成预设空间点;3)构建待训练渲染信息网络模型;4)gt:根据预设空间点训练中的渲染信息计算得到gt;5)编码训练和解码设置:根据gt对待训练渲染信息网络模型进行编码训练和解码设置,得到渲染信息网络模型。
[0061]
进一步地,6)实物拍摄:对镜面物体进行实物拍摄,得到镜面物体的拍摄图像;7)预处理:对拍摄图像进行预处理,得到预处理后图像;8)渲染信息网络模型:将预处理后图像输入到渲染信息网络模型中;9)重建信息和第一渲染信息:通过渲染信息网络模型对拍摄图像中的像素点进行解码处理,得到针对像素点的重建信息和第一渲染信息;10)隐式场景模型:将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理;11)第二渲染信息和预设视角图像:获取隐式场景模型输出的针对镜面物体的第二渲染信息和预设
视角图像;12)镜面物体的三维重建:根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建;13)镜面物体的三维重建模型:服务器得到镜面物体的三维重建结果,即服务器得到镜面物体的三维重建模型。
[0062]
在一个实施例中,如图6所示,提供了又一种镜面物体三维重建方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤s601,对预设空间点的重建信息进行渲染处理,得到预设空间点的渲染矩阵;对渲染矩阵进行线性映射处理,得到空间点向量。
[0063]
步骤s602,根据空间点向量,与空间点向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的空间点向量,生成空间点向量的特征向量,作为训练特征向量。
[0064]
步骤s603,将目标场景中的预设空间点的训练特征向量和镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型。
[0065]
步骤s604,根据预设空间点的重建信息的物理关系,设置训练后渲染信息网络模型的解码方式,得到渲染信息网络模型。
[0066]
步骤s605,对拍摄视角相同的拍摄图像中对应位置的像素点进行提取处理,得到目标像素点;根据目标像素点,生成目标像素点的对应拍摄视角的像素向量。
[0067]
步骤s606,根据像素向量,与像素向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的像素向量,生成目标像素点的特征向量。
[0068]
步骤s607,通过渲染信息网络模型对拍摄图像中的像素点对应的特征向量进行解码处理,得到像素点在镜面物体的历史拍摄视角下的重建信息和第一渲染信息。
[0069]
步骤s608,将重建信息输入至隐式场景模型中;通过隐式场景模型对重建信息进行渲染学习,得到学习后隐式场景模型。
[0070]
步骤s609,将镜面物体的预设视角输入至学习后隐式场景模型中;通过学习后隐式场景模型对预设视角进行渲染处理,得到学习后隐式场景模型输出的针对镜面物体在预设视角下的第二渲染信息。
[0071]
步骤s610,根据拍摄图像和预设视角图像,对镜面物体进行形状重建,得到镜面物体的三维形状;根据第一渲染信息和第二渲染信息,对三维形状进行图像渲染,得到镜面物体的三维重建模型。
[0072]
上述镜面物体三维重建方法,能够提供以下有益效果:(1)通过可控光照场景控制生成预设空间点和获取镜面物体的拍摄图像时灯光的三通道数值,而不是将拍摄图像转变为灰度值进行处理,能够对特殊材质的镜面物体在rgb通道中的不同镜面反射率进行学习和处理,从而为镜面物体的三维重建提供了更丰富的重建信息和渲染信息。
[0073]
(2)通过去除镜面物体的漫反射反照率、并将预设镜面反照率控制在一定范围内,能够减少所需的训练数据的数据量,从而避免了无效数据带来的负面训练影响。
[0074]
(3)通过将预设空间点的相关数据作为渲染信息网络模型的输入和输出,使得渲染信息网络模型的自监督能力提升,将与像素点存在映射关系的预设空间点作为渲染信息网络模型的训练数据,使得模型能够更精准地从不同光照不同角度的拍摄图像中提取出镜面物体的重建信息和第一渲染信息,提升了镜面物体的三维重建精度。
[0075]
(4)除了能够充分利用目标像素点本身具有的空间属性以外,还能够结合不同视
角以及像素向量中的光照变化过程的时间属性和光照属性,使得渲染信息网络模型能够充分对目标像素的特征进行处理,进而提升渲染信息网络模型的能力。
[0076]
(5)根据多视角的图像执行后续的镜面物体的三维重建步骤,为镜面物体的三维重建提供了更丰富的重建信息,从而提升了镜面物体的三维重建精度,并通过多视角下的渲染信息对镜面物体的三维重建进行优化,进一步提高了镜面物体的三维重建精度,进而大大提高了镜面物体的三维重建效果。
[0077]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0078]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的镜面物体三维重建方法的镜面物体三维重建装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个镜面物体三维重建装置实施例中的具体限定可以参见上文中对于镜面物体三维重建方法的限定,在此不再赘述。
[0079]
在一个实施例中,如图7所示,提供了一种镜面物体三维重建装置700,包括:解码模块701、渲染模块702和重建模块703,其中:解码模块701,用于将镜面物体的拍摄图像输入至渲染信息网络模型中,通过渲染信息网络模型对拍摄图像中的像素点进行解码处理,得到针对像素点的重建信息和第一渲染信息。
[0080]
渲染模块702,用于将重建信息和镜面物体的预设视角输入至隐式场景模型中进行渲染处理,得到隐式场景模型输出的针对镜面物体的第二渲染信息和预设视角图像。
[0081]
重建模块703,用于根据拍摄图像、预设视角图像、第一渲染信息和第二渲染信息,对镜面物体进行三维重建,得到镜面物体的三维重建模型。
[0082]
在一个实施例中,解码模块701,还用于通过渲染信息网络模型对拍摄图像中的像素点对应的特征向量进行解码处理,得到像素点在镜面物体的历史拍摄视角下的重建信息和第一渲染信息;拍摄图像通过在目标场景中根据历史拍摄视角对镜面物体进行拍摄得到。
[0083]
在一个实施例中,镜面物体三维重建装置700还包括第一向量模块,用于对拍摄视角相同的拍摄图像中对应位置的像素点进行提取处理,得到目标像素点;目标像素点的数量与对应拍摄视角下得到的拍摄图像的数量相同;根据目标像素点,生成目标像素点的对应拍摄视角的像素向量;根据像素向量,与像素向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的像素向量,生成目标像素点的特征向量。
[0084]
在一个实施例中,镜面物体三维重建装置700还包括模型构建模块,用于将目标场景中的预设空间点的训练特征向量和镜面物体的预设镜面反照率输入至待训练渲染信息网络模型中进行编码训练,得到训练后渲染信息网络模型;预设空间点与拍摄图像中的像素点之间存在映射关系;根据预设空间点的重建信息的物理关系,设置训练后渲染信息网
络模型的解码方式,得到渲染信息网络模型。
[0085]
在一个实施例中,镜面物体三维重建装置700还包括第二向量模块,用于对预设空间点的重建信息进行渲染处理,得到预设空间点的渲染矩阵;对渲染矩阵进行线性映射处理,得到空间点向量;根据空间点向量,与空间点向量的对应拍摄视角的前两个拍摄视角和后两个拍摄视角的空间点向量,生成空间点向量的特征向量,作为训练特征向量。
[0086]
在一个实施例中,渲染模块702,还用于将重建信息输入至隐式场景模型中;通过隐式场景模型对重建信息进行渲染学习,得到学习后隐式场景模型;将镜面物体的预设视角输入至学习后隐式场景模型中;预设视角与镜面物体的拍摄视角的视角不同;通过学习后隐式场景模型对预设视角进行渲染处理,得到学习后隐式场景模型输出的针对镜面物体在预设视角下的第二渲染信息。
[0087]
在一个实施例中,重建模块703,还用于根据拍摄图像和预设视角图像,对镜面物体进行形状重建,得到镜面物体的三维形状;根据第一渲染信息和第二渲染信息,对三维形状进行图像渲染,得到镜面物体的三维重建模型。
[0088]
上述镜面物体三维重建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0089]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储拍摄图像、预设视角图像、第一渲染信息和第二渲染信息等镜面物体进行三维重构的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。其中,网络接口包括i/o接口和通信接口。该计算机程序被处理器执行时以实现一种镜面物体三维重建方法。
[0090]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0091]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0092]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0093]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0094]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0095]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0096]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0097]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1