feat: initial commit - massive-cloud point cloud processing system
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Parameter sweep over point cloud density.
|
||||
matrix:
|
||||
sampling.spacing_mm:
|
||||
- 0.25
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 2.0
|
||||
- 5.0
|
||||
fixed:
|
||||
sampling.method: poisson_disk
|
||||
noise.sigma_mm: 0.5
|
||||
transform.rotation_deg: 3.0
|
||||
transform.translation_mm: 5.0
|
||||
@@ -0,0 +1,34 @@
|
||||
# Full cartesian product. WARNING: 4 * 5 * 8 * 4 * 4 = 2560 runs.
|
||||
# Use only when you have time and disk.
|
||||
matrix:
|
||||
sampling.method:
|
||||
- uniform_area
|
||||
- poisson_disk
|
||||
- adaptive
|
||||
- grid_spacing
|
||||
sampling.spacing_mm:
|
||||
- 0.25
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 2.0
|
||||
- 5.0
|
||||
noise.sigma_mm:
|
||||
- 0.0
|
||||
- 0.25
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 2.0
|
||||
- 4.0
|
||||
- 10.0
|
||||
- 20.0
|
||||
transform.rotation_deg:
|
||||
- 1.0
|
||||
- 3.0
|
||||
- 5.0
|
||||
- 10.0
|
||||
transform.translation_mm:
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 5.0
|
||||
- 10.0
|
||||
fixed: {}
|
||||
@@ -0,0 +1,47 @@
|
||||
# Sweep matrix for the lu1-AF4 coupler panel STP. Total 9 runs.
|
||||
stp_path: D:/myDocuments/PKU/high_speed_train_proj/lu1-M000004835653_AF4_ASMP072708187_N_AF4.stp
|
||||
|
||||
matrix:
|
||||
noise.sigma_mm: [0.0, 0.5, 2.0]
|
||||
transform.rotation_deg: [1.0, 3.0, 10.0]
|
||||
|
||||
fixed:
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: null
|
||||
sampling.num_points: 500000
|
||||
sampling.seed: 42
|
||||
scan_simulator.enabled: true
|
||||
scan_simulator.view_origin: [10000.0, 0.0, 0.0]
|
||||
scan_simulator.hpr_radius_mm: 200000.0
|
||||
noise.seed: 43
|
||||
transform.translation_mm: 5.0
|
||||
transform.seed: 44
|
||||
cad.locating_hole_radius_mm: [14.0, 18.0]
|
||||
cad.central_hole_radius_min_mm: 80.0
|
||||
detection.grid_pixel_mm: 2.0
|
||||
detection.fill_bg_below_mm2: 100.0
|
||||
detection.hole_min_area_mm2: 600.0
|
||||
detection.hole_max_area_mm2: 5000.0
|
||||
detection.locating_hole_radius_mm: [14.0, 22.0]
|
||||
detection.panel_min_area_ratio: 0.15
|
||||
detection.rectangle_aspect_tol: 0.40
|
||||
detection.circle_fit.method: algebraic_then_lsq
|
||||
detection.circle_fit.inlier_residual_mm: 1.5
|
||||
roi.hole_dilate_mm: 5.0
|
||||
roi.central_hole_dilate_mm: 10.0
|
||||
roi.edge_buffer_mm: 8.0
|
||||
roi.chamfer_normal_dot_min: 0.80
|
||||
roi.outlier_z_score: 3.0
|
||||
plane_fit.ransac_iterations: 300
|
||||
plane_fit.ransac_inlier_thresh_mm: auto
|
||||
plane_fit.min_inlier_ratio: 0.5
|
||||
plane_fit.enforce_nx_positive: true
|
||||
metrics.right_axis_sign: 1
|
||||
denoise.steps:
|
||||
- type: passthrough
|
||||
bbox_padding_mm: 50.0
|
||||
- type: voxel
|
||||
voxel_mm: 1.0
|
||||
- type: statistical
|
||||
nb_neighbors: 20
|
||||
std_ratio: 2.5
|
||||
@@ -0,0 +1,74 @@
|
||||
# Deflection-recovery sweep: vary the INJECTED panel-deflection angle and
|
||||
# verify the algorithm reads it back. Single-axis at a time so the
|
||||
# response of theta_right and theta_ref can be analysed independently.
|
||||
stp_path: D:/myDocuments/PKU/high_speed_train_proj/lu1-M000004835653_AF4_ASMP072708187_N_AF4.stp
|
||||
|
||||
matrix:
|
||||
panel_deflection.theta_right_deg: [0.0, 0.1, 0.3, 0.5, 1.0, 2.0]
|
||||
|
||||
fixed:
|
||||
panel_deflection.enabled: true
|
||||
panel_deflection.theta_ref_deg: 0.0
|
||||
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: null
|
||||
sampling.num_points: 500000
|
||||
sampling.seed: 42
|
||||
|
||||
scan_simulator.enabled: true
|
||||
scan_simulator.view_origin: [10000.0, 0.0, 0.0]
|
||||
scan_simulator.hpr_radius_mm: 200000.0
|
||||
|
||||
noise.enabled: true
|
||||
noise.sigma_mm: 0.05
|
||||
noise.mode: isotropic
|
||||
noise.seed: 43
|
||||
|
||||
transform.enabled: true
|
||||
transform.rotation_deg: 0.5
|
||||
transform.translation_mm: 2.0
|
||||
transform.rotation_axis: random
|
||||
transform.translation_dir: random
|
||||
transform.seed: 44
|
||||
|
||||
cad.locating_hole_radius_mm: [14.0, 18.0]
|
||||
cad.central_hole_radius_min_mm: 80.0
|
||||
cad.linear_deflection_mm: 0.5
|
||||
cad.angular_deflection_rad: 0.1
|
||||
|
||||
detection.panel_normal_seed: pca
|
||||
detection.grid_pixel_mm: 2.0
|
||||
detection.fill_bg_below_mm2: 100.0
|
||||
detection.hole_min_area_mm2: 600.0
|
||||
detection.hole_max_area_mm2: 5000.0
|
||||
detection.locating_hole_radius_mm: [14.0, 22.0]
|
||||
detection.panel_min_area_ratio: 0.15
|
||||
detection.rectangle_aspect_tol: 0.40
|
||||
detection.circle_fit.method: algebraic_then_lsq
|
||||
detection.circle_fit.inlier_residual_mm: 1.5
|
||||
|
||||
roi.hole_dilate_mm: 5.0
|
||||
roi.central_hole_dilate_mm: 10.0
|
||||
roi.edge_buffer_mm: 8.0
|
||||
roi.chamfer_normal_dot_min: 0.80
|
||||
roi.outlier_z_score: 3.0
|
||||
|
||||
plane_fit.ransac_iterations: 300
|
||||
plane_fit.ransac_inlier_thresh_mm: auto
|
||||
plane_fit.min_inlier_ratio: 0.5
|
||||
plane_fit.enforce_nx_positive: true
|
||||
|
||||
metrics.right_axis_sign: 1
|
||||
metrics.angle_clamp_deg: 0.0
|
||||
|
||||
registration.method: kabsch_four_holes
|
||||
registration.refuse_if_residual_above_mm: 5.0
|
||||
|
||||
denoise.steps:
|
||||
- type: passthrough
|
||||
bbox_padding_mm: 50.0
|
||||
- type: voxel
|
||||
voxel_mm: 0.5
|
||||
- type: statistical
|
||||
nb_neighbors: 20
|
||||
std_ratio: 2.5
|
||||
@@ -0,0 +1,73 @@
|
||||
# Point-cloud density sweep: fix deflection + noise, vary num_points to
|
||||
# show how many points the algorithm needs.
|
||||
stp_path: D:/myDocuments/PKU/high_speed_train_proj/lu1-M000004835653_AF4_ASMP072708187_N_AF4.stp
|
||||
|
||||
matrix:
|
||||
sampling.num_points: [200000, 350000, 500000, 750000, 1000000]
|
||||
|
||||
fixed:
|
||||
panel_deflection.enabled: true
|
||||
panel_deflection.theta_right_deg: 0.5
|
||||
panel_deflection.theta_ref_deg: 0.3
|
||||
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: null
|
||||
sampling.seed: 42
|
||||
|
||||
scan_simulator.enabled: true
|
||||
scan_simulator.view_origin: [10000.0, 0.0, 0.0]
|
||||
scan_simulator.hpr_radius_mm: 200000.0
|
||||
|
||||
noise.enabled: true
|
||||
noise.sigma_mm: 0.05
|
||||
noise.mode: isotropic
|
||||
noise.seed: 43
|
||||
|
||||
transform.enabled: true
|
||||
transform.rotation_deg: 0.5
|
||||
transform.translation_mm: 2.0
|
||||
transform.rotation_axis: random
|
||||
transform.translation_dir: random
|
||||
transform.seed: 44
|
||||
|
||||
cad.locating_hole_radius_mm: [14.0, 18.0]
|
||||
cad.central_hole_radius_min_mm: 80.0
|
||||
cad.linear_deflection_mm: 0.5
|
||||
cad.angular_deflection_rad: 0.1
|
||||
|
||||
detection.panel_normal_seed: pca
|
||||
detection.grid_pixel_mm: 2.0
|
||||
detection.fill_bg_below_mm2: 100.0
|
||||
detection.hole_min_area_mm2: 600.0
|
||||
detection.hole_max_area_mm2: 5000.0
|
||||
detection.locating_hole_radius_mm: [14.0, 28.0] # wider window for low-density tests
|
||||
detection.panel_min_area_ratio: 0.15
|
||||
detection.rectangle_aspect_tol: 0.40
|
||||
detection.circle_fit.method: algebraic_then_lsq
|
||||
detection.circle_fit.inlier_residual_mm: 1.5
|
||||
|
||||
roi.hole_dilate_mm: 5.0
|
||||
roi.central_hole_dilate_mm: 10.0
|
||||
roi.edge_buffer_mm: 8.0
|
||||
roi.chamfer_normal_dot_min: 0.80
|
||||
roi.outlier_z_score: 3.0
|
||||
|
||||
plane_fit.ransac_iterations: 300
|
||||
plane_fit.ransac_inlier_thresh_mm: auto
|
||||
plane_fit.min_inlier_ratio: 0.5
|
||||
plane_fit.enforce_nx_positive: true
|
||||
|
||||
metrics.right_axis_sign: 1
|
||||
metrics.angle_clamp_deg: 0.0
|
||||
|
||||
registration.method: kabsch_four_holes
|
||||
registration.refuse_if_residual_above_mm: 5.0
|
||||
|
||||
denoise.steps:
|
||||
- type: passthrough
|
||||
bbox_padding_mm: 50.0
|
||||
- type: voxel
|
||||
voxel_mm: 0.5
|
||||
- type: statistical
|
||||
nb_neighbors: 20
|
||||
std_ratio: 2.5
|
||||
@@ -0,0 +1,73 @@
|
||||
# Noise sweep: fix the panel deflection at (theta_right=0.5°, theta_ref=0.3°)
|
||||
# and vary Gaussian noise sigma to characterise robustness.
|
||||
stp_path: D:/myDocuments/PKU/high_speed_train_proj/lu1-M000004835653_AF4_ASMP072708187_N_AF4.stp
|
||||
|
||||
matrix:
|
||||
noise.sigma_mm: [0.0, 0.025, 0.05, 0.1, 0.2, 0.5]
|
||||
|
||||
fixed:
|
||||
panel_deflection.enabled: true
|
||||
panel_deflection.theta_right_deg: 0.5
|
||||
panel_deflection.theta_ref_deg: 0.3
|
||||
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: null
|
||||
sampling.num_points: 500000
|
||||
sampling.seed: 42
|
||||
|
||||
scan_simulator.enabled: true
|
||||
scan_simulator.view_origin: [10000.0, 0.0, 0.0]
|
||||
scan_simulator.hpr_radius_mm: 200000.0
|
||||
|
||||
noise.enabled: true
|
||||
noise.mode: isotropic
|
||||
noise.seed: 43
|
||||
|
||||
transform.enabled: true
|
||||
transform.rotation_deg: 0.5
|
||||
transform.translation_mm: 2.0
|
||||
transform.rotation_axis: random
|
||||
transform.translation_dir: random
|
||||
transform.seed: 44
|
||||
|
||||
cad.locating_hole_radius_mm: [14.0, 18.0]
|
||||
cad.central_hole_radius_min_mm: 80.0
|
||||
cad.linear_deflection_mm: 0.5
|
||||
cad.angular_deflection_rad: 0.1
|
||||
|
||||
detection.panel_normal_seed: pca
|
||||
detection.grid_pixel_mm: 2.0
|
||||
detection.fill_bg_below_mm2: 100.0
|
||||
detection.hole_min_area_mm2: 600.0
|
||||
detection.hole_max_area_mm2: 5000.0
|
||||
detection.locating_hole_radius_mm: [14.0, 22.0]
|
||||
detection.panel_min_area_ratio: 0.15
|
||||
detection.rectangle_aspect_tol: 0.40
|
||||
detection.circle_fit.method: algebraic_then_lsq
|
||||
detection.circle_fit.inlier_residual_mm: 1.5
|
||||
|
||||
roi.hole_dilate_mm: 5.0
|
||||
roi.central_hole_dilate_mm: 10.0
|
||||
roi.edge_buffer_mm: 8.0
|
||||
roi.chamfer_normal_dot_min: 0.80
|
||||
roi.outlier_z_score: 3.0
|
||||
|
||||
plane_fit.ransac_iterations: 300
|
||||
plane_fit.ransac_inlier_thresh_mm: auto
|
||||
plane_fit.min_inlier_ratio: 0.5
|
||||
plane_fit.enforce_nx_positive: true
|
||||
|
||||
metrics.right_axis_sign: 1
|
||||
metrics.angle_clamp_deg: 0.0
|
||||
|
||||
registration.method: kabsch_four_holes
|
||||
registration.refuse_if_residual_above_mm: 5.0
|
||||
|
||||
denoise.steps:
|
||||
- type: passthrough
|
||||
bbox_padding_mm: 50.0
|
||||
- type: voxel
|
||||
voxel_mm: 0.5
|
||||
- type: statistical
|
||||
nb_neighbors: 20
|
||||
std_ratio: 2.5
|
||||
@@ -0,0 +1,78 @@
|
||||
# Sampling-strategy sweep: 4 methods × same other settings, so the saved
|
||||
# intermediates per run/<method>/02_sampled.ply, 03_noisy.ply, ... can be
|
||||
# compared apples-to-apples.
|
||||
stp_path: D:/myDocuments/PKU/high_speed_train_proj/lu1-M000004835653_AF4_ASMP072708187_N_AF4.stp
|
||||
|
||||
matrix:
|
||||
sampling.method:
|
||||
- uniform_area
|
||||
- poisson_disk
|
||||
- adaptive
|
||||
- grid_spacing
|
||||
|
||||
fixed:
|
||||
panel_deflection.enabled: true
|
||||
panel_deflection.theta_right_deg: 0.5
|
||||
panel_deflection.theta_ref_deg: 0.3
|
||||
|
||||
sampling.spacing_mm: null
|
||||
sampling.num_points: 500000
|
||||
sampling.seed: 42
|
||||
|
||||
scan_simulator.enabled: true
|
||||
scan_simulator.view_origin: [10000.0, 0.0, 0.0]
|
||||
scan_simulator.hpr_radius_mm: 200000.0
|
||||
|
||||
noise.enabled: true
|
||||
noise.sigma_mm: 0.05
|
||||
noise.mode: isotropic
|
||||
noise.seed: 43
|
||||
|
||||
transform.enabled: true
|
||||
transform.rotation_deg: 0.5
|
||||
transform.translation_mm: 2.0
|
||||
transform.rotation_axis: random
|
||||
transform.translation_dir: random
|
||||
transform.seed: 44
|
||||
|
||||
cad.locating_hole_radius_mm: [14.0, 18.0]
|
||||
cad.central_hole_radius_min_mm: 80.0
|
||||
cad.linear_deflection_mm: 0.5
|
||||
cad.angular_deflection_rad: 0.1
|
||||
|
||||
detection.panel_normal_seed: pca
|
||||
detection.grid_pixel_mm: 2.0
|
||||
detection.fill_bg_below_mm2: 100.0
|
||||
detection.hole_min_area_mm2: 600.0
|
||||
detection.hole_max_area_mm2: 5000.0
|
||||
detection.locating_hole_radius_mm: [14.0, 22.0]
|
||||
detection.panel_min_area_ratio: 0.15
|
||||
detection.rectangle_aspect_tol: 0.40
|
||||
detection.circle_fit.method: algebraic_then_lsq
|
||||
detection.circle_fit.inlier_residual_mm: 1.5
|
||||
|
||||
roi.hole_dilate_mm: 5.0
|
||||
roi.central_hole_dilate_mm: 10.0
|
||||
roi.edge_buffer_mm: 8.0
|
||||
roi.chamfer_normal_dot_min: 0.80
|
||||
roi.outlier_z_score: 3.0
|
||||
|
||||
plane_fit.ransac_iterations: 300
|
||||
plane_fit.ransac_inlier_thresh_mm: auto
|
||||
plane_fit.min_inlier_ratio: 0.5
|
||||
plane_fit.enforce_nx_positive: true
|
||||
|
||||
metrics.right_axis_sign: 1
|
||||
metrics.angle_clamp_deg: 0.0
|
||||
|
||||
registration.method: kabsch_four_holes
|
||||
registration.refuse_if_residual_above_mm: 5.0
|
||||
|
||||
denoise.steps:
|
||||
- type: passthrough
|
||||
bbox_padding_mm: 50.0
|
||||
- type: voxel
|
||||
voxel_mm: 0.5
|
||||
- type: statistical
|
||||
nb_neighbors: 20
|
||||
std_ratio: 2.5
|
||||
@@ -0,0 +1,16 @@
|
||||
# Parameter sweep over Gaussian noise sigma.
|
||||
matrix:
|
||||
noise.sigma_mm:
|
||||
- 0.0
|
||||
- 0.25
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 2.0
|
||||
- 4.0
|
||||
- 10.0
|
||||
- 20.0
|
||||
fixed:
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: 1.0
|
||||
transform.rotation_deg: 3.0
|
||||
transform.translation_mm: 5.0
|
||||
@@ -0,0 +1,12 @@
|
||||
# Parameter sweep over sampling methods (other knobs fixed at default).
|
||||
matrix:
|
||||
sampling.method:
|
||||
- uniform_area
|
||||
- poisson_disk
|
||||
- adaptive
|
||||
- grid_spacing
|
||||
fixed:
|
||||
sampling.spacing_mm: 1.0
|
||||
noise.sigma_mm: 0.5
|
||||
transform.rotation_deg: 3.0
|
||||
transform.translation_mm: 5.0
|
||||
@@ -0,0 +1,16 @@
|
||||
# Parameter sweep over GT rigid transform magnitude.
|
||||
matrix:
|
||||
transform.rotation_deg:
|
||||
- 1.0
|
||||
- 3.0
|
||||
- 5.0
|
||||
- 10.0
|
||||
transform.translation_mm:
|
||||
- 0.5
|
||||
- 1.0
|
||||
- 5.0
|
||||
- 10.0
|
||||
fixed:
|
||||
sampling.method: poisson_disk
|
||||
sampling.spacing_mm: 1.0
|
||||
noise.sigma_mm: 0.5
|
||||
Reference in New Issue
Block a user