CN117557714A - 三维重建方法、电子设备及可读存储介质 - Google Patents
三维重建方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117557714A CN117557714A CN202210932896.1A CN202210932896A CN117557714A CN 117557714 A CN117557714 A CN 117557714A CN 202210932896 A CN202210932896 A CN 202210932896A CN 117557714 A CN117557714 A CN 117557714A
- Authority
- CN
- China
- Prior art keywords
- map
- model
- geometric
- dimensional
- texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 179
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 239000000463 material Substances 0.000 claims abstract description 131
- 238000005286 illumination Methods 0.000 claims abstract description 62
- 238000013507 mapping Methods 0.000 claims description 43
- 238000009877 rendering Methods 0.000 claims description 41
- 238000004458 analytical method Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 19
- 238000003062 neural network model Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011049 filling Methods 0.000 claims description 5
- 238000012847 principal component analysis method Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 21
- 238000012545 processing Methods 0.000 abstract description 19
- 239000010410 layer Substances 0.000 description 74
- 230000008569 process Effects 0.000 description 50
- 230000000007 visual effect Effects 0.000 description 33
- 238000004364 calculation method Methods 0.000 description 29
- 230000011218 segmentation Effects 0.000 description 28
- 238000013527 convolutional neural network Methods 0.000 description 27
- 230000007613 environmental effect Effects 0.000 description 25
- 238000013528 artificial neural network Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 21
- 238000000605 extraction Methods 0.000 description 20
- 238000011176 pooling Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 13
- 230000000694 effects Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 12
- 238000000280 densification Methods 0.000 description 11
- 230000000873 masking effect Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 239000012634 fragment Substances 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- RKTYLMNFRDHKIL-UHFFFAOYSA-N copper;5,10,15,20-tetraphenylporphyrin-22,24-diide Chemical compound [Cu+2].C1=CC(C(=C2C=CC([N-]2)=C(C=2C=CC=CC=2)C=2C=CC(N=2)=C(C=2C=CC=CC=2)C2=CC=C3[N-]2)C=2C=CC=CC=2)=NC1=C3C1=CC=CC=C1 RKTYLMNFRDHKIL-UHFFFAOYSA-N 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 5
- 229910052573 porcelain Inorganic materials 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000010440 gypsum Substances 0.000 description 1
- 229910052602 gypsum Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000009940 knitting Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000002932 luster Substances 0.000 description 1
- 239000004579 marble Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000005060 rubber Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及三维建模技术领域,具体涉及一种三维重建方法、电子设备及可读存储介质。其中该方法包括:获取第一物体在自然光照下的多视角图像;基于多视角图像进行三维几何重建,得到第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;对第一模型进行UV展开,得到第一模型的UV贴图;对多视角图像、第一模型和UV贴图进行分析处理,生成第一模型的UV空间的几何材质贴图和PBR材质贴图。本申请实施例提供的三维重建方法,通过对多视角图像、第一模型以及第一模型的UV贴图进行特征处理,可以生成UV空间的多种材质贴图,即几何材质贴图以及PBR材质贴图,生成更加真实美观的材质表现。
Description
技术领域
本申请涉及三维建模技术领域,具体涉及一种三维重建方法、电子设备及可读存储介质。
背景技术
三维重建(即3D重建,又称为数字孪生),是在计算机中还原出真实世界中的物体的技术,包括重建物体的轮廓(也即几何)、物体表面的材质等,再根据重建结果对物体的几何进行渲染,以得到真实质感的数字化虚拟物体及场景,并将3D重建结果投影到屏幕上。3D重建技术是虚拟现实(Virtual Reality,VR)技术、增强现实(Augmented Reality,AR)技术体现“沉浸式的虚拟世界”的重要技术,可以广泛应用于电影、游戏场景、商品展示以及数字博物馆等。
在3D重建中,材质是进行模型渲染的主要输入之一,是表现出真实、精美、照片级重建结果的关键因素。例如图1a和图1b所示,图1a为3D重建过程中未添加合适的高光材质进行渲染的重建结果,图1b为3D重建过程中添加合适的高光材质进行渲染的重建结果。可以看出,图1a所示的重建结果中物体瓷枕的感官比较粗糙,且没有瓷器的光泽,不能够体现出瓷器原本的质感,相比于瓷器而言,更像是大理石。图1b所示的重建结果中的物体瓷器,进行材质渲染,看起来更接近真实物体,具备瓷器的光泽感,同时可以体现出光影交互的效果,看起来更加舒服。
目前生成物体表面的材质的方法主要包括:(1)通过专业的材质采集设备,此种方法所需的设备价格昂贵,适用于科研的实验室场景,适用性不够广;(2)通过艺术家手工制作,效果较好,但是需要具备丰富经验的专业人员,且手工制作耗时长,效率较低;(3)基于拍摄的RGB图像进行材质重建,设备可以通过执行对应的程序完成,效率高,成本低,适用于日常(例如游戏、影视、商品等生活娱乐场景)3D重建场景。但是,目前的材质重建方案不能够实现自然光照下较为完整的3D模型的材质重建,重建的3D模型不够真实自然。
发明内容
本申请实施例提供了一种三维重建方法、电子设备及可读存储介质,解决三维重建的材质结果不准确、不够真实的技术问题。
第一方面,本申请实施例提供了一种三维重建方法,应用于电子设备,包括:获取第一物体在自然光照下的多视角图像,其中,多视角图像为在多个不同视角拍摄的第一物体的多张图像;基于多视角图像进行三维几何重建,得到第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;对第一模型进行UV展开,得到第一模型的UV贴图,其中,UV贴图为第一模型在UV空间下的二维展开结果;基于多视角图像、第一模型和UV贴图,生成第一模型的UV空间的几何材质贴图和PBR材质贴图。
可以理解,第一物体即下文中的待重建物体,第一模型即下文实施例中的3D几何模型。UV空间为以u为横坐标,以v为纵坐标,或者以u为纵坐标,以v为横坐标的坐标系。
可以理解,几何材质贴图可以包括第一物体的几何相关的信息,例如第一模型上各像素点的法线信息、阴影信息等。PBR材质贴图可以包括第一物体的表面颜色相关的信息,例如第一模型上各像素点本身的颜色和基础纹理信息、对自然光照的反射信息、光泽度信息等。
在一些实施例中,几何材质贴图可以包括环境遮蔽贴图和法线贴图,PBR材质贴图可以包括镜面反射贴图、粗糙度贴图和漫反射贴图。在另一些实施例中,几何材质贴图和PBR材质贴图还可以包括比上述材质贴图更多的材质贴图,本申请对此不作限制。
本申请实施例提供的三维重建方法,通过对多视角图像、第一模型以及第一模型的UV贴图进行特征处理,可以生成UV空间的多种材质贴图,包括几何材质贴图以及PBR材质贴图,材质贴图可以覆盖整个第一模型,生成更加真实美观的材质表现。
在上述第一方面的一种可能的实现中,对多视角图像、第一模型和UV贴图进行分析处理,生成第一模型的UV空间的几何材质贴图和PBR材质贴图,包括:基于多视角图像、第一模型和UV贴图,生成第一模型的UV空间的纹理贴图和几何材质贴图;对纹理贴图进行特征分析,生成PBR材质贴图。
可以理解,几何材质贴图中包含了第一物体的几何相关的材质信息,纹理贴图中可以包括物体表面的颜色信息。
可以理解,本申请通过对生成的UV空间的纹理贴图进行特征分析,生成PBR材质贴图,而非采用神经网络,不依赖于特定的神经网络以及对应的训练数据,可以得到更加精确的PBR材质贴图。
在上述第一方面的一种可能的实现中,基于多视角图像、第一模型和UV贴图,生成第一模型的UV空间的纹理贴图和几何材质贴图,包括:对第一模型进行重投影,并结合UV贴图,生成几何材质贴图;基于多视角图像,对第一模型进行纹理映射,并结合第一模型的UV展开方式,生成纹理贴图,其中,UV展开方式是第一模型进行UV展开后计算得到UV贴图的映射关系。
可以理解,在对第一模型进行重投影,并结合UV贴图,生成几何材质贴图时,可以对第一模型进行重投影,然后结合UV贴图,采用几何材质生成算法,生成第一模型的几何材质贴图,生成的几何材质贴图可以覆盖整个第一模型,而不是单个视角下的平面的材质贴图,可以生成更加真实的几何材质表现。
在上述第一方面的一种可能的实现中,几何材质贴图包括法线贴图和环境遮蔽贴图。
可以理解,生成的几何材质贴图还可以包括其他种类的与几何相关的材质贴图,本申请对此不作限制。
在上述第一方面的一种可能的实现中,第一模型是网格表示的三维几何模型;对第一模型进行重投影,并结合UV贴图,生成几何材质贴图,包括:将三维空间坐标系下的第一模型中的网格顶点的法线信息投影到相机坐标系下,得到第一模型的多个视角的第一法线图;将多个视角的第一法线图转换至UV空间下,得到第一模型的第二法线图;对第二法线图进行像素填充,并结合第一模型的UV展开方式,生成第一模型在UV空间下的法线贴图。
可以理解,第一法线图即下文中的相机坐标系下的顶点级法线图,具体可以包括相机坐标系下第一物体在不同视角下,各网格顶点的法线信息,可以用法向量表示。第二法线图是将相机坐标系下的第一法线图通过坐标转换,转换至UV空间下得到的法线图。各第二法线图分别对应于不同视角下的第一法线图。
可以理解,生成第一法线图的过程可以为下文中的软光栅化的过程,生成第二法线图的过程可以为下文中切空间转换的过程,生成法线贴图的过程可以为下文中的三角面片像素填充的过程。
在上述第一方面的一种可能的实现中,对第一模型进行重投影,并结合UV贴图,生成几何材质贴图,包括:获取第一模型中对应多视角图像的各视角的深度信息以及法线信息作为输入数据;将输入数据输入神经网络模型进行推理,得到第一模型的多张表征第一物体的几何相关的阴影信息的环境遮蔽图;根据第一模型的UV展开方式以及多张环境遮蔽图,生成第一模型在UV空间下的环境遮蔽贴图。
在一些实施例中,还可以采用其他除了神经网络模型的方法完成环境遮蔽贴图重建,例如通过对多视角的法线信息和深度信息进行计算得到。
在上述第一方面的一种可能的实现中,PBR材质贴图包括漫反射贴图、粗糙度贴图和镜面反射贴图。
在一些实施例中,PBR材质贴图还可以包括上述三种材质贴图之外的其他材质贴图,本申请对此不作限制。
在上述第一方面的一种可能的实现中,对纹理贴图进行特征分析,生成PBR材质贴图,包括:对纹理贴图进行光照估计,得到第一物体的反照率、球面光照系数和法线图;根据反照率、球面光照系数和法线图,对纹理贴图进行去光照估计,得到第一模型在UV空间下的漫反射贴图。
在上述第一方面的一种可能的实现中,对纹理贴图进行特征分析,生成PBR材质贴图,包括:对纹理贴图进行特征提取,得到第一物体的亮度特征信息和梯度特征信息;对亮度特征信息和梯度特征信息进行分析拟合,生成第一模型在UV空间下的镜面反射贴图和粗糙度贴图。
可以理解,上述实施例中,漫反射贴图、镜面反射贴图以及粗糙度贴图是通过对纹理贴图进行图像特征提取生成的,不需要依赖训练集的神经网络,也不需要特殊光源进行打光,通过简单的纹理贴图的输入,生成的PBR材质贴图的渲染效果就更加真实美观。
本申请实施例中,可以生成UV空间下,常用渲染场景中必要的五种材质贴图:法线贴图、环境遮蔽贴图、漫反射贴图、镜面反射贴图以及粗糙度贴图,基于五种材质贴图对第一模型的特定视角下的图像进行渲染,可以得到更加真实美观的材质表现。
在一些实施例中,得到的亮度特征信息以及梯度特征信息可以表示为特征图的形式。
在上述第一方面的一种可能的实现中,对亮度特征信息和梯度特征信息进行分析拟合,生成第一模型在UV空间下的镜面反射贴图和粗糙度贴图,包括:利用预先训练好的镜面反射权重,对亮度特征信息和梯度特征信息进行线性拟合,得到镜面反射贴图;利用预先训练好的粗糙度权重,对亮度特征信息和梯度特征信息进行线性拟合,得到粗糙度贴图。
在一些实施例中,通过镜面反射权重以及粗糙度权重,分别对亮度信息和梯度信息进行拟合,得到对应的材质贴图,具体可以为:将生成的亮度特征图以及梯度特征图作为特征基,然后增加镜面反射权重或粗糙度权重,分别对特征基进行线性拟合,可以得到镜面反射贴图或粗糙度贴图的计算函数,然后基于生成的计算函数可以推算出镜面反射贴图或粗糙度贴图。
在上述第一方面的一种可能的实现中,镜面反射权重和粗糙度权重是通过采用主成分分析法训练得到的。
在上述第一方面的一种可能的实现中,上述方法还包括:基于几何材质贴图、PBR材质贴图对第一模型进行渲染,生成目标视角下的第一模型的目标图像。
在上述第一方面的一种可能的实现中,目标视角包括多视角图像对应的各个视角,上述方法还包括:计算个视角的目标图像与多视角图像的图像相似性;根据图像相似性优化镜面反射权重和粗糙度权重。
第二方面,本申请实施例还提供了一种三维重建装置,包括:数据获取模块,用于获取第一物体在自然光照下的多视角图像,其中,多视角图像为在多个不同视角拍摄的第一物体的多张图像;三维几何重建模型,用于基于多视角图像进行三维几何重建,得到第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;UV展开模块,用于对第一模型进行UV展开,得到第一模型的UV贴图,其中,UV贴图为第一模型在UV空间下的二维展开结果;材质重建模块,用于基于多视角图像、第一模型和UV贴图,生成第一模型的UV空间的几何材质贴图和PBR材质贴图。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述三维重建方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述三维重建方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述三维重建方法。
附图说明
图1a所示为3D重建过程中未进行材质渲染的重建结果示意图;
图1b所示为3D重建过程中进行材质渲染的重建结果示意图;
图2a至图2j所示为不同材质贴图的效果示意图;
图3a所示为一种基于视觉先验输入单张图片生成SVBRDF材质的方法的流程示意图;
图3b所示为一种通过可微渲染器联合优化3D模型几何和材质的方法的流程图;
图3c所示为一种基于深度学习的PBR三维重建方法的流程图;
图4所示为本申请实施例提供的一种三维重建方法的过程示意图;
图5所示为应用本申请实施例提供的方法的终端设备的硬件结构示意图;
图6所示为应用本申请实施例提供的方法的服务器的硬件结构示意图;
图7所示为本申请实施例中的一种三维重建方法的流程示意图;
图8所示为本申请实施例提供的一种基于视觉的显著性分割技术的流程示意图;
图9所示为本申请实施例提供的一种相机位姿的计算方法的流程示意图;
图10所示为本申请实施例提供的一种增量式重建方法的流程示意图;
图11所示为本申请实施例提供的一种稠密化重建方法的流程示意图;
图12所示为本申请实施例提供的一种UV展开方法的流程示意图;
图13所示为本申请实施例提供的一种进行UV展开前后的3D几何模型的示意图;
图14所示为本申请实施例提供的一种法线贴图的生成方法的流程示意图;
图15a所示为本申请实施例提供的一种环境遮蔽贴图的生成过程示意图;
图15b所示为本申请实施例提供的一种CNN结构示意图;
图16所示为本申请实施例提供的一种PBR材质的生成过程示意图;
图17所示为本申请实施例提供的一种漫反射贴图的生成过程示意图;
图18所示为本申请实施例提供的一种材质生成方法的流程示意图;
图19所示为本申请实施例提供的一种三维重建装置的程序模块示意图。
具体实施方式
为了更好地理解本方案,下面对本申请方案中涉及的部分技术术语进行简要介绍。
三维模型:三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。任何物理自然界存在的东西都可以用三维模型表示。本申请实施例中,物体的三维模型用于指示物体的三维结构和尺寸信息。三维模型的数据存储形式有多种,例如以三维点云、网格或体元等形式表示,具体此处不做限定。
三维几何重建:基于输入的三维物体的多视角图像,生成计算机图形学领域常用的网格表示的三维几何模型。具体地,可以基于输入的三维物体(下文均称为物体)在多个角度的二维图像(下文均称为图像),利用分割技术将图像对应的场景中的物体(即前景对象)和背景分开,结合拍摄图像的相机的位姿计算、稠密化重建、点云网格化技术,完成物体的三维几何重建,得到物体在计算机图形学领域常用的网格表示的几何模型。其中的相机可以例如相机等能够采集光信息并通过光电转换得到图像的设备,本申请对此不作限制,下文中均以相机为例进行介绍。
本申请中的分割技术具体为前景分割技术,例如基于视觉的显著性分割技术等,可以将图像中的物体与背景分离开来,后续的位姿计算、稠密化重建以及点云三角化技术等,都是基于分割得到的图像的前景区域进行进一步处理的。
位姿计算,通过对物体的多个角度的图像中的特征点进行匹配,计算相机在拍摄图像时的相对位姿。其中相机位姿,即相机在空间中的位置和相机的姿态,可以分别看作相机从原始参考位置到当前位置的平移变换和旋转变换。
其中的特征点可以理解为图像中包含丰富局部信息(即特征显著)的点,特征点大多出现在图像中拐角、纹理剧烈变化的地方。特征点包括关键点(Key-point)和描述子(Descriptor)两部分。关键点表示该特征点在图像里的位置,在一些实施例中,特征点还具有朝向、大小等信息。描述子用于描述关键点周围的像素点的特点,即描述关键点周围的信息,可以表示为一个向量或一个矩阵。
稠密化重建,根据位姿计算的结果以及多视角的图像,求解出图像中每个像素点对应的三维空间坐标,并将多视角图像中对应于物体的同一成像点的多个像素点进行匹配融合,得到稠密化重建的结果(即稠密点云)。具体地,根据位姿计算的结果,计算图像中每个特征点在三维坐标系中的空间坐标,然后匹配不同视角的图像中对应的特征点,将对应的特征点进行融合,得到物体的特征点的三维空间坐标,作为三维重建中稀疏重建结果(即稀疏点云)。其中,稀疏点云用于三维几何重建过程中,三维几何模型的定位。然后根据稀疏点云以及多视角的图像,求解出图像中除特征点外的其余像素点对应的三维空间坐标,并将多视角的图像中对应于物体的同一成像点的像素点进行匹配融合,得到稠密点云。
点云网格化技术,采用一系列的网格近似拟合三维重建过程中得到的离散的点云,例如稠密化重建得到的稠密点云。在计算机图形学领域中,一般采用三角网格(即以邻近的三个点组成一个网格面片)或四角网格(即以邻近的四个点组成一个网格面片)来近似拟合点云,即点云三角化技术和点云四角化技术。
端到端的3D模型的材质生成:根据获取到的物体的平面多视角图片生成物体的三维模型的材质。
自然光照:指没有包含特殊空间环境以及特殊光源的自然环境光照。其中,没有包含特殊空间环境以及特殊光源可例如暗室环境、特殊光源照射下的环境。在自然光照下拍摄照片,适用场景更加广泛,拍摄成本更低。
材质:表现物体表面的纹理特性。当穿过场景的光照接触到物体表面后,可以通过一系列图像以数学表达式作为输入数据来计算该光照如何与该物体表面进行互动。通过不同的材质函数(材质图中的一些片段)组成的材质图(例如表征透明度的材质函数、粗糙度、金属光泽度等)的设置可以控制3D模型的可视外观。
材质图层:物体不同纹理特性信息(材质参数)构成的图层。对物体的材质进行分层,每层包括至少一种材质参数,可以作为3D模型的材质图层。
通常来讲,完整的材质图层需要满足大多数通用场景的材质渲染,一般包括5个材质图层:漫反射贴图(diffuse map)、镜面反射贴图(specular map)、粗糙度贴图(roughness map)、法线贴图(normal map)、环境遮蔽贴图(AO map)。
其中,漫反射贴图表示了物体本身的颜色和基础纹理;镜面反射贴图表示了物体在光照下反射光的强弱,可以体现物体的高光效果;粗糙度贴图表示了物体的光泽度,例如物体表面光滑或粗糙程度;法线贴图表示了物体的几何方向,可以增加3D模型的凹凸感;环境遮蔽贴图计算物体背向光源的区域,使物体具有微妙的阴影,可以通过体现物体的阴影效果来使物体更有立体感。可以理解,通过对上述部分贴图的数据进行处理,还可以得到新的材质图层,例如,根据粗糙度贴图可以得到光泽度贴图,根据镜面反射贴图可以得到金属度贴图。下面结合附图对上述五种材质贴图对3D模型的渲染效果的影响进行介绍。
例如,图2a所示为没有采用漫反射贴图对3D几何模型进行渲染得到的3D模型,图2b所示为采用漫反射贴图对3D几何模型进行渲染得到的3D模型。由图2a和图2b可以看出,3D几何模型经过漫反射贴图进行渲染后,可以体现出鞋子的颜色和基础纹理。例如体现出鞋子上半部分的红色以及鞋底的褐色(即物体的颜色),并且能够体现出鞋子侧面的网状细孔以及鞋面上的缝合线(即物体的基础纹理)等。
例如,图2c所示为没有采用镜面反射贴图对3D几何模型进行渲染得到的3D模型,图2d所示为采用镜面反射贴图对3D几何模型进行渲染得到的3D模型。由于图中被圈住的圆形区域为布料材质,在自然光照下反射光较弱,由图2c和图2d可以看出,3D几何模型输入合适的镜面反射贴图进行渲染后,可以去掉这些区域不需要进行光反射产生的高光感,输入合适的镜面反射贴图渲染后的3D模型更接近真实世界中观察到的鞋子。
例如,图2e所示为没有采用粗糙度贴图对3D几何模型进行渲染得到的3D模型,图2f所示为采用粗糙度贴图对3D几何模型进行渲染得到的3D模型。由于鞋子内部以及外边缘的真实材质为布料,其粗糙度相比于其他区域较高(尤其是图中被圈住的区域),在自然光照下的光泽感较差,由图2e和图2f可以看出,3D几何模型输入合适的粗糙度贴图进行渲染后,可以表现出鞋子真实的光泽感,输入合适的粗糙度贴图渲染后的3D模型更接近真实世界中观察到的鞋子。
例如,图2g所示为没有采用法线贴图对3D几何模型进行渲染得到的3D模型,图2h所示为采用法线贴图对3D几何模型进行渲染得到的3D模型。由图2g和图2h可以看出,没有经过法线贴图渲染的鞋子比较平滑,没有鞋面材质的凹凸感,而经过法线贴图进行渲染后,增加鞋面的凹凸感,更接近真实世界中的鞋子,渲染后的3D模型的图像更加真实。
例如,图2i所示为没有采用环境遮蔽贴图对3D几何模型进行渲染得到的3D模型,图2j所示为采用环境遮蔽贴图对3D几何模型进行渲染得到的3D模型。在自然光照下,鞋子内部底面会处于鞋子侧面的阴影中,光线比较暗,无法看清鞋子内部底面的细节,而由图2i和图2j可以看出,在经过环境遮蔽贴图对鞋子进行渲染后,鞋子内部底面的阴影效果就被体现出来,环境遮蔽贴图渲染后3D模型更加立体。
如前所述,根据获取到的图片完成物体的材质重建对于3D重建十分重要。在2018年的国际计算机视觉与模式识别会议(Conference on Computer Vision and PatternRecognition,CVPR)上提出了一种材质重建方法。在该材质重建方法中,通过特殊光照环境,实现对物体空间变化双向反射分布函数(Spatially Varying BidirectionalReflectance Distribution Function,简称SVBRDF)材质的重建。具体地,通过相机采集一张平面物体的闪光照片(即flash照片),然后将其进行特征提取,恢复平面物体的局部和全局信息,并根据恢复的局部和全局信息输出材质贴图。
如图3a所示,具体为一种基于视觉先验输入单张图片生成SVBRDF材质的方法的流程示意图,该方法具体包括:获取平面物体的flash照片310,并将获取到的flash照片310输入到图像语义分割网络(即图3a中的U-net网络311)进行图像的特征提取以及上采样,进而根据特征提取以及上采样结果恢复平面物体的局部信息以及全局信息,最后根据恢复的局部信息和全局信息生成平面物体的四张材质贴图(即图3a中的材质贴图312);漫反射贴图、镜面反射贴图、粗糙度贴图、法线贴图。
可以理解,输入到U-net网络311的图像数据的形状为256×256×3。U-net网络311为U型对称结构,U-net网络311包括特征提取部分3111和上采样部分3112。其中,特征提取部分3111可以采用能够实现特征提取功能的任意神经网络,其中每层神经网络层可以例如图3a中的卷积神经网络层3113。其中,图像数据输入到U-net网络311进行特征处理以及上采样后,输出形状为256×256×9的数据。
其中,U-net网络311中沿水平方向的单向箭头表示卷积,用于特征提取;沿垂直于水平方向向下的箭头表示池化,用于对特征提取后的数据进行降维;沿垂直于水平方向向上的箭头表示上采样,用于对降维后的数据进行维度恢复。
可以理解,图3a中所示的基于视觉先验输入单张图片生成SVBRDF材质的方法是对于平面物体进行材质生成,只能得到单视角的、平面的材质,而不能根据多个视角的图片,生成3D模型的表面材质。并且图3a中所示的方法,输入图片为flash照片,即在进行材质生成前,需要采用特殊光源下采集平面物体的照片,而不能基于自然光照生成材质贴图,适用场景相对比较局限。
为了解决上述问题,在2021年的欧洲计算机绘制技术大会(EurographicsSymposium on Rendering,EGSR)上提出一种3D模型几何和材质的生成方法。该方法通过获取暗室单光源环境下的多视角图片、对应的相机位姿以及预先获得的物体的粗几何模型,并将单光源环境下的多视角图片、对应的相机位姿以及预先获得的物体的粗几何模型输入至可微渲染器进行材质渲染,得到物体的几何和材质。
具体的,如图3b所示,该方法包括:先在暗室单光源环境(例如图3b中的321所示环境)下拍摄待重建物体的多视角图片322,并获得每个视角图片对应的相机位姿,然后获取待重建物体的预先输入的粗几何模型323,将待重建物体的多视角图片322、相应的相机位姿以及粗几何模型323输入可微渲染器,通过可微渲染器进行迭代优化,并输出待重建物体的3D几何模型324以及材质贴图。然后根据材质贴图对3D几何模型324进行渲染,得到最终重建完成的3D模型325。
可以理解,粗几何模型323是用户预先根据待重建物体进行重建的模型,相比于最终的3D几何模型324比较粗糙,包含待重建物体较少的细节,只有大致的轮廓。可微渲染器通过计算渲染过程的导数,可以从图片中学习待重建物体的三维结构。具体地,可微渲染器将粗几何模型323以及多视角图片322作比较,可以定义损失,从而进行反向传播,优化粗几何模型323的形状和纹理,实现粗几何模型323至3D几何模型的重建,并且可以待重建物体的材质贴图。
可以理解,上述方法中向可微渲染器中输入粗几何模型323的过程比较复杂,不适合大多数普通用户的操作。并且获取多视角图片322所需的环境较为特殊,为暗室单光源环境,不适用于大多数普通场景下的操作。可见,上述方法不能够充分适应大多数通用场景下拍摄的多视角照片对应3D模型的重建,且操作比较复杂,需要专业人员进行操作,不适用于普通用户实现3D模型重建。
为了解决上述问题,公开号为CN 113345063 A的专利中提出了一种PBR三维重建方法。该方法通过获取物体多角度图片,并对其进行特征点匹配,重建稠密点云以及固有色贴图(即上文中的漫反射贴图),然后将固有色贴图以及稠密点云输入深度学习神经网络模型进行可微分渲染,实现基于物理的材质(Physical based Rendering,PBR)重建。
如图3c所示,为一种基于深度学习的PBR三维重建方法的流程图,该方法具体包括以下几个步骤:
331:获取多视角照片构建照片序列。具体地,获取物体的多视角的图片,尽可能保证画面的连续性。
332:稀疏重建。具体地,稀疏重建为对于照片序列中的每张照片,进行特征点匹配计算每张照片对应的相机内参、相机外参以及稀疏点云。其中,相机内参描述了相机的固有属性,包括焦距和主点位置。相机外参描述了相机在整个世界空间的坐标关系,包括旋转关系与平移关系。
333:稠密重建。具体地,稠密重建为基于照片序列以及相机内参、相机外参与稀疏点云进行稠密重建,获得稠密点云以及每个点在每张照片中的位置信息。
334:模型重建。具体地,采用点云网格化技术将稠密点云转换为网格模型和固有色贴图。其中网格模型由顶点、贴图坐标点和面构成,所述顶点表示三维空间中的点,贴图坐标点表示三维空间中的点在几何材质贴图上的位置,面表示由顶点如何构建三角形的三角关系,可以采用OpenMVS开源库提供的模型重建(mesh reconstruction)和纹理映射(mesh texturing)功能,将得到的稠密点云转换成计算机图形学中更加常用的网格模型和对应的固有色贴图。
335:深度学习可微分渲染PBR重建。具体地,以网格模型和对应的固有色贴图为初始化参数,构建基于反向传播的深度学习神经网络模型,在深度学习神经网络模型收敛时,获得PBR三维重建所需要的网络模型以及几何材质贴图,实现PBR三维重建。其中的几何材质贴图包含固有色贴图、法线贴图和粗糙度贴图。
可以理解,上述方法重建出的材质贴图不包括镜面反射贴图和环境遮蔽贴图,不能够体现出物体的高光效果和立体感。并且在进行PBR重建时,基于神经网络模型进行的,神经网络模型受到其训练数据的影响,重建结果不是很准确。
为了解决上述问题,本申请实施例提供了一种三维重建方法,如图4所示,该方法通过获取自然光照下待重建的物体的多视角图像,生成物体的3D几何模型,并对3D几何模型进行UV展开,获取3D几何模型对应的UV贴图,通过对3D几何模型进行重投影,结合3D几何模型、UV贴图以及多视角图像,生成3D几何模型的UV空间的纹理贴图和几何材质贴图(例如包括法线贴图和环境遮蔽贴图),进而对UV空间的纹理贴图进行特征分析,生成UV空间的PBR材质贴图(例如包括漫反射贴图、粗糙度贴图和镜面反射贴图)。其中,生成的UV空间的几何材质贴图和PBR材质贴图可以作为重建好的3D模型的材质贴图,进而在可视化显示3D模型时,可以通过UV空间的几何材质贴图和PBR材质贴图对3D几何模型进行渲染,可以得到任意视角下3D模型的二维图像。
本申请实施例提供的三维重建方法,通过对多视角图像、3D几何模型以及3D几何模型的UV贴图进行特征分析,除了可以生成UV空间的漫反射贴图、法线贴图和粗糙度贴图,还可以生成体现出物体的高光效果和立体感的镜面反射贴图和环境遮蔽贴图,生成更加真实美观的材质表现。并且,本申请通过对生成的UV空间的纹理贴图进行特征分析,生成PBR材质贴图,而非采用神经网络,不依赖于特定的神经网络以及对应的训练数据,可以得到更加精确的PBR材质贴图。
可以理解,本申请实施例中获取到的多视角图像可以是物体的多视角RGB图像,也可以是其他类型的图像,例如HSV图像、HSL图像、灰度图像、CMY/CMYK图像等,本申请对此不作限制。其中的多视角可以为待重建物体的不同视角下,例如可以是相邻两个视角看到的图像重叠率达到预设的阈值的多个视角,例如阈值为70%、60%等;还可以是根据三维重建需求,包含待重建视角的多个视角,例如对于待重建的物体鞋子,需要重建除了鞋子底面的其余视角,则多视角中可以不包括鞋子的底部视角。
可以理解,3D几何模型为对多视角RGB图像进行稠密化重建生成稠密点云,并采用点云网格化技术得到的由多个网格面片组成的三维模型。其中,网格面片可以为三角面片(即每个网格面片为三角形),还可以为四角面片(即每个网格面片为四角形)。在其他实施例中,还可以采用其他形状的网格面片来近似拟合稠密点云,本申请对此不作限制。
可以理解,对3D几何模型进行UV展开为将3D几何模型展开成二维图像的过程。其中的U和V可以理解为展开后的二维图像的横纵坐标。具体地,UV展开可以例如,将网格化的3D几何模型的每个网格面片作为一个UV碎片,然后将所有的UV碎片排布在一张二维平面上,得到的图像即为3D几何模型的UV贴图。UV展开还可以例如,在每个网格面片的可视视角的图像中,选择符合预设条件的一个视角的图像中的网格面片,并将所有在该视角下清晰且相邻的多个网格面片作为一个UV碎片,然后将所有的UV碎片排布在一张二维平面上,得到的图像即为3D几何模型的UV贴图。其中在UV碎片排布时,每个UV碎片尽可能紧凑,且图像分辨率为预设分辨率。在另一些实施例中,UV碎片的生成还可以采用其他方式,本申请对此不作限制。
可以理解,结合3D几何模型、UV贴图以及对多视角图像,生成3D几何模型的UV空间的纹理贴图和几何材质贴图(例如包括法线贴图和环境遮蔽贴图),具体包括:可以对3D几何模型进行重投影,并结合UV贴图和法线插值算法,将三维坐标系下的3D几何模型的法线信息转换成UV空间下的法线贴图;可以将基于3D几何模型计算得到的多张表征对应视角的法线信息的法线图以及表征对应视角的深度信息的深度图作为输入,采用卷积神经网络学习待重建物体的阴影信息,并基于3D几何模型的UV展开方式生成UV空间的环境遮蔽贴图;还可以结合多视角图像对3D几何模型进行纹理映射(texture mapping),即将多视角图像中的颜色信息映射到3D几何模型,并根据3D几何模型的UV展开方式,得到3D几何模型的表征物体颜色信息的UV空间的纹理贴图。
可以理解,对UV空间的纹理贴图进行特征分析,生成UV空间的PBR材质贴图,具体包括:基于生成的纹理贴图,进行特征提取,得到物体表面的光照信息、亮度特征以及梯度特征等,基于光照信息、亮度特征以及梯度特征,对纹理贴图进行图像处理,得到UV空间的PBR材质贴图。通过对UV贴图的特征分析,可以生成表征物体表面材质的更多种类的材质贴图,并且在生成材质贴图时,未采用神经网络,可以减少训练数据对生成的材质贴图的影响,提高生成的材质贴图的准确性,使得渲染出来的3D模型的图像更贴近真实物体。
可视化显示3D模型时,基于几何材质贴图和PBR材质贴图对3D几何模型进行渲染,可以得到任意视角下3D模型的二维图像,具体包括:将生成的几何材质贴图和PBR材质贴图中的物体的颜色信息和纹理信息,赋予到任意视角下3D几何模型的二维图像中的对应像素点,得到包括物体表面颜色和纹理的3D模型的对应视角的二维图像。
可以理解,几何材质贴图和PBR材质贴图均可以覆盖完整的3D几何模型,不是单视角下的二维材质贴图。
可以理解,几何材质贴图包括了几何相关的材质信息以及物体的阴影信息,具体可以包括UV展开的法线贴图和环境遮蔽贴图等。
其中,环境遮蔽贴图可以包括利用物体的几何相关的信息,近似计算得到的模拟物体的全局光照的结果,可以表现物体由明到暗的过渡,环境遮蔽贴图可以为根据3D几何模型的UV展开方式得到的UV空间的环境遮蔽贴图。在一些实施例中,环境遮蔽贴图可以叠加至漫反射贴图上,使得物体的3D模型的暗部更有细节,立体感更强。例如,环境遮蔽贴图可以包括3D几何模型的UV贴图中每个UV碎片的每个像素点所接收到的环境光被周围几何体所遮蔽的百分比。
其中,法线贴图可以包含网格面片顶点的法线信息以及为物体的像素级法线信息,法线贴图可以为根据3D几何模型的UV展开方式得到的UV空间的法线贴图。其中,网格面片的顶点的法线信息可以为3D几何模型包含的法线信息,物体的像素级法线信息,可以为利用各网格面片顶点的法线信息进行计算得到的各网格面片中的各像素点的法线信息,进而法线贴图可以提升物体的3D几何模型的几何精细度和立体感。例如,对于采用点云三角化技术进行点云网格化生成的3D几何模型,生成的法线贴图中可以包含三角面片顶点的法线信息以及为三角面片顶点的法线信息进行三角面片像素填充后每个像素的法线信息。
在另一些实施例中,几何材质贴图还可以包括除了UV展开的法线贴图和环境遮蔽贴图之外其他贴图,本申请对此不作限制。
可以理解,PBR材质贴图可以为基于生成的纹理贴图生成得到,PBR材质贴图可以包括漫反射贴图、镜面反射贴图和粗糙度贴图。其中的PBR可以理解为一种渲染方法,是基于物理渲染的过程,可以使得利用PBR材质贴图渲染得到的3D模型的图像更加自然真实。
其中,漫反射贴图可以包括3D几何模型的UV贴图中每个像素点的反射信息和表面的颜色信息,即包括3D几何模型的UV贴图中每个像素点的漫反射信息。漫反射贴图可以通过对输入的纹理贴图进行去光照估计后得到的UV空间的漫反射贴图。例如,对于输入的纹理贴图,分析计算UV坐标中每个像素点的反照率、法向图和球面光照系数,然后对反照率进行修正,使其与光照无关,即可得到UV展开的漫反射贴图。
其中,镜面反射贴图可以包括3D几何模型的UV贴图中每个像素点的光照以及镜面高光,即可以表现每个光线照射到对应像素点时,该像素点的镜面反射信息以及高光颜色信息。例如,对于不同材质的物体,其在光照下的反光程度(即反光的强弱)是不同的,镜面反射贴图可以体现出对应像素点在光照下的反光程度。其中,反光程度可以例如将镜面反射贴图去色成为黑白图,图上越偏向RGB值为(0,0,0)的部分高光越弱,越偏向RGB值为(255,255,255)的部分高光越强,例如对于金属、塑料、木头来说,其反射的光的量是从大到小的,进而反光程度从强到弱依次为金属、塑料、木头。
其中,粗糙度贴图可以描述3D几何模型的UV贴图的表面的不规则度,具体地,粗糙度贴图可以包括3D几何模型的UV贴图中每个像素点的粗糙度数值。例如,在粗糙度贴图中,0(即黑色为0sRGB)表示光滑,1(即白为255sRGB)表示粗糙。在一些实施例中,对得到的粗糙度贴图进行反向还可以生成光泽度贴图。
下面结合图5和图6对应用本申请实施例提供的三维重建方法的电子设备进行介绍。
图5所示为应用本申请实施例提供的方法的终端设备500的硬件结构示意图。移动终端500可以用于运行本申请实施例提供的三维重建方法对应的指令,也可以用于根据材质贴图渲染生成的3D几何模型得到3D模型,还可以用于获取物体的多视角图片。
如图5所示,移动终端500可以包括存储单元510、网络传输单元520、传感器单元530、计算单元540和交互显示单元550等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备500的具体限定。在本申请另一些实施例中,终端设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
存储单元510可以包括内存511和外部存储512。其中内存511可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内存511可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内存511可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在本申请实施例中,内存511可以用于存储本申请实施例中的三维重建方法对应的指令。外部存储512可以用于存储用户的一些图像数据、视频数据、音频数据等,例如可以存储本申请实施例中的多视角RGB图像,并且可以存储计算单元540基于多视角RGB图像进行三维重建生成的3D模型、几何材质贴图和PBR材质贴图等。
网络传输单元520,可以包括上传模块521、下载模块522、编解码器523和隐私加密524等。其中上传模块521可以用于向其他电子设备传输数据,例如向服务器600的下载模块632传输本申请实施例中的多视角RGB图像等。下载模块522用于从其他电子设备中获取数据。在一些实施例中,移动终端500可以通过上传模块521将拍摄的多视角RGB图像上传至服务器600,服务器600生成3D几何模型以及对应的多种材质贴图后,移动终端500可以通过下载模块从服务器600上下载3D几何模型以及对应的多种材质贴图,并利用多种材质贴图对3D几何模型进行渲染后输出显示3D模型。其中,编解码器523可以用于实现对图像、视频、3D模型与材质贴图的压缩以及解压缩。
传感器单元530可以包括视觉传感器(如相机531)、IMU/磁力计532、深度传感器533、WiFi/4G/5G 534等。其中视觉传感器用于获取物体的多视角图像,例如上文中的多视角RGB图像。惯性传感器(Inertial Measurement Unit,IMU)可以用于获取移动终端500的运动信息,如线加速度、角速度等。磁力计可以用于获得移动终端500的偏航角(Yaw);深度传感器533(例如飞行时间(TOF)传感器等)可以用于获取拍摄场景的深度信息。网络单元(如WiFi/4G/5G 534)可以用于移动终端500与服务器600进行通信和数据交换;在一些实施例中,传感器单元530还可以包括全球定位系统(GPS,可选),用于获取移动设备的经纬度地理位置信息;以及激光传感器(Light Detection And Ranging,LIDAR),用于获取拍摄场景的深度信息。在本申请实施例中,可以通过传感器单元530中的相机531采集待建模物体在自然光照下的多视角图像,后续的三维重建过程可以基于相机531获取到的多视角图像进行执行。
计算单元540可以包括中央处理器(Central Processing Unit,CPU)541、图形处理器(graphics processing unit,GPU)和/或神经网络处理器(neural-networkprocessing unit,NPU)542、缓存533、寄存器534等。其中,CPU 541用于运行移动终端500的操作系统,并处理本申请实施例提供的三维重建方法对应的指令。其中,缓存533可以保存CPU541刚用过或循环使用的指令或数据。如果CPU 541需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了CPU 541的等待时间,因而提高了系统的效率。在本申请实施例中,可以通过计算单元540中的CPU 541或者GPU对获取到的多视角图像进行3D几何重建,得到3D几何模型,并可以对3D几何模型进行UV展开,得到3D几何模型的UV贴图,然后基于多视角图像、3D几何模型以及UV贴图,生成几何材质贴图和PBR材质贴图。计算单元540还可以将生成的3D几何模型、几何材质贴图和PBR材质贴图存储至存储单元510。
在一些实施例中,CPU 541可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
交互显示单元550可以包括触控板551、显示器552、扬声器/麦克风553和振动器554等。其中触控板551用于检测作用于其上或附近的触摸操作。触控板551可以将检测到的触摸操作传递给CPU 541,以确定触摸事件类型,可以用于和用户进行交互,获取用户的输入等。
显示器552用于显示图像,视频等。显示器552包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,移动终端500可以包括1个或N个显示器,N为大于1的正整数。
在本申请实施例中,移动终端500可以通过触控板551获取用户输入的呈现3D模型目标视角下图像的参数,例如目标视角的角度等,然后移动终端500通过GPU,利用生成或获得的几何材质贴图以及PBR材质贴图,对3D几何模型进行渲染,得到目标视角下3D模型的图像,并可以通过显示器552进行显示。
扬声器,也称“喇叭”,用于将音频电信号转换为声音信号。移动终端500可以通过扬声器收听音乐,或收听免提通话。麦克风,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。移动终端500可以设置至少一个麦克风。在另一些实施例中,移动终端500可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,移动终端500还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
图6所示为应用本申请实施例提供的方法的服务器600的硬件结构示意图。服务器600可以用于运行本申请实施例提供的三维重建方法对应的指令,也可以用于根据材质贴图渲染生成的3D几何模型得到3D模型。
如图6所示,服务器600包括计算单元610、存储单元620、网络传输单元630等。
可以理解的是,本申请实施例示意的结构并不构成对服务器600的具体限定。在本申请另一些实施例中,服务器600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
计算单元610可以包括中央处理器(Central Processing Unit,CPU)611、图形处理器(graphics processing unit,GPU)和/或神经网络处理器(neural-networkprocessing unit,NPU)612、缓存613、寄存器614等。其中,CPU 611用于运行服务器600的操作系统,并处理本申请实施例提供的三维重建方法对应的指令。其中,缓存613可以保存CPU611刚用过或循环使用的指令或数据。如果CPU 611需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了CPU 611的等待时间,因而提高了系统的效率。在本申请实施例中,可以通过计算单元610中的CPU 611或者GPU对获取到的多视角图像进行3D几何重建,得到3D几何模型,并可以对3D几何模型进行UV展开,得到3D几何模型的UV贴图,然后基于多视角图像、3D几何模型以及UV贴图,生成几何材质贴图和PBR材质贴图。计算单元610中的CPU 611或者GPU还可以将生成的3D几何模型、几何材质贴图和PBR材质贴图存储至存储单元620。
在一些实施例中,CPU 611可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
存储单元620可以包括内存621和外部存储622。其中内存621可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内存621可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储服务器600使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内存621可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在本申请实施例中,内存621可以用于存储本申请实施例中的三维重建方法对应的指令。外部存储622可以用于存储用户的一些图像数据、视频数据、音频数据等,例如可以存储本申请实施例中的多视角RGB图像、重建好的3D几何模型以及材质贴图等。
网络传输单元630,可以包括上传模块631、下载模块632、编解码器633和隐私加密634等。其中上传模块631可以用于向其他电子设备传输数据,例如传输本申请实施例中的3D几何模型、几何材质贴图和PBR材质贴图等。下载模块632用于从其他电子设备中获取数据。
在本申请实施例中,移动终端500可以通过上传模块521将拍摄的多视角RGB图像上传至服务器600的下载模块632,服务器600生成3D几何模型以及对应的多种材质贴图后,可以通过上传模块631传输至移动终端500的下载模块522。其中,编解码器633可以用于实现对图像、视频、3D模型与材质贴图的压缩以及解压缩。
下面结合图7至图8对本申请实施例中的三维重建方法进行详细介绍。可以理解,本申请实施例提供中的三维重建方法的实施主体可以为移动终端500,也可以为服务器600,还可以为其他电子设备,本实施例中以实施主体为移动终端500为例,对本申请实施例提供的三维重建方法进行介绍。
可以理解,移动终端500包括但不局限于手机、平板电脑、膝上型计算机、台式计算机、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、个人数字助理、虚拟现实或者增强现实设备、其中嵌入或耦接有一个或多个处理器的电视机等等。
图7所示为本申请实施例中的一种三维重建方法的流程示意图。
如图7所示,该方法包括:
701:获取待重建物体在自然光照下采集的多视角RGB图像。
可以理解,多视角RGB图像为在待重建物体的不同视角采集到的RGB图像,每个视角的RGB图像可以作为一个图像帧,获取的多视角RGB图像可以为移动终端500通过相机531采集到的,也可以是通过图像传感器采集到的,还可以是通过其他电子设备采集到的图像,然后传输至移动终端500,本申请对此不作限制。
可以理解,多视角RGB图像为在自然光照下采集到的待重建物体的图像,不需要将待重建物体放入特殊环境,例如暗室、单光源等。
可以理解,多视角可以是相邻两个视角看到的图像重叠率达到预设的阈值的多个视角,例如阈值为70%、60%等,进而,具体的视角数与待重建物体的大小以及预设的阈值有关,例如对于待重建物体为书本以及房子,在相同的预设的阈值条件下,房子对应的视角数更多,再例如对于同一个待重建物体书本,在预设的阈值分别为70%和60%的条件下,预设的阈值为70%对应的视角数比预设的阈值为60%对应的视角数更多;多视角还可以是根据三维重建需求,包含待重建视角的多个视角,例如对于待重建的物体鞋子,需要重建除了鞋子底面的其余视角,则多视角中可以不包括鞋子的底部视角。
在一些实施例中,采集到的图像可以是除了RGB图像之外的其他图像类型,例如HSV图像、HSL图像、灰度图像、CMY/CMYK图像等,即图像类型与对应的颜色空间有关,本申请中采集的多视角图像可以是任意颜色空间类型的图像,本申请对此不作限制。
702:基于多视角RGB图片进行3D几何重建,得到3D几何模型。
可以理解,3D几何模型可以为大量网格面片组成的具有连续表面的三维模型,3D几何模型具体可以包括大量离散的点(即前文中的点云,也称作顶点)、连接两个顶点的边、每个网格对应的面。在一些实施例中,网格面片为三角面片,即每个网格面片为三角形,3D几何模型为由大量三角面片组成的连续表面对应的三维模型;在另一些实施例中,网格面片为四角面片,即每个网格面片为四角形,3D几何模型为由大量四角面片组成的连续表面对应的三维模型。
基于多视角RGB图片进行3D几何重建,得到3D几何模型的过程可以为:
基于输入的待重建物体的多视角RGB图像,利用分割技术将图像对应的场景中的待重建物体和背景分开,然后可以对前景分割的结果进行相机位姿计算,得到多视角RGB图像对应的相机位姿,之后基于相机位姿计算结果以及多视角RGB图像进行稠密化重建,生成待重建物体的稠密点云,采用点云网格化技术对生成的稠密点云进行网格面片生成,得到网格化的3D几何模型。
其中,前景分割用于将多视角RGB图像中的待重建物体(即前景对象)与背景分开。在一些实施例中,前景分割可以基于视觉的显著性分割技术进行,即通过算法模拟人的视觉特点,提取图像中前景对象。可以通过基于视觉的显著性分割技术,将3D几何重建中重要的待重建物体对应的图像区域与背景部分分开,减少后续特征提取等的处理复杂度,进而降低图像处理的鲁棒性。
在一些实施例中,基于视觉的显著性分割技术可以通过深度学习网络实现,例如卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent NeuralNetwork,RNN)等实现。
图8所示为本申请实施例提供的一种基于视觉的显著性分割技术的流程示意图。
如图8所示,在一些实施例中,基于视觉的显著性分割技术采用的深度学习网络,可以包括两个模块:预测模块801以及残差优化(Residual Refinement Module,RRM)模块802。其中,预测模块801可以为U-Net形状的编码-解码(Encoder-Decoder,En-De)模块,用于预测多视角RGB图像中的前景对象对应的显著性分割图初值,得到粗略分割图,RRM模块802用于学习显著性分割图初值与真值之间的残差,优化显著性分割图,得到精细分割图。
具体地,预测模块801可以包括输入层、编码层、解码层以及输出层。其中编码层可以对输入图像(例如图8中的图像811)通过卷积层进行编码,得到基本残差块,然后对基本残差块进行下采样,以对基本残差块进行降维,例如将形状为224×224×64的基本残差块经过下采样,可以得到形状为112×112×128,形状为112×112×128的基本残差块经过下采样,可以得到形状为56×56×256等。解码层可以对编码层输出的数据进行多个阶段的多层卷积、批量归一化以及通过激活等操作,并进行真值监督以减少过渡拟合,并在最后一层进行卷积、批量归一化、激活操作以及双线性插值,可以得到显著性分割初值(即图8中的粗略分割图812)。
RRM模块802可以通过学习显著性分割初值与真值之间的残差来细化显著性分割初值,得到精细分割图,RRM模块802可以输入层、编码层、解码层以及输出层。其中编码层通过多层卷积、批量归一化以及池化对显著性分割初值进行编码,解码层通过多个阶段的单层卷积、批量归一化、激活操作以及双线性插值等操作,并结合真值监督输出得到精细分割图(即图8中的精细分割图813)。
在另一些实施例中,前景分割还可采用其他种类的基于视觉的显著性分割技术的神经网络模型,或者基于谱残差法的显著性检测、基于全局对比度图像显著性检测、基于直方图对比度的显著性检测等进行前景分割技术得到前景对象,本申请对此不作限制。
可以理解,通过相机位姿计算可以生成拍摄多视角RGB图像时相机的位姿以及稀疏点云,稠密化重建可以根据相机位姿以及稀疏点云重建,生成稠密点云。相机位姿计算以及稠密化重建将在下文结合附图进行进一步介绍。
网格面片生成可以对重建的稠密点云,采用点云网格化技术得到具有连续表面的3D几何模型。
在一些实施例中,可以采用Possion算法、Delaunay算法、基于人工智能形变的Point2Mesh等方法,生成3D几何模型。
其中,在Possion算法中,稠密点云代表了待重建物体表面在三维空间中的位置,其法线信息(例如法向量)代表了内外的方向,也即点云的法线方向。Possion算法可以通过隐式地拟合一个由待重建物体派生的指示函数,给出一个平滑的3D几何模型表面的估计。
其中,Delaunay算法可以根据稠密点云的点作为顶点,形成满足Delaunay条件的网格面片。以点云三角化为例,Delaunay条件可以为所有三角面片的外接圆均满足空圆性质。空圆性质即一个三角形(或边)的外接圆范围内(边界除外),不包含稠密点云的其余三角面片中的任何顶点。
其中,基于人工智能形变的Point2Mesh,即通过对训练数据进行学习,优化卷积神经网络(CNN)的权重来使一些初始网格变形,以收缩包覆稠密点云。其中的初始网格可以为能够包围稠密点云的由多个网格片面组成的几何模型。
703:对3D几何模型进行UV展开,得到3D几何模型对应的UV贴图。
可以理解,对3D几何模型进UV展开为将由大量网格面片组成的3D几何模型映射到二维图像上的过程,其中U和V可以对应于展开后的二维图像的横纵坐标u、v,可以区别于3D几何模型的空间坐标x、y、z。
具体地,以采用点云三角化技术进行点云网格化,生成三角面片组成的3D几何模型为例,UV展开可以例如,将大量三角面片组成的3D几何模型的每个三角面片作为一个UV碎片,然后将所有的UV碎片排布在一张二维平面上,得到的图像即为3D几何模型的UV贴图(即图4中的UV贴图)。
UV展开还可以例如,在每个三角面片的至少一个可视视角对应的图像中,选择符合预设条件的一个视角的图像中的三角面片图像,并将所有在该视角下清晰且相邻的多个三角面片图像组合,作为一个UV碎片,然后将3D几何模型的所有的UV碎片排布在一张二维平面上,得到的图像即为3D几何模型的UV贴图。
在一些实施例中,UV碎片排布时,UV碎片之间尽可能紧凑,且排布形成的二维图像的图像分辨率为预设分辨率。其中的预设条件可以例如三角面片在该视角下对应的图像的分辨率满足预设分辨率阈值,预设分辨率预置可以根据待重建物体的几何体积、3D几何模型的体积等与图像清晰度相关的参数进行确定,本申请对此不作限制。其中预设分辨率可以为2n,即生成的二维图像的分辨率为2的n次幂,便于后文生成几何材质贴图的过程中,进行光栅化时对纹理采样进行快速取值,避免纹理出现非等比变形。下文中将结合附图对UV展开的过程进行进一步描述。
在另一些实施例中,UV碎片的生成还可以采用其他方式,本申请对此不作限制。
704:基于多视角RGB图像、3D几何模型以及UV贴图,生成UV空间的几何材质贴图和PBR材质贴图。
可以理解,几何材质贴图可以表征待重建物体表面的几何相关的信息,PBR材质贴图可以表征待重建物体表面的材质相关的信息,实现了对待重建物体表面几何和颜色的重建,得到的物体材质更接近真实世界的待重建物体。
具体地,步骤704可以包括:对3D几何模型进行几何重投影,并结合3D几何模型的UV贴图以及多视角RGB图像生成几何材质贴图和纹理贴图;对纹理贴图进行特征分析,生成PBR材质贴图。
可以理解,几何重投影为将3D几何模型的网格面片的纹理信息投影到相机坐标系下的二维图像上;结合UV贴图和多视角RGB图像生成几何材质贴图和纹理贴图包括:将几何重投影结果转换到UV贴图对应的UV空间,结合UV贴图中的像素点的坐标,得到法线贴图;以及将基于3D几何模型计算得到的多张表征对应视角的法线信息的法线图以及表征深度信息的深度图作为输入,采用卷积神经网络学习待重建物体的阴影信息,生成UV空间的环境遮蔽贴图;还可以结合多视角图像对3D几何模型进行纹理映射,得到表征物体颜色信息的纹理贴图。在一些实施例中,几何材质贴图还可以采用几何重投影外的其他方式生成,本申请对此不作限制。
可以理解,几何材质贴图表征了待重建物体纹理的材质,也可以称作纹理贴图(texture map),包括了待重建物体的阴影信息。
可以理解,PBR材质贴图可以为基于纹理贴图进行特征分析后生成得到,PBR材质贴图可以表征待重建物体表面是如何与光互相作用。其中的PBR可以理解为一种渲染方法,是基于物理渲染的过程,可以使得利用PBR材质贴图渲染得到的3D模型的图像更加自然真实。
在一些实施例中,几何材质贴图可以包括法线贴图和环境遮蔽贴图。在另一些实施例中,几何材质贴图还可以包括除了UV空间的法线贴图和环境遮蔽贴图之外其他贴图,还可以包括根据法线贴图和环境遮蔽贴图生成的其他材质贴图,本申请对此不作限制。
可以理解,法线贴图可以包含网格面片顶点的法线信息以及物体的像素级法线信息。法线贴图可以为UV空间的法线贴图,即法线贴图为UV坐标系下,表征3D几何模型中每个像素点的法线信息的材质贴图。
其中,网格面片的顶点的法线信息可以为网格化的3D几何模型中包含的法线信息,包括每个网格面片的顶点的法线信息。物体的像素级法线信息,可以利用各网格面片顶点的法线信息进行计算得到的各网格面片中的各像素点的法线信息。进而,法线贴图可以提升物体的3D模型的几何精细度和立体感。例如,对于采用点云三角化技术进行点云网格化生成的3D几何模型,生成的法线贴图中可以包含三角面片顶点的法线信息,以及为三角面片顶点的法线信息进行三角面片像素填充后每个像素的法线信息。其中,生成物体的像素级法线信息的过程可以采取几何重投影的方式进行,具体将在下文中进行进一步介绍。
可以理解,环境遮蔽贴图可以包括利用待重建物体的几何相关的信息,近似计算得到的模拟待重建物体的全局光照的结果,可以表现待重建物体由明到暗的过渡,环境遮蔽贴图可以为UV空间的环境遮蔽贴图。例如,环境遮蔽贴图中可以包括3D几何模型的UV贴图中每个UV碎片的每个像素点所接收到的环境光被周围几何体所遮蔽的百分比。
在一些实施例中,可以采用神经网络生成环境遮蔽贴图,例如采用CNN、RNN生成环境遮蔽贴图,还可以通过对基于3D几何模型计算得到的多张表征对应视角的法线信息的法线图以及表征深度信息的深度图进行特征提取生成环境遮蔽贴图等,本申请对此不作限制,下文将结合附图对采用CNN生成环境遮蔽贴图的过程进行进一步介绍,在此不作赘述。
在一些实施例中,环境遮蔽贴图可以叠加至漫反射贴图上,使得物体的3D模型的暗部更有细节,立体感更强。
在一些实施例中,PBR材质贴图可以包括漫反射贴图、镜面反射贴图和粗糙度贴图,并且漫反射贴图、镜面反射贴图和粗糙度贴图可以为UV空间的材质贴图。在另一些实施例中,PBR材质贴图还可以包括除了UV空间的漫反射贴图、镜面反射贴图和粗糙度贴图之外其他贴图,还可以包括根据漫反射贴图、镜面反射贴图和粗糙度贴图生成的其他材质贴图,本申请对此不作限制。
对纹理贴图进行特征分析,生成PBR材质贴图的方法具体可以为:
对输入的纹理贴图,分析计算UV坐标中每个像素点的反照率、法向图和球面光照系数,然后对反照率进行修正,使其与光照无关,以得到UV空间的漫反射贴图;
对输入的纹理贴图,分析提取UV坐标中每个像素点的多个图像特征,例如亮度特征和梯度特征,通过对图像特征进行线性拟合,得到UV空间的镜面反射贴图和粗糙度贴图。
可以理解,漫反射贴图可以包括3D几何模型的UV贴图中每个像素点的反射信息和表面的颜色信息,即包括3D几何模型的UV贴图中每个像素点的漫反射信息。在一些实施例中,漫反射贴图可以通过对输入的纹理贴图进行去光照估计后得到。例如,对于输入的纹理贴图,分析计算UV坐标中每个像素点的反照率、法向图和球面光照系数,然后对反照率进行修正,使其与光照无关,即可得到UV展开的漫反射贴图。下文将结合附图,对本申请实施例提供的一种漫反射贴图的生成方法进行进一步介绍,在此不做赘述。
可以理解,镜面反射贴图可以包括3D几何模型的UV贴图中每个像素点的光照以及镜面高光,即可以表现每个光线照射到对应像素点时,该像素点的镜面反射信息以及高光颜色信息。例如,对于不同材质的物体,其在光照下的反光程度(即反光的强弱)是不同的,镜面反射贴图可以体现出对应像素点在光照下的反光程度。其中反光程度可以例如将镜面反射贴图去色成为黑白图,图上越偏向RGB值为(0,0,0)的部分高光越弱,越偏向RGB值为(255,255,255)的部分高光越强,例如对于金属、塑料、木头来说,其反射的光的量是从大到小的,进而反光程度从强到弱依次为金属、塑料、木头。
在一些实施例中,镜面反射贴图可以通过对纹理贴图进行特征提取,得到表征3D几何模型的UV贴图的特征的亮度信息和梯度信息,进而增加权重对亮度信息和梯度信息进行特征拟合,可以得到镜面反射贴图。镜面反射贴图的生成过程可以在下文中进行具体介绍。
可以理解,粗糙度贴图可以描述3D几何模型的UV贴图的表面的不规则度,具体地,粗糙度贴图可以包括3D几何模型的UV贴图中每个像素点的粗糙度数值。例如,在生成的粗糙度贴图中,0(即黑色为0sRGB)表示光滑,1(即白为255sRGB)表示粗糙。在一些实施例中,对得到的粗糙度贴图进行反向还可以生成光泽度贴图。
在一些实施例中,粗糙度贴图与镜面反射贴图的生成方法相类似,即可以通过对纹理贴图进行特征提取,得到其表征3D几何模型的UV贴图特征的亮度信息和梯度信息,进而增加权重对亮度信息和梯度信息进行特征拟合,可以得到粗糙度贴图。粗糙度贴图的生成过程可以在下文中进行具体介绍。
在一些实施例中,生成镜面反射贴图和粗糙度贴图采用的权重可以是预先通过大量训练数据训练得到的,在实际应用过程中,可以根据生成的镜面反射贴图和粗糙度贴图对对应的权重进行误差优化,提高镜面反射贴图和粗糙度贴图的精确度。
在一些实施例中,在可视化显示3D模型时,可以通过UV空间的几何材质贴图和PBR材质贴图对3D几何模型进行渲染,可以得到任意视角下3D模型的二维图像。具体地,可以将生成的几何材质贴图和PBR材质贴图中的物体的颜色信息和纹理信息,赋予到任意视角下3D几何模型的二维图像中的对应像素点,得到包括物体表面颜色和纹理的3D模型的对应视角的二维图像。
本申请实施例提供的三维重建方法,可以基于自然光照下采集的物体的多视角图像进行模型重建,对硬件、拍摄环境、操作人员要求低;并且本申请实施例提供的三维重建方法,通过对多视角图像、3D几何模型以及3D几何模型的UV贴图进行分析,得到覆盖3D几何模型的几何材质贴图和PBR材质贴图,可以满足通用场景下物体的三维重建需求,并且由于材质贴图可以覆盖3D几何模型,因此,相比于一些方案中的单视角的平面贴图,渲染得到的3D模型的图像更加贴近真实世界中的物体,更加美观。
此外,在一些实施例中,可以通过对生成的纹理贴图进行特征分析,生成PBR材质贴图,而非采用神经网络,即PBR材质贴图是基于物体的材质分析生成得到的,不依赖于特定的神经网络以及对应的训练数据,可以得到更加精确的PBR材质贴图。
下面结合图9对本申请实施例中图7中步骤702提及的一种相机位姿计算方法进行进一步介绍。可以理解,下文中介绍的相机位姿计算方法仅为本申请实施例提供的一种举例,在另一些实施例中还可以采用其他方法进行相机位姿的计算。
图9所示为本申请实施例提供的一种相机位姿的计算方法的流程示意图。
可以理解,本身实施例中的相机位姿计算是通过对多视角RGB图像之间的特征点进行匹配,匹配对应于待重建物体同一位置(同一成像点)的特征点,来计算出相机在拍摄对应视角图像时的相对位姿。
如图9所示,该方法包括:
901:获取多视角RGB图像,并对多视角RGB图像进行特征提取。
具体地,对多视角RGB图像进行特征提取可以包括,对多视角RGB图像进行局部特征提取,可以确定出关键点,然后基于局部特征对关键点进行描述,得到关键点对应的描述子。
在一些实施例中,特征提取得到的特征点可以为尺度不变特征转换(ScaleInvariant Feature Transform,SIFT)特征点、检测-描述网络(detect-and-describeNet,D2Net)特征点、精确形状和位置特征(Accurate Shape and Localization Features,ASLFeat)特征点等。
可以理解,SIFT特征点可以通过在多视角RGB图像中提取对尺度缩放、旋转、亮度变化无关的特征向量,该特征向量对应的像素点作为关键点,并基于局部特征对该关键点进行描述。具体地,可以先对多视角RGB图像构建尺度空间,检测其中的极值点,获得尺度不变性,然后对极值点进行过滤,得到关键点的精确定位,然后基于旋转不变性以及亮度无关等,为关键点分配方向值,并基于局部特征生成描述关键点的描述子。
可以理解,D2Net特征点为用过卷积神经网络得到多视角RGB图像的特征图,然后同时计算多视角RGB图像的描述符,然后基于描述符和特征图检测特征点,检测到的特征点即为D2Net特征点。其中,检测特征点的条件可以为在局部有不同的描述符的像素点。
可以理解,ASLFeat特征点的提取方法是通过对D2Net特征点的提取方法进行进一步改进得到的,相比于D2Net特征点,关键点定位更加准确。具体地,通过可变形卷积网络(Deformable Convolutional Network,DCN)进行多视角RGB图像的特征提取,然后同时计算多视角RGB图像的描述符,然后利用DCN提取特征的固有层次性,进行基于多尺度检测机制检测关键点,将检测到的关键点和对应的描述子结合,得到ASLFeat特征点。
在另一些实施例中,特征点还可以为加速鲁棒特征(Speeded Up RobustFeatures,SURF)点、二进制鲁棒独立元素特征(Binary Robust Independent ElementFeature,BRIEF)点等,本申请对此不作限制。
902:对多视角RGB图像的特征提取结果进行特征匹配。
具体地,可以将对应于同一成像点的不同视角RGB图像中的特征点进行匹配,即根据图像中的尺度不变、旋转不变等特点,将两两RGB图像中的对应待重建物体同一位置的特征点相对应。
903:对特征提取结果进行增量式重建,确定相机位姿并生成稀疏点云。
可以理解,增量式重建可以标定相机位姿,可以用过多视角RGB图像的相机位姿,确定相机的移动,进而确定待重建物体的空间和几何的关系。
图10所示为本申请实施例提供的一种增量式重建方法的流程示意图。
如图10所示,在一些实施例中,增量式重建可以包括以下几个步骤:
1010:初始化。
如图10所示,在一些实施例中,初始化可以包括以下几个步骤:
1011:选择最佳初始对。即根据特征匹配的结果选择符合匹配条件的对应特征点。
1012:根据对极几何计算R、t。
可以理解,对极几何为在不同视角拍摄对应的特征点时,两个特征点构成的约束,可以表示为世界坐标系和相机坐标系进行转换时所需的基础矩阵或本质矩阵。其中R为旋转矩阵,t为平移矩阵。
具体地,在一些实施例中,获得初始对后,可以根据初始对求解出世界坐标系和相机坐标系进行转换的基础矩阵或本质矩阵,然后分解基础矩阵或本质矩阵,得到相机的位姿R和t,即相机外参,表征了世界坐标系与像极坐标系之间的转换关系。
1013:三角化初始3D点云R、t。可以理解,得到相机的位姿R、t之后,可以根据针孔相机模型的公式,估计特征点的三维空间坐标。其中,针孔相机模型的公式可以包括世界坐标系至相机坐标系的转换、相机坐标系至图像物理坐标系的转换、图像物理坐标系至像素坐标系的转换。
1020:图像注册。可以理解,图像注册即增加其余视角RGB图像中匹配于初始对的特征点,再次计算R、t,以得到相机位姿估计。
如图10所示,在一些实施例中,图像注册可以包括以下几个步骤:
1021:图像排序(可视点/不确定)。可以理解,图像排序,即对多视角RGB图像中,是否包含匹配于初始对的特征点对应的图像,以及对应的匹配程度进行排序。
1022:选择最好的下一帧。可以理解,根据排序结果,选择符合预设匹配度的视角的RGB图像作为下一个计算R、t的图像输入。
1023:PNP注册。
可以理解,PNP即透视N点估计(Perspective-n-Point,PnP),又称投影N点估计,是指通过世界中的N个特征点与RGB图像中对应的N个像素点计算其投影关系,从而获得相机位姿。
1030:三角化。可以理解为通过在两个视角观测初始对的夹角,进而确定该点的距离,即该点的深度,得到该点的z坐标。
如图10所示,在一些实施例中,三角化可以包括以下几个步骤:
1031:模型选择条件。选择对应的视角的特征点,以及根据步骤1010和1020计算出的相机位姿R、t。
1032:随机抽样一致(Random SAmple Consensus,RANSAC)。
可以理解,通过RANSAC可以从包括局内点(初始对)和局外点(图像注册中得到的匹配于初始对的新的特征点)的数据集中,通过迭代的方法估计出相机的位姿R、t。
1033:递归(Recursive)三角测量。
可以理解,递归(Recursive)三角测量,即通过递归分布估计算法三角化,计算特征点的深度信息,得到特征点在三维坐标系中的z坐标。
1040:捆绑调整。
可以理解,捆绑调整为对三维空间坐标和相机参数进行非线性优化。在进行优化时,可以根据计算得到的特征点的三维空间坐标投影到对应的多视角RGB图像上,得到特征点的图像坐标,然后计算得到的图像坐标与图像上对应的特征点的坐标之间的重投影误差,然后最小化重投影误差,得到优化后的三维空间坐标和相机参数。
如图10所示,在一些实施例中,捆绑调整可以包括以下几个步骤:
1041:参数化设置。具体地,可以设置三维空间坐标和相机参数为待优化参数。
1042:异常数据滤波。具体地,可以对上述步骤1010、1020、1030的计算结果中,明显偏离计算结果的数据进行滤波处理。
1043:重新三角化。具体地,根据滤波结果,对特征点重新进行三角测量。
1044:迭代优化。具体地,可以重复计算重投影误差,最小化重投影误差,直到重投影误差满足预设的误差阈值,即完成对三维空间坐标和相机参数的非线性优化。
在一些实施例中,可以根据步骤1010至步骤1040输出的三维空间坐标和相机参数,生成稀疏点云,用于下文的稠密化重建。
下面结合图11,对本申请实施例图7中的步骤702中提及的一种稠密化重建方法进行进一步介绍。可以理解,下文中介绍的稠密化重建方法仅为本申请实施例提供的一种举例,在另一些实施例中还可以采用其他方法进行稠密化重建,本申请对此不作限制。
图11所示为本申请实施例提供的一种稠密化重建方法的流程示意图。
可以理解,稠密化重建即多视角立体几何技术(Multiview Stereo),可以通过多视角RGB图像以及相机位姿完成立体匹配,进而完成稠密点云估计。
如图11所示,该方法通过获取相机位姿计算得到的稀疏点云1101以及共视关系1102、图像序列1103和图像位子1104依次通过以下几个步骤(a)预处理、(b)视图选择、(c)深度估计、(d)深度滤波和(e)深度估计,输出最终的稠密点云1113。其中,共视关系1102可以表示可以具有相同特征点的RGB图像以及对应共有的特征点。图像位姿1104可以表示相机在拍摄对应视角RGB图像时的相机位姿。图像序列1103可以为根据多视角RGB图像对应的相机位姿,以预设的相机运动轨迹对多视角RGB图像进行排序,得到图像序列1103。
具体地,(a)预处理可以包括:根据输入的稀疏点云1101和共视关系1102进行图像处理,得到稀疏点云1101的深度范围信息。
(b)视图选择可以包括:选择一帧图像帧(即单视角RGB图像)作为当前帧,然后根据稀疏点云1101、共视关系1102以及图像位姿1104,选择与当前关联的相邻图像帧。
(c)深度估计可以包括:针对当前帧,利用与相邻图像帧的光度一致性关系,逐像素地估计像素点的深度值,输出原始深度图1111。其中,光度一致性可以为当前帧和相邻图像帧的同一像素点的光度(在本实施例中表征为灰度值)几乎不会有变化。其中,原始深度图1111中的每个像素点的值为深度值。深度值可以理解为对应的像素点在三维坐标系中距离z轴的距离。
(d)深度滤波可以包括:根据图像位姿1104,对原始深度图1111中像素点的深度值进行筛选,去掉低置信度或无效的像素点,输出最终深度图1112。
(e)深度估计,即深度融合,可以包括:根据图像序列1103和图像位姿1104,将最终深度图1112生成稠密点云1113。
下面将结合图12和图13,以三角面片组成的3D几何模型为例,对本申请实施例图7中的步骤703提及的一种UV展开方法进行进一步介绍。
图12所示为本申请实施例提供的一种UV展开方法的流程示意图。
图13所示为本申请实施例提供的一种进行UV展开前后的3D几何模型的示意图。
如图12所示,该方法包括:
1210:碰撞检测。
具体地,对于输入的3D几何模型1201(例如图13中的a所示)可以确定模型中的每个三角面片对应于多视角RGB图像1202的哪些视角,以及相机在拍摄该视角的RGB图像时的相机位姿,进而确定出每个三角面片对于所有多视角RGB图像1202(即图像帧)的可视结果,通过预设的数字或字母等进行表示。其中,可视结果可以整合成共视关系1203表征。
在一些实施例中,在进行碰撞检测时,为了提高检测效率,可以对三角面片进行划分。具体地,可以通过轴对齐包围盒(Axis Aligned Bounding Box,AABB包围盒)的层级二叉树数据结构,对三角面片进行层次划分。其中,AABB包围盒可以理解为能够包围三角面片的且与坐标轴平行的最小长方体。坐标轴平行不仅指AABB包围盒与世界坐标轴平行,同时也指AABB包围盒的每个面都和一条坐标轴垂直。其中的二叉树可以理解为又AABB包围盒节点构成的二叉树,树的每个结点都是一个包围盒,且结点的包围盒包裹了所有子结点的包围盒。其中,对三角面片进行层次划分,可以例如先计算每个三角面片的AABB包围盒,然后根据不同AABB包围盒的空间分布特性,对网格面片进行划分。
1220:面片标记。
具体地,基于共视关系1203,可以在包括同一个三角面片的可视图像帧中,选择满足预设条件的图像帧作为该三角面片的可视帧,并将可视帧对应的图像标签作为三角面片的面片标签。在一些实施例中,图像标签可以是根据以预设的相机运动轨迹以及各图像帧对应的相机位姿,对图像帧进行排序后,图像帧对应的序号。在另一些实施例中,图像标签还可以为其他方式生成的标签,本申请对此不作限制。
在一些实施例中,面片标记可以为,根据共视关系1203以及3D几何模型1201的拓扑结构,采用图像切割的方法,根据预设规则对3D几何模型1201上的每个三角面片进行标记,确定三角面片的可视帧。其中预设规则可以为,选择的图像帧在三角面片位置是相对清晰的;拓扑结构上相邻的三角面片的面片标签尽可能相同,以使得保证图像切割后没有太多小碎片。
1230:UV图合成。
具体地,根据面片标签1204以及3D几何模型1201中对应的三角面片,将拓扑相邻且面片标签1204相同的三角面片组合,作为一个UV碎片,然后将多个UV碎片拼合排布到二维平面,使得UV碎片之间尽可能紧凑,且排布形成的二维图像(即3D几何模型的UV贴图1205,例如图13中的b所示)的图像分辨率为预设分辨率。其中预设分辨率可以为2n,即生成的二维图像的分辨率为2的n次幂,便于后文生成几何材质贴图的过程中,进行光栅化时对纹理采样进行快速取值,避免纹理出现非等比变形,并且预设分辨率可以为2n,可以使得UV展开后的3D几何模型的UV贴图1205达到最高的压缩率。
下面将结合图14,以三角面片组成的3D几何模型为例,对本申请实施例图7中的步骤704中提及的一种法线贴图的生成方法进行进一步介绍。
图14所示为本申请实施例提供的一种法线贴图的生成方法的流程示意图。
如图14所示,该方法包括:
1401:软光栅化。
可以理解,软光栅化即软件光栅化,通过CPU控制实现,可以将3D几何模型的法线投影到二维平面上(即几何重投影)。
具体地,可以利用图12中的碰撞检测生成的共视关系1202,确定图像帧中可视的三角面片,并结合图像帧对应的相机位姿,将可视的三角面片的法线投影到图像帧上,生成相机空间坐标系下,三角面片的顶点级法线图。
1402:切空间转换。
可以理解,切空间即3D几何模型进行UV展开后,得到的3D几何模型的UV贴图对应的UV平面坐标系以及法向量组成的UV空间坐标系(包括tangent轴、bitangent轴和法线轴,基向量为T(对应于tangent轴)、B(对应于bitangent轴)、N(对应于法线轴))。其中,UV空间坐标系的tangent轴和bitangent轴分别位于三角面片所在平面,法线轴垂直于三角面片所在平面。
切空间转换即将步骤1401生成的法线图,由相机空间坐标系转换为UV空间坐标系,进而可以得到UV空间坐标系下的法线图。
步骤1402的具体过程如下:
假设三角面片包括三个顶点:顶点V1、顶点V2、顶点V3。
其中的,顶点V1的UV空间坐标为uv1(u1,v1),三维空间坐标为pos1(x1,y1,z1),顶点V2的UV空间坐标为uv2(u2,v2),三维空间坐标为pos2(x2,y2,z2),顶点V3的UV空间坐标为uv3(u3,v3),三维空间坐标为pos3(x3,y3,z3)。UV空间坐标系中顶点V1至顶点V2可以构成一个二维向量,表示为uv21=(u2-u1,v2-v1),三维空间坐标系中顶点V1至顶点V2可以构成一个三维向量,表示为pos21=(x2-x1,y2-y1,z2-z1)。则:
pos2-pos1=dp/du*(u2-u1)+dp/dv*(v2-v1) 公式(1)
pos3-pos1=dp/du*(u3-u1)+dp/dv*(v3-v1) 公式(2)
假设切空间(即UV空间坐标系)由T、B、N三个基向量组成,其中,T=dp/du,B=dp/dv,N=T×B,“×”表示叉乘。
在根据上述公式(1)和公式(2)求出T、B、N后,可以将相机坐标系下三角面片的顶点级法线图中的法线信息(即法向量)转到UV空间坐标系下,得到UV空间坐标系下的法线图。
1403:三角面片像素填充。
可以理解,三角面片像素填充,可以基于UV空间坐标系下的法线图,计算三角面片每个像素点的法线信息,再UV展开得到的三角面片的顶点的UV坐标,得到UV空间的法线贴图。
在一些实施例中,可以采用重心坐标插值法,计算三角面片每个像素点的法线信息。具体地,对于待插值的像素点,利用重心坐标计算公式计算待插值的像素点的重心坐标,然后以该重心坐标为权重,代入三角面片的顶点的法线信息,计算出待插值的像素点的法线信息,进而可以得到三角面片每个像素点的法线信息,生成UV空间的法线贴图。
下面将结合图15a和图15b,对本申请实施例图7中的步骤704中提及的采用CNN生成环境遮蔽贴图的过程进行进一步介绍。
图15a所示为本申请实施例提供的一种环境遮蔽贴图的生成过程示意图。
图15b所示为本申请实施例提供的一种CNN结构示意图。
如图15a所示,环境遮蔽贴图的生成过程包括如下步骤:
a.将基于3D几何模型计算得到的多张表征对应视角的法线信息的法线图以及表征深度信息的深度图作为环境遮蔽贴图的生成过程的输入数据1510,并对其进行数据预处理。
在一些实施例中,步骤a具体可以包括将稠密化重建过程中生成的深度图1511(例如图11中的最终深度图1112)以及每个图像帧的法线图1512(例如图14中步骤1生成的相机空间坐标系下,各图像帧中的三角面片的像素级法线图)作为环境遮蔽贴图的生成过程的输入数据1510,对其进行数据预处理。其中的预处理可以例如数据滤波、特征提取等。
b.将数据预处理后的数据输入推理网络1520(例如CNN)中,经过推理网络1520的推理,得到输出结果1530,即各图像帧的环境遮蔽图1531。
c.基于生成的各图像帧的环境遮蔽图以及3D几何模型的UV展开方式,生成UV空间的环境遮蔽贴图。
如图15b所示,在一些实施例中,推理网络1520为CNN 1520,CNN 1520可以包括输入层1540,卷积层/池化层1550,其中
池化层为可选的,以及神经网络层1560。
卷积层/池化层1550:
卷积层:
如图15b所示卷积层/池化层1550可以包括如示例1551-1556层,在一种实现中,1551层为卷积层,1552层为池化层,1553层为卷积层,1554层为池化层,1555为卷积层,1556为池化层;在另一种实现方式中,1551、1552为卷积层,1553为池化层,1554、1555为卷积层,1556为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层1551为例,卷积层1551可以包括很多个卷积算子,卷积算子也称为核,其在环境遮蔽图的生成过程中的作用相当于一个从输入数据中提取环境遮蔽信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入数据像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取环境遮蔽信息的工作。
当CNN 1520有多个卷积层的时候,初始的卷积层(例如1551)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着CNN 1520深度的加深,越往后的卷积层(例如1556)提取到的特征越来越复杂。为方便描述网络结构,可以将多个卷积层称为一个块(block)。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图15b中1550所示例的1551-1556各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在环境遮蔽图的生成过程中,池化层的唯一目的就是减少环境遮蔽图的空间大小。
神经网络层1560:
在经过卷积层/池化层1550的处理后,CNN 1520还不足以输出所需要的输出结果。因此,在神经网络层1560中可以包括多层隐含层(如图15b所示的1561、1562至156n)以及输出层1570,该多层隐含层中所包含的参数可以根据环境遮蔽图生成的相关训练数据进行预先训练得到。
在神经网络层1560中的多层隐含层之后,也就是整个CNN 1520的最后层为输出层1570。
需要说明的是,如图15b所示的CNN 1520仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,本申请对此不作限制。
下面将结合图16和图17,对本申请实施例图7中的步骤704提及的一种基于纹理贴图生成PBR材质的生成过程进行进一步详细介绍。
图16所示为本申请实施例提供的一种PBR材质的生成过程示意图。
图17所示为本申请实施例提供的一种漫反射贴图的生成过程示意图。
如图16所示,本申请实施例中提供的PBR材质的生成过程包括:
1601:获取3D几何模型的纹理贴图。
可以理解,纹理贴图为通过纹理映射,生成的UV空间(即纹理空间)下的表征待重建物体表面颜色信息的纹理贴图。其中,纹理贴图为RGB图像。
1602:对纹理贴图进行去光照估计,生成漫反射贴图。
可以理解,纹理贴图为包含颜色信息的RGB图像,漫反射贴图需要包括待重建物体的与光照无关的漫反射信息,因此对纹理贴图进行去光照估计,可以得到UV空间下的漫反射贴图。
如图17所示,在一些实施例中,生成漫反射贴图的过程包括以下步骤:
1710:单帧渲染图片输入。
课可以理解,单帧渲染图片为前文中生成的RGB纹理贴图,可以包括待重建物体的高光信息和阴影信息。
1720:下采样。
可以理解,下采样即对纹理贴图进行降维处理,下采样后可以得到降维后的纹理贴图,降维后的纹理贴图可以采用神经网络模型进行特征分解,即下述步骤1730。
1730:卷积神经网络分解。
在一些实施例中,卷积神经网络可以例如图15b中所示的网络结构,进而在对应的神经网络层中可以对降维后的纹理贴图中的反照率、法向图、球面光照系数进行分解,得到例如图17中所示的球面光照系数1731、反照率1732、法向图1733。
可以理解,反照率可以表征待重建物体对于光的反射强度,反照率为待重建物体表面在自然光照下被照明的部分向各个方向散射的光流与入射到待重建物体表面的光流之比;法向(法线方向)图可以表征待重建物体表面各像素点的法线信息,可以通过法线贴图分解得到。光源可以表示为光源方向和光源强度的组合,将光源方向单位化就可以认为光源是定义在单位球面上的函数,定义在单位球面的函数可以逼近光照,根据对应的函数以及待求的像素点的光照可以得到球面光照系数。
在一些实施例中,还可以采用其他种类的神经网络对降维后的纹理贴图进行特征分解,本申请对此不作限制。
1740:初始化光照系数。
可以理解,根据卷积神经网络分解得到的球面光照系数(例如图17中的球面光照系数1731)可以求得初始光照系数,此过程即初始化光照系数。
1750:更新反照率。
可以理解,根据卷积神经网络分解得到的反照率(例如图17中的反照率1732)可以对反照率进行更新,使得材质贴图与光照无关,此过程即更新反照率。
1760:上采样至原始分辨率。
可以理解,由于在进行卷积神经网络分解时,是对降维后的纹理贴图进行分解,因此为了输出与纹理贴图匹配的UV空间的漫反射贴图,因此需要结合更新反照率后的材质贴图、法向图以及纹理贴图,进行上采样升维至原始分辨率。
1770:输出漫反射贴图。
可以理解,漫反射贴图为UV空间下的材质贴图。
继续参考图16,PBR材质的生成过程还包括以下步骤:
1603:提取纹理贴图的图像特征,得到对应的亮度特征图和梯度特征图。
可以理解,步骤1603中,可以对原纹理贴图以及降维后的纹理贴图进行图像特征提取,可以包括图像亮度信息的提取和图像梯度信息的提取,进而得到待重建物体的亮度特征图和梯度特征图。
在一些实施例中,对于亮度信息的提取可以例如,对于RGB纹理贴图进行降维处理,可以得到待重建物体的灰度图,然后通过对灰度图和RGB单通道纹理贴图的对比度以及亮度的调整,得到表征亮度信息的亮度特征图。
在一些实施例中,对于梯度信息的提取可以例如,将提取到的亮度特征图进行gamma校正,并通过低通滤波得到降噪后的模糊图像(blur Image)。然后基于模糊图像分别对X方向和Y方向进行卷积求梯度信息,并以相同的权重将X方向和Y方向的梯度信息联合起来,可以得到表征梯度信息的梯度特征图。
1604:对亮度特征图和梯度特征图进行分析拟合,生成镜面反射贴图和粗糙度贴图。
在一些实施例中,对于亮度特征图和梯度特征图的分析拟合,具体为将得到的亮度特征图和梯度特征图中的亮度特征向量和梯度特征向量作为特征基向量(特征基),通过预先训练好的特征基的镜面反射权重和粗糙度权重对特征基进行线性拟合,得到镜面反射信息和粗糙度信息的计算函数,进而基于计算函数以及纹理贴图进行推算,可以得到UV空间的镜面反射贴图和粗糙度贴图。
在一些实施例中,特征基的权重(包括镜面反射权重和粗糙度权重)随机初始化后,可以基于联合训练数据集中的训练数据计算的图像相似性,采用主成分分析法(Principal Component Analysis,PCA)对权重进行优化,得到上述对特征基进行线性拟合的权重参数。
可以理解,PCA为一种应用比较广泛的数据降维算法。可以只保留纹理贴图中包含的绝大部分维度特征,忽略几乎为0的特征维度,实现对数据特征的降维处理。RGB纹理贴图的特征有多组:灰度图亮度特征、RGB图亮度特征、R通道亮度特征、G通道图亮度特征、灰度图梯度特征、R通道梯度特征等,通过PCA可以选择对结果影响达到95%的前n维特征作为特征基,并拟合对应的权重。
在一些实施例中,在上述PCA生成的权重的过程中,可以通过计算训练数据中的材质贴图与通过上述特征拟合的方法生成的材质贴图的图像相似性,得到相似性误差,并根据相似性误差优化特征基的权重。
具体地,在训练权重时,可以将艺术家手工制作的UV空间的材质贴图数据集作为训练数据(GT数据),每组材质贴图数据可以包括网格化3D几何模型、各个视角的渲染图、各个视角下的材质图(例如包括漫反射图、镜面反射图、粗糙度图等)。GT数据选择时需要包括不同材质类型,如针织、帆布、塑料、橡胶、木材、石膏等,尽可能包含通用场景下日常可见到的材质种类。基于训练数据集,采用步骤1604中的方法生成UV空间的镜面反射贴图和粗糙度贴图作为待对比材质贴图,并计算GT数据中的GT材质贴图与待对比材质贴图的图像相似性,得到相似性误差。其中,GT材质贴图是对应的计算机动画(Computer Graphics,CG)材质根据前文中3D几何模型的UV展开方式,进行UV展开得到的UV空间的材质贴图。
在另一些实施例中,还可以采用PCA外的其他算法训练特征基的权重参数,本申请对此不作限制。
在一些实施例中,可以采用结构相似性(Structural Similarity,SSIM)算法计算GT材质贴图与待对比材质贴图的图像相似性。其中,SSIM算法是用来衡量两个图像的相似度的指标。
例如以图像x,y的相似性计算为例,可以把图像x,y的相似性按三个维度进行比较:亮度l(x,y),对比度c(x,y)和结构s(x,y)。最终x和y的相似度为这三者的函数:SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ。其中:
亮度:l(x,y)=(2μxμy+c1)/(μx 2+μy 2+c1) 公式(3)
对比度:c(x,y)=(2σxy+c2)/(σx 2+σy 2+c2) 公式(4)
结构:s(x,y)=(σxy+c3)/(σxσy+c3) 公式(5)
其中,μx和μy分别代表x,y的平均值,σx和σy分别代表x,y的标准差,σxy代表x和y的协方差。c1、c2、c3、α、β、γ分别为常数,且c3=c2/2,一般设定α=β=γ=1。SSIM可以表示一个0到1之间的数,数值越大表示输出图像和无失真图像的差距越小,即图像质量越好。当两幅图像一模一样时,SSIM=1。
在另一些实施例中,还可以采用SSIM算法外的其他算法计算图像相似性,本申请对此不做限制。
在一些实施例中,根据SSIM算法计算得到GT材质贴图与待对比材质贴图的图像相似性(SSIM值)后,可以根据SSIM值为每组数据(GT材质贴图与待对比材质贴图)打标签,作为PCA训练特征基的权重的输入。
下面结合图18对本申请实施例中提供的一种材质生成方法进行进一步介绍。
图18所示为本申请实施例提供的一种材质生成方法的流程示意图。
如图18所示,该方法包括:
1801:获取采集的多视角RGB图像。可以理解,步骤1801与图7中的步骤701相似,在此不作赘述。
1802:进行3D几何重建。可以理解,步骤1802与图7中的步骤702相似,在此不作赘述。
1803:UV展开。可以理解,步骤1803与图7中的步骤703相似,在此不作赘述。
1804:几何重投影。
1805:纹理贴图和几何材质贴图生成。可以理解,步骤1804和步骤1805中生成的纹理贴图1820和几何材质贴图1810即图7中的步骤704生成的纹理贴图和几何材质贴图,步骤1804和步骤1805生成得到几何材质贴图1810可以包括法线贴图1811和环境遮蔽贴图1812,具体生成过程与图7中的步骤704的生成过程类似,在此不作赘述。
1806:PBR材质生成。可以理解,步骤1806中生成的PBR材质贴图1830即图7中的步骤704生成的PBR材质贴图,步骤1806生成得到PBR材质贴图1830可以包括漫反射贴图1831、镜面反射贴图1832和粗糙度贴图1833,具体生成过程与图7中的步骤704的生成过程类似,在此不作赘述。
图19所示为本申请实施例提供的一种三维重建装置1900,可以用于运行本申请实施例提供的三维重建方法对应的指令,例如执行前述步骤701至704对应的指令。
如图19所示,三维重建装置1900包括:
数据获取模块1901,用于获取第一物体在自然光照下的多视角图像,其中,多视角图像为在多个不同视角拍摄的第一物体的多张图像;
三维几何重建模型1902,用于基于多视角图像进行三维几何重建,得到第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;
UV展开模块1903,用于对第一模型进行UV展开,得到第一模型的UV贴图,其中,UV贴图为第一模型在UV空间下的二维展开结果;
材质重建模块1904,用于基于多视角图像、第一模型和UV贴图,生成第一模型的UV空间的几何材质贴图和PBR材质贴图。
在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。
本申请公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。
另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请公开旨在说明而非限制本文所讨论的概念的范围。
Claims (17)
1.一种三维重建方法,应用于电子设备,其特征在于,包括:
获取第一物体在自然光照下的多视角图像,其中,所述多视角图像为在多个不同视角拍摄的所述第一物体的多张图像;
基于所述多视角图像进行三维几何重建,得到所述第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;
对所述第一模型进行UV展开,得到所述第一模型的UV贴图,其中,所述UV贴图为所述第一模型在UV空间下的二维展开结果;
基于所述多视角图像、所述第一模型和所述UV贴图,生成所述第一模型的UV空间的几何材质贴图和PBR材质贴图。
2.根据权利要求1所述的三维重建方法,其特征在于,所述对所述多视角图像、所述第一模型和所述UV贴图进行分析处理,生成所述第一模型的UV空间的几何材质贴图和PBR材质贴图,包括:
基于所述多视角图像、所述第一模型和所述UV贴图,生成所述第一模型的UV空间的纹理贴图和所述几何材质贴图;
对所述纹理贴图进行特征分析,生成所述PBR材质贴图。
3.根据权利要求2所述的三维重建方法,其特征在于,所述基于所述多视角图像、所述第一模型和所述UV贴图,生成所述第一模型的UV空间的纹理贴图和所述几何材质贴图,包括:
对所述第一模型进行重投影,并结合所述UV贴图,生成所述几何材质贴图;
基于所述多视角图像,对所述第一模型进行纹理映射,并结合所述第一模型的UV展开方式,生成所述纹理贴图,其中,所述UV展开方式是所述第一模型进行UV展开后得到所述UV贴图的映射关系。
4.根据权利要求3所述的三维重建方法,其特征在于,所述几何材质贴图包括法线贴图和环境遮蔽贴图。
5.根据权利要求4所述的三维重建方法,其特征在于,所述第一模型是网格表示的三维几何模型;
所述对所述第一模型进行重投影,并结合所述UV贴图,生成所述几何材质贴图,包括:
将所述三维空间坐标系下的所述第一模型中的网格顶点的法线信息投影到相机坐标系下,得到所述第一模型的多个视角的第一法线图;
将所述多个视角的第一法线图转换至所述UV空间下,得到所述第一模型的第二法线图;
对所述第二法线图进行像素填充,并结合所述第一模型的所述UV展开方式,生成所述第一模型在所述UV空间下的所述法线贴图。
6.根据权利要求4所述的三维重建方法,其特征在于,所述对所述第一模型进行重投影,并结合所述UV贴图,生成所述几何材质贴图,包括:
获取所述第一模型中对应所述多视角图像的各视角的深度信息以及法线信息作为输入数据;
将所述输入数据输入神经网络模型进行推理,得到所述第一模型的多张表征所述第一物体的几何相关的阴影信息的环境遮蔽图;
根据所述第一模型的所述UV展开方式以及所述多张环境遮蔽图,生成所述第一模型在所述UV空间下的所述环境遮蔽贴图。
7.根据权利要求3所述的三维重建方法,其特征在于,所述PBR材质贴图包括漫反射贴图、粗糙度贴图和镜面反射贴图。
8.根据权利要求7所述的三维重建方法,其特征在于,所述对所述纹理贴图进行特征分析,生成所述PBR材质贴图,包括:
对所述纹理贴图进行光照估计,得到所述第一物体的反照率、球面光照系数和法线图;
根据所述反照率、所述球面光照系数和所述法线图,对所述纹理贴图进行去光照估计,得到所述第一模型在所述UV空间下的所述漫反射贴图。
9.根据权利要求7所述的三维重建方法,其特征在于,所述对所述纹理贴图进行特征分析,生成所述PBR材质贴图,包括:
对所述纹理贴图进行特征提取,得到所述第一物体的亮度特征信息和梯度特征信息;
对所述亮度特征信息和所述梯度特征信息进行分析拟合,生成所述第一模型在所述UV空间下的所述镜面反射贴图和所述粗糙度贴图。
10.根据权利要求9所述的三维重建方法,其特征在于,所述对所述亮度特征信息和所述梯度特征信息进行分析拟合,生成所述第一模型在所述UV空间下的所述镜面反射贴图和所述粗糙度贴图,包括:
利用预先训练好的镜面反射权重,对所述亮度特征信息和所述梯度特征信息进行线性拟合,得到所述镜面反射贴图;
利用预先训练好的粗糙度权重,对所述亮度特征信息和所述梯度特征信息进行线性拟合,得到所述粗糙度贴图。
11.根据权利要求10所述的三维重建方法,其特征在于,所述镜面反射权重和所述粗糙度权重是通过采用主成分分析法训练得到的。
12.根据权利要求11所述的三维重建方法,其特征在于,还包括:
基于所述几何材质贴图、所述PBR材质贴图对所述第一模型进行渲染,生成目标视角下的所述第一模型的目标图像。
13.根据权利要求12所述的三维重建方法,其特征在于,所述目标视角包括所述多视角图像对应的各个视角,所述方法还包括:
计算个视角的所述目标图像与所述多视角图像的图像相似性;
根据所述图像相似性优化所述镜面反射权重和所述粗糙度权重。
14.一种三维重建装置,其特征在于,包括:
数据获取模块,用于获取第一物体在自然光照下的多视角图像,其中,所述多视角图像为在多个不同视角拍摄的所述第一物体的多张图像;
三维几何重建模型,用于基于所述多视角图像进行三维几何重建,得到所述第一物体在三维空间坐标系下的以三维几何模型方式呈现的第一模型;
UV展开模块,用于对所述第一模型进行UV展开,得到所述第一模型的UV贴图,其中,所述UV贴图为所述第一模型在UV空间下的二维展开结果;
材质重建模块,用于基于所述多视角图像、所述第一模型和所述UV贴图,生成所述第一模型的UV空间的几何材质贴图和PBR材质贴图。
15.一种电子设备,其特征在于,包括:一个或多个处理器;一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至13中任一项所述的三维重建方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1至13中任一项所述的三维重建方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,该指令在执行时使计算机执行权利要求1至13中任一项所述的三维重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932896.1A CN117557714A (zh) | 2022-08-04 | 2022-08-04 | 三维重建方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932896.1A CN117557714A (zh) | 2022-08-04 | 2022-08-04 | 三维重建方法、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117557714A true CN117557714A (zh) | 2024-02-13 |
Family
ID=89815233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210932896.1A Pending CN117557714A (zh) | 2022-08-04 | 2022-08-04 | 三维重建方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117557714A (zh) |
-
2022
- 2022-08-04 CN CN202210932896.1A patent/CN117557714A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288857B2 (en) | Neural rerendering from 3D models | |
US10679046B1 (en) | Machine learning systems and methods of estimating body shape from images | |
CN111598998B (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
WO2019035155A1 (ja) | 画像処理システム、画像処理方法、及びプログラム | |
JP2023549821A (ja) | 変形可能なニューラル放射輝度場 | |
KR20210013150A (ko) | 조명 추정 | |
US11663775B2 (en) | Generating physically-based material maps | |
EP4036790A1 (en) | Image display method and device | |
US11928778B2 (en) | Method for human body model reconstruction and reconstruction system | |
CN113628348A (zh) | 一种确定三维场景中视点路径的方法及设备 | |
KR20220117324A (ko) | 다양한 초상화들로부터 학습 조명 | |
Wei et al. | Object-based illumination estimation with rendering-aware neural networks | |
Kang et al. | Competitive learning of facial fitting and synthesis using uv energy | |
US11961266B2 (en) | Multiview neural human prediction using implicit differentiable renderer for facial expression, body pose shape and clothes performance capture | |
CN116958492A (zh) | 一种基于NeRf重建三维底座场景渲染的VR编辑应用 | |
WO2022208440A1 (en) | Multiview neural human prediction using implicit differentiable renderer for facial expression, body pose shape and clothes performance capture | |
Lichy et al. | Fast light-weight near-field photometric stereo | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
CN113989434A (zh) | 一种人体三维重建方法及设备 | |
CN115039137A (zh) | 基于亮度估计渲染虚拟对象的方法、用于训练神经网络的方法以及相关产品 | |
Mittal | Neural Radiance Fields: Past, Present, and Future | |
Freer et al. | Novel-view synthesis of human tourist photos | |
CN116385619A (zh) | 对象模型渲染方法、装置、计算机设备和存储介质 | |
Bonaventura et al. | Information measures for terrain visualization | |
CN117557714A (zh) | 三维重建方法、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |