Przedstawiamy aplikację Generative AI przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face | Usługi sieciowe Amazona

Przedstawiamy aplikację Generative AI przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face | Usługi sieciowe Amazona

Utrata wzroku ma różne formy. Dla niektórych jest to od urodzenia, dla innych jest to powolny spadek w czasie, który ma wiele dat wygaśnięcia: dzień, w którym nie możesz zobaczyć zdjęć, rozpoznać siebie lub twarzy bliskich, a nawet przeczytać poczty. W naszym poprzednim wpisie na blogu Umożliw osobom niedowidzącym słyszenie dokumentów za pomocą Amazon Texttract i Amazon Polly, pokazaliśmy Ci naszą aplikację zamiany tekstu na mowę o nazwie „Przeczytaj dla mnie”. Dostępność przeszła długą drogę, ale co z obrazami?

Pokazaliśmy to na konferencji AWS re:Invent 2022 w Las Vegas „Opisz mi” na AWS Builders' Fair, stronie internetowej, która pomaga osobom niedowidzącym zrozumieć obrazy poprzez podpisy obrazów, rozpoznawanie twarzy i zamianę tekstu na mowę, technologię, którą nazywamy „obrazem na mowę”. Korzystając z wielu usług AI/ML, „Opisz dla mnie” generuje podpis obrazu wejściowego i odczytuje go czystym, naturalnie brzmiącym głosem w różnych językach i dialektach.

W tym poście na blogu przeprowadzimy Cię przez architekturę rozwiązania stojącą za „Opisuj dla mnie” oraz rozważania projektowe naszego rozwiązania.

Omówienie rozwiązania

Poniższa architektura referencyjna przedstawia przepływ pracy użytkownika wykonującego zdjęcie telefonem i odtwarzającego plik MP3 z podpisem obrazu.

Architektura referencyjna dla opisywanego rozwiązania.

Przepływ pracy obejmuje poniższe kroki,

  1. Wzmocnienie AWS dystrybuuje aplikację internetową DescribeForMe składającą się z HTML, JavaScript i CSS na urządzenia mobilne użytkowników końcowych.
  2. Połączenia Amazon Cognito Pula tożsamości zapewnia tymczasowy dostęp do Amazon S3 wiadro.
  3. Użytkownik przesyła plik obrazu do Amazon S3 wiadro za pomocą Pakiet AWS za pośrednictwem aplikacji internetowej.
  4. Aplikacja internetowa DescribeForMe wywołuje usługi sztucznej inteligencji zaplecza, wysyłając plik Amazon S3 object Wprowadź ładunek do Brama Amazon API
  5. Brama Amazon API tworzy instancję Funkcje kroków AWS przepływ pracy. Maszyna stanu koordynuje usługi sztucznej inteligencji/uczenia maszynowego (AI/ML). Amazon Rekognition, Amazon Sage MakerEkstrakt z amazonki, Tłumacz Amazona, i Amazon Polly  za pomocą Lambda AWS funkcje.
  6. Połączenia Funkcje kroków AWS workflow tworzy plik audio jako dane wyjściowe i zapisuje go w Amazon S3 w formacie MP3.
  7. Wstępnie podpisany adres URL z lokalizacją zapisanego pliku audio Amazon S3 jest odsyłany z powrotem do przeglądarki użytkownika za pośrednictwem Brama Amazon API. Urządzenie mobilne użytkownika odtwarza plik audio przy użyciu wstępnie podpisanego adresu URL.

Przewodnik po rozwiązaniu

W tej sekcji skupimy się na rozważaniach projektowych, dlaczego wybraliśmy

  1. przetwarzanie równoległe w ramach Funkcje kroków AWS workflow
  2. ujednolicony model uczenia maszynowego OFA (jeden za wszystkich) z sekwencji do sekwencji Przytulanie Twarzy do Amazon Sage Maker dla podpisu obrazu
  3. Amazon Rekognition do rozpoznawania twarzy

