法律状态公告日
法律状态信息
法律状态
2022-08-23
实质审查的生效 IPC(主分类):G06T 5/00 专利申请号:2022103368274 申请日:20220401
实质审查的生效
2022-08-05
公开
发明专利申请公布
技术领域
本发明涉及计算机视觉的三维数据重建技术领域,具体涉及一种基于标准化流理论的三维点云去噪方法。
背景技术
点云作为一种常用的三维数据格式,被广泛应用在几何分析、机器人物体识别、自动驾驶等多种场景之中。从激光扫描仪、深度相机、LiDAR传感器等3D数据捕获设备获取的数据大都是点云的格式,但由于采样环境的复杂性和三维采样设备的硬件限制,捕获的原始点集经常是稀疏、非均匀且带有噪声的。而许多的三维分析的工作,如机器人感知、点云场景渲染、网格表面重建等,都对点云的质量提出了非常高的要求。因此,点云的去噪工作是实现点云数据分析的关键步骤之一。
点云的噪声类型和噪声层级是多样的,场景复杂的光照环境,扫描设备的硬件特性,扫描障碍物的阻挡等因素都是噪声产生的来源,而实际扫描的点云数据是以上多种噪声来源的综合作用的结果。这些因素都给点云去噪工作造成了困难和挑战。
现有的点云去噪方法大致可以分成两类:传统基于优化的方法和基于深度学习的方法。
传统基于优化的方法,如稀疏优化、隐式曲面投影、图优化等方法,在某些噪声环境下能取得不错的效果,但这类技术方案的去噪过程依赖于点云法线等额外数据的辅助,且往往需要预先了解点云噪声的分布特征与噪声水平以选取合适的去噪参数,导致其泛化能力较差。
基于深度学习的点云去噪方法大致可以分成两种思路。第一种技术方案是估计底层表面的属性,并通过神经网络给预测每个点对应的修正数据,如点坐标值、点偏移量、迭代的移动方向等。这种技术方案较为直观、易于理解,但每个点的特征都是单独地从其局部感知域提取,因此对于部分本身噪声程度较大的点,其对物体表面的估计可能与周围的点相差较大,导致出现异常值、陡峭的表面等现象。第二种技术方案是先从噪声点云去除噪声程度较大的点,再从点云表面上采样新的点集。这种技术方案倾向于从输入点云中移除较多点,因此不可避免地会丢弃较多的几何信息,导致细节的缺失。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于标准化流理论的三维点云去噪的方法。
本发明的目的可以通过采取如下技术方案达到:
一种基于标准化流理论的三维点云去噪方法,所述三维点云去噪方法包括以下步骤:
S1、合成三维物体表面的点云数据集,包括收集三维物体表面的三维网格数据,使用柏松碟采样算法从三维网格中采样点云数据,将点云分割成分辨率固定的点块;
S2、构建基于标准化流的点云去噪网络,包括依次顺序连接的维度增强模块
S3、训练基于标准化流的点云去噪网络,该点云去噪网络利用最小化损失的思想,以端到端的方式训练;在训练的每次迭代中,从点云数据集中随机选取点块
S4、点云分割,在测试使用时先将噪声点云分割成分辨率固定的点块
S5、点云去噪,将分割后的点块
S6、点云合并,根据记录的点块坐标位移和缩放比例恢复去噪点块
进一步地,所述步骤S1中使用柏松碟采样算法从三维网格中采样点云数据的过程如下:首先在三维网格表面随机生成大量的候选点,然后将三维网格的包围盒均匀地切割多个三维体素,迭代地从各个三维体素中抽取点作为已选点并从候选点中移除与已选点相近的点,直到已选点数达到指定点云分辨率。柏松碟采样算法能有效地生成均匀分布和任意分辨率的点云数据,有利于更精确地计算点云去噪网络训练时的重构损失,提高点云去噪网络收敛能力。
进一步地,所述步骤S1和步骤S4中点块分割的过程如下:首先使用最远点采样(Farthest Point Sampling,FPS)算法从完整点云中采样出多个距离较远的点作为每个点块的初始点,然后以初始点为中心使用最近邻(K-Nearest Neighbors,KNN)搜索算法扩充点块到固定的分辨率大小N,得到分割后的多个点块(patch)。将点云分割成分辨率固定的点块来处理有利于将点云去噪网络的计算和内存开销维持在常量水平,且可以利用GPU的并行特性同时处理多个点块,大幅提升点云去噪速度。
进一步地,所述步骤S5中维度增强模块
采样增强特征:采样模块
提取逐点的条件特征:条件模块
变换增强特征:流变换模块
维度增强后的点块特征
进一步地,所述步骤S5中标准化流模块
进一步地,所述步骤S5中噪声过滤模块
进一步地,所述步骤S3中数据增强技术包括点块的缩放、点序的扰乱、沿任意轴的随机旋转;添加随机噪声的类型包括各向同性和各向异性的高斯噪声、均匀噪声、离散噪声和方向性噪声、LiDAR扫描噪声。数据增强技术有利于提高点云去噪网络训练数据的多样性,避免过拟合现象。添加随机噪声有利于点云去噪网络适应多种噪声类型的输入数据,提高本发明多样的噪声点云时的泛化能力。
进一步地,将噪声点块依次经过维度增强模块
进一步地,所述步骤S3中,训练过程所使用的损失函数是重构损失、先验损失和去噪损失的组合。重构损失有利于提高输出点块的精确度和均匀性,先验损失有利于提高点云去噪网络的分布变换能力,去噪损失有利于提高点云去噪网络的收敛速度和训练的稳定性。
本发明相对于现有技术具有如下的优点及效果:
1、适用范围广。本发明提出使用多样的噪声环境训练点云去噪网络,因此本发明能同时处理多种噪声类型,如模拟的LiDAR噪声、各向异性的高斯噪声(non-isotropicGaussian noise)、离散噪声(discrete noise)、方向性噪声(uni-directional noise)等。与传统基于优化的去噪算法需要针对噪声类型设计算法相比,本方法的泛用性更强。
2、去噪效果显著。本发明提出使用维度增强技术方案有效地提高了标准流模块的分布变换能力和特征表达能力,提升了噪声过滤的灵活性,本发明点云生成的质量与均匀性均要优异于现有的方法。
3、能还原真实的几何细节。本发明提出使用标准化流技术来实现点云特征的编码和解码过程,该技术方案在实现了分离噪声特征的同时,也保留了干净点云的几何细节与拓扑邻接关系,避免了直接移除异常值所造成的细节缺失和点云分布不均的问题,最大程度还原点云的几何特征。
4、可适配多种点云分辨率。本发明提出使用点块(patch)为单位进行去噪,该技术方案能使本发明的计算开销和内占用维持在常量水平,可以充分利用GPU并行特性加速去噪。本发明提出的分组去噪方法使去噪的性能不受点云分辨率的影响,可实现规模更大的点云场景的去噪。
5、用户使用方便。本发明能适应多种噪声水平,且不需要输入额外的辅助数据(如点云法线、物体表面属性、噪声分布模式等),其去噪过程不需要用户的干预和监督,避免了繁琐的参数调节。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明中公开的点云去噪方法的实施例技术流程图,其中包含六个步骤,其中S1-S3属于训练过程,S4-S6属于测试使用过程;
图2是本发明中设计的点云去噪网络结构的一种实例图;
图3是本发明点云去噪效果的示意图;
图4是本发明所设计的点云去噪网络中维度增强模块的实施技术流程图;
图5是本发明所设计的点云去噪网络中标准化流模块的实施技术流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
噪声点云可以看作是关于干净点云与环境噪声的联合分布的采样结果,因此点云去噪问题可以看作是从噪声点云的特征中过滤出噪声因子的过程,该原理与信号处理中的低通滤波类似。本发明提出使用标准化流来拟合三维物体表面的点云数据的编码和解码过程。标准化流作为一种新型的生成模型,具有可解析的概率密度,可逆性分布变换,高效的推理和生成过程等特点。
由于标准化流结构本身需要满足可解析的可逆性,这导致标准化流层的输入和输出数据必须具有相同的维度,这一特点限制三维物体表面的点云数据在隐空间下的特征表达能力。为了解决这一问题,本发明提出使用维度增强模块给点云增加额外的通道数,以增强每个点的特征表达的自由度,从而提升去噪网络的分布变换能力。
标准化流具有能够把一个复杂的分布转化为一个特征分离的隐空间的特性,基于这一特性,本发明提出了三种噪声过滤方式来实现噪声因子的移除。与传统点云去噪方法大多在欧拉空间下实现坐标的修正的技术方案相比,本发明的噪声过滤是在在隐空间下进行,具有操作简单、易于优化的特性。
在去噪对象上,如果直接对完整点云去噪,则去噪方法的邻域搜索和内存占用开销会随着点云分辨率的增加而线性增长,这会导致去噪方法难以处理大规模的点云场景。为此,本发明提出以点块(patch)为单位进行去噪,这使得算法的搜索和内存开销维持在常量水平,降低本发明对三维物体表面属性的推理难度,且可以利用GPU并行特性提升去噪速度。
为了帮助理解本发明的技术方案,这里对本发明中涉及的标准化流方法进行解释。
标准化流(Normalizing flows,NFs)方法,也被称作流模型(flow models)是一种数据生成模型。标准化流由一系列可逆的分布变换组成,用于拟合数据在复杂的分布与简单的分布之间变换过程,其变换(传播)过程是可逆且无损的,这确保了数据在分布转换的过程中不会有信息的丢失。根据变量变换公式(change of variable formula)和链式法则(the chain rule),使用标准化流拟合数据的概率密度可以精确地计算,因此标准化流模型可以使用极大似然估计方法来优化。标准化流能够把一个复杂的分布转化为一个特征分离的隐空间,即隐变量中噪声因子和干净点云的特征是分离的,这是本发明的理论基础。标准化流的定义和理论可参考论文《Nice:Non-linear independent componentsestimation》。
针对目前点云去噪算法存在的去噪结果过光滑、点云收缩、细节丢失等问题,本发明提出了一种基于标准化流神经网络的点云去噪方法来降低点云的噪声程度,该方法包含训练和测试使用两个阶段,在训练完毕后即可使用。具体来说,该方法包括以下步骤:
S1、合成三维物体表面的点云数据集,收集三维物体表面的三维网格数据,使用柏松碟采样算法从三维网格中采样点云数据,将点云分割成分辨率固定的点块(patch)。
该步骤中,柏松碟采样算法从三维网格中采样点云数据的具体过程如下:
首先在三维网格的表面上随机生成大量的点,直到完全覆盖三维网格的各个表面,生成的点组成候选点集S
该步骤中,完整点云分割成点块的具体过程如下:
首先使用最远点采样(Farthest Point Sampling,FPS)算法从完整点云中采样出多个距离较远的点作为每个点块的初始点。
以初始点为中心使用最近邻(K-Nearest Neighbors,KNN)搜索算法扩充点块到固定的分辨率大小N,得到分割后的多个点块(patch)。
该步骤中,最远点采样算法的基本原理是从点云中迭代地选取距离较远的点,具体过程为:首先将待采样的点云作为候选点集S
该步骤中,最近邻搜索算法的基本原理是把欧拉空间下距离最相近的点作为邻居,具体过程为:给定待查询的点q,遍历点集中的每个点p,计算点p与点q在欧拉空间下的距离,将距离作排序,选取距离值最小的k个点作为点q的邻居。
S2、构建基于标准化流的点云去噪网络,包括维度增强模块
当前步骤下,维度增强模块
具体地,条件模块
维度增强后标准化流是传统的标准化流的泛化和扩展,这使得增强后的流模型能拟合更复杂的函数,避免了流层频繁地重新从低维特征中提取高维特征。增强后的维度可以给噪声过滤模块中的去噪操作提供更多可操作的空间和灵活性。关于维度增强的理论,可参考论文《Vflow:More expressive generative flows with variational dataaugmentation》。
该步骤中,标准化流模块
具体地,仿射耦合层(Affine coupling layer)用于提取和聚合数据不同维度的信息,是实现标准化流分布变换的核心层。同时由于该层在结构上的特点,无论使用任意复杂的卷积算子都不会影响网络的可逆性,这简化了似然损失的计算,提高了标准化模型的分布转换的性能和灵活性。
具体地,排列置换层(Permutation layer)对变量的通道作置换,以确保标准化流变换过程中,处理数据的所有通道都能够被充分地处理,有利于增强标准化流层的非线性变换能力。
具体地,激活归一化层(Actnorm layer)使用一个可学习的缩放(scale)参数μ和偏移(bias)参数σ项对数据作逐通道作归一化。激活归一化层可以看作是针对数据的每一个通道做了一次线性缩放,有利于提高网络训练的稳定性。
当前步骤下,噪声过滤模块
具体地,固定的二元掩码(Fix Binary Mask,FBM)引入了一个D维向量
具体地,可学习的二元掩码(Learnable Binary Mask,LBM)的操作方式与固定的二元掩码方法类似,但在该方法中向量
具体地,隐变量一致性(Latent Code Consistency,LCC)使用一个可学习的D×D维矩阵来变换点云的隐变量表示,该过程可用公式表示为
S3、训练基于标准化流的点云去噪网络。该网络利用最小化损失的思想,以端到端的方式训练;在训练的每次迭代中,从点云数据集中随机选取点块
该步骤中,数据增强技术包括点块的缩放、点序的扰乱、沿任意轴的随机旋转等操作方式,这些方式会联合应用到输入点块上。数据增强技术能提高训练数据的多样性,避免过拟合现象。
该步骤中,训练噪声的类型包括各向同性和各向异性的高斯噪声、均匀噪声、离散噪声、方向性噪声和LiDAR扫描噪声等。在每次迭代训练过程中,会随机选取一种噪声类型添加到输入点块
该步骤中,本方法使用PyTorch深度学习框架实现点云去噪网络的结构,并使用Adam优化器来更新网络参数。网络训练损失为重构损失(Reconstruction loss)、先验损失(Prior loss)和去噪损失(Denoise loss)的组合。其中重构损失用于评估本方法预测点云与参考点云的相似性,使用推土机(Earth Mover's Distance,EMD)距离来实现。先验损失基于极大似然估计的方法尽可能地最大化噪声点云的似然概率,去噪损失作为损失函数正则项,用于将噪声过滤模块中学习的参数规范在合理的数值范围。
S4、点云分割。在测试使用时,需要先将噪声点云分割成分辨率固定的点块,并将点块内的坐标值归一化到[-1,1]的范围内,并记录归一化时每个点块在坐标位移和缩放比例。
S5、点云去噪。将分割后的点块
S6、点云合并。根据记录的点块坐标位移和缩放比例将恢复去噪点块
以上便是本发明提出的点云去噪方法的具体步骤。对于基于点块(patch)为单位的去噪方法里,若输入的点云同时满足较高的分辨率和较高的噪声水平,例如分辨率N≥20000且3%的高斯噪声,该类方法的去噪性能可能会有所下降。这是由于以点块(patch)为单位的去噪时,点块的分辨率是固定的,因此若此时处理的点云的分辨率越高,则每个分割的点块所占的物体表面积的比例就越小。若对物体表面的感知域(respective field)越小,则噪声引起的相对表面波动越大,导致本发明就难以对表面的属性作准确的推理。针对这一问题,本发明提出分组去噪方法来处理,该技术方案的具体步骤如下:
首先在去噪前考察点云的分辨率,若该分辨率超过一定的阈值(例如N≥20000),则使用最原点采样算法将输入点云中的点分成多组,使每一组所代表的点云形状与原始点云的形状保持一致。
然后分别对每一组采用步骤S4、S5和S6中所描述的过程去噪,得到多组去噪后的点云。
最后把多组点云合并成单个点云,并下采样到与原始点云输入相同的分辨率。
分组去噪的方法有效地扩大了本发明对物体表面的感知域,从而发挥出高效的去噪性能。分组去噪能有效地改善去噪性能受分辨率影响的问题。
实施例2
为了验证本发明的有效性,在含有20个各向同性的高斯噪声点云的数据集上进行对比评估。
由表1可以看到,与在欧拉空间下实现去噪的其它技术方案相比,本发明公开的三维点云去噪方法在生成去噪点云的精确度和均匀性上均优于现有去噪方案,去噪后产生的异常值要明显少于另外三种方案,证明本发明在隐空间下对噪声特征作直接的过滤方法的优越性。
表1.本发明与现有流行的去噪方案的点云生成质量对比表
由表2可以看到,随着维度增强的通道数D
表2.本发明选取不同的增强维度D
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
机译: 基于三维点云的三维人脸识别装置及基于三维点云的三维人脸识别方法
机译: 基于深度学习飞机零件的点云去噪方法
机译: 基于运动图像专家组(MPEG)-HTTP上的动态自适应流(DASH)的基于树的点云压缩(PCC)媒体流的方法和装置