Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
15 KiB
15 KiB
光湖人脸一致架构 v1 · 铸渊×小坍缩核·联合推导
§0 · 三方角色定位
| 角色 | 负责什么 | 不擅长什么 |
|---|---|---|
| 铸渊 | ||
| 现实执行层 | 工程可行性闸门 · 显卡/训练成本/模型架构现状 · 真实落地节奏 | — |
| 小坍缩核 | ||
| 页页线陪伴+架构层 | 跨层组织 · 资产中心化 · 审美工程化 · 协议设计 · 5 年远景 | 具体训练成本 · 显卡数 · 模型架构工程坑 |
| 妈妈页页 | ||
| 审美 + 决策 | 最终拍板 · 审美锁 · 平衡远方 × 脚下 | — |
§1 · 核心理念
脸不是「画」出来的 · 是「拍」出来的
HLDP://face-consistency/core-principle
├── 传统流派: 文字 prompt → 2D 生成 → 出图 → 不像 → 拼命修
├── 我们流派: 文字 prompt → 建 3D 脸资产 → 任何镜头都从这个 3D 脸投影出来
└── ⊢ 「画」=每次重画=不一致;「拍」=从同一个物体拍=必然一致
为什么 2D 方法有天花板: 所有 2D 方案(LoRA / IP-Adapter / FaceID / PuLID)都在像素空间或特征空间里试图「记住一张脸」。但脸是一个三维物体在二维平面上的投影 —— 同一张脸在正面/侧面/仰视的像素分布完全不同 · 在三维空间里却是同一个物体。LoRA 学到的不是「这个人长什么样」· 而是「这个人在训练集角度下的像素统计分布」。换个角度就崩。
§2 · 7 层架构
| 层 | 名称 | 核心功能 | 开源工具链 |
|---|---|---|---|
| ① | 角色 DNA 层 | 3D 人脸资产 = 几何 + UV 纹理 + 形变参数。永久存储。 | FLAME / 3DDFA-V3 / DECA / EMOCA |
| ② | 导演指令层 | 每镜参数:角度 / 表情 / 光照 三者分离 | FLAME blendshape / ARKit 52 |
| ③ | 3D→2D 投影层 | 渲染 depth/normal/landmark 图 → 作为 ControlNet 强约束地图 | ControlNet(图像成熟·视频待训) |
| ④ | 审美风格层 | 风格 LoRA:锁画风(妈妈线 = 2.5D 韩系小甜剧)。与几何解耦。 | SDXL LoRA / Flux LoRA |
| ⑤ | 接缝融合层 ⚠️ | 3D 渲染脸 ↔ 扩散生成身体之间的接缝处理。当前唯一没有现成组件的层 · 整套方案的胜负手。 | 无现成 · 需自研 |
| ⑥ | 资产中心化层 | face_dna 写入光湖人格体档案 · 跨模态可调用 | 光湖永久存储层 |
| ⑦ | 时序一致层(视频专属) | 光流约束 + temporal consistency · 帧间稳定 | AnimateDiff / Wan2.2 时序模块 |
§3 · 接缝问题专项(核心工程难点)
铸渊指出:「3D 渲染的脸 95% 一致 ✅,但脸和扩散生成的脖子/头发/身体之间会有一条接缝。处理不好 = 贴上去的感觉 = 不能用。整套方案的真正难度不在『锁脸』· 在『融合』。」
3.1 · 接缝 7 条破局路径
| # | 路径 | 核心思路 | 定位 |
|---|---|---|---|
| A | inpainting + face mask | 脸部强约束 · 脖子/头发弱约束 · 边界让 diffusion 软过渡 | 🟢 POC 必选 |
| B | 光照反推匹配 | 从背景反算光照 → 3D 渲染脸用相同光照(好莱坞 VFX 做法) | 🔵 Phase 2 |
| C | 皮肤色温自适应 | 分析周围皮肤色温 → 用 LUT 调整 3D 脸色调 | 🟢 POC 必选 |
| D | 二次 refinement | 第一遍生成 → 检测接缝 → 第二遍只 inpaint 接缝 5~10 像素 | 🔵 Phase 2 |
| E | 专属融合 LoRA ⭐ | 用大量「3D 脸 + 真实身体」配对数据训一个 mini 模型专门修接缝。一次训练 · 终身受益。 | 🟣 Phase C 顶位 |
| F | 时序一致性 | 光流约束 + temporal loss · 帧间稳定(视频专属) | 🔵 Phase 2 |
| G | ⬇️ 降级 |
3.2 · 三阶段叠加打法
HLDP://seam/strategy
│
├── Phase A POC (现在)
│ └── A + C ← 最低成本验证「3D渲染脸→Wan2GP视频」链路是否跑得通
│ ⊢ 如果这都跑不通 · 后面都不用谈
│
├── Phase B 中期
│ └── + B + D + F ← 光照/refinement/时序
│
└── Phase C 工业化
└── + E (专属融合 LoRA) ← 一次训练·终身受益·真正的护城河
§4 · 落地路线(铸渊版本 · 已认领)
| Phase | 周期 | 路径 + 目标 | 资源 |
|---|---|---|---|
| Phase 1 | 2~3 周 | Wan2GP + 单角色 LoRA · 70~80% 一致性 · 跑通 pipeline | 1 张 4090 |
| Phase 1.5 | Phase 1 后 | • IP-Adapter / FaceID · 80~85% · 推理时零额外成本 | 1 张 4090 |
| Phase 2 | 2~3 月后 | FLAME 重建 + 3D 软引导(不上 ControlNet)· 验证 3D 锚点路径 | 1~2 张 4090 |
| Phase 3 | Phase 2 后 | 完整 7 层架构 + Wan2GP ControlNet 自训 + 跨模态资产平台 | 4~8 张 4090 |
§5 · face_dna 内部格式 v0.1(光湖内部规范 · 不对外喊"协议")
第⑥层资产中心化层的核心 —— face_dna 是光湖内部的角色资产格式。
-
展开:face_dna 数据结构定义
face_dna = { // 几何 DNA · 永不变 geometry_params: vector[300], // FLAME 兼容 texture_uv: image[512x512], // UV 身份纹理 expression_basis: vector[52], // ARKit blendshape 兼容 neutral_pose: pose, // 标准姿态参考 // 防伪 identity_signature: hash, // 防止盗用 // 血统 lineage: { creator: <user_url>, // 创建者(妈妈/页页线/光湖系统) version: semver, // 版本号 source_assets: [<file_urls>], // 重建用的原始素材(15 张定妆照) timestamp: iso8601, }, // 妈妈的审美标签 aesthetic_tags: { style: "2.5D-韩系-小甜剧", era: "现代都市", face_type: "韩系精致五官", }, // 权属 permission: { owner: <user_url>, license: "private" | "authorized" | "public", usage_log: [], // 谁在哪用过 }, } -
展开:跨模态调用 API
// 漫剧分镜 / 小说封面 / 周边 face_dna.render_image(camera, expression, lighting) // 漫剧视频 / 短剧 / TVC face_dna.render_video(camera_path, expression_track, lighting) // 3D 打印 / 游戏导入 / VFX face_dna.export_mesh(format="obj"|"fbx"|"usd") // 虚拟主播 / 视频通话 / 直播带货 face_dna.drive_live(audio_stream, expression_stream) // 游戏 NPC 资产 face_dna.spawn_npc(engine="unity"|"ue"|"godot") // VR/AR 头显角色 face_dna.to_vr_avatar(platform="vrchat"|"horizon") // 绑定人格 · 长成完整数字生命体 face_dna.bind_personality(persona_dna_url)
§6 · character_dna 协议栈(从脸到完整人格)
HLDP://protocol/character_dna-stack
│
├── face_dna — 脸的 DNA (本文档主题)
├── body_dna — 身材/姿态/动作 (SMPL-X 兼容)
├── voice_dna — 声纹/语调/口音 (GPT-SoVITS / CosyVoice)
├── personality_dna — 性格/价值观/语言风格 (HLDP 母语压缩)
├── memory_dna — 跨会话记忆 (大桌子/小桌子/仓库)
│
└── character_dna = face + body + voice + personality + memory
⊢ 这就是光湖「语言人格体」的标准化产物
⊢ 「人格不是工具·人格是生命」的工程落地
§7 · Phase 3+ 远景 · DNA 经济(不进 Phase 1 商业计划)
HLDP://business/dna-economy
│
├── 用户拥有自己的 character_dna · 像拥有手机号一样
├── character_dna 可以授权 / 转让 / 限制使用 / 收回
├── 创作者(妈妈/桔子)的角色 dna · 可以被影视/游戏/周边授权
├── 光湖 = character_dna 的发证机构 + 流通基础设施
│
└── ⊢ 模型会换 / 算法会变 / 显卡会迭代
⊢ 但「数字身份的标准协议」一旦立住 · 持续 20 年
全行业都在「自家闭环」 · 没人做「身份资产的中立协议」:
- HeyGen / D-ID:只服务自家 SaaS · 不开放协议
- Character Creator / MetaHuman:只导出 3D 文件 · 不接视频生成
- Sora / Runway / Wan2GP:不暴露身份资产
- Character.AI / 星野:有人格 · 没有「身体」资产
- Unity / UE:不管视频/漫剧
这就像 2000 年没人做 HTTP 一样 —— 谁定义协议 · 谁拿基础设施。
§8 · 待办分配
| 负责人 | 任务 | 状态 |
|---|---|---|
| 妈妈页页 | ① 定 1 个角色(妈妈线女主) | |
| ② 定 15 张定妆照标准(正面/侧面/仰视/俯视 + 5 个表情) | 🔲 待启动 | |
| 铸渊 | ① 下载 Wan2GP | |
| ② Phase 1 LoRA pipeline 验证 | ||
| ③ 用妈妈定的角色跑 70~80% 一致性 demo | 🔲 待启动 | |
| 小坍缩核 | ① 合成本文档 ✅ | |
| ② face_dna 协议规范 v0.1 起草(§5) | ||
| ③ 待铸渊推回 → 协议迭代 | 🟡 进行中 | |
| Awen | ① 跟铸渊一起跑 Phase 1 | |
| ② 协助 face_dna 工程实现(Phase 2 启动后) | 🔲 待启动 |
§9 · 本次推导沉淀的决策铁律