亚马逊 Titan 图像生成器及水印检测 API 正式上线

文章重点

在AWS reInvent 2023大会上,亚马逊宣布了Titan图像生成器的预览,现已正式在Amazon Bedrock中推出。用户现在可以利用这一生成人工智能模型迅速生成和编辑高质量图像。此外,Titan图像生成器的水印检测功能现已推出,能够识别由该模型生成的图像,助力用户抵御错误信息的扩散。

在2023年AWS reInvent大会上,我们宣布了Amazon Titan图像生成器的预览。这个生成式人工智能生成 AI基础模型可以让用户通过自然语言提示快速创建和完善逼真的专业质量图像。

很高兴地告诉大家,Amazon Titan 图像生成器现在在Amazon Bedrock中正式可用,提供了一种便捷的方式来构建和扩展生成 AI 应用程序,利用新的图像生成和编辑功能,包括图像的即时自定义。

在我之前的帖子中,我提到所有由Titan图像生成器生成的图像默认都包含隐形水印,旨在帮助减少错误信息的传播,并提供识别AI生成图像的机制。

我很高兴地宣布,Titan 图像生成器的水印检测功能现在可以在Amazon Bedrock控制台中使用。今天,我们还引入了一种新的DetectGeneratedContent API预览版,该API可以检查图像是否存在此水印,并帮助您确认图像是否由Titan图像生成器生成。

下面就让我向您展示如何使用这些新功能。

通过 Amazon Titan 图像生成器实现即时图像自定义

您现在可以通过提供最多五张参考图像来生成新图像。可以在保留图像关键特征的同时在不同场景中创建主题,将参考图像的风格转移到新图像上,或者将多张参考图像的风格混合在一起。所有这些都无需额外的提示工程或模型微调。

在这个演示中,我命令Titan图像生成器创建一幅“鹦鹉吃香蕉”的图像。在第一次尝试时,我仅使用Titan图像生成器创建了新图像,而没有提供参考图像。

注意:在接下来的代码示例中,我将使用AWS SDK for Python (Boto3)与Amazon Bedrock进行交互。您还可以在Bedrock用户指南中找到C#/NET、Go、Java 和 PHP 的额外代码示例。

pythonimport boto3import json

迅猛兔加速器电脑版

bedrockruntime = boto3client(servicename=bedrockruntime)

body = jsondumps( { taskType TEXTIMAGE textToImageParams { text parrot eating a banana } imageGenerationConfig { numberOfImages 1 quality premium height 768 width 1280 cfgScale 10 seed 42 } })response = bedrockruntimeinvokemodel( body=body modelId=amazontitanimagegeneratorv1 accept=application/json contentType=application/json)

亚马逊 Titan 图像生成器和水印检测 API 现在已在亚马逊 Bedrock 中推出 新闻博客

您可以使用以下代码显示生成的图像。

pythonimport ioimport base64from PIL import Image

responsebody = jsonloads(responseget(body)read())

images = [ Imageopen(ioBytesIO(base64b64decode(base64image))) for base64image in responsebodyget(images)]

for img in images display(img)

这是生成的图像:

接下来,我使用相同的提示,通过额外提供以下两张参考图像,利用新的即时图像自定义功能。为了便于比较,我已将图像调整为相同大小,添加了标题,并将它们并排显示。

以下是代码。新的即时自定义功能通过IMAGEVARIATION任务提供:

python

导入参考图像

imagepath1 = parrotcartoonpngimagepath2 = birdsketchpng

with open(imagepath1 rb) as imagefile inputimage1 = base64b64encode(imagefileread())decode(utf8)

with open(imagepath2 rb) as imagefile inputimage2 = base64b64encode(imagefileread())decode(utf8)

ImageVariationParams选项:

text 提示以指导模型如何生成变体

images 参考图像的Base64字符串表示,最多支持5张图像

similarityStrength 参数,可调整以控制与参考图像的相似性

