EditGraph3D / Research Brief
证据截止 2026-07-15 · 报告生成 2026-07-16
AAAI 研究计划·Track A / Image-guided core·Frozen evidence

视觉上有吸引力,
但 S1 仍然没有过 gate。

你的直觉没有错:编辑分支的整体观感已经相当不错,完整的 10-case gallery 也显示出稳定、可辨认的结果。与此同时,冻结协议要求的是“源资产在任意视口经过 3D backbone 往返后仍精确贴合”,最终 rescue 只有 7/10 达到每资产 IoU > 0.95,低于必须的 9/10

S1 · FAIL / pipeline stopped 失败项只有 source silhouette IoU;运行、泄漏、确定性、GLB/PBR 与投影检查均通过。
7 / 10最终 v4 通过资产(目标 ≥ 9)
40 / 40GLB 非空、可重导入、可渲染
0run tree 中 evaluator-only GT 文件
18.76 GiB单 H20 峰值 allocated VRAM
01 · Method

方案:从成对反事实生成,到可撤销 3D edit graph

核心论文想法不是“换一个更强 backbone”,而是让 source-conditioned 与 edit-conditioned 分支共享坐标耦合随机性,把差分编译成 root-anchored、可撤销的有符号编辑层。

flowchart LR
    A["Source GLB / OBJ"] --> V["Captured active viewport"]
    U["Text / reference / aligned edit"] --> E2["Frozen 2D editor or direct edited image"]
    V --> CAN["Shared deterministic canvas"]
    E2 --> CAN
    CAN --> N["Source-conditioned branch X⁻"]
    CAN --> P["Edit-conditioned branch X⁺"]
    C["Coordinate-coupled noise ε(x,y,z,c)"] --> N
    C --> P
    N --> D["Signed 3D layer Δ"]
    P --> D
    D --> T["Transport to source root"]
    T --> G["DAG compile / undo / redo / checkout"]
    G --> O["Edited 3D asset + reversible transaction"]
    classDef live fill:#d8eee9,stroke:#0b7468,color:#17211d;
    classDef planned fill:#ebe7dd,stroke:#63706a,color:#17211d,stroke-dasharray: 5 4;
    class V,CAN,N,P live;
    class C,D,T,G,O planned;
          
已在 S1 验证/实现的 backbone 与 canvas 路径虚线节点:S2–S5 计划中的论文核心,目前未获准启动
论文假设

共享的是坐标耦合噪声,不只是 scalar seed

X⁻ₑ = Gθ(I⁻ₑ; εₑ)    X⁺ₑ = Gθ(I⁺ₑ; εₑ)

计划在 S2 将随机场按 (edit, stage, x, y, z, channel) 哈希,使两个分支在对应 3D 坐标使用相同噪声。目标是把非编辑区域的随机差异压低至少 2×。

当前边界

S1 只验证 backbone + viewport feasibility

目前完成的是 viewport capture、共享 canvas、source/target paired reconstruction、确定性导出、源派生 registration 与 no-GT audit。Signed layer、transport 和 graph compilation 都还没有进入实验阶段。

普通用户界面

方法输入仅允许 source asset、自动捕获的 camera,以及 text / general reference / aligned edited image。用户不提供 mask、box、depth、part label 或 correspondence。

单锚点会话

第一版论文只主张 single-anchor、same-view session。换视角继续编辑被视为新 session 的 rebase,不夸大为跨视角事务组合。

结构化输出

计划中的 edit layer 同时描述 birth、death、geometry、PBR、confidence 和 parent,再 transport 回原始资产坐标并编译成 DAG。

02 · Frozen setup

实验设置:10 个资产、成对分支、两次重复

所有正式结论来自 clean commit、冻结 config、冻结 manifest 与单 H20;最终 rescue 只允许增加三次固定的 source-centroid XY 更新,没有移动 gate。

