虚拟搭配
虚拟搭配是一种基于图像引导的补绘使用案例,在遮罩图像的引导下将参考图像的内容叠加到源图像中。Amazon Nova Canvas 针对服装、配饰、家具和相关物体进行了微调。该模型还可以轻松推广到其他场景,例如在图像中添加徽标或文本。
您最多可以使用虚拟搭配 API 生成五张图像。默认情况下只会生成一张图像。
要进行虚拟搭配,您必须提供三张图像:
-
源图像 – 要修改的原始图像。例如,这可能是图像、人物或房间场景。
-
参考图像 – 包含要叠加到源图像中的项目、对象或物品的图像。例如,这可能包含夹克、碗或沙发。对于服装,参考图像可以包含穿着或脱下的服装,也可以包含代表不同服装成分的多件产品(例如单张图像中的衬衫、裤子和鞋子)。
-
遮罩图像 – 定义源图像中要修改的部分的图像。遮罩图像是一种黑白图像,用于定义源图像中要修改的部分。黑色像素表示要修改的源图像区域,而白色像素表示要保留的源图像区域。您可以提供自己的遮罩图像,也可以让模型根据您提供的其他输入参数为您创建遮罩图像。
如果指定了遮罩图像,则遮罩图像可以作为输出的一部分返回。
以下是说明模型工作原理的一些示例。
与其他 Amazon Nova Canvas 任务类型不同,虚拟搭配不支持文本提示或否定文本提示。
定义遮罩图像
您可以通过指定 maskType: "IMAGE"
来直接提供遮罩图像,也可以让模型使用辅助输入(例如 maskType: "GARMENT"
或 maskType: "PROMPT"
)自动计算遮罩图像。
将遮罩类型指定为 "GARMENT"
后,Amazon Nova Canvas 会根据您指定的 garmentClass
输入参数值创建服装感知遮罩。在大多数情况下,您可以使用以下高级别服装类别之一:
-
"UPPER_BODY"
– 创建全臂长遮罩。 -
"LOWER_BODY"
– 创建全腿长遮罩,两腿之间无空隙。 -
"FOOTWEAR"
– 创建与源图像中所示鞋子轮廓吻合的遮罩。 -
"FULL_BODY"
– 创建相当于"UPPER_BODY"
与"LOWER_BODY"
组合的遮罩。
使用 "PROMPT"
遮罩类型时,您可以使用自然语言来描述源图像中要替换的项目。这对于非服装场景非常实用。此功能通过 maskPrompt
参数来使用与 "INPAINTING"
任务类型中相同的自动遮罩功能。
警告
使用 "PROMPT"
遮罩类型创建的遮罩将与您描述的项目形状紧密吻合。这在许多场景中可能会导致问题,因为要添加的产品可能与要替换的产品轮廓或尺寸不同。因此,虚拟搭配 API 还提供了一个可选的 maskShape
参数,可以将其设置为 "BOUNDING_BOX"
。使用 "PROMPT"
遮罩类型时,我们建议在大多数情况下使用此设置(这是默认设置)。
生成新姿势、手部或脸部
您可以指示模型保留或重新生成源图像中人物的姿势、手部或脸部。如果您选择保留这些元素,则无论您选择了哪个 maskType
,它们都会自动从遮罩图像中移除。
对于以下场景,您可以保留姿势、手部或脸部:
-
您正在开发一款允许最终用户自行绘制遮罩的应用程序。保留这些特征可以防止最终用户意外将手部或脸部包含在遮罩中。
-
您使用的是
maskShape: BOUNDING_BOX
,但不想生成新的手部或脸部。使用preserveFace: ON
或preserveHands: ON
时,这些特征会自动从遮罩中移除。 -
您将
maskType:GARMENT
和maskShape: BOUNDING_BOX
用于非直立姿势的模特。在此场景中,边框遮罩可能会与脸部重叠,因此我们建议使用preserveFace: ON
。
而在下列场景中,您可以重新生成姿势、手部或脸部:
-
对于会遮盖颈部的服装,
preserveFace: ON
可能会过多排除颈部部位,从而对输出产生不利影响。 -
当模特穿着高跟鞋,而参考图像为平跟鞋时,反之亦然。在此场景中,保留身体姿势会导致结果看起来不自然。
-
与前一点类似,在搭配手袋或其他配饰时,生成新的姿势或手部可以获得更自然的效果。
风格提示
garmentStyling
参数允许保留或更改您可能在照片中发现的特定服装风格提示。例如,Amazon Nova Canvas 可以修改衬衫风格,使其袖子向上或向下卷起,也可以将衬衫修改为扎起来或不扎起来。以下选项可用:
-
"longSleeveStyle"
– 控制长袖衬衫的袖子是向上还是向下卷起。-
"SLEEVE_DOWN"
– 可在源图像穿着长袖衬衫(袖子向上或向下卷起)、短袖衬衫或无袖衬衫时使用。 -
"SLEEVE_UP"
– 可在源图像穿着长袖衬衫并且袖子向上卷起、短袖衬衫或无袖衬衫时使用。
-
-
"tuckingStyle"
– 控制上装是扎起来还是松开。-
"UNTUCKED"
– 无论源图像是将衬衫扎起来还是松开,都可以使用。 -
"TUCKED"
– 可在源图像中将衬衫扎起来时使用。
-
-
"outerLayerStyle"
– 控制上装风格是敞开还是扣好。默认为"CLOSED"
,这适合大多数服装(例如衬衫和毛衣)。对于外套(例如夹克),可将此值设置为"OPEN"
,以确保源图像中的原始上装得到保留,而外套则叠加在上面。为外套使用"CLOSED"
值可能并不总是会将服装扣起来。这是因为,值"CLOSED"
仅保证源图像中的每件上装都会被替换,有时还会导致外层敞开,可以看到下面的新下层。-
"CLOSED"
-
"OPEN"
-
有关更多信息,请参阅图像生成请求和回复结构中的 garmentStyling
参数。
图像拼接
借助虚拟搭配功能,您可以确定如何将图像拼接在一起来创建最终图像。您可以选择 "BALANCED"
、"SEAMLESS"
或 "DETAILED"
。每种合并风格都采用不同的方法来将元素拼接在一起来创建最终图像,并且每种合并风格都有自己的优点和取舍。
-
"BALANCED"
– 保留原始图像中所有未被遮罩的像素,确保它们与原始图像 100% 准确。在某些情况下,输出图像中会有轻微的颜色或纹理不匹配,呈现为遮罩形状的“幽灵”图像。当图像中有人站在纯色或纹理均匀的背景上时,最有可能发生这种情况。为了避免这种情况,您可以使用"SEAMLESS"
合并风格。 -
"SEAMLESS"
– 确保最终图像中的遮罩和非遮罩图像区域之间永远不会有明显的接缝。缺点是图像中的所有像素都会略微改变,有时图像中非遮罩区域的部分细致细节会消散。 -
"DETAILED"
– 可以显著改善徽标和文本等细致细节,尤其是当遮罩区域与整体图像相比较小时。为实现这一目标,该模型通过在严格裁剪后仅包括遮罩区域且分辨率较高的原始图像版本上进行补绘,然后再将结果合并回原始图像。与使用"BALANCED"
模式时一样,此模式有时会产生可见的接缝。