Predstavljamo aplikacijo Generative AI za pretvorbo slike v govor z uporabo Amazon SageMaker in Hugging Face | Spletne storitve Amazon

Predstavljamo aplikacijo Generative AI za pretvorbo slike v govor z uporabo Amazon SageMaker in Hugging Face | Spletne storitve Amazon

Izguba vida se pojavi v različnih oblikah. Za nekatere je to že od rojstva, za druge pa počasen spust skozi čas, ki je povezan s številnimi roki uporabnosti: dan, ko ne morete videti slik, prepoznati sebe ali obrazov svojih ljubljenih ali celo prebrati svoje pošte. V naši prejšnji objavi v blogu Omogočite slabovidnim, da slišijo dokumente z uporabo Amazon Texttract in Amazon Polly, smo vam pokazali našo aplikacijo Besedilo v govor, imenovano "Preberi zame". Dostopnost je daleč napredovala, kaj pa slike?

Na konferenci AWS re:Invent leta 2022 v Las Vegasu smo demonstrirali "Opiši zame" na sejmu AWS Builders' Fair, spletnem mestu, ki slabovidnim pomaga razumeti slike prek napisov slike, prepoznavanja obraza in pretvorbe besedila v govor, tehnologije, ki jo imenujemo »Slika v govor«. Z uporabo več storitev AI/ML »Describe For Me« ustvari napis vhodne slike in ga prebere z jasnim, naravno zvenečim glasom v različnih jezikih in narečjih.

V tej objavi v spletnem dnevniku vas popeljemo skozi arhitekturo rešitve, ki stoji za »Describe For Me«, in pomisleke glede oblikovanja naše rešitve.

Pregled rešitve

Naslednja referenčna arhitektura prikazuje potek dela uporabnika, ki posname sliko s telefonom in predvaja MP3 z napisom slike.

Referenčna arhitektura za opisano rešitev.

Potek dela vključuje spodnje korake,

  1. Ojačaj AWS distribuira spletno aplikacijo DescribeForMe, ki jo sestavljajo HTML, JavaScript in CSS, v mobilne naprave končnih uporabnikov.
  2. O Amazon Cognito Bazen identitet omogoča začasen dostop do Amazon S3 vedro.
  3. Uporabnik naloži slikovno datoteko v Amazon S3 uporabo vedra AWS SDK prek spletne aplikacije.
  4. Spletna aplikacija DescribeForMe prikliče zaledne storitve AI tako, da pošlje Amazon S3 predmet Vnesite koristni tovor za Amazon API Gateway
  5. Amazon API Gateway instancira an Korak funkcije AWS potek dela. Državni stroj usmerja storitve umetne inteligence/strojnega učenja (AI/ML) Amazonsko ponovno vžiganje, Amazon SageMakerAmazonovo besedilo, Amazon Translate, in Amazon Polly  uporabo AWS lambda funkcije.
  6. O Korak funkcije AWS workflow ustvari zvočno datoteko kot izhod in jo shrani Amazon S3 v formatu MP3.
  7. Vnaprej podpisan URL z lokacijo zvočne datoteke, shranjene v Amazon S3 se pošlje nazaj v uporabnikov brskalnik prek Amazon API Gateway. Uporabnikova mobilna naprava predvaja zvočno datoteko z vnaprej podpisanim URL-jem.

Vodenje rešitve

V tem razdelku se osredotočamo na razloge za našo izbiro

  1. vzporedna obdelava znotraj an Korak funkcije AWS potek dela
  2. poenoten vnaprej usposobljen model strojnega učenja od zaporedja do zaporedja OFA (One For All) iz Objemni obraz do Amazon SageMaker za napis slike
  3. Amazonsko ponovno vžiganje za prepoznavanje obraza

Za podrobnejši pregled, zakaj smo izbrali brezstrežniško arhitekturo, sinhroni potek dela, potek dela s hitrimi stopenjskimi funkcijami, brezglavo arhitekturo in pridobljene prednosti, preberite našo prejšnjo objavo v spletnem dnevniku Omogočite slabovidnim, da slišijo dokumente z uporabo Amazon Texttract in Amazon Polly

Vzporedno obdelovanje

Uporaba vzporedne obdelave v delovnem toku Step Functions je skrajšala računski čas do 48 %. Ko uporabnik naloži sliko v vedro S3, Amazon API Gateway sproži potek dela AWS Step Functions. Nato spodnje tri funkcije Lambda vzporedno obdelajo sliko znotraj delovnega toka stopenjskih funkcij.

  • Prva poklicana funkcija Lambda describe_image analizira sliko z uporabo OFA_IMAGE_CAPTION model gostuje na končni točki SageMaker v realnem času za zagotavljanje napisov slike.
  • Druga klicana funkcija Lambda describe_faces najprej preveri, ali obstajajo obrazi z uporabo Amazon Rekognition's API za zaznavanje obrazov, in če je res, pokliče Compare Faces API. Razlog za to je, da bo Primerjava obrazov sprožila napako, če na sliki ni obrazov. Poleg tega je klic funkcije Detect Faces first hitrejši od preprostega zagona Compare Faces in obravnavanja napak, tako da bo za slike brez obrazov čas obdelave hitrejši.
  • Tretja poklicana funkcija Lambda extract_text obravnava pretvorbo besedila v govor z uporabo Amazon Texttract in Amazon Comprehend.