Manifest
s1_camera_audit_v2.json · 10 assets
Composition
5 GSO + 5 PartObjaverse-Tiny
Track / seed
Track A image-guided core · seed 0
Per case
source + target branches × 2 repeats = 4 GLBs
Decision unit
每资产;任何 gate 失败均记 incomplete
Exclusions
禁止;10/10 必须报告
Compute
1 × NVIDIA H20(S1 上限)
Formal output
40 GLBs + renders + manifests + per-case metrics
Backbone
Pixal3D + TRELLIS.2-4B,foundation training frozen
Pipeline
1024_cascade · bfloat16 · SDPA
Sampling
12 structure + 12 shape + 12 texture steps
Max tokens
49,152
Auxiliary
DINOv3 + NAF(固定 revisions)
Determinism
warn_only + CUBLAS :4096:8
Attention
SDPA; sparse FlexGEMM
Training claim
training-free;registration 仍含确定性优化
Camera
每 case manifest 固定 PERSP view;自动读取 meta
Canonical frame
mesh Y-up,camera at +Z;export 时逆变换回 root
Crop source
只使用 source RGBA alpha,threshold 204
Canvas
square padding 1.10 · 1024² · Lanczos · black
Intrinsics
按 square crop 精确更新 FOV
Target policy
禁止 recrop / rembg
Paired metadata
source / target 必须 byte-identical
Session claim
single-anchor, same-view
V3 scale
uniform about origin · [0.75,1.25] · 12-step bisection
Objective
source-derived foreground pixel-count error;tie 取较小 scale
V4 rescue
scale 后恰好 3 次 analytic centroid XY update
Translation
gain 1 · no early stop · z=0 · fixed focal formula
Shared transform
同一 source-derived transform 用于两分支与两重复
Quantization
raw mesh resolution 512
PBR export
vertex COLOR_0 uint8;metallic/roughness 8 bins
Forbidden
vendor remesh / UV unwrap;target/GT/IoU-driven registration

方法可见

  • model.glb
  • meta.json
  • 2d_render.png
  • 2d_edit.png
  • 冻结的 view index

Evaluator-only,方法禁止读取

  • 2d_mask.png
  • mask_*.png
  • 3d_edit_region.glb
  • 由 GT 推导的 crop / part / box / candidate
  • 用最终评估指标选择候选
实际审计结果20 个 prepared trees 完整;整个正式 run tree 内匹配 evaluator-only 文件的数量为 0。带/不带评估标注时输出与 resolved-config hash 不变。
Frozen S1 pass rule

至少 9/10;每个通过资产还必须同时满足所有下列条件

source silhouette IoU > 0.95projection median < 2 pxexact coordinate supportlatent max ≤ 0.015625render mismatch ≤ 1e-4GLB hash exactscale error < 0.02PBR / normals / colors validno-GT inference

03 · Experiment history

15 条实验记录:先排除实现问题,再做两次科学判定

并非 15 次都在“调分数”。大部分是 CPU/leakage、renderer calibration、确定性导出和 smoke;真正决定 GOAL 状态的是 v3 正式 audit 与唯一一次 v4 rescue。

17:41–18:14 · Contract & renderer
Leakage smoke PASS;renderer v1 FAIL 后 v2 calibration PASS
先验证共享 canvas 与冻结 renderer,而不是直接起大 batch。18:04 的 BLOCKED 是外部 GPU 状态,不是科学结论。
18:28–18:30 · First paired reconstruction
实现级 FAIL + 单资产科学 smoke FAIL
18:30 one-asset smoke 用时 456.2s;按合同没有继续 batch。
18:46–19:08 · Determinism & registration
raw determinism、deterministic export、area registration、paired smoke 全部 PASS
定位 vendor export 字节差异后换为项目自有确定性导出;随后完成正式 audit 的最小前置链。
19:19 · Batch infrastructure
batch runner 环境 FAIL(1/10 后中止)
这是运行环境故障,不计为方法 gate 结果;修复后以新 run id 重跑,保留失败记录。
19:26 · V3 frozen decision run
8/10 · SCIENTIFIC FAIL
两个 incomplete 只失败于 source silhouette IoU:case 5 = 0.943683,case 8 = 0.883666。触发且只允许一次 24h rescue。
20:15 · Source-only moment diagnosis
诊断支持固定 centroid rescue,但没有查看/优化 GT
case 8 有 28.94px 垂直 centroid residual;case 5 已基本对齐,提示 shape mismatch。
20:24–20:32 · Single permitted rescue
rescue smoke FAIL;正式 v4 audit 7/10 · SCIENTIFIC FAIL
centroid 都压到 0.36px 以内,但 case 0 新回归,case 5 仍失败,case 8 虽改善仍未过 0.95。S1 停止。
展开全部 15 条 run 记录(状态、类型、用时)
Run结果分类用时说明
1741 canvas-leakage-smokePASSCPU / contract共享 canvas 与 GT-stripped hash
1804 renderer-calibrationBLOCKEDexternal GPU非科学结论
1805 renderer-calibrationFAILimplementation1.06sv1 viewport mismatch
1814 renderer-calibration-v2PASScalibration0.82srenderer fixed
1828 pixal-paired-smokeFAILimplementation1.03spaired path implementation
1830 pixal-paired-smokeFAILone-asset smoke456.22s未批量运行
1846 raw-determinismPASSdiagnostic172.58sraw exact;vendor export variance
1856 deterministic-exportPASSimplementation7.64sproject-owned stable export
1906 area-registrationPASSunit / numeric5.32ssource-only scale fit
1908 paired-smokePASSGPU smoke259.26sbatch 前置通过
1919 camera-auditFAILinfrastructure267.23s1/10 后 runner 环境故障
1926 v3 camera-auditFAILscientific gate2714.24s8/10
2015 rescue-momentsPASSdiagnostic冻结 source-only diagnosis
2024 centroid-rescue-smokeFAILGPU smoke259.86scase 0 source metric regression
2032 final rescue auditFAILscientific gate2830.28s7/10;pipeline stopped
04 · Quantitative results

