你好,我是郭震

ChatGPT绘图刚刚增加一个新功能,支持在生成图中进行再编辑,这篇文章我来详细总结下这个功能。
1 初步使用
按照正常提问,绘制小猫和草坪。过一会,它会生成这样一幅图片:

接下来,点击这张图片,会弹出这个窗口,右上角有三个按钮,第一个按钮是select,也就是选择图片中的某个区域,支持选择区域的二次修改。
这个二次修改,我试了下,很强!
实际使用,比如,我选择如下左下角区域:


然后提示我,如何对这块区域进行编辑,比如我想在这块区域添加一个苹果:
我这样回复它,添加一个苹果,接下来GPT就开始计算
过一会,神奇的事情发生了,就在我选中区域,自动添加一只苹果:
咱们继续修改,再选中一个区域,添加一个水杯:

接下来,绘图完成后,选中区域并未绘制出水杯,第二次修改就会出现问题:
我尝试不选中区域,直接告诉它,添加水杯,然后得到下面这幅图:看到小猫和苹果的方位与上图已经发生变化。证明选择区域是必要的,否则会出现绘图扰动。
2 实现技术
我比较感兴趣的两个问题:
1) 多次选择区域,新增图像,为啥没生成
2)不选择区域,新图会与原图有较大变动。
我们先来看看,
二次修图的技术原理

二次修复图像(如添加新的物品或特征到已有图像)涉及先进的图像生成和修复技术,其原理如下:
  1. 区域选择与标记:首先,工具会识别并标记图像中需要修改或添加元素的区域。这可以通过用户提供的提示或算法自动检测来实现。
  2. 掩码生成:通过生成掩码(mask),工具可以将要修改的部分与原始图像的其他部分分开,确保只对选定区域进行更改。
  3. 深度学习模型生成:使用预训练的生成模型,基于用户提供的描述和图像的上下文信息生成新的元素。模型会利用已经学到的视觉特征,在保持整体风格一致的前提下填充指定区域
  4. 融合与平滑处理:将生成的内容与原始图像进行融合,确保边缘过渡平滑,呈现自然一致的效果。模型通常会使用高级算法平滑边缘和调整颜色,以达到无缝的修复效果。
  5. 多次迭代优化:通过多次生成迭代,模型可以不断调整生成的结果,以达到用户预期的效果。这涉及反复运行模型,调整参数,直至生成理想的图像。
那么问题来了,我第二次选择区域,新增一个水杯,但是水杯没有出现在图中,可能的原因有哪些,我们分析一下:
  1. 域识别错误:模型没有正确识别你想要添加水杯的区域,导致模型没有在正确的位置生成水杯。
  2. 生成限制:生成模型可能存在限制,例如不能生成特定类型的物体,或者对复杂场景的处理能力有限
  3. 重叠问题:新生成的水杯可能被其他图像中的对象遮挡住,导致它在最终图像中不可见。
对于第二个问题,不选择区域,新图会与原图有较大变动。主要原因不选择区域时,模型不会被约束在特定的区域生成新的元素,它会重新生成整个图像。这通常会导致更大的变化。
上下文变化:如果模型没有明确的上下文指示,它可能会根据新的描述重新构建图像。因为没有选择固定区域,模型认为整个图像都可以改变。
以上。

发送 llm,免费获取《大模型从理论到实践》.PDF
2 我打造的Python人工智能全栈课(超700节视频课)已上线,长按二维码查看,咨询或报名请加我微信:gz113097485
继续阅读
阅读原文