曹欣 崇光
Adobe 最近发布了AdobePhotoshop 的最新公开测试版后,惊呼声此起彼伏,其中包含一种新的生成填充功能,可以使用生成AI 技术在现有照片中创建逼真的对象、背景和场景扩展。
笔者已经感受到Adobe 在AdobeFirefly 中实现生成人工智能,堪称魔术师施展的变法,用于根据文本提示创建整个合成图像。
什么是Generative Fill(AI 图像合成工具)? 就是使用Firefly 技术以更有针对性的方式编辑现有图像,将生成AI 作为标准功能引入Photoshop。至于其他生成AI 系统相关联的第三方Photoshop 插件,已经有一些了,例如Alpaca 和Stability AI。
Firefly 生成式AI 系统会根据文本提示中的描述,创建完全原始的图像,新的素材叠加创建新构图,而不会用传统形式提取现有图像的各个部分。系统利用从摄取数百万张照片中学到的知识,发明场景和对象以匹配它理解文本的含义。诸如“夜间下雨街道上的古董车”之类的提示,会让软件从大量随机像素中组合出一幅图像,以匹配系统理解的“汽车”“雨”“街道”和“夜晚”,系统通常会根据主题提供多种变体。
如果你已经有一张晚上下雨的街道的照片,并且想在构图中添加一辆古董车怎么办?很简单,使用Photoshop 的生成填充功能,先选择我们希望汽车出现的区域,并键入“古董车”生成一个基础图形(也可称为“修复”),然后选择要从图像中删除的部分,在没有特定文本提示的情况下使用生成填充去替代它,工具会自动填充缺失区域。
从体验上主观的感受,Adobe 这个过程比其他生成AI 系统更加友好。它具有将工具直接構建到Photoshop 中的优势,其中Generative Fill 具有干净直接的界面。
根据文本提示在Adobe Firefly中生成图像
在上下文任务栏可见的情况下在Photoshop 中进行选择
单击“生成填充”会显示文本提示字段
单击“生成填充”会显示文本提示字段生成结果后,游客将被删除,这是三个变体之一,在“属性”面板中显示为缩略图
相比之下,当前流行的Midjourney服务需要加入Discord 服务器,订阅该服务,进入设置为接收文本提示的聊天室,然后使用“想象下雨天的古董车”等命令,输入想要生成的内容“晚上的街道”,图形结果会显示在聊天室的滚动讨论中,不太令人习惯。
Photoshop 的方法是推出了一个新的上下文任务栏,其中包含选择主题或删除背景等命令。当使用任何选择工具(例如套索工具)进行选择时,任务栏中的一个选项会是生成填充按钮,非常直接。
单击该按钮会显示一个文本字段,可以在其中描述应在选择中创建的内容。或者将该字段留空并单击“生成”按钮,让Photoshop 根据周围场景的上下文确定将显示的内容。
单击“生成”后,Photoshop 会生成三个Firefly 生成的变体并向使用者展示第一个。你可以使用上下文任务栏中的按钮,或通过单击“属性”面板中的缩略图来循环浏览它们,如果它们都不好看,可以再次单击“生成”以获得另外三个变体,怎么样,是不是找到了ChatGPT 的感觉?
顺便说一句,如果你对每个选择正下方出现的上下文任务栏感到不便,可以将其拖动到想要的位置,然后单击栏上的三点图标,并从菜单中选择 Pin Bar Position。
所有变化都包含在一个新型层中,即生成层,该层还包括用户所选区域的遮罩。如果将生成填充应用于图像的另一个区域,则会创建一个新的生成层。以上操作的所有变化都保存在这些图层中,可以返回修改并以非破坏性方式尝试变化、隐藏或显示图层、设置混合模式和不透明度,以及使用图层的所有其他灵活属性。
另外需要注意的是,生成填充以与原始照片相同的分辨率创建结果,这与大多数系统形成的图像对比有巨大优势,因为后者生成的图像分辨率较低(通常为1024×1024 像素),接下来我们看看生成填充可以做什么。
通常情况下,当我们使用工具从照片中删除不需要的项目时,该软件会尝试使用图像中其他地方的像素来回填缺失区域。当要移除的区域很大时,像素回填会变得更加困难,导致重复的鬼影,一眼就能看到图像的某些部分被移除。
相反,生成填充会查看图像的前后文件,并尝试创建在其位置上有意义的内容。在上面我们移除游客的示例中,Photoshop 重新创建了建筑物的线条和颜色,并匹配了地面的纹理。
Photoshop还是生成了一系列替代“人物”(左侧),图片来自官方演示
根据Adobe的在线建议,不需要编写“删除人员”之类的命令就能把图像左侧的背景显现出来
但是我们不能假设该功能每次都能正确处理,以下面两个人的形象为例。我们可以尝试删除一个人(左边的人),方法是使用套索工具在他周圍进行松散选择以定义我们要替换的区域,然后单击文本框中的空生成。奇怪的是,在多次尝试中,该工具假设我们想用另一个随机的人替换这个人,这简直是合成的噩梦。
根据Adobe 的说法,使用 GenerativeFill 时不需要键入“删除人员”等命令作为提示,但最终,键入该提示给了我们想要的结果。此处要注意,虽然Photoshop 给出一个没有左侧人物的修改(见下文),但它同时也创建了两个仍然包含人物的变体。我们或许可以将此归因于预发布功能的不完善,因为当前机器学习量很大,还没有尽善尽美。
删除对象是一回事,但是用完全不同的东西替换它们呢?使用生成填充,我们还可以创建原始图像中从未有过的东西。例如,在下面的照片中,我们可以通过在馅饼周围进行选择(稍微扩大选择有助于拾取它们后面的纸张纹理)并在文本提示字段中键入“蓝莓”,将其中一种甜点变成蓝莓馅饼,反复试了几次才找到匹配的,但这些蓝莓看起来很有说服力。
更换背景中的饮料效果会怎么样?我们可以选择左侧的玻璃杯,然后输入“品脱啤酒”作为提示,而不是冷萃咖啡。注意,不仅玻璃杯稍微偏离焦点以匹配它所替换的景深,前面的馅饼和旁边的咖啡还有玻璃光线的一丝反射,很逼真吧。
将任意项目添加到空白空间会如何?我们在前景中绘制了一个矩形选区并键入提示“Dog lying down”,随后Photoshop 创建了多个小狗变体,其中我们最喜欢下面的那个,后期填充之后光线和阴影的角度匹配得很好。
除了替换或添加前景对象外,通过使用“选择主题”并反转选择以选择背景,我们可以输入提示以重新定义场景的整个格局。
选中盆子的原始图像
用蓝莓代替前景馅饼中的草莓
后面的冷咖啡换成了一品脱(约0.4732升)啤酒
带有矩形选区的原始照片
添加一条狗,尤其是在光线保持一致的情况下
选中背景的原始照片,将选区扩大了20个像素(类似羽化操作),包括了车辆的边缘
背景变成了雪地
用“丛林之路”替换背景
说了这么多, 我们来看如何获取该软件: 生成填充功能在最新的Photoshop 24.6.0 公测版中,Creative Cloud 订阅者可以使用该版本,在Creative Cloud 应用程序中,选择边栏中的 Beta 应用程序,然后在右侧列表中查找 Photoshop (Beta),单击安装即可。Photoshop 的测试版和发行版可以同时存在于计算机上,此外测试版不会覆盖你已经安装的内容。