# BiRefNet HR 高分辨率抠图：1024 与 2048 输入的细孔对照

固定 BiRefNet_HR 权重，对同一张椅背和灯架图片使用 1024/2048 预处理，按同坐标比较细孔、支架和实际 mask。

已运行原创输入生成与离线文件校验；本页模型/桌面应用未实跑，比较脚本供你运行后使用。

## 逐步操作

### 1. 核对同一张原创高分辨率输入

input.png 是原创生成的椅背和灯架测试图，不是 BiRefNet 结果。两次实验必须读同一文件，输入哈希保持一致；crop-regions.json 给出细孔、细杆和外沿抽查位置。

```bash
python3 verify.py
```

### 2. 准备环境并固定 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 --help
```

### 3. 先固定 1024 预处理跑一版

脚本将原图转 RGB、Resize 到方形分辨率并按作者均值方差归一化。模型预测后 sigmoid，再恢复原画布。把所有参数和实际模型 revision 存入运行记录。

```bash
.venv/bin/python run_birefnet.py --model ZhengPeng7/BiRefNet_HR --revision a7a562f6fd16021180f2f4348f4de003a2d3d1e1 --resolution 1024 --output output-1024
```

### 4. 只把预处理改成 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-2048
```

### 5. 按同坐标看细孔与细杆

compare.py 从两版实际 alpha 和 cutout 中提取同一 crop-regions.json 坐标。正文预处理对照图只展示输入采样差异，不是模型对比结果；你运行后才会得到 output-comparison.png。

```bash
python3 compare.py output-1024/cutout.png output-2048/cutout.png
```

### 6. 分别记录分辨率、画布和质量

输出恢复原图尺寸不表示模型是在该原生尺寸推理。记录 input_size、preprocess_resolution、alpha_size、seconds 和 peak_memory（如实际测得）；孔洞准确度需人工逐项核对。

```bash
python3 verify.py --results output-2048
```

### 7. 保存两次实际结果和未通过项

保留两版 mask、cutout、配置和失败区域。高分辨率不保证每一处更好；没有真实两版输出就不填“2048提升”结论，也不把官方展示图当本输入的结果。

## 来源与边界

- [作者仓库：HR 与 inference 示例](https://github.com/ZhengPeng7/BiRefNet)
- [作者 BiRefNet_HR 权重与分辨率说明](https://huggingface.co/ZhengPeng7/BiRefNet_HR)

素材：照片样式输入由 apizt 原创生成；几何商品、积木、文具、纹理、线稿和透明标尺由代码原创绘制。输入/标注/官方示例均不是未运行模型的输出。
官方代码/模型、第三方依赖各保留其独立许可；包内不含模型权重或API凭证。
