Plyšový oslík nebo ovečka? Vyzkoušejme trénování Microsoft robota Custom Vision.

Kognitivní služby v Azure mají připravené vision modely, které jsou schopné říct, zda je na obrázku ovce nebo osel (pro strojové vyhodnocování živého betléma se vám to příští týden může hodit). Ale co ty plyšové? Ty samozřejmě nepozná. O strojovém učení nevím skoro nic, ale služba Custom Vision vypadá tak jednoduše, že bych ji mohl zvládnout a vy určitě také. Pojďme natrénovat model, který na obrázku označí kde je oslík a kde ovečka. 

Pojďme na stránku https://www.customvision.ai/

Po přihlášení budete mít trialku, ale já mám svůj Azure a chci si zaplatit těch doslova pár korun za plnou verzi. Mohl bych samozřejmě účet vytvořit v Azure, ale přímo z této stránky se to dá udělat taky.

V Azure se nám vyvořily příslušné zdroje.

Vytvořme si tedy nový projekt.

Můžeme provádět klasifikaci obrázků, ale já bych chtěl raději detekci objektů. Ať mi hračky počítač nejen pozná, ale i řekne kde v obrázku jsou.

Nejdřív musíme trénovat a tak jsem si vyfotil oba plyšáky z různých úhlů, s různým pozadím, v jiných polohách a světelných podmínkách. Jen tak na zkoušku mám asi kolem 25 fotek, ale na přesnějších model by jich to chtělo víc. Nahraji je do Custom Vision.

Teď potřebuji robotovi říct, kde je jaký objekt, tedy ovečka a oslík.

Tohle uděláme pro všechny obrázky a jdeme natrénovat model.

Máme hotovo.

Teď už můžeme rovnou přistupovat na API a začlenit vyhledávání oslíka a ovečky do vlastní aplikace.

Pojďme si ale přímo z GUI vyzkoušet, jak nám to funguje. Mám dvě fotky, které robot ještě neviděl, tak pojďme na to.

Funguje krásně!

A teď něco složitějšího. Pozadí s rušivými obrázky, plyšáci v zákrytu. Tady je to horší, ale dvě nejvyšší pravděpodobnosti jsou naprosto správně.

Kromě toho ale robot našel i další objekty, které mu taky trochu připadají, jako oslík.

Rozhodující ale je, jak velký máme procentuální odstup mezi správnou odpovědí a nesprávnou. Pokud je dostatečně velký, je to naprosto v pořádku. Pokud ne, možná bude potřeba lepší data na vstupu - víc obrázku s větší variabilitou apod. Nicméně pro dnešní pohrání je to přesnost naprosto dostatečná a bylo to opravdu velmi jednoduché.

Navíc pokud bychom na začátku zvolili kompaktní model, tak ho můžeme vyexportovat. Kromě cloudového endpointu jako služba si tak kontejner můžeme odnést kam potřebujeme.

Vyzkoušejte si Custom Vision v Azure. Je to geniálně jednoduché a při tom to opravdu krásně funguje. Můžete obohatit svoje aplikace - například kontrolovat vstup uživatele. Je to opravdu fotka člověka nebo vám tam zkouší podstrčit psa? Je to fotografie jeho Škodovky nebo vám podstrčil Ferrari? Je to opravdu scan dokumentu, který čekáte, nebo nějaký náčrtek rukou? A nejde náhodou o závadný obsah, který na svých stránkách nechcete? S tím vším vám mohou kognitivní služby pomoci a to nesmírně jednoduše.