基于 SDMatte(vivo 相机研究院,ICCV 2025)的交互式抠图节点, 擅长发丝、绒毛、玻璃、烟雾等常规抠图模型处理不好的边缘。 实现要点: - 严格照搬官方 configs/SDMatte.py 的推理配置(bbox 视觉提示、fp32、1024 分辨率), 不做任何启发式后处理,输出即模型原始 alpha - 内置官方 LongfeiHuang/SDMatte 的配置文件,无需下载 SD 2.1 权重,也无需联网。 官方 load_weight=False 只用 config 搭骨架,全部权重由 checkpoint 覆盖; 原版 SD 2.1 的 config 缺 bbox_time_embed_dim 等三个专有字段,缺字段时直接报错而非猜测 - 同时支持官方 .pth(12.1GB)与社区 .safetensors(5.19GB)。两者模型权重实测 逐像素完全相同,pth 多出的 6.5GB 是 detectron2 的优化器状态;读 pth 时以受限 Unpickler 只解析 model 段,内存占用与 safetensors 相当 - 自动适配 transformers 5.x 移除 text_model 包装层导致的键名漂移, 避免 text_encoder 的 372 个权重被静默丢弃 - 加载后校验 1316 个张量全部对齐,有任何未覆盖/未使用的权重即中止报错 - 默认开启注意力分片,1024 下显存峰值由约 15.5GB 降至 9.1GB,速度反而略快 实测(官方效果图中的羊驼,对比官方公布 alpha):MAD=0.0113。 同图同权重下 ComfyUI-SDMatte 为 MAD=0.0884,相差 7.8 倍,主因是其 aux_input="trimap" —— 官方 aux_input_list 只含 point_mask/bbox_mask/mask, trimap 从未作为视觉提示参与训练,且该分支坐标恒为 [0,0,1,1]、定位信息丢失。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
633 B
JSON
26 lines
633 B
JSON
{
|
|
"_name_or_path": "hf-models/stable-diffusion-v2-768x768/text_encoder",
|
|
"architectures": [
|
|
"CLIPTextModel"
|
|
],
|
|
"attention_dropout": 0.0,
|
|
"bos_token_id": 0,
|
|
"dropout": 0.0,
|
|
"eos_token_id": 2,
|
|
"hidden_act": "gelu",
|
|
"hidden_size": 1024,
|
|
"initializer_factor": 1.0,
|
|
"initializer_range": 0.02,
|
|
"intermediate_size": 4096,
|
|
"layer_norm_eps": 1e-05,
|
|
"max_position_embeddings": 77,
|
|
"model_type": "clip_text_model",
|
|
"num_attention_heads": 16,
|
|
"num_hidden_layers": 23,
|
|
"pad_token_id": 1,
|
|
"projection_dim": 512,
|
|
"torch_dtype": "float32",
|
|
"transformers_version": "4.25.0.dev0",
|
|
"vocab_size": 49408
|
|
}
|