掌桥专利:专业的专利平台
掌桥专利
首页

一种三维重建方法、系统、电子设备及存储介质

文献发布时间:2023-06-19 12:18:04


一种三维重建方法、系统、电子设备及存储介质

技术领域

本公开涉及金融科技技术领域,具体涉及一种三维重建方法、系统、电子设备及存储介质。

背景技术

为了使银行服务的方式更加多元化,同时更加丰富银行用户的体验感。虚拟数字人技术成为研究热点。数字人主要是通过计算机辅助设计构建出一个虚拟的人物形象。其中3D数字人需要专业的绘图软件进行设计,时间周期长费用高。而三维重建技术可以通过多张二维图像构建出一个三维模型,因此考虑使用运动恢复结构算法构建三维数字人模型。

发明内容

(一)要解决的技术问题

针对上述问题,本公开提供了一种三维重建方法、系统、电子设备及存储介质,用于至少部分解决传统方法时间周期长、效率低、匹配效果差等技术问题。

(二)技术方案

本公开一方面提供了一种三维重建方法,包括:获取被测客体不同视角下的至少两张图像;提取至少两张图像的SIFT特征;采用BBF查询机制对SIFT特征进行特征匹配,得到不同图像之间像素点的对应关系;基于像素点的对应关系进行运动结构恢复,得到三维重建的点云模型;对点云模型进行配准、融合得到被测客体的三维模型。

进一步地,提取至少两张图像的SIFT特征包括:根据至少两张图像模拟该图像数据的多尺度特征,检测尺度空间的极值点;将极值点作为特征点,确定特征点的位置;确定特征点的方向;生成特征点的描述子。

进一步地,检测尺度空间的极值点包括:选择高斯残差金字塔在尺度空间上的极值点为特征点。

进一步地,确定特征点的位置包括:对特征点邻域像素的数据进行拟合,计算得到位置和尺度。

进一步地,确定特征点的方向包括:将特征点邻域像素的梯度方向分布特性确定每个特征点的方向参数。

进一步地,生成特征点的描述子包括:用高斯权重函数对每个特征点赋以不同的权重,生成128维的描述子。

进一步地,采用BBF查询机制对SIFT特征进行特征匹配包括:对SIFT特征进行匹配,确定不同图像之间像素点的对应关系;采用BBF查询机制得到特征匹配的匹配结果。

进一步地,采用BBF查询机制得到特征匹配的匹配结果包括:利用特征点建立K-D树;使用BBF查询机制确定最近邻点和次近邻点,如果其比值小于或等于某个阈值T,则判定为候选匹配点。

进一步地,基于像素点的对应关系进行运动结构恢复包括:基于像素点的对应关系求解基础矩阵F;根据基础矩阵F和拍摄至少两张图像的相机内参求解本质矩阵E;分解本质矩阵E得到相机外参R和T;使用三角测距法求解三维点坐标。

进一步地,得到三维重建的点云模型包括:计算每一个像素点对应的三维点坐标,得到三维重建的稀疏点云;对稀疏点云进行稠密重建,得到三维重建的稠密点云;将稠密点云模型化,生成被测客体的三维表面。

进一步地,对点云模型进行配准、融合得到被测客体的三维模型包括:得到三维重建的稠密点云后,进行点云过滤;进行点云数据配准、融合处理,得到被测客体的三维模型。

本公开还有一方面提供了一种三维重建系统,包括:获取模块,用于获取被测客体不同视角下的至少两张图像;提取模块,用于提取至少两张图像的SIFT特征;特征匹配模块,用于采用BBF查询机制对SIFT特征进行特征匹配,得到不同图像之间像素点的对应关系;运动结构恢复模块,用于基于像素点的对应关系进行运动结构恢复,得到三维重建的点云模型;点云融合模块,用于对点云模型进行配准、融合得到被测客体的三维模型。

进一步地,还包括:SIFT特征匹配模块,用于对SIFT特征进行匹配,确定不同图像之间像素点的对应关系;BBF查询模块,用于采用BBF查询机制得到特征匹配的匹配结果。

本公开还有一方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,使得处理器执行如前述的三维重建方法。

本公开还有一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前述的三维重建方法。

本公开还有一方面提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前述的三维重建方法。

(三)有益效果

