Oppenheimerův moment v umělé inteligenci je za dveřmi
17.03.2024Spolu s Nolanovým filmem Oppenheimer, který minulou neděli zaslouženě získal sedm Oskarů, se v souvi...
Datum 14.04.2018
Rozpoznávání obrazu se v průmyslu používá v mnoha úlohách – při kontrole kvality, kontrole povrchu, vyhledávání objektů, počítání objektů, klasifikaci objektů apod. Klasické metody rozpoznávání obrazu využívají přesné algoritmy.
Typickým příkladem je porovnávání se šablonou, prahování, měření obsahu plochy, detekce hran, měření vzdálenosti hran, kontrola barvy a podobně.
Mezi pokročilejší metody patří statistické přístupy pro kontrolu povrchu se statistickým vyhodnocením různých parametrů obrazu. Společným jmenovatelem těchto přístupů je jejich přesnost. V úlohách, kde se přesnost vyžaduje, fungují velmi dobře a spolehlivě.
Tyto přesné metody však selhávají v úlohách, kdy zkoumaný obraz nebo objekt je variabilní a vypadá vždy trochu jinak. Z tohoto důvodu je pak obtížné nadefinovat, jak má rozpoznání fungovat nebo nadefinovat, kdy je objekt ještě v pořádku (OK) a kdy již ne (NOK). U některých úloh je to dokonce nemožné.
Vezměme extrémní příklad rozpoznání – zjistit, jestli je na snímku kočka (OK) nebo pes (NOK). Člověk na první pohled vidí, co na snímku je, ale neexistuje definice ani exaktní metoda, jak pomocí přesných algoritmů nadefinovat, jak rozpoznat, které zvíře na obrázku je. Porovnávání se šablonou by selhalo, protože totéž zvíře vypadá pokaždé jinak. Prahování, měření ani statistika k požadovanému výsledku nevedou. Ukazuje se však, že v průmyslu je takových úloh mnoho. Jejich řešením je použití metod strojového učení. Místo hledání složité definice a programování komplikovaných (a přesto nedokonalých) algoritmů je výhodnější software učit pomocí sady vzorových příkladů.
Hluboké učení (deep learning) je algoritmus, který patří do rodiny algoritmů strojového učení a umělé inteligence. Je to algoritmus, který se pomocí tzv. neuronových sítí dokáže učit. V dnešní době se používá v mnoha disciplínách, například k rozpoznávání objektů v obraze, k porozumění mluveného slova nebo pochopení obsahu psaného textu.
Výše uvedený příklad rozlišení, jestli je na obrázku kočka nebo pes, je poměrně spolehlivě řešitelný pomocí deep learningu. Stačí algoritmus natrénovat. Je potřeba připravit sadu vzorových dat. Sadu obrázků s kočkou a sadu obrázků se psem.Tyto obrázky se během fáze učení ukazují neuronové síti a ta se je postupně učí (trénuje) rozpoznávat. Po dokončené fázi učení je neuronová síť schopna spolehlivě rozpoznávat, jestli je na obrázku kočka nebo pes. A to i na takových obrázcích, které v tréninku vůbec nebyly použity a tedy je síť ani předtím neviděla.
PEKAT Vision je software pro průmyslovou vizuální inspekci, který je postavený na algoritmech hlubokého učení. Tento software používá neuronové sítě a je schopný detekovat a klasifikovat takové objekty, u kterých současné vision systémy neuspějí. Například to může být předmět nebo defekt, který vždy vypadá trochu jinak. Při klasifikaci pomocí neuronových sítí je síť schopna rozpoznat, jakého je objekt typu nebo jakosti. PEKAT Vision se uplatní všude tam, kde je obtížné nebo dokonce nemožné definovat rozpoznávání přesnými algoritmickými metodami.
Příkladem může být posouzení dřeva, kamene, textilu, gumy, kovových odlitků, svarů apod. Uživatel v programu definuje posloupnost rozpoznání a používá připravené moduly s neuronovými sítěmi – obvykle využívá moduly pro detekci a klasifikaci. Případně může přidávat logiku nebo předzpracování obrazu pomocí vloženého programového bloku kódu v jazyce Python.
Trénink detektoru a klasifikátoru probíhá tak, že uživatel vloží do programu sadu snímků a na nich učí program. Pro detekci stačí detekovaný objekt označit na několika obrázcích pomocí myši. Pro klasifikaci stačí na několika obrázcích zvolit, do jaké třídy objekt patří – například “OK” nebo “NOK”. Nebo “kočka” nebo “pes”. Program tak během tréninku vytvoří neuronovou síť, která problém zobecní a je schopna rozpoznávat všechno, na co byla natrénována, a to i na obrázcích, které předtím neviděla. K získání dostatečného počtu snímků pro trénink má PEKAT Vision doplňující funkci Auto-Trigger. Pomocí jednoduchého nastavení je možné automaticky z běžící kamery snímat a ukládat obrázky ve správný moment do trénovací sady. Pro sběr snímků se tedy není nutné nijak napojovat na stroj nebo výrobní linku.
Software PEKAT Vision má jednoduché programové rozhraní (API) a je tedy snadno integrovatelný a propojitelný se softwarem třetích stran (například LabView), s libovolnými kamerami (například GenICam) nebo s vlastním softwarem systémového integrátora. PEKAT Vision je možné provozovat i na výkonném vzdáleném počítači a s programem komunikovat po síti. PEKAT Vision vyvinula a dále rozvíjí firma PEKAT s.r.o. Na webu www.pekatvision.com najdete bezplatnou 30 denní verzi.