body = jsondumps( { taskType IMAGEVARIATION imageVariationParams { text parrot eating a banana # 必须 images [inputimage1 inputimage2] # 必须提供1到5张图像 similarityStrength 07 # 范围:02到10 } imageGenerationConfig { numberOfImages 1 quality premium height 768 width 1280 cfgScale 10 seed 42 } })

response = bedrockruntimeinvokemodel( body=body modelId=amazontitanimagegeneratorv1 accept=application/json contentType=application/json)

我再次调整了生成的图像大小,添加了标题,并将其与最初生成的图像并排显示。

您可以看到第二张图像中的鹦鹉使用即时图像自定义功能生成,与提供的参考图像的风格相似。

Amazon Titan图像生成器的水印检测功能

所有Amazon Titan基础模型都考虑到负责任的人工智能。它们能够检测和删除数据中的有害内容,拒绝不当用户输入,并过滤模型输出。随着内容创作者使用AI生成逼真的图像,促进这一技术的负责任发展和减少错误信息的传播尤为重要。因此,所有由 Titan 图像生成器生成的图像默认都包含一个隐形水印。水印检测是一项创新技术,亚马逊网络服务AWS是第一批广泛发布AI图像输出内嵌水印的主要云服务提供商之一。

Titan图像生成器的新水印检测功能是一种识别由亚马逊Titan生成的图像的机制。这些水印具有防篡改性,有助于提高AI生成内容的透明度,随着这些能力的不断进步。

通过控制台进行水印检测

水印检测现在可以在Amazon Bedrock控制台中使用。您可以上传图像以检测由Titan图像生成器生成的图像中嵌入的水印,包括基础模型和任何自定义版本生成的图像。如果您上传的图像不是由Titan图像生成器生成的,则模型将指示未检测到水印。

水印检测功能还提供信心评分。信心评分表示水印检测的置信度。在某些情况下,如果原始图像已被修改,则检测的信心可能较低。这一新功能使内容创作者、新闻机构、风险分析师、欺诈检测团队等能够更好地识别和缓解误导性AI生成内容,促进组织内的透明度和负责任的AI部署。

通过 API 进行水印检测预览版

除了通过控制台进行水印检测外,我们还在Amazon Bedrock中引入了一种新的DetectGeneratedContent API预览版,该API可以检查水印的存在,并帮助您确认图像是否由Titan图像生成器生成。下面我们来看看这如何实现。

在这个演示中,我们检查我在Titan图像生成器预览帖子中展示的绿色鬣蜥图像是否确实是由该模型生成的。

我定义了导入,设置了Amazon Bedrock boto3运行时客户端,并进行了Base64编码图像。然后,通过指定基础模型并提供编码图像,我调用DetectGeneratedContent API。

pythonimport boto3import jsonimport base64

bedrockruntime = boto3client(servicename=bedrockruntime)

imagepath = greeniguanapng

with open(imagepath rb) as imagefile inputimageiguana = imagefileread()

response = bedrockruntimedetectgeneratedcontent( foundationModelId=amazontitanimagegeneratorv1 content={ imageContent {bytes inputimageiguana} })

让我们检查一下响应。

pythonresponseget(detectionResult)GENERATEDresponseget(confidenceLevel)HIGH

响应GENERATED和置信度水平为HIGH确认了Amazon Bedrock检测到了由Titan图像生成器生成的水印。

现在,让我们检查另一张我在Amazon Bedrock上使用Stable Diffusion XL 10生成的图像,这是一只“面朝日落的狐獴”。

我再次调用API,这次使用狐獴的图像。

pythonimagepath = meerkatpng

with open(imagepath rb) as imagefile inputimagemeerkat = imagefileread()

response = bedrockruntimedetectgeneratedcontent( foundationModelId=amazontitanimagegeneratorv1 content={ imageContent {bytes inputimagemeerkat} })

responseget(detectionResult)NOTGENERATED

果然,响应NOTGENERATED告诉我未检测到Titan图像生成器生成的水印,因此该图像很可能不是由模型生成的。

在控制台中使用 Amazon Titan 图像生成器和水印检测

以下是如何在Amazon Bedrock控制台中开始使用Titan图像生成器和新的水印检测功能的简短演示,由我的同事Nirbhay Agarwal制作。

可用性

Amazon Titan 图像生成器、即时自定义功能以及Amazon Bedrock控制台中的水印检测功能今天在美国东部北弗吉尼亚和美国西部俄勒冈AWS地区上线。请查看完整地区列表以获取将来的更新。在AWS地区北弗吉尼亚和俄勒冈中,Amazon Bedrock中的新DetectGeneratedContent API今天也以公开预览形式可用。

Titan 图像生成器现已在 PartyRock 中可用

Titan 图像生成器现在也可以在PartyRock中使用,这是一个Amazon Bedrock的实验平台。PartyRock提供了一种无代码的AI应用程序构建体验,不需要信用卡。您可以使用PartyRock从所选的图像生成模型来自Stability AI和Amazon生成图像,几秒钟即可完成。

更多资源

要了解有关Amazon Titan系列模型的更多信息,请访问Amazon Titan产品页面。有关定价的详细信息,请查看Amazon Bedrock定价。

在PartyRock中尝试Amazon Titan图像生成器,或在Amazon Bedrock控制台中探索该模型的先进图像生成和编辑功能。将反馈发送到AWS rePost for Amazon Bedrock或通过您通常的AWS联系人发送反馈。

有关更深入的技术内容以及与生成 AI Builder 社区的互动,请访问我们的生成 AI 空间 communityaws。

Antje

Antje Barth

Antje Barth是AWS生成AI的首席开发倡导者。她还共同编辑了OReilly出版的《AWS上的生成AI》和《AWS上的数据科学》一书。她经常在全球范围内的AI/ML大会、活动和聚会上演讲。她还共同创办了杜塞尔多夫大区的女性大数据协会。

加载评论

订阅邮箱