Commit Graph
5 Commits
Author SHA1 Message Date
xsl 215663177a 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
2026-07-08 20:38:31 +08:00
xsl aa38085867 docs: 添加可用发型清单文档
- HAIRSTYLES_AVAILABLE.md: 179个可用发型说明(男93/女86)
  含本次新发型(中文名)、历史测试(英文名)、生产发型(数字ID)分类
  附 LoRA 权重位置、测试方法、训练新发型指引
- hairstyles_available.csv: 全量发型清单(hair_id/gender/预览图/LoRA大小)

数据来源 /api/hairstyles 接口实时返回,要求三件齐全(LoRA+ref材质+config)
2026-07-07 22:04:10 +08:00
xsl 12c6321d10 save code 2026-07-07 21:14:44 +08:00
xsl c72f22eb73 修复LFS指针问题:删除 simsun.ttc(LFS指针,代码已注释不用) 和 .gitattributes
原因:hair_service_sd 继承自旧项目,simsun.ttc 是 LFS 指针文件(133B),
但真实字体(10.5MB)未上传到LFS存储,导致clone时报404。
经查该字体在 hairstyle_model.py:3121 已被注释,不再使用,直接删除。

另一台机器clone报错:
  Error downloading simsun.ttc: [404] Not Found
本次删除后clone不再需要LFS。
2026-07-07 20:49:33 +08:00
xsl 443cfa298f 初始化:换发型/换发色/训练发型服务
包含:
- hair_service_sd: 主服务(换发型/换发色/生发,端口8801)
- photo_service: LoRA调度+训练(端口32678)
- hair_grow_service: 调试测试页(端口8888,含4个测试页)
- 批量训练脚本(batch_train_hairstyles.py)
- 发际线mask自动识别(hairline_mask.py,4种方案)
- 手绘mask换发型(hair_swap_manual.py)
- 文档:README.md + LARGE_FILES.md + docs/

大文件(模型权重200G、训练数据123G)已排除,见 LARGE_FILES.md
OSS/COS密钥已脱敏为环境变量,原文件备份在本地
2026-07-07 13:53:52 +08:00