Začínáme s klasifikací obrázků v Azure
Klasifikaci obrázků můžete provádět pomocí služby Azure AI Custom Vision, která je dostupná jako součást nabídek služeb Azure AI. To je všeobecně snazší a rychlejší než psaní vlastního kódu pro trénování modelu a umožňuje to lidem s malými nebo žádnými odbornými znalostmi o strojovém učení vytvořit efektivní řešení pro klasifikaci obrázků.
Prostředky Azure pro Azure AI Custom Vision
Vytvoření řešení klasifikace obrázků pomocí služby Azure AI Custom Vision se skládá ze dvou hlavních úloh. Nejprve musíte pomocí existujících obrázků natrénovat model a pak musíte tento model publikovat, aby ho klientské aplikace mohly používat ke generování predikcí.
Pro každou z těchto úloh potřebujete prostředek v předplatném Azure. Můžete použít následující typy prostředků:
- Custom Vision: Vyhrazený prostředek pro službu Custom Vision, který může být trénování, predikce nebo oba prostředky.
- Služby Azure AI: Obecný prostředek, který zahrnuje Azure AI Custom Vision spolu s mnoha dalšími službami Azure AI. Tento typ prostředku můžete použít pro trénování, predikce nebo obojí.
Oddělení prostředků pro trénování od prostředků pro predikce je užitečné, když chcete využití prostředků pro trénování modelu sledovat samostatně od klientských aplikací používajících model k predikcím tříd obrázků. Může to být ale trochu matoucí z hlediska vývoje řešení pro klasifikaci obrázků.
Nejjednodušším přístupem je použít obecný prostředek služeb Azure AI pro trénování i predikci. To znamená, že vám bude stačit pouze jeden koncový bod (adresa HTTP, na které je vaše služba hostována) a klíč (tajná hodnota, kterou používají klientské aplikace ke svému ověřování).
Pokud se rozhodnete vytvořit prostředek Custom Vision, budete vyzváni, abyste zvolili možnost trénování, predikcenebo obojí, přičemž je důležité si uvědomit, že pokud zvolíte obojí, vytvoří se dva prostředky – jeden pro trénování a jeden pro predikci.
Je také možné použít přístup pro kombinaci a shodu, ve kterém k trénování použijete vyhrazený prostředek Custom Vision, ale nasadíte model do prostředku služeb Azure AI pro predikci. Aby to fungovalo, musí se prostředky pro trénování a predikci vytvořit ve stejné oblasti.
Trénování modelu
Abyste mohli natrénovat klasifikační model, musíte odeslat obrázky do vašeho prostředku pro trénování a označit je odpovídajícími popisky tříd. Pak musíte model natrénovat a vyhodnotit výsledky trénování.
Tyto úlohy můžete provádět na portálu Custom Vision nebo pokud máte potřebné prostředí pro kódování, můžete použít některou ze sad SDK specifických pro programovací jazyk služby Azure AI Custom Vision.
Jednou z klíčových věcí při používání obrázků pro klasifikaci je, abyste měli dostatek obrázků příslušných objektů a aby tyto objekty byly na těchto obrázcích zachyceny z mnoha různých úhlů.
Vyhodnocení modelu
Proces trénování modelů je iterativní proces, ve kterém služba Azure AI Custom Vision opakovaně trénuje model pomocí některých dat, ale uchovává některé zpět k vyhodnocení modelu. Na konci procesu trénování je možné výkon natrénovaného modelu posoudit podle následujících vyhodnocovacích metrik:
- Přesnost: Jaké procento predikcí tříd provedených modelem bylo správné? Pokud například model predikoval, že na 10 obrázcích byly pomeranče, přičemž ve skutečnosti byly pomeranče na osmi z nich, pak se jedná o přesnost 0,8 (80 %).
- Úplnost: Jaké procento predikcí tříd model správně identifikoval? Pokud jsou například na 10 obrázcích jablka a model našel 7 z těchto obrázků, pak se jedná o úplnost 0,7 (70 %).
- Average Precision (AP): Celková metrika, která bere v úvahu přesnost i úplnost.
Použití modelu k predikcím
Jakmile budete mít model natrénovaný a jakmile budete spokojeni s jeho vyhodnoceným výkonem, můžete ho publikovat do prostředku pro predikce. Když model publikujete, můžete mu přiřadit nějaký název (výchozí název je „IteraceX“, kde X je počet pokusů, kolikrát jste model trénovali).
Aby mohli vývojáři klientských aplikací váš model používat, potřebují následující informace:
- ID projektu: Jedinečné ID projektu Custom Vision, který jste vytvořili pro trénování modelu.
- Název modelu: Název, který jste přiřadili k modelu během publikování.
- Koncový bod předpovědi: Adresa HTTP koncových bodů pro prostředek predikce , do kterého jste model publikovali (ne trénovací prostředek).
- Prediktivní klíč: Ověřovací klíč pro prostředek predikce , do kterého jste model publikovali (ne pro trénovací prostředek).