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 – to vše způsobuje vysoký nárůst počtu aplikací
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 hladké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ý nám 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 nás čeká nejsložitější rozhodování. Další
komponenty již můžeme dimenzovat s určitou rezervou na krytí
chyb a nepřesností v našich prvotních úvahách a výpočtech. V
samém počátku se musíme 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ý?
Obr. 1: Jednotka DataLab IO v rozvaděči stroje
připojená na systém strojového vidění
Dobrá rozhodnutí nám sice úspěšné řešení nezaručí, ale chybné
počáteční volby nám jej zaručeně zhatí.
Jakou roli hraje kvalita obrazu z kamery?
Odpověď není tak jednoduchá, jak se zdá. Stále existuje
poptávka po jednoduchých řešeních, kde na kvalitě obrazu příliš
nezáleží. Naše zkušenosti 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á. Pokud
jde např. o detekci přítomnosti nějaké části kontrolovaného
výrobku, může vyhovět i docela nekvalitní obraz s malým
rozlišením. Jakmile ale potřebujeme v obraze např. přesně měřit
rozměry nebo dokonce pomocí Fourierovy transformace detekovat
přítomnost určitých prostorových frekvencí, potřebujeme 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 JPG formátu 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.
Obr. 2: Osm kamer DataCam uvnitř stroje pro kontrolu
kvality výrobků
Při vysokých nárocích na kvalitu snímaného obrazu přináší
značnou výhodu použití digitálních kamer 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ý budeme potřebovat výpočetní výkon vyhodnocovacího
zařízení?
Použijeme-li kameru připojenou k počítači, nemusíme si již
obvykle 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ého masivně paralelního výkonu
GPU. Při velmi vysokých nárocích aplikace na výkon grafického
procesoru je možno doplnit počítač 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 magazínu Automa ročník:
2012 číslo: 11 Použijeme-li kamery přenášející syrová obrazová
data, musíme 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 vyšší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 promýšlíme metody
zpracování obrazu a algoritmy extrahování požadovaných informací z
obrazových dat. Dokážeme tedy specifikovat, jakou funkčnost musí
programové vybavení obsahovat. Tyto odhady jsou ovšem dosti
náročné na expertní vědomosti a zkušenosti autora návrhu aplikace.
Použijeme-li 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á. V případě použití tzv. inteligentní kamery s nepříliš
vysokým výpočetním výkonem a omezenou sadou funkcí se může
počáteční špatný odhad stát velkým problémem.
Obr. 3: Snadnou propojitejnost a komunikaci mezi
jednotlivými částmi systému zajišťuje programové prostředí
Control Web
Kvalitní programové vybavení by mělo plně využívat všech
vlastností 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ýká funkcí a kroků, určitě jich použijeme z bohaté
nabídky pouze několik, jen je těžké dopředu 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 řešení
algoritmů strojového vidění, není pro zákazníky již tak atraktivní
a obdivované. Kromě obvyklých rozhodnutí kolem volby koncepce
řešení úlohy strojového vidění musí autor systému také stále více
hledět na 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
velice zjednodušena obecným přijetím standardů již dlouho
používaným v oboru informačních technologií. Nejdůležitější roli
tedy i v hodně konzervativní průmyslové automatizaci hrají
rozhraní Ethernet a USB. Máme-li tedy již v roli vyhodnocovací
jednotky strojového vidění použit počítač standardu PC, propojení
s automatizačním systémem výrobní linky či celého závodu se
maximálně zjednodušuje. Samozřejmě pouze za předpokladu, že námi
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.
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 sloužit 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 krátkou 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žití
síťové infrastruktury závodu ° RS 485 – na velkou vzdálenost při
použití úsporné a levné kabeláže
Obr. 4: Jednotka průmyslových vstupů a výstupů DataLab
IO s připojením na Ethernet
Také pro připojení digitálních kamer DataCam můžeme 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 pomocí jejich nativních komunikačních
protokolu nebo pomocí univerzálního standardu OPC, dokáže
komunikovat s libovolným databázovým serverem, dokáže samotné
vystupovat v roli webového serveru nebo klienta, může posílat
maily, SMS, komunikovat v bezdrátových sítích a může dělat mnoho a
mnoho dalšího. Integrace takto postaveného systému do okolního
automatizačního prostředí je pak velmi přirozená, snadná a levná.
Systém není vázán na neveřejné vlastnické, většinou tajné,
standardy nějakého výrobce a lze je do budoucna snadno
modernizovat a rozšiřovat.
Článek tak, jak
vyšel v dvojčísle 8-9/2013magazínu Automa je v PDF podobě
zde: Automa_08_20131.pdf.
rc
|