更细的生成拆件有用吗?


Livideo2D V2:头部从 1 层拆成 9 层,检查素材、控制与补全各自的收益。

2026-09-28 · 1 次新增图像生成 · 11 个新候选 + V1 对照 · 第一轮完整报告

目录

指标小幅改善,分层与分割仍有问题

1 → 9头部图层
7 → 15总图层
2.06%验证人物 LPIPS 下降
3.96%验证头发区域 LPIPS 下降

保留原像素的细拆组在共用旧控制时几乎不变。细拆的价值是允许耳朵独立转动,并让原帧外的缺失耳尖得到补全。直接使用九层生成纹理优于旧粗生成头部,但生成时的坐标、比例和五官漂移仍使它明显差于原像素混合模型。

仅看初始帧,粗生成 / 细生成的头发区域 LPIPS 为 0.4663 / 0.3397;验证帧均值为 0.4985 / 0.4125。细生成确实更接近原片,但同时改变了输入裁切和定位方式,不能把全部收益归因于层数。

本轮证据支持“拆件太粗是问题之一”,不足以认定它是主要原因。范围仅限头部;衣服、手臂、腿、尾巴没有重新生成或增加自由度。重建仍有头发遮挡残影和尾巴翻折;开发集人物帧差 MAE 从 0.015756 升至 0.015869,略退步。没有把旧测试集重新当作未见数据。

新增全部图层处理前后审计:当前“后发”实际是其他多边形之外的剩余像素,部分发束边界也是直线切口。像素能重新合成、LPIPS 略降,都不能证明分割正确。本次补充展示真实素材与中间结果,没有修改模型或重新评分。

原片 / V1 / V2 同步对照

左:原始帧;中:V1;右:V2。三路在同一视频内同步;展示视频压缩,评分仍使用无损原尺寸 PNG。
右侧固定 V2;移动分界线查看差异
V2
对照
◀▶
新的九层生成图与原像素分区
九层生成图
后发、脸、帽、耳、冠、左发束、刘海、右上发束、右下发束。生成器没有遵守同坐标要求,后续按语义框定位;不把它称为已对齐 atlas。
原像素细拆
对照组逐像素分配原纹理;合成工具保留各 texel 的 RGBA,渲染时边缘仍有双线性采样差异。

全部图层:处理前 / 后

15 个最终图层全部列出,顺序从底层到顶层。每张图保留原始尺寸和 alpha;透明区域用棋盘格显示。点击放大可按 1:1 查看、切换处理阶段、下载原始 PNG。

两条素材路径分别展示:原帧 → 多边形切片 → 遮挡补全 → 最终纹理;生成 atlas → 清理裁切 → 人工缩放定位 → 提供补全像素。最终模型没有直接使用整套生成纹理。“分割后”也不等于经过验证的语义分割。

下载全部审计 PNG + 来源清单 清单与 SHA256
完整输入:原帧、父级头部纹理、生图参考与两轮原始 atlas

头部分割在原图上的实际位置

高亮是原像素切片的 alpha,未包含生成补全。切换部件可检查多边形是否跨过五官、发束,以及残留碎片的位置。

最终模型的全部 15 层

头部切片使用相同的 350×366 原图坐标;耳朵最终扩展到 97×196,单独对照见下一节。身体与侧发保留原裁框;尾巴展开为 UV 条带;眼睛和嘴来自开发帧 90。缩略图适应各自画框,不能据此比较部件实际大小。

耳朵:同一画布下的全部修正阶段

四张均为 97×196,原帧坐标范围 [448, -50, 545, 146]。第 50 行对应原帧 y = 0;新增耳尖只在其上方。遮挡补全与耳尖扩展是两个步骤。

9 个生成部件:原始输出 → 清理 → 定位 → 合并

原格保留全部边线、杂点与 alpha。清理步骤只去掉边缘 3px 和小连通域,再紧裁切;定位时按人工框拉伸,比例可能改变。合并只保留原像素及允许的遮挡补全区域,不能把最后一列当作纯生成结果。

