Vi introduserer en bilde-til-tale generativ AI-applikasjon som bruker Amazon SageMaker og Hugging Face | Amazon Web Services

Vi introduserer en bilde-til-tale generativ AI-applikasjon som bruker Amazon SageMaker og Hugging Face | Amazon Web Services

Synstap kommer i ulike former. For noen er det fra fødselen, for andre er det en sakte nedstigning over tid som kommer med mange utløpsdatoer: Dagen du ikke kan se bilder, gjenkjenne deg selv eller kjære ansikter eller til og med lese e-posten din. I vårt forrige blogginnlegg Gjør det mulig for synshemmede å høre dokumenter ved hjelp av Amazon Textract og Amazon Polly, viste vi deg vår tekst til tale-applikasjon kalt "Les for meg". Tilgjengelighet har kommet langt, men hva med bilder?

På 2022 AWS re:Invent-konferansen i Las Vegas demonstrerte vi "Beskriv for meg" på AWS Builders' Fair, et nettsted som hjelper synshemmede å forstå bilder gjennom bildetekst, ansiktsgjenkjenning og tekst-til-tale, en teknologi vi omtaler som «Image to Speech». Gjennom bruk av flere AI/ML-tjenester genererer "Describe For Me" en bildetekst av et inndatabilde og vil lese det tilbake med en tydelig stemme med naturlig lyd på en rekke språk og dialekter.

I dette blogginnlegget leder vi deg gjennom løsningsarkitekturen bak "Describe For Me", og designbetraktningene til løsningen vår.

Løsningsoversikt

Følgende referansearkitektur viser arbeidsflyten til en bruker som tar et bilde med en telefon og spiller av en MP3 av bildeteksten til bildet.

Referansearkitektur for den beskrevne løsningen.

Arbeidsflyten inkluderer trinnene nedenfor,

  1. AWS forsterke distribuerer DescribeForMe-nettappen som består av HTML, JavaScript og CSS til sluttbrukernes mobile enheter.
  2. De Amazon Cognito Identitetspool gir midlertidig tilgang til Amazon S3 bøtte.
  3. Brukeren laster opp en bildefil til Amazon S3 bøtte ved hjelp av AWS SDK gjennom nettappen.
  4. DescribeForMe-nettappen påkaller backend AI-tjenestene ved å sende Amazon S3 objekt Tast inn nyttelasten til Amazon API-gateway
  5. Amazon API-gateway instansierer en AWS trinnfunksjoner arbeidsflyt. Statens maskin orkestrerer tjenestene for kunstig intelligens/maskinlæring (AI/ML). Amazon-anerkjennelse, Amazon SageMakeramazontekst, Amazon Translate, og Amazon Polly  ved hjelp av AWS lambda funksjoner.
  6. De AWS trinnfunksjoner arbeidsflyt oppretter en lydfil som utdata og lagrer den i Amazon S3 i MP3-format.
  7. En forhåndssignert URL med plasseringen av lydfilen lagret i Amazon S3 sendes tilbake til brukerens nettleser gjennom Amazon API-gateway. Brukerens mobilenhet spiller av lydfilen ved å bruke den forhåndssignerte URL-en.

Løsningsgjennomgang

I denne delen fokuserer vi på designbetraktningene for hvorfor vi valgte

  1. parallell behandling innen en AWS trinnfunksjoner arbeidsflyt
  2. enhetlig sekvens-til-sekvens forhåndstrent maskinlæringsmodell OFA (One For All) fra Klemme ansiktet til Amazon SageMaker for bildetekst
  3. Amazon-anerkjennelse for ansiktsgjenkjenning

For en mer detaljert oversikt over hvorfor vi valgte en serverløs arkitektur, synkron arbeidsflyt, ekspresstrinnfunksjoner arbeidsflyt, hodeløs arkitektur og fordelene vi oppnådde, vennligst les vårt forrige blogginnlegg Gjør det mulig for synshemmede å høre dokumenter ved hjelp av Amazon Textract og Amazon Polly

Parallell prosessering

Ved å bruke parallell prosessering i arbeidsflyten Step Functions reduserte beregningstiden med opptil 48 %. Når brukeren laster opp bildet til S3-bøtten, instansierer Amazon API Gateway en arbeidsflyt for AWS Step Functions. Deretter behandler de tre lambdafunksjonene nedenfor bildet parallelt i arbeidsflyten Step Functions.

  • Den første Lambda-funksjonen kalt describe_image analyserer bildet ved hjelp av OFA_IMAGE_CAPTION modell vert på et SageMaker sanntidsendepunkt for å gi bildetekst.
  • Den andre Lambda-funksjonen kalles describe_faces sjekker først om det er ansikter som bruker Amazon Rekognitions Oppdag Faces API, og hvis det er sant, kaller det Compare Faces API. Grunnen til dette er at Compare Faces vil gi en feilmelding hvis det ikke er noen ansikter funnet i bildet. Dessuten er det raskere å ringe Oppdag ansikter først enn bare å kjøre Sammenlign ansikter og håndteringsfeil, så for bilder uten ansikter i dem, vil behandlingstiden være raskere.
  • Den tredje Lambda-funksjonen kalles extract_text håndterer tekst-til-tale ved å bruke Amazon Textract og Amazon Comprehend.

