Mulți clienți, inclusiv cei din publicitate creativă, media și divertisment, comerț electronic și modă, au adesea nevoie să schimbe fundalul într-un număr mare de imagini. De obicei, aceasta implică editarea manuală a fiecărei imagini cu un software foto. Acest lucru poate necesita mult efort, mai ales pentru loturi mari de imagini. In orice caz, Amazon Bedrock și Funcții pas AWS simplificați automatizarea acestui proces la scară.
Amazon Bedrock oferă modelul de fundație generativ AI Amazon Titan Image Generator G1, care poate schimba automat fundalul unei imagini folosind o tehnică numită pictura. Step Functions vă permite să creați un flux de lucru automat care se conectează perfect cu Amazon Bedrock și alte servicii AWS. Împreună, Amazon Bedrock și Step Functions simplifică întregul proces de schimbare automată a fundalurilor pe mai multe imagini.
Această postare prezintă o soluție care simplifică procesul de schimbare a fundalurilor în mai multe imagini. Prin valorificarea capacităţilor de AI generativă cu Amazon Bedrock și modelul Titan Image Generator G1, combinat cu Step Functions, această soluție generează eficient imagini cu fundalul dorit. Această postare oferă o perspectivă asupra funcționării interioare a soluției și vă ajută să înțelegeți alegerile de proiectare făcute pentru a construi această soluție personalizată.
A se vedea GitHub depozit pentru instrucțiuni detaliate despre implementarea acestei soluții.
Prezentare generală a soluțiilor
Să ne uităm la modul în care soluția funcționează la un nivel înalt înainte de a ne aprofunda elementele specifice și serviciile AWS utilizate. Următoarea diagramă oferă o vedere simplificată a arhitecturii soluției și evidențiază elementele cheie.
Fluxul de lucru constă din următorii pași:
- Un utilizator încarcă mai multe imagini într-un Serviciul Amazon de stocare simplă (Amazon S3) prin intermediul unei aplicații web Streamlit.
- Aplicația web Streamlit apelează un Gateway API Amazon Punct final API REST integrat cu Amazon Rekognition API DetectLabels, care detectează etichete pentru fiecare imagine.
- La trimitere, aplicația web Streamlit actualizează un Amazon DynamoDB tabel cu detalii imagini.
- Actualizarea DynamoDB declanșează un AWS Lambdas funcția, care pornește un flux de lucru Step Functions.
- Fluxul de lucru Step Functions rulează următorii pași pentru fiecare imagine:
5.1 Construiește o sarcină utilă de solicitare pentru Amazon BedrockInvokeModel
API-ul.
5.2 Invocă Amazon BedrockInvokeModel
Acțiune API.
5.3 Analizează o imagine din răspuns și o salvează într-o locație S3.
5.4 Actualizează starea imaginii într-un tabel DynamoDB. - Fluxul de lucru Step Functions invocă o funcție Lambda pentru a genera un raport de stare.
- Fluxul de lucru trimite un e-mail folosind Serviciul de notificare simplă Amazon (Amazon SNS).
După cum se arată în următoarea captură de ecran, aplicația web Streamlit vă permite să încărcați imagini și să introduceți solicitări de text pentru a specifica fundalurile dorite, solicitările negative și modul de desenare pentru generarea imaginilor. De asemenea, puteți vizualiza și elimina etichetele nedorite asociate fiecărei imagini încărcate pe care nu doriți să le păstrați în imaginile finale generate.
În acest exemplu, solicitarea pentru fundal este „Fondul orașului Londra”. Procesul de automatizare generează noi imagini bazate pe imaginile originale încărcate cu Londra ca fundal.
Aplicații web simplificate și încărcări de imagini
O aplicație web Streamlit servește drept interfață pentru această soluție. Pentru a proteja aplicația de accesul neautorizat, se integrează cu un Amazon Cognito grup de utilizatori. API Gateway utilizează un Autorizator Amazon Cognito pentru autentificarea cererilor. Aplicația web parcurge următorii pași:
- Pentru fiecare imagine selectată, preia etichetele prin Amazon Rekognition folosind un punct final API REST API Gateway.
- La trimitere, aplicația încarcă imagini într-o găleată S3.
- Aplicația actualizează un tabel DynamoDB cu parametri relevanți, nume de imagini și etichete asociate pentru fiecare imagine folosind un alt punct final API REST API Gateway.
Flux de lucru pentru procesarea imaginilor
Când tabelul DynamoDB este actualizat, Fluxuri DynamoDB declanșează o funcție Lambda pentru a începe un nou flux de lucru Step Functions. Mai jos este un exemplu de solicitare pentru fluxul de lucru:
Fluxul de lucru Step Functions efectuează ulterior următorii trei pași:
- Înlocuiți fundalul pentru toate imaginile.
- Generați un raport de stare.
- Trimiteți un e-mail prin Amazon SNS.
Următoarea captură de ecran ilustrează fluxul de lucru Step Functions.
Să ne uităm la fiecare pas mai detaliat.
Înlocuiți fundalul pentru toate imaginile
Step Functions folosește a Harta distribuita pentru a procesa fiecare imagine în fluxuri de lucru secundare paralele. Harta distribuită permite procesarea cu concurență ridicată. Fiecare flux de lucru copil are propriul său istoric de rulare separat de cel al fluxului de lucru părinte.
Step Functions folosește un Acțiune API optimizată InvokeModel pentru Amazon Bedrock. API-ul acceptă solicitări și răspunsuri de până la 25 MB. Cu toate acestea, Step Functions are o limită de 256 KB pentru intrarea și ieșirea sarcinii utile de stat. Pentru a suporta imagini mai mari, soluția folosește o găleată S3 unde InvokeModel
API citește date de la și scrie rezultatul în. Următoarea este configurația pentru InvokeModel
API pentru integrarea Amazon Bedrock:
Input S3Uri
parametrul specifică locația sursei pentru a prelua datele de intrare. The Output S3Uri
parametrul specifică destinația pentru a scrie răspunsul API.
O funcție Lambda salvează sarcina utilă a cererii ca fișier JSON în fișierul specificat Input S3Uri
Locație. The InvokeModel
API folosește această sarcină utilă de intrare pentru a genera imagini cu fundalul specificat:
Modelul Titan Image Generator G1 acceptă următorii parametri pentru generarea imaginilor:
- taskType – Specifică metoda de pictură pentru a înlocui fundalul imaginii.
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match. – O solicitare text pentru a defini fundalul.
- text negativ – O solicitare text pentru a defini ce să nu includă în imagine.
- maskPrompt – Un mesaj text care definește masca. Ea corespunde etichetelor pe care doriți să le păstrați în imaginile finale generate.
- mascaImagine – Imaginea JPEG sau PNG codificată în base64.
- outPaintingMode – Specifică dacă se permite modificarea pixelilor din interiorul măștii sau nu. DEFAULT permite modificarea imaginii din interiorul măștii pentru a o menține în concordanță cu fundalul reconstruit. PRECISE previne modificarea imaginii din interiorul măștii.
- numărDeImagini – Numărul de imagini de generat.
- calitate – Calitatea imaginilor generate:
standard
orpremium
. - cfgScale – Specifică cât de puternic ar trebui să adere imaginea generată la prompt.
- înălțime – Înălțimea imaginii în pixeli.
- lățime – Lățimea imaginii în pixeli.
Roca de bază a Amazonului InvokeModel
API generează un răspuns cu o imagine codificată în Output S3Uri
Locație. O altă funcție Lambda analizează imaginea din răspuns, o decodifică din base64 și salvează fișierul imagine în următoarea locație: s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/
.
În cele din urmă, un flux de lucru copil actualizează un tabel DynamoDB cu starea de generare a imaginii, marcându-l ca oricare Reușit or A eșuat, și inclusiv detalii precum ImageName
, Cause
, Error
, și Status
.
Generați un raport de stare
După procesul de generare a imaginii, o funcție Lambda preia detaliile de stare din DynamoDB. Compilează în mod dinamic aceste detalii într-un raport cuprinzător de stare în format JSON. Apoi salvează raportul de stare generat un fișier JSON în următoarea locație: s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/
. Echipa ITOps poate integra acest raport cu sistemul de notificare existent pentru a urmări dacă procesarea imaginii s-a finalizat cu succes. Pentru utilizatorii de afaceri, puteți extinde acest lucru și mai mult pentru a genera un raport în format CSV.
Trimiteți un e-mail prin Amazon SNS
Step Functions invocă o acțiune API Amazon SNS pentru a trimite un e-mail. E-mailul conține detalii, inclusiv locația S3 pentru raportul de stare și fișierele de imagini finale. Următorul este exemplul de e-mail de notificare.
Concluzie
În această postare, am oferit o prezentare generală a unui exemplu de soluție care demonstrează automatizarea schimbării fundalurilor de imagine la scară folosind Amazon Bedrock și Step Functions. De asemenea, am explicat în detaliu fiecare element al soluției. Utilizând integrarea optimizată Step Functions cu Amazon Bedrock, Distributed Map și modelul Titan Image Generator G1, soluția înlocuiește eficient fundalul imaginilor în paralel, sporind productivitatea și scalabilitatea.
Pentru a implementa soluția, consultați instrucțiunile din GitHub depozit.
Resurse
Pentru a afla mai multe despre Amazon Bedrock, consultați următoarele resurse:
Pentru a afla mai multe despre modelul Titan Image Generator G1, consultați următoarele resurse:
Pentru a afla mai multe despre utilizarea Amazon Bedrock cu Step Functions, consultați următoarele resurse:
Despre autor
Chetan Makvana este arhitect senior de soluții cu Amazon Web Services. El lucrează cu partenerii și clienții AWS pentru a le oferi îndrumări arhitecturale pentru construirea arhitecturii scalabile și implementarea strategiilor pentru a stimula adoptarea serviciilor AWS. Este un pasionat de tehnologie și un constructor cu un domeniu de interes principal pe AI generativă, fără server și DevOps. În afara serviciului, îi place să urmărească spectacole, să călătorească și muzică.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/automate-the-process-to-change-image-backgrounds-using-amazon-bedrock-and-aws-step-functions/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 130
- 14
- 22
- 25
- 32
- 7
- 8
- a
- Despre Noi
- acceptă
- acces
- peste
- Acțiune
- adera
- Adoptare
- Adult
- Promovare
- AI
- TOATE
- permite
- permite
- de asemenea
- Amazon
- Amazon Rekognition
- Amazon Web Services
- an
- și
- O alta
- api
- aplicație
- arhitectural
- arhitectură
- SUNT
- ZONĂ
- AS
- asociate
- At
- autentifica
- automatizarea
- Automata
- în mod automat
- Automatizare
- AWS
- Funcții pas AWS
- fundal
- fundaluri
- bazat
- înainte
- construi
- constructor
- Clădire
- luați autobuzul
- afaceri
- by
- denumit
- apeluri
- CAN
- capacități
- Schimbare
- schimbarea
- copil
- alegeri
- Oraș
- combinate
- Terminat
- finalizeaza
- cuprinzător
- Configuraţie
- Connects
- consistent
- constă
- construcții
- conține
- Nucleu
- corespunde
- crea
- Creator
- personalizat
- clienţii care
- de date
- Mai adânc
- Mod implicit
- defini
- defineste
- demonstrând
- implementa
- Implementarea
- Amenajări
- dorit
- destinație
- detaliu
- detaliat
- detalii
- diagramă
- distribuite
- scufundare
- Câine
- Dont
- conduce
- dinamic
- fiecare
- E-commerce
- eficient
- efort
- oricare
- element
- element
- codificat
- Punct final
- consolidarea
- Intrați
- Divertisment
- entuziast
- Întreg
- mai ales
- exemplu
- existent
- Extinde
- a explicat
- Modă
- Fișier
- Fişiere
- final
- următor
- Pentru
- format
- Fundație
- din
- Frontend
- funcţie
- funcții
- mai mult
- g1
- poartă
- genera
- generată
- generează
- generaţie
- generativ
- AI generativă
- generator
- îndrumare
- Cablaje
- he
- înălțime
- ajută
- Înalt
- highlights-uri
- istorie
- Cum
- Totuși
- HTML
- HTTPS
- ID
- if
- ilustrează
- imagine
- imagini
- Punere în aplicare a
- in
- include
- Inclusiv
- interior
- intrare
- în interiorul
- înţelegere
- instrucțiuni
- integra
- integrate
- integreaza
- integrare
- interes
- în
- Prezintă
- invocă
- implică
- IT
- ESTE
- jpg
- JSON
- A pastra
- Cheie
- etichete
- mare
- mai mare
- AFLAȚI
- Nivel
- LIMITĂ
- locaţie
- Londra
- Uite
- Lot
- Jos
- făcut
- face
- masculin
- om
- manual
- Hartă
- marcare
- masca
- Mass-media
- metodă
- mod
- model
- mai mult
- multiplu
- Muzică
- nume
- Nevoie
- negativ
- Nou
- notificare
- număr
- of
- promoții
- de multe ori
- on
- optimizate
- or
- comandă
- original
- Altele
- producție
- exterior
- Prezentare generală
- propriu
- Paralel
- parametru
- parametrii
- parteneri
- efectuează
- persoană
- Plato
- Informații despre date Platon
- PlatoData
- piscină
- Post
- precis
- Premium
- previne
- proces
- prelucrare
- productivitate
- solicitări
- proteja
- furniza
- prevăzut
- furnizează
- calitate
- trimite
- scoate
- înlocui
- raportează
- solicita
- cereri de
- Rezoluţie
- Resurse
- răspuns
- răspunsuri
- REST
- rezultat
- reține
- Alerga
- ruleaza
- probă
- scalabilitate
- scalabil
- Scară
- perfect
- vedea
- selectate
- trimite
- trimite
- senior
- distinct
- serverless
- servește
- Servicii
- să
- indicat
- Emisiuni
- simplu
- simplificată
- Simplifică
- Software
- soluţie
- soluţii
- Sursă
- specific
- specificată
- Începe
- începe
- Stat
- Stare
- Pas
- paşi
- depozitare
- simplu
- strategii
- simplifica
- Şir
- tare
- supunere
- Ulterior
- Reușit
- astfel de
- a sustine
- Sprijină
- sistem
- tabel
- Lua
- echipă
- tehnică
- Tehnologia
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- acea
- Sursa
- lor
- Lor
- apoi
- Acestea
- acest
- aceste
- trei
- gigant
- la
- împreună
- urmări
- Traveling
- tipic
- neautorizat
- înţelege
- nedorit
- Actualizează
- actualizat
- actualizări
- încărcat
- utilizat
- Utilizator
- utilizatorii
- utilizări
- folosind
- de
- Vizualizare
- vrea
- vizionarea
- we
- web
- aplicatie web
- servicii web
- Ce
- dacă
- care
- lățime
- cu
- Apartamente
- flux de lucru
- fluxuri de lucru
- lucrări
- fabrică
- scrie
- Tu
- zephyrnet