最终失败不是系统崩了,而是 3 个 silhouette 低于严格阈值

v4 的 mean IoU 为 0.9635、median 为 0.9821;但 gate 不是看平均数,而是要求至少 9 个单资产严格高于 0.95。case 0、5、8 分别为 0.8979、0.9438、0.9232。

Every case, no cherry-picking

V3 vs V4 source silhouette IoU

Final decision

V4 pass coverage

Rescue effect

Δ IoU: V4 − V3

Stable infrastructure

40 / 40 artifacts valid

所有 source/target × 2 repeats GLB 均非空、可重导入、可由 frozen renderer 渲染,并包含 PBR factor、normals 与 vertex colors。

Deterministic & leak-free

latent max = 0

full 与 physically stripped trees 的 GLB byte-identical;coordinate support exact;最大 repeat silhouette mismatch 为 1.91e−6。

The only failing gate

Source silhouette fidelity

最大 projection median 6.36e−14px,最大 scale error 2.28e−8,远优于 gate;只有 per-asset source IoU 导致 incomplete。

10 cases
#CaseV3 IoUV4 IoUΔCentroid residualArea errorV4
0GSO / Leonardo / prompt_30.9524510.897863−0.0545880.034 px77FAIL
1GSO / Assorted Vegetable / prompt_10.9868130.988217+0.0014040.006 px86PASS
2GSO / Kitchen Furniture / prompt_20.9890250.985724−0.0033010.030 px274PASS
3GSO / Car Carrier Train / prompt_30.9820560.984804+0.0027480.020 px44PASS
4GSO / Rabbit Basket / prompt_20.9744720.957918−0.0165540.036 px285PASS
5PartObjaverse / 67e2e51a / prompt_20.9436830.943838+0.0001550.014 px20FAIL
6PartObjaverse / 66e6c396 / prompt_30.9871200.982039−0.0050810.027 px229PASS
7PartObjaverse / abdad363 / prompt_10.9800990.982229+0.0021300.053 px137PASS
8PartObjaverse / 25a32b2b / prompt_30.8836660.923177+0.0395100.354 px1,609FAIL
9PartObjaverse / 8ec56d0b / prompt_30.9895240.989395−0.0001290.003 px80PASS
Rescue 的真实效果三次 XY 更新把所有 centroid residual 压到了 0.36px 内;case 8 IoU 提高了 0.03951,但仍不足 0.95,且 foreground-area error 从 55 增至 1,609。case 5 基本不变,说明不是简单平移问题;case 0 则从 v3 的 PASS 回归为 FAIL。整体由 8/10 降到 7/10。
05 · Visual review

你看到的“不错”是成立的,而且不是 cherry-pick

下面两张图覆盖全部 10 个 expected samples,并保留所有失败。它们只使用 prepared method inputs 与 frozen-renderer predictions;不包含 evaluator-only GT,也没有参与超参或候选选择。

