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