图像修复简介

通过图像修复技术,我们可以提供一个需要编辑的图像以及一个"遮罩”,用于定义应该更改的图像部分。遮罩可以是黑白图像(maskImage)或自然语言描述要更改的内容(maskPrompt)。图像修复可用于删除、替换或向原始图像添加新元素。

使用案例

OctankFashion决定通过为男士创造海滩主题衬衫来刷新他们的产品线。他们想以当前带有狗的白色衬衫领作为起点,只需将狗替换为棕榈树。

让我们使用图像修复来帮助OctankFashion更新他们的夏季产品线,反映这一变化。

先决条件: 在继续之前,请先运行先决条件 00-prerequisites.ipynb

使用"图像修复"任务类型相关的以下参数,它们被封装在请求正文的inPaintingParams字段中。

  • text(可选) - 定义要在遮罩内更改的内容的文本提示。如果不包括此字段,模型将从图像中删除遮罩区域,并用背景替换它。必须小于等于1024个字符。
  • negativeText(可选) - 描述不应生成的元素或特征的文本提示。必须小于等于1024个字符。
  • inPaintingParams字段如下所述:
    • image(必需) - 要修改的JPEG或PNG图像,编码为Base64字符串。
    • 我们必须定义以下两个字段中的一个(但不能同时定义两个):
      • maskPrompt - 描述要编辑的图像区域的自然语言文本提示。
      • maskImage - 一个黑白图像,其中纯黑色像素表示遮罩内部区域,纯白色像素表示遮罩外部区域。遮罩图像的尺寸必须与输入图像的尺寸相同。

输入图像和遮罩图像的分辨率必须满足以下要求:

  • 每个边的长度不得短于320像素,不得长于4096像素
  • 每个边的长度必须是16的倍数
  • 长宽比在1:4(纵向)到4:1(横向)之间
  • 总像素数(宽度x高度)不超过4,194,304(相当于2048x2048)
  • imagemaskImage必须具有相同的分辨率

示例1: 使用遮罩提示进行图像修复

使用遮罩提示,我们不需要创建自己的遮罩图像。相反,我们只需描述要替换的对象。模型将自动分割图像并识别我们描述的对象。

在这个例子中,我们将使用以下输入图像和"狗图像"的遮罩提示。运行下面的单元格,生成的图像将保存到"output"文件夹。

示例2: 使用遮罩图像进行图像修复

另外,我们可以提供遮罩图像来直接控制模型应该重建的区域。这里是一个与衬衫可打印区域对应的遮罩图像的示例。

我们现在将使用这个遮罩图像来重建我们的图像。运行下面的单元格,生成的图像将保存到"output"文件夹。

总结

图像修复是一种强大的技术,允许用户以惊人的精度操作和修复图像。通过使用遮罩图像或遮罩提示,个人可以无缝地删除不需要的对象、填充缺失区域或向现有图像添加新元素。这种多功能工具有许多应用,从照片修复和数字艺术创作到在专业摄影中去除干扰。无论我们是修复旧家庭照片、创造富有想象力的数字作品还是增强电子商务产品图像,图像修复都提供了一种用户友好的解决方案,以实现精致、专业的结果。