Poznaj generatywną aplikację sztucznej inteligencji przetwarzającą obraz na mowę przy użyciu Amazon SageMaker i Hugging Face

30 maja 2023

Utrata wzroku ma różne formy. Dla niektórych ma miejsce od urodzenia, w przypadku innych jest to powoli pogarsza się z czasem, z wieloma „expiration dates”: dzień, w którym nie możesz zobaczyć zdjęć, rozpoznać siebie lub twarzy bliskich, a nawet przeczytać poczty. W poprzednim artykule Enable the Visually Impaired to Hear Documents using Amazon Textract and Amazon Polly autorzy zaprezentowali aplikację Text to Speech o nazwie „Read for Me”. Jej dostępność przeszła długą drogę, ale co w takim razie z obrazami?

Na konferencji AWS re:Invent 2022 w Las Vegas autorzy zaprezentowali “Describe for Me” na AWS Builders' Fair. Stronę internetową, która pomaga osobom niedowidzącym zrozumieć obrazy za pomocą podpisów, rozpoznawania twarzy i zamiany tekstu na mowę, technologię, którą nazywamy „Od obrazu do mowy”. Korzystając z wielu usług AI/ML, „Describe for me” generuje podpis obrazu wejściowego i odczytuje go czystym, naturalnie brzmiącym głosem w różnych językach i dialektach.

W tym artykule autorzy przeprowadzą Cię przez architekturę rozwiązania stojącą za „Describe For Me” oraz rozważania projektowe tegoż 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.

Poznaj generatywna aplikacje sztucznej inteligencji przetwarzajacaca obraz na mowe przy uzyciu Amazon SageMaker i Hugging Face

 

Przepływ pracy obejmuje poniższe kroki:

  1. AWS Amplify dystrybuuje aplikację internetową DescribeForMe składającą się z HTML, JavaScript i CSS na urządzenia mobilne użytkowników końcowych.
  2. Pula tożsamości Amazon Cognito zapewnia tymczasowy dostęp do zasobnika Amazon S3.
  3. Użytkownik przesyła plik obrazu do zasobnika Amazon S3 za pomocą AWS SDK za pośrednictwem aplikacji internetowej.
  4. Aplikacja internetowa DescribeForMe wywołuje usługi sztucznej inteligencji zaplecza, wysyłając klucz obiektu Amazon S3 w ładunku do Amazon API Gateway
  5. Amazon API Gateway tworzy instancję przepływu pracy AWS Step Functions. State Machine koordynuje usługi sztucznej inteligencji/uczenia maszynowego (AI/ML) Amazon Rekognition, Amazon SageMaker, Amazon Textract, Amazon Translate i Amazon Polly za pomocą funkcji lambda AWS.
  6. Przepływ pracy AWS Step Functions tworzy plik audio jako dane wyjściowe i przechowuje go w Amazon S3 w formacie MP3.
  7. Wstępnie podpisany adres URL z lokalizacją pliku audio przechowywanego w Amazon S3 jest odsyłany z powrotem do przeglądarki użytkownika przez Amazon API Gateway. Urządzenie mobilne użytkownika odtwarza plik audio przy użyciu wstępnie podpisanego adresu URL.

Przewodnik po rozwiązaniu

W tej sekcji autorzy skupią się na rozważaniach projektowych:

  1. Przetwarzanie równoległe w przepływie pracy AWS Step Functions
  2. Ujednolicony, wstępnie wytrenowany model uczenia maszynowego OFA (One For All) od Hugging Face do Amazon SageMaker do podpisów obrazów
  3. Amazon Rekognition do rozpoznawania twarzy

Aby uzyskać bardziej szczegółowy przegląd tego, dlaczego wybrano architekturę bezserwerową, synchroniczny przepływ pracy, przepływ pracy z funkcjami krokowymi, architekturę bezgłową i uzyskane korzyści, przeczytaj poprzedni artykuł na blogu Enable the Visually Impaired to Hear Documents using Amazon Textract and 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 funkcja Lambda o nazwie describe_image analizuje obraz przy użyciu modelu OFA_IMAGE_CAPTION hostowanego w punkcie końcowym SageMaker w czasie rzeczywistym, aby zapewnić podpis obrazu.
  • Druga funkcja Lambda o nazwie describe_faces najpierw sprawdza czy istnieją twarze, korzystając z interfejsu API Detect Faces firmy Amazon Rekognition, a jeśli to prawda, wywołuje interfejs Compare Faces API. Powodem tego jest to, że funkcja Compare Faces twarze zgłosi błąd, jeśli na obrazie nie zostaną znalezione żadne twarze. Ponadto wywołanie funkcji Detect Faces w pierwszej kolejności jest szybsze niż zwykłe uruchomienie funkcji Compare Faces i obsługi błędów, więc w przypadku obrazów bez twarzy czas przetwarzania będzie krótszy.
  • Trzecia funkcja Lambda o nazwie extract_text obsługuje zamianę tekstu na mowę przy użyciu 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.

Image People Sequential Time Parallel Time Time Savings (%) Caption
0 1869ms 1702ms 8% A tabby cat curled up in a fluffy white bed.
1 4277ms 2197ms 48% A woman in a green blouse and black cardigan smiles at the camera. I recognize one person: Kanbo.
4 6603ms 3904ms 40% People standing in front of the Amazon Spheres. I recognize 3 people: Kanbo, Jack, and Ayman.

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 modelu Hugging Face, autorzy zdecydowali się na model OFA, ponieważ, jak opisali jego twórcy, jest to „rama niezależna od zadań i modalności, która obsługuje wszechstronność 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żyto modelu OFA do podpisów obrazów w projekcie Describe for mnie, aby wykonać część aplikacji z obrazu na tekst. Sprawdź oficjalne repozytorium OFA (ICML 2022), aby dowiedzieć się o ujednoliconych architekturach, zadaniach i modalnościach OFA za pomocą prostej struktury uczenia się czyli sekwencja-sekwencja.

Aby zintegrować OFA z autorską aplikacją, twórcy sklonowali repozytorium z Hugging Face i przenieśli model do kontenera, aby wdrożyć go w punkcie końcowym SageMaker. Notatnik w tym repozytorium jest doskonałym przewodnikiem po wdrożeniu dużego modelu OFA w notatniku Jupyter w SageMaker. Po konteneryzacji skryptu wnioskowania model jest gotowy do wdrożenia za punktem końcowym SageMaker, jak opisano w dokumentacji SageMaker. 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 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 przekładu treści obrazu na mowę generowanych przez „Describe for me” zaprezentowano poniżej:

Poznaj generatywna aplikacje sztucznej inteligencji przetwarzajaca obraz na mowe przy uzyciu Amazon SageMaker i Hugging Face

ODTWÓRZ MP3

Poznaj generatywna aplikacje sztucznej inteligencji przetwarzajaca obraz na mowe przy uzyciu Amazon SageMaker i Hugging Face

ODTWÓRZ MP3

Poznaj generatywna aplikacje sztucznej inteligencji przetwarzajaca obraz na mowe przy uzyciu Amazon SageMaker i Hugging Face

ODTWÓRZ MP3

Facial recognition

Amazon Rekognition Image zapewnia operację DetectFaces, która wyszukuje kluczowe cechy twarzy, takie jak oczy, nos i usta, w celu wykrycia twarzy na obrazie wejściowym. W omawianym rozwiązaniu twórcy wykorzystują tę funkcjonalność do wykrywania osób na obrazie wejściowym. Jeśli osoba zostanie wykryta, użyją operacji CompareFaces, aby porównać twarz na obrazie wejściowym z twarzami, z którymi Describe for me został przeszkolony i opisać osobę według imienia. Zdecydowali się na użycie Rekognition do wykrywania twarzy ze względu na wysoką dokładność i prostotę integracji z autorską aplikacją z gotowymi możliwościami.

ODTWÓRZ MP3

Potencjalne przypadki użycia

Alternate Text Generation for web images

Wszystkie obrazy na stronie internetowej muszą mieć alternatywny tekst, aby czytniki ekranu mogły je przekazać osobom niedowidzącym. Jest również odpowiedni 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.

Audio Description for Video

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

Na podstawie tego artykułu autorzy omówili, 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 Describe For Me i korzystać z niego, odwiedzając opisforme.com. Dowiedz się więcej o unikalnych funkcjach Amazon SageMaker, Amazon Rekognition i partnerstwie AWS z Hugging Face.

 

Third Party ML Model Disclaimer for Guidance

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 obowiązujących 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 gwarancji, ż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 rezultatu lub rezultatu.

 

Źródło: AWS

Case Studies
Referencje

Bardzo istotną zaletą jest szybkie i fachowe wsparcie techniczne Hostersów, którzy wiedzą, że każda chwila przerwy technicznej w dostępie do serwisów WWW oznacza poważny uszczerbek na wizerunku każdej firmy, zwłaszcza instytucji państwowej, jaką jest Instytut Pamięci Narodowej.

Sebastian Górkiewicz
Kierownik Samodzielnej Sekcji ds. Serwisów Internetowych
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.