本公开提供的一种三维重建方法、系统、电子设备及存储介质,采用BBF查询机制对SIFT特征进行匹配,并进行运动结构恢复、点云配准、点云融合,该三维重建过程匹配效率高且匹配效果好;并且在该三维重建的方法中采用使用BBF算法做特征匹配,提升了匹配效率,有利于得到更加完善3D模型的整体效果。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开实施例三维重建方法的应用场景示意图;

图2示意性示出了根据本公开实施例的三维重建方法的流程图;

图3示意性示出了根据本公开实施例的提取至少两张图像的SIFT特征的方法流程图;

图4示意性示出了根据本公开实施例的采用BBF查询机制对SIFT特征进行特征匹配的方法流程图;

图5示意性示出了根据本公开实施例的采用BBF查询机制得到特征匹配的匹配结果的方法流程图;

图6示意性示出了根据本公开实施例的基于像素点的对应关系进行运动结构恢复的方法流程图;

图7示意性示出了根据本公开实施例的求解三维点坐标的示意图;

图8示意性示出了根据本公开实施例的得到三维重建的点云模型的方法流程图;

图9示意性示出了根据本公开实施例的3D数字人重建的方法流程图;

图10示意性示出了根据本公开实施例的3D数字人重建中提取图像特征的方法流程图;

图11示意性示出了根据本公开实施例的3D数字人重建中SFM算法实现稀疏重建的方法流程图;

图12示意性示出了根据本公开一实施例的三维重建系统的方框图;

图13示意性示出了根据本公开一实施例的三维重建系统的另一方框图;

图14示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

本公开的实施例提供了一种三维重建方法、系统、电子设备及存储介质,在三维重建的方法中采用使用BBF算法做特征匹配,提升了匹配效率,有利于得到更加完善3D模型的整体效果。

图1示意性示出了根据本公开实施例的可以应用于三维重建方法方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如摄像功能应用、拍照功能应用、网页浏览器应用、搜索类应用、即时通信工具、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的三维重建方法方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于三维重建方法的系统一般可以设置于服务器105中。本公开实施例所提供的三维重建方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于三维重建方法的系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

为了解决用计算机绘图技术构建三维数字人的缺点,本公开提出用运动恢复结构算法(Structure from Motion,SFM)构建3D数字人。在传统的SFM算法中,特征匹配使用的是欧氏距离或者KD-TREE算法,这些算法存在效率低匹配效果差的缺点,为此本文提出使用改进的kd树算法进行特征匹配。在sfm算法生成的稀疏点云基础上使用基于点云扩散的方法进行稠密重建,更加完善3D模型的整体效果。

图2示意性示出了根据本公开实施例的三维重建方法的流程图。

如图2所示,该三维重建方法包括:

在操作S1,获取被测客体不同视角下的至少两张图像。

运动恢复结构的目标是能够利用两个场景或多个场景自动恢复相机运动和场景结构。它是一种自校准的技术能够自动地完成相机追踪与运动匹配。因此,首先需要获取被测客体不同视角下的多张图像。

在操作S2,提取至少两张图像的SIFT特征。

提取关键点,用以检测良好的特征。SIFT特征具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果,这里采用SIFT特征算法。

在操作S3,采用BBF查询机制对SIFT特征进行特征匹配,得到不同图像之间像素点的对应关系。

在传统的三维重建过程中特征匹配使用的是欧氏距离或KD-TREE算法,欧氏距离计算简单但是很容易忽略掉关键特征的匹配。在KD树搜索的过程中最近邻点的查询比较完成过程最终都要回退到根结点而结束,而导致了许多不必要回溯访问和比较,这些多余的损耗在高维数据查找的时候,搜索效率将变得相当低下。在BBF(Best-Bin-First)算法中一个简单的改进思路就是将“查询路径”上的结点进行排序,按各自分割超平面(也称bin)与查询点的距离排序,也就是说,回溯检查总是从优先级最高(Best Bin)的树结点开始。

在操作S4,基于像素点的对应关系进行运动结构恢复,得到三维重建的点云模型。

特征点匹配完成后,通过SFM获取图像中场景的3D坐标,从而对3D场景进行重建。

在操作S5,对点云模型进行配准、融合得到被测客体的三维模型。

点云模型初步建立后,还需要进行点云配准、优化、点云融合等步骤,减少点云中的噪声、孤立点及局部点云密度不均等问题对点云配准的影响,使点云配准结果准确。

图3示意性示出了根据本公开实施例的提取至少两张图像的SIFT特征的方法流程图。

如图3所示,提取至少两张图像的SIFT特征的方法包括:

