展开本页目录
开始前准备什么
- 解压到独立目录,先读README和运行状态;不覆盖原素材。
- Python脚本基础校验需要Pillow;模型环境按本页官方工具单独准备。
- 使用自有或有权使用素材;权重许可与工具代码许可分别核对。
- 核对同一张原创高分辨率输入
- 准备环境并固定 HR 权重
- 先固定 1024 预处理跑一版
- 只把预处理改成 2048
- 按同坐标看细孔与细杆
- 分别记录分辨率、画布和质量
- 保存两次实际结果和未通过项
1. 核对同一张原创高分辨率输入
input.png 是原创生成的椅背和灯架测试图,不是 BiRefNet 结果。两次实验必须读同一文件,输入哈希保持一致;crop-regions.json 给出细孔、细杆和外沿抽查位置。
bash
python3 verify.py2. 准备环境并固定 HR 权重
在满足 PyTorch/Transformers 要求的独立环境加载 ZhengPeng7/BiRefNet_HR;不要换成 general、dynamic 或 HR-matting。from_pretrained 会下载大权重;本页材料准备与校验已跑,HR 推理未运行。
bash
python3 -m venv .venv
.venv/bin/python -m pip install torch torchvision transformers pillow
.venv/bin/python run_birefnet.py --help3. 先固定 1024 预处理跑一版
脚本将原图转 RGB、Resize 到方形分辨率并按作者均值方差归一化。模型预测后 sigmoid,再恢复原画布。把所有参数和实际模型 revision 存入运行记录。
bash
.venv/bin/python run_birefnet.py --model ZhengPeng7/BiRefNet_HR --revision a7a562f6fd16021180f2f4348f4de003a2d3d1e1 --resolution 1024 --output output-10244. 只把预处理改成 2048
第二次仍使用同一 HR 权重、设备和输入,只改 resolution=2048。原创原图为1536×1024,2048预处理包含上采样,不会新增真实细节。这是固定权重的采样实验,不是普通/HR两模型混比。显存不够时记录失败,不自动换小权重。
bash
.venv/bin/python run_birefnet.py --model ZhengPeng7/BiRefNet_HR --revision a7a562f6fd16021180f2f4348f4de003a2d3d1e1 --resolution 2048 --output output-20485. 按同坐标看细孔与细杆
compare.py 从两版实际 alpha 和 cutout 中提取同一 crop-regions.json 坐标。正文预处理对照图只展示输入采样差异,不是模型对比结果;你运行后才会得到 output-comparison.png。
bash
python3 compare.py output-1024/cutout.png output-2048/cutout.png6. 分别记录分辨率、画布和质量
输出恢复原图尺寸不表示模型是在该原生尺寸推理。记录 input_size、preprocess_resolution、alpha_size、seconds 和 peak_memory(如实际测得);孔洞准确度需人工逐项核对。
bash
python3 verify.py --results output-20487. 保存两次实际结果和未通过项
保留两版 mask、cutout、配置和失败区域。高分辨率不保证每一处更好;没有真实两版输出就不填“2048提升”结论,也不把官方展示图当本输入的结果。
怎样确认已经完成
- 两版 source_sha256 和 model_id 相同,只有分辨率实验变量变化。
- 预处理分辨率和最终画布尺寸分开记录。
- 细孔、细杆与外沿按同坐标比较,未跑模型不填写效果结论。
常见问题
BiRefNet HR 分辨率越大一定越好吗?
不一定。模型、输入和资源都有影响,本练习固定权重比较 1024/2048,结论只来自实际两版输出。
为什么输出恢复原图尺寸?
模型输入常会归一到方形,预测 alpha 再插值回原画布;输出像素多不等于模型推理时用了这些像素。
这是复杂边缘抠图的实测成功案例吗?
本页已执行材料生成和输入校验,未运行 HR 权重。官方示例仅作能力与入口参考,自己的结果需按脚本实际运行。




