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

@@ -0,0 +1,48 @@
# 点云加噪模拟工具(独立,与主算法无关)
> 给点云每个点加小幅随机高斯噪声,模拟真实扫描仪的抖动。
> **与挠度测量算法完全解耦**,仅用于生成测试数据 / 评估算法对噪声的鲁棒性。
## 噪声量级
参考:约 2m × 2m 的扫描区域,真实噪声约 **50–80 微米**(0.05–0.08 mm)每坐标。
噪声沿 x/y/z 三个轴独立施加(各向同性高斯)。
## 用法
```bash
# 随机 σ ∈ [50, 80] um(默认)
python tools/noise_simulation/add_noise.py input.ply output_noisy.ply
# 固定 σ = 65 um
python tools/noise_simulation/add_noise.py input.ply output_noisy.ply --sigma-um 65
# 指定范围 + 固定种子(可复现)
python tools/noise_simulation/add_noise.py input.ply output_noisy.ply \
--sigma-um-min 50 --sigma-um-max 80 --seed 42
```
| 参数 | 默认 | 说明 |
| --- | --- | --- |
| `--sigma-um` | 无 | 固定噪声标准差(微米)。不给则在区间内随机取一个值 |
| `--sigma-um-min` / `--sigma-um-max` | 50 / 80 | 随机 σ 的区间(微米) |
| `--seed` | 0 | 随机种子(可复现) |
| `--chunk` | 4000000 | 流式分块大小(顶点数),支持超大文件 |
输入支持 ASCII / binary PLY;输出统一为 binary little-endian PLY(xyz float32)。
12GB 级大文件流式处理,内存占用恒定。
## 典型流程(评估噪声对挠度的影响)
```bash
# 1) 给整车点云加噪
python tools/noise_simulation/add_noise.py train.ply train_noisy.ply --sigma-um 65
# 2) 把加噪后的点云喂给算法
underframe-measure --input-cloud train_noisy.ply \
--left-roi roi_left_beam.json --right-roi roi_right_beam.json \
--out-dir out_noisy/
```
理论挠度为 0 的样本,加 ~65um 噪声后挠度测量结果应仍很小(远小于 mm 级公差),
用于验证算法对扫描噪声的鲁棒性。