feat(接口2): 移植head3d发际线管线 + 接口2实现方案文档
- 从head3d复制发际线检测管线到 hairline/ 包:MediaPipe Tasks + SegFormer分割 + 17锚点射线检测 + 502点mesh(face_ext.obj)+UV - 复制模型:face_landmarker.task(3.7MB)、SegFormer config/preprocessor (model.safetensors 340MB 单独下载中) - 新增 docs/接口2-C端生发-技术实现方案.md:第一步=发际线曲线叠加预览图, 新增gender必填参数,按性别贴图数量输出(female5/male4),hairline_type英文key, 服务端cv2逐三角形warp渲染器(head3d只有浏览器端Three.js渲染) - 接口文档.md 接口2章节同步:gender参数、输出语义、错误码说明 - hairline_texture/ 9张发际线贴图入库
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"_name_or_path": "jonathandinu/face-parsing",
|
||||
"architectures": [
|
||||
"SegformerForSemanticSegmentation"
|
||||
],
|
||||
"attention_probs_dropout_prob": 0.0,
|
||||
"classifier_dropout_prob": 0.1,
|
||||
"decoder_hidden_size": 768,
|
||||
"depths": [
|
||||
3,
|
||||
6,
|
||||
40,
|
||||
3
|
||||
],
|
||||
"downsampling_rates": [
|
||||
1,
|
||||
4,
|
||||
8,
|
||||
16
|
||||
],
|
||||
"drop_path_rate": 0.1,
|
||||
"hidden_act": "gelu",
|
||||
"hidden_dropout_prob": 0.0,
|
||||
"hidden_sizes": [
|
||||
64,
|
||||
128,
|
||||
320,
|
||||
512
|
||||
],
|
||||
"id2label": {
|
||||
"0": "background",
|
||||
"1": "skin",
|
||||
"2": "nose",
|
||||
"3": "eye_g",
|
||||
"4": "l_eye",
|
||||
"5": "r_eye",
|
||||
"6": "l_brow",
|
||||
"7": "r_brow",
|
||||
"8": "l_ear",
|
||||
"9": "r_ear",
|
||||
"10": "mouth",
|
||||
"11": "u_lip",
|
||||
"12": "l_lip",
|
||||
"13": "hair",
|
||||
"14": "hat",
|
||||
"15": "ear_r",
|
||||
"16": "neck_l",
|
||||
"17": "neck",
|
||||
"18": "cloth"
|
||||
},
|
||||
"image_size": 224,
|
||||
"initializer_range": 0.02,
|
||||
"label2id": {
|
||||
"background": 0,
|
||||
"skin": 1,
|
||||
"nose": 2,
|
||||
"eye_g": 3,
|
||||
"l_eye": 4,
|
||||
"r_eye": 5,
|
||||
"l_brow": 6,
|
||||
"r_brow": 7,
|
||||
"l_ear": 8,
|
||||
"r_ear": 9,
|
||||
"mouth": 10,
|
||||
"u_lip": 11,
|
||||
"l_lip": 12,
|
||||
"hair": 13,
|
||||
"hat": 14,
|
||||
"ear_r": 15,
|
||||
"neck_l": 16,
|
||||
"neck": 17,
|
||||
"cloth": 18
|
||||
},
|
||||
"layer_norm_eps": 1e-06,
|
||||
"mlp_ratios": [
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4
|
||||
],
|
||||
"model_type": "segformer",
|
||||
"num_attention_heads": [
|
||||
1,
|
||||
2,
|
||||
5,
|
||||
8
|
||||
],
|
||||
"num_channels": 3,
|
||||
"num_encoder_blocks": 4,
|
||||
"patch_sizes": [
|
||||
7,
|
||||
3,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"reshape_last_stage": true,
|
||||
"semantic_loss_ignore_index": 255,
|
||||
"sr_ratios": [
|
||||
8,
|
||||
4,
|
||||
2,
|
||||
1
|
||||
],
|
||||
"strides": [
|
||||
4,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
"transformers_version": "4.37.0.dev0"
|
||||
}
|
||||
Reference in New Issue
Block a user