dbcbdbb59e
- 处理: 74 个 .md 文件 - 跳过: 0 个(无已存在的 front matter) - 异常: 3 个(H1 缺失,用文件名兜底) - plans/PRISM/.research/readmes/3d-llm.md - plans/PRISM/.research/readmes/openmask3d.md - plans/PRISM/.research/readmes/openscene.md
9.9 KiB
9.9 KiB
title, date, draft, tags, categories
| title | date | draft | tags | categories | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ZED 2i 数据 Pipeline 迭代框架(面向 World Model 训练) | 2026-05-20 | false |
|
|
ZED 2i 数据 Pipeline 迭代框架(面向 World Model 训练)
上层执行框架,承接
zed2i_stereo_imu_solution.md的硬件/SDK 细节,向下细化为可独立执行的 todo 项。 设计哲学:时间维度多次迭代(M1→M4 螺旋上升)× 空间维度从粗到细(场景→房间→物体→像素)。
0. 框架总览
0.1 两个正交维度
| 维度 | 取值 | 含义 |
|---|---|---|
| 时间(里程碑) | M1 → M2 → M3 → M4 | 一次性原型 → 单场景达标 → 批量化迭代 → 评测发布 |
| 空间(粒度) | L1 场景 / L2 房间 / L3 物体 / L4 像素 | 全局拓扑 → 房间布局 → 家具个体 → 深度/纹理质量 |
每个里程碑都在四个空间层级各完成一次切片,形成 4 × 4 = 16 个交叉单元格。下游 world model 训练所需的"多尺度时空数据"由此自然涌现。
0.2 框架矩阵
| 空间\时间 | M1 环境搂环 | M2 单场景达标 | M3 批量化迭代 | M4 评测与发布 |
|---|---|---|---|---|
| L1 场景 | 跑通 30s 走廊录制 | 单客房 Spatial Mapping 闭合 | ≥10 房型 SOP 化采集 | 场景级 benchmark split |
| L2 房间 | 房间数据目录契约 | 分区域稠密扫描覆盖率达标 | 自动质控 + 重采触发 | 房间布局/affordance 标注 |
| L3 物体 | 物体级 schema 占位 | 近距离环拍 ±2cm | 神经深度后处理消融 | 物体语义层(家具类别) |
| L4 像素 | 深度/位姿格式定义 | 置信度 mask + 失效分析 | VIO/深度算法对比 | 像素级误差指标定版 |
0.3 主线流程(Mermaid)
flowchart LR
M1[M1 环境搂环<br/>格式契约] --> M2[M2 单场景达标<br/>一间客房闭环]
M2 --> M3[M3 批量化迭代<br/>多场景 + 算法消融]
M3 --> M4[M4 评测发布<br/>World Model 接口]
M4 -.反馈.-> M2
M4 -.反馈.-> M3
subgraph 每个里程碑内部
L1[L1 场景级] --> L2[L2 房间级]
L2 --> L3[L3 物体级]
L3 --> L4[L4 像素级]
end
1. M1:环境搂环与数据格式契约
目标:把"一段 30 秒走廊 SVO"完整跑通从录制到落盘到读取的全链路,建立后续所有工作的数据契约与评测脚手架。 出口判据:任一新人按文档可在 1 小时内复现"录制→解析→评测桩输出"全流程。
1.1 任务分解
| ID | 空间层 | 任务 | 关键产出 |
|---|---|---|---|
| M1-1 | L1 | ZED SDK + CUDA + pyzed + ROS 2 安装;ZED_Explorer 与 basic_capture.py 烟囱测试 |
env_setup.md + 一段 30s SVO |
| M1-2 | L2 | 数据格式契约:目录树、命名、时间戳对齐、JSON/YAML schema | data_contract.md(待建) |
| M1-3 | L3/L4 | 相机内参导出、IMU-Camera 外参、世界坐标系约定(Z-up)、与 world model 坐标系映射 | calibration.yaml |
| M1-4 | L4 | 评测脚手架(指标桩:ATE/RPE/深度误差/覆盖率/重投影) | eval/ 目录骨架 |
1.2 推荐目录契约(落到 M1-2)
dataset_root/
├── sessions/
│ └── {hotel_id}/{room_id}/{session_ts}/
│ ├── raw.svo2 # ZED 原生录制
│ ├── images/{left,right}/000000.png
│ ├── depth/000000.npz # float32 + confidence
│ ├── imu.parquet # 400Hz, 时间戳对齐
│ ├── poses.tum # TUM 格式轨迹
│ ├── pointcloud.ply # 融合点云
│ ├── mesh.obj # Spatial Mapping 网格
│ ├── area_memory.area # ZED 区域记忆
│ └── meta.yaml # 设备、参数、环境、操作员
├── calibration/{device_serial}.yaml
└── eval/ # M1-4 脚手架
├── metrics/
└── reports/
2. M2:单场景达标(一间客房闭环)
目标:把一间客房做到"world model 训练可直接使用"的质量,所有指标都有量化判据。空间上完成 L1→L4 一次完整下沉。 出口判据:单房间数据包通过 M1-4 评测脚本所有阈值。
2.1 任务分解
| ID | 空间层 | 任务 | 量化判据 |
|---|---|---|---|
| M2-1 | L1 场景 | 一次性环绕扫描,输出 Spatial Mapping 网格 + 轨迹 | 环回误差 < 5cm,覆盖率 > 85% |
| M2-2 | L2 房间 | 分区域慢扫(床区/卫浴/桌面/角落) | 每区域深度覆盖 ≥ 90%,空洞率 ≤ 5% |
| M2-3 | L3 物体 | 家具/电器/装饰物 0.5–1m 环拍(ULTRA 模式) | 几何精度 ±2cm(用卷尺锚点验证) |
| M2-4 | L4 像素 | 反光/透明/弱纹理失效分析;置信度过滤 mask | 失效区 mask 召回 > 90% |
| M2-5 | 综合 | 单场景出口验收 | 通过 M1-4 全部阈值 |
2.2 空间下沉示意
flowchart TB
A[L1 场景级 一次性环绕] --> B[L2 房间级 分区慢扫]
B --> C[L3 物体级 近距环拍]
C --> D[L4 像素级 失效mask]
D --> E[出口验收包]
E -.指标不达标.-> A
2.3 采集动作规范(落到 SOP)
- L1 走位:门口起步,沿墙顺时针一圈,1m/s,相机略下倾 15°
- L2 走位:每个功能区慢扫 30s,0.3 m/s,多视角往返
- L3 走位:物体距离 0.5–1m,环拍 ≥ 270°,含俯视
- L4 标注:人工标记反光/透明区域作为失效 GT
3. M3:批量化迭代(多场景 + 算法消融)
目标:把 M2 的单房成功复制到 ≥10 个房型,同时通过算法消融把整体质量再推高一档。 出口判据:10+ 房型数据全部通过质控;至少一项算法迭代带来可量化提升(如深度 RMSE ↓ 20%)。
3.1 任务分解
| ID | 空间层 | 任务 | 关键消融变量 |
|---|---|---|---|
| M3-1 | L1 | 多房型批量采集 SOP(走位/时长/光照) | 房型 × 光照 × 操作员 |
| M3-2 | L2 | 数据质控自动化(PASS/FAIL 报告 + 自动重采) | 阈值参数 |
| M3-3 | L4 | 位姿算法对比:ZED VIO vs ORB-SLAM3 vs VINS-Fusion;IMU 融合开关 | 算法 × IMU on/off |
| M3-4 | L4 | 深度算法对比:ZED ULTRA vs FoundationStereo/UniDepth 后处理 | 神经后处理 on/off |
| M3-5 | L1/L2 | 多会话融合:.area 拼接、TSDF/Nerfacto/3DGS 后端选型 |
后端 × 输入子集 |
| M3-6 | 综合 | 数据湖目录、按房间/时间/质量打标、子集导出工具 | — |
3.2 算法消融流(Mermaid)
flowchart LR
DATA[M2 单场景数据] --> SPLIT[10 房型采集池]
SPLIT --> VIO{位姿后端}
SPLIT --> DEP{深度后端}
VIO --> EVAL1[ATE/RPE]
DEP --> EVAL2[深度 RMSE/覆盖]
EVAL1 --> PICK[最优配置]
EVAL2 --> PICK
PICK --> FUSE[M3-5 融合建图]
4. M4:评测基准与 World Model 接口
目标:把数据资产对外可用——定版评测基准、对齐主流 world model 训练框架、跑通基线模型回灌验证。 出口判据:用本数据训练的小规模 world model 收敛并复现公开任务指标。
4.1 任务分解
| ID | 空间层 | 任务 | 关键产出 |
|---|---|---|---|
| M4-1 | L1–L4 | 评测基准定版:轨迹/深度/几何/时序/NVS 指标 + benchmark split | benchmark/ |
| M4-2 | 综合 | World Model 数据接口:webdataset / HDF5 / LeRobot 格式 | 导出脚本 + sample schema |
| M4-3 | L2/L3/L4 | 任务化标注层:家具类别、可交互性、affordance | 多层级监督标签 |
| M4-4 | 综合 | 基线回灌:训练 video prediction 或 NeRF 小模型 | 复现报告 |
| M4-5 | 综合 | 数据卡(Datasheet for Datasets)+ 复现指南 + license | 发布包 |
4.2 World Model 接口示意
flowchart LR
RAW[原始 SVO/RGB-D/IMU/Pose] --> EXPORT[M4-2 导出器]
EXPORT --> WDS[webdataset]
EXPORT --> H5[HDF5]
EXPORT --> LEROBOT[LeRobot]
WDS --> TRAIN[video prediction]
H5 --> NERF[NeRF/3DGS]
LEROBOT --> POLICY[robot policy]
TRAIN & NERF & POLICY --> METRIC[M4-1 评测基准]
5. 跨里程碑的"螺旋反馈"
框架不是单向瀑布,而是螺旋:
- M4 评测发现的弱点 → 反馈到 M3 算法消融
- M3 算法消融的最优配置 → 反向更新 M2 的采集 SOP
- M2 的失败案例 → 暴露 M1 数据契约的缺陷 → 修订 schema
flowchart LR
M1 --> M2 --> M3 --> M4
M4 -- 弱点 --> M3
M3 -- 最优配置 --> M2
M2 -- 失败案例 --> M1
6. 风险与缓解
| 风险 | 触发里程碑 | 缓解策略 |
|---|---|---|
| 反光/玻璃区域深度大面积失效 | M2-4 | 偏振滤镜 + 神经深度后处理(M3-4) |
| IMU 温度漂移导致长序列轨迹偏移 | M2-1 / M3-3 | 预热 5 分钟 + 多会话 .area 重定位 |
| 数据量爆炸(10 房型 × N 会话) | M3-6 | 早期建立数据湖 + 质量打标 + 子集导出 |
| World Model 框架接口频繁变动 | M4-2 | 中间层 schema 隔离,导出器适配多目标格式 |
| 标注成本高 | M4-3 | 先半自动(ZED OD + SAM2)再人工修正 |
7. 与既有文档的关系
- 底层硬件/SDK:
zed2i_stereo_imu_solution.md - 横向方案对比:
camera_solutions_comprehensive.md - 开源工具链:
github_opensource_projects.md - 场景上层规划:
../hotel_scene_implementation_plan.md - iPhone 对照方案:
../iphone/README.md/../iphone/iphone_simplified_plan.md/../iphone/roomplan_accuracy_and_cad_export.md
版本:v0.1(框架草案) 维护者:项目规划团队