česky english Vítejte, dnes je sobota 23. listopad 2024

Proč je strojové vidění pro internet věcí tak důležité?

DPS 4/2018 | Články
Autor: Mark Patrick Mouser Electronics

Systémy strojového vidění prošly za posledních deset let bouřlivým rozvojem. Současné algoritmy schopné detekovat ve snímcích hrany a také pohyb umožnily ve spojení s pokroky v oblasti polovodičových technologií vztahujících se k obrazovým snímačům, programovatelné logice, mikrokontrolérům či jednotkám GPU (Graphics Processing Unit) vše zapracovat do celé řady vestavných aplikací. Důmyslnější návrhy, které lze řešit s hradlovými poli FPGA se využijí společně s novým vývojovým prostředím, např. OpenCV, a strojové vidění tak bude pro vývojáře embedded systémů ještě dostupnější.

Rozmach strojového vidění jde ruku v ruce s trendem propojování průmyslových systémů do internetu věcí IoT. Senzory máme stále chytřejší a z části za to mohou právě podpůrné algoritmy počítačového vidění, takže získaná data nám zprostředkují cenný pohled na činnost průmyslových aplikací. To pak otevírá nové možnosti sledování zařízení s využitím autonomních robotických systémů, např. na způsob dronů propojených s infrastrukturou internetu věcí.

Obr. 1 Robotický systém strojového vidění

Při přechodu na systémy strojového vidění vstupuje do hry otázka šířky pásma, přičemž další hlavní motivací bude představa automatizace většího počtu prvků průmyslového provozu. Jednu z klíčových aplikací strojového vidění hledejme v inspekčních systémech. Cena špičkových kamerových systémů s obrazovými snímači CMOS za posledních deset let výrazně klesla a my tak můžeme ve výrobě prohlížet desky nebo celé sestavy s ještě vyšším rozlišením. Zmíněné moduly kamer jsou za účelem lepšího zpracování a také možností činit rozhodnutí doplňovány poli FPGA. Kamera proto může na základě získaných dat sama reagovat, a to i bez potřeby přenosu videa po síti, takže ve výsledku pracujeme ještě efektivněji.

Připojíme-li prvky strojového vidění kontrolních zařízení do internetu věcí, zajistíme nadřazeným systémům, které mají v daném podniku na starosti analýzu provozních vlastností, ještě více informací. Spíše než surová data proto strojové vidění poskytne informace na úrovni abstrakce vhodné právě pro takové systémy. Výrazně tím omezíme požadovanou šířku pásma jak pro servery, tak též síť jako celek, zvláště když velké systémy zpracovávají milióny údajů pocházejících z IoT a každé snížení zátěže pro počítače pomůže s rychlejším rozhodováním.

V automatizovaných závodech rozmach strojového vidění otevírá dveře též pro robotické naváděcí systémy. Inspekční stroje mohou proto obejít centrální servery a s dalším zařízením v závislosti na výsledcích vyvozených systémy strojového vidění komunikovat přímo. Zvýšíme tím efektivitu provozu a znovu snižujeme zátěž kladenou na síť a také počítače.

Strojové vidění využijeme též k řízení automatizovaných zařízení, zejména budeme- li manipulovat s nějakým materiálem. Může to zahrnovat vše od řídicích systémů pro autonomní roboty přemisťující věci okolo budovy až po stroje vyhrazené automatickému rozpoznávání a výběru zboží třeba ve velkoskladu.

V případě autonomních robotů manipulujících s materiálem může být strojové vidění omezeno na prosté rozpoznání a sledování linky na podlaze mezi dvěma místy. Dokážeme je však využít rovněž při detekci lidí nebo překážek postavených do cesty, takže dělníci budou v provozu schopni bezpečné a ještě efektivnější práce společně s roboty. Jak jsme již zmínili, strojové vidění dnes zužitkujeme též při výběru produktů, kdy jednotlivé položky rozlišíme dle jejich čárového kódu a pak už jen necháme přiblížit robotické chapadlo, které je uchopí a vloží do košíku. Neobejdeme se přitom bez kamery ani místního zpracování dat, které vše doprovází, přičemž vybírající nebo též autonomní roboty máme nepřetržitě monitorovány v rámci širšího internetu věcí.

Obr. 2 Autonomní dron doručující balíček

A s bezpilotními stroji na způsob UAV (Unmanned Aerial Vehicle), které budou na systémech strojového vidění ve vzduchu závislé čím dál tím víc, zamíříme ještě výš. UAV se osvědčily jako velmi účinné nástroje při kontrolních prohlídkách v obtížně přístupných místech, typicky u ropovodů nebo plynových stanic. Stejně jako může systém strojového vidění umožnit bezpilotnímu stroji rozpoznání konkrétní cílové oblasti a přiblížení se k ní, takže si vše prohlédneme z ještě menší vzdálenosti, využijeme jej také za účelem předcházení střetů s pevnými překážkami nebo dokonce dalšími UAV, protože kamerový systém bude propojen přímo s palubní řídicí jednotkou.

