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:
@@ -0,0 +1,54 @@
|
||||
# CAD 采样工具(测试数据生成 · 与主算法隔离)
|
||||
|
||||
> **这是独立工具,不是主算法的一部分。** 它只用来把 CAD 的 STEP 模型采样成点云,
|
||||
> 作为**模拟测试数据**。主测量算法 (`underframe_deflection`) **不会 import 本目录任何代码**,
|
||||
> 也不依赖 `cadquery`。将来用真实扫描点云时,本工具完全可以不用。
|
||||
|
||||
## 作用
|
||||
|
||||
```
|
||||
STEP (.stp) ──► step_to_pointcloud.py ──► 整车点云 (.ply / .xyz) + metadata (.json)
|
||||
(tessellate + 按三角面积加权采样)
|
||||
```
|
||||
|
||||
输出坐标轴约定与主算法一致:`x=纵向, y=横向, z=高度`(脚本内部做了 `[0,2,1]` 轴重排,
|
||||
因为 CAD 原始是 `x=纵向, y=高度, z=横向`)。
|
||||
|
||||
## 安装依赖
|
||||
|
||||
```bash
|
||||
# 仅生成测试数据时才需要;主算法运行不需要它
|
||||
pip install -e .[sampling] # 安装 cadquery
|
||||
```
|
||||
|
||||
## 用法
|
||||
|
||||
```bash
|
||||
python tools/cad_sampling/step_to_pointcloud.py <模型.stp> \
|
||||
-n 800000 \ # 采样点数(越大越密)
|
||||
--bottom-boost 4.0 \ # 对车底区域加密的权重(>1 时车底点更多)
|
||||
--bottom-band-height-ratio 0.24 \
|
||||
--output-prefix test_data/dense_800k
|
||||
```
|
||||
|
||||
常用参数:
|
||||
|
||||
| 参数 | 默认 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `-n / --num-points` | 100000 | 采样点总数 |
|
||||
| `--bottom-boost` | 1.0 | 车底加密倍数(挠度测量建议 ≥ 3) |
|
||||
| `--bottom-band-height-ratio` | 0.24 | 车底带的高度占比 |
|
||||
| `--linear-deflection` | 1.0 | tessellation 线性精度(越小三角越细,越慢) |
|
||||
| `--angular-deflection` | 0.1 | tessellation 角度精度 |
|
||||
| `--seed` | 42 | 随机种子(可复现) |
|
||||
|
||||
## 与主算法的关系
|
||||
|
||||
```
|
||||
[本工具] STEP → 点云 [主算法] 点云 + CAD + ROI(json) → 挠度报告
|
||||
(cadquery,仅测试) (numpy+scipy,生产)
|
||||
└── 解耦 ──────────────────────┘
|
||||
```
|
||||
|
||||
挠度测量对点云密度敏感:**车底纵梁区域过稀会导致样条拟合在端点不稳定**。
|
||||
生成模拟测试数据时建议 `--bottom-boost ≥ 3` 且 `-n ≥ 8e5`。
|
||||
Reference in New Issue
Block a user