Strojové učení (deep learning) a neuronové sítě

Pokročilá analýza obrazu pomocí metod deep learning (hluboké učení) umožňuje provádět kamerové inspekce také v aplikacích strojového vidění, kde nelze využít konvenčních metod.

Metody deep learning, někdy též neuronové sítě, které jsou součástí širší kategorie algoritmů označovaných jako strojové učení, jsou schopny se naučit na vzorových obrazových datech, jakým způsobem je třeba data správně vyhodnocovat. Místo vynalézání a programování složitých pravidel je schopen speciální trénovací algoritmus se tato pravidla a závislosti sám „naučit“. Děje se tak předkládáním (většinou mnoha) vzorových obrázků trénovacímu algoritmu, spolu se správnými výsledky. Výstupem trénování je pak tzv. model neuronové sítě, který slouží k vyhodnocování všech dalších (tj. i modelu „předem neznámých“) obrázků.

I když jsou schopny metody deep learning řešení řady složitějších úloh strojového vidění značně zjednodušit, jejich správné nasazení vyžaduje také určitou expertízu. Podle typu úlohy je třeba zvolit správně druh modelu a případně též architekturu neuronové sítě. Důležité je též optimální nastavení parametrů modelu, metodika jeho trénování a správné anotování vzorových obrázků. Jako u všech úloh strojového vidění primární roli hraje také navržení správného systému snímání obrazu (výběr a optimální konfigurace kamery, optiky a osvětlení). Všechny tyto faktory se významným způsobem podílejí na úspěchu řešení úlohy strojového vidění pomocí metod deep learning.

Díky tomu, že se naši odborníci zabývají oblastí deep learning a neuronových sítí již delší dobu a otestovali si své dovednosti na mnoha projektech a studiích, umíme si poradit i s velmi nestandardními požadavky zákazníků.

Výhody a nevýhody užívání metod deep learning

Vzhledem k tomu, že neuronová síť funguje navenek podobně jako mozek, lze metody použít tam, kde je možno neuronovou síť "natrénovat" na velkém množství vzorových kusů. Některé úlohy a aplikace jsou tedy vhodné pro metody deep learning, jiné vyřešíme efektivněji za použití konvenčních metod.

Výhody

  • Lze použít i v úlohách s těžko definovatelnými vadami výrobku, kde konvenční metody selhávají.
  • Při dostatečném množství trénovacích dat je možné strojovým učením často dosáhnout vyšší přesnosti vyhodnocování – tj. např. při kontrole vad je zde nižší míra jak nedetekovaných vad, tak falešně detekovaných.
  • Univerzální adaptace na různé změny ve výrobě (změny materiálu, vyráběného typu výrobku atd.) – existuje zde, na rozdíl od konvenčních metod, přímočaré a poměrně rychlé řešení pomocí přetrénování modelu dané neuronové sítě.
  • Zvýšené možnosti analýzy vad – deep learning poskytuje širší možnosti nejen v detekci jednotlivých vad, ale také v jejich klasifikaci (pomocí konvenčních metod přesná klasifikace vad často není možná).
  • Jednotný přístup pro různé typy výrobků a různé typy kontrol na výrobcích.
  • Model lze doučovat průběžně s výrobou, změna naučeného modelu se řeší načtením jednoho modelového souboru – možno provést i za plného provozu.
  • Pokročilých metod lze využít na detekci vad, které jsou problematicky rozpoznatelné i okem, například praskliny na solárních panelech, čipech, waferech apod.
  • Při proměnlivé poloze objektu umožňuje vybrat oblast zájmu (ROI), i když jsou její hranice rozmazané, částečně překryté, nebo složitě definované, to umožňuje se pokaždé zaměřit pouze na oblast obrázku, která nás zajímá a výrazně tím zpřesnit jeho vyhodnocení.

Nevýhody

  • Proces trénování modelů je náhodný, proto nelze pro stejná trénovací data nikdy natrénovat dva stejné modely (Samotné vyhodnocování obrázků je však již striktně deterministické)
  • Deep learning nelze použít na vyhodnocení založené na přesném měření rozměrů a úhlů daného objektu, zde je nutno použít konvenčních metod zpracování obrazu.
  • Pro úspěšné natrénování modelu je potřeba mít pro každou kategorii k dispozici určité množství obrázků (tzv. dataset) – např. u konvenčních metod jsme případně schopni navrhnout algoritmus na detekci určité vady výrobku i při existenci pouze jediného vzorku této vady. U deep learningu toto není možné, musí být k dispozici adekvátní množství kusů každé vady (obvykle minimálně kolem 10 ks).
  • Model neuronové sítě je „černou skříňkou“, do které není možné se podívat a zjistit, proč daný obrázek vyhodnotil zrovna s konkrétním výsledkem, a ne jinak. Existují však vizualizační prostředky – tzv. pravděpodobnostní mapy, které umožňují do procesu „rozhodování“ modelu alespoň částečně nahlédnout.
  • O něco vyšší cena za speciální software aplikující metody deep learning – toto je však relativní, neboť při vyhodnocování konvenčními metodami jsou zde vyšší náklady na vývoj algoritmů zpracování obrazu, případně některé úlohy nejsou řešitelné vůbec.

To, zda je vhodnější řešit úlohu strojového vidění pomocí metod deep learning nebo konvenčními nástroji, tak záleží na typu úlohy, někdy bývá výhodné kombinovat oba přístupy. 

Firma ATEsystem má bohaté zkušenosti s aplikací klasických metod zpracování obrazu a od roku 2018 se intenzivně zabývá také využitím metod deep learning ve strojovém vidění. Spojením těchto poznatků s dobrými znalostmi komponent kamerových systémů jsme schopni úspěšně řešit komplexní úlohy strojového vidění s nejrůznějšími požadavky zákazníků.

Příklady použití metod strojového učení (deep learning)

Nyní uvedeme několik případů použití neuronových sítí na konkrétních aplikacích strojového vidění, které jsme realizovali, nebo připravovali případové studie.

Obrázky k jednotlivým úlohám si můžete prohlédnout ve fotogalerii.

Kontrola povrchu dřeva

Kontrola povrchu a detekce suků, defektů, ale i škrábanců či nečistot je jedna z typických úloh pro metody deep learning a neuronové sítě. Po načtení dostatečně velkého datasetu je neuronová síť schopna naučit se sama detekovat různorodé defekty a vady materiálu, které odpovídají zadání.

Nevíte si rady? Najdeme pro vás řešení šité na míru.

Najdeme pro vás řešení šité na míru

Potřebujete poradit nebo se na něco zeptat?

Projekty a aplikace

Oddělení systémové integrace Tel.: +420 595 172 720
E-mail: atesystem@atesystem.cz