展开本页目录
开始前准备什么
- 解压到独立目录,先读README和运行状态;不覆盖原素材。
- Python脚本基础校验需要Pillow;模型环境按本页官方工具单独准备。
- 使用自有或有权使用素材;权重许可与工具代码许可分别核对。
- 打开毛绒与薄纱输入
- 固定 HR-matting 而非 HR 分割权重
- 保留连续预测,不做阈值二值化
- 核对 alpha 是否有真实中间值
- 用深浅底测试软边
- 与明确标注的人工 alpha 样本区分
- 记录模型状态和交付边界
1. 打开毛绒与薄纱输入
input.png 是原创生成的毛绒玩具与薄纱图。先看浅色细毛、纱边与背景的交叠;它不是带真实 alpha 的测量真值,不能用输入本身推定每个像素透明度。
bash
python3 verify.py2. 固定 HR-matting 而非 HR 分割权重
作者将 BiRefNet_HR-matting 标为 2048 训练的透明度抠像权重。本练习用同一模型 ID,不把通用二值 mask 放大后称作 matting;本机未下载该大权重。
bash
python3 -m venv .venv
.venv/bin/python -m pip install torch torchvision transformers pillow3. 保留连续预测,不做阈值二值化
run_birefnet.py 将 sigmoid 后的浮点 alpha 保存为 8-bit 灰度,同时存 RGBA。不要先 threshold 到 0/255;那会丢掉头发或薄纱可能需要的中间覆盖率。
bash
.venv/bin/python run_birefnet.py --model ZhengPeng7/BiRefNet_HR-matting --revision 5d6b6f8adcb5b417c871b1d84ceaae9871355b7f --resolution 2048 --output output4. 核对 alpha 是否有真实中间值
统计 transparent、opaque、soft 三类像素和各灰度频次。存在中间值仅说明输出不是二值图,不证明薄纱透光准确;核对照片视觉与两底色效果。
bash
python3 verify.py --results output5. 用深浅底测试软边
compose.py 将真实输出合成到深灰和暖白;不修改前景 RGB。毛绒边缘有色晕或薄纱变成实心时保留局部失败截图,不能把人工修边图标成模型直接输出。
bash
python3 compose.py output/cutout.png6. 与明确标注的人工 alpha 样本区分
包中的 soft-alpha-reference.png 是代码绘制的透明度标尺,用来验证通道与预览程序,不是本照片的预测 mask。正文检查图也明确显示“通道校准,非模型输出”。
bash
python3 verify.py7. 记录模型状态和交付边界
本教程素材、透明度校准样本与离线检查可直接复核;真实 HR-matting 输出需你运行后保存。薄纱、玻璃与运动模糊属于不同情形,不把一例推广为全部透明物体。
怎样确认已经完成
- model_id 为 BiRefNet_HR-matting,未混成 HR/general。
- 实际输出保留 0<alpha<255 的值,并在双底色人工验收。
- 人工透明度标尺、官方示例和本机模型结果分别标识。
常见问题
薄纱抠图为什么不能只用黑白 mask?
二值 mask 只保留全透明和全不透明,薄纱与毛边可能需要中间覆盖率;但预测仍可能出错。
soft alpha 多就代表效果好吗?
不是。错误背景残留也可能产生中间值,需与原图边缘和合成结果一起检查。
毛绒素材是模型生成的输出吗?
它是原创输入图;本页未运行 HR-matting。页面官方图与透明度校准图分别说明来源。




