Introduktion af en billed-til-tale Generativ AI-applikation ved hjælp af Amazon SageMaker og Hugging Face | Amazon Web Services

Introduktion af en billed-til-tale Generativ AI-applikation ved hjælp af Amazon SageMaker og Hugging Face | Amazon Web Services

Synstab kommer i forskellige former. For nogle er det fra fødslen, for andre er det en langsom nedstigning over tid, som kommer med mange udløbsdatoer: Den dag, hvor du ikke kan se billeder, genkende dig selv eller dine kæres ansigter eller endda læse din mail. I vores tidligere blogindlæg Giv synshandicappede mulighed for at høre dokumenter ved hjælp af Amazon Textract og Amazon Polly, viste vi dig vores tekst til tale-applikation kaldet "Læs for mig". Tilgængeligheden er nået langt, men hvad med billeder?

På 2022 AWS re:Invent-konferencen i Las Vegas demonstrerede vi "Beskriv for mig" på AWS Builders' Fair, et websted, der hjælper synshandicappede med at forstå billeder gennem billedtekst, ansigtsgenkendelse og tekst-til-tale, en teknologi, vi omtaler som "Image to Speech." Gennem brugen af ​​flere AI/ML-tjenester genererer "Beskriv for mig" en billedtekst af et inputbillede og vil læse det tilbage i en klar, naturligt lydende stemme på en række forskellige sprog og dialekter.

I dette blogindlæg leder vi dig gennem løsningsarkitekturen bag "Describe For Me", og designovervejelserne i vores løsning.

Løsningsoversigt

Den følgende referencearkitektur viser arbejdsgangen for en bruger, der tager et billede med en telefon og afspiller en MP3 af billedteksten til billedet.

Referencearkitektur for den beskrevne løsning.

Arbejdsgangen inkluderer nedenstående trin,

  1. AWS Amplify distribuerer DescribeForMe-webappen bestående af HTML, JavaScript og CSS til slutbrugeres mobile enheder.
  2. Amazon Cognito Identitetspulje giver midlertidig adgang til Amazon S3 spand.
  3. Brugeren uploader en billedfil til Amazon S3 spand ved hjælp af AWS SDK gennem webappen.
  4. DescribeForMe-webappen påberåber sig backend AI-tjenesterne ved at sende Amazon S3 objekt Indtast nyttelasten til Amazon API Gateway
  5. Amazon API Gateway instansierer en AWS-trinfunktioner workflow. Statens Maskin orkestrerer tjenesterne Artificial Intelligence/Machine Learning (AI/ML). Amazon-anerkendelse, Amazon SageMakeramazontekst, Amazon Oversæt, , Amazon Polly  ved brug af AWS lambda funktioner.
  6. AWS-trinfunktioner workflow opretter en lydfil som output og gemmer den i Amazon S3 i MP3-format.
  7. En forudsigneret URL med placeringen af ​​lydfilen gemt i Amazon S3 sendes tilbage til brugerens browser gennem Amazon API Gateway. Brugerens mobilenhed afspiller lydfilen ved hjælp af den forudsignerede URL.

Løsningsgennemgang

I dette afsnit fokuserer vi på designovervejelserne for, hvorfor vi valgte

  1. parallel bearbejdning inden for en AWS-trinfunktioner workflow
  2. samlet sekvens-til-sekvens præ-trænet machine learning model OFA (One For All) fra Knusende ansigt til Amazon SageMaker til billedtekst
  3. Amazon-anerkendelse til ansigtsgenkendelse

For et mere detaljeret overblik over, hvorfor vi valgte en serverløs arkitektur, synkron arbejdsgang, arbejdsgang med eksprestrinfunktioner, hovedløs arkitektur og de opnåede fordele, kan du læse vores tidligere blogindlæg Giv synshandicappede mulighed for at høre dokumenter ved hjælp af Amazon Textract og Amazon Polly

Parallelbehandling

Brug af parallel behandling inden for Step Functions-arbejdsgangen reducerede beregningstiden med op til 48 %. Når brugeren har uploadet billedet til S3-bøtten, instansierer Amazon API Gateway en AWS Step Functions-arbejdsgang. Derefter behandler nedenstående tre lambda-funktioner billedet i Step Functions-arbejdsgangen parallelt.

  • Den første Lambda funktion kaldet describe_image analyserer billedet ved hjælp af OFA_IMAGE_CAPTION model hostet på et SageMaker-endepunkt i realtid for at give billedtekst.
  • Den anden Lambda-funktion kaldet describe_faces tjekker først, om der er ansigter, der bruger Amazon Rekognitions Detect Faces API, og hvis det er sandt, kalder det Compare Faces API. Grunden til dette er, at Sammenlign ansigter vil give en fejl, hvis der ikke er nogen ansigter fundet på billedet. Det er også hurtigere at kalde Opdag ansigter først end blot at køre Sammenlign ansigter og håndteringsfejl, så for billeder uden ansigter i dem, vil behandlingstiden være hurtigere.
  • Den tredje Lambda funktion kaldet extract_text håndterer tekst-til-tale ved hjælp af Amazon Textract og Amazon Comprehend.