第一轮粗拆:全部 6 个历史生成部件

保留原始裁块与洋红抠色后结果。这些是历史候选,不是最终模型的身体、头发或尾巴纹理。

可编辑的 15 层模型

在图层列表选择 completed_ear 可调耳朵;其他头部件也可独立开关或编辑。耳尖新增像素来自本轮生成图,原帧内可见纹理保留。下载的模型运行时不读原视频。

打开编辑器 下载离线模型

对照与消融

LPIPS 越低越好。可切区域;尾巴作为未改动区域对照。
取舍
协议、范围与因果边界

复用 V1 的帧号划分、固定区域、原分辨率 LPIPS Alex v0.1 spatial、PSNR、SSIM。人物/头发都是矩形包围区域,并非语义 mask。验证按头发区域 LPIPS 选型,同时要求人物不恶化超过 2%;明显的新裂缝和接缝可视觉否决。

原像素共用控制组与 V1 比较,隔离拆层本身;共用/独立控制组比较,检验新自由度;独立运动的原像素/补全组比较,检验遮挡补全;耳朵扩展范围先做无耳尖的 mesh 对照,再比较生成耳尖。

粗生成/细生成两组均只替换头部,身体和尾巴保持 V1。但 prompt、输入裁切和部件定位也不同,所以两组差距不能全部归因于层数。全生成组的眼部位置与原有表情贴片还存在冲突,单独检查帧 0 的外观误差,避免把该冲突当成纯纹理误差。

时间差只算开发集中相邻帧;验证集没有相邻对,显示“—”。全部候选只有同一次 agent 研究轨迹,不是独立重复。V1 测试已暴露,本轮不新增测试评分、不声称未见测试泛化。完整视频仍展示所有帧。

逐帧指标 JSON · 实验前协议 · 最终选择与哈希 · 完整生图 prompt

LLM 检查与修正记录

失败证据:全生成重组全生成组原图渲染误差对照

原片中的闭眼位置、面部形状、后发范围没有被生成器精确保留。增加层数没有自动解决定位;全生成组不作为最终版。

失败证据:发束独立运动独立发束引入裂缝

像素分区边界不完全等于解剖分界;多个发束独立旋转会露出错误边缘。LLM 据此撤回发束旋转,仅保留耳朵。

失败证据:耳尖补全的第一版耳尖接缝失败

生成耳尖的接口过宽、颜色不连续,不能仅凭指标略降就接受。代码测量 alpha 截面,匹配边界宽度、混合接缝颜色;24px 长度仍是 agent 的显式假设。

最终局部检查:修正后的耳尖修正后的耳尖对照

耳朵方向和尖端形状更接近原片,但根部与刘海之间仍有局部接缝。下一轮优先应是带遮挡关系的语义边界和一致的局部补全,而非继续盲目增加层数。

复现与验证

下载脚本、全部候选、原始生成图与数据 素材来源与定位 只读验证

# 不重新生成图片,直接复跑已保存候选 .venv/bin/python experiments/run_batch.py experiments/refined_v2/scenes/*.json --split dev .venv/bin/python experiments/run_batch.py experiments/refined_v2/scenes/*.json --split val .venv/bin/python experiments/refined_v2/report.py .venv/bin/python -m livideo2d serve --port 8765 # 打开 /artifacts/refined_v2/model/index.html

本轮新增 1 次内置图像生成,未调用收费 API、未训练模型。代码负责裁切、alpha 分区、补全约束、边界测量、渲染和评分;LLM 负责语义边界、角度轨迹、视觉否决和实验选择。没有图像目标驱动的参数搜索或可微渲染。

新增 RGBA 工具通过源像素重组和遮挡补全测试;播放器修正了“忽略已有旋转中心”的问题。V1 冻结场景、纹理、渲染器以及 old_stuff 的 123 个文件保持原哈希。移机依赖和运行方法见研究包 README;评分需原始数据。

下载原图 下载 alpha
图层放大图