全量 part-latent 预处理 · 小批演示

官方 PArtArt-Gen 管线 · e区 8×H100 · 在从未预处理的多样件上现跑 → SLAT part latent · 2026-06-16
这是什么:把"用真几何 latent 喂 LLM 推关节"所需的全量预处理管线跑通并验证。下面 5 件都是之前没有 latent 的例子——3 件 PNM 零覆盖多样类(Globe 自旋 / Eyeglasses 铰链 / Scissors 枢轴)+ 2 件 ArtiCraft 多样合成件(吊扇 / 天文望远镜),全部在 e区 现场从 mesh 跑完整管线产出 part SLAT latent。每件展示:左=EEVEE 渲染实物右=逐 part 的 SLAT latent(8维→PCA→RGB 染色的体素)
5 件 / 18 part本批新预处理(PNM×3 + ArtiCraft×2)
格式逐字段一致coords N×3 uint8 + feats N×8 与官方 data_stage4 相同
~2 min/件@40视图官方150视图≈6min/件;PNM全量1772件≈8卡22h
零 fallback真 BLENDER_EEVEE 渲染(非primitive)

管线(官方两阶段,e区已全验证)

Stage0 raw→source: CAGE preprocess → object_merge_fixed.json + 逐part objs。
Stage1-5 source→latent: render_lqm(150视图 BLENDER_EEVEE)→ voxelize(1/64)→ DINOv2 特征 → SLAT 编码(slat_enc_swin8_B_64l8_fp16, 85.8M)。
★修了个坑: 官方脚本第一步 singpo(blenderproc)在 e区卡死且吞错误;singpo 只产图像条件、与 part latent 无关 → 跳过它直接走 P2-P5 latent 路径(本演示用 latent_only.sh)。

5 件预处理结果

PNMGlobe 100720 自旋 spin

2 parts: sphere(球体) + base(底座/书立)。球体绕倾斜轴旋转——正是 bbox 表示丢失朝向、最该用真几何的类型。
EEVEE 渲染(真实 PNM mesh)
左=按part分色;右=逐part SLAT latent→RGB(体素)

PNMEyeglasses 101284 铰链 revolute

3 parts: 两条镜腿 leg + 镜框 base。两侧镜腿各自绕铰链折叠。
EEVEE 渲染
逐part latent

PNMScissors 10449 枢轴 pivot

2 parts: blade_handle_set(刀刃+手柄) + base。绕中心枢轴开合。
EEVEE 渲染
逐part latent

ArtiCraft天文望远镜(三脚架) tilt/swivel

3 parts: tripod(三脚架) + arm(臂) + tube(镜筒)。合成数据(名泄漏/轴对齐陷阱→仅沙盒)。源从 g区 取、e区现跑预处理。
EEVEE 渲染(ArtiCraft 合成 mesh)
逐part latent

ArtiCraft吊扇 ceiling fan continuous 旋转

8 parts: mount(吊座) + rotor(转子) + globe + 5×blade(扇叶)。多部件、连续旋转关节。
EEVEE 渲染
逐part latent(8 part)

意义

这些 part latent 就是取代 bbox 文本喂给 LLM 的"真几何"。逐 part 的 latent→RGB 染色显示每个部件内部有空间分区(非均匀),即 latent 携带了 bbox 丢失的朝向/形状信息。本批验证了全量预处理可在 e区 落地;下一步把 PNM 全量缺口(1772 件)按此管线(150视图)产出,供 latent-token 微调。
EPPUR · latent-token 路线 · 预处理小批演示 · 2026-06-16 · 全部图为真实 BLENDER_EEVEE 渲染 + 真实 SLAT 编码(零 fallback)