Aby uzyskać bardziej szczegółowy przegląd powodów, dla których wybraliśmy architekturę bezserwerową, synchroniczny przepływ pracy, przepływ pracy z ekspresowymi funkcjami krokowymi, architekturę bezobsługową i uzyskane korzyści, przeczytaj nasz poprzedni post na blogu Umożliw osobom niedowidzącym słyszenie dokumentów za pomocą Amazon Texttract i Amazon Polly

Przetwarzanie równoległe

Zastosowanie przetwarzania równoległego w przepływie pracy Step Functions skróciło czas obliczeń nawet o 48%. Gdy użytkownik prześle obraz do segmentu S3, Amazon API Gateway tworzy instancję przepływu pracy AWS Step Functions. Następnie trzy poniższe funkcje Lambda przetwarzają obraz w przepływie pracy Step Functions równolegle.

  • Pierwsza wywołana funkcja Lambda describe_image analizuje obraz za pomocą Model OFA_IMAGE_CAPTION hostowane na punkcie końcowym SageMaker w czasie rzeczywistym, aby zapewnić podpis obrazu.
  • Druga funkcja Lambda o nazwie describe_faces najpierw sprawdza, czy są twarze korzystające z Amazon Rekognition Interfejs API wykrywania twarzy, a jeśli to prawda, wywołuje interfejs API Porównaj twarze. Powodem tego jest to, że funkcja Porównaj twarze zgłosi błąd, jeśli na obrazie nie zostaną znalezione żadne twarze. Ponadto wywołanie funkcji Wykryj twarze w pierwszej kolejności jest szybsze niż zwykłe uruchomienie funkcji Porównaj twarze i obsługa błędów, więc w przypadku obrazów bez twarzy czas przetwarzania będzie krótszy.
  • Wywołano trzecią funkcję Lambda extract_text obsługuje zamianę tekstu na mowę z wykorzystaniem Amazon Texttract i Amazon Comprehend.

Wykonywanie funkcji Lambda po kolei jest odpowiednie, ale szybszym i wydajniejszym sposobem jest przetwarzanie równoległe. W poniższej tabeli przedstawiono czas obliczeń zapisany dla trzech przykładowych obrazów.

Obraz Ludzie Czas sekwencyjny Czas równoległy Oszczędność czasu (%) Podpis
Przedstawiamy aplikację generującą sztuczną inteligencję przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. 0 1869ms 1702ms 8% Pręgowany kot zwinięty w kłębek w puszystym białym łóżku.
Przedstawiamy aplikację generującą sztuczną inteligencję przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. 1 4277ms 2197ms 48% Kobieta w zielonej bluzce i czarnym swetrze uśmiecha się do kamery. Rozpoznaję jedną osobę: Kanbo.
Przedstawiamy aplikację generującą sztuczną inteligencję przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face | Amazon Web Services PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. 4 6603ms 3904ms 40% Ludzie stojący przed sferami Amazonii. Rozpoznaję 3 osoby: Kanbo, Jacka i Aymana.

Tytuł Zdjęcia

Hugging Face to społeczność typu open source i platforma do nauki o danych, która umożliwia użytkownikom udostępnianie, tworzenie, trenowanie i wdrażanie modeli uczenia maszynowego. Po zapoznaniu się z modelami dostępnymi w centrum modeli Hugging Face, zdecydowaliśmy się na użycie Model OFA ponieważ, jak opisali autorzy, jest to „rama niezależna od zadań i modalności, która wspiera kompleksowość zadań”.

OFA jest krokiem w kierunku „Jeden za wszystkich”, ponieważ jest ujednoliconym, multimodalnym, wstępnie wyszkolonym modelem, który może skutecznie przenosić się do szeregu zadań na niższym szczeblu. Podczas gdy model OFA obsługuje wiele zadań, w tym podstawy wizualne, rozumienie języka i generowanie obrazów, użyliśmy modelu Model OFA dla podpisów obrazów w projekcie Opisz dla mnie, aby wykonać część aplikacji z obrazem na tekst. Sprawdź oficjalne repozytorium OFA (ICML 2022), papier aby dowiedzieć się o ujednoliconych architekturach, zadaniach i modalnościach OFA za pomocą prostej struktury uczenia się od sekwencji do sekwencji.

Aby zintegrować OFA z naszą aplikacją, sklonowaliśmy repozytorium z Hugging Face i przenieśliśmy model do kontenera, aby wdrożyć go w punkcie końcowym SageMaker. The notatnik w tym repozytorium jest doskonałym przewodnikiem po wdrożeniu dużego modelu OFA w notebooku Jupyter w SageMaker. Po konteneryzacji skryptu wnioskowania model jest gotowy do wdrożenia za punktem końcowym SageMaker, jak opisano w SageMaker dokumentacja. Po wdrożeniu modelu utwórz punkt końcowy HTTPS, który można zintegrować z funkcją lambda „describe_image”, która analizuje obraz w celu utworzenia podpisu obrazu. Wdrożyliśmy malutki model OFA, ponieważ jest to mniejszy model i można go wdrożyć w krótszym czasie, osiągając podobną wydajność.

Przykłady treści obrazu na mowę generowanych przez „Opisz dla mnie” pokazano poniżej:

Zorza polarna, czyli zorza polarna, wypełnia nocne niebo nad sylwetką domu.

Zorza polarna, czyli zorza polarna, wypełnia nocne niebo nad sylwetką domu.

Pies śpi na czerwonym kocu na drewnianej podłodze, obok otwartej walizki wypełnionej zabawkami.

Pies śpi na czerwonym kocu na drewnianej podłodze, obok otwartej walizki wypełnionej zabawkami.

Pręgowany kot zwinięty w kłębek w puszystym białym łóżku.

Pręgowany kot zwinięty w kłębek w puszystym białym łóżku.

Rozpoznawanie twarzy

Amazon Rekognition Image zapewnia Wykryj twarze operacja, która wyszukuje kluczowe cechy twarzy, takie jak oczy, nos i usta, w celu wykrycia twarzy na obrazie wejściowym. W naszym rozwiązaniu wykorzystujemy tę funkcjonalność do wykrywania osób na obrazie wejściowym. Jeśli osoba zostanie wykryta, użyjemy następnie PorównajTwarze operacja polegająca na porównaniu twarzy na obrazie wejściowym z twarzami, których „Opisz dla mnie” została przeszkolona i opisanie osoby po imieniu. Zdecydowaliśmy się na użycie Rekognition do wykrywania twarzy ze względu na wysoką dokładność i prostotę integracji z naszą aplikacją z gotowymi możliwościami.

Grupa ludzi pozujących do zdjęcia w pokoju. Rozpoznaję 4 osoby: Jacka, Kanbo, Alaka i Traca. Na obrazie znalazł się również tekst. Brzmi: AWS re: Invent

Grupa ludzi pozujących do zdjęcia w pokoju. Rozpoznaję 4 osoby: Jacka, Kanbo, Alaka i Traca. Na obrazie znalazł się również tekst. Brzmi: AWS re: Invent

Potencjalne przypadki użycia

Alternatywne generowanie tekstu dla obrazów internetowych

Wszystkie obrazy na stronie internetowej muszą mieć alternatywny tekst, aby czytniki ekranu mogły je przekazać osobom niedowidzącym. Jest również dobry do optymalizacji wyszukiwarek (SEO). Tworzenie napisów alternatywnych może być czasochłonne, ponieważ zadaniem copywritera jest dostarczenie ich w dokumencie projektowym. Interfejs API Describe For Me może automatycznie generować tekst alternatywny dla obrazów. Można go również wykorzystać jako wtyczkę przeglądarki do automatycznego dodawania podpisów obrazów do obrazów, w których brakuje tekstu alternatywnego na dowolnej stronie internetowej.

Audiodeskrypcja dla wideo

Audiodeskrypcja zapewnia ścieżkę narracji dla treści wideo, aby pomóc osobom niedowidzącym śledzić filmy. Ponieważ podpisy obrazów stają się bardziej niezawodne i dokładne, możliwy może być przepływ pracy obejmujący tworzenie ścieżki dźwiękowej na podstawie opisów kluczowych części sceny. Amazon Rekognition może już wykrywać zmiany scen, logo i sekwencje napisów, a także rozpoznawać celebrytów. Przyszła wersja opisu pozwoliłaby zautomatyzować tę kluczową funkcję dla filmów i wideo.

