feat: 算法升级、整车配准集成与性能分析文档

算法更新: delivery v1.2.1、平整度v1.5、测距v2.2、整车配准v1.3
适配器: vehicle-registration 新增、各算法 manifest 和 adapter 更新
后端: taskCadFiles/source 字段迁移、derivedPointClouds 注册、取消任务联动
前端: ElapsedTime 时长显示、两步算法流程、canRun 逻辑修复
文档: 新增5份算法性能分析报告
This commit is contained in:
2026-06-25 08:22:20 +00:00
parent cec0766e67
commit 29f1d45d66
266 changed files with 1311475 additions and 2846 deletions

View File

@@ -2,8 +2,8 @@
"id": "coupler-panel",
"name": "车钩面板检测",
"shortName": "coupler-panel",
"description": "基于点云的车钩面板偏转角与最大偏差测量(v1.2,来自 alg/delivery_v1.2/coupler_panel_release)。输出 θ_right / θ_ref 偏转角、dx_y / dx_z 最大 x 偏差及 D_y / D_z 面板偏差。v1.2 新增自动调参(autotune)与分层选点(layer_select)。",
"version": "1.2.0",
"description": "基于点云的车钩面板偏转角与最大偏差测量(v1.2.1,来自 alg/delivery_v1.2.1/coupler_panel_release)。输出 θ_right / θ_ref 偏转角、dx_y / dx_z 最大 x 偏差及 D_y / D_z 面板偏差。v1.2.1 新增项点检验 Excel 报表(项点名称/理论尺寸/公差要求/测量结果/误差结果/测量结论)。",
"version": "1.2.1",
"schemaVersion": 1,
"category": "几何测量",
"requiresPointCloud": true,
@@ -32,7 +32,16 @@
{ "value": "-1", "label": "-1(车体右 = -y)" }
],
"description": "若车体「右」方向为 +y 保持 +1;若为 -y 改为 -1。"
}
},
{
"name": "roiXMin", "label": "ROI X 最小值 (mm)", "type": "number", "default": null,
"description": "车钩面板局部 ROI 裁剪范围(相对于配准后 CAD 坐标系)。整车点云时必填,否则算法处理全部点云会极慢。留空 = 不裁剪。"
},
{ "name": "roiXMax", "label": "ROI X 最大值 (mm)", "type": "number", "default": null },
{ "name": "roiYMin", "label": "ROI Y 最小值 (mm)", "type": "number", "default": null },
{ "name": "roiYMax", "label": "ROI Y 最大值 (mm)", "type": "number", "default": null },
{ "name": "roiZMin", "label": "ROI Z 最小值 (mm)", "type": "number", "default": null },
{ "name": "roiZMax", "label": "ROI Z 最大值 (mm)", "type": "number", "default": null }
],
"runtime": {
"kind": "process",
@@ -42,8 +51,8 @@
"{inputJson}"
],
"envExtra": {
"PYTHONPATH": "{algRoot}/delivery_v1.2/coupler_panel_release"
"PYTHONPATH": "{algRoot}/delivery_v1.2.1/coupler_panel_release"
},
"timeoutMs": 1200000
"timeoutMs": 5400000
}
}

View File

