# Real-ESRGAN 分块接缝排查：tile_pad 与整图基线对照

固定同一 PyTorch 后端、模型和纹理输入，对照整图、tile_pad=0 与 tile_pad=16，按同坐标检查接缝差异。

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

## 逐步操作

### 1. 检查原创纹理和网格定位

input.png 是代码绘制的 192×160 原创织纹/斜线练习。tile-grid.png 只标出 tile=64 的边界，不是“已经出现接缝”的模型结果。小图实验用于查边界，不证明显存节约。

```bash
python3 verify.py
```

### 2. 固定 PyTorch 版本与同一模型

在已满足官方依赖的 Real-ESRGAN 目录执行；保存 git revision、模型 SHA256、设备和精度。这里不混用 NCNN 的 -t 参数与 PyTorch 的 tile_pad；本机器未下载或运行超分权重。

```bash
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
git checkout a4abfb2979a7bbff3f69f58f58ae324608821e27
python inference_realesrgan.py --help
```

### 3. 先保存不分块基线

以 RealESRGAN_x4plus、outscale=4、fp32、tile=0 生成整图基线。run_tiles.py 调用官方脚本但用绝对输入/输出路径；输入未变，输出到实验独立目录。

```bash
python run_tiles.py --repo /path/to/Real-ESRGAN
```

### 4. 对照相同 tile 下两种 padding

第二、三次固定 tile=64，分别 tile_pad=0 和16。padding 给每块附加上下文，再裁回；pre_pad 是图像外边界补边，不是同一个实验变量。

### 5. 只比较真实三版同坐标结果

compare_tiles.py 要求三张结果都可解码且尺寸相同，再提取 x=64×4/128×4 附近条带。正文的输入分块与像素差异示例是验收定位，不是假造的模型接缝。

```bash
python compare_tiles.py output
```

### 6. 读取差异但不把误差自动当好坏

与整图基线的像素差显示分块路径是否变化，不代表越小就越符合真实纹理。观察直线是否断裂、边缘是否出现阶梯，同时保留三版图像，不只展示一条成功边。

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

### 7. 提交完整实验配置和失败原因

若设备内存不足，单独记录哪个设置失败，不把小图用时推导为大图节省显存。没有真实模型结果时，不生成“修复后”图；下载包仍可验证输入、tile 边界与比较器的负例。

## 来源与边界

- [官方 PyTorch tile/tile_pad 参数传递](https://github.com/xinntao/Real-ESRGAN/blob/master/inference_realesrgan.py)
- [RealESRGANer 分块和补边实现](https://github.com/xinntao/Real-ESRGAN/blob/master/realesrgan/utils.py)

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