在操作S21,根据至少两张图像模拟该图像数据的多尺度特征,检测尺度空间的极值点。

为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOGscale-space)。利用不同尺度的高斯差分核与图像卷积生成。首先将尺度空间的结构设计为高斯金字塔和高斯残差金字塔两部分,选择高斯残差金字塔在尺度空间上的极值点为特征点。

在操作S22,将极值点作为特征点,确定特征点的位置。

为了寻找尺度空间的极值点,每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。一个点如果在DOG尺度空间本层以及上下两层的26个领域中是最大或最小值时,就认为该点是图像在该尺度下的一个特征点。

在操作S23,确定特征点的方向。

确定了特征点后,还要为每个特征点计算一个方向,依照这个方向做进一步的计算,利用特征点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备旋转不变性。这里将特征点邻域像素的梯度方向分布特性确定每个特征点指定方向参数。

在操作S24,生成特征点的描述子。

在生成描述矢量之前先将邻域内每个采样点的坐标和梯度方向都沿着关键点的主方向做一个旋转,用高斯权重函数对每个采样点赋以不同的权重,高斯函数的中心在关键点位置,方差为关键点邻域窗口宽度的一半。这种邻域方向性信息联合的思想增强了算法抗噪声的能力,同时对于含有定位误差的特征匹配也提供了较好的容错性。

在上述实施例的基础上,检测尺度空间的极值点包括:选择高斯残差金字塔在尺度空间上的极值点为特征点。

确定特征点的位置和尺度,用尺度空间函数在所有的尺度中搜索稳定的特征,完成尺度空间的极值检测。

在上述实施例的基础上,确定特征点的位置包括:对特征点邻域像素的数据进行拟合,计算得到位置和尺度。

对确定的特征候选点周围数据的拟合来求解关键点精确定位。

在上述实施例的基础上,确定特征点的方向包括:将特征点邻域像素的梯度方向分布特性确定每个特征点的方向参数。

利用特征点邻域像素的梯度方向分布特性为每个特征点指定方向参数,使算子具备旋转不变性。至此,图像的特征点已经检测完毕,每个特征点包含三个信息:位置,所处尺度、方向,由此可以确定一个SIFT特征区域。

在上述实施例的基础上,生成特征点的描述子包括:用高斯权重函数对每个特征点赋以不同的权重,生成128维的描述子。

在每个4*4的1/16象限中,通过加权梯度值加到直方图8个方向区间中的一个,计算出一个梯度方向直方图;这样就可以对每个特征点形成一个4*4*8=128维的描述子,有利于增强匹配的稳健性。

图4示意性示出了根据本公开实施例的采用BBF查询机制对SIFT特征进行特征匹配的方法流程图。

如图4所示,采用BBF查询机制对SIFT特征进行特征匹配点的方法包括:

在操作S31,对SIFT特征进行匹配,确定不同图像之间像素点的对应关系。

当至少两张图像的SIFT特征确定后,需要依据上述描述子判定不同图像中特征点的相似度,确定特征点之间的对应关系。

在操作S32,采用BBF查询机制得到特征匹配的匹配结果。

传统KD树回溯的过程,完全是按照查询时路径决定的,没有考虑查询路径上的数据性质,BBF查询机制能确保优先包含最近邻点的空间,即BBF维护了一个优先队列,每一次查询到左子树或右子树的过程中,同时计算查询点在该维度的中值的距离差保存在优先队列里,同时另一个孩子节点地址也存入队列里,回溯的过程即从优先队列按(差值)从小到大的顺序依次回溯,有利于提升特征点的匹配效率。

图5示意性示出了根据本公开实施例的采用BBF查询机制得到特征匹配的匹配结果的方法流程图。

如图5所示,采用BBF查询机制得到特征匹配的匹配结果的方法包括:

在操作S32 1,利用特征点建立K-D树。

BBF查询机制也是基于K-D树,因此先利用上述特征点建立K-D树。

在操作S322,使用BBF查询机制确定最近邻点和次近邻点,如果其比值小于或等于某个阈值T,则判定为候选匹配点。

用最近邻和次近邻之比的度量标准以及BBF搜索方法得到的特征匹配结果。

图6示意性示出了根据本公开实施例的基于像素点的对应关系进行运动结构恢复的方法流程图。

如图6所示,基于像素点的对应关系进行运动结构恢复的方法包括:

在操作S41,基于像素点的对应关系求解基础矩阵F。

