Merge branch 'feature' into develop

This commit is contained in:
liangyuxuan
2025-12-04 11:13:01 +08:00
4 changed files with 14 additions and 19 deletions

View File

@@ -19,10 +19,6 @@
"PCA_configs": {
"depth_scale": 1000.0,
"depth_trunc": 3.0,
"voxel_size": 0.020,
"nb_points": 10,
"radius": 0.1,
"nb_neighbors": 20,
"std_ratio": 3.0
"voxel_size": 0.010
}
}

View File

@@ -32,11 +32,7 @@
"PCA_configs": {
"depth_scale": 1000.0,
"depth_trunc": 3.0,
"voxel_size": 0.020,
"nb_points": 10,
"radius": 0.1,
"nb_neighbors": 20,
"std_ratio": 3.0
"voxel_size": 0.010
},
"ICP_configs": {
"complete_model_path": "pointclouds/bottle_model.pcd",

View File

@@ -19,10 +19,6 @@
"PCA_configs": {
"depth_scale": 1000.0,
"depth_trunc": 3.0,
"voxel_size": 0.020,
"nb_points": 10,
"radius": 0.1,
"nb_neighbors": 20,
"std_ratio": 3.0
"voxel_size": 0.010
}
}

View File

@@ -52,7 +52,7 @@ def calculate_pose_pca(
depth_trunc=kwargs.get("depth_trunc", 3.0),
)
point_cloud = point_cloud_denoising(point_cloud, kwargs.get("voxel_size", 0.010))
point_cloud = point_cloud_denoising(point_cloud, kwargs.get("voxel_size", 0.005))
if point_cloud is None:
return None
@@ -124,11 +124,18 @@ def calculate_pose_icp(
return rmat
def point_cloud_denoising(point_cloud: o3d.geometry.PointCloud, voxel_size: float = 0.010):
def point_cloud_denoising(point_cloud: o3d.geometry.PointCloud, voxel_size: float = 0.005):
"""点云去噪"""
point_cloud = point_cloud.remove_non_finite_points()
down_pcd = point_cloud.voxel_down_sample(voxel_size=voxel_size * 0.5)
point_num = len(down_pcd.points)
while True:
down_pcd = point_cloud.voxel_down_sample(voxel_size=voxel_size * 0.5)
point_num = len(down_pcd.points)
if point_num <= 1000:
break
voxel_size *= 1.5
# logging.fatal("point_cloud_denoising: point_num={}".format(len(point_cloud.points)))
# logging.fatal("point_cloud_denoising: point_num={}".format(point_num))
# 半径滤波
clean_pcd, _ = down_pcd.remove_radius_outlier(