feat: initial commit - massive-cloud point cloud processing system

This commit is contained in:
2026-05-27 09:51:42 +00:00
commit 16811100d1
391 changed files with 78338 additions and 0 deletions

View File

@@ -0,0 +1,171 @@
# 列车测量任务配置文件
# 点云文件路径(支持相对路径和绝对路径)
# 相对路径:相对于本配置文件所在目录
# 绝对路径:完整路径
pointcloud_file: "../train_2_100M.py"
# pointcloud_file: "../../../head_train_pointcloud/train_2_100M.ply"
# 测量任务列表
tasks:
- name: "任务21_侧门高度"
type: "plane_to_plane"
enabled: true
description: "测量侧门顶部到底部的距离"
visualization_dir: "visualizations" # 可视化输出目录
# 源平面(采样点的来源)
source_roi:
bbox_min: [-2500, 3358, -1545]
bbox_max: [-1500, 3362, -1525]
# 目标平面(测量距离的目标)
target_roi:
bbox_min: [-2500, 1180, -1621]
bbox_max: [-1500, 1180, -1500]
# 算法参数
params:
# 从源平面采样的点数
sample_points: 100
# RANSAC平面拟合参数
ransac_threshold: 2.0 # 内点距离阈值(mm)
ransac_max_iterations: 1000
min_inlier_ratio: 0.6 # 最小内点比例
- name: "任务2_车体长度"
type: "plane_to_plane"
enabled: true
description: "测量车体前后端面的距离"
visualization_dir: "visualizations"
source_roi:
bbox_min: [-14007, 1500, -800]
bbox_max: [-14006, 1900, 800]
target_roi:
bbox_min: [12499, 1216, -1300]
bbox_max: [12501, 3200, 1300]
params:
sample_points: 100
ransac_threshold: 2.0
ransac_max_iterations: 1000
min_inlier_ratio: 0.6
- name: "任务43_窗口下沿高度"
type: "plane_to_plane"
enabled: true
description: "测量窗口下沿到地面的距离"
visualization_dir: "visualizations"
source_roi:
bbox_min: [5562, 1982, 1672]
bbox_max: [6772, 1983, 1677]
target_roi:
bbox_min: [-10222, 1180, -302]
bbox_max: [12428, 1180, 302]
params:
sample_points: 100
ransac_threshold: 2.0
ransac_max_iterations: 1000
min_inlier_ratio: 0.6
- name: "任务44_车顶高度"
type: "plane_to_plane"
enabled: true
description: "测量车顶到地面的距离"
visualization_dir: "visualizations"
source_roi:
bbox_min: [-1419, 4000, -237]
bbox_max: [9030, 4000, 237]
target_roi:
bbox_min: [-10222, 1180, -302]
bbox_max: [12428, 1180, 302]
params:
sample_points: 100
ransac_threshold: 2.0
ransac_max_iterations: 1000
min_inlier_ratio: 0.6
- name: "任务3_边梁立面6点到z=0平面距离"
type: "point_to_plane"
enabled: true
description: "测量边梁立面6个精确点到z=0平面的距离"
mode: "exact_points"
visualization_dir: "visualizations" # 可视化输出目录
# 目标点坐标(左右各3个点)
target_points:
- [-753.5, 1052.5, -1445]
- [-753.5, 1052.5, 1445]
- [3446.5, 1053, -1445]
- [3446.5, 1053, 1445]
- [8146.5, 1053, -1445]
- [8146.5, 1053, 1445]
# 平面参数 (ax + by + cz + d = 0),z=0即c=1, d=0
plane:
a: 0
b: 0
c: 1
d: 0
# 最近点搜索半径(mm)
search_radius: 10.0
- name: "任务15_侧墙z最大值点到z=0平面距离"
type: "point_to_plane"
enabled: true
description: "从两个包围盒提取侧墙点云,选取z绝对值最大的10个点,计算到z=0平面的距离"
mode: "bbox_filtered"
visualization_dir: "visualizations" # 可视化输出目录
# 包围盒列表
bboxes:
- name: "左侧墙"
min: [-1468, 1899, -1680]
max: [12300, 1901, -1677]
- name: "右侧墙"
min: [-1468, 1899, 1677]
max: [12300, 1901, 1680]
# 过滤条件
filter:
type: "max_abs_coordinate"
axis: "z"
top_n: 10
# 平面参数 (z=0)
plane:
a: 0
b: 0
c: 1
d: 0
- name: "任务4_纵向梁距离"
type: "point_to_point"
enabled: true
description: "测量关于z=0对称的点对之间的距离(纵向梁)"
visualization_dir: "visualizations"
# 点对配置(使用任务3的6个点,配对测量)
point_pairs:
- name: "前端点对"
point1: [-753.5, 1052.5, -1445]
point2: [-753.5, 1052.5, 1445]
- name: "中间点对"
point1: [3446.5, 1053, -1445]
point2: [3446.5, 1053, 1445]
- name: "后端点对"
point1: [8146.5, 1053, -1445]
point2: [8146.5, 1053, 1445]
# 最近点搜索半径(mm)
search_radius: 10.0