内容提要
本文介绍了修复老照片并使其焕发新生的方法,包括超分辨率处理、ControlNet模型重建、文本提示扩散过程、ControlNet精细调整和Stable Diffusion填补空白。
延伸解读
超分辨率:不止于放大
文章指出,处理老照片的第一步是超分辨率。即使原图分辨率高,也建议先下采样再超分,以利用其去除噪声和胶卷颗粒的副作用。在Stable Diffusion Web UI的Extra选项卡中,可启用Upscale并选择R-ESRGAN 4x+等放大器。同时,CodeFormer模型可用于修复面部,权重设置影响表情保留程度:低权重给予更多修改自由,高权重则更保留原始表情。
重建策略:为何用txt2img而非img2img
重建老照片时,文章强调应使用txt2img而非img2img。因为将老照片作为起点会过度影响输出,无法实现预期的修正。正确流程是:先用img2img的CLIP interrogator生成正向提示,再在txt2img中基于该提示生成图像。提示中可加入风格关键词控制输出,并使用负面提示排除绘画、模糊等不良特征。
ControlNet双单元:精细控制轮廓与色彩
为获得最佳效果,需使用两个ControlNet单元。第一个单元使用Canny类型,控制权重设为0.8,以勾勒轮廓;第二个单元使用Recolor类型,控制权重设为0.2,基于亮度填充颜色。这样,Canny高权重确保形状准确,Recolor低权重避免缺陷影响。若对颜色不确定,可在提示中描述服装颜色。两个单元协同工作才能达到最佳效果。
风险与后续调整
文章提醒,若原照片人脸难以辨认,可开启ADetailer重建面部,但仅必要时使用,否则可能生成完全不同的人。生成后若需更高分辨率,可使用Hires. fix功能,但需将去噪强度设低(如0.2),以避免引入额外失真。此外,多次生成可能得到不同颜色的衣服,因为模型对颜色不确定,可通过提示控制。
Q&A
如何修复老照片的缺陷?
可以使用超分辨率处理去除噪声和胶卷颗粒,并使用CodeFormer模型修复面部。
什么是超分辨率处理?
超分辨率处理是将低分辨率照片提升为高分辨率的过程,能够去除噪声和胶卷颗粒。
如何使用Stable Diffusion进行老照片重建?
使用txt2img而非img2img,结合CLIP interrogator生成正向提示,并使用ControlNet进行精细调整。
ControlNet在老照片修复中有什么作用?
ControlNet用于精细调整输出,能够控制轮廓和颜色填充,以提高修复效果。
如何为黑白照片上色?
可以使用ControlNet的Recolor类型来为黑白照片上色,并结合其他模型进行处理。
修复老照片时需要注意哪些设置?
需要设置ControlNet的权重,选择合适的上采样因子,并调整输出分辨率以匹配原始照片的比例。