Klasifikace obrázků v Azure

Azure Blob Storage
Azure Computer Vision
Azure Cosmos DB
Azure Event Grid
Azure Functions

Díky používání služeb Azure, jako jsou rozhraní API Počítačové zpracování obrazu a Azure Functions, můžou společnosti eliminovat potřebu správy jednotlivých serverů a zároveň snížit náklady a využívat odborné znalosti, které Microsoft už vyvinul se zpracováním imagí pomocí služeb Azure AI. Tento ukázkový scénář konkrétně řeší případ použití zpracování obrázků. Pokud máte jiné potřeby umělé inteligence, zvažte úplnou sadu služeb Azure AI.

Architektura

Architektura pro klasifikaci obrázků

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

Workflow

Tento scénář se zabývá back-endovými komponentami webové nebo mobilní aplikace. Data procházejí tímto scénářem:

  1. Přidání nových souborů (nahrávání obrázků) v úložišti objektů blob aktivuje událost v Azure Event Gridu. Proces nahrávání je možné orchestrovat prostřednictvím webu nebo mobilní aplikace. Alternativně je možné obrázky nahrát samostatně do úložiště objektů blob v Azure.
  2. Event Grid odešle oznámení, které aktivuje funkce Azure.
  3. Azure Functions volá rozhraní API služby Azure Počítačové zpracování obrazu k analýze nově nahraného obrázku. Počítačové zpracování obrazu přistupuje k obrázku prostřednictvím adresy URL objektu blob, která je analyzována službou Azure Functions.
  4. Azure Functions zachová odpověď rozhraní API Počítačové zpracování obrazu ve službě Azure Cosmos DB. Tato odpověď zahrnuje výsledky analýzy spolu s metadaty obrázků.
  5. Výsledky je možné využívat a promítnout do webového nebo mobilního front-endu. Všimněte si, že tento přístup načte výsledky klasifikace, ale nenahraný obrázek.

Komponenty

  • Počítačové zpracování obrazu ROZHRANÍ API je součástí sady služeb Azure AI a slouží k načtení informací o jednotlivých imagí.
  • Azure Functions poskytuje back-endové rozhraní API pro webovou aplikaci. Tato platforma také poskytuje zpracování událostí pro nahrané obrázky.
  • Azure Event Grid aktivuje událost při nahrání nového obrázku do úložiště objektů blob. Image se pak zpracuje pomocí Azure Functions.
  • Azure Blob Storage ukládá všechny soubory obrázků nahrané do webové aplikace a všechny statické soubory, které webová aplikace využívá.
  • Azure Cosmos DB ukládá metadata o jednotlivých nahraných imagích, včetně výsledků zpracování z rozhraní POČÍTAČOVÉ ZPRACOVÁNÍ OBRAZU API.

Alternativy

  • Custom Vision Service. Rozhraní API Počítačové zpracování obrazu vrátí sadu kategorií založených na taxonomii. Pokud potřebujete zpracovat informace, které nevrácené rozhraním API Počítačové zpracování obrazu, zvažte službu Custom Vision Service, která umožňuje vytvářet vlastní klasifikátory obrázků.
  • Cognitive Search (dříve Azure Search) Pokud váš případ použití zahrnuje dotazování metadat na vyhledání obrázků, které splňují konkrétní kritéria, zvažte použití kognitivního vyhledávání. Kognitivní vyhledávání v současné době ve verzi Preview bezproblémově integruje tento pracovní postup.
  • 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 byl soubor přidán, může začínat triggerem opakování nebo aktivační událostí posuvného okna.

Podrobnosti scénáře

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

Mezi potenciální aplikace patří klasifikace obrázků pro módní web, analýza textu a obrázků pro pojistné nároky nebo pochopení telemetrických dat ze herních snímků obrazovky. Tradičně by společnosti potřebovaly rozvíjet odborné znalosti v modelech strojového učení, trénovat modely a nakonec spouštět image prostřednictvím vlastního procesu, aby získaly data z obrázků.

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

