结合PointNet++网络模型的布料模拟滤波算法优化

专利检索2025-07-07  29


本发明属于图像处理,具体是涉及一种结合pointnet++网络模型的布料模拟滤波算法的优化。


背景技术:

1、机载lidar可以快速、低成本地获取大区域的高精度地形测量值;为了获取高精度的地形数据(厘米级),对机载lidar点云数据进行“滤波”是一个非常重要的步骤;因此近二十年来,国内外学者提出了众多有效的自动滤波算法,大大降低了人力成本,提高了点云数据的应用效率。

2、以往的众多算法滤波效果容易受到地形特征的影响(通常在复杂场景及陡峭地形区域滤波效果较差)且常常需要用户对数据有较为丰富的先验知识来进行设置滤波器中的各种参数,以及大量计算资源,限制了其在实时应用中的使用;为了克服滤波效果容易受到地形特征的影响限制,需要一种更高效和精确的布料模拟方法;因此,研究pointnet++网络模型以改善和优化布料模拟过程中的滤波操作,以此提升精度的方法具有重要意义。

3、结合pointnet++网络模型的布料模拟滤波算法,主要目的是改进布料模拟算法,生成高精度的数字高程模型使其更适用于各种应用,并降低计算成本;具体目标包括提高模拟的逼真度;通过引入pointnet++网络模型,提高对布料的建模和仿真精度,使布料在不同环境下的行为更加真实和准确;机载lidar(光探测和测距)数据生成数字高程模型(dem)的重要步骤是布料滤波将点云分为地面和非地面测量;然而,大多数滤波算法需要仔细设置一些复杂的参数以达到高精度;张明武等人通过一种新的整数和布尔参数的滤波方法,分析节点与相应激光雷达点之间的相互作用,可以确定节点的位置,生成地面的近似;最后,通过比较原始激光雷达点和生成的表面,从激光雷达点云中提取基点;缺点是在实验过程中粒子可能会粘附在屋顶上,并且在处理非常大的低层建筑时,一些目标点可能会被错误地归类为地面点;张凡等人用布模拟滤波(csf)算法对机载lidar点云数据进行滤波,通过设置算法的布粒子生成个数和地面点分类阈值,从6组不同地势条件的点云数据中提取地面点云;但对一些地势特别陡峭的区域,如陡崖,基于csf算法提取地面点时,不能够完全将地面点提取出来,导致后续插值生成的dem误差过大;李昊等人针对传统布料模拟滤波应用在城市竣工测绘中地面点云提取准确性较差的问题,提出了一种基于法线微分的布料模拟滤波算法,该方法将地面点与非地面点区分开,实现在大范围复杂城市竣工测绘场景下地面点云的精确提取,有效改善了传统布料模拟滤波应用在城市竣工测绘中建筑物等地物与地面相接处地面点错分的问题,提高了地面滤波算法的准确度,具有更广泛的适用性;桑玉田等人提出了一种结合布料模拟滤波(csf)算法与基于空间向量投影后处理的组合滤波算法,该组合滤波算法一方面能够有效剔除影响dem构建的近地面点,同时避免过滤波。

4、2017年,斯坦福大学的学者qi等开展了一个开创性的研究工作,并提出了深度学习模型pointnet以及改进后的pointnet++模型,能够直接应用到三维点云数据上面,使得点云分类、语义分割的精度进一步提高;pointnet网络为许多3d识别任务(包括对象分类、零件分割和语义分割)提供了一种统一的方法,同时获得同等或更好的结果,比基准上最先进的结果要好;闵星等人提出了一种改进pointnet网络,该网络将邻域点特征和邻域点间关系特征进行采集,并采用crf算法对预测值进行全局优化用以增强空间一致性;结果表面改进pointnet网络丰富了机载点云特征的描述,具有较高的分类精度。

5、综上,前人的研究是需要进行复杂的计算和模拟过程以达到高精度,因此在处理大规模点云数据时可能会面临计算复杂度高的问题,此时引用pointnet网络模型,对点云逐点使用mlp提取特征,然后用对称函数最大池化将每个点提取的特征取最大值,从而解决置换不变性,再将每个点最大池化后的值汇总得到全局特征,最后使用全连接层和归一化指数函数输出得到分类预测值;但是由于pointnet本质上只针对每个点或所有点提取特征,忽略了点之间的连续性和邻近性,且并不适用于模拟物理效应,会出现布料模拟中的弯曲、拉伸现象;为了改进布料模拟的真实性和精确度,本发明提出结合pointnet++网络模型的布料模拟滤波算法优化,从而提高布料模拟的真实感、精度和效率,使得模拟结果更加逼真,同时也可以为虚拟现实、动画制作领域提供更好的模拟效果。、


技术实现思路

