Viele Kunden, darunter Kunden aus den Bereichen kreative Werbung, Medien und Unterhaltung, E-Commerce und Mode, müssen häufig den Hintergrund einer großen Anzahl von Bildern ändern. In der Regel umfasst dies die manuelle Bearbeitung jedes Bildes mit einer Fotosoftware. Dies kann insbesondere bei großen Bildmengen sehr aufwändig sein. Jedoch, Amazonas Grundgestein und AWS Step-Funktionen Machen Sie es einfach, diesen Prozess in großem Maßstab zu automatisieren.
Amazon Bedrock bietet das generative KI-Grundlagenmodell an Amazon Titan Image Generator G1, das den Hintergrund eines Bildes mithilfe einer Technik namens automatisch ändern kann übermalen. Mit Step Functions können Sie einen automatisierten Workflow erstellen, der sich nahtlos mit Amazon Bedrock und anderen AWS-Diensten verbindet. Zusammen optimieren Amazon Bedrock und Step Functions den gesamten Prozess der automatischen Änderung des Hintergrunds über mehrere Bilder hinweg.
In diesem Beitrag wird eine Lösung vorgestellt, die das Ändern des Hintergrunds in mehreren Bildern vereinfacht. Durch die Nutzung der Fähigkeiten von generative KI Mit Amazon Bedrock und dem Titan Image Generator G1-Modell in Kombination mit Step Functions generiert diese Lösung effizient Bilder mit dem gewünschten Hintergrund. Dieser Beitrag bietet Einblick in das Innenleben der Lösung und hilft Ihnen, die Designentscheidungen zu verstehen, die zum Erstellen dieser eigenen benutzerdefinierten Lösung getroffen wurden.
Siehe die GitHub-Repository Ausführliche Anweisungen zur Bereitstellung dieser Lösung finden Sie hier.
Lösungsüberblick
Schauen wir uns an, wie die Lösung auf hohem Niveau funktioniert, bevor wir näher auf bestimmte Elemente und die verwendeten AWS-Dienste eingehen. Das folgende Diagramm bietet eine vereinfachte Ansicht der Lösungsarchitektur und hebt die Schlüsselelemente hervor.
Der Arbeitsablauf besteht aus den folgenden Schritten:
- Ein Benutzer lädt mehrere Bilder in eine hoch Amazon Simple Storage-Service (Amazon S3) Bucket über eine Streamlit-Webanwendung.
- Die Streamlit-Webanwendung ruft eine auf Amazon API-Gateway REST-API-Endpunkt integriert mit Amazon-Anerkennung DetectLabels-API, das Beschriftungen für jedes Bild erkennt.
- Nach der Übermittlung aktualisiert die Streamlit-Webanwendung eine Amazon DynamoDB Tabelle mit Bilddetails.
- Das DynamoDB-Update löst eine aus AWS Lambda Funktion, die einen Step Functions-Workflow startet.
- Der Step Functions-Workflow führt für jedes Bild die folgenden Schritte aus:
5.1 Erstellt eine Anforderungsnutzlast für das Amazon BedrockInvokeModel
API.
5.2 Ruft das Amazonas-Grundgestein aufInvokeModel
API-Aktion.
5.3 Analysiert ein Bild aus der Antwort und speichert es an einem S3-Speicherort.
5.4 Aktualisiert den Bildstatus in einer DynamoDB-Tabelle. - Der Step Functions-Workflow ruft eine Lambda-Funktion auf, um einen Statusbericht zu generieren.
- Der Workflow sendet eine E-Mail mit Amazon Simple Notification Service (Amazon SNS).
Wie im folgenden Screenshot gezeigt, können Sie mit der Streamlit-Webanwendung Bilder hochladen und Texteingabeaufforderungen eingeben, um gewünschte Hintergründe, negative Eingabeaufforderungen und den Outpainting-Modus für die Bildgenerierung anzugeben. Sie können außerdem mit jedem hochgeladenen Bild verknüpfte unerwünschte Etiketten anzeigen und entfernen, die Sie nicht in den endgültig generierten Bildern behalten möchten.
In diesem Beispiel lautet die Eingabeaufforderung für den Hintergrund „Londoner Stadthintergrund“. Der Automatisierungsprozess generiert neue Bilder basierend auf den ursprünglich hochgeladenen Bildern mit London als Hintergrund.
Streamlit-Webanwendung und Bild-Uploads
Als Frontend dieser Lösung dient eine Streamlit-Webanwendung. Um die Anwendung vor unbefugtem Zugriff zu schützen, ist sie in eine integriert Amazon Cognito Benutzerpool. API Gateway verwendet eine Autorisierung von Amazon Cognito um Anfragen zu authentifizieren. Die Webanwendung führt die folgenden Schritte aus:
- Für jedes ausgewählte Bild werden Beschriftungen über Amazon Rekognition mithilfe eines API Gateway-REST-API-Endpunkts abgerufen.
- Nach der Übermittlung lädt die Anwendung Bilder in einen S3-Bucket hoch.
- Die Anwendung aktualisiert eine DynamoDB-Tabelle mit relevanten Parametern, Bildnamen und zugehörigen Bezeichnungen für jedes Bild mithilfe eines anderen API Gateway-REST-API-Endpunkts.
Bildverarbeitungs-Workflow
Wenn die DynamoDB-Tabelle aktualisiert wird, DynamoDB-Streams Löst eine Lambda-Funktion aus, um einen neuen Step Functions-Workflow zu starten. Im Folgenden finden Sie eine Beispielanforderung für den Workflow:
Der Step Functions-Workflow führt anschließend die folgenden drei Schritte aus:
- Ersetzen Sie den Hintergrund für alle Bilder.
- Erstellen Sie einen Statusbericht.
- Senden Sie eine E-Mail über Amazon SNS.
Der folgende Screenshot veranschaulicht den Step Functions-Workflow.
Schauen wir uns jeden Schritt genauer an.
Ersetzen Sie den Hintergrund für alle Bilder
Step Functions verwendet a Verteilte Karte um jedes Bild in parallelen untergeordneten Arbeitsabläufen zu verarbeiten. Die Distributed Map ermöglicht eine Verarbeitung mit hoher Parallelität. Jeder untergeordnete Workflow verfügt über einen eigenen, vom übergeordneten Workflow getrennten Ausführungsverlauf.
Step Functions verwendet eine InvokeModel optimierte API-Aktion für Amazon Bedrock. Die API akzeptiert Anfragen und Antworten mit einer Größe von bis zu 25 MB. Bei Step Functions ist die Eingabe und Ausgabe der Zustandsnutzlast jedoch auf 256 KB begrenzt. Um größere Bilder zu unterstützen, verwendet die Lösung einen S3-Bucket, in dem die InvokeModel
Die API liest Daten aus und schreibt das Ergebnis dorthin. Im Folgenden finden Sie die Konfiguration für InvokeModel
API für die Amazon Bedrock-Integration:
Das Input S3Uri
Der Parameter gibt den Quellspeicherort zum Abrufen der Eingabedaten an. Der Output S3Uri
Der Parameter gibt das Ziel zum Schreiben der API-Antwort an.
Eine Lambda-Funktion speichert die Anforderungsnutzlast als JSON-Datei im angegebenen Input S3Uri
Lage. Die InvokeModel
Die API verwendet diese Eingabenutzlast, um Bilder mit dem angegebenen Hintergrund zu generieren:
Das Modell Titan Image Generator G1 unterstützt die folgenden Parameter für die Bilderzeugung:
- Aufgabentyp – Gibt die Outpainting-Methode zum Ersetzen des Bildhintergrunds an.
- Text – Eine Textaufforderung zum Definieren des Hintergrunds.
- negativerText – Eine Textaufforderung, um zu definieren, was nicht in das Bild aufgenommen werden soll.
- maskPrompt – Eine Textaufforderung, die die Maske definiert. Es entspricht den Beschriftungen, die Sie in den endgültig generierten Bildern beibehalten möchten.
- maskImage – Das in Base64 kodierte JPEG- oder PNG-Bild.
- outPaintingMode – Gibt an, ob eine Änderung der Pixel innerhalb der Maske zulässig ist oder nicht. Mit DEFAULT können Sie das Bild innerhalb der Maske ändern, um es mit dem rekonstruierten Hintergrund in Einklang zu bringen. PRECISE verhindert eine Änderung des Bildes innerhalb der Maske.
- numberOfImages – Die Anzahl der zu generierenden Bilder.
- Qualität – Die Qualität der generierten Bilder:
standard
orpremium
. - cfgScale – Gibt an, wie stark sich das generierte Bild an die Eingabeaufforderung halten soll.
- Höhe – Die Höhe des Bildes in Pixel.
- Breite – Die Breite des Bildes in Pixel.
Das Amazonas-Grundgestein InvokeModel
Die API generiert eine Antwort mit einem codierten Bild im Output S3Uri
Standort. Eine weitere Lambda-Funktion analysiert das Bild aus der Antwort, dekodiert es aus Base64 und speichert die Bilddatei am folgenden Speicherort: s3://<Image Bucket>/generated-image-file/<year>/<month>/<day>/<timestamp>/
.
Schließlich aktualisiert ein untergeordneter Workflow eine DynamoDB-Tabelle mit dem Bildgenerierungsstatus und markiert sie als einen der beiden Gelungen or Gescheitert, und einschließlich Details wie ImageName
, Cause
, Error
und Status
.
Erstellen Sie einen Statusbericht
Nach dem Bildgenerierungsprozess ruft eine Lambda-Funktion die Statusdetails von DynamoDB ab. Diese Details werden dynamisch zu einem umfassenden Statusbericht im JSON-Format zusammengestellt. Anschließend wird der generierte Statusbericht als JSON-Datei am folgenden Speicherort gespeichert: s3://<Image Bucket>/status-report-files/<year>/<month>/<day>/<timestamp>/
. Das ITOps-Team kann diesen Bericht in sein bestehendes Benachrichtigungssystem integrieren, um zu verfolgen, ob die Bildverarbeitung erfolgreich abgeschlossen wurde. Für Geschäftsanwender können Sie dies weiter erweitern, um einen Bericht im CSV-Format zu erstellen.
Senden Sie eine E-Mail über Amazon SNS
Step Functions ruft eine Amazon SNS-API-Aktion auf, um eine E-Mail zu senden. Die E-Mail enthält Details, einschließlich des S3-Speicherorts für den Statusbericht und die endgültigen Bilddateien. Im Folgenden finden Sie eine Beispiel-Benachrichtigungs-E-Mail.
Zusammenfassung
In diesem Beitrag haben wir einen Überblick über eine Beispiellösung gegeben, die die Automatisierung sich ändernder Bildhintergründe im großen Maßstab mithilfe von Amazon Bedrock und Step Functions demonstriert. Wir haben auch jedes Element der Lösung ausführlich erklärt. Durch die Verwendung der durch Step Functions optimierten Integration mit Amazon Bedrock, Distributed Map und dem Titan Image Generator G1-Modell ersetzt die Lösung die Hintergründe von Bildern effizient parallel und steigert so die Produktivität und Skalierbarkeit.
Informationen zum Bereitstellen der Lösung finden Sie in den Anweisungen im GitHub-Repository.
Downloads
Weitere Informationen zu Amazon Bedrock finden Sie in den folgenden Ressourcen:
Weitere Informationen zum Titan Image Generator G1-Modell finden Sie in den folgenden Ressourcen:
Weitere Informationen zur Verwendung von Amazon Bedrock mit Step Functions finden Sie in den folgenden Ressourcen:
Über den Autor
Chetan Makvana ist Senior Solutions Architect bei Amazon Web Services. Er arbeitet mit AWS-Partnern und Kunden zusammen, um ihnen Architekturberatung für den Aufbau einer skalierbaren Architektur und die Implementierung von Strategien zur Förderung der Einführung von AWS-Services zu geben. Er ist ein Technologie-Enthusiast und Entwickler mit einem Schwerpunkt auf generativer KI, Serverless und DevOps. Außerhalb der Arbeit schaut er gerne Shows, reist und hört gerne Musik.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/automate-the-process-to-change-image-backgrounds-using-amazon-bedrock-and-aws-step-functions/
- :hast
- :Ist
- :nicht
- :Wo
- $UP
- 1
- 130
- 14
- 22
- 25
- 32
- 7
- 8
- a
- Über Uns
- Akzeptiert
- Zugang
- über
- Action
- haften
- Adoption
- Erwachsenen-
- Marketings
- AI
- Alle
- erlauben
- erlaubt
- ebenfalls
- Amazon
- Amazon-Anerkennung
- Amazon Web Services
- an
- und
- Ein anderer
- Bienen
- Anwendung
- architektonisch
- Architektur
- SIND
- Bereich
- AS
- damit verbundenen
- At
- authentifizieren
- automatisieren
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Automation
- AWS
- AWS Step-Funktionen
- Hintergrund
- Hintergründe
- basierend
- Bevor
- bauen
- Baumeister
- Building
- Bus
- Geschäft
- by
- namens
- Aufrufe
- CAN
- Fähigkeiten
- Übernehmen
- Ändern
- der
- Entscheidungen
- Stadt
- kombiniert
- Abgeschlossene Verkäufe
- Wird abgeschlossen
- umfassend
- Konfiguration
- Connects
- konsistent
- besteht
- Konstrukte
- enthält
- Kernbereich
- entspricht
- erstellen
- Kreativ (Creative)
- Original
- Kunden
- technische Daten
- tiefer
- Standard
- definieren
- Definiert
- demonstrieren
- einsetzen
- Bereitstellen
- Design
- erwünscht
- Reiseziel
- Detail
- detailliert
- Details
- Diagramm
- verteilt
- Tauchen
- Hund
- Nicht
- Antrieb
- dynamisch
- jeder
- E-EINKAUF
- effizient
- Anstrengung
- entweder
- Element
- Elemente
- codiert
- Endpunkt
- Eine Verbesserung der
- Enter
- Unterhaltung
- Enthusiast
- Ganz
- insbesondere
- Beispiel
- vorhandenen
- Erweitern Sie die Funktionalität der
- erklärt
- Fashion
- Reichen Sie das
- Mappen
- Finale
- Folgende
- Aussichten für
- Format
- Foundation
- für
- Frontend
- Funktion
- Funktionen
- weiter
- g1
- Tor
- erzeugen
- erzeugt
- erzeugt
- Generation
- generativ
- Generative KI
- Generator
- die Vermittlung von Kompetenzen,
- Nutzen
- he
- Höhe
- hilft
- GUTE
- Highlights
- Geschichte
- Ultraschall
- aber
- HTML
- HTTPS
- ID
- if
- zeigt
- Image
- Bilder
- Umsetzung
- in
- das
- Einschließlich
- innere
- Varianten des Eingangssignals:
- innerhalb
- Einblick
- Anleitung
- integrieren
- integriert
- Integriert
- Integration
- Interesse
- in
- Stellt vor
- ruft auf
- beinhaltet
- IT
- SEINE
- jpg
- JSON
- Behalten
- Wesentliche
- Etiketten
- grosse
- größer
- LERNEN
- Niveau
- LIMIT
- Standorte
- London
- aussehen
- Los
- Sneaker
- gemacht
- um
- männlich
- Mann
- manuell
- Karte
- Markierung
- Maske"
- Medien
- Methode
- Model
- Modell
- mehr
- mehrere
- Musik
- Namen
- Need
- Negativ
- Neu
- Benachrichtigung
- Anzahl
- of
- Angebote
- vorgenommen,
- on
- optimiert
- or
- Auftrag
- Original
- Andere
- Möglichkeiten für das Ausgangssignal:
- aussen
- Überblick
- besitzen
- Parallel
- Parameter
- Parameter
- führt
- person
- für Ihre privaten Foto
- Plato
- Datenintelligenz von Plato
- PlatoData
- Pool
- Post
- präzise
- Prämie
- verhindert
- Prozessdefinierung
- Verarbeitung
- PRODUKTIVITÄT
- Eingabeaufforderungen
- Risiken zu minimieren
- die
- vorausgesetzt
- bietet
- Qualität
- siehe
- relevant
- entfernen
- ersetzen
- berichten
- Anforderung
- Zugriffe
- Auflösung
- Downloads
- Antwort
- Antworten
- REST
- Folge
- behalten
- Führen Sie
- läuft
- Sample
- Skalierbarkeit
- skalierbaren
- Skalieren
- nahtlos
- sehen
- ausgewählt
- senden
- sendet
- Senior
- getrennte
- Serverlos
- dient
- Lösungen
- sollte
- gezeigt
- Konzerte
- Einfacher
- vereinfachte
- Vereinfacht
- Software
- Lösung
- Lösungen
- Quelle
- spezifisch
- angegeben
- Anfang
- beginnt
- Bundesstaat
- Status
- Schritt
- Shritte
- Lagerung
- einfach
- Strategien
- rationalisieren
- Schnur
- starker
- Einreichung
- Anschließend
- Erfolgreich
- so
- Support
- Unterstützt
- System
- Tabelle
- Nehmen
- Team
- Technik
- Technologie
- Text
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Die Quelle
- ihr
- Sie
- dann
- Diese
- fehlen uns die Worte.
- diejenigen
- nach drei
- Titan
- zu
- gemeinsam
- verfolgen sind
- Reise
- typisch
- unbefugt
- verstehen
- unerwünscht
- Aktualisierung
- aktualisiert
- Updates
- hochgeladen
- benutzt
- Mitglied
- Nutzer
- verwendet
- Verwendung von
- Anzeigen
- wollen
- beobachten
- we
- Netz
- Internetanwendung
- Web-Services
- Was
- ob
- welche
- Breite
- mit
- Arbeiten
- Arbeitsablauf.
- Workflows
- Arbeiten
- Werk
- schreiben
- Du
- Zephyrnet