Files
lipan 29f1d45d66 feat: 算法升级、整车配准集成与性能分析文档
算法更新: delivery v1.2.1、平整度v1.5、测距v2.2、整车配准v1.3
适配器: vehicle-registration 新增、各算法 manifest 和 adapter 更新
后端: taskCadFiles/source 字段迁移、derivedPointClouds 注册、取消任务联动
前端: ElapsedTime 时长显示、两步算法流程、canRun 逻辑修复
文档: 新增5份算法性能分析报告
2026-06-25 08:22:20 +00:00

2.3 KiB
Raw Permalink Blame History

使用说明

点云到 CAD 配准

脚本先用前端/后端质心估计初始平移,再默认执行刚体 ICP 精配准,进一步修正旋转和平移。

常用命令

python translate_align_pointcloud_to_cad.py --no_visualize

如果只想使用旧的纯平移方法:

python translate_align_pointcloud_to_cad.py --no_visualize --no_icp

主要参数

  • --cad: STEP CAD 文件路径,默认 datasets/CAD/*****.stp。
  • --pointcloud: 待配准 PLY 点云或点云目录,默认 datasets/shift_test_output/。传目录时会优先读取 shifted_whole_pointcloud.ply。
  • --output_dir: 输出目录,默认 results。
  • --axis: 前后方向轴,默认 x。
  • --crop_ratio: 前端/后端裁剪比例,默认 0.01。
  • --cad_sample_points: CAD mesh 采样点数,默认 30000。
  • --local_sample_points: 前端/后端质心计算采样点数,默认 1000。
  • --scale_pointcloud: 点云缩放系数。例如点云是米、CAD 是毫米时设为 1000。
  • --no_visualize: 不显示 Open3D 可视化窗口。

ICP 参数

  • --no_icp: 跳过 ICP,只做前后端质心平移。
  • --icp_sample_points: 用于 ICP 的源点云抽样点数,默认 200000。
  • --icp_voxel_size: ICP 前的体素降采样尺寸,默认 0 表示不降采样。
  • --icp_max_correspondence_distance: ICP 最大对应距离,默认 0 表示根据初始误差自动估计。
  • --icp_max_iteration: ICP 最大迭代次数,默认 50。

误差统计

  • --error_sample_points: 配准误差统计抽样点数,默认 100000。设为 0 表示使用全部点。
  • --no_error_stats: 跳过误差统计。

输出文件

默认启用 ICP 时:

results/aligned_pointcloud.ply
results/T_rigid_icp.txt
results/alignment_error_stats.txt

使用 --no_icp 时:

results/aligned_pointcloud_translation_only.ply
results/T_translation_only.txt
results/alignment_error_stats.txt

CAD 采样缓存默认保存在:

results/cad_cache/

默认对齐点云以 compact float32 XYZ PLY 写出,文件体积会接近原始 float32 点云。如果需要 Open3D 默认写出方式:

python translate_align_pointcloud_to_cad.py --no_visualize --save_aligned_float64