Klasifikace obrázků v Azure

Blob Storage
Počítačové zpracování obrazu
Cosmos DB
Event Grid
Functions

Tento scénář je relevantní pro firmy, které potřebují zpracovávat image.

Mezi možné aplikace patří klasifikování obrázků na webu s oblečením, analýza textu a obrázků pro nároky na pojištění nebo pochopení telemetrických dat ze snímků herních snímků. Tradičně by společnosti potřebovaly vyvinout zkušenosti s modely strojového učení, vytrénovat je a nakonec je spustit vlastním procesem, aby data z obrázků vymyšly.

Pomocí služeb Azure, jako jsou rozhraní Počítačové zpracování obrazu API a Azure Functions, mohou společnosti eliminovat potřebu správy jednotlivých serverů a zároveň snížit náklady a využitím odborných znalostí, které Microsoft vyvinul v oblasti zpracování obrázků pomocí Cognitive Services. Tento příklad scénář konkrétně řeší případ použití zpracování obrázků. Pokud máte jiné potřeby AI, zvažte úplnou sadu Cognitive Services.

Relevantní případy použití

Mezi další důležité případy použití patří:

  • Klasifikaci obrázků na webu s oblečením
  • Klasifikovat telemetrická data ze snímků obrazovky her
  • Klasifikaci obrázků pro nároky na pojištění

Architektura

Architektura pro klasifikaci obrázků

Tento scénář popisuje back-endové komponenty webové nebo mobilní aplikace. Data prochádí tímto scénářem:

  1. Vrstva rozhraní API je sestavená pomocí Azure Functions. Tato rozhraní API umožňují aplikaci nahrávat obrázky a načítat data z Cosmos DB.
  2. Když se obrázek nahraje prostřednictvím volání rozhraní API, uloží se do úložiště objektů blob.
  3. Přidáním nových souborů do úložiště objektů blob Event Grid oznámení, které se má odeslat do funkce Azure.
  4. Azure Functions odešle odkaz na nově nahraný soubor do rozhraní API Počítačové zpracování obrazu k analýze.
  5. Po vrácení dat z rozhraní API Počítačové zpracování obrazu vytvoří Azure Functions do Cosmos DB záznam pro zachování výsledků analýzy spolu s metadaty obrázku.

Komponenty

  • Počítačové zpracování obrazu API je součástí sady Cognitive Services a používá se k načtení informací o jednotlivých obrázčích.
  • Azure Functions poskytuje back-endové rozhraní API pro webovou aplikaci a také zpracování událostí pro nahrané obrázky.
  • Event Grid událost při nahrání nového obrázku do úložiště objektů blob. Image se pak zpracuje pomocí azure functions.
  • V úložišti objektů blob jsou uloženy všechny soubory obrázků nahrané do webové aplikace a také všechny statické soubory, které webová aplikace využívá.
  • Cosmos DB ukládá metadata o každém nahraném obrázku, včetně výsledků zpracování z Počítačové zpracování obrazu API.

Alternativy

  • Custom Vision Service. Rozhraní Počítačové zpracování obrazu API vrátí sadu kategorií založených na taxonomii. Pokud potřebujete zpracovat informace, které rozhraní API Počítačové zpracování obrazu nevrátilo, zvažte službu Custom Vision, která vám umožní vytvářet vlastní klasifikátory obrázků.
  • Cognitive Search (dříve Azure Search). Pokud váš případ použití zahrnuje dotazování metadat, abyste našli obrázky, které splňují konkrétní kritéria, zvažte použití Cognitive Search. Kognitivní hledání v současné době ve verzi Preview tento pracovní postup bezproblémově integruje.
  • Logic Apps. Pokud nepotřebujete reagovat v reálném čase na přidané soubory do objektu blob, můžete zvážit použití Logic Apps. Aplikace logiky, která může zkontrolovat, jestli se soubor přidal, může spustit trigger opakování nebo aktivační událost posuvného okna.

Požadavky

Škálovatelnost

Většina komponent použitých v tomto příkladu scénáře jsou spravované služby, které se automaticky škálují. Několik ovatelných výjimek: Azure Functions má limit maximálně 200 instancí. Pokud potřebujete škálovat nad tento limit, zvažte více oblastí nebo plánů aplikací.

Databázi zabezpečení můžete Cosmos automatické škálování pouze pro SQL API. Pokud plánujete použít jiná rozhraní API, podívejte se na pokyny k odhadu požadavků, viz jednotky žádostí v naší dokumentaci. Pokud chcete plně využít výhod škálování ve Cosmos DB, porozuměli jste tomu, jak klíče oddílů fungují ve Cosmos DB.

Databáze NoSQL často obchodují s konzistencí (ve smyslu CAP teorému) za zajištění dostupnosti, škálovatelnosti a dělení. V tomto příkladu se používá datový model klíč-hodnota a konzistence transakcí je zřídka potřebná, protože většina operací je z definice atomická. Další pokyny k výběru správných datových úložiště jsou k dispozici v Cetrum architektury Azure. Pokud vaše implementace vyžaduje vysokou konzistenci, můžete zvolit úroveň konzistence v Cosmos DB.

Obecné pokyny k návrhu škálovatelných řešení najdete v kontrolním seznamu efektivity výkonu v Cetrum architektury Azure.

Zabezpečení

Spravované identity pro prostředky Azure slouží k poskytování přístupu k dalším prostředkům, které jsou interní pro váš účet, a pak se přiřa Azure Functions. Povolte přístup pouze k prostředkům, které tyto identity vyžádá, abyste zajistili, že vašim funkcím (a potenciálně i vašim zákazníkům) není nic navíc.

Obecné pokyny k návrhu zabezpečených řešení najdete v dokumentaci k zabezpečení Azure.

Odolnost

Všechny komponenty v tomto scénáři se spravují, takže na regionální úrovni jsou všechny automaticky odolné.

Obecné pokyny k návrhu odolných řešení najdete v tématu Návrh odolných aplikací pro Azure.

Ceny

Aby bylo možné prozkoumat náklady na provoz tohoto scénáře, jsou všechny služby předem nakonfigurované v kalkulačce nákladů. Pokud chcete zobrazit, jak se ceny pro konkrétní případ použití změní, změňte příslušné proměnné tak, aby odpovídaly očekávanému provozu.

Na základě objemu provozu jsme poskytli tři ukázkové nákladové profily (předpokládáme, že všechny obrázky mají velikost 100 kB):

  • Malé:Tento příklad cen koreluje se < zpracováním 5 000 obrázků za měsíc.
  • Střední:Tento příklad cen koreluje se zpracováním 500 000 obrázků za měsíc.
  • Velké:Tento příklad cen koreluje se zpracováním 50 milionů obrázků za měsíc.

Studijní program s průvodcem najdete v tématu:

Před nasazením tohoto příkladu scénáře v produkčním prostředí si prohlédněte doporučené postupy pro optimalizaci výkonu a spolehlivosti Azure Functions.