1、针对上述技术问题,本发明的目的在于克服已有技术的不足之处,提出结合pointnet++网络模型的布料模拟滤波算法优化,从无人机获取高分辨率正射影像数据和海岸带点云数据角度出发,通过数字正射影像(dom)图像进行预处理,得到相应的图像点云,利用软件对点云数据进行去噪和滤波处理,基于pointnet++点的神经网络模型、弹簧质点模型,以及有限元模型,采用基于引入层级聚类、采样和聚合机制以及细化局部特征的方法,更好地处理点云数据,提高网络对点云数据的学习和分类能力;具体包括确定实验区域的空间范围、完整点云数据进行裁剪、点云进行去噪处理、点云滤波实验、基于布料模拟的滤波技术进行pointnet++网络模型算法数据集制作和数据增强步骤;该方法优点是只需进行三维场景建模和动画制作时,可以使用布料模拟滤波处理,然后将结果应用到pointnet++对复杂的三维数据进行分析和处理中,以实现更真实的布料模拟效果;

2、为实现上述功能,本发明提供了结合pointnet++网络模型的布料模拟滤波算法优化,包括以下步骤:

3、s1:确定实验区域的空间范围,获取无人机高分辨率正射影像数据和海岸带点云数据,对采集的影像使用制图软件进行图像拼接,获取数字正射影像(dom)图和点云数据;

4、s2:将s1中数字正射影像(dom)图像进行预处理,并得到相应的图像点云,将得到的点云数据进行裁剪;

5、s3:将s2中得到点云利用常用的滤波算法去除掉明显的离群点;通过坡度信息对点云的不同地形进行对应的滤波实验处理,提取各区域的坡度信息;

6、s4:根据s3中得到的坡度信息,将点云归一化处理,统一每一个点云包含x、y、z以及法向量信息的点云数据集,用于模型的训练;通过数据绕z轴旋转、数据平移、尺寸缩放、增加高斯噪声四种数据增强方法扩充数据;

7、s5:构建模型,包括输入层、多个特征提取层、全局特征建模层和分类输出层以及损失函数和优化器的选择;

8、s6:训练模型,将预处理后的点云数据输入到pointnet++模型中,通过反向传播算法进行模型训练,计算神经网络中每个参数的梯度,从而对参数进行更新,调整网络的权重和偏置,以使网络的输出尽可能接近真实值;

9、s7:模型评估,使用测试集评估训练好的模型,计算模型的性能指标准确率;

10、s8:参数调优,根据模型在训练集和验证集上的损失值、以及准确率的指标变化,调整模型的超参数;

11、s9:模型应用,将训练好的pointnet++模型应用于实际的点云数据处理任务。

12、进一步的,步骤s1确定实验区域的空间范围主要包括以下步骤:

13、(1)数据集使用无人机搭载2048万像素镜头进行采集,共设置飞行航线7条,飞行高度100m,航向重叠度80%,旁向重叠度70%,拍摄照片200张;

14、(2)地面三维激光扫描与无人机航摄同步进行,共布设25个测站,两个相邻测站之间的点云有足够的重叠,每个测站的扫描时间约为4分钟,整个测量共耗时120分钟。

15、进一步的,步骤s2点云去噪主要包括以下步骤:

16、(1)对步骤s1中数字正射影像图像转换为灰度图,并对其像素值重新赋值为0-6,裁剪为像素大小为684×456的图片;根据需要,对完整点云进行裁剪,以去除不需要的部分或提取感兴趣的区域;

17、(2)将得到点云进行预处理,包括去除离群点、去除重复点、去除噪声,用以确保点云数据的质量;当处理点云数据时,去除离群点是非常重要的步骤;去除离群点的目的是提高数据的质量和准确性,以便后续的分析和处理;本专利使用欧氏距离法去除离群点,计算每个数据点与其他数据点之间的欧氏距离,可以通过以下公式计算:

18、

19、式中,(x1-x2)、(y1-y2)和(z1-z2)是两个数据点的坐标。

20、进一步的,步骤s3点云进行滤波实验主要包括以下步骤:

21、(1)将s2中得到预处理后的点云使用点云数据计算每个点的坡度信息;将点云数据划分为不同的地形区域,例如平坦区域、坡度较大的区域和坡度较小的区域;

22、(2)坡度的计算可以通过计算点云数据中每个点的邻域内的斜率来实现;通常可以使用以下公式来计算坡度:

23、

24、式中,dx和dy是地表点在水平方向上的变化,dz是地表点在垂直方向上的变化;

25、(3)针对不同地形区域,选择合适的滤波算法进行处理;对于平坦区域可以采用布料滤波方法,而对于坡度较大的区域可以采用更复杂的滤波方法,如基于局部特征的滤波方法;布料在模拟场景中地表的起伏变化时,关键在于对每一个布料节点进行受力分析,得到布料节点的位置;根据牛顿第二定律,节点位置与力的关系如下所示:

