feat: 新增mask区域重绘功能 + 羽化贴回优化 + 发丝增强

新增功能:
- inpaint_mask.py: mask区域重绘服务(enhance/pure_inpaint两种模式)
  严格只在mask区做SD inpainting,发丝自然化
- /inpaint 页面 + /api/inpaint 接口:画板手绘mask + 提示词编辑 + denoising可调
- enhance_hair.webui_img2img: 新增denoising_strength参数(原硬编码0.35)

羽化贴回优化(hair_swap_manual.py 步骤⑥):
- feather_px(羽化范围)+ feather_alpha(羽化强度)拆分为两个独立参数
- 改为只羽化边缘(mask内部保持硬切,仅边缘带渐变)
- 新增黑底羽化对比图(纯黑背景凸显边缘过渡)

其他改动:
- OSS/COS密钥脱敏:改为可选import,未设环境变量时不崩溃
- manual页面:发型列表改为本次训练的8个(含hair_flow)
- enhance二次增强:重绘区改为「原图头发∪手绘mask」并外扩10%+减发际线带3cm
- 发型清单文档更新:179→180个可用发型(+hair_flow)

涉及文件:
- 新增: inpaint_mask.py, inpaint.html
- 修改: app.py, manual.html, hair_swap_manual.py, enhance_hair.py
- 修改: oss_module.py, upload_oss.py, cos_module.py(密钥脱敏)
- 文档: HAIRSTYLES_AVAILABLE.md, hairstyles_available.csv
This commit is contained in:
xsl
2026-07-08 20:38:31 +08:00
parent aa38085867
commit 215663177a
10 changed files with 751 additions and 229 deletions
+9 -7
View File
@@ -1,6 +1,6 @@
# 可用发型清单
> 当前共 **179 个发型**可用于换发型功能hair_flow 训练完成后为 180 个)
> 当前共 **180 个发型**可用于换发型功能。
> 数据来源:`/api/hairstyles` 接口实时返回,要求发型同时具备「LoRA权重 + ref材质 + config.json」三件齐全。
> 全量清单见同目录 `hairstyles_available.csv`。
@@ -10,11 +10,11 @@
| 类别 | 数量 | 说明 |
|------|------|------|
| **总可用发型** | **179** | 三件齐全,可直接换发型 |
| **总可用发型** | **180** | 三件齐全,可直接换发型 |
| ├ 男款 (boy) | 93 | 适合男性脸型 |
| ├ 女款 (girl) | 86 | 适合女性脸型 |
| ├ 中文名命名 | 7 | 本次按脸型训练的新发型 |
| ├ 英文名命名 | 15 | 历史测试发型 |
| ├ 女款 (girl) | 87 | 适合女性脸型+hair_flow |
| ├ 中文名命名 | 7 | 按脸型训练的新发型 |
| ├ 英文名命名 | 16 | 历史测试发型 + hair_flow |
| └ 数字ID命名 | 157 | 生产环境发型(雪花算法ID) |
**性别说明**:gender 字段决定发型被分到"男款/女款",但换发型时**男女发型都能用**(只是预览图用对应性别的标准脸)。
@@ -55,6 +55,7 @@
| hair_id | gender | 备注 |
|---------|--------|------|
| **hair_flow** | **girl** | **波浪卷发,最新训练(2026-07-07)** |
| huaban1 | girl | 画板1 |
| huaban2 | girl | 画板2 |
| new_test_001 | boy | 测试 |
@@ -104,8 +105,9 @@
### 2. 调试页(带可视化)
- `http://localhost:8888/debug` — 全参数调试台
- `http://localhost:8888/manual` — 手绘 mask 重绘
- `http://localhost:8888/hairline`发际线 mask 实验
- `http://localhost:8888/manual` — 手绘 mask 换发型(含 enhance 二次增强 + 羽化贴回)
- `http://localhost:8888/inpaint`**mask区域重绘**(发丝自然化,enhance/pure_inpaint两种模式)
- `http://localhost:8888/hairline` — 发际线 mask 实验(4种方案对比)
### 3. API 调用
```bash