全量 paired gallery。每行给出 source viewport、edited viewport、source branch 与 edit branch 输出;红色 FAIL 是 S1 source-round-trip gate 的失败,不等于 edited branch 的视觉失败。点击放大。
重合source-only / 缺失generated-only / 多出
Source round-trip overlay。case 0、5、8 在 v4 低于 0.95;微小但系统性的边界偏差会被严格 per-asset gate 识别,即使缩略图在肉眼上仍显得合理。点击放大。
视觉判断与科学判定可以同时为真现有 gallery 足以支持“backbone 的编辑分支有定性潜力、值得继续研究”的判断;它不足以支持“任意 viewport 已稳定可用”或“transactional edit graph 已成立”。后两者需要通过 S1 以及 S2–S5 的独立 gate。
06 · GOAL contract

S0–S7:原计划要证明什么,当前停在哪里

GOAL.md 是可执行研究合同,不是愿望清单。冻结状态为:S0 PASS、S1 FAIL、S2–S7 NOT_STARTED;失败后不能用更大后续实验来“补偿”前置 gate。

S0
PASS

Repository & data contract

建立独立 repo、输入边界、benchmark leakage firewall、manifest 与追踪协议。

S1
FAIL · 7/10

Backbone & viewport feasibility

目标 ≥9/10 任意视口 round-trip;每资产 IoU >.95、投影 <2px、确定性/PBR/scale/no-GT 全通过。

S2
NOT STARTED

Coordinate-coupled noise

20–30 cases;shared-coordinate equality;outside-edit false diff 至少降低 2×,bootstrap CI 排除 0。rescue 后 <1.5× 为 No-Go。

S3
NOT STARTED

Atomic signed layer

birth/death/geometry/PBR/confidence schema;AUPRC >.35、≥1.5× baseline、outside FP ≥2× 改善、target fidelity ≥95%。

S4
NOT STARTED

Transport to original

coverage ≥80%(<70% No-Go);oracle preservation +20% 且保留 ≥95% edit fidelity;predicted 保留 ≥90% oracle gain。

S5
NOT STARTED

Edit graph compilation

undo/redo、commutativity、latest-writer、branches;≥80% sessions 保留 edits、drift slope −30%、undo/redo ≥95%。

S6
NOT STARTED

Full evaluation

全部 300 cases、官方指标与 baselines、完整失败清单、对象级 paired bootstrap;Track A/B headline 严格分开。

S7
NOT STARTED

Ablations & paper readiness

在所有先前 gate 通过后完成 ablations、公开 artifacts、可复现实验与论文 claim audit。

当前 GOAL 的硬结论status: stoppedfailed_stage: S1_backbone_and_viewport_feasibilitynext_stage: null。唯一 rescue 已消费;不得再调 registration、移动 0.95/9-of-10 gate、排除 case,或在该合同下进入 S2。
07 · Interpretation

视觉不错为什么仍 FAIL?因为二者回答的是不同问题

缩略图主要回答“是否看起来像一个合理 3D 编辑”;S1 回答“能否把 source 几何当作稳定坐标基准,支撑后续细粒度 counterfactual differencing”。后者更苛刻,也更接近事务编辑所需的底层不变量。

What the visuals support

现在可以诚实地说

  • paired input → 3D output 的定性观感有吸引力
  • 10/10 均产生完整结果,不是挑选成功图
  • 导出、渲染、PBR、确定性和 leakage firewall 已形成可靠基础设施
  • backbone 可能适合做更宽松的视觉编辑 demo
  • S1 失败高度集中,诊断价值明确
What the evidence does not support

现在还不能说

  • 任意 viewport 的 source round-trip 已稳定达到论文要求
  • source/edit branch 差分已能可靠分离真实 edit 与生成漂移
  • signed layer、transport、DAG undo/redo 已被验证
  • 单个漂亮 case 或平均 IoU 可以替代 per-asset frozen gate
  • 可以在原合同下继续补做第二次 rescue 或绕过 S1
Case 0

Rescue-induced regression

v3 刚过阈值(.9525),固定 centroid translation 后降到 .8979。说明“centroid 更准”不等于 silhouette shape 更准。

Case 5

Shape mismatch

centroid residual 只有 .014px、area error 20,但 IoU 仍 .9438。残差来自形状边界,而非简单刚性对齐。

Case 8

Partial rescue, insufficient

IoU 从 .8837 提到 .9232,视觉上改善明显;但 area error 激增,且仍低于 .95,不能计为 PASS。

研究判断这不是“方法毫无价值”,而是“当前 backbone round-trip 精度不足以作为 EditGraph3D 后续 signed-difference pipeline 的冻结基座”。如果未来要继续,需要用户明确改写研究合同,例如提出一个新的 S1v2 假设/协议;不能把现有 FAIL 改名为 PASS。
08 · Evidence & reproducibility