运动恢复结构:请参见图7,已知n个3D点Xj在m张图像中的对应点的像素坐标xij(i=1,...,m,j=1,...n);m张图像对应的摄像机的内参数矩阵为Ki(i=1,...,m),并且xij=MiXj=Ki[Ri Ti]Xj。求m个摄像机投影矩阵Ri,Ti(i=1,...m)和n个三维点的坐标Xj(j=1,...n)。

根据归一化八点法求解基础矩阵F:给定大于等于8组对应点

在步骤S42,根据基础矩阵F和拍摄至少两张图像的相机内参求解本质矩阵E。

利用基础矩阵F和相机内参K求解本质矩阵E

在操作S43,分解本质矩阵E得到相机外参R和T。

分解本质矩阵E得到相机外参R和T。

在操作S44,使用三角测距法求解三维点坐标。

三角化求解三维点X

图8示意性示出了根据本公开实施例的得到三维重建的点云模型的方法流程图。

如图8所示,得到三维重建的点云模型的方法包括:

在操作S441,计算每一个像素点对应的三维点坐标,得到三维重建的稀疏点云。

计算每一个三维点X

在操作S442,对稀疏点云进行稠密重建,得到三维重建的稠密点云。

通过SFM方法获得的点云往往比较稀疏,虽然能过够反映出物体的空间结构但是并不能还原出物体的全貌,因此还需要稠密重建(Multiple View Stereo,MVS)。本公开使用基于点云扩散的方法进行稠密重建,相比基于体素的方法,这种方法效率高,点云精度高的特点。主要实现过程为将sfm生成的3D点投影到原图像,并向投影点周围区域扩散。

在操作S443,将稠密点云模型化,生成被测客体的三维表面。

根据该稠密点云,生成表面,得到三维模型。

在上述实施例的基础上,对点云模型进行配准、融合得到被测客体的三维模型包括:得到三维重建的稠密点云后,进行点云过滤;进行点云数据配准、融合处理,得到被测客体的三维模型。

为了消除扩散区域过大引入不利要的点为问题,需要进行点云过滤,如果扩散的点云在其他图特征点的点云前面了,通过比较各自的一致性来剔除;如果扩散点云跑到后边去了,也比较一致性。这样就能去除深度值不一致且一致性较低的点了。

最后有了稠密点云后,需要进行点云数据融合处理,以获得更加精细的重建模型。通过为所有体素赋予有效距离场(Signed Distance Field,SDF)值,来隐式的模拟表面。SDF值等于此体素到重建表面的最小距离值。当SDF值大于零,表示该体素在表面前;当SDF小于零时,表示该体素在表面后;当SDF值越接近于零,表示该体素越贴近于场景的真实表面。

下面以数字人的三维重建为例对本方法各步骤进行进一步说明。

数字人是通过计算机技术构建出来的高度拟人的虚拟人物形象。数字人能够像现实中的人物一样去和人对话,做动作,数字人为人机交互体验带来更加丰富多彩的形式。数字人也有2D和3D之分,无疑3D数字人更加真实,用户体验也更好。

请参见图9。通过改进的sfm算法进行3D数字人重建,首先采集数据,围绕一个真人或者卡通人360度拍摄一组图像901,此时要注意相机要始终保持在同一水平位置。通过同样的方式拍摄2到3个水平位置的图像。为了更加完善模型的细节可以针对细节部分拍摄特写。

步骤902~903,接下来通过算法提取图像特征并采用BBF算法做特征匹配。

步骤902具体包括步骤9021~9024,请参见图10。

步骤9021,在SIFT算法中首先是提取关键点,此步骤是搜索所有尺度空间上的图像位置,通过高斯微分函数来识别潜在的具有尺度和旋转不变的兴趣点。

步骤9022~9023,接下来定位关键点并确定特征方向。在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。然后基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于这些变换的不变性。

步骤9024,通过各关键点的特征向量,进行两两比较找出相互匹配的若干对特征点,建立景物间的对应关系。使用SIFT做特征提取并使用BBF算法做特征匹配,在BBF算法中一个简单的改进思路就是将“查询路径”上的结点进行排序,按各自分割超平面(也称bin)与查询点的距离排序,也就是说,回溯检查总是从优先级最高(Best Bin)的树结点开始。

步骤904,将属于待建物体的特征保留下来形成稀疏点云。

步骤904具体包括步骤9041~9044,请参见图11。