Å utføre Lambda-funksjonene etter hverandre er passende, men den raskere og mer effektive måten å gjøre dette på er gjennom parallell prosessering. Følgende tabell viser beregningstiden som er lagret for tre eksempelbilder.

Bilde Ansatte Sekvensiell tid Parallell tid Tidsbesparelser (%) Bildetekst
Vi introduserer en bilde-til-tale generativ AI-applikasjon som bruker Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. 0 1869ms 1702ms 8% En tabby katt krøllet sammen i en myk hvit seng.
Vi introduserer en bilde-til-tale generativ AI-applikasjon som bruker Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. 1 4277ms 2197ms 48% En kvinne i grønn bluse og svart cardigan smiler til kameraet. Jeg kjenner igjen én person: Kanbo.
Vi introduserer en bilde-til-tale generativ AI-applikasjon som bruker Amazon SageMaker og Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. 4 6603ms 3904ms 40% Folk som står foran Amazonas-sfærene. Jeg kjenner igjen 3 personer: Kanbo, Jack og Ayman.

Bildetekst

Hugging Face er en åpen kildekode-fellesskap og datavitenskapsplattform som lar brukere dele, bygge, trene og distribuere maskinlæringsmodeller. Etter å ha utforsket modeller tilgjengelig i Hugging Face-modellhuben, valgte vi å bruke OFA modell fordi som beskrevet av forfatterne, er det "et oppgave-agnostisk og modalitets-agnostisk rammeverk som støtter Task Comprehensiveness".

OFA er et skritt mot "One For All", ettersom det er en enhetlig multimodal forhåndstrent modell som effektivt kan overføres til en rekke nedstrømsoppgaver. Mens OFA-modellen støtter mange oppgaver, inkludert visuell forankring, språkforståelse og bildegenerering, brukte vi OFA-modell for bildeteksting i Describe For Me-prosjektet for å utføre bilde-til-tekst-delen av applikasjonen. Sjekk ut det offisielle depotet til OFA (ICML 2022), papir for å lære om OFAs samlende arkitekturer, oppgaver og modaliteter gjennom et enkelt sekvens-til-sekvens-læringsrammeverk.

For å integrere OFA i applikasjonen vår klonet vi repoen fra Hugging Face og containeriserte modellen for å distribuere den til et SageMaker-endepunkt. De notatbok i denne repoen er en utmerket guide for å distribuere den store OFA-modellen i en Jupyter-notisbok i SageMaker. Etter containerisering av slutningsskriptet ditt, er modellen klar til å distribueres bak et SageMaker-endepunkt som beskrevet i SageMaker dokumentasjon. Når modellen er distribuert, lag et HTTPS-endepunkt som kan integreres med «describe_image»-lambda-funksjonen som analyserer bildet for å lage bildeteksten. Vi implementerte den lille OFA-modellen fordi den er en mindre modell og kan distribueres på kortere tid samtidig som den oppnår lignende ytelse.

Eksempler på bilde-til-tale-innhold generert av "Beskriv for meg" er vist nedenfor:

Aurora borealis, eller nordlyset, fyller nattehimmelen over en silhuett av et hus.

Aurora borealis, eller nordlyset, fyller nattehimmelen over en silhuett av et hus.

En hund sover på et rødt teppe på et tregulv, ved siden av en åpen koffert fylt med leker.

En hund sover på et rødt teppe på et tregulv, ved siden av en åpen koffert fylt med leker.

En tabby katt krøllet sammen i en myk hvit seng.

En tabby katt krøllet sammen i en myk hvit seng.

Ansiktsgjenkjenning

Amazon Rekognition Image gir Oppdag ansikter operasjon som ser etter viktige ansiktstrekk som øyne, nese og munn for å oppdage ansikter i et inndatabilde. I løsningen vår utnytter vi denne funksjonaliteten for å oppdage alle personer i inndatabildet. Hvis en person oppdages, bruker vi deretter Sammenlign ansikter operasjon for å sammenligne ansiktet i inndatabildet med ansiktene som "Describe For Me" har blitt trent med og beskrive personen ved navn. Vi valgte å bruke Rekognition for ansiktsgjenkjenning på grunn av den høye nøyaktigheten og hvor enkelt det var å integrere i applikasjonen vår med ferdige muligheter.

En gruppe mennesker poserer for et bilde i et rom. Jeg kjenner igjen 4 personer: Jack, Kanbo, Alak og Trac. Det var tekst funnet i bildet også. Det står: AWS re: Invent