冻结证据索引

这里列出 report 使用的正式 run、commit、manifest、config 与关键 SHA-256。完整 operational paths 只保留在 ignored run context;报告不泄漏机器私有路径。

正式 v4 final rescue audit

Run: 20260715-2032_s1_centroid-rescue-audit_s0_1c13fa0
Commit: 1c13fa0d806a8de3e49bd8dd3e20795e296eb96f
Decision: FAIL · 7/10 · scientific_gate · rescue 1_of_1
Wall / GPU: 2830.2833s (47.17min) · NVIDIA H20 GPU 6 · 18.7627 GiB peak allocated

config SHA: 99b0f586a987a9e1b08e707821d6d65eb2e815f7430a16ea90cef5005901e610
runtime SHA: 3192a09614960376a403a356bb5c29e271a4ca41ba127ac2e27ff5d673ab052c
protocol SHA: 23e55a6d6eafb1b6d38c26d2a901a5653745de13609eb6560fd21ca29914746d
audit result SHA: cf5864d5a1ec3e8d66b3df8cd654e30c1b05555a4f8362a7fbcfc22ae6ff5b7b

正式 v3 camera audit

Run: 20260715-1926_s1_camera-audit_s0_abd6be6
Commit: abd6be6
Decision: FAIL · 8/10 · scientific_gate
Wall / GPU: 2714.2377s (45.24min) · NVIDIA H20 · 18.7627 GiB peak allocated

config SHA: 26dbc45970412f6716709246428abb8cd2b235c88fe7a624f6ef4f289abeb60f
audit result SHA: 8cd464e9dc498e675a1eb20e342e6f365b740cd6040387fc5527c74f15a7d6c4

Manifest、model revisions 与视觉证据

Audit manifest: benchmarks/edit3d_bench/manifests/s1_camera_audit_v2.json

manifest SHA: 67491370f5f596b5b9c08ce042903f6edc8c734c88253073ec37affaeb5ac7c9
dataset manifest SHA: 3da1c57793a4a1107d9bc6893d4f058ea8f0e80f020be82dd9d197bf470a5711
Pixal3D code: cdbb2bbffbf4e6f298b5f2af3d1d76a8d823d2af
Pixal3D checkpoint: 0b31f9160aa400719af409098bff7936a932f726
TRELLIS.2 code: 75fbf0183001ed9876c8dbb35de6b68552ee08bd
TRELLIS.2 checkpoint: af44b45f2e35a493886929c6d786e563ec68364d
DINOv3: 3c276edd87d6f6e569ff0c4400e086807d0f3881
NAF code: 37f2dfc180f2de53d98bd601109c0da0dd6b0f43
NAF checkpoint SHA: c096c1ab2217a5c3ac136365f721685e2201379cb69d509cfb0261183847c98f

paired gallery SHA: 300ef62e4201d7724c263bfa9620bfc9a2ace1071b0fef04b12489d6b67d63af
overlay gallery SHA: d55b9bf11e5578491723aeb03f71b94eb05acc1d2ceecf8243d494ae5e9e4c86
visualization manifest SHA: 1b0a05acc2cc9f9fb23993927c470fb6f6c20dfe88352744cf3403a6ffe554c4

Formal v4 invocation(去除 machine-local cache paths)
CUDA_VISIBLE_DEVICES=6 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
PYTHONPATH=src micromamba run -n editgraph3d python \
  -m editgraph3d.evaluation.s1_audit \
  --manifest benchmarks/edit3d_bench/manifests/s1_camera_audit_v2.json \
  --dataset-root data/edit3d-bench \
  --run-dir runs/S1/20260715-2032_s1_centroid-rescue-audit_s0_1c13fa0 \
  --output-dir outputs/S1/20260715-2032_s1_centroid-rescue-audit_s0_1c13fa0 \
  --pixal3d-checkout third_party/Pixal3D \
  --pixal3d-snapshot '<TencentARC/Pixal3D@0b31f916>' \
  --dinov3-snapshot '<camenduru/dinov3-vitl16-pretrain-lvd1689m@3c276edd>' \
  --naf-checkout third_party/NAF \
  --naf-checkpoint '<naf_release.pth@c096c1ab>' \
  --device cuda
视觉结果
放大的视觉结果