# 列车测量任务配置文件 # 点云文件路径(支持相对路径和绝对路径) # 相对路径:相对于本配置文件所在目录 # 绝对路径:完整路径 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