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
232 lines
9.9 KiB
Markdown
232 lines
9.9 KiB
Markdown
---
|
||
title: "ZED 2i 数据 Pipeline 迭代框架(面向 World Model 训练)"
|
||
date: 2026-05-20
|
||
draft: false
|
||
tags: ["相机", "ZED2i", "立体视觉", "VIO", "数据结构", "评测"]
|
||
categories: ["worldmodel"]
|
||
---
|
||
|
||
# ZED 2i 数据 Pipeline 迭代框架(面向 World Model 训练)
|
||
|
||
> 上层执行框架,承接 [`zed2i_stereo_imu_solution.md`](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)
|
||
|
||
```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`](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 空间下沉示意
|
||
|
||
```mermaid
|
||
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)
|
||
|
||
```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 接口示意
|
||
|
||
```mermaid
|
||
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
|
||
|
||
```mermaid
|
||
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`](zed2i_stereo_imu_solution.md)
|
||
- **横向方案对比**:[`camera_solutions_comprehensive.md`](camera_solutions_comprehensive.md)
|
||
- **开源工具链**:[`github_opensource_projects.md`](github_opensource_projects.md)
|
||
- **场景上层规划**:[`../hotel_scene_implementation_plan.md`](../hotel_scene_implementation_plan.md)
|
||
- **iPhone 对照方案**:[`../iphone/README.md`](../iphone/README.md) / [`../iphone/iphone_simplified_plan.md`](../iphone/iphone_simplified_plan.md) / [`../iphone/roomplan_accuracy_and_cad_export.md`](../iphone/roomplan_accuracy_and_cad_export.md)
|
||
|
||
---
|
||
|
||
**版本**:v0.1(框架草案)
|
||
**维护者**:项目规划团队
|