System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及三维重建领域,具体为一种机械零件三维重建方法及系统。
技术介绍
1、通过三维重建,可以精确捕捉零件的几何形状、尺寸和结构特征,实现零件的数字化存档和共享,并为零件的改进与优化提供重要的基础数据。此外,三维重建还可以用于检测零件的磨损、缺陷等问题,有助于提高零件的生产质量和使用寿命。一般的做法是通过多角度拍摄机械零部件的二维图像,然后通过sfm等方法得到点云,并基于点云进行三维重建。机械零件的精度要求高,需要三维重建方法具有较高的精度,能够捕捉到零部件的细节,3d高斯溅射(3d gaussian splatting)作为一种有效的三维建模和渲染方法,其在机械零件复杂表面重建中的潜力,但是3d高斯溅射是基于稀疏点云的,而且sfm方法生成的点云也是稀疏的,但是机械零件的结构复杂,边缘和拐角等比较多,在对机械零件进行三维重建时,很可能会出现建模不准确的问题。
技术实现思路
1、基于此,本专利技术提供一种机械零件三维重建方法及系统,以解决至少一个上述技术问题。
2、为实现上述目的,本专利技术提供了一种机械零件三维重建方法,所述方法包括以下步骤:
3、步骤1,根据多视角图像得到机械零件的sfm点云,计算点云中每个点的主曲率,并将主曲率中最大曲率和最小曲率中绝对值最大值作为点的曲率;根据点的曲率和点在预设范围内的密度,采用所述多视角图像为sfm点云中的点生成新的邻近点;
4、步骤2,基于sfm点云中点的主曲率确定初始化高斯点时高斯点的形状,当密集
5、步骤3,当训练结束后,利用训练完成的高斯点完成机械零件的三维重建。
6、优选地,所述根据点的曲率和点在预设范围内的密度,采用所述多视角图像为sfm点云中的点生成新的邻近点,具体为:
7、基于点的曲率和点在预设范围内的密度确定预设数量;
8、获取sfm点云中的点在每个视角图像中的位置,基于像素点的梯度从以所述位置为中心的一定范围内像素点中选取预设数量的目标像素点,将目标像素点变换到三维空间得到三维邻近点;
9、对sfm点云中同一个点在所有视角图像中的三维邻近点进行去重,保留所述预设数量的三维邻近点作为点的新的邻近点。
10、优选地,所述基于sfm点云中点的主曲率确定初始化高斯点时高斯点的形状,具体为:
11、获取sfm点云中待初始化点和sfm点云中其他点的最近距离,并获取待初始化点的所述曲率;
12、若所述曲率小于阈值,则所述高斯点的形状为球,球的半径基于所述最近距离和曲率确定;否则,所述高斯点的形状为椭球,椭球的形状基于所述最近距离和主曲率确定。
13、优选地,所述根据待密集化的高斯点的邻近点对待密集化的高斯点进行密集化,具体为:
14、判断密集化高斯点的类型,若类型为分裂,则获取待密集化的高斯点对应的没有初始化为高斯点的所有邻近点并加入到集合中,将待密集化的高斯点也加入到所述集合中,将集合中的点按照距离聚为两类,找到集合中距离每个所述聚类的中心最近的点,根据所述最近的点的主曲率确定将所述最近的点初始化高斯点时高斯点的形状;
15、若类型为克隆,则获取待密集化的高斯点对应的没有初始化为高斯点的所有邻近点并加入到集合中,获取所述集合中所有点构成区间的质心,找到集合中距离所述质心最近的点,根据所述最近的点的主曲率确定将所述最近的点初始化高斯点时高斯点的形状。
16、优选地,所述步骤2,还包括:
17、若待密集化的高斯点不是由sfm点云初始化,或者待密集化的高斯点不存在没有初始化为高斯点的邻近点,则根据3d高斯溅射中默认方式对待密集化的高斯点进行密集化。
18、此外,本专利技术提供了一种机械零件三维重建系统,所述系统包括以下模块:
19、点云生成模块,用于根据多视角图像得到机械零件的sfm点云,计算点云中每个点的主曲率,并将主曲率中最大曲率和最小曲率中绝对值最大值作为点的曲率;根据点的曲率和点在预设范围内的密度,采用所述多视角图像为sfm点云中的点生成新的邻近点;
20、高斯点优化模块,用于基于sfm点云中点的主曲率确定初始化高斯点时高斯点的形状,当密集化高斯点时,若待密集化的高斯点由sfm点云初始化,且待密集化的高斯点存在没有初始化为高斯点的邻近点,则根据待密集化的高斯点的邻近点对待密集化的高斯点进行密集化;
21、三维重建模块,用于当训练结束后,利用训练完成的高斯点完成机械零件的三维重建。
22、优选地,所述根据点的曲率和点在预设范围内的密度,采用所述多视角图像为sfm点云中的点生成新的邻近点,具体为:
23、基于点的曲率和点在预设范围内的密度确定预设数量;
24、获取sfm点云中的点在每个视角图像中的位置,基于像素点的梯度从以所述位置为中心的一定范围内像素点中选取预设数量的目标像素点,将目标像素点变换到三维空间得到三维邻近点;
25、对sfm点云中同一个点在所有视角图像中的三维邻近点进行去重,保留所述预设数量的三维邻近点作为点的新的邻近点。
26、优选地,所述基于sfm点云中点的主曲率确定初始化高斯点时高斯点的形状,具体为:
27、获取sfm点云中待初始化点和sfm点云中其他点的最近距离,并获取待初始化点的所述曲率;
28、若所述曲率小于阈值,则所述高斯点的形状为球,球的半径基于所述最近距离和曲率确定;否则,所述高斯点的形状为椭球,椭球的形状基于所述最近距离和主曲率确定。
29、优选地,所述根据待密集化的高斯点的邻近点对待密集化的高斯点进行密集化,具体为:
30、判断密集化高斯点的类型,若类型为分裂,则获取待密集化的高斯点对应的没有初始化为高斯点的所有邻近点并加入到集合中,将待密集化的高斯点也加入到所述集合中,将集合中的点按照距离聚为两类,找到集合中距离每个所述聚类的中心最近的点,根据所述最近的点的主曲率确定将所述最近的点初始化高斯点时高斯点的形状;
31、若类型为克隆,则获取待密集化的高斯点对应的没有初始化为高斯点的所有邻近点并加入到集合中,获取所述集合中所有点构成区间的质心,找到集合中距离所述质心最近的点,根据所述最近的点的主曲率确定将所述最近的点初始化高斯点时高斯点的形状。
32、优选地,所述高斯点优化模块,还用于:
33、若待密集化的高斯点不是由sfm点云初始化,或者待密集化的高斯点不存在没有初始化为高斯点的邻近点,则根据3d高斯溅射中默认方式对待密集化的高斯点进行密集化。
34、最后,本专利技术提供了一种计算机程序,所述计算机程序在被处理器执行时,实现如前所述的方法。
35、本专利技术在对机械零件进行三维重建中,基于s本文档来自技高网...
【技术保护点】
1.一种机械零件三维重建方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的方法,其特征在于,所述根据点的曲率和点在预设范围内的密度,采用所述多视角图像为SFM点云中的点生成新的邻近点,具体为:
3.如权利要求1所述的方法,其特征在于,所述基于SFM点云中点的主曲率确定初始化高斯点时高斯点的形状,具体为:
4.如权利要求1所述的方法,其特征在于,所述根据待密集化的高斯点的邻近点对待密集化的高斯点进行密集化,具体为:
5.如权利要求1所述的方法,其特征在于,所述步骤2,还包括:
6.一种机械零件三维重建系统,其特征在于,所述系统包括以下模块:
7.如权利要求6所述的系统,其特征在于,所述根据点的曲率和点在预设范围内的密度,采用所述多视角图像为SFM点云中的点生成新的邻近点,具体为:
8.如权利要求6所述的系统,其特征在于,所述基于SFM点云中点的主曲率确定初始化高斯点时高斯点的形状,具体为:
9.如权利要求6所述的系统,其特征在于,所述根据待密集化的高斯点的邻近点对待密集化的
10.一种计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现如权利要求1-5任一项所述的方法。
...【技术特征摘要】
1.一种机械零件三维重建方法,其特征在于,所述方法包括以下步骤:
2.如权利要求1所述的方法,其特征在于,所述根据点的曲率和点在预设范围内的密度,采用所述多视角图像为sfm点云中的点生成新的邻近点,具体为:
3.如权利要求1所述的方法,其特征在于,所述基于sfm点云中点的主曲率确定初始化高斯点时高斯点的形状,具体为:
4.如权利要求1所述的方法,其特征在于,所述根据待密集化的高斯点的邻近点对待密集化的高斯点进行密集化,具体为:
5.如权利要求1所述的方法,其特征在于,所述步骤2,还包括:
6.一种机械零件...
【专利技术属性】
技术研发人员:胡杰,
申请(专利权)人:江苏光联数能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。