步骤9041,根据归一化八点法求解基础矩阵F;根据归一化八点法求解基础矩阵F:给定大于等于8组对应点

步骤9042,利用基础矩阵F和相机内参K求解本质矩阵E;

步骤9043,分解本质矩阵E得到相机外参R和T。

步骤9044,三角化求解三维点X

步骤905,接下来通过算法对稀疏点云进行稠密重建。

步骤906,最后将稠密点云模型化,生成物体的表面。

步骤907,最后将原图中的彩色纹理贴在模型上恢复出模型的颜色。这样一个3D的数字人就建模完成了。

图12示意性示出了根据本公开一实施例的三维重建系统的方框图。

如图12所示,该三维重建系统1200包括:获取模块1210、提取模块1220、特征匹配模块1230、运动结构恢复模块1240、点云融合模块1250。

获取模块1210,用于获取被测客体不同视角下的至少两张图像;根据本公开的实施例,获取模块1210例如可以用于执行上文参考图2所描述的S1步骤,在此不再赘述。

提取模块1220,用于提取至少两张图像的SIFT特征;根据本公开的实施例,该提取模块1220例如可以用于执行上文参考图2所描述的S2步骤,在此不再赘述。

特征匹配模块1230,用于采用BBF查询机制对SIFT特征进行特征匹配,得到不同图像之间像素点的对应关系;根据本公开的实施例,该特征匹配模块1230例如可以用于执行上文参考图2所描述的S3步骤,在此不再赘述。

运动结构恢复模块1240,用于基于像素点的对应关系进行运动结构恢复,得到三维重建的点云模型;根据本公开的实施例,该运动结构恢复模块1240例如可以用于执行上文参考图2所描述的S4步骤,在此不再赘述。

点云融合模块1250,用于对点云模型进行配准、融合得到被测客体的三维模型;根据本公开的实施例,该点云融合模块1250例如可以用于执行上文参考图2所描述的S5步骤,在此不再赘述。

如图13所示,该三维重建系统1200还包括:SIFT特征匹配模块1260、BBF查询模块1270。

SIFT特征匹配模块1260,用于对SIFT特征进行匹配,确定不同图像之间像素点的对应关系;根据本公开的实施例,该SIFT特征匹配模块1260例如可以用于执行上文参考图4所描述的S31步骤,在此不再赘述。

BBF查询模块,用于采用BBF查询机制得到特征匹配的匹配结果1270;根据本公开的实施例,该BBF查询模块1270例如可以用于执行上文参考图4所描述的S32步骤,在此不再赘述。

需说明的是,根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,获取模块1210、提取模块1220、特征匹配模块1230、运动结构恢复模块1240、点云融合模块1250、SIFT特征匹配模块1260、BBF查询模块1270中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块1210、提取模块1220、特征匹配模块1230、运动结构恢复模块1240、点云融合模块1250、SIFT特征匹配模块1260、BBF查询模块1270中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块1210、提取模块1220、特征匹配模块1230、运动结构恢复模块1240、点云融合模块1250、SIFT特征匹配模块1260、BBF查询模块1270中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

本公开提供的一种三维重建方法系统及方法,可用于金融科技等领域,特别是3D数字人领域,提供了一种基于改进的kd树算法进行特征匹配,提升了匹配效率,有利于得到更加完善的3D模型的效果。

图14示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图14示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图14所示,本实施例中所描述的电子设备1400,包括:处理器1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机防问存储器(RAM)1403中的程序而执行各种适当的动作和处理。处理器1401例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1401还可以包括用于缓存用途的板载存储器。处理器1401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1403中,存储有系统1400操作所需的各种程序和数据。处理器1401、ROM1402以及RAM 1403通过总线1404彼此相连。处理器1401通过执行ROM 1402和/或RAM 1403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1402和RAM 1403以外的一个或多个存储器中。处理器1401也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1400还可以包括输入/输出(I/O)接口1405,输入/输出(I/O)接口1405也连接至总线1404。系统1400还可以包括连接至I/O接口1405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器1401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的三维重建方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1402和/或RAM 1403和/或ROM1402和RAM 1403以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的三维重建方法。

在该计算机程序被处理器1401执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1409被下载和安装,和/或从可拆卸介质1411被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器1401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。电要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

相关技术
  • 一种三维重建方法、系统、电子设备及存储介质
  • 一种人脸三维重建方法、装置、电子设备及存储介质
技术分类

06120113239044