Analizowanie zawartości wideo przy użyciu przetwarzanie obrazów i usługi Azure Machine Edukacja

Azure Machine Learning
Azure AI services
Azure Logic Apps
Azure Synapse Analytics
Azure Data Lake Storage

W tym artykule opisano architekturę, której można użyć do zastąpienia ręcznej analizy materiału wideo zautomatyzowanym i często dokładniejszym procesem uczenia maszynowego.

Logo FFmpeg i Jupyter Notebook są znakami towarowymi odpowiednich firm. Użycie tych znaków nie jest dorozumiane.

Architektura

Diagram przedstawiający architekturę do analizowania zawartości wideo.

Pobierz plik programu PowerPoint tej architektury.

Przepływ pracy

  1. Kolekcja materiałów wideo w formacie MP4 jest przesyłana do usługi Azure Blob Storage. W idealnym przypadku filmy wideo przechodzą do "nieprzetworzonego" kontenera.
  2. Wstępnie skonfigurowany potok w usłudze Azure Machine Edukacja rozpoznaje, że pliki wideo są przekazywane do kontenera i inicjuje klaster wnioskowania, aby rozpocząć oddzielanie materiału wideo do ramek.
  3. FFmpeg, narzędzie open source, dzieli wideo i wyodrębnia ramki. Można skonfigurować liczbę wyodrębnionych ramek na sekundę, jakość wyodrębniania i format pliku obrazu. Format może mieć format JPG lub PNG.
  4. Klaster wnioskowania wysyła obrazy do usługi Azure Data Lake Storage.
  5. Wstępnie skonfigurowana aplikacja logiki, która monitoruje usługę Data Lake Storage, wykrywa przekazywanie nowych obrazów. Uruchamia przepływ pracy.
  6. Aplikacja logiki wywołuje wstępnie wytrenowany model usługi Custom Vision w celu identyfikowania obiektów, funkcji lub cech na obrazach. Alternatywnie lub dodatkowo wywołuje model przetwarzania obrazów (optyczne rozpoznawanie znaków (OCR) w celu identyfikacji informacji tekstowych na obrazach.
  7. Wyniki są odbierane w formacie JSON. Aplikacja logiki analizuje wyniki i tworzy pary klucz-wartość. Wyniki można przechowywać w dedykowanych pulach SQL platformy Azure, które są aprowidowane przez usługę Azure Synapse Analytics.
  8. Usługa Power BI udostępnia wizualizację danych.

Składniki

  • Usługa Azure Blob Storage udostępnia magazyn obiektów dla obciążeń natywnych dla chmury i magazynów uczenia maszynowego. W tej architekturze przechowuje przekazane pliki wideo.
  • Azure Machine Edukacja to usługa uczenia maszynowego klasy korporacyjnej dla kompleksowego cyklu życia uczenia maszynowego.
  • Usługa Azure Data Lake Storage zapewnia wysoce skalowalne, ulepszone zabezpieczenia i ekonomiczne magazyny w chmurze na potrzeby obciążeń analitycznych o wysokiej wydajności.
  • przetwarzanie obrazów jest częścią usług azure AI. Służy do pobierania informacji o każdym obrazie.
  • Usługa Custom Vision umożliwia dostosowywanie i osadzanie najnowocześniejszej analizy obrazów obrazów obrazów dla określonych domen.
  • Usługa Azure Logic Apps automatyzuje przepływy pracy, łącząc aplikacje i dane między środowiskami. Zapewnia ona dostęp do danych i ich przetwarzanie w czasie rzeczywistym.
  • Azure Synapse Analytics to nieograniczona usługa analizy, która łączy integrację danych, magazynowanie danych przedsiębiorstwa i analizę danych big data.
  • Dedykowana pula SQL (dawniej SQL DW) to kolekcja zasobów analitycznych aprowizowania podczas korzystania z usługi Azure Synapse SQL.
  • Usługa Power BI to kolekcja usług, aplikacji i łączników oprogramowania, które współpracują ze sobą w celu udostępnienia wizualizacji danych.

Alternatywy

  • Azure Video Indexer to usługa analizy wideo, która używa sztucznej inteligencji do wyodrębniania szczegółowych informacji z przechowywanych filmów wideo. Można go używać bez żadnej wiedzy w zakresie uczenia maszynowego.
  • Azure Data Factory to w pełni zarządzana bezserwerowa usługa integracji danych, która ułatwia tworzenie procesów wyodrębniania, przekształcania i ładowania (ETL) oraz wyodrębniania, ładowania i przekształcania (ELT).
  • Azure Functions to bezserwerowa platforma jako usługa (PaaS), która uruchamia kod pojedynczego zadania bez konieczności stosowania nowej infrastruktury.
  • Usługa Azure Cosmos DB to w pełni zarządzana baza danych NoSQL do tworzenia nowoczesnych aplikacji.

Szczegóły scenariusza

Wiele branż rejestruje nagrania wideo, aby wykryć obecność lub brak określonego obiektu lub jednostki albo sklasyfikować obiekty lub jednostki. Monitorowanie wideo i analizy są tradycyjnie wykonywane ręcznie. Procesy te są często monotonne i podatne na błędy, szczególnie w przypadku zadań, które są trudne dla ludzkiego oka. Te procesy można zautomatyzować przy użyciu sztucznej inteligencji i uczenia maszynowego.

Nagranie wideo można rozdzielić na poszczególne ramki, aby różne technologie mogły analizować obrazy. Jedną z takich technologii jest przetwarzanie obrazów: możliwość komputera do identyfikowania obiektów i jednostek na obrazie.

Dzięki przetwarzaniu obrazów monitorowanie materiału wideo staje się automatyzowane, ustandaryzowane i potencjalnie dokładniejsze. Model przetwarzania obrazów można wytrenować i, w zależności od przypadku użycia, często można uzyskać wyniki, które są co najmniej tak dobre, jak osoby, która trenowała model. Korzystając z metodyki Machine Edukacja Operations (MLOps) w celu ciągłego ulepszania modelu, można oczekiwać lepszych wyników w czasie i reagować na zmiany w danych wideo w czasie.

Potencjalne przypadki użycia

Ten scenariusz jest odpowiedni dla każdej firmy, która analizuje filmy wideo. Oto kilka przykładowych przypadków użycia:

  • Rolnictwa. Monitorowanie i analizowanie warunków upraw i gleby w czasie. Korzystając z dronów lub UAV, rolnicy mogą nagrywać nagrania wideo do analizy.

  • Nauki o środowisku. Przeanalizuj gatunki wodne, aby zrozumieć, gdzie się znajdują i jak ewoluują. Dołączając podwodne kamery do łodzi, naukowcy środowiskowi mogą poruszać się po linii brzegowej, aby nagrać nagrania wideo. Mogą analizować nagrania wideo, aby zrozumieć migracje gatunków i jak populacje gatunków zmieniają się w czasie.

  • Kontrola ruchu. Klasyfikowanie pojazdów do kategorii (SUV, samochód, ciężarówka, motocykl) i używanie informacji do planowania kontroli ruchu. Nagrania wideo mogą być dostarczane przez CCTV w miejscach publicznych. Większość kamer CCTV rejestruje datę i godzinę, którą można łatwo pobrać za pomocą optycznego rozpoznawania znaków (OCR).

  • Zapewnienie jakości. Monitorowanie i analizowanie kontroli jakości w zakładzie produkcyjnym. Instalując kamery na linii produkcyjnej, można wytrenować model przetwarzania obrazów w celu wykrywania anomalii.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary platformy Azure Well-Architected Framework— zestaw wytycznych, których można użyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Omówienie filaru niezawodności.

Niezawodne obciążenie to jedno, które jest zarówno odporne, jak i dostępne. Odporność to zdolność systemu do odzyskiwania po awariach i kontynuowania działania. Celem odporności jest przywrócenie aplikacji do stanu pełnej funkcjonalności po wystąpieniu błędu. Dostępność to miara tego, czy użytkownicy mogą uzyskiwać dostęp do obciążenia, gdy zajdzie taka potrzeba.

Aby uzyskać gwarancje dostępności usług platformy Azure w tym rozwiązaniu, zobacz następujące zasoby:

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

Rozważ następujące zasoby:

Optymalizacja kosztów

Optymalizacja kosztów polega na zmniejszeniu niepotrzebnych wydatków i poprawie wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Poniżej przedstawiono kilka wskazówek dotyczących optymalizowania kosztów:

  • Użyj strategii płatności zgodnie z rzeczywistym użyciem dla architektury i przeprowadź skalowanie w poziomie zgodnie z potrzebami, zamiast inwestować w zasoby na dużą skalę na początku.
  • Rozważ koszty szans sprzedaży w architekturze oraz równowagę między zaletą pierwszego mover a szybkim śledzeniem. Skorzystaj z kalkulatora cen, aby oszacować początkowy koszt i koszty operacyjne.
  • Ustanów zasady, budżety i mechanizmy kontroli , które określają limity kosztów dla rozwiązania.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Omówienie filaru doskonałości operacyjnej.

Wdrożenia muszą być niezawodne i przewidywalne. Oto kilka wskazówek:

  • Automatyzowanie wdrożeń w celu zmniejszenia prawdopodobieństwa błędu ludzkiego.
  • Zaimplementuj szybki, rutynowy proces wdrażania, aby uniknąć spowolnienia wydania nowych funkcji i poprawek błędów.
  • Szybkie wycofywanie lub wycofywanie, jeśli aktualizacja powoduje problemy.

Efektywność wydajności

Efektywność wydajności to możliwość skalowania obciążenia w celu zaspokojenia zapotrzebowania użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Omówienie filaru wydajności.

Odpowiednie zastosowanie skalowania i implementacja ofert PaaS, które mają wbudowane skalowanie, są głównymi sposobami osiągnięcia wydajności.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

  • Mick Alberts | Składnik zapisywania technicznego
  • Brandon Cowen | Starszy architekt rozwiązań w chmurze — dane i sztuczna inteligencja
  • Arash Mosharraf | Starszy architekt rozwiązań w chmurze — dane i sztuczna inteligencja
  • Priyanshi Singh | Starszy architekt rozwiązań w chmurze — dane i sztuczna inteligencja
  • Julian Soh | Dyrektor specjalista — dane i sztuczna inteligencja

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki