Článek ve formátu PDF je možné stáhnout
zde.
Systémy strojového vidění postupně přicházejí o svou pověst složitých, drahých a tak trochu exotických technologií. V poslední době se tento obor znatelně mění. Cenově dostupné kamery, dostatečný výkon počítačů, a především nabídka vyspělého programového vybavení pro práci s obrazovými daty – vlivem toho velmi narůstá počet úloh s použitím strojového vidění v oboru průmyslové automatizace. S rutinním využíváním strojového vidění roste i náročnost uživatelů a jejich poptávka po snadném zařazení kamerových systémů do automatizačních systémů celých výrobních linek.
I při veškerém technickém pokroku v kamerách a programovém vybavení zůstává návrh systémů strojového vidění jednou z nejobtížnějších a na znalosti a zkušenosti nejnáročnějších oblastí průmyslové automatizace. Základní princip strategie, který pomůže snížit riziko selhání, je jednoduchý – v základních parametrech navrhovaného systému je dobré si nechávat dostatečné rezervy. Klíčovými parametry jsou kvalita obrazu z kamery, výpočetní výkon vyhodnocovacího zařízení a vybavenost a schopnosti programového vybavení. Možnosti integrace úlohy strojového vidění do dalších automatizačních systémů již sice nejsou tak kritické a potenciálně přímo ohrožující úspěch realizace zakázky, ale i tato část zadání může být řešena buď nákladně a krkolomně, nebo elegantně a jednoduše.
Volba koncepce systému
Na počátku je nejsložitější rozhodování. Další komponenty je již možné dimenzovat s určitou rezervou na krytí chyb a nepřesností v prvotních úvahách a výpočtech. V samém počátku je nutné se rozhodnout:
- Postavíme otevřený systém s počítačem, nebo použijeme samostatné tzv. inteligentní kamery?
- Kolik použijeme kamer?
- Jaké budou mít kamery rozlišení?
- Budou barevné, či černobílé?
- Z jakých směrů a vzdáleností budeme snímat?
- Jaké použijeme objektivy?
- Jak budeme scénu osvětlovat a jaké zvolíme typy osvětlovacích jednotek?
- Použijeme optické barevné, nebo polarizační filtry?
- Jaké využijeme programové vybavení pro strojové vidění?
- A nejdůležitější otázka – je vůbec systém podle zadání s dostupnými technickými prostředky realizovatelný?
Dobrá rozhodnutí sice úspěšné řešení nezaručí, ale chybné počáteční volby je zaručeně zhatí.
Jak je důležitá kvalita obrazu z kamery?
Odpověď není tak jednoduchá, jak by se mohlo zdát. Stále existuje poptávka po jednoduchých řešeních, kde na kvalitě obrazu příliš nezáleží. Zkušenosti autorů ukazují, že kvalita obrazu je ve většině úloh, jejichž složitost přesahuje úroveň realizovatelnou jednoduchými kamerovými senzory, pro úspěch řešení klíčová. Co se týče např. detekce přítomnosti určité části kontrolovaného výrobku, může vyhovět i docela nekvalitní obraz s malým rozlišením. Jakmile je ale v obraze zapotřebí např. přesně měřit rozměry, nebo dokonce pomocí Fourierovy transformace detekovat přítomnost určitých prostorových frekvencí, je nutný stabilní a čistý obraz s nízkým šumem a zcela bez artefaktů ztrátových kompresí. Vzhledem k tomu, že při kompresi do formátu JPG je obraz transformován prostřednictvím diskrétní kosinové transformace, nemá již obvykle velký smysl hledat subtilní prostorové frekvence další transformací dekomprimovaného obrazu do kmitočtové domény.
Při velkých požadavcích na kvalitu snímaného obrazu je velmi výhodné použít digitální kamery DataCam, které poskytují tzv. syrová obrazová data. Obraz poskytovaný těmito kamerami není zatížen kompromisní kvalitou zpracování, obvyklou v běžných kamerách, ani poškozen ztrátovou kompresí.
Jaký bude třeba výpočetní výkon vyhodnocovacího zařízení?
Bude-li použita kamera připojená k počítači, není již obvykle nutné si s výkonem dělat starosti. Současné počítače s procesory Intel Core i3/5/7 jsou dostatečně výkonné pro naprostou většinu i velmi komplexních úloh strojového vidění. Dokonce i integrovaná grafika Intel HD 4000 je zcela dostatečná pro veškeré obrazové filtry systému Control Web i převážnou většinu kroků systému VisionLab, které využívají mohutný masivně paralelní výkon GPU. Při velmi vysokých požadavcích aplikace na výkon grafického procesoru je možné počítač doplnit samostatnou grafickou kartou vybavenou moderním GPU, např. NVIDIA Kepler. Možnosti současných GPU jsou pro zájemce o tuto problematiku popsány v článku Využití grafických procesorů v systémech strojového vidění na serveru www.mii.cz nebo na serveru www.automa.cz v časopise Automa, ročník 2012, číslo 11.
Budou-li zvoleny kamery přenášející syrová obrazová data, je nutné zajistit dostatečnou přenosovou kapacitu USB kanálů. V případě několika současně komunikujících kamer to problém není, ale i tak není vhodné dávat více kamer na jeden hub. Při větším počtu kamer lze vše vyřešit pomocí rozšiřujících komunikačních USB karet. Kapacita sběrnice PCI-X je pak již dostatečná pro desítky kamer.
Co všechno musí umět programové vybavení?
Obvykle již v počáteční fázi návrhu je třeba promýšlet metody zpracování obrazu a algoritmy extrahování požadovaných informací z obrazových dat. Je tedy možné specifikovat, jaké funkce musí programové vybavení obsahovat. Tyto odhady jsou ovšem dosti náročné na expertní vědomosti a zkušenosti autora návrhu aplikace. Je-li použit rozsáhlý a bohatě vybavený programový systém, případná počáteční přehlédnutí či podcenění problémů jsou snadno řešitelná. Při použití tzv. inteligentní kamery s nepříliš vysokým výpočetním výkonem a s omezenou sadou funkcí se může počáteční špatný odhad stát velkým problémem.
Kvalitní programové vybavení by mělo plně využívat všechny vlastnosti současných počítačů, včetně paralelizace zpracování dat na více jádrech CPU a masivně paralelních algoritmů prováděných v GPU. Co se týče funkcí a kroků, určitě je vhodné jich z bohaté nabídky vybrat pouze několik, jen je těžké předem přesně vědět, které to budou.
Spolupráce strojového vidění s okolním prostředím
Samostatné řešení byť dobře fungujících, ale izolovaných algoritmů strojového vidění není pro zákazníky již tak atraktivní. Kromě obvyklých rozhodnutí ohledně volby koncepce řešení úlohy strojového vidění musí autor systému také stále více zohledňovat možnosti integrace vysoce specializovaného programového vybavení do automatizačního celku stroje, výrobní linky nebo celého závodu.
Integrace systémů průmyslové automatizace je dnes velmi zjednodušena obecným přijetím standardů již dlouho používaných v oboru informační techniky. Nejdůležitější i v hodně konzervativní průmyslové automatizaci jsou rozhraní Ethernet a USB. Pracuje-li tedy v úloze vyhodnocovací jednotky strojového vidění počítač standardu PC, propojení s automatizačním systémem výrobní linky či celého závodu se maximálně zjednodušuje. Tedy pouze za předpokladu, že používané programové vybavení podporuje alespoň klíčové softwarové standardy pro komunikaci a výměnu dat, jako jsou např. OPC pro komunikaci se vstupně-výstupními zařízeními a ODBC a SQL pro spojení s databázemi atd.
Využít značné možnosti propojení rozličných systémů a jejich vzájemnou spolupráci umožňuje ta skutečnost, že systém strojového vidění VisionLab je součástí neobyčejně rozsáhlého programového prostředí Control Web. Jediný řídicí počítač, ke kterému jsou připojeny kamery a který řeší úlohu strojového vidění, může fungovat jako řídicí a komunikační jednotka celého automatizačního systému a současně jako rozhraní mezi člověkem a strojem. K tomuto počítači lze dále podle potřeby připojit patřičný počet vstupně-výstupních jednotek DataLab. Tyto jednotky mohou být připojeny prostřednictvím:
- USB – na malou vzdálenost v rámci jednoho stroje při požadavku vysoce rychlých odezev v reálném čase,
- Ethernetu – na libovolně velkou vzdálenost s možností využít síťovou infrastrukturu závodu,
- RS-485 – na velkou vzdálenost při použití úsporné a levné kabeláže.
Také pro připojení digitálních kamer DataCam je možné volit mezi připojením pomocí USB 2.0 nebo Ethernetu. K jednomu komunikačnímu adaptéru pro Ethernet mohou být připojeny až čtyři kamery.
Programové prostředí Control Web se pak dokáže postarat o případné připojení dalších PLC prostřednictvím jejich nativních komunikačních protokolů nebo univerzálního standardu OPC, může komunikovat s libovolným databázovým serverem, samotně fungovat jako webový server nebo klient, může posílat e-maily, SMS, komunikovat v bezdrátových sítích apod.
Integrace takto postaveného systému do okolního automatizačního prostředí je velmi přirozená, snadná a levná. Systém není vázán na neveřejné vlastnické, většinou tajné, standardy určitého výrobce a lze ho do budoucna snadno modernizovat a rozšiřovat.
Ing. Roman Cagaš, Moravské přístroje a. s.
Obr. 1. Jednotka DataLab IO v rozváděči stroje připojená na systém strojového vidění
Obr. 2. Osm kamer DataCam uvnitř stroje pro kontrolu kvality výrobků
Obr. 3. Snadnou propojitejnost a komunikaci mezi jednotlivými částmi systému zajišťuje programové prostředí Control Web
Obr. 4. Jednotka průmyslových vstupů a výstupů DataLab IO s připojením na Ethernet