发明内容
本发明为了解决上述问题,提出了一种点云重采样方法、系统、存储介质及设备,本发明采用最优差异度数列(best discrepancy sequence)进行降采样,并根据曲率划分点云关键与非关键区域,进行针对性处理,再对稀疏区域进行假点添加的重采样,能够有效降低采样信息损失,提升采样精度,具有较高的普适性。
根据一些实施例,本发明采用如下技术方案:
一种点云重采样方法,包括以下步骤:
读取原始数据,进行最优差异度数列降采样,得到第一采样结果,计算第一采样结果的曲率;
根据曲率信息进行圆柱类点云与非圆柱类点云的划分;
如果是圆柱类点云,则检测稀疏点,根据点密度进行判断,得到上采样后的稀疏点云文件,对其添加假点,得到最终的采样结果文件;
如果是非圆柱类点云,根据曲率信息划分边界点和平面点,并将两部分点进行分别保存,得到平面点云文件和边界点云文件;
对边界点云文件进行上采样得到第二采样结果;
将平面点云文件和第二采样结果合并,得到合并后点云文件,对其进行稀疏点检测,根据点密度进行判断,得到稀疏点云文件;
对稀疏点云文件边缘部分进行上采样,并对边缘稀疏部分添加假点,对添加假点后的文件进行基于最优差异度数列的降采样,得到第三采样结果;
将第三采样结果和所述平面点云文件合并,得到最终的采样结果文件。
作为可选择的实施方式,根据曲率信息进行圆柱类点云与非圆柱类点云的划分的具体过程包括:设置第一曲率阈值,如果曲率大于该阈值的点所占比例超过设定值,则判断为非圆柱类,否则判断为圆柱类点云。
作为可选择的实施方式,根据曲率信息划分边界点和平面点的具体过程包括:设置第二曲率阈值,大于该阈值的点标记为边界点,剩余的点标记为平面点。
作为可选择的实施方式,检测圆柱类点云的稀疏点的具体过程包括:以每个待检测点为中心建立一定边长的小立方体,再以该点为中心建立一个较大边长的立方体,分别计算两个立方体中的点数量和,以立方体中的点数与立方体的密度的比值作为体密度,得到小立方体对应密度d3和大立方体对应密度d4,若d4>d3,则该点为稀疏点,否则标记为非稀疏点。
作为可选择的实施方式,对边界点云文件进行上采样得到第二采样结果时,上采样为找回式上采样,针对边界区域的点进行还原,边界点集中的每个点为中心建立一定边长的立方体,与原始数据进行比较,在立方体范围内的原始数据被寻回,使得丢失的边界信息得到保留。
作为可选择的实施方式,对合并后点云文件进行稀疏点检测的具体过程包括:以每个待检测点为中心建立一定边长的小立方体,再以该点为中心建立一个较大边长的大立方体,分别计算两个立方体中的点数量,以立方体中的点数与立方体的密度的比值作为体密度,得到小立方体对应密度d1和大立方体对应密度d2,若d2>d1,则该点为稀疏点,否则标记为非稀疏点。
作为可选择的实施方式,添加假点的具体过程包括:以每个稀疏点为中心,设置搜索半径,利用该半径范围内的点拟合平面,设置采样密度,再在每个输入点的局部平面,使用指定的密度进行采样,实现假点的添加。
一种点云重采样系统,包括:
曲率计算模块,被配置为读取原始数据,进行最优差异度数列降采样,得到第一采样结果,计算第一采样结果的曲率;
点云类型划分模块,被配置为根据曲率信息进行圆柱类点云与非圆柱类点云的划分;
圆柱类点云重采样模块,被配置为检测稀疏点,根据点密度进行判断,得到上采样后的稀疏点云文件,对其添加假点,得到最终的采样结果文件;
非圆柱类点云重采样模块,被配置为根据曲率信息划分边界点和平面点,并将两部分点进行分别保存,得到平面点云文件和边界点云文件;对边界点云文件进行上采样得到第二采样结果;将平面点云文件和第二采样结果合并,得到合并后点云文件,对其进行稀疏点检测,根据点密度进行判断,得到稀疏点云文件;对稀疏点云文件边缘部分进行上采样,并对边缘稀疏部分添加假点,对添加假点后的文件进行基于最优差异度数列的降采样,得到第三采样结果;将第三采样结果和所述平面点云文件合并,得到最终的采样结果文件。
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
与现有技术相比,本发明的有益效果为:
本发明利用最优差异度数列将原始数据分成k个子集,得到的样本比随机抽样的精度要高,且组内方差较大,避免出现每个子集内的元素过于相似的情况,对于原始数据的结构保留性更好,且信息含量更加丰富。
本发明打破了对原始点云进行统一处理的采样思路,而是利用曲率划分了关键和非关键区域进行针对性处理,提高算法的专门性:对于关键区域进行上采样的找回和补充,使得关键信息得以保留和完善,对于非关键区域进行较大程度的降采样,确保最终点云的精简大部分来源于非关键区域。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式:
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本发明提供一种采用最优差异度数列(best discrepancy sequence)进行降采样,并根据曲率划分点云关键与非关键区域,进行针对性处理,再对稀疏区域进行假点添加的重采样方法(以下简称为BDSR方法)。
具体包括以下步骤:
步骤1:读取原始点云数据Input1,进行第一次BDS降采样,得到Output1;
步骤2:计算第一次降采样后的Output1数据的法线normal和曲率curvature,得到含有法线曲率信息的输出文件Output2。
步骤3:根据Output2中的曲率信息进行圆柱类与非圆柱类的划分,由于圆柱类几何体的曲率值接近,没有太大的起伏,而非圆柱类几何体存在明显的边缘区域,这些区域的曲率值较大,因此设置曲率阈值c1,如果对应的曲率大于该阈值的点所占比例超过一个设置百分比r1,则判断为非圆柱类,继续进行步骤4.1操作,否则转至圆柱类操作步骤。
步骤4.1:根据Output2文件划分边缘点和平面点,设置曲率阈值c2,大于该阈值的点标记为边界点,也即采样处理的关键点;剩余的点标记为平面点,即采样处理的非关键点。并将两部分点进行分别保存,保存为两个文件,分别:Output3.1-平面点云文件、Output3.2-边界点云文件。
步骤5.1:对Output3.2进行第一次上采样(upsampling),上采样与降采样相对,降采样是样本数量小于原始数据,而上采样则是采样数据大于原始数据。
在本实施例中,这里的上采样是找回式上采样,主要针对边界区域的点进行还原,使得第一步丢失的边界信息得到保留。具体采样方法为,以Output3.2也即边界点集中的每个点为中心建立小立方体(又称为小体素),与原始数据进行比较,在小立方体范围内的原始数据被寻回,重新输入到Output3.2中,得到Output4.1,保证本发明的边界区域信息丢失程度降低。
步骤6:合并Output3.1和Output4.1,得到第一次边缘上采样后的结果点云文件,记为Output5;
步骤7:对于Output5检测稀疏点,根据点密度进行判断。
在本实施例中,步骤7详细为:以每个待检测点为中心建立一定边长resolution1的小立方体,再以该点为中心建立一个较大边长resolution2的立方体,分别计算两个立方体中的点数量n1和n2,以立方体中的点数与立方体的密度的比值作为体密度,得到小立方体对应密度d1和大立方体对应密度d2,若d2>d1,则该点为稀疏点,否则标记为非稀疏点,得到第一次上采样后的稀疏点云文件Output6;
步骤8:对于Output6中边缘部分进行上采样,因为这些稀疏区域可能包含重要的结构,但是在仪器获取的过程中由于外在因素没有获得足够的信息,需要上采样来丰富和还原,这里上采样采用的是添加假点的形式。添加思路:以每个稀疏点为中心,设置搜索半径,利用该半径范围内的点拟合平面,设置采样密度,再利用RANDOM_UNIFORM_DENSITY进行假点的添加。
RANDOM_UNIFORM_DENSITY上采样的原理:在每个输入点的局部平面(这个平面是通过寻找邻域内的点经过移动最小二乘法(MLS)拟合而成的)使用指定的密度进行采样。得到Output7,也即边缘稀疏部分添加假点后的点云文件;
步骤9:对于Output7进行基于BDS的降采样,主要是为了防止假点添加后点数无法实现点云总体精简的最终效果,甚至可能超过原始点云数据量,因此需要通过BDS降采样来确保添加假点后的点云文件点数在一定程度上是可以精简原始点云的,得到Output8;
步骤10:合并Output8和Output3.1,得到经过BDSR后的非圆柱类点云最终采样文件Output9。
圆柱类点云的采样由以下五个步骤组成:
步骤a:读取原始数据Input1,进行第一次BDS降采样,得到Output1;
步骤b:计算第一次降采样后的Output1数据的法线normal和曲率curvature,得到含有法线曲率信息的输出文件Output2。
步骤c:根据Output2中的曲率信息进行圆柱类与非圆柱类的划分,由于圆柱类几何体的曲率值数值接近,没有太大的起伏,而非圆柱类几何体存在明显的边缘区域,这些区域的曲率值较大,因此设置曲率阈值c1,如果对应的曲率小于该阈值的点所占比例超过一个设置百分比r1,则判断为圆柱类,继续进行步骤d操作,否则转至非圆柱类操作步骤。
步骤d:根据Output2文件检测稀疏点,根据点密度进行判断,首先以每个待检测点为中心建立一定边长resolution3的小立方体,再以该点为中心建立一个较大边长resolution4的立方体,分别计算两个立方体中的点数量n3和n4,以立方体中的点数与立方体的密度的比值作为体密度,得到小立方体对应密度d3和大立方体对应密度d4,若d4>d3,则该点为稀疏点,否则标记为非稀疏点,得到第一次上采样后的稀疏点云文件Output3.3;
步骤e:对于Output3.3添加假点,以每个稀疏点为中心,设置搜索半径,利用该半径范围内的点拟合平面,设置采样密度,再利用RANDOM_UNIFORM_DENSITY进行假点的添加,得到Output4.2,即圆柱的BDSR采样结果文件。
在具体实例中,使用三维激光扫描仪Faro focus 3D x330对英国剑桥郡的十座桥梁进行扫描,其结果作为真实点云样本的来源数据集,同时根据计算机与分段函数生成了三十个虚拟样本。这些样本包含棱角分明的非圆柱类几何体和棱角模糊的圆柱类几何体,见表1即图6。
为了测试几种不同采样方法的效果,在本实施例中,使用了四种指标:Cloud-to-Cloud距离、Hausdorff距离、面积重合比率Area rate、二维熵2D entropy进行判断比较,同时还采样统计检验的方法对以上实验数据进行检验分析,分析数据结果的可靠性和显著性,见表2-10,注意:回归结果中的entropy都指代2D entropy的差值。
Cloud-to-Cloud距离指的是两个点云之间的欧氏距离,计算方式为以其中一个点云为基准,计算该点云中每个点距离另一点云中最近点的欧氏距离,按照此规则计算所有点对的距离,取平均值得到最终结果。实验中设置不同种子数,Cloud-to-Cloud距离数值越小说明采样结果与原始数据相似度越高,得到的结果如下:BDSR优秀率为73.3%,随机抽样为26.7%,且受随机种子影响波动性较大,Octree类抽样没有体现任何优势。
表格2:Cloud-to-Cloud距离实验结果
Cloud-to-Cloud距离的整体回归结果如表格3所示,模型F检验非常显著(p<0.01),回归拟合程度好(R2=1.000),根据每个采样方法的t检验可知,BDSR与Cloud-to-Cloud指标呈显著负相关(系数<0,p<0.01),而随机抽样与Octree降采样的t检验符号不稳定;Octree重采样的t检验显示该采样方法与Cloud-to-Cloud指标呈显著正相关(系数>0,p<0.01)。因此可得出统计意义上的结论,当使用BDSR进行点云采样时,可以显著地缩小采样结果点云与原始点云之间的欧氏距离,但Octree重采样呈现相反的现象,Random降采样和Octree降采样在不同模型中表现不同。除此之外,当模型中有多种方法都显著发挥缩小点云之间欧氏距离作用时,各种方法的缩小程度也有所差异,BDSR可以最大程度地使点云之间Cloud-to-Cloud距离向缩小趋势发展。
表格3:Cloud-to-Cloud距离回归结果
*:p<0.1;**:p<0.05;***:p<0.01
Hausdorff距离也是用来衡量两个点云之间的轮廓相似度,计算公式为
数值越小相似度越高。实验数据结果显示Octree降采样效果最好,BDSR效果其次,但根据统计检验法线该组实验数据显著性较差,因此参考意义不大。
表格4:Hausdorff距离实验结果
表格5:Hausdorff距离回归结果
*:p<0.1;**:p<0.05;***:p<0.01
面积重合比率Area rate计算原理为原始点云截面2D concave hull的面积S
1与采样结果点云截面2D concave hull面积S
2的重合部分S
3占原始点云截面2D concave hull面积S
1的比率,即
重合比率越高说明相似度越高。真实点云实验中BDSR优秀率为40%,Octree重采样和降采样分别为30%,Random仅为10%,在这些真实样本的结果中,非BDSR效果最好的样本对应的BDSR结果与最优方法的指标值相差并不大,并且真实点云数据本身的结构和噪声影响相较于人造的虚拟样本都更加复杂,这也进一步说明了BDSR对于真实点云的适合性。虚拟点云中BDSR优秀率为30%,Octree重采样为33.3%,Octree降采样为50%,Random最差。
表格6:Area rate实验结果
对于Area rate的整体回归结果显示,模型F检验非常显著(p<0.01),回归拟合程度较好(R2=0.0705),根据每个采样方法的t检验可知,Octree重采样的t检验显示该采样方法与Area rate指标呈显著负相关(系数<0,p<0.05)。其他三种采样方法只在M12中体现了显著作用,且均为显著正相关,采用这三种方法可以使得面积重合比率向值大的趋势发展,也即相似度的提升。其中Octree降采样的数值效果最好(系数最大)。因此可得出统计意义上的结论,当使用BDSR、Random降采样和Octree降采样进行点云采样时,可以显著地增加采样结果点云与原始点云之间的面积重合比率,但Octree重采样呈现相反的效果。除此之外,当模型中有多种方法都显著发挥增加点云之间面积重合比率作用时,各种方法的增加程度也有所差异。M12体现Octree降采样效果最好,BDSR效果也不差。
表格7:Area rate回归结果
*:p<0.1;**:p<0.05;***:p<0.01
2D entropy的计算原理为:读取点云截面数据,计算散点中每个数据的出现次数,也即得到每个数据的出现概率Pk。根据概率序列计算entropy,也即这个概率序列对应分布的熵S:S=-∑Pklog(Pk),熵越大说明信息含量越多,表格8中数值是采样结果与原始点云熵的差值,该差值越小说明采样结果与原始点云相似程度越高。不论是真实点云还是虚拟点云,BDSR的效果都是最好的,优秀率分别为90%和56.7%。2D entropy代表的是点云包含的信息量,不仅仅是边界轮廓,因此衡量更为全面。通过这个实验可以看出,BDSR算法在二维熵的评价指标下优势突出,明显优于其他三种采样方法。
表格8:2D entropy实验结果
2D entropy的整体回归结果显示,模型F检验非常显著(p<0.01),回归拟合程度好(R2=0.5422),根据每个采样方法的t检验可知,Octree重采样的t检验显示该采样方法与2D entropy差值指标entropy呈显著正相关(系数>0,p<0.01)。其他三种采样方法只在M16中体现了显著作用,且均为显著负相关,采用这三种方法可以使得2D entropy差值向值小的趋势发展,也即信息相似度的提升。其中BDSR数值效果最好。因此可得出统计意义上的结论,当使用BDSR、Random降采样和Octree降采样进行点云采样时,可以显著地减少采样结果点云与原始点云之间的熵差,但Octree重采样呈现相反的效果。除此之外,当模型中有多种方法都显著发挥缩小点云之间熵差作用时,各种方法的缩减程度也有所差异。M16体现BDSR效果最好。
表格9:2D entropy回归结果
*:p<0.1;**:p<0.05;***:p<0.01
在以上实验中,指标为Hausdorff距离、Area rate以及2D entropy的实验均基于同一组数据——40个样本进行实验,最后通过一组相关性分析来验证各自指标的正负相关是否一致,即是否Hausdorff的缩减、arearate的增大以及entropy(指差值)的缩减对应着点云之间相似度的提升。表10的相关性分析结果显示,Hausdorff与arearate在5%的水平上显著负相关;Hausdorff与entropy在5%的水平上显著正相关;arearate与entropy在5%的水平上显著负相关。也即Hausdorff增加与相似度提升为负相关、arearate增加与相似度提升为正相关、entropy增加与相似度提升为负相关,符合Hausdorff的缩减、arearate的增大以及entropy的缩减对应着点云之间相似度的提升。因此指标的选取和判断方向是科学合理的。
表格10:指标相关性分析
*:p<0.1;**:p<0.05;***:p<0.01。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。