@@ -2,8 +2,8 @@
"id": "flatness-suite",
"name": "平整度 / 平面度 / 轮廓测量",
"shortName": "flatness-suite",
"description": "平整度 / 平面度 / 轮廓 / 曲率 套件(直接调用 alg/平整度、平面度、轮廓测量/ 下的脚本:Plane_Estimation / Contour_Flatness / Curvature_Estimation)。运行需要 numpy + open3d;contour 子模块还需要 torch + trimesh + STL CAD。任意子模块缺依赖时自动跳过并在 message 里说明。",
"version": "1.0.0",
"description": "平整度 / 平面度 / 轮廓 / 曲率 套件(v1.5,来自 alg/平整度、平面度、轮廓测量v1.5)。v1.5 新增多车型 STEP CAD 模板(car_part_v1)与 contour Excel 报表。任意子模块缺依赖时自动跳过并在 message 里说明。",
"version": "1.5.0",
"schemaVersion": 1,
"category": "几何测量",
"requiresPointCloud": true,
@@ -30,7 +30,16 @@
"max": 10.0,
"step": 0.1,
"description": "平面拟合的距离阈值(同时也作为曲率搜索半径的基准 ×2)。"
}
},
{
"name": "roiXMin", "label": "ROI X 最小值 (mm)", "type": "number", "default": null,
"description": "待测区域裁剪范围(配准后 CAD 坐标系,mm)。整车点云时必填以加速计算,留空 = 不裁剪。"
},
{ "name": "roiXMax", "label": "ROI X 最大值 (mm)", "type": "number", "default": null },
{ "name": "roiYMin", "label": "ROI Y 最小值 (mm)", "type": "number", "default": null },
{ "name": "roiYMax", "label": "ROI Y 最大值 (mm)", "type": "number", "default": null },
{ "name": "roiZMin", "label": "ROI Z 最小值 (mm)", "type": "number", "default": null },
{ "name": "roiZMax", "label": "ROI Z 最大值 (mm)", "type": "number", "default": null }
],
"runtime": {
"kind": "process",
@@ -42,6 +51,6 @@
"envExtra": {
"ALG_ROOT": "{algRoot}"
},
"timeoutMs": 1200000
"timeoutMs": 5400000
}
}

View File

@@ -2,8 +2,8 @@
"id": "train-measurement",
"name": "列车点云测距",
"shortName": "train-measurement",
"description": "基于配置 YAML 驱动的列车点云批量测距套件(v1.1)。支持「平面到平面 / 点到平面 / 点到点」三类任务,可在 3D 视图中拖拽 ROI 包围盒可视化配置。",
"version": "1.1.0",
"description": "基于配置 YAML 驱动的列车点云批量测距套件(v2.2)。v2.2 新增孔中心拟合(hole_center_fitter)、测量日志(measurement_logger)、性能日志(performance_logger)。支持「平面到平面 / 点到平面 / 点到点 / 带孔」四类任务,可在 3D 视图中拖拽 ROI 包围盒可视化配置。",
"version": "2.2.0",
"schemaVersion": 1,
"category": "尺寸测量",
"requiresPointCloud": true,
@@ -37,9 +37,9 @@
"{inputJson}"
],
"envExtra": {
"PYTHONPATH": "{algRoot}/点云测距v1.1/train_measurement_system/src",
"TRAIN_MEAS_ROOT": "{algRoot}/点云测距v1.1/train_measurement_system"
"PYTHONPATH": "{algRoot}/train_measurement_system_v2.2/train_measurement_system_v2.2/src",
"TRAIN_MEAS_ROOT": "{algRoot}/train_measurement_system_v2.2/train_measurement_system_v2.2"
},
"timeoutMs": 1200000
"timeoutMs": 5400000
}
}

View File

@@ -2,8 +2,8 @@
"id": "underframe-deflection",
"name": "构架挠度测量",
"shortName": "underframe-deflection",
"description": "基于点云的高铁底架纵梁挠度测量(v1.2,来自 alg/delivery_v1.2/underframe_deflection)。支持 CAD 基准配准与 ROI 裁剪,输出左右梁挠度、配准 RMS 及挠度曲线 PLY 叠加层。v1.2 新增单梁管线(single_beam)支持。",
"version": "1.2.0",
"description": "基于点云的高铁底架纵梁挠度测量(v1.2.1,来自 alg/delivery_v1.2.1/underframe_deflection)。支持 CAD 基准配准与 ROI 裁剪,输出左右梁挠度、配准 RMS 及挠度曲线 PLY 叠加层。v1.2.1 新增项点检验字段(公差/测量/误差/结论)与 Excel 报表导出。",
"version": "1.2.1",
"schemaVersion": 1,
"category": "几何测量",
"requiresPointCloud": true,
@@ -54,8 +54,8 @@
"{inputJson}"
],
"envExtra": {
"PYTHONPATH": "{algRoot}/delivery_v1.2"
"PYTHONPATH": "{algRoot}/delivery_v1.2.1"
},
"timeoutMs": 1200000
"timeoutMs": 5400000
}
}

