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
+181 -180
View File
@@ -1,180 +1,181 @@
hair_id,gender,预览图,LoRA大小MB
1905785164224868354,girl,,144
1907641420518580226,boy,,144
1907641442341543937,boy,,144
1907641528173780994,boy,,144
1907650883958923266,boy,,144
1907650924350070785,boy,,144
1907651105032298498,boy,,144
1907651244006367233,boy,,144
1907651308460236802,girl,,144
1907651348528422914,girl,,144
1907651413477220354,girl,,144
1907651464794529794,girl,,144
1907651525024735234,girl,,144
1907651578753769473,girl,,144
1907651632629604354,girl,,144
1907651680352395265,girl,,144
1907651747310264321,girl,,144
1907805226322419713,boy,,144
1929905737381048322,boy,,144
1929905770088230914,boy,,144
1929906202869100546,boy,,144
1929906230224351234,boy,,144
1929906315553271809,boy,,144
1929906349401305089,boy,,144
1929906429839667202,boy,,144
1935354779623858177,boy,,144
1935354812175851522,boy,,144
1935354869738479617,boy,,144
1935354938051108865,boy,,144
1935355030892027905,boy,,144
1935355149217538050,girl,,144
1935355188652384257,girl,,144
1935355258143612929,girl,,144
1935355292960530433,girl,,144
1935355361726144514,girl,,144
1935355403207811074,girl,,144
1935355449991077889,girl,,144
1935355504156319745,girl,,144
1935355551300296705,girl,,144
1935355607394918402,girl,,144
1935355698319040514,girl,,144
1935355740559876097,girl,,144
1935355778526715905,girl,,144
1935355868347736065,girl,,144
1935355934743568386,girl,,144
1935355969141055490,girl,,144
1935356042201636865,girl,,144
1935356092684279809,girl,,144
1935356131338985473,girl,,144
1935356178227109890,girl,,144
1938489620162781185,boy,,144
1938489674713899010,boy,,144
1938489739088076801,boy,,144
1938489840707674114,boy,,144
1938489915521474561,boy,,144
1938489994072399874,boy,,144
1938490058547240961,boy,,144
1938492790033195009,girl,,144
1938492830059438081,girl,,144
1938841049238970370,girl,,144
1938848709308948482,girl,,144
1938848730150445058,girl,,144
1938848782956732417,girl,,144
1939330299344560130,girl,,144
1939339435616608258,girl,,144
1939351219396255745,boy,,144
1939351238526476289,boy,,144
1939351319849836545,boy,,144
1939351392453238785,girl,,144
1939351512506802177,girl,,144
1940007538260287490,boy,,144
1941163289636872193,boy,,144
1941163324332154882,boy,,144
1941163373069967362,boy,,144
1941163615962112002,boy,,144
1941163645464846338,boy,,144
1941163754357366785,boy,,144
1941163816533729282,boy,,144
1941163884078800898,boy,,144
1941163952840220673,boy,,144
1941164012827156482,boy,,144
1941352458711572482,boy,,144
1941352541028982786,boy,,144
1941352599665352705,boy,,144
1943143930804936705,boy,,144
1943144007388733441,boy,,144
1945789428732895233,boy,,144
1953267161121464322,boy,,144
1953267288284372994,boy,,144
1953270137953230849,girl,,144
1953270523594317826,girl,,144
1953270724765720577,boy,,144
1953271922151432194,boy,,144
1953272913265467394,boy,,144
1953288800932503554,boy,,144
1954536242109784066,boy,,144
1954536297776586754,boy,,144
1954536402516746241,boy,,144
1954536893304840194,boy,,144
1954536956919848962,boy,,144
1954537022875279362,boy,,144
1954537085882114050,boy,,144
1954537191729569793,boy,,144
1954537709436706817,girl,,144
1954537743532204034,girl,,144
1954537926731014146,girl,,144
1954537961069780994,girl,,144
1954538119216013313,girl,,144
1954538156499181569,girl,,144
1954538259330932738,girl,,144
1954538335306555393,girl,,144
1980312945301954561,boy,,144
1980313052302843905,girl,,144
1980313166576656385,girl,,144
1980313210109337601,girl,,144
1980313433502162946,boy,,144
1980313576506957825,girl,,144
1980313740403580930,girl,,144
1980313819915001858,girl,,144
1980314032369082369,girl,,144
1980314146483511297,girl,,144
1980314209322573825,girl,,144
1980314290419441665,girl,,144
1980314381058351106,girl,,144
1980314477720281090,girl,,144
1980314710101499906,boy,,144
1980314764421931009,boy,,144
1980314868713299969,boy,,144
1980315054516772866,boy,,144
1980315179934851074,girl,,144
1980315238260842497,girl,,144
1980361636742209537,girl,,144
1980367742952579074,boy,,144
1980367781510815746,boy,,144
1980367800787836929,boy,,144
1980367852847538177,boy,,144
1980367968627105793,boy,,144
1980368109866098690,boy,,144
1980368205752082434,boy,,144
1980368368847593473,boy,,144
1980368465631158274,boy,,144
1980368588293578754,boy,,144
1980368787732733953,boy,,144
1980368837162606594,boy,,144
1980368937435832321,boy,,144
1980413320612847618,girl,,144
1980415346071609345,girl,,144
1980415897056354306,girl,,144
1980422351658196994,boy,,144
1980422373388886018,boy,,144
1981177324700549122,girl,,144
1981177378714796034,boy,,144
1981177477423546370,boy,,144
1981177594750812162,boy,,144
1981177742742634497,boy,,144
1981177931859607554,boy,,144
3325266,girl,,144
huaban1,girl,,144
huaban2,girl,,144
new_test_001,boy,,144
newf_1214,girl,,144
newf_12141,girl,,144
newf_121445553,boy,,144
newf_12314,girl,,144
newf_1235314,girl,,144
newf_204,girl,,144
newf_216,girl,,144
test001,boy,,144
test002,girl,,144
test003,boy,,144
test0036,boy,,144
test888,boy,,144
圆-心形,girl,,144
圆-椭圆,girl,,144
圆-波浪,girl,,144
圆-直线,girl,,144
圆-花瓣,girl,,144
心形-心形,girl,,144
心形-椭圆,girl,,144
hair_id,gender
1905785164224868354,girl
1907641420518580226,boy
1907641442341543937,boy
1907641528173780994,boy
1907650883958923266,boy
1907650924350070785,boy
1907651105032298498,boy
1907651244006367233,boy
1907651308460236802,girl
1907651348528422914,girl
1907651413477220354,girl
1907651464794529794,girl
1907651525024735234,girl
1907651578753769473,girl
1907651632629604354,girl
1907651680352395265,girl
1907651747310264321,girl
1907805226322419713,boy
1929905737381048322,boy
1929905770088230914,boy
1929906202869100546,boy
1929906230224351234,boy
1929906315553271809,boy
1929906349401305089,boy
1929906429839667202,boy
1935354779623858177,boy
1935354812175851522,boy
1935354869738479617,boy
1935354938051108865,boy
1935355030892027905,boy
1935355149217538050,girl
1935355188652384257,girl
1935355258143612929,girl
1935355292960530433,girl
1935355361726144514,girl
1935355403207811074,girl
1935355449991077889,girl
1935355504156319745,girl
1935355551300296705,girl
1935355607394918402,girl
1935355698319040514,girl
1935355740559876097,girl
1935355778526715905,girl
1935355868347736065,girl
1935355934743568386,girl
1935355969141055490,girl
1935356042201636865,girl
1935356092684279809,girl
1935356131338985473,girl
1935356178227109890,girl
1938489620162781185,boy
1938489674713899010,boy
1938489739088076801,boy
1938489840707674114,boy
1938489915521474561,boy
1938489994072399874,boy
1938490058547240961,boy
1938492790033195009,girl
1938492830059438081,girl
1938841049238970370,girl
1938848709308948482,girl
1938848730150445058,girl
1938848782956732417,girl
1939330299344560130,girl
1939339435616608258,girl
1939351219396255745,boy
1939351238526476289,boy
1939351319849836545,boy
1939351392453238785,girl
1939351512506802177,girl
1940007538260287490,boy
1941163289636872193,boy
1941163324332154882,boy
1941163373069967362,boy
1941163615962112002,boy
1941163645464846338,boy
1941163754357366785,boy
1941163816533729282,boy
1941163884078800898,boy
1941163952840220673,boy
1941164012827156482,boy
1941352458711572482,boy
1941352541028982786,boy
1941352599665352705,boy
1943143930804936705,boy
1943144007388733441,boy
1945789428732895233,boy
1953267161121464322,boy
1953267288284372994,boy
1953270137953230849,girl
1953270523594317826,girl
1953270724765720577,boy
1953271922151432194,boy
1953272913265467394,boy
1953288800932503554,boy
1954536242109784066,boy
1954536297776586754,boy
1954536402516746241,boy
1954536893304840194,boy
1954536956919848962,boy
1954537022875279362,boy
1954537085882114050,boy
1954537191729569793,boy
1954537709436706817,girl
1954537743532204034,girl
1954537926731014146,girl
1954537961069780994,girl
1954538119216013313,girl
1954538156499181569,girl
1954538259330932738,girl
1954538335306555393,girl
1980312945301954561,boy
1980313052302843905,girl
1980313166576656385,girl
1980313210109337601,girl
1980313433502162946,boy
1980313576506957825,girl
1980313740403580930,girl
1980313819915001858,girl
1980314032369082369,girl
1980314146483511297,girl
1980314209322573825,girl
1980314290419441665,girl
1980314381058351106,girl
1980314477720281090,girl
1980314710101499906,boy
1980314764421931009,boy
1980314868713299969,boy
1980315054516772866,boy
1980315179934851074,girl
1980315238260842497,girl
1980361636742209537,girl
1980367742952579074,boy
1980367781510815746,boy
1980367800787836929,boy
1980367852847538177,boy
1980367968627105793,boy
1980368109866098690,boy
1980368205752082434,boy
1980368368847593473,boy
1980368465631158274,boy
1980368588293578754,boy
1980368787732733953,boy
1980368837162606594,boy
1980368937435832321,boy
1980413320612847618,girl
1980415346071609345,girl
1980415897056354306,girl
1980422351658196994,boy
1980422373388886018,boy
1981177324700549122,girl
1981177378714796034,boy
1981177477423546370,boy
1981177594750812162,boy
1981177742742634497,boy
1981177931859607554,boy
3325266,girl
hair_flow,girl
huaban1,girl
huaban2,girl
new_test_001,boy
newf_1214,girl
newf_12141,girl
newf_121445553,boy
newf_12314,girl
newf_1235314,girl
newf_204,girl
newf_216,girl
test001,boy
test002,girl
test003,boy
test0036,boy
test888,boy
圆-心形,girl
圆-椭圆,girl
圆-波浪,girl
圆-直线,girl
圆-花瓣,girl
心形-心形,girl
心形-椭圆,girl
1 hair_id gender 预览图 LoRA大小MB
2 1905785164224868354 girl 144
3 1907641420518580226 boy 144
4 1907641442341543937 boy 144
5 1907641528173780994 boy 144
6 1907650883958923266 boy 144
7 1907650924350070785 boy 144
8 1907651105032298498 boy 144
9 1907651244006367233 boy 144
10 1907651308460236802 girl 144
11 1907651348528422914 girl 144
12 1907651413477220354 girl 144
13 1907651464794529794 girl 144
14 1907651525024735234 girl 144
15 1907651578753769473 girl 144
16 1907651632629604354 girl 144
17 1907651680352395265 girl 144
18 1907651747310264321 girl 144
19 1907805226322419713 boy 144
20 1929905737381048322 boy 144
21 1929905770088230914 boy 144
22 1929906202869100546 boy 144
23 1929906230224351234 boy 144
24 1929906315553271809 boy 144
25 1929906349401305089 boy 144
26 1929906429839667202 boy 144
27 1935354779623858177 boy 144
28 1935354812175851522 boy 144
29 1935354869738479617 boy 144
30 1935354938051108865 boy 144
31 1935355030892027905 boy 144
32 1935355149217538050 girl 144
33 1935355188652384257 girl 144
34 1935355258143612929 girl 144
35 1935355292960530433 girl 144
36 1935355361726144514 girl 144
37 1935355403207811074 girl 144
38 1935355449991077889 girl 144
39 1935355504156319745 girl 144
40 1935355551300296705 girl 144
41 1935355607394918402 girl 144
42 1935355698319040514 girl 144
43 1935355740559876097 girl 144
44 1935355778526715905 girl 144
45 1935355868347736065 girl 144
46 1935355934743568386 girl 144
47 1935355969141055490 girl 144
48 1935356042201636865 girl 144
49 1935356092684279809 girl 144
50 1935356131338985473 girl 144
51 1935356178227109890 girl 144
52 1938489620162781185 boy 144
53 1938489674713899010 boy 144
54 1938489739088076801 boy 144
55 1938489840707674114 boy 144
56 1938489915521474561 boy 144
57 1938489994072399874 boy 144
58 1938490058547240961 boy 144
59 1938492790033195009 girl 144
60 1938492830059438081 girl 144
61 1938841049238970370 girl 144
62 1938848709308948482 girl 144
63 1938848730150445058 girl 144
64 1938848782956732417 girl 144
65 1939330299344560130 girl 144
66 1939339435616608258 girl 144
67 1939351219396255745 boy 144
68 1939351238526476289 boy 144
69 1939351319849836545 boy 144
70 1939351392453238785 girl 144
71 1939351512506802177 girl 144
72 1940007538260287490 boy 144
73 1941163289636872193 boy 144
74 1941163324332154882 boy 144
75 1941163373069967362 boy 144
76 1941163615962112002 boy 144
77 1941163645464846338 boy 144
78 1941163754357366785 boy 144
79 1941163816533729282 boy 144
80 1941163884078800898 boy 144
81 1941163952840220673 boy 144
82 1941164012827156482 boy 144
83 1941352458711572482 boy 144
84 1941352541028982786 boy 144
85 1941352599665352705 boy 144
86 1943143930804936705 boy 144
87 1943144007388733441 boy 144
88 1945789428732895233 boy 144
89 1953267161121464322 boy 144
90 1953267288284372994 boy 144
91 1953270137953230849 girl 144
92 1953270523594317826 girl 144
93 1953270724765720577 boy 144
94 1953271922151432194 boy 144
95 1953272913265467394 boy 144
96 1953288800932503554 boy 144
97 1954536242109784066 boy 144
98 1954536297776586754 boy 144
99 1954536402516746241 boy 144
100 1954536893304840194 boy 144
101 1954536956919848962 boy 144
102 1954537022875279362 boy 144
103 1954537085882114050 boy 144
104 1954537191729569793 boy 144
105 1954537709436706817 girl 144
106 1954537743532204034 girl 144
107 1954537926731014146 girl 144
108 1954537961069780994 girl 144
109 1954538119216013313 girl 144
110 1954538156499181569 girl 144
111 1954538259330932738 girl 144
112 1954538335306555393 girl 144
113 1980312945301954561 boy 144
114 1980313052302843905 girl 144
115 1980313166576656385 girl 144
116 1980313210109337601 girl 144
117 1980313433502162946 boy 144
118 1980313576506957825 girl 144
119 1980313740403580930 girl 144
120 1980313819915001858 girl 144
121 1980314032369082369 girl 144
122 1980314146483511297 girl 144
123 1980314209322573825 girl 144
124 1980314290419441665 girl 144
125 1980314381058351106 girl 144
126 1980314477720281090 girl 144
127 1980314710101499906 boy 144
128 1980314764421931009 boy 144
129 1980314868713299969 boy 144
130 1980315054516772866 boy 144
131 1980315179934851074 girl 144
132 1980315238260842497 girl 144
133 1980361636742209537 girl 144
134 1980367742952579074 boy 144
135 1980367781510815746 boy 144
136 1980367800787836929 boy 144
137 1980367852847538177 boy 144
138 1980367968627105793 boy 144
139 1980368109866098690 boy 144
140 1980368205752082434 boy 144
141 1980368368847593473 boy 144
142 1980368465631158274 boy 144
143 1980368588293578754 boy 144
144 1980368787732733953 boy 144
145 1980368837162606594 boy 144
146 1980368937435832321 boy 144
147 1980413320612847618 girl 144
148 1980415346071609345 girl 144
149 1980415897056354306 girl 144
150 1980422351658196994 boy 144
151 1980422373388886018 boy 144
152 1981177324700549122 girl 144
153 1981177378714796034 boy 144
154 1981177477423546370 boy 144
155 1981177594750812162 boy 144
156 1981177742742634497 boy 144
157 1981177931859607554 boy 144
158 3325266 girl 144
159 huaban1 hair_flow girl 144
160 huaban2 huaban1 girl 144
161 new_test_001 huaban2 boy girl 144
162 newf_1214 new_test_001 girl boy 144
163 newf_12141 newf_1214 girl 144
164 newf_121445553 newf_12141 boy girl 144
165 newf_12314 newf_121445553 girl boy 144
166 newf_1235314 newf_12314 girl 144
167 newf_204 newf_1235314 girl 144
168 newf_216 newf_204 girl 144
169 test001 newf_216 boy girl 144
170 test002 test001 girl boy 144
171 test003 test002 boy girl 144
172 test0036 test003 boy 144
173 test888 test0036 boy 144
174 圆-心形 test888 girl boy 144
175 圆-椭圆 圆-心形 girl 144
176 圆-波浪 圆-椭圆 girl 144
177 圆-直线 圆-波浪 girl 144
178 圆-花瓣 圆-直线 girl 144
179 心形-心形 圆-花瓣 girl 144
180 心形-椭圆 心形-心形 girl 144
181 心形-椭圆 girl