展开本页目录
开始前准备什么
- 解压到独立目录,先读README和运行状态;不覆盖原素材。
- Python脚本基础校验需要Pillow;模型环境按本页官方工具单独准备。
- 使用自有或有权使用素材;权重许可与工具代码许可分别核对。
- 检查原创纹理和网格定位
- 固定 PyTorch 版本与同一模型
- 先保存不分块基线
- 对照相同 tile 下两种 padding
- 只比较真实三版同坐标结果
- 读取差异但不把误差自动当好坏
- 提交完整实验配置和失败原因
1. 检查原创纹理和网格定位
input.png 是代码绘制的 192×160 原创织纹/斜线练习。tile-grid.png 只标出 tile=64 的边界,不是“已经出现接缝”的模型结果。小图实验用于查边界,不证明显存节约。
bash
python3 verify.py2. 固定 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 --help3. 先保存不分块基线
以 RealESRGAN_x4plus、outscale=4、fp32、tile=0 生成整图基线。run_tiles.py 调用官方脚本但用绝对输入/输出路径;输入未变,输出到实验独立目录。
bash
python run_tiles.py --repo /path/to/Real-ESRGAN4. 对照相同 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 output6. 读取差异但不把误差自动当好坏
与整图基线的像素差显示分块路径是否变化,不代表越小就越符合真实纹理。观察直线是否断裂、边缘是否出现阶梯,同时保留三版图像,不只展示一条成功边。
bash
python3 verify.py --results output7. 提交完整实验配置和失败原因
若设备内存不足,单独记录哪个设置失败,不把小图用时推导为大图节省显存。没有真实模型结果时,不生成“修复后”图;下载包仍可验证输入、tile 边界与比较器的负例。
怎样确认已经完成
- 整图/分块三组固定模型、输入、精度与outscale,仅更改tile/pad。
- 差异来自真实同尺寸输出,缺少输出时比较器必须报错。
- 不把小图实验宣称为大图显存实测。
常见问题
tile_pad 与 pre_pad 有什么不同?
tile_pad 为内部每块提供重叠上下文;pre_pad 给整个输入外边界补边。两者不能在同一实验里随意同时改变。
AI放大图片有接缝一定增加 tile_pad 就行吗?
不一定。模型、精度和实现都可能影响,先保留整图基线,再比较同坐标实际输出。
本页展示了真实修复成功结果吗?
没有。已执行原创纹理生成、分块定位与离线验证,未执行 Real-ESRGAN 权重;真实三版输出须自行运行。



