Upravit

Sdílet prostřednictvím


Příjem videa a detekce objektů na hraničních zařízeních a v cloudu

Azure Stack Edge
Azure Kubernetes Service (AKS)
Azure SQL Edge
Azure Container Registry

Tento článek popisuje, jak pomocí mobilního robota s živou streamovací kamerou implementovat různé případy použití. Řešení implementuje systém, který běží místně ve službě Azure Stack Edge, k ingestování a zpracování streamu videa a služeb Azure AI, které provádějí detekci objektů.

Architektura

Diagram znázorňující architekturu pro příjem videa a detekci objektů

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

Tento pracovní postup popisuje, jak systém zpracovává příchozí data:

  1. Kamera nainstalovaná na robotovi streamuje video v reálném čase pomocí protokolu RTSP (Real Time Streaming Protocol).

  2. Kontejner v clusteru Kubernetes v Azure Stack Edge načte příchozí datový proud a rozdělí video do samostatných imagí. Opensourcový softwarový nástroj s názvem FFmpeg ingestuje a zpracovává stream videa.

  3. Image se ukládají do místního účtu úložiště Azure Stack Edge.

  4. Pokaždé, když se nový rámec klíče uloží do účtu úložiště, kontejner AI Vision ho vybere. Informace o oddělení logiky do více kontejnerů najdete v podrobnostech scénáře.

  5. Když načte z kontejneru úložiště klíčový rámec, kontejner AI Vision ho odešle do služeb Azure AI v cloudu. Tato architektura používá Službu Azure AI Vision, která umožňuje detekci objektů prostřednictvím analýzy obrázků.

  6. Výsledky analýzy obrázků (zjištěné objekty a hodnocení spolehlivosti) se odešlou do kontejneru detekce anomálií.

  7. Kontejner detekce anomálií ukládá výsledky analýzy obrázků a detekce anomálií v místní instanci Azure SQL Database služby Azure Stack Edge pro budoucí referenci. Použití místní instance databáze zlepšuje dobu přístupu, což pomáhá minimalizovat zpoždění přístupu k datům.

  8. Zpracování dat se spustí, aby se zjistily všechny anomálie v příchozím streamu videa v reálném čase. Pokud se zjistí anomálie, zobrazí front-endové uživatelské rozhraní výstrahu.

Komponenty

  • Azure Stack Edge je spravované zařízení Azure, které přináší výpočetní prostředky, úložiště a inteligentní funkce Azure na hraniční zařízení. Tato architektura ji používá k hostování místních služeb Azure v blízkosti umístění, kde dochází k detekci anomálií, což snižuje latenci.

  • Azure Kubernetes Service (AKS) ve službě Azure Stack Edge Azure Kubernetes Service (AKS) je spravovaná služba Kubernetes, kterou můžete použít k nasazení a správě kontejnerizovaných aplikací. V této architektuře používáme verzi AKS, která běží na zařízení Azure Stack Edge ke správě kontejnerů zodpovědných za logiku systému.

  • Azure Arc je most, který rozšiřuje služby Azure na hraniční zařízení. Díky využití Služby Azure Arc v této architektuře můžeme prostřednictvím cloudového portálu řídit hraniční služby.

  • Azure AI Vision je jednotná služba, která nabízí funkce počítačového zpracování obrazu. V této architektuře se funkce analýzy obrázků používá k detekci objektů v klíčových snímcích streamu videa.

  • Azure Blob Storage je řešení úložiště objektů Microsoftu pro cloud. V této architektuře se používá k ukládání obrázků klíčových snímků, které se extrahují z datového proudu videa.

  • Azure SQL Edge je malý modul SQL optimalizovaný pro hraniční zařízení s integrovanou AI. V této architektuře jsme konkrétně přešli na hraniční verzi modulu SQL, která ukládá metadata analýzy obrázků, takže se blíží službě, která využívá a zpracovává.

  • Azure Container Registry je registr imagí Dockeru a Open Container Initiative (OCI) s podporou všech artefaktů OCI. V této architektuře registr ukládá image kontejnerů Dockeru pro detekci anomálií a kontejnery AI vision.

  • Azure Key Vault je služba, která poskytuje zabezpečenou správu klíčů v cloudu. V této architektuře se používá k ukládání tajných kódů a klíčů, aby logika systému mohla komunikovat s externími službami, kde spravovaná identita není dostupná.

  • Azure Monitor je komplexní řešení monitorování pro shromažďování, analýzu a reagování na monitorování dat z cloudu a místních prostředí. V této architektuře je tato služba primární platformou pozorovatelnosti pro úlohu.