En gruppe mennesker poserer for et bilde i et rom. Jeg kjenner igjen 4 personer: Jack, Kanbo, Alak og Trac. Det var tekst funnet i bildet også. Det står: AWS re: Invent

Potensielle brukstilfeller

Alternativ tekstgenerering for nettbilder

Alle bilder på et nettsted må ha en alternativ tekst slik at skjermlesere kan snakke dem til synshemmede. Det er også bra for søkemotoroptimalisering (SEO). Å lage alt bildetekster kan være tidkrevende siden en tekstforfatter har i oppgave å gi dem i et designdokument. Describe For Me API kan automatisk generere alt-tekst for bilder. Det kan også brukes som en nettleserplugin for automatisk å legge til bildetekst til bilder som mangler alt-tekst på et hvilket som helst nettsted.

Lydbeskrivelse for video

Lydbeskrivelse gir et fortellerspor for videoinnhold for å hjelpe synshemmede å følge med på filmer. Etter hvert som bildeteksten blir mer robust og nøyaktig, kan en arbeidsflyt som involverer opprettelsen av et lydspor basert på beskrivelser for viktige deler av en scene være mulig. Amazon Rekognition kan allerede oppdage sceneendringer, logoer og kredittsekvenser og kjendisgjenkjenning. En fremtidig versjon av describe vil tillate automatisering av denne nøkkelfunksjonen for filmer og videoer.

konklusjonen

I dette innlegget diskuterte vi hvordan du bruker AWS-tjenester, inkludert AI og serverløse tjenester, for å hjelpe synshemmede å se bilder. Du kan lære mer om Describe For Me-prosjektet og bruke det ved å besøke describeforme.com. Lær mer om de unike egenskapene til Amazon SageMakerAmazon-gjenkjenning og AWS-samarbeid med Hugging Face.

Tredjeparts ML-modell Ansvarsfraskrivelse for veiledning

Denne veiledningen er kun til informasjonsformål. Du bør fortsatt utføre din egen uavhengige vurdering og iverksette tiltak for å sikre at du overholder dine egne spesifikke kvalitetskontrollpraksiser og standarder, og de lokale reglene, lovene, forskriftene, lisensene og bruksvilkårene som gjelder for deg, innholdet ditt og maskinlæringsmodellen fra tredjeparter som det refereres til i denne veiledningen. AWS har ingen kontroll eller autoritet over tredjeparts Machine Learning-modellen det refereres til i denne veiledningen, og gir ingen representasjoner eller garantier for at tredjeparts Machine Learning-modellen er sikker, virusfri, operativ eller kompatibel med produksjonsmiljøet ditt. og standarder. AWS gir ingen representasjoner, garantier eller garanterer at informasjon i denne veiledningen vil resultere i et bestemt resultat eller resultat.


Om forfatterne

Jack MarchettiJack Marchetti er en senior løsningsarkitekt hos AWS med fokus på å hjelpe kunder med å modernisere og implementere serverløse, hendelsesdrevne arkitekturer. Jack er juridisk blind og bor i Chicago sammen med kona Erin og katten Minou. Han er også manusforfatter og regissør med hovedfokus på julefilmer og skrekk. Se Jacks filmografi på hans IMDb-side.

Alak EswaradassAlak Eswaradass er senior løsningsarkitekt ved AWS med base i Chicago, Illinois. Hun brenner for å hjelpe kunder med å designe skyarkitekturer ved å bruke AWS-tjenester for å løse forretningsutfordringer. Alak er begeistret for å bruke SageMaker til å løse en rekke ML-brukstilfeller for AWS-kunder. Når hun ikke jobber, liker Alak å tilbringe tid med døtrene sine og utforske naturen med hundene sine.

Kandyce BohannonKandyce Bohannon er en senior løsningsarkitekt basert i Minneapolis, MN. I denne rollen jobber Kandyce som teknisk rådgiver for AWS-kunder når de moderniserer teknologistrategier spesielt relatert til data og DevOps for å implementere beste praksis i AWS. I tillegg er Kandyce lidenskapelig opptatt av å veilede fremtidige generasjoner av teknologer og vise frem kvinner innen teknologi gjennom programmet AWS She Builds Tech Skills.

Trac DoTrac Do er løsningsarkitekt hos AWS. I sin rolle jobber Trac med bedriftskunder for å støtte deres skymigrasjoner og applikasjonsmoderniseringsinitiativer. Han brenner for å lære kundenes utfordringer og løse dem med robuste og skalerbare løsninger ved hjelp av AWS-tjenester. Trac bor for tiden i Chicago med sin kone og 3 gutter. Han er en stor luftfartsentusiast og er i ferd med å fullføre sin private pilotlisens.

Tidstempel:

Mer fra AWS maskinlæring