Zaporedno izvajanje funkcij Lambda je primerno, vendar je hitrejši in učinkovitejši način za to z vzporedno obdelavo. Naslednja tabela prikazuje čas izračuna, prihranjen za tri vzorčne slike.

Image ljudje Zaporedni čas Vzporedni čas Prihranek časa (%) napis
Predstavljamo aplikacijo Generative AI za pretvorbo slike v govor z uporabo Amazon SageMaker in Hugging Face | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. 0 1869ms 1702ms 8% Šibasta mačka, zvita v puhasti beli postelji.
Predstavljamo aplikacijo Generative AI za pretvorbo slike v govor z uporabo Amazon SageMaker in Hugging Face | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. 1 4277ms 2197ms 48% Ženska v zeleni bluzi in črni jopici se smehlja v kamero. Prepoznam eno osebo: Kanbo.
Predstavljamo aplikacijo Generative AI za pretvorbo slike v govor z uporabo Amazon SageMaker in Hugging Face | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. 4 6603ms 3904ms 40% Ljudje, ki stojijo pred Amazon Spheres. Prepoznam 3 osebe: Kanbo, Jack in Ayman.

Opis slike

Hugging Face je odprtokodna skupnost in platforma podatkovne znanosti, ki uporabnikom omogoča skupno rabo, gradnjo, usposabljanje in uvajanje modelov strojnega učenja. Po raziskovanju modelov, ki so na voljo v središču modelov Hugging Face, smo se odločili za uporabo model OFA ker kot so opisali avtorji, je to "ogrodje, ki ne vpliva na naloge in modalnosti, ki podpira celovitost nalog".

OFA je korak k »Enemu za vse«, saj je poenoten večmodalni vnaprej pripravljen model, ki se lahko učinkovito prenese na številne nižje naloge. Čeprav model OFA podpira številne naloge, vključno z vizualnim utrjevanjem, razumevanjem jezika in ustvarjanjem slik, smo uporabili Model OFA za podnapisovanje slik v projektu Describe For Me, da izvedete slikovno-besedilni del aplikacije. Oglejte si uradni repozitorij OFA (ICML 2022), papirja če želite izvedeti več o poenotenju arhitektur, nalog in modalitet OFA prek preprostega učnega ogrodja od zaporedja do zaporedja.

Za integracijo OFA v našo aplikacijo smo klonirali repo iz Hugging Face in pospravili model v vsebnike, da bi ga razmestili na končno točko SageMaker. The zvezek v tem skladišču je odličen vodnik za namestitev velikega modela OFA v prenosni računalnik Jupyter v SageMakerju. Po tem, ko svoj sklepni skript pospravite v vsebnik, je model pripravljen za namestitev za končno točko SageMaker, kot je opisano v SageMaker Dokumentacija. Ko je model uveden, ustvarite končno točko HTTPS, ki jo je mogoče integrirati z lambda funkcijo »describe_image«, ki analizira sliko, da ustvari napis slike. Drobni model OFA smo uvedli, ker je manjši model in ga je mogoče uvesti v krajšem času, hkrati pa dosegati podobno zmogljivost.

Spodaj so prikazani primeri vsebine iz slike v govor, ki jo ustvari »Describe For Me«:

Aurora borealis ali severni sij napolnjuje nočno nebo nad silhueto hiše.

Aurora borealis ali severni sij napolnjuje nočno nebo nad silhueto hiše.

Pes spi na rdeči odeji na parketu, poleg odprtega kovčka, polnega igrač.

Pes spi na rdeči odeji na parketu, poleg odprtega kovčka, polnega igrač.

Šibasta mačka, zvita v puhasti beli postelji.

Šibasta mačka, zvita v puhasti beli postelji.

Prepoznavanje obraza

Amazon Rekognition Image zagotavlja DetectFaces delovanje, ki išče ključne poteze obraza, kot so oči, nos in usta, da zazna obraze na vhodni sliki. V naši rešitvi izkoriščamo to funkcionalnost za zaznavanje vseh ljudi na vhodni sliki. Če je oseba odkrita, uporabimo CompareFaces operacijo za primerjavo obraza na vhodni sliki z obrazi, s katerimi je bil učen »Describe For Me«, in osebo opišite po imenu. Za uporabo Rekognition za zaznavanje obrazov smo se odločili zaradi visoke natančnosti in kako preprosta je bila integracija v našo aplikacijo z vnaprej pripravljenimi zmogljivostmi.

Skupina ljudi pozira za sliko v sobi. Prepoznam 4 osebe: Jack, Kanbo, Alak in Trac. Na sliki je bilo tudi besedilo. Piše: AWS re: Invent