Podrobnosti scénáře

Tato architektura ukazuje systém, který zpracovává stream videa v reálném čase, porovnává extrahovaná data v reálném čase se sadou referenčních dat a provádí rozhodnutí na základě výsledků. Dá se například použít k poskytování plánovaných kontrol ohraničeného obvodu kolem zabezpečeného místa.

Architektura využívá Azure Stack Edge k zajištění toho, aby se procesy náročné na prostředky prováděly místně, blízko zdroje videa. Tento návrh výrazně zlepšuje dobu odezvy systému, což je důležité, když je okamžitá reakce na anomálii kritická.

Vzhledem k tomu, že části systému se nasazují jako nezávislé kontejnery v clusteru Kubernetes, můžete škálovat pouze požadované subsystémy podle poptávky. Pokud například zvýšíte počet kamer pro videokanály, můžete škálovat kontejner, který je zodpovědný za příjem a zpracování videa, aby zvládl poptávku, ale zbytek clusteru ponechejte na původní úrovni.

Snižování zátěže funkcí detekce objektů do služeb Azure AI výrazně snižuje odborné znalosti potřebné k nasazení této architektury. Pokud vaše požadavky na detekci objektů nejsou vysoce specializované, je zastaralý přístup, který získáte ze služby Analýza obrázků, dostatečný a nevyžaduje znalosti strojového učení.

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

  • Monitorování zabezpečení hraniční sítě

  • Zjištění nebezpečného pracovního prostředí v továrně

  • Detekce anomálií v automatizovaném montážním vedení

  • Zjištění nedostatku demrazující tekutiny v letadle

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada 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.

Jednou z největších výhod používání služby Azure Stack Edge je, že získáte plně spravované komponenty na místním hardwaru. Všechny plně spravované komponenty Azure jsou na regionální úrovni automaticky odolné.

Kromě toho spuštění systému v clusteru Kubernetes umožňuje přesměrovat odpovědnost za udržování subsystémů v pořádku do systému orchestrace Kubernetes.

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í.

Spravované identity Microsoft Entra poskytují zabezpečení pro všechny komponenty této architektury. Použití spravovaných identit eliminuje potřebu ukládat tajné kódy do kódu nebo konfiguračních souborů. Zjednodušuje řízení přístupu, správu přihlašovacích údajů a přiřazení rolí.

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ů.

Pokud chcete zobrazit příklad cen pro tento scénář, použijte cenovou kalkulačku Azure. Nejnákladnější komponenty ve scénáři jsou Azure Stack Edge a Azure Kubernetes Service. Tyto služby poskytují kapacitu pro škálování systému tak, aby v budoucnu řešily zvýšenou poptávku.

Náklady na používání služeb Azure AI pro detekci objektů se liší v závislosti na tom, jak dlouho systém běží. Předchozí příklad cen vychází ze systému, který vytváří jednu image za sekundu a funguje 8 hodin denně. Pro tento scénář stačí jedna FPS. Pokud ale váš systém potřebuje běžet delší dobu, náklady na používání služeb Azure AI jsou vyšší:

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.

Protože je kód nasazený v clusteru Kubernetes, můžete využít výhody tohoto výkonného systému orchestrace. Vzhledem k tomu, že různé subsystémy jsou rozdělené do kontejnerů, můžete škálovat pouze ty nejnáročnější části aplikace. Na základní úrovni může systém s jedním příchozím videokanálem obsahovat v clusteru jenom jeden uzel. Tento návrh výrazně zjednodušuje počáteční konfiguraci. S rostoucí poptávkou po zpracování dat můžete cluster snadno škálovat přidáním uzlů.

Přispěvatelé

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

Hlavní autor:

  • Nick Sologoub | Vedoucí hlavního softwarového inženýrství

Další přispěvatelé:

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

Další kroky

Dokumentace k produktu:

Studijní program s asistencí: