Muitos clientes, incluindo aqueles de publicidade criativa, mídia e entretenimento, comércio eletrônico e moda, muitas vezes precisam alterar o plano de fundo em um grande número de imagens. Normalmente, isso envolve a edição manual de cada imagem com um software fotográfico. Isso pode exigir muito esforço, especialmente para grandes lotes de imagens. No entanto, Rocha Amazônica e Funções de etapa da AWS torne simples a automatização desse processo em grande escala.
Amazon Bedrock oferece o modelo de base de IA generativa Gerador de imagem Amazon Titan G1, que pode alterar automaticamente o plano de fundo de uma imagem usando uma técnica chamada pintura externa. Step Functions permite criar um fluxo de trabalho automatizado que se conecta perfeitamente ao Amazon Bedrock e outros serviços da AWS. Juntos, o Amazon Bedrock e o Step Functions simplificam todo o processo de alteração automática de planos de fundo em várias imagens.
Esta postagem apresenta uma solução que simplifica o processo de alteração de planos de fundo em múltiplas imagens. Ao aproveitar as capacidades de IA generativa com Amazon Bedrock e o modelo Titan Image Generator G1, combinado com Step Functions, esta solução gera de forma eficiente imagens com o fundo desejado. Esta postagem fornece informações sobre o funcionamento interno da solução e ajuda você a entender as escolhas de design feitas para construir sua própria solução personalizada.
veja a Repositório GitHub para obter instruções detalhadas sobre a implantação desta solução.
Visão geral da solução
Vejamos como a solução funciona em alto nível antes de nos aprofundarmos nos elementos específicos e nos serviços AWS usados. O diagrama a seguir fornece uma visão simplificada da arquitetura da solução e destaca os principais elementos.
O fluxo de trabalho consiste nas seguintes etapas:
- Um usuário carrega múltiplas imagens em um Serviço de armazenamento simples da Amazon (Amazon S3) por meio de um aplicativo da web Streamlit.
- O aplicativo da web Streamlit chama um Gateway de API da Amazon Endpoint da API REST integrado com o Reconhecimento da Amazônia API DetectLabels, que detecta rótulos para cada imagem.
- Após o envio, o aplicativo da web Streamlit atualiza um Amazon DynamoDB tabela com detalhes da imagem.
- A atualização do DynamoDB aciona um AWS Lambda function, que inicia um fluxo de trabalho do Step Functions.
- O fluxo de trabalho do Step Functions executa as seguintes etapas para cada imagem:
5.1 Constrói uma carga útil de solicitação para o Amazon BedrockInvokeModel
API.
5.2 Invoca o alicerce amazônicoInvokeModel
Ação da API.
5.3 Analisa uma imagem da resposta e a salva em um local S3.
5.4 Atualiza o status da imagem em uma tabela do DynamoDB. - O fluxo de trabalho do Step Functions invoca uma função Lambda para gerar um relatório de status.
- O fluxo de trabalho envia um email usando Serviço de notificação simples da Amazon (Amazônia SNS).
Conforme mostrado na captura de tela a seguir, o aplicativo da web Streamlit permite fazer upload de imagens e inserir prompts de texto para especificar os planos de fundo desejados, prompts negativos e modo de pintura externa para geração de imagens. Você também pode visualizar e remover rótulos indesejados associados a cada imagem enviada que você não deseja manter nas imagens finais geradas.
Neste exemplo, o prompt para o plano de fundo é “Fundo da cidade de Londres”. O processo de automação gera novas imagens com base nas imagens originais carregadas com Londres como plano de fundo.
Aplicativos da web Streamlit e uploads de imagens
Um aplicativo da web Streamlit serve como frontend para esta solução. Para proteger o aplicativo contra acesso não autorizado, ele se integra a um Amazon Cognito grupo de usuários. O API Gateway usa um Autorizador do Amazon Cognito para autenticar solicitações. O aplicativo da web conclui as seguintes etapas:
- Para cada imagem selecionada, ele recupera rótulos por meio do Amazon Rekognition usando um endpoint da API REST do API Gateway.
- Após o envio, o aplicativo carrega as imagens em um bucket S3.
- O aplicativo atualiza uma tabela do DynamoDB com parâmetros relevantes, nomes de imagens e rótulos associados para cada imagem usando outro endpoint da API REST do API Gateway.
Fluxo de trabalho de processamento de imagens
Quando a tabela do DynamoDB é atualizada, Streams do DynamoDB aciona uma função Lambda para iniciar um novo fluxo de trabalho do Step Functions. Veja a seguir um exemplo de solicitação para o fluxo de trabalho:
O fluxo de trabalho do Step Functions executa posteriormente as três etapas a seguir:
- Substitua o plano de fundo de todas as imagens.
- Gere um relatório de status.
- Envie um e-mail pelo Amazon SNS.
A captura de tela a seguir ilustra o fluxo de trabalho do Step Functions.
Vejamos cada etapa com mais detalhes.
Substitua o plano de fundo de todas as imagens
Step Functions usa um Mapa Distribuído para processar cada imagem em fluxos de trabalho filhos paralelos. O Mapa Distribuído permite processamento de alta simultaneidade. Cada fluxo de trabalho filho tem seu próprio histórico de execução separado daquele do fluxo de trabalho pai.
Step Functions usa um Ação de API otimizada InvokeModel para Amazon Bedrock. A API aceita solicitações e respostas de até 25 MB. No entanto, o Step Functions tem um limite de 256 KB na entrada e saída da carga útil do estado. Para suportar imagens maiores, a solução usa um bucket S3 onde o InvokeModel
API lê dados e grava o resultado. A seguir está a configuração do InvokeModel
API para integração do Amazon Bedrock:
A Input S3Uri
parâmetro especifica o local de origem para recuperar os dados de entrada. O Output S3Uri
parâmetro especifica o destino para gravar a resposta da API.
Uma função do Lambda salva a carga útil da solicitação como um arquivo JSON no local especificado. Input S3Uri
localização. o InvokeModel
A API usa esta carga de entrada para gerar imagens com o plano de fundo especificado:
O modelo Titan Image Generator G1 suporta os seguintes parâmetros para geração de imagens:
- tipo de tarefa – Especifica o método de pintura externa para substituir o plano de fundo da imagem.
- texto – Um prompt de texto para definir o plano de fundo.
- texto negativo – Um prompt de texto para definir o que não incluir na imagem.
- máscaraPrompt – Um prompt de texto que define a máscara. Corresponde aos rótulos que você deseja manter nas imagens finais geradas.
- máscaraImagem – A imagem JPEG ou PNG codificada em base64.
- outPaintingMode – Especifica se permite ou não a modificação dos pixels dentro da máscara. DEFAULT permite a modificação da imagem dentro da máscara para mantê-la consistente com o fundo reconstruído. PRECISE evita a modificação da imagem dentro da máscara.
- número de imagens – O número de imagens a serem geradas.
- qualidade – A qualidade das imagens geradas:
standard
orpremium
. - escala cfg – Especifica o quanto a imagem gerada deve aderir ao prompt.
- altura – A altura da imagem em pixels.
- largura – A largura da imagem em pixels.
A base amazônica InvokeModel
API gera uma resposta com uma imagem codificada no Output S3Uri
localização. Outra função do Lambda analisa a imagem da resposta, decodifica-a em base64 e salva o arquivo de imagem no seguinte local: s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/
.
Por fim, um fluxo de trabalho filho atualiza uma tabela do DynamoDB com o status de geração de imagem, marcando-a como Sucedido or fracassadoe incluindo detalhes como ImageName
, Cause
, Error
e Status
.
Gerar um relatório de status
Após o processo de geração de imagem, uma função Lambda recupera os detalhes do status do DynamoDB. Ele compila dinamicamente esses detalhes em um relatório de status abrangente no formato JSON. Em seguida, ele salva o relatório de status gerado em um arquivo JSON no seguinte local: s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/
. A equipe ITOps pode integrar este relatório ao sistema de notificação existente para rastrear se o processamento de imagens foi concluído com sucesso. Para usuários empresariais, você pode expandir ainda mais para gerar um relatório em formato CSV.
Envie um e-mail pelo Amazon SNS
Step Functions invoca uma ação da API do Amazon SNS para enviar um email. O e-mail contém detalhes, incluindo a localização do S3 para o relatório de status e os arquivos de imagens finais. A seguir está o exemplo de e-mail de notificação.
Conclusão
Nesta postagem, fornecemos uma visão geral de um exemplo de solução que demonstra a automação da alteração de planos de fundo de imagens em escala usando Amazon Bedrock e Step Functions. Também explicamos cada elemento da solução em detalhes. Ao usar a integração otimizada do Step Functions com Amazon Bedrock, Distributed Map e o modelo Titan Image Generator G1, a solução substitui eficientemente os planos de fundo das imagens em paralelo, aumentando a produtividade e a escalabilidade.
Para implantar a solução, consulte as instruções no Repositório GitHub.
Recursos
Para saber mais sobre o Amazon Bedrock, consulte os seguintes recursos:
Para saber mais sobre o modelo Titan Image Generator G1, consulte os seguintes recursos:
Para saber mais sobre como usar o Amazon Bedrock com Step Functions, consulte os seguintes recursos:
Sobre o autor
Chetan Makvana é arquiteto de soluções sênior da Amazon Web Services. Ele trabalha com parceiros e clientes da AWS para fornecer orientação arquitetônica para a construção de arquitetura escalável e implementação de estratégias para impulsionar a adoção de serviços da AWS. Ele é um entusiasta de tecnologia e um construtor com uma área central de interesse em IA generativa, serverless e DevOps. Fora do trabalho, ele gosta de assistir shows, viajar e ouvir música.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/automate-the-process-to-change-image-backgrounds-using-amazon-bedrock-and-aws-step-functions/
- :tem
- :é
- :não
- :onde
- $UP
- 1
- 130
- 14
- 22
- 25
- 32
- 7
- 8
- a
- Sobre
- Aceita
- Acesso
- em
- Açao Social
- aderir
- Adoção
- Adulto
- Publicidade
- AI
- Todos os Produtos
- permitir
- permite
- tb
- Amazon
- Reconhecimento da Amazônia
- Amazon Web Services
- an
- e
- Outro
- api
- Aplicação
- arquitetônico
- arquitetura
- SOMOS
- ÁREA
- AS
- associado
- At
- autenticar
- automatizar
- Automatizado
- automaticamente
- Automação
- AWS
- Funções de etapa da AWS
- fundo
- fundos
- baseado
- antes
- construir
- construtor
- Prédio
- ônibus
- negócio
- by
- chamado
- chamadas
- CAN
- capacidades
- alterar
- mudança
- criança
- escolhas
- Cidades
- combinado
- Efetuado
- Completa
- compreensivo
- Configuração
- conecta
- consistente
- consiste
- construções
- contém
- núcleo
- corresponde
- crio
- Criatividade
- personalizadas
- Clientes
- dados,
- mais profunda
- Padrão
- definir
- Define
- demonstrando
- implantar
- Implantação
- Design
- desejado
- destino
- detalhe
- detalhado
- detalhes
- diagrama
- distribuído
- mergulho
- Cachorro
- não
- distância
- dinamicamente
- cada
- Loja virtual
- eficientemente
- esforço
- ou
- elemento
- elementos
- codificado
- Ponto final
- aprimorando
- Entrar
- Entretenimento
- entusiasta
- Todo
- especialmente
- exemplo
- existente
- Expandir
- explicado
- Moda
- Envie o
- Arquivos
- final
- seguinte
- Escolha
- formato
- Foundation
- da
- Frontend
- função
- funções
- mais distante
- g1
- porta de entrada
- gerar
- gerado
- gera
- geração
- generativo
- IA generativa
- gerador
- orientações
- Aproveitamento
- he
- altura
- ajuda
- Alta
- destaques
- história
- Como funciona o dobrador de carta de canal
- Contudo
- HTML
- HTTPS
- ID
- if
- ilustra
- imagem
- imagens
- implementação
- in
- incluir
- Incluindo
- interior
- entrada
- dentro
- introspecção
- instruções
- integrar
- integrado
- Integra-se
- integração
- interesse
- para dentro
- Introduz
- invoca
- envolve
- IT
- ESTÁ
- jpg
- json
- Guarda
- Chave
- Rótulos
- grande
- Maior
- APRENDER
- Nível
- LIMITE
- localização
- London
- olhar
- lote
- Baixo
- moldadas
- fazer
- masculina
- homem
- manualmente
- mapa,
- marca��o
- máscara
- Mídia
- método
- Moda
- modelo
- mais
- múltiplo
- Música
- nomes
- você merece...
- negativo
- Novo
- notificação
- número
- of
- Oferece
- frequentemente
- on
- otimizado
- or
- ordem
- original
- Outros
- saída
- lado de fora
- Visão geral
- próprio
- Paralelo
- parâmetro
- parâmetros
- Parceiros
- executa
- pessoa
- foto
- platão
- Inteligência de Dados Platão
- PlatãoData
- piscina
- Publique
- preciso
- Premium
- impede
- processo
- em processamento
- produtividade
- solicita
- proteger
- fornecer
- fornecido
- fornece
- qualidade
- referir
- relevante
- remover
- substituir
- Denunciar
- solicitar
- pedidos
- Resolução
- Recursos
- resposta
- respostas
- DESCANSO
- resultar
- reter
- Execute
- é executado
- amostra
- AMPLIAR
- escalável
- Escala
- sem problemas
- Vejo
- selecionado
- enviar
- envia
- senior
- separado
- Serverless
- serve
- Serviços
- rede de apoio social
- mostrando
- Shows
- simples
- simplificada
- simplifica
- Software
- solução
- Soluções
- fonte
- específico
- especificada
- começo
- começa
- Estado
- Status
- Passo
- Passos
- armazenamento
- franco
- estratégias
- simplificar
- Tanga
- discordaram
- submissão
- Subseqüentemente
- entraram com sucesso
- tal
- ajuda
- suportes
- .
- mesa
- Tire
- Profissionais
- técnica
- Tecnologia
- texto
- que
- A
- A fonte
- deles
- Eles
- então
- Este
- isto
- aqueles
- três
- titã
- para
- juntos
- pista
- Viagens
- tipicamente
- não autorizado
- compreender
- não desejado
- Atualizar
- Atualizada
- Atualizações
- carregado
- usava
- Utilizador
- usuários
- usos
- utilização
- via
- Ver
- queremos
- assistindo
- we
- web
- Aplicativo da Web
- serviços web
- O Quê
- se
- qual
- largura
- de
- Atividades:
- de gestão de documentos
- fluxos de trabalho
- funcionamento
- trabalho
- escrever
- Vocês
- zefirnet