Outpaint是指将现有图像的内容扩展到其原始边界之外的过程。它通过生成新的像素或细节来延续图像中已有的视觉信息,有效地扩大了绘制范围。
在Stable Diffusion的工具集Web UI中,Outpaint允许我们通过调节输入图像的扩散模型来实现在图像边界之外生成额外内容。这个模型经过训练,能够学习训练数据中的基本模式和结构,并能够推断出这些知识,从而在原始图像的边界之外创建新的像素。通过Outpaint可以根据已有的图像信息进行创造性的扩展,使生成的图像更加丰富、完整。
将Stable Diffusion的图生图或者文字生图技术与Outpaint相结合,就有可能生成视觉上一致且连贯的图像扩展,与原始内容无缝融合。这可以有多种应用,例如提高图像的分辨率,从较小的图像中生成较大的图像,或者通过将场景扩展到所拍摄的画面之外来创建全景图。
下面介绍一下如何在Stable Diffusion中使用Outpaint来对现有的图像进行扩展。
步骤01 首先使用提示词生成一幅小朋友在玩耍的图像。
参考提示词 :
((a kid)) in the playground,ultra detailed,8K,unreal engine,photorealistic(((1 个孩子))在操场上,超详细的,8K分辨率,使用虚幻引擎制作,照片般真实的画面 )。
使用默认的图像尺寸512×512,生成结果如图3-39所示。
图3-39 生成小朋友在玩耍的图片
步骤02 单击“sent to img2img”切换到img2img选项卡,这时候我们会发现包含提示词在内的所有的参数设定都已经从text2img复制到img2img选项卡里了。
步骤03 对提示词进行微调,打算在场景左侧添加一只猫,修改提示词为((a big cat)) in the playground,ultra detailed,8K,unreal engine,photorealistic(((一只大猫))在操场上,超详细的,8K分辨率,使用虚幻引擎制作,照片般真实的画面)。
步骤04 在脚本下拉选择列表中选择Outpainting mk2脚本,设置Outpainting direction(扩展方向)为向左扩展,如图3-40所示。单击Generate按钮生成图片,原图左侧被扩展填充,出现了一只猫,如图3-41所示。
图3-40 向左扩展
步骤05 同样地,我们打算在图像的右侧进行扩展,添加一幅狗的图像。修改提示词为:((a blue bulldog)) in the playground,ultra detailed,8K,unreal engine,photorealistic(((一只蓝色的斗牛犬))在操场上,超详细的,8K分辨率,使用虚幻引擎制作,照片般真实的画面)。选择Outpaint向右扩展,如图3-42所示。
图3-41 向左扩展在场景中添加一只猫
图3-42 向右扩展
最终生成的图像如图3-43所示。
图3-43 最终生成的图像
在图片左侧扩展出一只猫,在图片右侧扩展出一条狗。