Amazon Titan 图像生成器和水印检测 API 现已在 Amazon Bedrock 上推出

959160135f3a9b17c28e5cc82eb6ed0f.gif

本文作者 Antje Barth

亚马逊云科技首席开发者布道师

a75766f359e2a8ded8df896b7ff75760.png

在亚马逊云科技 re:Invent 2023 期间,我们推出 Amazon Titan 图像生成器预览版,一个生成式 AI 基础模型(FM),您可以使用它通过英语自然语言提示来快速创建和优化逼真的工作室质量图像。

Amazon Titan 图像生成器现已在 Amazon Bedrock 可用,能够提供一种简单的方式来构建和扩展生成式 AI 应用程序,具有新的图像生成和图像编辑功能,包括即时图像自定义。

之前的文章中,我还提到:默认情况下,Titan 图像生成器生成的所有图像都包含一个不可见水印,旨在通过提供识别 AI 生成图像的机制来帮助减少虚假信息的传播。

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

让我向您展示如何开始使用这些新功能。

使用 Amazon Titan 图像生成器

进行即时图像自定义

您现在可以通过提供最多五个参考图像,来生成主题的新图像。您可以在保留其关键特征的同时,在不同场景中创建该主题,将参考图像的风格转移到新图像,或混合多个参考图像的风格。所有这一切都可以在不进行额外的提示工程或模型微调的情况下完成。

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

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

https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-runtime_example_bedrock-runtime_InvokeAmazonTitanImageGeneratorForImageGeneration_section.html

 Python 

import boto3
import json


bedrock_runtime = boto3.client(service_name="bedrock-runtime")


body = json.dumps(
    {
        "taskType": "TEXT_IMAGE",
        "textToImageParams": {
            "text": "parrot eating a banana",   
        },
        "imageGenerationConfig": {
            "numberOfImages": 1,   
            "quality": "premium", 
            "height": 768,
            "width": 1280,
            "cfgScale": 10, 
            "seed": 42
        }
    }
)
response = bedrock_runtime.invoke_model(
    body=body, 
    modelId="amazon.titan-image-generator-v1",
    accept="application/json", 
    contentType="application/json"
)

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

 Python 

import io
import base64
from PIL import Image


response_body = json.loads(response.get("body").read())


images = [
    Image.open(io.BytesIO(base64.b64decode(base64_image)))
    for base64_image in response_body.get("images")
]


for img in images:
    display(img)

这是生成的图像:

a68ad927be2bf38332431089d6659380.png

然后,我使用新的即时图像自定义功能,使用相同的提示,但也提供以下两个参考图像。为了更容易进行比较,我已经调整了图像的大小、添加了标题并并排绘制了它们。

6858eaccae71eaf5c4c84202b797a854.png

代码如下。新的即时自定义可通过 IMAGE_VARIATION 任务获得:

导入参考图像

 Python 

# Import reference images
image_path_1 = "parrot-cartoon.png"
image_path_2 = "bird-sketch.png"


with open(image_path_1, "rb") as image_file:
    input_image_1 = base64.b64encode(image_file.read()).decode("utf8")


with open(image_path_2, "rb") as image_file:
    input_image_2 = base64.b64encode(image_file.read()).decode("utf8")


# ImageVariationParams options:
#   text: Prompt to guide the model on how to generate variations
#   images: Base64 string representation of a reference image, up to 5 images are supported
#   similarityStrength: Parameter you can tune to control similarity with reference image(s)


body = json.dumps(
    {
        "taskType": "IMAGE_VARIATION",
        "imageVariationParams": {
            "text": "parrot eating a banana",  # Required
            "images": [input_image_1, input_image_2],  # Required 1 to 5 images
            "similarityStrength": 0.7,  # Range: 0.2 to 1.0
        },
        "imageGenerationConfig": {
            "numberOfImages": 1,
            "quality": "premium",
            "height": 768,
            "width": 1280,
            "cfgScale": 10,
            "seed": 42
        }
    }
)


response = bedrock_runtime.invoke_model(
    body=body, 
    modelId="amazon.titan-image-generator-v1",
    accept="application/json", 
    contentType="application/json"
)

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

d48f7fe12c2ff1d662875c6183e23aef.png

您可以看到,通过使用即时图像自定义功能生成的第二张图像中的鹦鹉的风格,类似于所提供的参考图像的组合。

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

所有 Amazon Titan 基础模型都是以负责任的 AI 为原则构建的。它们会从数据中检测和删除有害内容、拒绝不当的用户输入并过滤模型输出。随着内容创作者开始使用 AI 创建逼真的图像,促进该技术的负责任开发并减少虚假信息的传播变得非常重要。这就是为什么 Titan 图像生成器生成的所有图像默认都包含一个不可见水印。水印检测是一项创新技术,亚马逊云科技是首批在 AI 图像输出中广泛发布内置水印的主要云提供商之一。

Titan 图像生成器的新水印检测功能是一种机制,允许您识别由 Amazon Titan 生成的图像。这些水印旨在防止篡改,有助于随着这些功能不断发展,提高 AI 生成内容的透明度。

使用控制台进行水印检测

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

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

使用 API 进行水印检测(预览版)

除了使用控制台进行水印检测外,我们还在 Amazon Bedrock 中引入了一个新的 DetectGeneratedContent API(预览版),该 API 可检查是否存在此水印,并帮助您确认图像是否由 Titan 图像生成器生成。让我们看看它是如何工作的。

对于此演示,让我们检查我在 Titan 图像生成器预览帖子中展示的绿鬣蜥图像是否确实由该模型生成:

https://aws.amazon.com/blogs/aws/amazon-titan-image-generator-multimodal-embeddings-and-text-models-are-now-available-in-amazon-bedrock/

5250574a8f96d6b540ab5c605c699e66.png

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

 Python 

import boto3
import json
import base64


bedrock_runtime = boto3.client(service_name="bedrock-runtime")


image_path = "green-iguana.png"


with open(image_path, "rb") as image_file:
    input_image_iguana = image_file.read()


response = bedrock_runtime.detect_generated_content(
    foundationModelId = "amazon.titan-image-generator-v1",
    content = {
        "imageContent": { "bytes": input_image_iguana }
    }
)

让我们检查响应。

 Python 

response.get("detectionResult")
'GENERATED'
response.get("confidenceLevel")

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

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

6ab95c2f448ad50998ad107058e9ae75.png

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

 Python 

image_path = "meerkat.png"


with open(image_path, "rb") as image_file:
    input_image_meerkat = image_file.read()


response = bedrock_runtime.detect_generated_content(
    foundationModelId = "amazon.titan-image-generator-v1",
    content = {
        "imageContent": { "bytes": input_image_meerkat }
    }
)


response.get("detectionResult")
'NOT_GENERATED'

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

在控制台中使用 Amazon Titan 

图像生成器和水印检测

我的同事 Nirbhay Agarwal 撰写了关于如何在 Amazon Bedrock 控制台中开始使用 Titan 图像生成器和新的水印检测功能的短视频演示,您可访问以下链接或点击文末“阅读原文”观看:

https://aws.amazon.com/blogs/aws/amazon-titan-image-generator-and-watermark-detection-api-are-now-available-in-amazon-bedrock/

可用性

Amazon Titan 图像生成器、新的即时自定义功能以及 Amazon Bedrock 控制台中的水印检测现已在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)亚马逊云科技区域推出。请查看完整区域列表以获取未来更新:

https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html

Amazon Bedrock 中的新 DetectGeneratedContent API 现已在美国东部(弗吉尼亚北部)和美国西部(俄勒冈)亚马逊云科技区域推出公开预览版。

Amazon Titan 图像生成器

现在也可在 Amazon PartyRock 上使用

Titan 图像生成器现在也可在 Amazon PartyRock 上使用,这是一个 Amazon Bedrock 游乐场。Amazon PartyRock 为您提供了一种无需编码、AI 驱动的应用程序构建体验,不需要信用卡。您可以使用 PartyRock 创建应用程序,通过选择来自 Stability AI 和亚马逊云科技的各种图像生成模型,在几秒钟内生成图像。

更多资源

要了解有关 Amazon Titan 模型系列的更多信息,请访问 Amazon Titan 产品页面:

https://aws.amazon.com/bedrock/titan/

有关定价详情,请查看 Amazon Bedrock 定价:

https://aws.amazon.com/bedrock/pricing/

在 PartyRock 中试用 Amazon Titan 图像生成器,或在 Amazon Bedrock 控制台中探索其高级图像生成和编辑功能。通过 Amazon re:Post for Amazon Bedrock 或通过您的常用亚马逊云科技联系人发送反馈:

https://repost.aws/tags/TAQeKlaPaNRQ2tWB6P7KrMag/amazon-bedrock

如需更深入的技术内容以及与生成式 AI 构建者社区互动,请访问我们在亚马逊云科技社区上的生成式 AI 空间:

https://community.aws/generative-ai?trk=e8665609-785f-4bbe-86e8-750a3d3e9e61&sc_channel=el

本篇作者

ee7825a83f4f7646ae6dc3a9bcddad1a.jpeg

Antje Barth

亚马逊云科技生成式 AI 的首席开发推广师。她是 O 'Reilly 的书籍《亚马逊云科技的生成式 AI》和《亚马逊云科技的数据科学》的合著者。Antje 经常在世界各地的 AI/ML 会议、活动中发表演讲。她还共同创立了“大数据中的女性”塞尔多夫分会。

5fd6355ab74370acca19ec5194404984.gif

听说,点完下面4个按钮

就不会碰到bug了!

260e9276462d0031116481d264417f53.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值