A pak zde máme oblast dohledu, ve které bude mít rostoucí nasazení systémů strojového vidění obrovský dopad. Místo toho, abychom zpátky každou vteřinu posílali megabity dat videa, které bude muset obsluha zhlédnout, vše zpracujeme přímo na místě a alarm vyhlásíme bez potřeby jakéhokoli zásahu člověka. Algoritmy strojového vidění běžící na hradlových polích FPGA jsou stále přesnější. Ve výsledku tak ještě lépe odlišíme pohyb vetřelce od zvířete nebo např. listí na stromech a obsluha se tak může souběžně věnovat většímu počtu střežených míst. Dohledové kamery mohou kromě toho v reakci na vzniklý poplach samy předávat pokyny dalším zařízením. Kombinací autonomních pozemních a také ve vzduchu se pohybujících strojů, např. UAV, tak možná změníme pohled na kompletní fungování zabezpečovacího systému. Nemusíme se spoléhat pouze na pevně rozmístěné kamery, kterým se dá vyhnout. Systémy pro snímání obrazu místo toho osadíme na létající stroje, které budou oblast nepřetržitě sledovat přímo ze vzduchu. Až se baterie v UAV vybijí, vznášedla se snesou do nabíjecí stanice a jako náhrada odstartují další drony. Výpadek v pokrytí tak nemusíme vůbec zaznamenat. Vyspělejší algoritmy strojového vidění dokážou identifikovat případné hrozby a povolat na pomoc další prostředky pohybující se buď po zemi, nebo i ve vzduchu za účelem podrobnějšího sledování vzniklé situace. To vše navíc bez účasti operátora. Shodný scénář využijeme stejně tak i v zemědělství, kde algoritmy strojového vidění ze vzduchu sledují stav plodin, a pokud nastane problém, který vyhodnotí jako oprávněný pro spuštění nějaké pohotové akce, mohou na konkrétní místo rovnou nasměrovat obsluhu nebo např. autonomní traktor.

Právě popsané aplikace mohou vznikat díky rozvoji zásadních hardwarových a také softwarových technologií. Struktura algoritmů strojového vidění, s nimiž pracujeme v rámci nejnovějších polí FPGA či jednotek GPU, je stále sofistikovanější. Takové obvody pak souběžně zvládnou osm nebo i šestnáct kanálů a podporují přitom rychlosti 60 snímků za vteřinu. Rovněž zde využijeme služeb softwaru na vyšší úrovni, např. OpenCV.

OpenCV, který se zpočátku zaměřoval především na výzkum a řešení prototypů, se v posledních letech stále více používá v produktech napříč celou řadou platforem – od cloudových až po mobilní, v době psaní článku v nejnovější verzi OpenCV 3.1. Předchozí verze 3.0 byla ve znamení významného přepracování, se kterým se otevřela moderním standardům C++ a zahrnula rozšířenou podporu vidění ve 3D a také rozšířené reality. S další verzí 3.1 pak přichází vylepšené algoritmy pro důležité funkce typu kalibrace, optického toku, filtrace obrazu, segmentace nebo detekce prvků.

Co nás ještě čeká

Po strojovém vidění přichází jako zcela logický další stupeň právě strojové učení. Algoritmy počítačového vidění dokážou provádět deterministickou analýzu nehybných snímků nebo videoobsahu, ale strojové učení kromě toho využije možností neuronových sítí a učí tak systém, na co se má zaměřit. Poslední verze OpenCV nyní kupříkladu podporuje hluboké neuronové sítě využívané při strojovém učení.

Rostoucí výkon hradlových polí FPGA a jednotek GPU otevírá strojovému učení nové možnosti. Spoléháme se přitom na fázi učení, ve které neuronové síti předložíme řadu různých obrázků s označenými cíli, které nás zajímají, a vše přitom obvykle řídíme velkým serverovým systémem v laboratoři nebo cloudu. Dostaneme tak sérii vah a dat, kterou následně užijeme ve stejné síti implementované v embedded návrhu. „Jednotka logického úsudku“ použije zmíněné váhy při rozhodování o tom, zda v nových datech takové předměty spatřuje. Nejnovější dohledové kamery například využijí algoritmů strojového učení a souvisejících neuronových sítí k tomu, aby mohly nabídnout více než jen klasické funkce, typicky monitorování a záznam, takže přináší doplňkovou podporu pro analýzu videa ve smyslu sledování hustoty davu, prostorového vidění, rozpoznávání tváří, počítání lidí nebo rozboru jejich chování. Výsledky lokálního zpracování lze navíc poskytnout internetu věcí a v rámci cloudu s přispěním analyzujícího softwaru zapojit do širších souvislostí.

Závěr

Zapojením systémů strojového vidění do internetu věcí vytváříme předpoklady pro vznik rychlých sítí. Budeme-li totiž schopni rozpoznávat předměty v zorném poli kamer, stanou se jednotlivé lokální uzly ještě inteligentnějšími a získají zároveň i větší nezávislost, takže ve výsledku odlehčí centrálním serverům od zátěže při zpracování dat a umožní přitom vybudovat lépe distribuovanou řídicí architekturu. To vše se na oplátku odrazí v efektivnějším provozu, který si již tak nežádá vnější vstup.