26、

27、式中,x表示粒子在时间t上的位置,fext(x,t)代表外力,由重力和碰撞力组成,fint(x,t)代表位置x和时间t处的粒子的内力;

28、(4)对处理后的点云数据进行评估,比较滤波前后ⅰ类误差、ⅱ类误差,总误差和数字高程模型对滤波结果进行精度评定,生成更为精细化的数字高程模型。

29、进一步的,步骤s4点云数据集制作和数据增强主要包括以下步骤:

30、(1)由于滤波实验后所得到的点云数据信息只有(x,y,z)坐标,为了模型训练,需要制作点云包含x、y、z以及法向量信息的点云数据集,且将数据集划分为输入层固定大小的训练集、验证集和测试集,以便进行模型训练和评估;通过数据绕z轴旋转、数据平移、尺寸缩放、增加高斯噪声和随机丢失点五种数据增强方法扩充数据,提高模型的泛化能力;

31、(2)点云数据绕z轴旋转的公式可以通过使用旋转矩阵来实现,旋转矩阵可以将原始的点坐标(x,y,z)转换为旋转后的坐标(x',y',z'),旋转矩阵可以表示为:

32、

33、对于一个点p(x,y,z),经过绕z轴旋转后的新坐标可以表示为(x',y',z'):

34、

35、式中,x、y、z分别代表点p在三维空间中的原始坐标,而x'、y'、z'代表点p在绕z轴旋转后的新坐标,θ表示绕z轴的旋转角度;

36、(3)点云数据平移是将点云中的每个点的坐标都加上平移向量,从假设空间中的一点p,用行向量表示为p=[x,y,z],将点向x方向平移dx,向y方向平移dy,向z方向平移dz后,得到的一点p1=[x+dx,y+dy,z+dz];运用矩阵的乘法来表示点的平移,由p1=pt,其中t为一个矩阵;为了计算矩阵,引入齐次坐标,将3d空间中的点p表示为p=[x,y,z,w],其中w为齐次坐标,设w=1,得到4*4的平移矩阵:

37、

38、式中:

39、

40、(4)点云缩放矩阵是通过对点云中的每个点进行线性变换,从而改变其大小和形状,缩放矩阵通常由一个三维矩阵表示,形如:

41、

42、计算过程:

43、

44、式中,缩放矩阵的应用公式是通过矩阵乘法来实现缩放变换,三个k是x、y、z对应的缩放比例,对于一个点坐标(x,y,z),通过缩放矩阵(m)的乘法操作,可以得到缩放后的点坐标(x',y',z');

45、(5)点云数据增加高斯噪声可以提高模型的鲁棒性和泛化能力;高斯噪声是一种服从高斯分布的随机噪声,其原理是在原始的点云数据中加入均值为零和标准差的正态分布随机值而产生的噪声;高斯分布,是一种连续概率分布,由其概率密度函数(pdf)定义,公式如下:

46、

47、式中,x是随机变量,μ是高斯分布的均值(数学期望),σ是高斯分布的方差;高斯分布记为n(u,σ2),当μ=0,σ2=1该分布称为标准正态分布。

48、进一步的,步骤s5构建模型主要包括以下步骤:

49、(1)使用pytorch深度学习框架构建pointnet++模型,包括输入层、多个特征提取层、全局特征建模层和分类输出层以及损失函数和优化器的选择;

50、(2)特征提取层:构建特征提取层,使用多层感知器(mlp)来提取局部特征;用mlp来处理点云数据,将输入的点云特征映射到更高维度的空间,更好地学习点云的全局和局部特征;多层感知器的结构通常由一系列的全连接层(也称为密集层)组成,全连接层之间包含非线性激活函数relu(修正线性单元);relu函数表达式为f(x)=max(0,x),x为输入,max(0,x)表示取x和0中的较大值作为输出,公式如下:

51、

52、式中,当输入x大于0时,输出等于输入;当输入x小于等于0时,输出为0;

53、(3)全局特征建模层:设计全局特征建模层,用于捕获点云的全局信息,可以使用池化操作技术;通过降低特征图的空间分辨率来减少参数数量,提取特征并增强模型对平移和变化的鲁棒性;最大池化公式如下:

54、

55、式中,ykij表示与第k个特征图有关的在矩形区域rij的最大池化输出值,xkpq表示矩形区域rij中位于(p,q)处的元素;

56、(4)分类输出层:根据任务需求设计适当的输出层,用于点云的分类;作用是将神经网络学习到的特征映射到具体的类别上,在分类问题中,输出层通常使用softmax激活函数来计算每个类别的概率分布,然后选择概率最大的类别作为预测结果,softmax激活函数的公式如下:

57、

58、式中,softmax函数与正常的max函数不同:max函数仅输出最大值,但softmax函数确保较小的值具有较小的概率,并且不会直接丢弃;softmax函数获得的各种概率彼此相关;

59、(5)损失函数和优化器:选择适当的损失函数和优化器,用于模型的训练和优化;使用交叉熵损失函数进行多分类任务,损失函数可以表示为:

60、

61、式中,yi表示样本i的label,正类为1,负类为0,pi表示样本i预测为正类的概率;

62、(6)选择adam优化器常用于自适应学习率优化算法,通常用于训练深度学习模型,从而提高训练效率和精度;adam优化器的具体操作步骤:

63、①初始化参数:为每个参数初始化一个动量向量(m)和平均梯度向量(v);

64、②计算梯度:对于每个参数,计算其梯度(grad);

65、③更新动量(m):更新每个参数的动量向量(m),公式如下:

66、mt=β1·mt-1+(1-β1)·gt                    (15)

67、④计算平均梯度(v):根据动量向量和梯度计算每个参数的平均梯度向量(v),公式如下:

68、υt=β2·υt-1+(1-β2)·(gt)2                (16)

69、⑤更新参数(θ):根据平均梯度向量和学习率更新每个参数,公式如下:

70、

71、

72、

73、⑥更新学习率:根据衰减系数减小学习率,公式如下:

74、

75、式中,gt是梯度向量,mt-1和vt-1是前一次迭代的动量向量和平均梯度向量,β1和β2是动量系数和平均梯度系数,η是初始学习率,ε是正数掩码,t是当前迭代次数,τ是衰减时间常数。

76、进一步的,步骤s6训练模型主要包括以下步骤:

77、将处理后的点云数据输入到pointnet++模型中,通过反向传播算法进行模型训练,计算神经网络中每个参数的梯度,从而对参数进行更新,调整网络的权重和偏置,以使网络的输出尽可能接近真实值。

78、进一步的,步骤s7模型评估主要包括以下步骤:

79、使用测试集评估训练好的模型,计算模型的性能指标准确率;具体步骤如下:

80、(1)准备测试数据集:准备两组与训练数据集不重复的数据,用于测试pointnet++模型的性能;

81、(2)运行模型进行预测:使用测试数据集作为输入,运行pointnet++模型进行预测;

82、(3)计算准确率:将模型的预测结果与测试数据集的真实标签进行比较,计算模型的准确率;计算公式如下:

83、

84、准确率是通过计算模型正确预测的样本数与总样本数之比来得出。

85、进一步的,步骤s8参数调优主要包括以下步骤:

86、根据模型在训练集和验证集上的损失值、以及准确率的指标变化,调整模型的超参数,可调整学习率、正则化参数、批量大小、隐藏层节点数以及迭代次数,以优化模型性能。

87、进一步的,步骤s9模型应用主要包括以下步骤:

88、将训练好的pointnet++模型用于对新的点云数据进行分类,识别点云中的不同物体;s9步骤是整个流程的最后一环,通过学习到的特征将点云分配到适当的分类中。

89、本发明提供的结合pointnet++网络模型的布料模拟滤波算法优化业内的普通技术人员还可以采用其他的步骤实施,本发明提供的结合pointnet++网络模型的布料模拟滤波算法优化方法的特征提取分类仅仅是一个实施例而已。


技术特征:

1.结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,包括如下步骤:

2.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s1包括以下步骤:

3.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s2包括以下步骤:

4.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s3包括以下步骤:

5.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s4包括以下步骤:

6.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s5包括以下步骤:

7.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s6包括以下步骤:

8.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s7包括以下步骤:

9.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s8包括以下步骤:

10.根据权利要求1所述,结合pointnet++网络模型的布料模拟滤波算法优化,其特征在于,所述的步骤s9包括以下步骤:


技术总结
本发明针对布料模拟滤波算法在植被茂密且地形复杂的区域中应用时,出现山顶信息被剔除或非地面点被误判等问题,提出了一种结合PointNet++网络模型的布料模拟滤波算法优化。该方法对点云数据进行端到端学习,不需要手工设计特征提取器,可以充分挖掘点云数据的特征。根据点云的旋转不变性和置换不变性,PointNet++模型能够处理不同姿态和排列的点云数据。通过在PointNet++模型训练之后再进行布料模拟滤波,进一步提高布料模拟滤波算法在复杂地形下的滤波效果。本发明所提出的方法能够有效避免出现山顶信息被剔除或非地面点保留过多的问题,在降低复杂地形下的误差方面具有优势,对滤波效率也有所提升。

技术研发人员:张凯选,杨婷婷,吴梦琦,李闯,刘忠博
受保护的技术使用者:辽宁工程技术大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1156007.html

最新回复(0)