CN114820929A - 三维重建方法及装置 - Google Patents
三维重建方法及装置 Download PDFInfo
- Publication number
- CN114820929A CN114820929A CN202210430173.1A CN202210430173A CN114820929A CN 114820929 A CN114820929 A CN 114820929A CN 202210430173 A CN202210430173 A CN 202210430173A CN 114820929 A CN114820929 A CN 114820929A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- difference
- data
- point
- distance
- 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
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种三维重建方法及装置,方法包括:计算生成点云中每个第一数据点的第一方向信息,并计算真实点云中每个第二数据点的第二方向信息;计算每个第一数据点与每个第二数据点之间的方向差异;计算每个第一数据点与每个第二数据点之间的距离差异;进行融合处理,以得到带方向的倒角距离损失函数;通过带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。由此,在衡量生成点云与真实点云差异时,不仅考虑了距离差异,而且还加入了方向差异,可以更加准确的衡量生成点云与真实点云的差异,在网络训练过程中更有助于生成点云向真实点云靠近,从而提高三维点云重建的质量。
Description
技术领域
本发明涉及点云技术领域,具体涉及一种三维重建方法和一种三维重建装置。
背景技术
随着科技的发展与社会的进步,三维重建技术在工业与生活扮演者不可或缺的角色,如无人驾驶、VR/AR、人脸识别等;同时它们对三维重建质量的要求也越来越高。近年来,受深度学习技术飞速发展的影响,基于深度学习的三维物体重建方法研究飞速发展,也确确实实提高了三维物体重建的表面质量。虽然基于学习的三维表示多种多样,如体素、点云、面片网格等。但是基于学习的三维重建方法的网络框架却大同小异,都是通过将输入信息经过编码器形成一个隐特征向量,然后再将隐特征向量经过解码器重构出所需要的三维形状表示,最后经过合适的损失函数对网络进行训练。为了能够重构出逼真的三维物体结构,前人工作大多集中于网络架构方面,关于损失函数的研究相对较少。
损失函数很大程度上影响着重建质量,同时反映了监督学习的程度。目前,通常采用CD(Chamfer Distance,倒角距离)作为网络的损失函数。CD损失函数在衡量两个点云差异时,只考虑点与点之间的距离差异,导致三维重建的质量较差。
发明内容
本发明为解决上述技术问题之一,提出了如下技术方案。
本发明第一方面实施例提出了一种三维重建方法,包括以下步骤:获取物体的生成点云,并确定所述物体的真实点云,其中,所述生成点云包含多个第一数据点,所述真实点云包含多个第二数据点;计算所述生成点云中每个所述第一数据点的第一方向信息,并计算所述真实点云中每个所述第二数据点的第二方向信息;根据所有所述第一方向信息和所述第二方向信息,计算每个所述第一数据点与每个所述第二数据点之间的方向差异;计算每个所述第一数据点与每个所述第二数据点之间的距离差异;将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数;通过所述带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
另外,根据本发明上述实施例的三维重建方法还可以具有如下附加的技术特征。
根据本发明的一个实施例,计算所述生成点云中每个所述第一数据点的第一方向信息,包括:确定所述生成点云中与每个第一数据点距离最近的第一数据点,并记为最近数据点;根据每个所述第一数据点与对应的最近数据点之间的连线计算所述第一数据点的切向量;将所述生成点云中每个第一数据点的切向量作为所述第一数据点的第一方向信息。
根据本发明的一个实施例,其中,通过以下公式计算每个所述第一数据点的切向量:
根据本发明的一个实施例,计算所述真实点云中每个所述第二数据点的第二方向信息,包括:确定所述真实点云中每个所述第二数据点的法向量;将每个第二数据点的法向量作为所述第二数据点的第二方向信息。
根据本发明的一个实施例,其中,通过以下公式计算每个所述第一数据点与每个所述第二数据点之间的方向差异:
根据本发明的一个实施例,其中,通过以下公式计算每个所述第一数据点与每个所述第二数据点之间的距离差异:
其中,D表示所述第一数据点q与所述第二数据点p间的距离差异。
根据本发明的一个实施例,将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数,包括:根据所有所述距离差异和所述方向差异,计算所述真实点云到所述生成点云的第一差异、以及所述生成点云到所述真实点云的第二差异;将所述第一差异和所述第二差异进行求和,以得到所述带方向的倒角距离损失函数;其中,根据所有所述距离差异和所述方向差异,计算所述真实点云到所述生成点云的第一差异、以及所述生成点云到所述真实点云的第二差异,包括:计算所述真实点云中每个所述第二数据点到所述生成点云的差异;计算所述生成点云中每个所述第一数据点到所述真实点云的差异;将所有所述第二数据点到所述生成点云的差异求和,以得到所述真实点云到所述生成点云的第一差异;将所有所述第一数据点到所述真实点云的差异求和,以得到所述生成点云到所述真实点云的第二差异。
根据本发明的一个实施例,计算所述真实点云中每个所述第二数据点到所述生成点云的差异,具体包括:从所有所述距离差异中选择每个所述第二数据点对应的第一最小距离差异,其中,每个所述第二数据点对应一个第一最小距离差异和所述生成点云中的一个第一数据点;从所有所述方向差异中选择每个所述第一最小距离差异对应的第一数据点,与对应的所述第二数据点之间的第一方向差异;将每个所述第一最小距离差异与对应的所述第一方向差异进行求和,以得到所述真实点云中每个所述第二数据点到所述生成点云的差异;计算所述生成点云中每个所述第一数据点到所述真实点云的差异,具体包括:从所有所述距离差异中选择每个所述第一数据点对应的第二最小距离差异,其中,每个所述第一数据点对应一个第二最小距离差异和所述真实点云中的一个第二数据点;从所有所述方向差异中选择每个所述第二最小距离差异对应的第二数据点,与对应的所述第一数据点之间的第二方向差异;将每个所述第二最小距离差异与对应的所述第二方向差异进行求和,以得到所述生成点云中每个所述第一数据点到所述真实点云的差异;其中,通过以下公式计算所述带方向的倒角距离损失函数:
其中,表示所述真实点云,表示所述生成点云,表示所述真实点云与所述生成点云间的OCD损失函数,g表示与所述第一最小距离差异对应的第一数据点,h表示与所述第二最小距离差异对应的第二数据点,λ为方向差异的权重。
根据本发明的一个实施例,计算所述真实点云中每个所述第二数据点到所述生成点云的差异,具体包括:从所有所述距离差异中确定每个所述第二数据点到所有所述第一数据点的距离差异,并从所有所述方向差异中确定每个所述第二数据点到所有所述第一数据点的方向差异;将每个所述第二数据点到同一个第一数据点的距离差异和方向差异进行求和,以得到每个所述第二数据点对应的所有第一距离方向差异;从每个第二数据点对应的所有所述第一距离方向差异中选择最小值,作为所述第二数据点到所述生成点云的差异;计算所述生成点云中每个所述第一数据点到所述真实点云的差异,具体包括:从所有所述距离差异中确定每个所述第一数据点到所有所述第二数据点的距离差异,并从所有所述方向差异中确定每个所述第一数据点到所有所述第二数据点的方向差异;将每个所述第一数据点到同一个第二数据点的距离差异和方向差异进行求和,以得到每个所述第一数据点对应的所有第二距离方向差异;从每个第一数据点对应的所有所述第二距离方向差异中选择最小值,作为所述第一数据点到所述真实点云的差异;其中,通过以下公式计算所述带方向的倒角距离损失函数:
本发明第二方面实施例提出了一种三维重建装置,包括:确定模块,用于获取物体的生成点云,并确定所述物体的真实点云,其中,所述生成点云包含多个第一数据点,所述真实点云包含多个第二数据点;第一计算模块,用于计算所述生成点云中每个所述第一数据点的第一方向信息,并计算所述真实点云中每个所述第二数据点的第二方向信息;第二计算模块,用于根据所有所述第一方向信息和所述第二方向信息,计算每个所述第一数据点与每个所述第二数据点之间的方向差异;第三计算模块,用于计算每个所述第一数据点与每个所述第二数据点之间的距离差异;融合模块,用于将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数;重建模块,用于通过所述带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
本发明实施例的技术方案,在衡量生成点云与真实点云差异时,不仅考虑了距离差异,而且还加入了方向差异,可以更加准确的衡量生成点云与真实点云的差异,在网络训练过程中更有助于生成点云向真实点云靠近,从而提高三维点云重建的质量。
附图说明
图1为本发明实施例的三维重建方法的流程图。
图2为本发明一个示例的CD损失函数、ODC损失函数和DCD损失函数的对比示意图。
图3为本发明实施例的三维重建装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的三维重建方法的流程图。
如图1所示,该三维重建方法包括以下步骤S1至S6。
S1,获取物体的生成点云,并确定物体的真实点云,其中,生成点云包含多个第一数据点,真实点云包含多个第二数据点。
其中,生成点云是通过实际测量得到的,而真实点云是通过计算确定的物体的真实的点云。
在本发明实施例中,将生成点云中的点成为第一数据点,将真实点云中的点成为第二数据点。在本发明实施例中,将真实点云作为监督信息。
具体地,生成点云中可包含u个第一数据点,真实点云中可包含v个第二数据点,u可以等于或者不等于v。
S2,计算生成点云中每个第一数据点的第一方向信息,并计算真实点云中每个第二数据点的第二方向信息。
本发明实施例中,将第一数据点的方向信息称为第一方向信息,将第二数据点的方向信息称为第二方向信息。
具体地,在得到生成点云和真实点云后,可通过任何可行的案计算生成点云和真实点云中没每个数据点的方向信息,从而得到所有第一方向信息和所有第二方向信息。
需要说明的是,由于真实点云作为监督信息,在神经网络训练过程中是不变的,故可以通过可靠的方式获得更加准确的第二方向信息。
S3,根据所有第一方向信息和第二方向信息,计算每个第一数据点与每个第二数据点之间的方向差异。
具体地,在得到所有第一方向信息和第二方向信息之后,对于每个第一数据,根据其第一方向信息和各个第二数据点的第二方向信息,确定第一数据点与每个第二数据点之间的方向差异,以得到每个第一数据点与每个第二数据点之间的方向差异,从而得到u×v个方向差异。
S4,计算每个第一数据点与每个第二数据点之间的距离差异。
具体地,可根据第一数据点的数据和第二数据点的数据计算每个第一数据点与每个第二数据点之间的距离差异,从而得到u×v个距离差异。
需要说明的是,在实际应用中,可先执行步骤S2和S4,后执行步骤S4,也可以先执行步骤S4后执行步骤S2和S3,还可以同时执行步骤S2和S3、和步骤S4,具体执行顺序可具体确定。
S5,将所有距离差异与方向差异进行融合处理,以得到带方向的倒角距离损失函数。
具体地,在得到u×v个方向差异和距离差异之后,将u×v个方向差异和距离差异进行融合处理,以得到带方向的倒角距离损失函数。
S6,通过带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
其中,重建网络可以是AtlasNet、FoldingNet、PSGN、PSGN或者AtlasNet-B。
具体地,由于带方向的倒角距离损失函数是根据方向差异和距离差异得到的,其融合了方向和距离,因此,最终得到的带方向的倒角损失函数是带方向的,在通过带方向的倒角距离损失函数对重建网络进行训练时,使得重建网络更准确的获取生成点云与真实点云之间的差异,进而提高了三维点云重建的质量。
相关技术中,仅仅通过距离差异构建损失函数,但是点云作为三维表面表示的一种形式,每个点方向信息也至关重要,因此,本发明实施例中考虑了方向信息对点云表示的重要性,将方向信息加入到点云重建的损失函数,使得重建网络更准确的获取生成点云与真实点云之间的差异,进而提高了点云重建的质量。
由此,本发明实施例的三维重建方法,在衡量生成点云与真实点云差异时,不仅考虑了距离差异,而且还加入了方向差异,可以更加准确的衡量生成点云与真实点云的差异,在网络训练过程中更有助于生成点云向真实点云靠近,从而提高三维点云重建的质量。
在本发明的一个实施例中,上述步骤S2中的计算生成点云中每个第一数据点的第一方向信息,可包括:确定生成点云中与每个第一数据点距离最近的第一数据点,并记为最近数据点;根据每个第一数据点与对应的最近数据点之间的连线计算第一数据点的切向量;将生成点云中每个第一数据点的切向量作为第一数据点的第一方向信息。
其中,通过以下公式计算每个第一数据点的切向量:
需要说明的是,本发明实施例中加粗的字母表示向量。
具体而言,对于生成点云,将生成点云中某点q的切向量tq作为该点的第一方向信息,通过生成点云中某一点q到该点云中距离该点最近的点w的连线计算该点q的切向量tq,即根据以上公式计算每个第一数据点的切向量,w是距离q最近的点,且w不等于q,即w与q不属于同一个数据点。
需要说明的是,在后续进行神经网络训练时,由于每次迭代,生成点云都会改变,其方向信息需要重新计算,相关技术中在计算生成点云方向信息时涉及太多的相邻点,将占用大量的计算资源,为此,在本发明实施例中近选择与最近点间的连线计算切向量,即仅考虑了最近点,从而节省了计算资源。
在本发明的一个实施例中,上述步骤S2中的计算真实点云中每个第二数据点的第二方向信息,可包括:确定真实点云中每个第二数据点的法向量;将每个第二数据点的法向量作为第二数据点的第二方向信息。
具体而言,对于真实点云,将真实点云中某点p的法向量np作为该点的方向信息,其中,可通过真实物体的三维模型计算出该物体点云中每个点对应曲面的法线方向,或直接通过该物体点云使用点云主成分分析来计算每个点的法线方向。
在本发明的一个实施例中,在上述步骤S3中,可通过以下公式计算每个第一数据点与每个第二数据点之间的方向差异:
具体而言,在得到每个第一数据点的切向量和每个第二数据点的法向量之后,通过以上公式计算每个切向量与所有法向量间的方向差异,即可得到每个第一数据点与所有第二数据点间的方向差异。其中,使用点积来表示两个向量的差异,平方是为了保证只有切向与法向的夹角为90度时,该项的值最小,为0;即生成点云上点的方向与真实的方向相同。否则,当夹角为0度或180度时,该项值最大,为1。
在本发明的一个实施例中,在上述步骤S4中,可通过以下公式计算每个第一数据点与每个第二数据点之间的距离差异:
其中,D表示第一数据点q与第二数据点p间的距离差异。
具体而言,可通过以上公式计算每个第一数据点与所有第二数据点之间的距离差异,式中为了避免开根号这样复杂的计算,将两点间距离的平方作为两点的距离差异。
在本发明的一个实施例中,上述步骤S5,即将所有距离差异与方向差异进行融合处理,以得到带方向的倒角距离损失函数,可包括:根据所有距离差异和方向差异,计算真实点云到生成点云的第一差异、以及生成点云到真实点云的第二差异;将第一差异和第二差异进行求和,以得到带方向的倒角距离损失函数。
其中,第一差异是指真实点云到生成点云的差异,包括距离差异和方向差异,第二差异是指生成点云到真实点云的差异,包括距离差异和方向差异。
在本发明的一个示例中,根据所有距离差异和方向差异,计算真实点云到生成点云的第一差异、以及生成点云到真实点云的第二差异,可包括:计算真实点云中每个第二数据点到生成点云的差异;计算生成点云中每个第一数据点到真实点云的差异;将所有第二数据点到生成点云的差异求和,以得到真实点云到生成点云的第一差异;将所有第一数据点到真实点云的差异求和,以得到生成点云到真实点云的第二差异。
需要说明的是,由于通过上述计算,得到生成点云与真实点云之间的方向差异和距离差异,可将方向差异和距离差异通过两种方式进行融合,具体地可通过两种方式计算数据点到点云的差异,从而得到两种倒角损失函数,下面通过两个示例进行说明。
在本发明的一个示例中,计算真实点云中每个第二数据点到生成点云的差异,可具体包括:从所有距离差异中选择每个第二数据点对应的第一最小距离差异,其中,每个第二数据点对应一个第一最小距离差异和生成点云中的一个第一数据点;从所有方向差异中选择每个第一最小距离差异对应的第一数据点,与对应的第二数据点之间的第一方向差异;将每个第一最小距离差异与对应的第一方向差异进行求和,以得到真实点云中每个第二数据点到生成点云的差异。
该示例中,计算生成点云中每个第一数据点到真实点云的差异,可具体包括:从所有距离差异中选择每个第一数据点对应的第二最小距离差异,其中,每个第一数据点对应一个第二最小距离差异和真实点云中的一个第二数据点;从所有方向差异中选择每个第二最小距离差异对应的第二数据点,与对应的第一数据点之间的第二方向差异;将每个第二最小距离差异与对应的第二方向差异进行求和,以得到生成点云中每个第一数据点到真实点云的差异。
其中,第一最小距离差异是指第二数据对应的距离差异中的最小值,第二最小距离差异是指第一数据对应的距离差异中的最小值。
具体而言,首先从每个第二数据点(例如第二数据点p)的u个距离差异中选择一个最小的距离差异,作为第一最小距离差异,如此得到v个第一最小距离差异,并确定与每个第一最小距离差异对应的第一数据点(例如第一数据点g),并从所有方向差异中选择与第一最小距离差异对应的第一数据点(第一数据点g),与对应的第二数据点(第二数据点p)间的第一方向差异,以得到v个第一方向差异,然后对于每个第二数据点,将其对应的第一最小距离差异和第一方向差异求和,以得到每个第二数据点到生成点云的差异。将各个第二数据点到生成点云的差异进行求和得到真实点云到生成点云的第一差异。
类似的,首先从每个第一数据点(例如第一数据点q)的v个距离差异中选择一个最小的距离差异,作为第二最小距离差异,如此得到u个第二最小距离差异,并确定与每个第二最小距离差异对应的第二数据点(例如第二数据点h),并从所有方向差异中选择与第二最小距离差异对应的第二数据点(第二数据点h),与对应的第一数据点(第一数据点q)间的第二方向差异,以得到u个第二方向差异,然后对于每个第一数据点,将其对应的第二最小距离差异和第二方向差异求和,以得到每个第一数据点到真实点云的差异。将各个第一数据点到真实点云的差异进行求和得到生成点云到真实点云的第二差异。
之后,将第一差异和第二差异求和,得到倒角距离损失函数,该函数为OCD(Oriented Chamfer Distance)损失函数。
通过上述描述可知,可通过以下公式计算倒角距离损失函数:
在本发明的另一个示例中,计算真实点云中每个第二数据点到生成点云的差异,具体包括:从所有距离差异中确定每个第二数据点到所有第一数据点的距离差异,并从所有方向差异中确定每个第二数据点到所有第一数据点的方向差异;将每个第二数据点到同一个第一数据点的距离差异和方向差异进行求和,以得到每个第二数据点对应的所有第一距离方向差异;从每个第二数据点对应的所有第一距离方向差异中选择最小值,作为第二数据点到生成点云的差异。
该示例中,计算生成点云中每个第一数据点到真实点云的差异,具体包括:从所有距离差异中确定每个第一数据点到所有第二数据点的距离差异,并从所有方向差异中确定每个第一数据点到所有第二数据点的方向差异;将每个第一数据点到同一个第二数据点的距离差异和方向差异进行求和,以得到每个第一数据点对应的所有第二距离方向差异;从每个第一数据点对应的所有第二距离方向差异中选择最小值,作为第一数据点到真实点云的差异。
其中,第一距离方向差异是指真实点云中的第二数据点到生成点云的差异,其包括距离差异和方向差异。第二距离方向差异是指生成点云中的第一数据点到真实点云的差异,其包括距离差异和方向差异。
具体而言,首先在每个第二数据点对应的u个距离差异和方向差异中,将第二数据点(例如第二数据点p)到同一个第一数据点(例如第二数据点q)的距离差异和方向差异进行求和,得到每个第二数据点对应的v个第一距离方向差异,从中选择最小值作为第二数据点到生成点云的差异,从而得到每个第二数据点到生成点云的差异,将各个第二数据点到生成点云的差异进行求和得到真实点云到生成点云的第一差异。
类似的,在每个第一数据点对应的v个距离差异和方向差异中,将第一数据点(例如第一数据点q)到同一个第二数据点(例如第一数据点p)的距离差异和方向差异进行求和,得到每个第一数据点对应的u个第二距离方向差异,从中选择最小值作为第一数据点到真实点云的差异,从而得到每个第一数据点到真实点云的差异,将各个第一数据点到真实点云的差异进行求和得到生成点云到真实点云的第二差异。
之后,将第一差异和第二差异求和,得到倒角距离损失函数,该函数DCD(Directional Chamfer Distance)损失函数。
通过上述描述可知,可通过以下公式计算倒角距离损失函数:
也就是说,本发明实施例中,可通过对距离差异和方向差异的两种融合方式,得到两种带方向的倒角距离损失函数,一种是OCD损失函数,另一种是DCD损失函数,而现有技术中得到的是CD损失函数。其中,如图2所示,在计算真实点云中的数据点p与生成点云中的数据点q间的差异时,CD损失函数中仅仅考虑了最短距离,将最短距离作为距离差异,而OCD损失函数中不仅考虑最短距离,还在每个最短距离的基础上加入了方向差异,DCD损失函数同时考虑了距离差异和方向差异,将距离差异和方向差异作为整体计算最小值,来确定损失函数。OCD损失函数和DCD损失函数相较于原始倒角距离损失函数,带有方向,且能够使得生成点云更加毕竟真实点云。
为了验证本发明实施例得到的两种损失函数较CD损失函数能够取得更加逼真的结果,进行相关的实验:将本发明的倒角距离损失函数与现有技术中的倒角距离损失函数进行比较,实验选用了几个经典的三维重建网络,包括AtlasNet-25、FoldingNet、PSGN和AtlasNet-Basline。其中AtlasNet和FoldingNet作为可变形面片重建网络的代表,PSGN和AtlasNet-Basline作为点云重建网络的代表。为了验证本发明实施例的有效性,在保证网络结构、数据集、批次大小和训练周期统一的情况下,通过只改变损失函数的方式进行实验,并从定性和定量两个方面对实验结果进行评估,可采用CD、EMD(Earth Mover’sDistance)和FPD(Frechet Pointcloud Distance)作为定量评价指标。
通过实验得出,本发明实施例提出的带方向的倒角距离(OCD和DCD)损失在不同网络框架中的定量结果整体上好于原始的倒角距离(CD)损失。
经过进一步实验得出,本发明实施例提出的带方向的倒角距离(OCD和DCD)损失在不同网络框架中的重建结果在可视化方面优于原始的倒角距离(CD)。在飞机引擎、柜子棱角、长椅的扶手和腿等细节方面,本发明实施例的带方向的倒角距离损失函数都能够取得更加逼真的结果,优于原始的倒角距离函数。
综上所述,本发明提出的带方向的倒角距离损失由于原始的倒角距离损失,经过带方向的倒角距离损失训练的网络能够取得更好的重建结果,而且该损失函数可以用于所有以点云为监督信息的三维重建网络中。
对应上述实施例的三维重建方法,本发明还提出一种三维重建装置。
图3为本发明实施例的三维重建装置的方框示意图。
如图3所示,该三维重建装置包括:确定模块10、第一计算模块20、第二计算模块30、第三计算模块40、融合模块50和重建模块60。
其中,确定模块10用于获取物体的生成点云,并确定所述物体的真实点云,其中,所述生成点云包含多个第一数据点,所述真实点云包含多个第二数据点;第一计算模块20用于计算所述生成点云中每个所述第一数据点的第一方向信息,并计算所述真实点云中每个所述第二数据点的第二方向信息;第二计算模块30用于根据所有所述第一方向信息和所述第二方向信息,计算每个所述第一数据点与每个所述第二数据点之间的方向差异;第三计算模块40用于计算每个所述第一数据点与每个所述第二数据点之间的距离差异;融合模块50用于将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数;重建模块60用于通过所述带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
需要说明的是,该三维重建装置的具体实施方式可参见上述三维重建方法的具体实施方式,为避免冗余,此处不再详细赘述。
本发明实施例的三维重建装置,在衡量生成点云与真实点云差异时,不仅考虑了距离差异,而且还加入了方向差异,可以更加准确的衡量生成点云与真实点云的差异,在网络训练过程中更有助于生成点云向真实点云靠近,从而提高三维点云重建的质量。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种三维重建方法,其特征在于,包括以下步骤:
获取物体的生成点云,并确定所述物体的真实点云,其中,所述生成点云包含多个第一数据点,所述真实点云包含多个第二数据点;
计算所述生成点云中每个所述第一数据点的第一方向信息,并计算所述真实点云中每个所述第二数据点的第二方向信息;
根据所有所述第一方向信息和所述第二方向信息,计算每个所述第一数据点与每个所述第二数据点之间的方向差异;
计算每个所述第一数据点与每个所述第二数据点之间的距离差异;
将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数;
通过所述带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
2.根据权利要求1所述的三维重建方法,其特征在于,计算所述生成点云中每个所述第一数据点的第一方向信息,包括:
确定所述生成点云中与每个第一数据点距离最近的第一数据点,并记为最近数据点;
根据每个所述第一数据点与对应的最近数据点之间的连线计算所述第一数据点的切向量;
将所述生成点云中每个第一数据点的切向量作为所述第一数据点的第一方向信息。
4.根据权利要求3所述的三维重建方法,其特征在于,计算所述真实点云中每个所述第二数据点的第二方向信息,包括:
确定所述真实点云中每个所述第二数据点的法向量;
将每个第二数据点的法向量作为所述第二数据点的第二方向信息。
7.根据权利要求6所述的三维重建方法,其特征在于,将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数,包括:
根据所有所述距离差异和所述方向差异,计算所述真实点云到所述生成点云的第一差异、以及所述生成点云到所述真实点云的第二差异;
将所述第一差异和所述第二差异进行求和,以得到所述带方向的倒角距离损失函数;
其中,根据所有所述距离差异和所述方向差异,计算所述真实点云到所述生成点云的第一差异、以及所述生成点云到所述真实点云的第二差异,包括:
计算所述真实点云中每个所述第二数据点到所述生成点云的差异;
计算所述生成点云中每个所述第一数据点到所述真实点云的差异;
将所有所述第二数据点到所述生成点云的差异求和,以得到所述真实点云到所述生成点云的第一差异;
将所有所述第一数据点到所述真实点云的差异求和,以得到所述生成点云到所述真实点云的第二差异。
8.根据权利要求7所述的三维重建方法,其特征在于,计算所述真实点云中每个所述第二数据点到所述生成点云的差异,具体包括:
从所有所述距离差异中选择每个所述第二数据点对应的第一最小距离差异,其中,每个所述第二数据点对应一个第一最小距离差异和所述生成点云中的一个第一数据点;
从所有所述方向差异中选择每个所述第一最小距离差异对应的第一数据点,与对应的所述第二数据点之间的第一方向差异;
将每个所述第一最小距离差异与对应的所述第一方向差异进行求和,以得到所述真实点云中每个所述第二数据点到所述生成点云的差异;
计算所述生成点云中每个所述第一数据点到所述真实点云的差异,具体包括:
从所有所述距离差异中选择每个所述第一数据点对应的第二最小距离差异,其中,每个所述第一数据点对应一个第二最小距离差异和所述真实点云中的一个第二数据点;
从所有所述方向差异中选择每个所述第二最小距离差异对应的第二数据点,与对应的所述第一数据点之间的第二方向差异;
将每个所述第二最小距离差异与对应的所述第二方向差异进行求和,以得到所述生成点云中每个所述第一数据点到所述真实点云的差异;
其中,通过以下公式计算所述带方向的倒角距离损失函数:
9.根据权利要求7所述的三维重建方法,其特征在于,计算所述真实点云中每个所述第二数据点到所述生成点云的差异,具体包括:
从所有所述距离差异中确定每个所述第二数据点到所有所述第一数据点的距离差异,并从所有所述方向差异中确定每个所述第二数据点到所有所述第一数据点的方向差异;
将每个所述第二数据点到同一个第一数据点的距离差异和方向差异进行求和,以得到每个所述第二数据点对应的所有第一距离方向差异;
从每个第二数据点对应的所有所述第一距离方向差异中选择最小值,作为所述第二数据点到所述生成点云的差异;
计算所述生成点云中每个所述第一数据点到所述真实点云的差异,具体包括:
从所有所述距离差异中确定每个所述第一数据点到所有所述第二数据点的距离差异,并从所有所述方向差异中确定每个所述第一数据点到所有所述第二数据点的方向差异;
将每个所述第一数据点到同一个第二数据点的距离差异和方向差异进行求和,以得到每个所述第一数据点对应的所有第二距离方向差异;
从每个第一数据点对应的所有所述第二距离方向差异中选择最小值,作为所述第一数据点到所述真实点云的差异;
其中,通过以下公式计算所述带方向的倒角距离损失函数:
10.一种三维重建装置,其特征在于,包括:
确定模块,用于获取物体的生成点云,并确定所述物体的真实点云,其中,所述生成点云包含多个第一数据点,所述真实点云包含多个第二数据点;
第一计算模块,用于计算所述生成点云中每个所述第一数据点的第一方向信息,并计算所述真实点云中每个所述第二数据点的第二方向信息;
第二计算模块,用于根据所有所述第一方向信息和所述第二方向信息,计算每个所述第一数据点与每个所述第二数据点之间的方向差异;
第三计算模块,用于计算每个所述第一数据点与每个所述第二数据点之间的距离差异;
融合模块,用于将所有所述距离差异与所述方向差异进行融合处理,以得到带方向的倒角距离损失函数;
重建模块,用于通过所述带方向的倒角距离损失函数对重建网络进行训练,并通过训练后的重建网络对待建对象进行三维重建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210430173.1A CN114820929A (zh) | 2022-04-22 | 2022-04-22 | 三维重建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210430173.1A CN114820929A (zh) | 2022-04-22 | 2022-04-22 | 三维重建方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114820929A true CN114820929A (zh) | 2022-07-29 |
Family
ID=82506035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210430173.1A Pending CN114820929A (zh) | 2022-04-22 | 2022-04-22 | 三维重建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114820929A (zh) |
-
2022
- 2022-04-22 CN CN202210430173.1A patent/CN114820929A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112347550B (zh) | 耦合式室内三维语义建图及建模方法 | |
US20150015602A1 (en) | System and method for selective determination of point clouds | |
CN107610110B (zh) | 一种全局和局部特征相结合的跨尺度图像质量评价方法 | |
Fountas et al. | An integrated framework for optimizing sculptured surface CNC tool paths based on direct software object evaluation and viral intelligence | |
EP3791319A1 (en) | Computer vision and speech algorithm design service | |
CN115272572A (zh) | 输电线路重建方法、装置、电子设备及存储介质 | |
CN115439694A (zh) | 一种基于深度学习的高精度点云补全方法及装置 | |
JP7220083B2 (ja) | 風速分布推定装置及び風速分布推定方法 | |
CN115423995A (zh) | 一种轻量化幕墙裂纹目标检测方法及系统、安全预警系统 | |
Gálvez et al. | Immunological-based approach for accurate fitting of 3D noisy data points with Bézier surfaces | |
CN107492129B (zh) | 基于素描表示和结构化聚类的非凸压缩感知优化重构方法 | |
Taylor Owens et al. | An image processing technique to identify crack tip position and automate fracture parameter extraction using DIC: application to dynamic fracture | |
US20210150078A1 (en) | Reconstructing an object | |
CN114820929A (zh) | 三维重建方法及装置 | |
CN111915489A (zh) | 一种基于监督深度网络学习的图像重定向方法 | |
CN114492216B (zh) | 一种基于高分辨率表征学习的抽油机运行轨迹模拟方法 | |
Ritter et al. | Robust reconstruction of curved line structures in noisy point clouds | |
CN107832512A (zh) | 一种曲率变化复杂度的计算方法 | |
CN111428420B (zh) | 海表流流速预测方法、装置、计算机设备和存储介质 | |
CN115331005A (zh) | 一种基于深监督融合和特征平滑的指向性物体分割方法 | |
CN113869033A (zh) | 融入迭代式句对关系预测的图神经网络句子排序方法 | |
CN109166128B (zh) | 一种非等效三维点云分割方法 | |
Hodges et al. | AI/ML applications for ship design | |
Martinez-Sanchez et al. | Simulating the cellular context in synthetic datasets for cryo-electron tomography | |
Lee et al. | GAMer 2: a system for 3D mesh processing of cellular electron micrographs |
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 |