CN116091711B - 一种三维重建方法及电子设备 - Google Patents
一种三维重建方法及电子设备 Download PDFInfo
- Publication number
- CN116091711B CN116091711B CN202310382315.6A CN202310382315A CN116091711B CN 116091711 B CN116091711 B CN 116091711B CN 202310382315 A CN202310382315 A CN 202310382315A CN 116091711 B CN116091711 B CN 116091711B
- Authority
- CN
- China
- Prior art keywords
- image
- images
- cluster
- dimensional
- view
- 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.)
- Active
Links
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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2024—Style variation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种三维重建方法及电子设备,涉及电子技术领域,用于避免三维重建中根据多视角图像得到被摄场景的三维模型,与真实场景之间也会存在一定的差别。具体方案为:获取被摄场景的多个第一图像;多个第一图像的拍摄位姿不同;根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度;根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像;根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像;根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种三维重建方法及电子设备。
背景技术
随着电子技术的发展,三维重建技术已经得到了广泛应用。三维重建,可以包括获取多视角图像、特征点检测、特征点匹配、重建等步骤,从而建立表达被摄场景的三维模型,以此来满足生产和生活的需要。
然而,三维重建中用到的多视角图像可能会受环境因素(如天气、光照、季节等)的影响,使得多视角图像中的被摄场景与真实场景之间存在一定差别。这就会导致三维重建中根据多视角图像得到被摄场景的三维模型,与真实场景之间也会存在一定的差别。
发明内容
本申请实施例提供一种三维重建方法及电子设备,用于避免三维重建中根据多视角图像得到被摄场景的三维模型,与真实场景之间也会存在一定的差别。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种三维重建方法,应用于电子设备,该三维重建方法可以包括:获取被摄场景的多个第一图像;多个第一图像的拍摄位姿不同;根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度;根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像;根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像;根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
基于第一方面所述的方法,电子设备可以将被摄场景的多视角图像(即多个第一图像)划分为视角相近的多个图像簇,并确定每个图像簇对应的去除环境影响后的平均图像,从而可以将被摄场景的多视角图像风格迁移到平均图像上,得到的风格迁移后的多视角图像能够去除环境的影响。之后,根据风格迁移后的多视角图像,确定出的被摄场景的三维模型也能够去除环境的影响。即本申请的方案通过将被摄场景的多视角图像进行风格迁移,能够得到去除环境影响的多视角图像,从而能够避免根据多视角图像得到被摄场景的三维模型,与真实场景之间存在差别。
结合第一方面,在另一种可能的实现方式中,上述根据多个第一图像,确定多个图像簇,可以包括:根据多个第一图像,确定各第一图像的图像特征点;根据各第一图像的图像特征点,确定多个图像簇;图像簇中任意两个第一图像的相同图像特征点的数量大于第一数量阈值。
基于该可能的实现方式,电子设备可以根据各第一图像的图像特征点,将多个第一图像划分为多个图像簇,从而能够使每个图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度,即每个图像簇中的多个第一图像的视角接近。由于每个图像簇中的多个第一图像的视角接近,因此,每个图像簇中的多个第一图像之间受环境影响较小。
结合第一方面,在另一种可能的实现方式中,上述根据多个图像簇,确定各图像簇对应的平均图像,可以包括:根据图像簇包括的至少两个第一图像,确定图像簇对应的主方向图像;主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,第二图像为至少两个第一图像中除主方向图像之外的图像;根据主方向图像与各第二图像,确定图像簇对应的平均图像。
基于该可能的实现方式,电子设备可以根据每个图像簇中各第一图像的图像特征点,确定图像簇对应的主方向图像,主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,即主方向图像为该图像簇中视角最正的第一图像。该主方向图像受环境影响较小,根据该主方向图像与各第二图像,确定出该图像簇对应的平均图像受环境的影响较小。
结合第一方面,在另一种可能的实现方式中,上述根据主方向图像与各第二图像,确定图像簇对应的平均图像,可以包括:根据各第二图像与主方向图像的相对拍摄位姿,将各第二图像反投影至主方向图像,得到各第二图像对应的反投影图像;根据各第二图像对应的权重,将各第二图像对应的反投影图像的像素值进行加权平均,得到图像簇对应的平均图像。
基于该可能的实现方式,电子设备可以将每个图像簇中的各第二图像均反投影至该图像簇的主方向图像上,且将各第二图像对应的反投影图像的像素值进行加权平均,得到该图像簇对应的平均图像,由于主方向图像受环境影响较小,因此,通过将各第二图像进行反投影并叠加,得到的该图像簇的平均图像受环境的影响较小。
结合第一方面,在另一种可能的实现方式中,上述三维重建方法还可以包括:根据多个图像簇,确定各第一图像的拍摄位姿;根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。
基于该可能的实现方式,电子设备可以根据每个图像簇中各第一图像的拍摄位姿,从而能够根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。进而根据各第二图像与主方向图像的相对拍摄位姿,可以得到各第二图像对应的反投影图像。
结合第一方面,在另一种可能的实现方式中,上述根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像,可以包括:将各图像簇对应的平均图像的像素值进行加权平均,确定加权后的平均图像;根据加权后的平均图像,分别对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
基于该可能的实现方式,电子设备可以将各图像簇对应的平均图像进行加权平均,从而能够的加权后的平均图像。由于各图像簇的平均图像受环境的影响较小,加权后的平均图像能够进一步减小环境的影响,从而根据加权后的平均图像,得到的风格迁移后的多个第一图像能够进一步减小环境的影响。
结合第一方面,在另一种可能的实现方式中,上述三维重建方法还可以包括:根据多个图像簇,确定各图像簇对应的三维子模型;根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型。
基于该可能的实现方式,电子设备可以根据多个图像簇,分别确定出各图像簇对应的三维子模型。之后,可以将各图像簇对应的三维子模型进行合并,从而得到被摄场景对应的稀疏三维点云模型。
结合第一方面,在另一种可能的实现方式中,上述根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型,可以包括:根据各图像簇对应的三维子模型之间的重合部分,将多个图像簇对应的三维子模型进行合并,得到被摄场景对应的稀疏三维点云模型。
基于该可能的实现方式,电子设备可以根据多个图像簇,分别确定出各图像簇对应的三维子模型。之后,可以根据各图像簇对应的三维子模型之间的重合部分,将各图像簇对应的三维子模型进行合并,从而得到被摄场景对应的稀疏三维点云模型。
结合第一方面,在另一种可能的实现方式中,上述根据风格迁移后的多个第一图像,确定被摄场景的三维模型,可以包括:根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型。
基于该可能的实现方式,电子设备可以根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型,由于风格迁移后的多个第一图像受环境的影响较小,因此得到的被摄场景的三维模型受环境影响较小,能够避免三维重建中根据多视角图像得到被摄场景的三维模型,与真实场景之间也会存在差别。
结合第一方面,在另一种可能的实现方式中,上述三维重建方法还可以包括:输出被摄场景的三维模型,以及各图像簇对应的平均图像。
基于该可能的实现方式,电子设备在输出被摄场景的三维模型的同时,还可以同时输出各图像簇对应的平均图像,由于各图像簇对应的平均图像受环境影响较小,因此受环境影响较小的各图像簇对应的平均图像可以进一步应用于其他应用中。
第二方面,本申请实施例提供一种三维重建装置,该三维重建装置可以应用于电子设备,用于实现上述第一方面中的方法。该三维重建装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,例如,获取模块、确定模块以及迁移模块。
其中,获取模块,可以用于获取被摄场景的多个第一图像;多个第一图像的拍摄位姿不同。
确定模块,可以用于根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度。
确定模块,还可以用于根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像。
迁移模块,可以用于根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
确定模块,还可以用于根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据各第一图像的图像特征点,确定多个图像簇;图像簇中任意两个第一图像的相同图像特征点的数量大于第一数量阈值。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据图像簇包括的至少两个第一图像,确定图像簇对应的主方向图像;主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,第二图像为至少两个第一图像中除主方向图像之外的图像。
确定模块,还可以用于根据主方向图像与各第二图像,确定图像簇对应的平均图像。
结合第二方面,在另一种可能的实现方式中,上述三维重建装置还可以包括反投影模块和加权模块。
反投影模块,可以用于根据各第二图像与主方向图像的相对拍摄位姿,将各第二图像反投影至主方向图像,得到各第二图像对应的反投影图像。
加权模块,可以用于根据各第二图像对应的权重,将各第二图像对应的反投影图像的像素值进行加权平均,得到图像簇对应的平均图像。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据多个图像簇,确定各第一图像的拍摄位姿。
确定模块,还可以用于根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于将各图像簇对应的平均图像的像素值进行加权平均,确定加权后的平均图像。
迁移模块,可以用于根据加权后的平均图像,分别对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据多个图像簇,确定各图像簇对应的三维子模型。
确定模块,还可以用于根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据各图像簇对应的三维子模型之间的重合部分,将多个图像簇对应的三维子模型进行合并,得到被摄场景对应的稀疏三维点云模型。
结合第二方面,在另一种可能的实现方式中,确定模块,还可以用于根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型。
结合第二方面,在另一种可能的实现方式中,上述三维重建装置还可以包括输出模块。
输出模块,可以用于输出被摄场景的三维模型,以及各图像簇对应的平均图像。
第三方面,提供了一种三维重建设备,该三维重建设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供了一种三维重建设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该三维重建设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该三维重建设备执行如上述第一方面中任一项所述的三维重建方法。
第五方面,提供了一种三维重建设备,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述第一方面中任一项所述的三维重建方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的三维重建方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的三维重建方法。
第八方面,提供了一种装置(例如,该装置可以是芯片***),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片***时,可以由芯片构成,也可以包含芯片和其他分立器件。
应当理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为三维重建的场景示意图一;
图2为现有技术中三维重建的流程示意图;
图3为三维重建的场景示意图二;
图4为本申请实施例提供的一种三维重建的实施环境示意图;
图5为本申请实施例提供的一种电子设备的硬件结构示意图一;
图6为本申请实施例提供的一种电子设备的硬件结构示意图二;
图7为本申请实施例提供的一种三维重建方法的流程示意图一;
图8为本申请实施例提供的一种三维重建方法的流程示意图二;
图9为本申请实施例提供的一种三维重建装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着电子技术的发展,三维重建技术已经在电子设备得到了广泛的应用。三维重建,可以包括通过被摄场景的多视角图像,建立被摄场景对应的三维模型。被摄场景对应的三维模型,即在电子设备中可以建立表达现实客观物体(即被摄场景)的三维模型,从而能够以此三维模型来满足生产和生活的需要。
例如,结合图1所示,电子设备可以获取被摄场景的多视角图像,多视角图像即从多个视角对被摄场景进行拍摄得到的图像。也就是说,多视角图像可以包括多个单视角图像,单视角图像即从一个视角对被摄场景进行拍摄得到的图像。电子设备获取到被摄场景的多视角图像之后,可以通过被摄场景的多视角图像,获取到多视角图像对应的相机相对位姿,从而可以利用多视角图像对应的相机相对位姿,进行三维重建,得到被摄场景对应的三维模型。
电子设备建立被摄场景的三维模型可以包括获取多视角图像、特征点检测、特征点匹配、重建等步骤,从而建立表达现实客观物体(即被摄场景)的三维模型。
例如,结合图2所示,电子设备建立被摄场景的三维模型可以包括以下步骤。
首先,电子设备可以获取多视角图像,即电子设备可以获取被摄场景的多视角图像,该多视角图像可以为多个。
在获取到被摄场景的多个多视角图像之后,电子设备可以对多视角图像进行特征提取,获得图像特征点。即电子设备可以对被摄场景的多个多视角图像分别进行特征点检测并特征提取,从而获取到多个多视角图像分别对应的图像特征点。
在获取到多个多视角图像分别对应的图像特征点之后,电子设备可以对图像特征点进行特征匹配,从而确定不同视角图像中的同一特征点。即电子设备可以多个多视角图像分别对应的图像特征点进行特征匹配,从而确定不同视角图像中的同一特征点。
在确定不同视角图像中的同一特征点之后,电子设备可以利用运动恢复结构(structure from motion,SFM)算法,以特征匹配为输入,获得基于特征点的稀疏点云。即电子设备可以利用SFM算法以不同视角图像中的同一特征点为输入,从而得到基于特征点的稀疏点云。即稀疏点云可以包括多个三维点,即稀疏三维点云。
电子设备可以利用SFM算法,以特征匹配为输入,获得基于特征点的稀疏点云,可以包括:对特征点进行三角化,基于同一特征点在不同视角图像中的像素坐标,计算该特征点的三维坐标和相机相对位姿。即电子设备可以利用SFM算法对不同视角图像中的同一特征点进行三角化,并基于该同一特征点在不同视角图像中的像素坐标,计算该同一特征点的三维坐标和相机相对位姿。之后,电子设备可以进行光束平差法 (bundle adjustment,BA)优化,将多个相机的相对位姿和多个特征点的三维坐标联合为优化方程并求解,从而得到精确的相机相对位姿和稀疏点云。
在电子设备得到精确的相机相对位姿和稀疏点云之后,电子设备可以对稀疏点云着色,即取同一特征点在不同视角图像中的颜色均值,作为该特征点对应的三维点的颜色。
在得到三维点的颜色之后,电子设备可以进行稠密重建。即电子设备可以利用多视点立体视觉(multi view stereo,MVS)算法,以原始图像和稀疏三维点云为输入,获得被摄场景的稠密点云或表面。即电子设备可以利用MVS算法,以被摄场景的多个多视角图像和着色之后的稀疏三维点云为输入,获得被摄场景的稠密点云或表面,从而得到被摄场景对应的三维模型。
然而,三维重建中用到的多视角图像可能会受环境因素(如天气、光照、季节等)的影响,使得多视角图像中的被摄场景与真实场景之间存在一定差别。在电子设备进行稠密重建时,是以原始图像(即被摄场景对应的原始多视角图像)和稀疏三维点云为输入,获得被摄场景的稠密点云或表面,由于不同的原始图像会受环境因素的影响,这就会导致三维重建得到的三维模型中被摄场景与真实场景之间也会存在一定的差别,例如,三维重建得到的三维模型中被摄场景对应的纹理或者颜色,会与真实场景对于的纹理或者颜色之间也会存在一定的差别。
也就是说,在电子设备进行稠密重建步骤中,是将原始图像(即被摄场景对应的原始多视角图像)映射在稀疏三维点云上,从而获得被摄场景稠密点云或表面。因此,对于环境因素有差异的原始图像(即被摄场景对应的原始多视角图像),由于不同图像的光照、颜色等不统一,在将原始图像映射在稀疏三维点云时,映射后无法正确还原被摄场景表面的颜色和纹理。
例如,结合图3所示,对于同一场景,在季节不同时,光照也不同,对该被摄场景进行拍摄得到的多视角图像中的被摄场景对应的纹理或者颜色,与真实场景对应的纹理或者颜色之间存在一定的差别。在根据不同季节对该被摄场景进行拍摄得到的多视角图像,进行三维重建,得到的三维模型中被摄场景与真实场景之间也会存在一定的差别,即三维重建得到的三维模型中被摄场景对应的纹理或者颜色,会与真实场景对于的纹理或者颜色之间也会存在一定的差别。
另外,电子设备对被摄场景进行三维重建时,该被摄场景可以是室外被摄场景,该室外被摄场景的多视角图像也会受到环境因素(如天气、光照、季节等)的影响,使得多视角图像中的被摄场景与真实场景之间存在一定差别,进而导致三维重建得到的三维模型中被摄场景与真实场景之间也会存在一定的差别。此外,电子设备对被摄场景进行三维重建时,被摄场景的多视角图像,可以来自于互联网,互联网中的多视角图像拍摄时的环境因素也不同,使得多视角图像中的被摄场景与真实场景之间也会存在一定差别,进而导致三维重建得到的三维模型中被摄场景与真实场景之间也会存在一定的差别。
针对上述问题,本申请实施例提供一种三维重建方法,应用于电子设备,该三维重建方法,可以在被摄场景的三维重建过程中,去除环境因素对被摄场景的多视角图像的影响,从而在利用多视角图像进行三维重建得到的被摄场景的三维模型时,能够去除环境因素的影响,使得被摄场景的三维模型与真实场景接近,即被摄场景的三维模型的中被摄场景对应的纹理或者颜色,会与真实场景对于的纹理或者颜色相近。
下面对本申请实施例提供的三维重建方法进行描述。
本申请实施例提供的三维重建方法可以应用于电子设备。该电子设备可以是手机、平板电脑、手持计算机,个人计算机(personal computer,PC),蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备等电子设备,该电子设备可以是服务器等电子设备。本申请实施例在此对电子设备的具体形态不做限制。
在一些示例中,在实现本申请提供的三维重建方法的电子设备为手机时,手机可以从手机本地获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。手机也可以从服务器获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。
例如,如图4所示,手机01可以从手机01本地获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。手机01也可以与服务器02建立连接(如无线连接),从而手机01可以从服务器02获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。
在另一些示例中,在实现本申请提供的三维重建方法的电子设备为服务器时,服务器可以从服务器本地获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。服务器也可以从手机获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。
例如,如图4所示,服务器02可以从服务器02本地获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。服务器02也可以与手机01建立连接(如无线连接),从而服务器02可以从手机01获取被摄场景的多视角图像,从而利用多视角图像对被摄场景进行三维重建,得到被摄场景的三维模型。在服务器02得到被摄场景的三维模型之后,服务器02可以将被摄场景的三维模型发送给手机01,从而手机01可以显示该被摄场景的三维模型。
示例地,在实现本申请提供的三维重建方法的电子设备为手机时,图5示出了本申请实施例提供的一种电子设备的结构示意图。
如图5所示,电子设备可以包括处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriber identification module,SIM)卡接口595等。其中,传感器模块580可以包括压力传感器580A,陀螺仪传感器580B,气压传感器580C,磁传感器580D,加速度传感器580E,距离传感器580F,接近光传感器580G,指纹传感器580H,温度传感器580J,触摸传感器580K,环境光传感器580L,骨传导传感器580M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了***的效率。
在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(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)接口等。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块550可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块550可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块550可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块550还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块550的至少部分功能模块可以被设置于处理器510中。在一些实施例中,移动通信模块550的至少部分功能模块可以与处理器510的至少部分模块被设置在同一个器件中。
无线通信模块560可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块560经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器510。无线通信模块560还可以从处理器510接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。
电子设备通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像,视频等。显示屏594包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备可以包括1个或N个显示屏494,N为大于1的正整数。
电子设备可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。在一些实施例中,电子设备可以包括1个或N个摄像头593,N为大于1的正整数。
内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所建立的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
加速度传感器580E可按照一定频率,周期性地采集电子设备的加速度数据。比如,可采集电子设备在各个方向(一般为XYZ三轴方向)上的加速度大小。
当然,可以理解的,上述图5所示仅仅为电子设备的形态为手机时的示例性说明。若电子设备是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图5中所示更少的结构,也可以包括比图5中所示更多的结构,在此不作限制。
示例地,在实现本申请提供的三维重建方法的电子设备为服务器时,图6示出了本申请实施例提供的另一种电子设备的结构示意图。如图6所示,该电子设备600可以包括:至少一个处理器601,通信线路602,存储器603,通信接口604。
其中,处理器601可以通过运行或执行存储在存储器603内的软件程序,以及调用存储在存储器603内的数据,执行电子设备600的各种功能。
在具体实现中,作为一种实施例,电子设备600可以包括一个处理器,也可以包括多个处理器。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器603可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器603可以是独立存在,通过通信线路602与处理器601相连接。存储器603也可以和处理器601集成在一起。
其中,存储器603用于存储执行本申请方案的软件程序,并由处理器601来控制执行。
通信接口604,可以是使用任何收发器一类的装置,用于与其他设备或通信网络通信。
通信线路602,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
图6中示出的设备结构并不构成对电子设备600的限定,该电子设备600可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
以下实施例中的方法均可以在具有上述如图5所示的硬件结构的电子设备中实现,也可以在具有上述如图6所示的硬件结构的电子设备中实现。
以下结合图7对本申请实施例提供的一种三维重建方法进行详细说明。图7为本申请实施例提供的一种三维重建方法的流程示意图。如图7所示,该三维重建方法可以包括下述S701-S712。
S701、电子设备获取被摄场景的多视角图像。
在电子设备需要对被摄场景进行三维重建时,电子设备可以获取被摄场景的多视角图像。被摄场景的多视角图像即从多个视角对被摄场景进行拍摄得到的图像,即被摄场景的多视角图像可以包括多个多视角图像(本申请实施例中也可以称为第一图像),该多个多视角图像为不同视角下对被摄场景进行拍摄得到的图像,即多个第一图像的拍摄位姿不同。也就是说,被摄场景的多视角图像可以包括多个单视角图像,单视角图像即从一个视角对被摄场景进行拍摄得到的图像。
在一些示例中,被摄场景可以包括被摄对象(如被摄物体等)以及被摄对象所处的环境。本申请实施例中对被摄场景包括的具体内容并不进行限定。
在一些示例中,电子设备获取被摄场景的多视角图像,可以为电子设备从电子设备本地存储的资源中获取被摄场景的多视角图像,电子设备本地存储的资源可以为电子设备通过电子设备的相机进行拍摄得到的多个多视角图像。
在另一些示例中,电子设备获取被摄场景的多视角图像,也可以为电子设备通过其他电子设备获取被摄场景的多个多视角图像。本申请实施例中对电子设备获取被摄场景的多视角图像的具体实现方式并不进行限定。
S702、电子设备对被摄场景的多视角图像进行特征提取,并确定多视角图像对应的图像特征点。
在电子设备获取到被摄场景的多视角图像之后,电子设备可以对被摄场景的多视角图像进行特征提取,从而能够得到多视角图像对应的图像特征点。
多视角图像的特征可以包括多视角图像中的颜色、角点、特征点、轮廓、纹理、边缘等特征。图像特征点可以为多视角图像中梯度变化较为剧烈的像素,如,多视角图像中的角点、边缘等。也就是说,图像特征点可以是物体边界方向突然改变的点或两个或多个边缘段之间的焦点,该焦点在图像空间中具有明确的位置。
在一些示例中,电子设备可以通过特征提取算法对被摄场景的多视角图像进行特征提取,从而得到多视角图像对应的图像特征点。
在一些示例中,特征提取算法可以包括基于方向导数的算法,基于图像亮度对比关系的算法,基于数学形态学的算法。例如,特征提取算法可以包括高速的角点检测(features from accelerated segment test,FAST)算法、尺度不变特征变换(scaleinvariant feature transform,SIFT)算法、加速稳健特征(speeded up robustfeatures,SURF)算法、特征检测(oriented fast and rotated brief,ORB)算法等。
需要说明的是,由于被摄场景的多视角图像为多个,电子设备对被摄场景的多视角图像进行特征提取,并确定多视角图像对应的图像特征点,可以为电子设备对被摄场景的多个多视角图像分别进行特征提取,从而利用特征提取算法,可以确定出每个多视角图像对应的图像特征点。
S703、电子设备对多视角图像对应的图像特征点进行特征匹配,确定不同视角图像中的同一特征点,并根据不同视角图像中的同一特征点,得到多个匹配图像。
在电子设备确定多视角图像对应的图像特征点之后,电子设备可以对多视角图像对应的图像特征点进行特征匹配,从而能够确定出不同视角图像中的同一特征点(本申请实施例中也可以称为相同图像特征点)。即电子设备可以对多视角图像对应的图像特征点进行特征匹配,从而能够确定出在不同视角图像中的相同的特征点。
在一些示例中,多个多视角图像中不同视角图像中的同一特征点可以为多个。本申请实施例中对此并不进行限定。
在一些示例中,不同视角图像中的同一特征点,可以为不同视角图像中被摄场景对应的同一个位置对应的特征点,也可以为不同视角图像中最相似的特征点。电子设备对多视角图像对应的图像特征点进行特征匹配,确定不同视角图像中的同一特征点,可以包括:电子设备通过特征点匹配算法,对多视角图像对应的图像特征点进行特征匹配,从而确定不同视角图像中的同一特征点。
特征点匹配算法可以为暴力匹配(brute froce matcher,BFM)算法、加速稳健特征 (speeded up robust features,SURF)算法等。本申请实施例中特征点匹配算法的具体类型并不进行限定,能够确定出不同视角图像中的同一特征点即可。
在电子设备确定出不同视角图像中的相同的特征点之后,电子设备可以根据不同视角图像中的同一特征点,得到多个匹配图像。也就是说,匹配图像可以为多个多视角图像中存在同一特征点的图像。
需要说明的是,由于被摄场景的多视角图像为多个,电子设备可以对被摄场景的多个多视角图像分别进行特征提取,从而利用特征提取算法,可以确定出每个多视角图像对应的图像特征点。在电子设备确定出每个多视角图像对应的图像特征点之后,电子设备可以对每两个多视角图像对应的图像特征点之间进行特征匹配,从而能够确定不同视角图像中的同一特征点,并根据不同视角图像中的相同的特征点,得到多个匹配图像,即可以得到多个多视角图像中存在同一特征点的多个图像。
S704、电子设备对多个匹配图像进行图像聚类,得到多个图像簇,并确定每个图像簇对应的主方向图像。
在电子设备得到多个匹配图像之后,电子设备可以对多个匹配图像进行图像聚类,从而能够得到多个图像簇。每个图像簇可以包括多个多视角图像,且每个图像簇包括的多个多视角图像的视角相近。多视角图像的视角可以为拍摄被摄场景时的视角。也就是说,电子设备在得到多个匹配图像之后,电子设备可以对多个匹配图像进行分类,从而确定出多个图像簇,每个图像簇中的多个多视角图像的视角相近,即,通过图像聚类将多个匹配图像中视角相近的多个多视角图像。
在一些示例中,每个图像簇中的多个多视角图像的视角相近,可以为每个图像簇包括的多个多视角图像之间的同一特征点的数量大于预设数量阈值(本申请实施例中也可以称为第一数量阈值)。预设数量阈值可以根据实际情况确定,本申请实施例中对此并不进行限定。
例如,在两个多视角图像之间的同一特征点的数量大于预设数量阈值,即该两个多视角图像之间的同一特征点的数量较多时,可以确定该两个多视角图像的视角相近,该两个多视角图像可以为同一图像簇中的多视角图像。
在另一些示例中,每个图像簇为包括的多个多视角图像还可以为环境因素相近的多个多视角图像。例如,每个图像簇包括的多个多视角图像的光照强度相近。
在一些示例中,电子设备可以通过图像聚类算法,对多个匹配图像进行图像聚类。图像聚类算法可以包括k均值聚类(k-means clustering algorithm,k-means)算法、层次聚类(hierarchical methods)算法。本申请实施例中对图像聚类算法的具体类型并不进行限定,能够对多个匹配图像进行图像聚类,得到多个图像簇,每个图像簇对应的视角相近即可。
在一些示例中,在电子设备对多个匹配图像进行图像聚类,得到多个图像簇之前,可以预先设置图像簇对应的数量,从而电子设备可以根据该预先设置图像簇对应的数量,得到对应数量的图像簇。预先设置的图像簇对应的具体数量可以根据实际情况确定,本申请实施例中对此并不进行限定。例如,预先设置图像簇对应的数量可以为大于2的整数。
由于每个图像簇对应的多个多视角图像的视角相近,可以将预先设置的图像簇的数量设置为较大的数值,从而能够得到较多的图像簇。因此,在图像簇的数量较多时,多个图像簇对应的视角可以将被摄场景完全覆盖,从而通过该数量较多的图像簇,可以得到被摄场景较为准确的三维模型。
在电子设备对多个匹配图像进行图像聚类,得到多个图像簇,每个图像簇包括多个多视角图像,每个图像簇包括的多个多视角图像的视角相近之后,电子设备可以根据每个图像簇包括的多个多视角图像,确定出每个图像簇对应的主方向图像。主方向图像可以为图像簇对应的视角中视角最正的图像。
在一些示例中,电子设备根据每个图像簇包括的多个多视角图像,确定出每个图像簇对应的主方向图像,可以包括:电子设备根据每个图像簇包括的多个多视角图像之间的同一特征点的数量,确定每个图像簇对应的主方向图像。即每个图像簇对应的主方向图像可以为该每个图像簇包括的多个多视角图像中,与其他多视角图像(本申请实施例中也可以称为第二图像)之间的同一特征点的数量均最多的多视角图像。也就是说,一个图像簇的主方向图像与该图像簇中各第二图像的相同图像特征点的数量大于第二数量阈值,第二图像为该图像簇中至少两个第一图像中除主方向图像之外的图像。
例如,对于一个图像簇,该图像簇包括的多个多视角图像的视角相近,该多个多视角图像的视角可以为从被摄场景的右侧对被摄场景进行拍摄的多个视角。对于该从被摄场景的右侧对被摄场景进行拍摄的多个多视角图像,其中从被摄场景的正右方对被摄场景进行拍摄的多视角图像,与其他多个多视角图像之间的同一特征点的数量均最多。因此,该从被摄场景的正右方对被摄场景进行拍摄的多视角图像,可以为该图像簇对应的主方向图像。
又如,在图像簇包括三个多视角图像,即多视角图像A、多视角图像B、多视角图像C,电子设备可以确定三个多视角图像之间的同一特征点的数量,在多视角图像A与多视角图像B之间的同一特征点的数量较多,且多视角图像A与多视角图像C之间的同一特征点的数量较多,而多视角图像B与多视角图像C之间的同一特征点的数量较少时,可以确定该图像簇对应的主方向图像为多视角图像A。
在一些示例中,在电子设备根据每个图像簇包括的多个多视角图像,确定出每个图像簇对应的主方向图像之后,电子设备可以根据每个图像簇对应的主方向图像,确定出该图像簇中每个多视角图像对应的权重。
在一些示例中,对于一个图像簇来说,该图像簇中每个多视角图像对应的权重,可以为该图像簇中每个多视角图像与该图像簇对应的主方向图像之间的同一特征点的数量。
例如,在图像簇包括三个多视角图像,即多视角图像A、多视角图像B、多视角图像C,在多视角图像A与多视角图像B之间的同一特征点的数量较多,且多视角图像A与多视角图像C之间的同一特征点的数量较多,而多视角图像B与多视角图像C之间的同一特征点的数量较少时,电子设备可以确定该图像簇对应的主方向图像为多视角图像A。之后,电子设备可以确定多视角图像B的权重为多视角图像B与主方向图像(即多视角图像A)之间的同一特征点的数量。电子设备可以确定多视角图像C的权重为多视角图像C与主方向图像(即多视角图像A)之间的同一特征点的数量。
S705、电子设备根据每个图像簇包括的多视角图像,利用SFM算法,得到每个图像簇对应的三维点云子模型和相机相对位姿。
在电子设备得到多个图像簇之后,电子设备可以根据每个图像簇包括的多视角图像,利用SFM算法,得到每个图像簇对应的三维点云子模型。由于每个图像簇对应的多个多视角图像的视角相近,因此,每个图像簇对应的三维点云子模型可以为被摄场景在该图像簇对应的视角上的三维模型。图像簇对应的视角可以为该图像簇的主方向图像对应的视角。
在一些示例中,每个图像簇对应的三维点云子模型,可以为该图像簇对应的稀疏点云。稀疏点云可以包括多个三维点。
稀疏点云,其来源即为特征点,而特征点即为多视角图像中一些特征明显、便于检测、匹配的点,如被摄场景的角点、边缘点等。也就是说,稀疏点云包括的多个三维点可以为被摄场景的角点、边缘点等特征点对应的三维点。
电子设备根据每个图像簇包括的多视角图像,利用SFM算法,得到每个图像簇对应的三维点云子模型时,也可以得到该三维点云子模型包括的多个三维点中,每个三维点对应的相机相对位姿。
相机相对位置即拍摄被摄场景对应的三维点时,相机相对被摄场景的位姿。相机相对位姿可以包括拍摄对应的三维点相机相对被摄场景的位置和姿态(如相机的角度等)。一个三维点对应的相机相对位姿可以为一个,也可以为多个。
S706、电子设备利用ICP算法,对每个图像簇对应的三维点云子模型进行合并,得到被摄场景的三维点云模型。
在电子设备得到每个图像簇对应的三维点云子模型之后,电子设备可以利用迭代最近点(iterative closest point,ICP)算法,对每个图像簇对应的三维点云子模型进行合并,得到三维点云模型。三维点云模型即被摄场景对应的三维点云模型(本申请实施例中也可以称为被摄场景对应的稀疏三维点云模型)。
由于不同的图像簇对应的多个多视角图像的视角不同,因此,对每个图像簇对应的三维点云子模型进行合并得到的三维点云模型,即为被摄场景对应的完整的三维点云模型。被摄场景对应的三维点云模型可以为稀疏点云。即三维点云模型包括被摄场景对应的多个三维点。
在一些示例中,电子设备利用ICP算法,对每个图像簇对应的三维点云子模型进行合并,可以包括,电子设备基于每个图像簇对应的三维点云子模型之间的重合部分,利用ICP算法,得到被摄场景的三维点云模型。
在一些示例中,每个图像簇对应的三维点云子模型之间的重合部分,可以为每个图像簇对应的三维点云子模型之间的重合的三维点。也就是说,每个图像簇对应的三维点云子模型,可以为被摄场景对应的三维点云模型的部分模型,电子设备可以根据每个图像簇对应的三维点云子模型之间的重合的三维点,将多个图像簇对应的三维点云子模型进行拼接,从而能够得到被摄场景对应的完整的三维点云模型。
在一些示例中,在电子设备利用ICP算法,对每个图像簇对应的三维点云子模型进行合并,得到被摄场景的三维点云模型时,电子设备也可以三维点云子模型对应的相机相对位姿,即被摄场景的三维点云模型对应的相机相对位姿(本申请实施例中也可以称为多视角图像的拍摄位姿,即第一图像的拍摄位姿)。三维点云模型对应的相机相对位姿可以为被摄场景的三维点云模型包括的多个三维点中,每个三维点对应的相机相对位姿。每个三维点对应的相机相对位姿可以为多个。
S707、电子设备根据被摄场景的三维点云模型和对应的相机相对位姿,利用BA优化算法,得到被摄场景对应的精确三维点云模型和精确相机相对位姿。
在电子设备得到被摄场景的三维点云模型和对应的相机相对位姿之后,电子设备可以利用BA优化算法,得到被摄场景对应的精确三维点云模型和精确相机相对位姿。
由于电子设备将每个图像簇对应的三维点云子模型进行合并,得到被摄场景对应的三维点云模型相对于每个图像簇对应的三维点云子模型较为准确和完整,因此,被摄场景对应的三维点云模型为精确的三维点云模型。三维点云模型包括的多个三维点即为被摄场景对应的精确三维点云。
精确相机相对位姿可以为每个图像簇中每个多视角图像,相对于该图像簇对应的主方向图像的相机相对位姿。即精确相机相对位姿也可以称为各第二图像与主方向图像的相对拍摄位姿。
S708、电子设备基于被摄场景对应的精确相机相对位姿以及每个图像簇对应的主方向图像,对每个图像簇包括的多个多视角图像进行反投影,得到每一图像簇对应的多个反投影图像。
在电子设备得到被摄场景对应的精确相机相对位姿之后,电子设备可以基于被摄场景对应的精确相机相对位姿以及每个图像簇对应的主方向图像,对每个图像簇包括的多个多视角图像进行反投影,得到每一图像簇对应的多个反投影图像。
即电子设备可以基于被摄场景对应的精确相机相对位姿,将每个图像簇包括的多个多视角图像,反投影到该图像簇对应的主方向图像上。也就是说,电子设备可以基于被摄场景对应的精确的相机相对位姿,将每个图像簇包括的每个多视角图像中的特征点的位置,反投影到该图像簇对应的主方向图像对应的特征点的位置上,从而得到反投影图像。
例如,在一个图像簇包括的某个多视角图像,相对于该图像簇的主方向图像偏左的位置时,电子设备可以基于该多视角图像对应的精确相机相对位姿,将该多视角图像反投影,即将该多视角图像向右移动,即将该多视角图像中的特征点的位置,反投影到该图像簇对应的主方向图像对应的特征点的位置上,从而能够得到将该多视角图像对应的反投影图像。
在一些示例中,电子设备可以通过反投影算法,将每个图像簇包括的多个多视角图像,反投影到该图像簇对应的主方向图像上,从而得到每个图像簇对应的多个反投影图像。
反投影算法可以为线性反投影算法(local binary patterns,LBP)等,本申请实施例中对反投影算法的具体类型并不进行限定,能够对对每个图像簇包括的多个多视角图像进行反投影,得到每一图像簇对应的多个反投影图像即可。
S709、电子设备根据每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,得到每一图像簇对应的平均视图。
在电子设备得到每个图像簇对应的多个反投影图像之后,电子设备可以根据每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,得到每个图像簇对应的平均视图(本申请实施例中也可以称为平均图像)。也就是说,平均视图可以为多个,即平均视图的数量与图像簇的数量相对应。例如,在电子设备得到N个图像簇时,电子设备可以得到N个的平均视图。
反投影图像对应的权重,可以为该反投影图像对应的多视角图像对应的权重。多视角图像对应的权重,可以为该多视角图像与该多视角图像所在的图像簇对应的主方向图像之间的同一特征点的数量。也就是说,反投影图像对应的权重,可以为该反投影图像与该反投影图像所在的图像簇对应的主方向图像之间的同一特征点的数量。
在一些示例中,电子设备根据每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,得到每个图像簇对应的平均视图,可以包括:电子设备对于每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,进行加权平均,得到每个图像簇对应的平均视图。即电子设备可以根据每个图像簇对应的多个反投影图像对应的权重,将该多个反投影图像进行叠加,从而得到该图像簇对应的平均视图。
在一些示例中,电子设备对于每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,进行加权平均,得到每个图像簇对应的平均视图,可以包括:电子设备可以获取每个图像簇中每个反投影图像的同一特征点对应的颜色的数值,将该同一特征点在不同反投影图像中的颜色的数值,进行加权平均,从而得到该同一特征点在该图像簇对应的平均视图中对应的特征点的颜色。
也就是说,该图像簇对应的平均视图,是多个反投影图像进行叠加之后,得到的融合图像。因此,该平均视图相比于该图像簇对应的多个反投影图像,其对应的被摄场景更加真实,即该平均视图能够去除环境因素的影响,该平均视图无明显的环境特征。该平均视图对应的被摄场景(如被摄场景的纹理和颜色)能够接近真实场景(如真实场景的纹理和颜色)。
由于电子设备对每个图像簇包括的多个多视角图像进行反投影,得到每一图像簇对应的多个反投影图像。即电子设备可以通过反投影,将环境因素对每个图像簇包括的多个多视角图像的影响去除。例如,电子设备可以通过将每个图像簇包括的多个多视角图像反投影至该图像簇对应的主方向图像上,能够去除将环境因素对每个图像簇包括的多个多视角图像的影响(如环境因素对每个图像簇包括的多个多视角图像造成的阴影的影响),从而能够得到被摄场景对应的真实的纹理。
S710、电子设备根据每个图像簇对应的平均视图,对每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的多视角图像。
在电子设备得到每个图像簇对应的平均视图之后,电子设备根据每个图像簇对应的平均视图,对每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的图像。风格迁移是指把一幅图像中风格(风格可以包括颜色、光照强度等)、纹理等特征移植到另一幅目标图像中。
也就是说,电子设备得到每个图像簇对应的平均视图之后,电子设备可以将每个图像簇包括的多个多视角图像对应的风格,迁移到平均视图的风格上,得到每个图像簇对应的风格迁移后的多视角图像。
由于电子设备将每个图像簇包括的多个多视角图像对应的风格,迁移到平均视图的风格上,得到每个图像簇对应的风格迁移后的多视角图像,因此,得到的每个图像簇对应的风格迁移后的多视角图像,相比于风格迁移之前的多视角图像,去除了环境因素的影响。
在一些示例中,由于平均视图为多个,电子设备根据每个图像簇对应的平均视图,对每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的图像,可以包括:电子设备根据多个平均视图对应的权重,将多个平均视图进行加权平均,从而得到加权平均之后的平均视图。之后,电子设备可以根据加权平均后的平均视图,将对每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的图像。即电子设备可以将每个图像簇包括的多个多视角图像对应的风格,迁移到加权平均之后的平均视图的风格上,得到每个图像簇对应的风格迁移后的多视角图像。
在一些示例中,不同的平均视图对应的权重可以预先设置,本申请实施例中对不同的平均视图对应的权重的具体设置方式并不进行限定。电子设备根据多个平均视图对应的权重,将多个平均视图进行加权平均,得到加权平均之后的平均视图的具体方式,可以参考上述电子设备对于每个图像簇对应的多个反投影图像,以及每个反投影图像对应的权重,进行加权平均,得到每个图像簇对应的平均视图的具体方式,本申请实施例中对此并不进行限定。
由于电子设备将每个图像簇包括的多个多视角图像对应的风格,迁移到加权平均之后的平均视图的风格上,得到每个图像簇对应的风格迁移后的多视角图像,因此,得到的每个图像簇对应的风格迁移后的多视角图像,相比于风格迁移之前的多视角图像,进一步去除了环境因素的影响。
在一些示例中,电子设备可以通过风格迁移算法,根据每个图像簇对应的平均视图,将每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的图像。
风格迁移算法可以为快速风格迁移(fast eeural style transfer)算法等,本申请实施例中对风格迁移算法的具体类型并不进行限定,能够根据每个图像簇对应的平均视图,对将每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的图像即可。
S711、电子设备根据每一图像簇对应的风格迁移后的多视角图像以及精确三维点云,利用MVS算法,得到被摄场景对应的稠密点云或表面。
在电子设备得到每一图像簇对应的风格迁移后的多视角图像之后,电子设备可以根据每一图像簇对应的风格迁移后的多视角图像以及精确的三维点云,利用MVS算法,得到被摄场景对应的稠密点云或表面。
被摄场景对应的稠密点云包括更多的三维点,被摄场景对应的稠密点云能够反映出被摄场景的实物的轮廓、特征等。
在一些示例中,电子设备可以先根据每一图像簇对应的风格迁移后的多视角图像以及精确三维点云,利用MVS算法,得到被摄场景对应的稠密点云。由稠密点云虽然能够更加形象地还原出被摄场景的实物面貌,但是其仍只是大量孤立的三维空间的三维点的集合。因此,要想实现真正的实物三维化,在电子设备得到被摄场景对应的稠密点云之后,电子设备可以基于被摄场景对应的稠密点云,进行被摄场景的表变重建,如通过点云生成曲面()算法进行被摄场景的表变重建,从而得到被摄场景对应的表面。
由于电子设备将每个图像簇包括的多个多视角图像对应的风格,迁移到平均视图的风格上,得到每个图像簇对应的风格迁移后的多视角图像,因此,得到的每个图像簇对应的风格迁移后的多视角图像,相比于风格迁移之前的多视角图像,去除了环境因素的影响。因此,电子设备根据每一图像簇对应的风格迁移后的多视角图像以及精确三维点云,得到的被摄场景对应的稠密点云或表面,能够去除环境因素的影响。
S712、电子设备输出被摄场景对应的三维模型。
在电子设备得到被摄场景对应的稠密点云或表面之后,电子设备可以对被摄场景对应的稠密点云或表面进行处理,从而得到被摄场景对应的被摄场景对应的三维模型。
在一些示例中,在电子设备得到被摄场景对应的稠密点云之后,电子设备可以对被摄场景对应的稠密点云进行表面重建。表面重建之后被摄场景对应的实物的轮廓、形状已经清晰可见。之后,电子设备还可以对表面重建得到的被摄场景对应的表面进行纹理映射,纹理映射的作用是使得重建的三维模型更接近实物,具有实物的颜色、纹理以及细节特点。
在电子设备得到被摄场景对应的三维模型之后,电子设备可以输出被摄场景对应的三维模型。
在一些示例中,电子设备还可以输出每个图像簇对应的平均视图。由于每个图像簇对应的平均视图,是多个反投影图像进行叠加之后,得到的融合图像。因此,该平均视图能够去除环境因素的影响,该平均视图无明显的环境特征。该平均视图对应的被摄场景(如被摄场景的纹理和颜色)能够接近真实场景(如真实场景的纹理和颜色),电子设备输出每个图像簇对应的平均视图之后,可以将该每个图像簇对应的平均视图进一步应用于环境渲染、纹理贴图等增强现实(augmented reality,AR)应用中。
本申请的方案,在三维重建过程中,可以将被摄场景对应的多个多视角图像进行分类得到视角相近的多个图像簇,并确定出图像簇对应的主方向图像,主方向图像为该图像簇对应的视角中视角最正的图像。之后,可以将每个图像簇包括的多个多视角图像反投影至对应的主方向图像上,得到每一图像簇对应的多个反投影图像,由于主方向图像为该图像簇对应的视角中视角最正的图像,因此,得到的多个反投影图像能够去除环境因素的影响。
之后,每个图像簇对应的多个反投影图像,得到每个图像簇对应的平均视图,并根据每个图像簇对应的平均视图,对每个图像簇包括的多视角图像进行风格迁移,得到每个图像簇对应的风格迁移后的多视角图像。由于每个反投影图像能够去除环境因素的影响,因此得到每个图像簇对应的平均视图能够去除环境因素的影响。且将每个图像簇包括的多视角图像的风格均迁移到平均视图上,因此得到的风格迁移后的多视角图像能够去除环境因素的影响。之后,在利用风格迁移后的多视角图像进行重建得到的被摄场景的三维模型时,能够去除环境因素的影响,使得被摄场景的三维模型与真实场景接近,即被摄场景的三维模型的中被摄场景对应的纹理或者颜色,会与真实场景对于的纹理或者颜色相近。
为了便于理解,下面结合附图8对本申请实施例提供的三维重建方法进行说明。如图8所示,该三维重建方法可以包括以下S801-S804。
S801、获取被摄场景的多个第一图像;多个第一图像的拍摄位姿不同。
在一些示例中,被摄场景可以包括被摄对象(如被摄物体等)以及被摄对象所处的环境。本申请实施例中对被摄场景包括的具体内容并不进行限定。
被摄场景的多个第一图像,可以为被摄场景的多个多视角图像。被摄场景的多个多视角图像即从多个视角对被摄场景进行拍摄得到的图像,即多个第一图像拍摄被摄场景时相机的位姿不同,也就是说,多个第一图像的拍摄位姿不同。
具体的,本申请实施例中获取被摄场景的多个第一图像,多个第一图像的拍摄位姿不同的具体实施方式,可以参考上述S701中的具体实施方式,本申请实施例中对此不再赘述。
S802、根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度。
在获取到被摄场景的多个第一图像之后,可以根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度。也就是说,一个图像簇中的多个第一图像的拍摄角度相近,即一个图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度。
阈值角度可以根据具体情况设置,本申请实施例中对此并不进行限定。
在一些示例中,根据多个第一图像,确定多个图像簇,可以包括:根据多个第一图像,确定各第一图像的图像特征点。在确定各第一图像的图像特征点之后,可以根据各第一图像的图像特征点,确定多个图像簇;图像簇中任意两个第一图像的相同图像特征点的数量大于第一数量阈值。第一数量阈值可以根据具体情况设置,本申请实施例中对此并不进行限定。
也就是说,一个图像簇中的多个第一图像的拍摄角度相近,即一个图像簇中任意两个第一图像的的相同图像特征点的数量大于第一数量阈值。
电子设备可以根据各第一图像的图像特征点,将多个第一图像划分为多个图像簇,从而能够使每个图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度,即每个图像簇中的多个第一图像的视角接近。由于每个图像簇中的多个第一图像的视角接近,因此,每个图像簇中的多个第一图像之间受环境影响较小。
具体的,本申请实施例中根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度的具体实施方式,可以参考上述S702-S704中的具体实施方式,本申请实施例中对此不再赘述。
S803、根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像。
在确定出多个图像簇之后,可以根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像。
在一些示例中,根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像,可以包括:根据图像簇包括的至少两个第一图像,确定图像簇对应的主方向图像;主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,第二图像为至少两个第一图像中除主方向图像之外的图像。之后,根据主方向图像与各第二图像,确定图像簇对应的平均图像。第二数量阈值可以根据具体情况设置,本申请实施例中对此并不进行限定。
电子设备可以根据每个图像簇中各第一图像的图像特征点,确定图像簇对应的主方向图像,主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,即主方向图像为该图像簇中视角最正的第一图像。该主方向图像受环境影响较小,根据该主方向图像与各第二图像,确定出该图像簇对应的平均图像受环境的影响较小。
在一些示例中,上述根据主方向图像与各第二图像,确定图像簇对应的平均图像,可以包括:根据各第二图像与主方向图像的相对拍摄位姿,将各第二图像反投影至主方向图像,得到各第二图像对应的反投影图像。之后,可以根据各第二图像对应的权重,将各第二图像对应的反投影图像的像素值进行加权平均,得到图像簇对应的平均图像。
电子设备可以将每个图像簇中的各第二图像均反投影至该图像簇的主方向图像上,且将各第二图像对应的反投影图像的像素值进行加权平均,得到该图像簇对应的平均图像,由于主方向图像受环境影响较小,因此,通过将各第二图像进行反投影并叠加,得到的该图像簇的平均图像受环境的影响较小。
在一些示例中,上述确定各第二图像与主方向图像的相对拍摄位姿,可以根据多个图像簇,确定各第一图像的拍摄位姿,之后根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。
电子设备可以根据每个图像簇中各第一图像的拍摄位姿,从而能够根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。进而根据各第二图像与主方向图像的相对拍摄位姿,可以得到各第二图像对应的反投影图像。
在一些示例中,在确定出多个图像簇之后,还可以根据多个图像簇,确定各图像簇对应的三维子模型;根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型。电子设备可以根据多个图像簇,分别确定出各图像簇对应的三维子模型。之后,可以将各图像簇对应的三维子模型进行合并,从而得到被摄场景对应的稀疏三维点云模型。
在一些示例中,上述根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型,可以包括:根据各图像簇对应的三维子模型之间的重合部分,将多个图像簇对应的三维子模型进行合并,得到被摄场景对应的稀疏三维点云模型。电子设备可以根据多个图像簇,分别确定出各图像簇对应的三维子模型。之后,可以根据各图像簇对应的三维子模型之间的重合部分,将各图像簇对应的三维子模型进行合并,从而得到被摄场景对应的稀疏三维点云模型。
具体的,本申请实施例中根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像的具体实施方式,可以参考上述S705-S709中的具体实施方式,本申请实施例中对此不再赘述。
S804、根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
在确定出各图像簇对应的平均图像之后,可以根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
在一些示例中,上述根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像,可以包括将各图像簇对应的平均图像的像素值进行加权平均,确定加权后的平均图像;根据加权后的平均图像,分别对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
电子设备可以将各图像簇对应的平均图像进行加权平均,从而能够的加权后的平均图像。由于各图像簇的平均图像受环境的影响较小,加权后的平均图像能够进一步减小环境的影响,从而根据加权后的平均图像,得到的风格迁移后的多个第一图像能够进一步减小环境的影响。
具体的,本申请实施例中根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像的具体实施方式,可以参考上述S710中的具体实施方式,本申请实施例中对此不再赘述。
S805、根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
在得到风格迁移后的多个第一图像之后,可以根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
在一些示例中,上述根据风格迁移后的多个第一图像,确定被摄场景的三维模型,包括:根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型。电子设备可以根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型,由于风格迁移后的多个第一图像受环境的影响较小,因此得到的被摄场景的三维模型受环境影响较小,能够避免三维重建中根据多视角图像得到被摄场景的三维模型,与真实场景之间也会存在差别。
在一些示例中,在确定出被摄场景的三维模型之后,可以输出被摄场景的三维模型,以及各图像簇对应的平均图像。电子设备在输出被摄场景的三维模型的同时,还可以同时输出各图像簇对应的平均图像,由于各图像簇对应的平均图像受环境影响较小,因此受环境影响较小的各图像簇对应的平均图像可以进一步应用于其他应用中。
具体的,本申请实施例中根据风格迁移后的多个第一图像,确定被摄场景的三维模型的具体实施方式,可以参考上述S711-S712中的具体实施方式,本申请实施例中对此不再赘述。
本申请的方案,电子设备可以将被摄场景的多视角图像(即多个第一图像)划分为视角相近的多个图像簇,并确定每个图像簇对应的去除环境影响后的平均图像,从而可以将被摄场景的多视角图像风格迁移到平均图像上,得到的风格迁移后的多视角图像能够去除环境的影响。之后,根据风格迁移后的多视角图像,确定出的被摄场景的三维模型也能够去除环境的影响。即本申请的方案通过将被摄场景的多视角图像进行风格迁移,能够得到去除环境影响的多视角图像,从而能够避免根据多视角图像得到被摄场景的三维模型,与真实场景之间存在差别。
对应于前述实施例中的方法,本申请实施例还提供一种三维重建装置。该三维重建装置可以应用于电子设备,用于实现前述实施例中的方法。该三维重建装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
例如,图9示出了一种三维重建装置900的结构示意图,如图9所示,该三维重建装置900可以包括:获取模块901、确定模块902以及迁移模块903。
其中,获取模块901,可以用于获取被摄场景的多个第一图像;多个第一图像的拍摄位姿不同。
确定模块902,可以用于根据多个第一图像,确定多个图像簇,各图像簇包括至少两个第一图像,且各图像簇中任意两个第一图像的拍摄位姿中的拍摄角差小于阈值角度。
确定模块902,还可以用于根据多个图像簇,确定各图像簇对应的平均图像,平均图像为去除环境影响后的图像。
迁移模块903,可以用于根据各图像簇对应的平均图像,对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
确定模块902,还可以用于根据风格迁移后的多个第一图像,确定被摄场景的三维模型。
在另一种可能的实现方式中,确定模块902,还可以用于根据各第一图像的图像特征点,确定多个图像簇;图像簇中任意两个第一图像的相同图像特征点的数量大于第一数量阈值。
在另一种可能的实现方式中,确定模块902,还可以用于根据图像簇包括的至少两个第一图像,确定图像簇对应的主方向图像;主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,第二图像为至少两个第一图像中除主方向图像之外的图像。
确定模块902,还可以用于根据主方向图像与各第二图像,确定图像簇对应的平均图像。
在另一种可能的实现方式中,上述三维重建装置900还可以包括反投影模块904和加权模块905。
反投影模块904,可以用于根据各第二图像与主方向图像的相对拍摄位姿,将各第二图像反投影至主方向图像,得到各第二图像对应的反投影图像。
加权模块905,可以用于根据各第二图像对应的权重,将各第二图像对应的反投影图像的像素值进行加权平均,得到图像簇对应的平均图像。
在另一种可能的实现方式中,确定模块902,还可以用于根据多个图像簇,确定各第一图像的拍摄位姿。
确定模块902,还可以用于根据各第一图像的拍摄位姿,确定各第二图像与主方向图像的相对拍摄位姿。
在另一种可能的实现方式中,确定模块902,还可以用于将各图像簇对应的平均图像的像素值进行加权平均,确定加权后的平均图像。
迁移模块903,可以用于根据加权后的平均图像,分别对多个第一图像进行风格迁移,得到风格迁移后的多个第一图像。
在另一种可能的实现方式中,确定模块902,还可以用于根据多个图像簇,确定各图像簇对应的三维子模型。
确定模块902,还可以用于根据各图像簇对应的三维子模型,得到被摄场景对应的稀疏三维点云模型。
在另一种可能的实现方式中,确定模块902,还可以用于根据各图像簇对应的三维子模型之间的重合部分,将多个图像簇对应的三维子模型进行合并,得到被摄场景对应的稀疏三维点云模型。
在另一种可能的实现方式中,确定模块902,还可以用于根据风格迁移后的多个第一图像和被摄场景对应的稀疏三维点云模型,确定被摄场景的三维模型。
在另一种可能的实现方式中,上述三维重建装置900还可以包括输出模块906。
输出模块906,可以用于输出被摄场景的三维模型,以及各图像簇对应的平均图像。
应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上***SOC的形式实现。
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
例如,本申请实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的三维重建方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
例如,本申请实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的方法。
本申请实施例还提供一种计算机程序产品,包括如上述电子设备运行的计算机指令。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
例如,本申请实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的三维重建方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种三维重建方法,其特征在于,应用于电子设备,所述方法包括:
获取被摄场景的多个第一图像;所述多个第一图像的拍摄位姿不同;
根据所述多个第一图像,确定各所述第一图像的图像特征点;
根据各所述第一图像的图像特征点,确定多个图像簇,各图像簇包括至少两个第一图像,且所述图像簇中任意两个所述第一图像的相同图像特征点的数量大于第一数量阈值;
根据所述图像簇包括的所述至少两个第一图像,确定所述图像簇对应的主方向图像;所述主方向图像与各第二图像的相同图像特征点的数量大于第二数量阈值,所述第二图像为所述至少两个第一图像中除所述主方向图像之外的图像;
根据所述主方向图像与各所述第二图像,确定所述图像簇对应的平均图像,所述平均图像为去除环境影响后的图像;
根据所述各图像簇对应的平均图像,对所述多个第一图像进行风格迁移,得到风格迁移后的多个第一图像;
根据所述风格迁移后的多个第一图像,确定所述被摄场景的三维模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述主方向图像与各所述第二图像,确定所述图像簇对应的平均图像,包括:
根据各所述第二图像与所述主方向图像的相对拍摄位姿,将各所述第二图像反投影至所述主方向图像,得到各所述第二图像对应的反投影图像;
根据各所述第二图像对应的权重,将各所述第二图像对应的反投影图像的像素值进行加权平均,得到所述图像簇对应的平均图像。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述多个图像簇,确定各所述第一图像的拍摄位姿;
根据各所述第一图像的拍摄位姿,确定各所述第二图像与所述主方向图像的所述相对拍摄位姿。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述各图像簇对应的平均图像,对所述多个第一图像进行风格迁移,得到风格迁移后的多个第一图像,包括:
将所述各图像簇对应的平均图像的像素值进行加权平均,确定加权后的平均图像;
根据所述加权后的平均图像,分别对所述多个第一图像进行风格迁移,得到所述风格迁移后的多个第一图像。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
根据所述多个图像簇,确定各所述图像簇对应的三维子模型;
根据各所述图像簇对应的三维子模型,得到所述被摄场景对应的稀疏三维点云模型。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述图像簇对应的三维子模型,得到所述被摄场景对应的稀疏三维点云模型,包括:
根据各所述图像簇对应的三维子模型之间的重合部分,将多个所述图像簇对应的三维子模型进行合并,得到所述被摄场景对应的稀疏三维点云模型。
7.根据权利要求5所述的方法,其特征在于,所述根据所述风格迁移后的多个第一图像,确定所述被摄场景的三维模型,包括:
根据所述风格迁移后的多个第一图像和所述被摄场景对应的稀疏三维点云模型,确定所述被摄场景的三维模型。
8.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
输出所述被摄场景的三维模型,以及所述各图像簇对应的平均图像。
9.一种电子设备,其特征在于,所述电子设备包括处理器,用于存储所述处理器可执行指令的存储器;所述处理器被配置为执行所述指令时,使得所述电子设备实现如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令;其特征在于,
当所述计算机程序指令被电子设备执行时,使得电子设备实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382315.6A CN116091711B (zh) | 2023-04-12 | 2023-04-12 | 一种三维重建方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382315.6A CN116091711B (zh) | 2023-04-12 | 2023-04-12 | 一种三维重建方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116091711A CN116091711A (zh) | 2023-05-09 |
CN116091711B true CN116091711B (zh) | 2023-09-08 |
Family
ID=86212411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310382315.6A Active CN116091711B (zh) | 2023-04-12 | 2023-04-12 | 一种三维重建方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116091711B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118578A (zh) * | 2018-08-01 | 2019-01-01 | 浙江大学 | 一种层次化的多视图三维重建纹理映射方法 |
CN113592751A (zh) * | 2021-06-24 | 2021-11-02 | 荣耀终端有限公司 | 图像处理方法、装置和电子设备 |
CN114170366A (zh) * | 2022-02-08 | 2022-03-11 | 荣耀终端有限公司 | 基于点线特征融合的三维重建方法及电子设备 |
CN114332415A (zh) * | 2022-03-09 | 2022-04-12 | 南方电网数字电网研究院有限公司 | 基于多视角技术的输电线路廊道的三维重建方法及装置 |
CN115526983A (zh) * | 2022-03-30 | 2022-12-27 | 荣耀终端有限公司 | 一种三维重建方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599605B (zh) * | 2019-09-10 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 图像处理方法及装置、电子设备和计算机可读存储介质 |
-
2023
- 2023-04-12 CN CN202310382315.6A patent/CN116091711B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118578A (zh) * | 2018-08-01 | 2019-01-01 | 浙江大学 | 一种层次化的多视图三维重建纹理映射方法 |
CN113592751A (zh) * | 2021-06-24 | 2021-11-02 | 荣耀终端有限公司 | 图像处理方法、装置和电子设备 |
CN114170366A (zh) * | 2022-02-08 | 2022-03-11 | 荣耀终端有限公司 | 基于点线特征融合的三维重建方法及电子设备 |
CN114332415A (zh) * | 2022-03-09 | 2022-04-12 | 南方电网数字电网研究院有限公司 | 基于多视角技术的输电线路廊道的三维重建方法及装置 |
CN115526983A (zh) * | 2022-03-30 | 2022-12-27 | 荣耀终端有限公司 | 一种三维重建方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
基于少量图像的三维重建综述;于航 等;《智能科学与技术学报》;第第4卷卷(第第4期期);第544-558页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116091711A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111415388B (zh) | 一种视觉定位方法及终端 | |
US11636641B2 (en) | Electronic device for displaying avatar corresponding to external object according to change in position of external object | |
US10972661B2 (en) | Apparatus and methods for image alignment | |
WO2020035002A1 (en) | Methods and devices for acquiring 3d face, and computer readable storage media | |
Lalonde et al. | Lighting estimation in outdoor image collections | |
WO2019005999A1 (en) | METHOD AND SYSTEM FOR PERFORMING SIMULTANEOUS MAPPING AND LOCALIZATION USING CONVOLUTIONAL IMAGE TRANSFORMATION | |
CN111738914B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
JP2016535353A (ja) | オブジェクト検出及び分割の方法,装置,コンピュータプログラム製品 | |
WO2016179830A1 (en) | Fast mrf energy optimization for solving scene labeling problems | |
US11948280B2 (en) | System and method for multi-frame contextual attention for multi-frame image and video processing using deep neural networks | |
CN113936085B (zh) | 三维重建方法和装置 | |
CN115526983B (zh) | 一种三维重建方法及相关设备 | |
CN114283050A (zh) | 图像处理方法、装置、设备及存储介质 | |
US20200013184A1 (en) | Systems and methods for offloading image-based tracking operations from a general processing unit to a hardware accelerator unit | |
CN116468917A (zh) | 图像处理方法、电子设备及存储介质 | |
CN112270709A (zh) | 地图构建方法及装置、计算机可读存储介质和电子设备 | |
CN110956571B (zh) | 基于slam进行虚实融合的方法及电子设备 | |
CN116206041A (zh) | 一种渲染方法及其相关设备 | |
CN116091711B (zh) | 一种三维重建方法及电子设备 | |
CN116152323B (zh) | 深度估计方法、单目深度估计模型生成方法和电子设备 | |
CN109166176B (zh) | 三维人脸图像的生成方法与装置 | |
CN111899326A (zh) | 一种基于gpu并行加速的三维重建方法 | |
CN115880347A (zh) | 图像处理方法、电子设备、存储介质及程序产品 | |
CN116993875B (zh) | 数字人的生成方法、装置、电子设备及存储介质 | |
CN117746192B (zh) | 电子设备及其数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |