Analýza videoobsáku pomocí Počítačové zpracování obrazu a Učení Azure Machine

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

Tento článek popisuje architekturu, kterou můžete použít k nahrazení ruční analýzy videozáběhů automatizovaným a často přesnějším procesem strojového učení.

Loga FFmpeg a Jupyter Notebook jsou ochranné známky příslušných společností. Použití těchto značek nevyžaduje žádné doporučení.

Architektura

Diagram znázorňující architekturu pro analýzu obsahu videa

Stáhněte si soubor PowerPointu této architektury.

Workflow

  1. Do Služby Azure Blob Storage se nahraje kolekce videí ve formátu MP4. V ideálním případě videa přejdou do "nezpracovaného" kontejneru.
  2. Předkonfigurovaný kanál ve službě Azure Machine Učení rozpozná, že se videosoubory nahrají do kontejneru, a zahájí cluster odvozování, aby se začaly oddělovat záběry videa do snímků.
  3. FFmpeg, opensourcový nástroj, rozdělí video a extrahuje snímky. Můžete nakonfigurovat, kolik snímků za sekundu se extrahuje, kvalita extrakce a formát souboru obrázku. Formát může být JPG nebo PNG.
  4. Cluster odvozování odesílá image do Azure Data Lake Storage.
  5. Předkonfigurovaná aplikace logiky, která monitoruje Data Lake Storage, zjistí, že se nahrávají nové image. Spustí pracovní postup.
  6. Aplikace logiky volá předem natrénovaný model vlastního zpracování obrazu k identifikaci objektů, funkcí nebo kvalit na obrázcích. Alternativně nebo navíc volá model počítačového zpracování obrazu (optické rozpoznávání znaků (OCR) k identifikaci textových informací na obrázcích.
  7. Výsledky se přijímají ve formátu JSON. Aplikace logiky analyzuje výsledky a vytvoří páry klíč-hodnota. Výsledky můžete uložit ve vyhrazených fondech SQL Azure, které zřizuje Azure Synapse Analytics.
  8. Power BI poskytuje vizualizaci dat.

Komponenty

  • Azure Blob Storage poskytuje úložiště objektů pro úlohy nativní pro cloud a úložiště strojového učení. V této architektuře ukládá nahrané videosoubory.
  • Azure Machine Učení je služba strojového učení na podnikové úrovni pro kompletní životní cyklus strojového učení.
  • Azure Data Lake Storage poskytuje široce škálovatelné a vylepšené cloudové úložiště s nákladově efektivním cloudovým úložištěm pro vysoce výkonné analytické úlohy.
  • Počítačové zpracování obrazu je součástí služeb Azure AI. Používá se k načtení informací o jednotlivých imagí.
  • Custom Vision umožňuje přizpůsobit a vložit nejmodernější analýzu obrázků počítačového zpracování obrazu pro konkrétní domény.
  • Azure Logic Apps automatizuje pracovní postupy propojením aplikací a dat napříč prostředími. Poskytuje způsob, jak přistupovat k datům a zpracovávat je v reálném čase.
  • Azure Synapse Analytics je neomezená analytická služba, která spojuje integraci dat, skladování podnikových dat a analýzu velkých objemů dat.
  • Vyhrazený fond SQL (dříve SQL DW) je kolekce analytických prostředků, které se zřizují při použití Azure Synapse SQL.
  • Power BI je kolekce softwarových služeb, aplikací a konektorů, které spolupracují na poskytování vizualizací dat.

Alternativy

  • Azure Video Indexer je služba pro analýzu videa, která pomocí umělé inteligence extrahuje z uložených videí užitečné přehledy. Můžete ho používat bez jakýchkoli odborných znalostí strojového učení.
  • Azure Data Factory je plně spravovaná služba pro integraci dat bez serveru, která pomáhá vytvářet procesy extrakce, transformace a načítání (ETL) a extrakce, načítání a transformace (ELT).
  • Azure Functions je bezserverová platforma jako služba (PaaS), která spouští kód s jedním úkolem bez nutnosti nové infrastruktury.
  • Azure Cosmos DB je plně spravovaná databáze NoSQL pro moderní vývoj aplikací.

Podrobnosti scénáře

Mnoho odvětví zaznamenává videozáznamy, které detekují přítomnost nebo nepřítomnost konkrétního objektu nebo entity nebo klasifikují objekty nebo entity. Monitorování a analýzy videa se tradičně provádějí ručně. Tyto procesy jsou často monotónní a náchylné k chybám, zejména u úkolů, které jsou pro lidské oko obtížné. Tyto procesy můžete automatizovat pomocí AI a strojového učení.

Záznam videa se dá rozdělit do jednotlivých snímků, aby různé technologie mohly obrázky analyzovat. Jednou z těchto technologií je počítačové zpracování obrazu: schopnost počítače identifikovat objekty a entity na obrázku.

Díky počítačovému zpracování obrazu se videozáběry zautomatizují, standardizují a potenciálně přesněji. Model počítačového zpracování obrazu je možné vytrénovat a v závislosti na případu použití můžete často získat výsledky, které jsou alespoň tak dobré jako ty, kdo model vytrénovali. Pomocí strojového Učení Operations (MLOps) můžete model průběžně vylepšovat, můžete očekávat lepší výsledky v průběhu času a reagovat na změny dat videa v průběhu času.

Potenciální případy použití

Tento scénář je relevantní pro všechny firmy, které analyzují videa. Tady je několik ukázkových případů použití:

  • Zemědělství. Monitorujte a analyzujte plodiny a podmínky půdy v průběhu času. Pomocí dronů nebo uživatelských virtuálních počítačů můžou zemědělci zaznamenávat videozáznamy pro analýzu.

  • Environmentální vědy. Analyzujte vodní druhy, abyste pochopili, kde se nacházejí a jak se vyvíjejí. Připojením podvodních kamer k lodím můžou výzkumní pracovníci životního prostředí navigovat na pobřeží a zaznamenávat videozáběry. Mohou analyzovat videozáběry, aby porozuměli migracím druhů a tomu, jak se v průběhu času mění populace druhů.

  • Řízení provozu. Klasifikujte vozidla do kategorií (SUV, auto, nákladní vůz, motocykl) a pomocí informací naplánujte řízení provozu. Videozáběry mohou být poskytovány CCTV na veřejných místech. Většina kamer CCTV zaznamenává datum a čas, které lze snadno načíst prostřednictvím optického rozpoznávání znaků (OCR).

  • Kontrola kvality. Monitorování a analýza kontroly kvality ve výrobním závodu. Instalací fotoaparátů na výrobní linku můžete vytrénovat model počítačového zpracování obrazu, který detekuje anomálie.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, sadu hlavních principů, které můžete použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Spolehlivost

Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace najdete v tématu Přehled pilíře spolehlivosti.

Spolehlivá úloha je ta, která je odolná i dostupná. Odolnost je schopnost systému zotavit se ze selhání a nadále fungovat. Cílem odolnosti proti chybám je obnovení plně funkčního stavu aplikace co nejdříve po selhání. Dostupnost je míra, jestli uživatelé budou mít přístup k vaší úloze, když potřebují.

Záruky dostupnosti služeb Azure v tomto řešení najdete v těchto prostředcích:

Zabezpečení

Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.

Zvažte následující zdroje informací:

Optimalizace nákladů

Optimalizace nákladů se týká snížení zbytečných výdajů a zlepšení efektivity provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

Tady je několik pokynů pro optimalizaci nákladů:

  • Použijte strategii průběžných plateb pro vaši architekturu a podle potřeby navyšujte kapacitu podle potřeby, místo abyste na začátku investovali do rozsáhlých prostředků.
  • Zvažte náklady na příležitosti ve vaší architektuře a rovnováhu mezi výhodami prvního přesunu a rychlým sledováním. Pomocí cenové kalkulačky můžete odhadnout počáteční náklady a provozní náklady.
  • Nastavte zásady, rozpočty a ovládací prvky , které nastavily limity nákladů pro vaše řešení.

Provozní dokonalost

Efektivita provozu zahrnuje provozní procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v tématu Přehled pilíře efektivity provozu.

Nasazení musí být spolehlivá a předvídatelná. Tady je několik pokynů:

  • Automatizujte nasazení, abyste snížili riziko lidské chyby.
  • Implementujte rychlý a rutinní proces nasazení, abyste se vyhnuli zpomalení vydávání nových funkcí a oprav chyb.
  • Pokud aktualizace způsobuje problémy, můžete se rychle vrátit zpět nebo vrátit dopředu.

Efektivita výkonu

Efektivita výkonu je schopnost úlohy škálovat se tak, aby efektivním způsobem splňovala požadavky, které na ni kladou uživatelé. Další informace najdete v tématu Přehled pilíře efektivity výkonu.

Vhodné použití škálování a implementace nabídek PaaS, které mají integrované škálování, jsou hlavními způsoby dosažení efektivity výkonu.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky