Amazon Rekognition to usługa widzenia komputerowego, która ułatwia dodawanie analizy obrazu i wideo do aplikacji przy użyciu sprawdzonej, wysoce skalowalnej technologii głębokiego uczenia, która nie wymaga doświadczenia w uczeniu maszynowym (ML). Dzięki Amazon Rekognition możesz identyfikować obiekty, osoby, tekst, sceny i działania na obrazach i filmach, a także wykrywać wszelkie nieodpowiednie treści. Amazon Rekognition zapewnia również bardzo dokładną analizę twarzy i funkcje wyszukiwania twarzy, których można używać do wykrywania, analizowania i porównywania twarzy w wielu różnych przypadkach użycia.
Etykiety niestandardowe Amazon Rekognition umożliwia identyfikację obiektów i scen na obrazach, które są specyficzne dla Twoich potrzeb biznesowych. Na przykład możesz znaleźć swoje logo w postach w mediach społecznościowych, zidentyfikować swoje produkty na półkach sklepowych, sklasyfikować części maszyn na linii montażowej, rozróżnić zdrowe i zainfekowane rośliny i nie tylko. Post na blogu Budowanie własnego wykrywania marki pokazuje, jak używać niestandardowych etykiet Amazon Rekognition do tworzenia kompleksowego rozwiązania do wykrywania logo marki na zdjęciach i filmach.
Amazon Rekognition Custom Labels zapewnia prostą, kompleksową obsługę, w której zaczynasz od oznaczenia zbioru danych, a Amazon Rekognition Custom Labels tworzy dla Ciebie niestandardowy model ML, sprawdzając dane i wybierając odpowiedni algorytm ML. Po przeszkoleniu modelu możesz od razu zacząć go używać do analizy obrazu. Jeśli chcesz przetwarzać obrazy partiami (na przykład raz dziennie lub w tygodniu lub w zaplanowanych porach dnia), możesz udostępnić swój model niestandardowy w zaplanowanych godzinach.
W tym poście pokazujemy, w jaki sposób można zbudować optymalne kosztowo rozwiązanie wsadowe za pomocą niestandardowych etykiet Amazon Rekognition, które dostarczają niestandardowy model w zaplanowanych terminach, przetwarzają wszystkie obrazy i wyrejestrowują zasoby, aby uniknąć ponoszenia dodatkowych kosztów.
Przegląd rozwiązania
Poniższy diagram architektury przedstawia, w jaki sposób można zaprojektować opłacalny i wysoce skalowalny przepływ pracy w celu przetwarzania obrazów w partiach za pomocą niestandardowych etykiet Amazon Rekognition. Korzysta z usług AWS, takich jak Most zdarzeń Amazona, Funkcje kroków AWS, Usługa Amazon Simple Queue (Amazon SQS), AWS Lambda, Usługa Amazon Simple Storage (Amazonka S3).
To rozwiązanie wykorzystuje architekturę bezserwerową i usługi zarządzane, dzięki czemu można je skalować na żądanie i nie wymaga udostępniania żadnych serwerów ani zarządzania nimi. Kolejka Amazon SQS zwiększa ogólną odporność rozwiązania na błędy, oddzielając pobieranie obrazu od przetwarzania obrazu i umożliwiając niezawodne dostarczanie komunikatów dla każdego pozyskanego obrazu. Funkcje Step ułatwiają tworzenie wizualnych przepływów pracy w celu zorganizowania szeregu indywidualnych zadań, takich jak sprawdzenie, czy obraz jest dostępny do przetwarzania i zarządzania cyklem życia stanu projektu Amazon Rekognition Custom Labels. Chociaż poniższa architektura pokazuje, w jaki sposób można zbudować rozwiązanie do przetwarzania wsadowego dla niestandardowych etykiet Amazon Rekognition przy użyciu AWS Lambda, można zbudować podobną architekturę za pomocą usług takich jak AWS-Fargate.
Poniższe kroki opisują ogólny przepływ pracy:
- Gdy obraz jest przechowywany w zasobniku Amazon S3, wyzwala komunikat, który zostaje zapisany w kolejce Amazon SQS.
- Amazon EventBridge jest skonfigurowany do wyzwalania przepływu pracy AWS Step Functions z określoną częstotliwością (domyślnie 1 godzina).
- W trakcie przepływu pracy wykonuje następujące czynności:
- Sprawdza liczbę pozycji w kolejce Amazon SQS. Jeśli w kolejce nie ma żadnych elementów do przetworzenia, przepływ pracy kończy się.
- Jeśli w kolejce są elementy do przetworzenia, przepływ pracy uruchamia model etykiet niestandardowych Amazon Rekognition.
- Przepływ pracy umożliwia integrację Amazon SQS z funkcją AWS Lambda do przetwarzania tych obrazów.
- Gdy integracja między kolejką Amazon SQS a AWS Lambda jest włączona, występują następujące zdarzenia:
- AWS Lambda rozpoczyna przetwarzanie wiadomości ze szczegółami obrazu z Amazon SQS.
- Funkcja AWS Lambda wykorzystuje projekt Amazon Rekognition Custom Labels do przetwarzania obrazów.
- Funkcja AWS Lambda umieszcza następnie plik JSON zawierający wywnioskowane etykiety w ostatnim zasobniku. Obraz jest również przenoszony z zasobnika źródłowego do zasobnika końcowego.
- Po przetworzeniu wszystkich obrazów przepływ pracy AWS Step Functions wykonuje następujące czynności:
- Zatrzymuje model etykiet niestandardowych Amazon Rekognition.
- Wyłącza integrację między kolejką Amazon SQS i funkcją AWS Lambda poprzez wyłączenie wyzwalacza.
Poniższy diagram ilustruje maszynę stanu AWS Step Functions dla tego rozwiązania.
Wymagania wstępne
Aby wdrożyć to rozwiązanie, potrzebujesz następujących wymagań wstępnych:
- Konto AWS z uprawnieniami do wdrażania rozwiązania przy użyciu Tworzenie chmury AWS, który tworzy AWS Zarządzanie tożsamością i dostępem (IAM) role i inne zasoby.
- Nazwa zasobu Amazon (ARN) projektu Amazon Rekognition Custom Labels (dalej jako Projekt Arn) i nazwę zasobu Amazon (ARN) wersji modelu, która została utworzona po przeszkoleniu modelu (odwołuje się do Wersja projektuArn). Wartości te są wymagane do sprawdzenia stanu modelu, a także do analizy obrazów za pomocą modelu.
Aby dowiedzieć się, jak trenować model, zobacz Pierwsze kroki z niestandardowymi etykietami Amazon Rekognition.
Rozlokowanie
Aby wdrożyć rozwiązanie przy użyciu AWS CloudFormation na koncie AWS, wykonaj kroki opisane w GitHub repo. Tworzy następujące zasoby:
- Wiadro Amazon S3
- Kolejka Amazon SQS
- Przepływ pracy funkcji krokowych AWS
- Reguły Amazon EventBridge wyzwalające przepływ pracy
- Role IAM
- Funkcje AWS Lambda
Nazwy różnych zasobów utworzonych przez rozwiązanie można zobaczyć w sekcji danych wyjściowych pliku Stos CloudFormation.
Testowanie przepływu pracy
Aby przetestować przepływ pracy, wykonaj następujące kroki:
- Prześlij przykładowe obrazy do wejściowego zasobnika S3 utworzonego przez rozwiązanie (na przykład xxxx-sources3bucket-xxxx).
- W konsoli Step Functions wybierz maszynę stanu utworzoną przez rozwiązanie (na przykład CustomCVStateMachine-xxxx).
Powinieneś zobaczyć, że automat stanowy jest wyzwalany przez regułę Amazon EventBridge co godzinę.
- Możesz ręcznie uruchomić przepływ pracy, wybierając Rozpocznij wykonanie.
- Podczas przetwarzania obrazów możesz przejść do zasobnika wyjściowego S3 (na przykład xxxx-finals3bucket-xxxx), aby wyświetlić dane wyjściowe JSON dla każdego obrazu.
Poniższy zrzut ekranu przedstawia zawartość końcowego zasobnika S3 z obrazami, wraz z odpowiadającymi im danymi wyjściowymi JSON z niestandardowych etykiet Amazon Rekognition.
Wnioski
W tym poście pokazaliśmy, jak można zbudować optymalne kosztowo rozwiązanie wsadowe za pomocą niestandardowych etykiet Amazon Rekognition, które mogą udostępniać niestandardowy model w zaplanowanych terminach, przetwarzać wszystkie obrazy i wyrejestrować zasoby, aby uniknąć ponoszenia dodatkowych kosztów. W zależności od przypadku użycia możesz łatwo dostosować zaplanowane okno czasowe, w którym rozwiązanie powinno przetwarzać partię. Aby uzyskać więcej informacji na temat tworzenia, trenowania, oceniania i używania modelu wykrywającego obiekty, sceny i koncepcje na obrazach, zobacz rozpoczęcie pracy z niestandardowymi etykietami Amazon Rekognition.
Chociaż rozwiązanie opisane w tym poście pokazało, jak przetwarzać obrazy wsadowe za pomocą niestandardowych etykiet Amazon Rekognition, możesz łatwo dostosować rozwiązanie do przetwarzania obrazów wsadowych za pomocą Amazon Lookout dla wizji do wykrywania wad i anomalii. Dzięki Amazon Lookout for Vision firmy produkcyjne mogą podnieść jakość i obniżyć koszty operacyjne, szybko identyfikując różnice w obrazach obiektów na dużą skalę. Na przykład Amazon Lookout for Vision może służyć do identyfikacji brakujących komponentów w produktach, uszkodzeń pojazdów lub konstrukcji, nieprawidłowości na liniach produkcyjnych, drobnych defektów płytek krzemowych i innych podobnych problemów. Aby dowiedzieć się więcej o Amazon Lookout for Vision, zobacz przewodnik programisty.
O autorach
Rahul Śrivastava jest starszym architektem rozwiązań w Amazon Web Services i ma siedzibę w Wielkiej Brytanii. Ma bogate doświadczenie w architekturze w pracy z dużymi klientami korporacyjnymi. Pomaga naszym klientom w architekturze, wdrażaniu chmury, opracowywaniu produktów w określonym celu i wykorzystywaniu AI / ML do rozwiązywania rzeczywistych problemów biznesowych.
Kaszif Imran jest głównym architektem rozwiązań w Amazon Web Services. Współpracuje z jednymi z największych klientów AWS, którzy wykorzystują AI / ML do rozwiązywania złożonych problemów biznesowych. Zapewnia wytyczne techniczne i porady projektowe dotyczące wdrażania aplikacji wizyjnych na dużą skalę. Jego doświadczenie obejmuje architekturę aplikacji, serwer bezserwerowy, kontenery, NoSQL i uczenie maszynowe.