Det er passende at udføre Lambda-funktionerne i rækkefølge, men den hurtigere og mere effektive måde at gøre dette på er gennem parallel behandling. Følgende tabel viser den gemte beregnede tid for tre eksempelbilleder.

Billede Mennesker Sekventiel tid Parallel Tid Tidsbesparelse (%) Caption
Introduktion af en billed-til-tale Generativ AI-applikation ved hjælp af Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai. 0 1869ms 1702ms 8% En tabby kat krøllet sammen i en blød hvid seng.
Introduktion af en billed-til-tale Generativ AI-applikation ved hjælp af Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai. 1 4277ms 2197ms 48 % En kvinde i grøn bluse og sort cardigan smiler til kameraet. Jeg genkender én person: Kanbo.
Introduktion af en billed-til-tale Generativ AI-applikation ved hjælp af Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Lodret søgning. Ai. 4 6603ms 3904ms 40 % Folk, der står foran Amazonasfærerne. Jeg genkender 3 personer: Kanbo, Jack og Ayman.

Billede Caption

Hugging Face er et open source-fællesskab og en datavidenskabsplatform, der giver brugerne mulighed for at dele, bygge, træne og implementere maskinlæringsmodeller. Efter at have udforsket de tilgængelige modeller i Hugging Face-modelhubben, valgte vi at bruge OFA model fordi som beskrevet af forfatterne, er det "en opgave-agnostisk og modalitets-agnostisk ramme, der understøtter Task Comprehensiveness".

OFA er et skridt mod "One For All", da det er en samlet multimodal præ-trænet model, der effektivt kan overføres til en række downstream-opgaver. Mens OFA-modellen understøtter mange opgaver, herunder visuel forankring, sprogforståelse og billedgenerering, brugte vi OFA-model til billedtekstning i Describe For Me-projektet for at udføre billedet til tekstdelen af ​​applikationen. Tjek det officielle lager af OFA (ICML 2022), papir at lære om OFA's samlende arkitekturer, opgaver og modaliteter gennem en enkel sekvens-til-sekvens læringsramme.

For at integrere OFA i vores applikation klonede vi reposen fra Hugging Face og containeriserede modellen for at implementere den til et SageMaker-slutpunkt. Det notesbog i denne repo er en fremragende guide til at implementere OFA store model i en Jupyter notesbog i SageMaker. Efter containerisering af dit inferensscript er modellen klar til at blive implementeret bag et SageMaker-slutpunkt som beskrevet i SageMaker dokumentation. Når modellen er implementeret, skal du oprette et HTTPS-slutpunkt, som kan integreres med lambdafunktionen "describe_image", der analyserer billedet for at skabe billedteksten. Vi implementerede den lille OFA-model, fordi den er en mindre model og kan implementeres på kortere tid, mens den opnår lignende ydeevne.

Eksempler på billed-til-tale-indhold genereret af "Beskriv for mig" er vist nedenfor:

Aurora borealis, eller nordlys, fylder nattehimlen over en silhuet af et hus.

Aurora borealis, eller nordlys, fylder nattehimlen over en silhuet af et hus.

En hund sover på et rødt tæppe på et trægulv ved siden af ​​en åben kuffert fyldt med legetøj.

En hund sover på et rødt tæppe på et trægulv ved siden af ​​en åben kuffert fyldt med legetøj.

En tabby kat krøllet sammen i en blød hvid seng.

En tabby kat krøllet sammen i en blød hvid seng.

Ansigtsgenkendelse

Amazon Rekognition Image giver Opdag ansigter operation, der leder efter vigtige ansigtstræk såsom øjne, næse og mund for at registrere ansigter i et inputbillede. I vores løsning udnytter vi denne funktionalitet til at registrere personer i inputbilledet. Hvis en person opdages, bruger vi så Sammenlign ansigter operation for at sammenligne ansigtet i inputbilledet med de ansigter, som "Describe For Me" er blevet trænet med og beskrive personen ved navn. Vi valgte at bruge Rekognition til ansigtsgenkendelse på grund af den høje nøjagtighed, og hvor nemt det var at integrere i vores applikation med out-of-the-box-funktionerne.

En gruppe mennesker poserer til et billede i et værelse. Jeg genkender 4 personer: Jack, Kanbo, Alak og Trac. Der var også tekst på billedet. Der står: AWS re: Opfind