Skupina ljudi pozira za sliko v sobi. Prepoznam 4 osebe: Jack, Kanbo, Alak in Trac. Na sliki je bilo tudi besedilo. Piše: AWS re: Invent

Primeri potencialne uporabe

Generiranje nadomestnega besedila za spletne slike

Vse slike na spletnem mestu morajo imeti alternativno besedilo, da jih lahko bralniki zaslona predstavijo slabovidnim. Dober je tudi za optimizacijo iskalnikov (SEO). Ustvarjanje nadomestnih napisov je lahko zamudno, saj je pisec besedil zadolžen, da jih zagotovi v oblikovalskem dokumentu. API Describe For Me lahko samodejno ustvari nadomestno besedilo za slike. Lahko bi ga uporabili tudi kot vtičnik brskalnika za samodejno dodajanje napisov slikam na katerem koli spletnem mestu, ki jim manjka nadomestno besedilo.

Avdio opis za video

Zvočni opis ponuja pripovedovalski posnetek za video vsebino, ki slabovidnim pomaga spremljati filme. Ko postanejo podnapisi slik robustnejši in natančnejši, je lahko mogoč potek dela, ki vključuje ustvarjanje zvočnega posnetka na podlagi opisov za ključne dele scene. Amazon Rekognition lahko že zazna spremembe scene, logotipe in zaporedja avtorjev ter zaznavanje slavnih. Prihodnja različica describe bi omogočila avtomatizacijo te ključne funkcije za filme in videe.

zaključek

V tej objavi smo razpravljali o tem, kako uporabljati storitve AWS, vključno z umetno inteligenco in brezstrežniškimi storitvami, da slabovidnim pomagamo videti slike. Več o projektu Describe For Me lahko izveste in ga uporabite tako, da obiščete describeforme.com. Izvedite več o edinstvenih lastnostih Amazon SageMakerAmazon Rekognition in Partnerstvo AWS z Hugging Face.

Zavrnitev odgovornosti za model tretje osebe za smernice

Ta navodila so samo informativne narave. Še vedno bi morali opraviti lastno neodvisno oceno in sprejeti ukrepe za zagotovitev skladnosti s svojimi posebnimi praksami in standardi nadzora kakovosti ter lokalnimi pravili, zakoni, predpisi, licencami in pogoji uporabe, ki veljajo za vas, vašo vsebino in model strojnega učenja tretje osebe, na katerega se sklicuje ta navodila. AWS nima nikakršnega nadzora ali pooblastila nad modelom strojnega učenja tretjih oseb, navedenim v teh navodilih, in ne daje nobenih izjav ali jamstev, da je model strojnega učenja tretjih oseb varen, brez virusov, delujoč ali združljiv z vašim produkcijskim okoljem in standardi. AWS ne daje nobenih izjav, jamstev ali jamstev, da bodo katere koli informacije v teh navodilih privedle do določenega izida ali rezultata.


O avtorjih

Jack MarchettiJack Marchetti je višji arhitekt za rešitve pri AWS, ki se osredotoča na pomoč strankam pri posodobitvi in ​​implementaciji brezstrežniških arhitektur, ki temeljijo na dogodkih. Jack je pravno slep in živi v Chicagu s svojo ženo Erin in mačko Minou. Je tudi scenarist in režiser, ki se osredotoča predvsem na božične filme in grozljivke. Oglejte si Jackovo filmografijo pri njem Stran IMDb.

Alak EswaradassAlak Eswaradass je višji arhitekt za rešitve pri AWS s sedežem v Chicagu, Illinois. Strastno želi pomagati strankam pri oblikovanju arhitektur v oblaku z uporabo storitev AWS za reševanje poslovnih izzivov. Alak je navdušen nad uporabo SageMakerja za reševanje različnih primerov uporabe ML za stranke AWS. Ko ne dela, Alak uživa v preživljanju časa s svojima hčerkama in raziskovanju na prostem s svojimi psi.

Kandyce BohannonKandyce Bohannon je višji arhitekt rešitev s sedežem v Minneapolisu, MN. V tej vlogi Kandyce dela kot tehnični svetovalec strankam AWS, ko posodabljajo tehnološke strategije, zlasti povezane s podatki in DevOps, za implementacijo najboljših praks v AWS. Poleg tega je Kandyce navdušena nad mentorstvom prihodnjim generacijam tehnologov in predstavljanjem žensk v tehnologiji prek programa AWS She Builds Tech Skills.

Trac DoTrac Do je arhitekt rešitev pri AWS. V svoji vlogi Trac sodeluje s podjetniškimi strankami, da bi podprl njihove migracije v oblak in pobude za posodobitev aplikacij. Navdušen je nad učenjem izzivov strank in njihovim reševanjem z robustnimi in razširljivimi rešitvami z uporabo storitev AWS. Trac trenutno živi v Chicagu z ženo in tremi fanti. Je velik ljubitelj letalstva in je v procesu dokončanja licence zasebnega pilota.

Časovni žig:

Več od Strojno učenje AWS