docs(接口2): 标注生发图已实现,清理"只做预览"过期文案
接口2 的生发后图片(§10 ComfyUI/Flux)已实现,更新早期"本期只做预览/不做生发"的描述: - 技术方案:标题/§0/§9.6 改为"预览+生发两步均已实现",§9.6 列出后续优化方向 - 接口文档:接口2 说明改为"每方案返回 image_url(预览)+grown_image_url(生发图)" Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+11
-3
@@ -1,4 +1,8 @@
|
|||||||
# 接口 2:C 端生发 — 技术实现方案(第一步:发际线遮罩渲染)
|
# 接口 2:C 端生发 — 技术实现方案(发际线预览 + 生发图)
|
||||||
|
|
||||||
|
> **当前状态(2026-06-15):两步均已实现。** ① 发际线曲线叠加预览图(§1~§9);
|
||||||
|
> ② 生发后图片(§10,ComfyUI/Flux)。`results[]` 每项同时返回 `image_base64`(预览) 与
|
||||||
|
> `grown_image_base64`(生发图)。下文 §0「本期只做预览」为初版历史描述,以本说明与 §10 为准。
|
||||||
|
|
||||||
> 在 **高性能 worker(GPU 机)** 上实现,与接口 1 同机。对外接口经网关代理(见 [`系统架构-网关与高性能后端.md`](系统架构-网关与高性能后端.md))。
|
> 在 **高性能 worker(GPU 机)** 上实现,与接口 1 同机。对外接口经网关代理(见 [`系统架构-网关与高性能后端.md`](系统架构-网关与高性能后端.md))。
|
||||||
> 发际线检测算法移植自 **head3d** 项目(已实现 502 点 mesh + UV 贴图方案)。
|
> 发际线检测算法移植自 **head3d** 项目(已实现 502 点 mesh + UV 贴图方案)。
|
||||||
@@ -9,7 +13,9 @@
|
|||||||
|
|
||||||
接口 2 输入用户正面照 + **性别**,按性别对应的发际线类型贴图,**逐张把发际线曲线渲染到照片上**,输出多张「叠加了建议发际线的预览图」,按固定顺序返回。
|
接口 2 输入用户正面照 + **性别**,按性别对应的发际线类型贴图,**逐张把发际线曲线渲染到照片上**,输出多张「叠加了建议发际线的预览图」,按固定顺序返回。
|
||||||
|
|
||||||
- **本期只做「渲染遮罩/预览图」**,不做真正的文生图生发(那是后续步骤)。当前 `image_url` 返回的是「原照片 + 发际线曲线叠加图」。
|
- 第一步「渲染遮罩/预览图」**已实现**:`results[].image_base64` = 「原照片 + 发际线曲线叠加图」。
|
||||||
|
第二步「文生图生发」**也已实现**(见 §10),`results[].grown_image_base64` = 植发3个月效果图。
|
||||||
|
(以下 §0 文字为初版"只做预览"的历史背景,现已扩展为预览 + 生发两步。)
|
||||||
- 排序 `order` 本期不计算,按贴图顺序 `1..N`。
|
- 排序 `order` 本期不计算,按贴图顺序 `1..N`。
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -238,7 +244,9 @@ transformers>=4.40 # SegFormer 人脸分割
|
|||||||
3. **歪头/非正面**:head3d 矢状-arc 假设近正脸,大角度发际线贴合差。可复用接口 1 的 solvePnP 做前置姿态校验(可选)。
|
3. **歪头/非正面**:head3d 矢状-arc 假设近正脸,大角度发际线贴合差。可复用接口 1 的 solvePnP 做前置姿态校验(可选)。
|
||||||
4. **秃头/高发际线/刘海**:SegFormer 找不到头发时射线回退几何外推,曲线可能偏高;valid_hairline 标记可用于提示。
|
4. **秃头/高发际线/刘海**:SegFormer 找不到头发时射线回退几何外推,曲线可能偏高;valid_hairline 标记可用于提示。
|
||||||
5. **排序**:本期 order=1..N。后续排序需定义依据(脸型/额型匹配度)。
|
5. **排序**:本期 order=1..N。后续排序需定义依据(脸型/额型匹配度)。
|
||||||
6. **真正的生发(文生图)**:本期只出遮罩/预览。下一步把预览图/曲线作为 ControlNet/inpaint 输入接文生图模型,再替换 `image_url` 为真实生发图。
|
6. **真正的生发(文生图)**:**已实现**(§10)——把划线图 + 遮罩送 ComfyUI(add_hair.json, Flux-2)
|
||||||
|
出生发图,`results[].grown_image_base64` 返回。后续可优化:发际线目标位置下移以增强"植发填充"效果、
|
||||||
|
同步 N 张较慢可改异步。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -179,7 +179,8 @@
|
|||||||
|
|
||||||
**说明**:输入用户正面照 + 性别,按性别对应的发际线类型,逐张把建议发际线渲染到照片上,输出多张方案。
|
**说明**:输入用户正面照 + 性别,按性别对应的发际线类型,逐张把建议发际线渲染到照片上,输出多张方案。
|
||||||
|
|
||||||
> **当前阶段(第一步)**:`image_url` 返回的是「**原照片 + 发际线曲线叠加的预览图**」,尚未做真正的文生图生发;后续会替换为生发后图片。实现见 [`接口2-C端生发-技术实现方案.md`](接口2-C端生发-技术实现方案.md)。
|
> **每个方案返回两张图**:`image_url`=「原照片 + 发际线曲线叠加的**预览图**」;`grown_image_url`=
|
||||||
|
> 经 ComfyUI/Flux 的「植发 3 个月**生发后图片**」。两者均已实现,见 [`接口2-C端生发-技术实现方案.md`](接口2-C端生发-技术实现方案.md)。
|
||||||
|
|
||||||
**请求**:`POST /api/v1/hair/grow`
|
**请求**:`POST /api/v1/hair/grow`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user