En gruppe mennesker poserer til et billede i et værelse. Jeg genkender 4 personer: Jack, Kanbo, Alak og Trac. Der var også tekst på billedet. Der står: AWS re: Opfind

Potentielle anvendelsestilfælde

Alternativ tekstgenerering til webbilleder

Alle billeder på et websted skal have en alternativ tekst, så skærmlæsere kan tale dem til synshandicappede. Det er også godt til søgemaskineoptimering (SEO). Oprettelse af alternative billedtekster kan være tidskrævende, da en tekstforfatter har til opgave at levere dem i et designdokument. Describe For Me API kunne automatisk generere alt-tekst til billeder. Det kan også bruges som et browser-plugin til automatisk at tilføje billedtekst til billeder, der mangler alt-tekst på ethvert websted.

Lydbeskrivelse til video

Lydbeskrivelse giver et fortællespor til videoindhold for at hjælpe synshandicappede med at følge med i film. Efterhånden som billedteksten bliver mere robust og præcis, kan en arbejdsgang, der involverer oprettelsen af ​​et lydspor baseret på beskrivelser af nøgledele af en scene, være mulig. Amazon Rekognition kan allerede registrere sceneændringer, logoer og kreditsekvenser og genkendelse af berømtheder. En fremtidig version af describe vil give mulighed for at automatisere denne nøglefunktion til film og videoer.

Konklusion

I dette indlæg diskuterede vi, hvordan man bruger AWS-tjenester, inklusive AI og serverløse tjenester, for at hjælpe synshandicappede med at se billeder. Du kan lære mere om Describe For Me-projektet og bruge det ved at besøge describeforme.com. Lær mere om de unikke funktioner ved Amazon SageMakerAmazon-anerkendelse og AWS-partnerskab med Hugging Face.

Tredjeparts ML Model Ansvarsfraskrivelse til vejledning

Denne vejledning er kun til informationsformål. Du bør stadig udføre din egen uafhængige vurdering og træffe foranstaltninger for at sikre, at du overholder dine egne specifikke kvalitetskontrolpraksisser og standarder og de lokale regler, love, regler, licenser og brugsvilkår, der gælder for dig, dit indhold og den tredjeparts Machine Learning-model, der henvises til i denne vejledning. AWS har ingen kontrol eller autoritet over tredjeparts Machine Learning-model, der henvises til i denne vejledning, og giver ingen erklæringer eller garantier for, at tredjeparts Machine Learning-modellen er sikker, virusfri, operationel eller kompatibel med dit produktionsmiljø og standarder. AWS giver ingen erklæringer, garantier eller garantier for, at nogen information i denne vejledning vil resultere i et bestemt resultat eller resultat.


Om forfatterne

Jack MarchettiJack Marchetti er en senior løsningsarkitekt hos AWS med fokus på at hjælpe kunder med at modernisere og implementere serverløse, begivenhedsdrevne arkitekturer. Jack er juridisk blind og bor i Chicago med sin kone Erin og katten Minou. Han er også manuskriptforfatter og instruktør med primært fokus på julefilm og gyser. Se Jacks filmografi på hans IMDb-side.

Alak EswaradassAlak Eswaradass er Senior Solutions Architect hos AWS med base i Chicago, Illinois. Hun brænder for at hjælpe kunder med at designe cloud-arkitekturer ved at bruge AWS-tjenester til at løse forretningsmæssige udfordringer. Alak er begejstret for at bruge SageMaker til at løse en række forskellige ML use cases for AWS kunder. Når hun ikke arbejder, nyder Alak at tilbringe tid med sine døtre og udforske naturen med sine hunde.

Kandyce BohannonKandyce Bohannon er en Senior Solutions Architect baseret i Minneapolis, MN. I denne rolle arbejder Kandyce som teknisk rådgiver for AWS-kunder, da de moderniserer teknologistrategier, især relateret til data og DevOps, for at implementere bedste praksis i AWS. Derudover brænder Kandyce for at vejlede fremtidige generationer af teknologer og vise kvinder i teknologi gennem programmet AWS She Builds Tech Skills.

Trac DoTrac Do er Solutions Architect hos AWS. I sin rolle arbejder Trac med virksomhedskunder for at understøtte deres cloud-migreringer og applikationsmoderniseringsinitiativer. Han brænder for at lære kundernes udfordringer og løse dem med robuste og skalerbare løsninger ved hjælp af AWS-tjenester. Trac bor i øjeblikket i Chicago med sin kone og 3 drenge. Han er en stor luftfartsentusiast og er i gang med at færdiggøre sit Private Pilot License.

Tidsstempel:

Mere fra AWS maskinindlæring