Wnioski

W tym poście omówiliśmy, jak korzystać z usług AWS, w tym sztucznej inteligencji i usług bezserwerowych, aby pomóc osobom niedowidzącym zobaczyć obrazy. Możesz dowiedzieć się więcej o projekcie Opisz dla mnie i skorzystać z niego, odwiedzając stronę opiszforme.com. Dowiedz się więcej o wyjątkowych cechach Amazon Sage MakerUznanie Amazona oraz Partnerstwo AWS z Hugging Face.

Wyłączenie odpowiedzialności dotyczące modelu ML strony trzeciej w celu uzyskania wskazówek

Niniejsze wskazówki służą wyłącznie celom informacyjnym. Powinieneś nadal przeprowadzać własną niezależną ocenę i podejmować środki w celu zapewnienia, że ​​przestrzegasz własnych praktyk i standardów kontroli jakości, a także lokalnych zasad, praw, regulacji, licencji i warunków użytkowania, które mają zastosowanie do ciebie, twoich treści i model uczenia maszynowego innej firmy, do którego odwołuje się ten przewodnik. AWS nie ma kontroli ani władzy nad modelem uczenia maszynowego innej firmy, o którym mowa w niniejszych wskazówkach, i nie składa żadnych oświadczeń ani nie gwarantuje, że model uczenia maszynowego innej firmy jest bezpieczny, wolny od wirusów, operacyjny lub zgodny ze środowiskiem produkcyjnym użytkownika i standardy. AWS nie składa żadnych oświadczeń, zapewnień ani gwarancji, że jakiekolwiek informacje zawarte w niniejszych wskazówkach doprowadzą do określonego wyniku lub rezultatu.


O autorach

Jacka MarchettiegoJacka Marchettiego jest starszym architektem rozwiązań w AWS i koncentruje się na pomocy klientom w modernizacji i wdrażaniu bezserwerowych architektur sterowanych zdarzeniami. Jack jest prawnie niewidomy i mieszka w Chicago ze swoją żoną Erin i kotem Minou. Jest także scenarzystą i reżyserem, skupiającym się głównie na filmach bożonarodzeniowych i horrorach. Zobacz filmografię Jacka na jego Strona IMDb.

Alaka EswaradassaAlaka Eswaradassa jest starszym architektem rozwiązań w AWS z siedzibą w Chicago, Illinois. Pasjonuje się pomaganiem klientom w projektowaniu architektur chmurowych wykorzystujących usługi AWS do rozwiązywania problemów biznesowych. Alak jest entuzjastycznie nastawiony do używania SageMakera do rozwiązywania różnych przypadków użycia ML dla klientów AWS. Kiedy nie pracuje, Alak lubi spędzać czas z córkami i spacerować na świeżym powietrzu ze swoimi psami.

Kandyce BohannonKandyce Bohannon jest starszym architektem rozwiązań z Minneapolis w stanie Minnesota. W tej roli Kandyce pracuje jako doradca techniczny klientów AWS, którzy modernizują strategie technologiczne, szczególnie związane z danymi i DevOps, w celu wdrożenia najlepszych praktyk w AWS. Ponadto Kandyce jest pasjonatem mentoringu dla przyszłych pokoleń technologów i prezentowania kobiet w dziedzinie technologii za pośrednictwem programu AWS She Builds Tech Skills.

Trac DoTrac Do jest architektem rozwiązań w AWS. W swojej roli Trac współpracuje z klientami korporacyjnymi, wspierając ich migracje do chmury i inicjatywy modernizacji aplikacji. Pasjonuje się poznawaniem wyzwań klientów i rozwiązywaniem ich za pomocą solidnych i skalowalnych rozwiązań wykorzystujących usługi AWS. Trac obecnie mieszka w Chicago z żoną i 3 chłopcami. Jest wielkim entuzjastą lotnictwa i jest w trakcie zdobywania licencji pilota turystycznego.

Znak czasu:

Więcej z Uczenie maszynowe AWS