Strojové učenie (deep learning) a neurónové siete

Pokročilá analýza obrazu pomocou metód deep learning (hlboké učenie) umožňuje vykonávať aj kamerové inspekcie v aplikáciách strojového videnia, kde nie je možné využiť konvenčné metódy.

Metódy deep learning, niekedy označované aj ako neurónové siete, ktoré sú súčasťou širšej kategórie algoritmov nazývaných strojové učenie, sú schopné naučiť sa na vzorových obrazových dátach, ako správne vyhodnocovať údaje. Namiesto vynájdenia a programovania zložitých pravidiel je špeciálny trénovací algoritmus schopný naučiť sa tieto pravidlá a závislosti sám. To sa deje prostredníctvom prezentovania (väčšinou veľkého množstva) vzorových obrázkov trénovaciemu algoritmu spolu so správnymi výsledkami. Výstupom trénovania je potom tzv. model neurónovej siete, ktorý slúži na vyhodnocovanie všetkých ďalších (tj. aj modelu "predtým neznámych") obrázkov.

Aj keď sú metódy deep learning schopné výrazne zjednodušiť riešenie mnohých zložitejších úloh strojového videnia, ich správne nasadenie vyžaduje aj určitú odbornosť. Podľa typu úlohy je potrebné zvoliť vhodný druh modelu a prípadne aj architektúru neurónovej siete. Dôležité je tiež optimálne nastavenie parametrov modelu, metodika jeho trénovania a správne anotovanie vzorových obrázkov. Ako pri všetkých úlohách strojového videnia, aj tu hrá dôležitú úlohu navrhnutie správneho systému snímania obrazu (výber a optimálne nastavenie kamery, optiky a osvetlenia). Všetky tieto faktory významným spôsobom prispievajú k úspechu riešenia úlohy strojového videnia pomocou metód deep learning.

Díky tomu, že naši odborníci sa venujú oblasti deep learning a neurónových sietí už dlhšiu dobu a otestovali si svoje schopnosti na mnohých projektoch a štúdiách, vieme si poradiť aj s veľmi nestandardnými požiadavkami zákazníkov.

Výhody a nevýhody používania metód deep learning

Keďže neurónová sieť funguje navonok podobne ako mozog, je možné metódy použiť tam, kde je možné neurónovú sieť "natrénovať" na veľkom množstve vzorových príkladov. Niektoré úlohy a aplikácie sú teda vhodné pre metódy deep learning, zatiaľ čo iné je efektívnejšie riešiť pomocou konvenčných metód.

Výhody

  • Je možné ich použiť aj pri úlohách s ťažko definovateľnými vadami výrobku, kde konvenčné metódy selhávajú.
  • Pri dostatočnom množstve trénovacích dát je možné pomocou strojového učenia dosiahnuť často vyššiu presnosť vyhodnocovania - t.j. napríklad pri kontrole vad je nižšia miera nedetekovaných vad a falošne detekovaných.
  • Univerzálna adaptácia na rôzne zmeny vo výrobe (zmeny materiálu, typu vyrábaného výrobku atď.) - existuje tu, na rozdiel od konvenčných metód, priamočiare a pomerne rýchle riešenie pomocou pretrénovania modelu danej neurónovej siete.
  • Zvýšené možnosti analýzy vad - deep learning poskytuje širšie možnosti nielen pri detekcii jednotlivých vad, ale aj pri ich klasifikácii (pomocou konvenčných metód presná klasifikácia vad často nie je možná).
  • Jednotný prístup pre rôzne typy výrobkov a rôzne typy kontrol na výrobkoch.
  • Model je možné neustále upravovať s priebehom výroby, zmenu naučeného modelu riešime načítaním jedného modelového súboru - možno vykonať aj pri plnom prevádzkovom režime.
  • Pokročilé metódy je možné využiť na detekciu vad, ktoré sú problematicky rozpoznateľné aj na oko, napríklad praskliny na solárnych paneloch, čipoch, wafroch a pod. Pri meniacej sa polohe objektu umožňuje vybrať oblasť záujmu (ROI), aj keď sú jej hranice rozmazané, čiastočne prekryté alebo zložito definované, čo umožňuje zamerať sa vždy len na oblasť obrázku, ktorá nás zaujíma, a výrazne tým zlepšiť jeho vyhodnotenie.

Nevýhody

  • Proces trénovania modelov je náhodný, preto nie je možné pre rovnaké trénovacie dáta nikdy natrénovať dva rovnaké modely (Samotné vyhodnocovanie obrázkov je však už striktne deterministické).
  • Deep learning nie je možné použiť na vyhodnocovanie založené na presnom meraní rozmerov a uholov daného objektu, tu je nutné použiť konvenčné metódy spracovania obrazu.
  • Pre úspešné natrénovanie modelu je potrebné mať pre každú kategóriu k dispozícii určité množstvo obrázkov (tzv. dataset) - napríklad u konvenčných metód sme prípadne schopní navrhnúť algoritmus na detekciu určitej vady výrobku aj pri existencii len jedného vzorku tejto vady. Pri deep learningu toto nie je možné, musí byť k dispozícii adekvátne množstvo kusov každej vady (obvykle minimálne okolo 10 ks).
  • Model neurónovej siete je "čiernou skrinkou", do ktorej nie je možné pozrieť a zistiť, prečo daný obrázok vyhodnotil práve s konkrétnym výsledkom, a nie inak. Existujú však vizualizačné nástroje - tzv. pravdepodobnostné mapy, ktoré umožňujú aspoň čiastočne nahliadnuť do procesu "rozhodovania" modelu.
  • O niečo vyššia cena za špeciálny softvér aplikujúci metódy deep learning - toto je však relatívne, pretože pri vyhodnocovaní konvenčnými metódami sú tu vyššie náklady na vývoj algoritmov spracovania obrazu, prípadne niektoré úlohy nie sú riešiteľné vôbec. To, či je vhodnejšie riešiť úlohu strojového videnia pomocou metód deep learning alebo konvenčnými nástrojmi, závisí na type úlohy, niekedy je výhodné kombinovať oba prístupy.
Spoločnosť ATEsystem má bohaté skúsenosti s aplikáciou klasických metód spracovania obrazu a od roku 2018 sa intenzívne zaoberá aj využitím metód deep learning vo strojovom videní. Spojením týchto poznatkov s dobrými znalosťami komponentov kamerových systémov sme schopní úspešne riešiť komplexné úlohy strojového videnia s najrôznejšími požiadavkami zákazníkov.

Príklady použitia metód strojového učenia (deep learning)

Teraz uvedieme niekoľko prípadov použitia neurónových sietí na konkrétnych aplikáciách strojového videnia, ktoré sme realizovali alebo pripravovali prípadové štúdie.

Obrázky k jednotlivým úlohám si môžete prezrieť vo fotogalérii.

Kontrola povrchu dreva

Kontrola povrchu a detekcia súk, defektov, ale aj škrabancov či nečistôt je jednou z typických úloh pre metódy deep learning a neurónové siete. Po načítaní dostatočne veľkého datasetu je neurónová sieť schopná naučiť sa sama detekovať rôznorodé defekty a vady materiálu, ktoré odpovedajú zadaniu.

Neviete si rady? Nájdeme pre Vás riešenie šité na mieru.

Nájdeme pre Vás riešenie šité na mieru

Potrebujete poradiť alebo sa na niečo opýtať?

Projekty a aplikácie

Oddelenie systémovej integrácie Tel.: +420 595 172 720
E-mail: atesystem@atesystem.cz