Toto řešení je ideální pro maloobchodní, herní, finanční a pojišťovací odvětví. Mezi další relevantní případy použití patří:

  • Klasifikace obrázků na módním webu Klasifikaci obrázků můžou používat prodejci při nahrávání obrázků produktů na platformě k prodeji. Potom mohou automatizovat následné ruční označování. Zákazníci si také můžou prohledat vizuální dojem produktů.

  • Klasifikace telemetrických dat ze snímků obrazovky her Klasifikace videoher ze snímků obrazovky se vyvíjí v relevantním problému v sociálních médiích v kombinaci s počítačového zpracování obrazu. Například když streameři Streamerů Streamerů hrají různé hry po sobě, můžou přeskočit ruční aktualizaci informací o streamu. Při aktualizaci informací o streamu může dojít k nesprávné klasifikaci datových proudů při vyhledávání uživatelů a může dojít ke ztrátě potenciálního prohlížejícího pro tvůrce obsahu i platformy streamování. Při zavádění nových her by mohla být užitečná trasa vlastního modelu, která představuje schopnost detekovat nové obrázky z těchto her.

  • Klasifikace obrázků pro pojistné nároky Klasifikace obrázků může pomoct zkrátit čas a náklady na zpracování a přepsání deklarací identity. Může pomoct analyzovat přírodní katastrofy, poškození vozidel a identifikovat obytné a komerční vlastnosti.

Důležité informace

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

Při implementaci tohoto řešení zvažte tyto body:

Škálovatelnost

Většina komponent používaných v tomto ukázkovém scénáři jsou spravované služby, které se automaticky škálují. Několik kladných výjimek: Azure Functions má limit maximálně 200 instancí. Pokud potřebujete škálovat nad rámec tohoto limitu, zvažte více oblastí nebo plánů aplikací.

Službu Azure Cosmos DB můžete zřídit pro automatické škálování pouze ve službě Azure Cosmos DB for NoSQL. Pokud plánujete používat jiná rozhraní API, přečtěte si pokyny k odhadu požadavků v jednotkách žádostí. Pokud chcete plně využít výhod škálování ve službě Azure Cosmos DB, zjistěte, jak fungují klíče oddílů ve službě Azure Cosmos DB.

Databáze NoSQL často obchodují konzistenci (ve smyslu CAP teorém) pro dostupnost, škálovatelnost a dělení. V tomto ukázkovém scénáři se používá datový model klíč-hodnota a konzistenci transakcí je zřídka potřeba, protože většina operací je atomická. Další doprovodné materiály k volbě správného úložiště dat jsou k dispozici v Centru architektury Azure. Pokud vaše implementace vyžaduje vysokou konzistenci, můžete zvolit úroveň konzistence ve službě Azure Cosmos DB.

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

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 pro prostředky Azure se používají k zajištění přístupu k jiným prostředkům internímu k vašemu účtu a pak k vašim funkcím Azure. Povolte přístup jenom k požadovaným prostředkům v těchto identitách, abyste zajistili, že vaše funkce (a potenciálně i vašim zákazníkům) nezpřístupní nic dalšího.

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 odolné automaticky.

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

Optimalizace nákladů

Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

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

Poskytli jsme tři ukázkové profily nákladů na základě objemu provozu (předpokládáme, že všechny image 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ů měsíčně.
  • Velký: Tento příklad cen koreluje se zpracováním 50 milionů obrázků měsíčně.

Přispěvatelé

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

Hlavní autoři:

Další kroky

Produktová dokumentace

Studijní program s asistencí najdete tady:

Před nasazením tohoto ukázkového scénáře v produkčním prostředí si projděte doporučené postupy pro optimalizaci výkonu a spolehlivosti azure Functions.

Rozšiřování umělé inteligence pomocí zpracování obrázků a přirozeného jazyka ve službě Azure Cognitive Search