Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Services Web Amazon

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Services Web Amazon

Socle amazonien propose une large gamme de modèles de base très performants d'Amazon et d'autres grandes sociétés d'IA, notamment Anthropique, AI21, Meta, Adhéreret une IA de stabilité, et couvre un large éventail de cas d'utilisation, notamment la génération de texte et d'images, la recherche, le chat, le raisonnement et les agents agissant, et bien plus encore. Le nouveau Générateur d'images Amazon Titan Le modèle permet aux créateurs de contenu de générer rapidement des images réalistes et de haute qualité à l’aide de simples invites de texte en anglais. Le modèle d'IA avancé comprend les instructions complexes avec plusieurs objets et renvoie des images de qualité studio adaptées à publicité, le commerce électronique et divertissement. Les fonctionnalités clés incluent la possibilité d'affiner les images en itérant sur les invites, l'édition automatique en arrière-plan et la génération de plusieurs variantes de la même scène. Les créateurs peuvent également personnaliser le modèle avec leurs propres données pour produire des images de marque dans un style spécifique. Il est important de noter que Titan Image Generator dispose de protections intégrées, comme des filigranes invisibles sur toutes les images générées par l'IA, pour encourager utilisation responsable et atténuer la propagation de la désinformation. Cette technologie innovante permet de produire des images personnalisées en grand volume pour toute industrie plus accessible et efficace.

Le nouveau système d’ Intégrations multimodales Amazon Titan Le modèle permet de créer une recherche et des recommandations plus précises en comprenant le texte, les images ou les deux. Il convertit les images et le texte anglais en vecteurs sémantiques, capturant le sens et les relations dans vos données. Vous pouvez combiner du texte et des images comme des descriptions de produits et des photos pour identifier les articles plus efficacement. Les vecteurs permettent des expériences de recherche rapides et précises. Titan Multimodal Embeddings est flexible en termes de dimensions vectorielles, permettant une optimisation pour les besoins de performances. Une API asynchrone et Service Amazon OpenSearch Le connecteur facilite l'intégration du modèle dans vos applications de recherche neuronale.

Dans cet article, nous expliquons comment utiliser les modèles Titan Image Generator et Titan Multimodal Embeddings via le SDK AWS Python.

Génération et édition d'images

Dans cette section, nous démontrons les modèles de codage de base permettant d'utiliser le kit AWS SDK pour générer de nouvelles images et effectuer des modifications basées sur l'IA sur des images existantes. Des exemples de code sont fournis en Python et JavaScript (Node.js) est également disponible dans ce GitHub référentiel.

Avant de pouvoir écrire des scripts qui utilisent l'API Amazon Bedrock, vous devez installer la version appropriée du kit SDK AWS dans votre environnement. Pour les scripts Python, vous pouvez utiliser le AWS SDK pour Python (Boto3). Les utilisateurs de Python peuvent également souhaiter installer le Module oreiller, qui facilite les opérations sur les images telles que le chargement et l'enregistrement d'images. Pour les instructions de configuration, reportez-vous au GitHub référentiel.

De plus, activez l’accès aux modèles Amazon Titan Image Generator et Titan Multimodal Embeddings. Pour plus d'informations, reportez-vous à Accès au modèle.

Fonctions d'assistance

La fonction suivante configure le client d'exécution Amazon Bedrock Boto3 et génère des images en prenant des charges utiles de différentes configurations (dont nous parlerons plus loin dans cet article) :

import boto3
import json, base64, io
from random import randint
from PIL import Image bedrock_runtime_client = boto3.client("bedrock-runtime") def titan_image( payload: dict, num_image: int = 2, cfg: float = 10.0, seed: int = None, modelId: str = "amazon.titan-image-generator-v1",
) -> list: # ImageGenerationConfig Options: # - numberOfImages: Number of images to be generated # - quality: Quality of generated images, can be standard or premium # - height: Height of output image(s) # - width: Width of output image(s) # - cfgScale: Scale for classifier-free guidance # - seed: The seed to use for reproducibility seed = seed if seed is not None else randint(0, 214783647) body = json.dumps( { **payload, "imageGenerationConfig": { "numberOfImages": num_image, # Range: 1 to 5 "quality": "premium", # Options: standard/premium "height": 1024, # Supported height list above "width": 1024, # Supported width list above "cfgScale": cfg, # Range: 1.0 (exclusive) to 10.0 "seed": seed, # Range: 0 to 214783647 }, } ) response = bedrock_runtime_client.invoke_model( body=body, modelId=modelId, accept="application/json", contentType="application/json", ) 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") ] return images 

Générer des images à partir de texte

Les scripts qui génèrent une nouvelle image à partir d'une invite de texte suivent ce modèle d'implémentation :

  1. Configurez une invite de texte et une invite de texte négatif facultative.
  2. Utilisez l'option BedrockRuntime client pour invoquer le modèle Titan Image Generator.
  3. Analysez et décodez la réponse.
  4. Enregistrez les images résultantes sur le disque.

Texte à image

Ce qui suit est un script de génération d'image typique pour le modèle Titan Image Generator :

# Text Variation
# textToImageParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
images = titan_image( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": "two dogs walking down an urban street, facing the camera", # Required "negativeText": "cars", # Optional }, }
)

Cela produira des images similaires à celles suivantes.

Image de réponse 1 Image de réponse 2
2 chiens marchant dans la rue 2 chiens marchant dans la rue

Variantes d'images

La variation d'image permet de générer des variantes subtiles d'une image existante. L'extrait de code suivant utilise l'une des images générées dans l'exemple précédent pour créer des variantes d'images :

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # Image Variation
# ImageVariationParams Options:
#   text: prompt to guide the model on how to generate variations
#   negativeText: prompts to guide the model on what you don't want in image
#   images: base64 string representation of the input image, only 1 is supported
images = titan_image( { "taskType": "IMAGE_VARIATION", "imageVariationParams": { "text": "two dogs walking down an urban street, facing the camera", # Required "images": [input_image], # One image is required "negativeText": "cars", # Optional }, },
)

Cela produira des images similaires à celles suivantes.

Image originale Image de réponse 1 Image de réponse 2
2 chiens marchant dans la rue Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Modifier une image existante

Le modèle Titan Image Generator vous permet d'ajouter, de supprimer ou de remplacer des éléments ou des zones dans une image existante. Vous spécifiez la zone à affecter en fournissant l'un des éléments suivants :

  • Image de masque – Une image de masque est une image binaire dans laquelle les pixels de valeur 0 représentent la zone que vous souhaitez affecter et les pixels de valeur 255 représentent la zone qui doit rester inchangée.
  • Invite de masque – Une invite de masque est une description textuelle en langage naturel des éléments que vous souhaitez affecter, qui utilise un modèle de texte-segmentation interne.

Pour plus d'informations, reportez-vous à Directives d'ingénierie rapides.

Les scripts qui appliquent une modification à une image suivent ce modèle d'implémentation :

  1. Chargez l'image à modifier à partir du disque.
  2. Convertissez l'image en une chaîne codée en base64.
  3. Configurez le masque via l'une des méthodes suivantes :
    1. Chargez une image de masque à partir du disque, en la codant en base64 et en la définissant comme maskImage paramètre.
    2. Met le maskText paramètre à une description textuelle des éléments à affecter.
  4. Spécifiez le nouveau contenu à générer à l'aide de l'une des options suivantes :
    1. Pour ajouter ou remplacer un élément, définissez le text paramètre à une description du nouveau contenu.
    2. Pour supprimer un élément, omettez le text paramètre complètement.
  5. Utilisez l'option BedrockRuntime client pour invoquer le modèle Titan Image Generator.
  6. Analysez et décodez la réponse.
  7. Enregistrez les images résultantes sur le disque.

Édition d'objets : Inpainting avec une image de masque

Ce qui suit est un script d'édition d'image typique pour le modèle Titan Image Generator utilisant maskImage. Nous prenons l'une des images générées précédemment et fournissons une image de masque, où les pixels de valeur 0 sont rendus en noir et les pixels de valeur 255 en blanc. Nous remplaçons également l'un des chiens de l'image par un chat à l'aide d'une invite texte.

with open("<YOUR_MASK_IMAGE_FILE_PATH>", "rb") as image_file: mask_image = base64.b64encode(image_file.read()).decode("utf8") # Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_ORIGINAL_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # Inpainting
# inPaintingParams Options:
#   text: prompt to guide inpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask images = titan_image( { "taskType": "INPAINTING", "inPaintingParams": { "text": "a cat", # Optional "negativeText": "bad quality, low res", # Optional "image": input_image, # Required "maskImage": mask_image, }, }, num_image=3,
)

Cela produira des images similaires à celles suivantes.

Image originale Image du masque Image modifiée
2 chiens marchant dans la rue Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. chat et chien marchant dans la rue

Suppression d'objet : Inpainting avec une invite de masque

Dans un autre exemple, nous utilisons maskPrompt pour spécifier un objet dans l'image, issu des étapes précédentes, à modifier. En omettant l'invite de texte, l'objet sera supprimé :

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") images = titan_image( { "taskType": "INPAINTING", "inPaintingParams": { "negativeText": "bad quality, low res", # Optional "image": input_image, # Required "maskPrompt": "white dog", # One of "maskImage" or "maskPrompt" is required }, },
)

Cela produira des images similaires à celles suivantes.

Image originale Image de réponse
2 chiens marchant dans la rue un chien qui marche dans la rue

Édition d'arrière-plan : Outpainting

L'outpainting est utile lorsque vous souhaitez remplacer l'arrière-plan d'une image. Vous pouvez également étendre les limites d'une image pour un effet de zoom arrière. Dans l'exemple de script suivant, nous utilisons maskPrompt de préciser quel objet conserver ; vous pouvez aussi utiliser maskImage. Le paramètre outPaintingMode spécifie s'il faut autoriser la modification des pixels à l'intérieur du masque. Si défini comme DEFAULT, les pixels à l'intérieur du masque peuvent être modifiés afin que l'image reconstruite soit globalement cohérente. Cette option est recommandée si le maskImage fourni ne représente pas l'objet avec une précision au niveau du pixel. Si défini comme PRECISE, la modification des pixels à l'intérieur du masque est empêchée. Cette option est recommandée si vous utilisez un maskPrompt ou maskImage qui représente l'objet avec une précision au niveau du pixel.

# Import an input image like this (only PNG/JPEG supported):
with open("<YOUR_IMAGE_FILE_PATH>", "rb") as image_file: input_image = base64.b64encode(image_file.read()).decode("utf8") # OutPaintingParams Options:
#   text: prompt to guide outpainting
#   negativeText: prompts to guide the model on what you don't want in image
#   image: base64 string representation of the input image
#   maskImage: base64 string representation of the input mask image
#   maskPrompt: prompt used for auto editing to generate mask
#   outPaintingMode: DEFAULT | PRECISE
images = titan_image( { "taskType": "OUTPAINTING", "outPaintingParams": { "text": "forest", # Required "image": input_image, # Required "maskPrompt": "dogs", # One of "maskImage" or "maskPrompt" is required "outPaintingMode": "PRECISE", # One of "PRECISE" or "DEFAULT" }, }, num_image=3,
)

Cela produira des images similaires à celles suivantes.

Image originale Texte Image de réponse
2 chiens marchant dans la rue "plage" un chien qui marche sur la plage
2 chiens marchant dans la rue "forêt" Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

De plus, les effets de différentes valeurs pour outPaintingMode, avec une maskImage qui ne décrit pas l'objet avec une précision au niveau du pixel, sont les suivants.

Cette section vous a donné un aperçu des opérations que vous pouvez effectuer avec le modèle Titan Image Generator. Plus précisément, ces scripts démontrent des tâches de conversion texte-image, de variation d'image, d'inpainting et d'outpainting. Vous devriez être en mesure d'adapter les modèles à vos propres applications en faisant référence aux détails des paramètres pour les types de tâches détaillés dans Documentation du générateur d'images Amazon Titan.

Intégration et recherche multimodales

Vous pouvez utiliser le modèle Amazon Titan Multimodal Embeddings pour des tâches d'entreprise telles que la recherche d'images et les recommandations basées sur la similarité, et il dispose d'une atténuation intégrée qui permet de réduire les biais dans les résultats de recherche. Il existe plusieurs tailles de dimension d'intégration pour obtenir les meilleurs compromis entre latence et précision pour différents besoins, et toutes peuvent être personnalisées avec une simple API pour s'adapter à vos propres données tout en préservant la sécurité et la confidentialité des données. Amazon Titan Multimodal Embeddings est fourni sous forme d'API simples pour les applications de recherche et de recommandation de transformation par lots en temps réel ou asynchrones, et peut être connecté à différentes bases de données vectorielles, notamment Service Amazon OpenSearch.

Fonctions d'assistance

La fonction suivante convertit une image, et éventuellement du texte, en intégrations multimodales :

def titan_multimodal_embedding( image_path: str = None, # maximum 2048 x 2048 pixels description: str = None, # English only and max input tokens 128 dimension: int = 1024, # 1,024 (default), 384, 256 model_id: str = "amazon.titan-embed-image-v1",
): payload_body = {} embedding_config: dict = {"embeddingConfig": {"outputEmbeddingLength": dimension}} # You can specify either text or image or both if image_path: # Maximum image size supported is 2048 x 2048 pixels with open(image_path, "rb") as image_file: payload_body["inputImage"] = base64.b64encode(image_file.read()).decode( "utf8" ) if description: payload_body["inputText"] = description assert payload_body, "please provide either an image and/or a text description" print("n".join(payload_body.keys())) response = bedrock_runtime_client.invoke_model( body=json.dumps({**payload_body, **embedding_config}), modelId=model_id, accept="application/json", contentType="application/json", ) return json.loads(response.get("body").read())

La fonction suivante renvoie les principales intégrations multimodales similaires en fonction d'une requête d'intégrations multimodales. Notez qu'en pratique, vous pouvez utiliser une base de données vectorielles gérée, telle qu'OpenSearch Service. L'exemple suivant est à titre d'illustration :

from scipy.spatial.distance import cdist
import numpy as np def search(query_emb: np.array, indexes: np.array, top_k: int = 1): dist = cdist(query_emb, indexes, metric="cosine") return dist.argsort(axis=-1)[0, :top_k], np.sort(dist, axis=-1)[:top_k]

Ensemble de données synthétiques

À des fins d’illustration, nous utilisons Modèle Claude 2.1 d'Anthropic dans Amazon Bedrock pour générer aléatoirement sept produits différents, chacun avec trois variantes, en utilisant l'invite suivante :

Generate a list of 7 items description for an online e-commerce shop, each comes with 3 variants of color or type. All with separate full sentence description.

Voici la liste des sorties renvoyées :

1. T-shirt
- A red cotton t-shirt with a crew neck and short sleeves.
- A blue cotton t-shirt with a v-neck and short sleeves.
- A black polyester t-shirt with a scoop neck and cap sleeves. 2. Jeans
- Classic blue relaxed fit denim jeans with a mid-rise waist.
- Black skinny fit denim jeans with a high-rise waist and ripped details at the knees.
- Stonewash straight leg denim jeans with a standard waist and front pockets. 3. Sneakers
- White leather low-top sneakers with an almond toe cap and thick rubber outsole.
- Gray mesh high-top sneakers with neon green laces and a padded ankle collar.
- Tan suede mid-top sneakers with a round toe and ivory rubber cupsole. 4. Backpack
- A purple nylon backpack with padded shoulder straps, front zipper pocket and laptop sleeve.
- A gray canvas backpack with brown leather trims, side water bottle pockets and drawstring top closure.
- A black leather backpack with multiple interior pockets, top carry handle and adjustable padded straps. 5. Smartwatch
- A silver stainless steel smartwatch with heart rate monitor, GPS tracker and sleep analysis.
- A space gray aluminum smartwatch with step counter, phone notifications and calendar syncing.
- A rose gold smartwatch with activity tracking, music controls and customizable watch faces. 6. Coffee maker
- A 12-cup programmable coffee maker in brushed steel with removable water tank and keep warm plate.
- A compact 5-cup single serve coffee maker in matt black with travel mug auto-dispensing feature.
- A retro style stovetop percolator coffee pot in speckled enamel with stay-cool handle and glass knob lid. 7. Yoga mat
- A teal 4mm thick yoga mat made of natural tree rubber with moisture-wicking microfiber top.
- A purple 6mm thick yoga mat made of eco-friendly TPE material with integrated carrying strap.
- A patterned 5mm thick yoga mat made of PVC-free material with towel cover included.

Attribuez la réponse ci-dessus à la variable response_cat. Ensuite, nous utilisons le modèle Titan Image Generator pour créer des images de produits pour chaque article :

import re def extract_text(input_string): pattern = r"- (.*?)($|n)" matches = re.findall(pattern, input_string) extracted_texts = [match[0] for match in matches] return extracted_texts product_description = extract_text(response_cat) titles = []
for prompt in product_description: images = titan_image( { "taskType": "TEXT_IMAGE", "textToImageParams": { "text": prompt, # Required }, }, num_image=1, ) title = "_".join(prompt.split()[:4]).lower() titles.append(title) images[0].save(f"{title}.png", format="png")

Toutes les images générées se trouvent en annexe à la fin de cet article.

Indexation multimodale des ensembles de données

Utilisez le code suivant pour l'indexation multimodale des ensembles de données :

multimodal_embeddings = []
for image_filename, description in zip(titles, product_description): embedding = titan_multimodal_embedding(f"{image_filename}.png", dimension=1024)["embedding"] multimodal_embeddings.append(embedding)

Recherche multimodale

Utilisez le code suivant pour la recherche multimodale :

query_prompt = "<YOUR_QUERY_TEXT>"
query_embedding = titan_multimodal_embedding(description=query_prompt, dimension=1024)["embedding"]
# If searching via Image
# query_image_filename = "<YOUR_QUERY_IMAGE>"
# query_emb = titan_multimodal_embedding(image_path=query_image_filename, dimension=1024)["embedding"]
idx_returned, dist = search(np.array(query_embedding)[None], np.array(multimodal_embeddings))

Voici quelques résultats de recherche.

Conclusion

L'article présente les modèles Amazon Titan Image Generator et Amazon Titan Multimodal Embeddings. Titan Image Generator vous permet de créer des images personnalisées de haute qualité à partir d'invites textuelles. Les fonctionnalités clés incluent l'itération sur les invites, l'édition automatique en arrière-plan et la personnalisation des données. Il dispose de garanties telles que des filigranes invisibles pour encourager une utilisation responsable. Titan Multimodal Embeddings convertit le texte, les images ou les deux en vecteurs sémantiques pour alimenter des recherches et des recommandations précises. Nous avons ensuite fourni des exemples de code Python pour utiliser ces services et démontré la génération d'images à partir d'invites de texte et l'itération sur ces images ; modifier des images existantes en ajoutant, supprimant ou remplaçant des éléments spécifiés par des images de masque ou du texte de masque ; créer des intégrations multimodales à partir de texte, d'images ou des deux ; et rechercher des intégrations multimodales similaires à une requête. Nous avons également démontré l'utilisation d'un ensemble de données synthétiques de commerce électronique indexé et recherché à l'aide de Titan Multimodal Embeddings. L'objectif de cet article est de permettre aux développeurs de commencer à utiliser ces nouveaux services d'IA dans leurs applications. Les modèles de code peuvent servir de modèles pour des implémentations personnalisées.

Tout le code est disponible sur le GitHub référentiel. Pour plus d'informations, reportez-vous au Guide de l'utilisateur d'Amazon Bedrock.


À propos des auteurs

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Rohit Mittal est chef de produit principal chez Amazon AI, qui crée des modèles de base multimodaux. Il a récemment dirigé le lancement du modèle Amazon Titan Image Generator dans le cadre du service Amazon Bedrock. Expérimenté en IA/ML, NLP et recherche, il souhaite créer des produits qui résolvent les problèmes des clients grâce à une technologie innovante.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Ashwin Swaminathan est un chercheur, ingénieur et gestionnaire en vision par ordinateur et en apprentissage automatique avec plus de 12 ans d'expérience dans l'industrie et plus de 5 ans d'expérience en recherche universitaire. Des fondamentaux solides et une capacité avérée à acquérir rapidement des connaissances et à contribuer à des domaines nouveaux et émergents.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Yusheng Xie est chercheur appliqué principal chez Amazon AGI. Son travail se concentre sur la construction de modèles de fondation multimodaux. Avant de rejoindre AGI, il dirigeait divers développements d'IA multimodaux chez AWS, tels que Amazon Titan Image Generator et Amazon Textract Queries.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Hao Yang est chercheur appliqué principal chez Amazon. Ses principaux intérêts de recherche sont la détection d'objets et l'apprentissage avec des annotations limitées. En dehors du travail, Hao aime regarder des films, photographier et pratiquer des activités de plein air.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Davide Modolo est responsable des sciences appliquées chez Amazon AGI, travaillant à la création de grands modèles fondamentaux multimodaux. Avant de rejoindre Amazon AGI, il a été manager/responsable pendant 7 ans chez AWS AI Labs (Amazon Bedrock et Amazon Rekognition). En dehors du travail, il aime voyager et pratiquer tout type de sport, notamment le football.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Baichuan Sun, est actuellement architecte principal de solutions IA/ML chez AWS, se concentrant sur l'IA générative et applique ses connaissances en science des données et en apprentissage automatique pour fournir des solutions commerciales pratiques basées sur le cloud. Fort de son expérience en conseil en gestion et en architecture de solutions d'IA, il relève une gamme de défis complexes, notamment la vision par ordinateur robotique, la prévision de séries chronologiques et la maintenance prédictive, entre autres. Son travail s'appuie sur une solide expérience en gestion de projet, en R&D de logiciels et en activités académiques. En dehors du travail, le Dr Sun aime voyager et passer du temps avec sa famille et ses amis.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Kai Zhu travaille actuellement en tant qu'ingénieur de support cloud chez AWS, aidant les clients avec des problèmes liés aux services liés à l'IA/ML comme SageMaker, Bedrock, etc. Il est un expert en la matière SageMaker. Expérimenté en science des données et en ingénierie des données, il s'intéresse à la construction de projets génératifs basés sur l'IA.

Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Kris Schultz a passé plus de 25 ans à donner vie à des expériences utilisateur engageantes en combinant des technologies émergentes avec un design de classe mondiale. Dans son rôle de chef de produit senior, Kris aide à concevoir et à créer des services AWS pour alimenter les médias et le divertissement, les jeux et l'informatique spatiale.


Appendice

Dans les sections suivantes, nous présentons des exemples de cas d'utilisation difficiles tels que l'insertion de texte, les mains et les réflexions pour mettre en évidence les capacités du modèle Titan Image Generator. Nous incluons également les exemples d’images de sortie produites dans les exemples précédents.

Texte

Le modèle Titan Image Generator excelle dans les flux de travail complexes tels que l'insertion de texte lisible dans des images. Cet exemple démontre la capacité de Titan à restituer clairement les lettres majuscules et minuscules dans un style cohérent au sein d'une image.

un corgi portant une casquette de baseball avec le texte « genai » un garçon heureux levant le pouce, portant un t-shirt avec le texte « IA générative »
Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Mains

Le modèle Titan Image Generator a également la capacité de générer des images IA détaillées. L’image montre des mains et des doigts réalistes avec des détails visibles, allant au-delà de la génération d’images IA plus basiques qui peuvent manquer d’une telle spécificité. Dans les exemples suivants, remarquez la représentation précise de la pose et de l’anatomie.

la main d'une personne vue d'en haut un examen attentif des mains d'une personne tenant une tasse de café
Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Miroir

Les images générées par le modèle Titan Image Generator organisent spatialement les objets et reflètent avec précision les effets de miroir, comme le démontrent les exemples suivants.

Un joli chat blanc moelleux se tient sur ses pattes arrière, scrutant curieusement dans un miroir doré orné. Dans le reflet, le chat se voit beau lac de ciel avec des reflets sur l'eau
Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï. Utiliser les modèles Amazon Titan pour la génération, l'édition et la recherche d'images | Amazon Web Services PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Images de produits synthétiques

Voici les images de produits générées plus tôt dans cet article pour le modèle Titan Multimodal Embeddings.

Horodatage:

Plus de Apprentissage automatique AWS