View File

@@ -0,0 +1,105 @@
{
"id": "vehicle-registration",
"name": "整车配准",
"shortName": "vehicle-registration",
"description": "将整车扫描点云与标准 STEP CAD 进行配准(v1.3)。v1.3 新增 ICP 精配准、CAD 采样缓存加速、配准误差统计(RMSE/p95)。配准完成后,对齐点云自动加入任务点云列表,供后续测量算法选用。",
"version": "1.3.0",
"schemaVersion": 1,
"category": "配准",
"requiresPointCloud": true,
"requiresCad": true,
"inputs": [
{
"name": "axis",
"label": "车辆长度轴",
"type": "select",
"default": "x",
"options": [
{ "value": "x", "label": "X 轴" },
{ "value": "y", "label": "Y 轴" },
{ "value": "z", "label": "Z 轴" }
],
"description": "扫描坐标系中车辆纵向(车头→车尾)对应的轴。"
},
{
"name": "cropRatio",
"label": "车头/车尾截取比例",
"type": "number",
"default": 0.01,
"min": 0.005,
"max": 0.15,
"step": 0.005,
"description": "从点云两端各取此比例的长度范围用于质心估算。数据干净时 0.01 即可;噪声多时可适当加大。"
},
{
"name": "scalePointcloud",
"label": "点云缩放系数",
"type": "number",
"default": 1.0,
"min": 0.001,
"max": 1000.0,
"step": 0.001,
"description": "点云单位与 CAD 单位不一致时使用。例如点云为米、CAD 为毫米,填 1000。"
},
{
"name": "cadSamplePoints",
"label": "CAD 采样点数",
"type": "integer",
"default": 30000,
"min": 5000,
"max": 500000,
"description": "从 CAD mesh 均匀采样的点数。点数越多精度越高,耗时也越长。"
},
{
"name": "localSamplePoints",
"label": "端部局部采样点数",
"type": "integer",
"default": 1000,
"min": 100,
"max": 20000,
"description": "车头/车尾区域用于质心计算的最远点采样数。"
},
{
"name": "useIcp",
"label": "ICP 精配准",
"type": "boolean",
"default": true,
"description": "平移对齐后再做一轮 ICP 精配准(v1.3 新增)。通常可进一步减小配准误差,耗时约增加 30–60 秒。"
},
{
"name": "icpSamplePoints",
"label": "ICP 采样点数",
"type": "integer",
"default": 200000,
"min": 10000,
"max": 1000000,
"description": "ICP 配准时使用的点数。越多精度越高,耗时也越长。"
},
{
"name": "computeErrorStats",
"label": "计算配准误差统计",
"type": "boolean",
"default": true,
"description": "配准后抽样计算点云到 CAD 的距离误差(RMSE / p95 / p99),用于评估配准质量。"
},
{
"name": "useCadCache",
"label": "缓存 CAD 采样",
"type": "boolean",
"default": true,
"description": "缓存 CAD 三角化采样结果,同一 CAD 文件第二次配准时跳过耗时的 STEP 解析,大幅加速。"
}
],
"runtime": {
"kind": "process",
"cmd": [
"{pythonBin}",
"{adapterDir}/vehicle_registration_run.py",
"{inputJson}"
],
"envExtra": {
"PYTHONPATH": "{algRoot}/整车配准v1.3"
},
"timeoutMs": 1800000
}
}