Aktuální vydání

celé číslo

11

2019

Využití robotů, dopravníků a manipulační techniky ve výrobních linkách

Průmyslové a servisní roboty

celé číslo

Strojové vidění – několik úskalí návrhu systémů

Systémy strojového vidění v současnosti rychle ztrácejí svou dřívější pověst složité, nespolehlivé a drahé techniky. Rozvoj v oblasti obrazových senzorů a především výkon soudobých procesorů přiblížil možnosti strojového vidění požadavkům uživatelů. Počet použití v praxi tak rychle roste. To je do značné míry vyvoláváno také rostoucími požadavky na tzv. totální kvalitu výroby, které je možné dosáhnout jen kontrolou každého vyrobeného kusu. Z takové kontroly je nutné vyloučit tzv. lidský faktor, neboť pro lidi platí, že „nikdo není dokonalý“. Často je pak strojové vidění nejen nejlepším, ale také jediným možným způsobem, jak požadovanou kontrolu realizovat.
 
Oproti jiným oblastem průmyslové automatizace je specifikem strojového vidění velký počet neúspěšných řešení. Přes veškeré pokroky oboru je návrh systému strojového vidění relativně velmi náročný na porozumění a respektování základních principů zobrazování a práce s obrazovými daty. Nejdůležitější je právě první fáze návrhu, tj. stanovení geometrického uspořádání inspekčního systému, volba kamery, objektivu, osvětlení a výběr vhodných technických a programových prostředků pro zpracování obrazových dat. Jestliže právě zde se objeví zásadní chyba, je pravděpodobnost neúspěchu velmi vysoká. Ta nejdůležitější rozhodnutí je nutné učinit jako první. Problematika je dosti rozsáhlá a tento článek může postihnout jen její maličký zlomek.
 

Celkové uspořádání úlohy

 
Volbou prostorového uspořádání je již do jisté míry předurčuje typ, počet kamer a osvětlovacích jednotek a požadavky na ohniskové vzdálenosti objektivů. Je nutné mít jasno, z jakého směru a vzdálenosti bude kamera scénu snímat, přitom je třeba stanovit i dostatečné rozlišení kamery, popř. nutnost použití více kamer. Rozhodnout je současně nutné o způsobu osvětlení a jeho barvě – toto souvisí i s eliminací rušivého světla, a tedy s návrhem zastínění a s případnou nutností použít barevné či polarizační filtry v kameře.
 

Technické a programové prostředky zpracování obrazových dat

 
Zde je na výběr mezi dvěma koncepcemi:
  • využití tzv. inteligentních kamer a zpracování obrazu v rámci schopností těchto kamer,
  • připojení kamer k počítači a zpracování obrazových dat běžným počítačem.
Podstatným kritériem zde kupodivu není cena výsledného řešení – obě koncepce jsou přibližně stejně nákladné. Důležitý je především požadavek na výpočetní výkon, pružnost a variabilnost programového vybavení. Inteligentní kamery samy zpracovávají obrazová data a navenek bývají vybaveny binárními výstupy, umožňujícími signalizovat výsledek procesu. Většinou neumožňují volné programování, lze je pouze konfigurovat prostřednictvím sériové linky nebo ethernetového připojení. Jsou obvykle vybaveny specializovanými signálovými procesory nebo nízkospotřebovými RISC procesory s taktem v řádu stovek megahertzů a jednoduchými operačními systémy reálného času. Již tyto skutečnosti ukazují na jejich omezení. Inteligentní kamery jsou vybaveny jen několika základními prostředky pro zpracování obrazu a jsou vhodné pouze pro jednoduché úlohy. Naproti tomu velké množství úloh je obvykle řešeno překvapivě prostými prostředky, a tady tyto integrované kamery vyhoví. Odhadnout situaci předem vyžaduje hodně znalostí, citu a zkušeností. Jakmile je totiž nutné např. poradit si s proměnlivou scénou, reagovat na změny pozic, počtu a tvarů objektů, změny osvětlení nebo řešit složité a výkonově náročné algoritmy, rychle se narazí na limity, které jsou pevné a nepřekonatelné. Snaha řešit inteligentními kamerami úlohy přesahující jejich možnosti stojí za mnoha neúspěchy různých projektů.
 
Připojení kamer k běžnému počítači je nutnou volbou pro složitější úlohy, ale i u jednodušších úloh ponechává větší prostor pro korekce případné počáteční nepřesnosti odhadu požadavků. Výkon moderních procesorů velmi převyšuje i ty nejlepší inteligentní kamery a vestavný počítač již také nemusí mít podobu velké krabice s několika ventilátory. Navíc mnoho typických operací s obrazovými daty lze zrychlit paralelním zpracováním na více jádrech současně. Některé programové systémy (průkopníkem je např. systém strojového vidění VisionLab) dokážou využívat mohutný masivně paralelní výkon současných grafických procesorů. Zatímco dnešní CPU disponují až čtyřmi jádry, GPU rozdělí výpočet např. na 240 jader. Takový systém dokáže v reálném čase s obrazem provádět ještě nedávno nemyslitelné operace.
 
I u sebelepšího programového prostředí lze někdy narazit na absenci požadované funkce nebo na její nedostatečnou výkonnost. Klidu může uživateli dodat otevřená možnost doplňování vlastního kódu. A kdyby ani to nepomohlo požadavky splnit, je možné změnit celý programový systém pro strojové vidění, a vyhnout se tak neúspěchu při řešení zakázky. Větší manévrovací prostor se vždy hodí.
 
V mnoha případech sice ještě postačí, když jediným výstupem systému vizuální inspekce je binární výstup signalizující vadný výrobek, avšak stále častěji systémy strojového vidění již nepracují odděleně od zbytku světa, ale bývá vyžadována jejich integrace do informačních systémů podniku. Programové prostředí by mělo umožňovat zařazení vizuální inspekce do širšího kontextu řídicího a vizualizačního systému, mělo by přenášet veškerá, tedy i obrazová data v síti, komunikovat s PLC, spolupracovat s SQL servery, HTTP servery atd.
 
Dále předpokládejme, že navrhujeme systém, kde jsou kamery připojeny ke standardnímu počítači. Zbývá vybrat vhodnou kameru, objektiv a osvětlení.
 

Kamera

 
Kritérií pro výběr kamery je velmi mnoho. Je možné zvažovat typ detektoru (CCD nebo CMOS), velikost a rozlišení čipu, černobílý či barevný snímač. V případě barevného snímače může jít o jednočipové provedení, tříčipové provedení nebo sekvenční snímání s černobílým senzorem a barevnými filtry. Připojení kamery může být analogové nebo digitální. V případě digitálního rozhraní je na výběr Ethernet/IP, USB nebo Firewire. Digitální kamery mohou pracovat buď s pevnou snímkovou frekvencí, mohou být externě spouštěny, mohou pracovat volně s akumulací osvětlení, mohou poskytovat různě komprimovaný proud dat nebo mohou poskytovat nezkreslená, „syrová“ (RAW) data atd. – při výběru kamery hraje roli opravdu nepřehledné množství kritérií.
 
Pro účely strojového vidění si výběr zjednodušme. Především je nutné zvolit potřebné bodové rozlišení – pro účely měření v obraze rozlišení určuje velikost měřeného předmětu a požadavek na rozlišení jeho měření. Jeden obrazový bod musí teoreticky odpovídat požadovanému rozlišení měření. Teoretická hodnota rozlišení a reprodukovatelnosti měření je snižována mimo jiné vlivem šumu v obraze a nežádoucími artefakty, nutně provázejícími ztrátovou kompresi obrazových dat. Někdy je dokonce možné využitím statistických metod dosáhnout i subpixelového rozlišení měření, obecně a bez znalosti věci ale takto navrhovat systém nelze.
 
V případě jednočipové barevné kamery je nutné brát v potaz přibližně poloviční lineární rozlišovací schopnost. Barevná mozaika má obvykle ze čtveřice obrazových bodů dva body zelené a po jednom bodu červeném a modrém (obr. 1). To přináší nejen nižší rozlišovací schopnost, ale také např. vzájemný posun obrazu v jednotlivých barevných kanálech.
 
Kromě rozlišení je ještě třeba zvolit připojení a druh kamery. Analogová kamera pro potřeby strojového vidění pravděpodobně nebude vhodná. Digitální kamery obvykle bývají připojovány na větší vzdálenost pomocí Ethernetu a na krátkou vzdálenost prostřednictvím USB. Samotný princip digitálního připojení kamer zdaleka není zárukou kvality obrazu. Kamery jsou si vesměs svou konstrukcí velice podobné – naprostá většina digitálních CCD kamer obsahuje podobný integrovaný kamerový řadič, který digitalizuje data z CCD čipu, vyvažuje barevnost, interpoluje barvy z Bayerovy mozaiky a ztrátově komprimuje data do datového proudu ve formátech MJPEG nebo MPEG4. Kvalita těchto operací je vzhledem ke kompromisně omezeným vlastnostem integrovaného obrazového procesoru vždy viditelně limitována, a výsledný obraz je tak zatížen výraznými nežádoucími artefakty. Proto již ve stadiu koncepčního návrhu systému strojového vidění je třeba velmi přesně odhadnout, jak kvalitní obraz bude zapotřebí. Čistota, stabilita a přesnost obrazu určitě nejsou podstatné pro všechny typy aplikací. Někdy je až s podivem, že vizuální inspekce funguje na základě přítomnosti či absence několika rozmazaných skvrn na předem specifikovaných pozicích. U složitějších úloh ale právě kvalita obrazu bývá pro stabilní, a tedy úspěšný provoz inspekčního systému rozhodující.
 
Nejlepší dosažitelnou kvalitu obrazu mají kamery, které poskytují syrová (tzv. RAW) obrazová data. Obraz není těmito kamerami nijak transformován, barevně vyvažován, interpolován ani není nijak komprimován. To přináší bezkonkurenční přesnost obrazu, který je k dispozici v připojeném počítači; zde může být obraz zpracován bez jakýchkoliv kompromisů omezujících jeho kvalitu. Někdy může být na překážku velký datový tok mezi kamerou a počítačem. Na krátkou vzdálenost připojení tyto požadavky výborně řeší rozhraní USB 2.0 s datovým tokem až 480 Mb/s (jedním kabelem na 5 m, při využití aktivních prodloužení a rozbočovače (hubu) až na 30 m).
 

Objektiv

 
Volba typu objektivu a jeho zorného úhlu patří k nejdůležitějším rozhodnutím při navrhování systému strojového vidění. Běžné typy objektivů promítají obraz do plochy s tzv. perspektivní projekcí (obr. 2). To uživatele nutí zabývat se při návrhu vlastnostmi projektivního zobrazování třírozměrné scény do dvourozměrné plochy povrchu snímacího senzoru. Zorné pole objektivu je v tomto případě tvořeno pohledovým komolým kuželem. Obdélníková plocha obrazového senzoru tento kužel dále zredukuje na pohledový jehlan. Jeho vrchol se nazývá ohnisko projekce. Při převodu obrazu scény uvnitř pohledového jehlanu do obrazové plochy dochází ke značné ztrátě informace. Každá polopřímka procházející ohniskem projekce je v obrazové ploše reprezentována jediným bodem.
 
I za teoretického předpokladu dokonalého objektivu s lineárním převodem úhlu na pozici a snímání rovinné dvourozměrné předlohy je nutné se vyrovnat se zkreslením geometrie obrazu vlivem perspektivní chyby. Představme si obraz tmavých teček na světlém pozadí s konstantním rozestupem teček v osách x i y. Aby bylo dosaženo konstantního odstupu teček za předpokladu přesné perspektivní projekce i v promítnutém obraze, musí být předloha snímána z vnitřního povrchu kulové plochy. Při rovinné předloze se tečky v promítnutém obraze budou od sebe vzdalovat v závislosti na jejich vzdálenosti od optické osy.
 
Ztráta prostorové informace při perspektivní projekci velmi komplikuje např. přesná měření rozměrů třírozměrných těles. Bez předchozí znalosti tvarů snímaných předmětů nelze tyto chyby dodatečně korigovat. I při znalosti tvarů předmětů vyžaduje korekce projektivních chyb identifikaci objektů programovým vybavení pro strojové vidění, je tedy vyžadována vysoká úroveň porozumění obrazu.
 
Kromě standardních objektivů s perspektivní projekcí existují i speciální objektivy s orthografickou projekcí. Tyto objektivy nezobrazují scénu s ohniskovou perspektivou, ale s kolmou paralelní projekcí, v níž velikosti zobrazovaných předmětů jsou vždy stejné, nezávisle na jejich vzdálenosti (tzv. délkojevná projekce). Princip telecentrických objektivů (obr. 3) s orthografickou projekcí je celkem prostý. Pomocí aperturní clony umístěné v rovině obrazového hlavního bodu se odstíní veškeré paprsky přicházející z jiných směrů než rovnoběžně s optickou osou. To zní jako dobré řešení všech problémů s přesnými měřeními v obraze, jenže to má jeden háček. Při tomto typu projekce musí být velikost vstupní plochy objektivu shodná s plochou snímané scény. Tyto tzv. telecentrické objektivy jsou proto velmi rozměrné a drahé.
 
Aby nebyl všem potížím konec, významná omezení přesnosti měření v obraze mohou způsobit geometrická zkreslení obrazového pole objektivů, tzv. optické vady objektivů (obr. 4), a ty se vyskytují i u telecentrických objektivů. Zkreslením je zde míněn rozdíl mezi teoretickou pozicí obrazového bodu, která plyne z principu projekce, a skutečnou pozicí bodu zobrazeného reálným objektivem. U skutečných objektivů není nikdy převod mezi úhlem pozice (nebo vzdáleností) zobrazovaného objektu od optické osy a mezi vzdáleností obrazu tohoto objektu v ploše obrazu zcela lineární. Transformace úhlu na vzdálenost má charakter kvadratického, častěji však kubického polynomu. I velmi dobré objektivy mají při použití s několikamegapixelovými kamerami obvykle radiální zkreslení v rozsahu jednotek až desítek pixelů. V některých úlohách, kdy např. jsou čteny texty, kódy nebo se počítají součástky, to vadit nemusí. Je-li vyžadováno přesné měření rozměrů, stává se kvalita objektivů zásadním kritériem.
 
Zatímco s principy projekce nelze nic udělat, zkreslení obrazového pole optickými vadami objektivu je možné softwarově korigovat a dosáhnout vynikají subpixelové přesnosti i s běžnými objektivy. Problémem může být výpočetní náročnost korekčních algoritmů. Například systém VisionLab provádí tyto korekce pomocí grafického procesoru se zcela minimálním vlivem na zatížení počítače.
 

Osvětlení

 
Zatímco v předchozích bodech lze správné řešení předem rozumově velmi dobře odhadnout, často i přesně spočítat, volba správného osvětlení vyžaduje značné zkušenosti a často i hodně experimentování. Zvláště tehdy, je-li scéna tvořena transparentními, lesklými nebo reliéfně nevýraznými objekty, je návrh osvětlení pro celkový úspěch klíčový. Je třeba zvolit druh, počet a pozice osvětlovacích jednotek a barvu jejich světla. Často je nutné vyřešit odstínění nežádoucího světla z okolí zastíněním a barevnými filtry v kameře. K významné redukci nežádoucích odlesků mohou přispět polarizační filtry.
 
Levného osvětlení lze dosáhnout např. za použití zářivkových trubic, popř. i bez elektronických předřadníků, pak ale kamera musí být schopna dostatečně dlouhých expozičních časů. Kvalitnější a lépe parametrizovatelné osvětlení poskytují diodové osvětlovací jednotky, jejichž cena se již natolik snížila, že nebývá překážkou. Je-li třeba osvětlení během činnosti řídit, např. nastavovat jas, barvy nebo spouštět záblesky, je velkou výhodou možnost řídit osvětlovací jednotky přímo z kamer.
 

Na závěr

 
Jestliže jsme v předchozích krocích nic podstatného nepřehlédli, zbývá jen zvolit vhodné programové vybavení pro zpracování obrazu a jeho porozumění, vše zkonfigurovat a naprogramovat a úspěch zakázky by již nemělo nic ohrozit.
 
Zajímavé vlastnosti pro použití v systémech strojového vidění nabízejí digitální průmyslové kamery DataCam (obr. 5). Jde o nízkošumové CCD kamery, které poskytují čistá syrová obrazová data s šestnáctibitovou dynamikou jasu pixelů. Jsou připojeny k počítači prostřednictvím kabelu USB, kterým jsou současně napájeny. Kamery vynikají kvalitou a čistotou obrazu. Každá z těchto kamer dokáže přímo ovládat až čtyři osvětlovací jednotky DataLight, které jsou k dispozici v podobě kruhových osvětlovačů, plošných osvětlovačů, zábleskových osvětlovačů i prosvětlovacích panelů (obr. 6). U jednotek DataLight je možné si vybrat barvu a vyzařovací úhel diod, popř. i přítomnost a druh difuzoru.
 
Na vrcholu pyramidy komponent systémů strojového vidění stojí programové vybavení schopné porozumět obrazům. Bohatě vybavený systém VisionLab si dává za cíl maximálně usnadnit tvorbu aplikace strojového vidění a snadnou integraci této aplikace do struktury informačních systémů. Mezi jeho přednosti patří:
  • snadná integrace digitálních obrazů a vizuální inspekce do aplikací v průmyslové automatizaci,
  • intuitivní editace kroků řetězce strojového vidění,
  • podpora plně paralelního zpracování na více jádrech a více procesorech,
  • podpora masivně paralelního zpracování obrazu grafickým procesorem (obr. 7),
  • pokročilé úpravy obrazu prováděné grafickým procesorem,
  • přenos obrazových dat v počítačových sítích,
  • archivace obrazových dat v podobě snímků i videosouborů,
  • otevřené rozhraní pro doplňování kroků strojového vidění,
  • sdílení dat s aplikacemi systému Control Web.
Zájemce o popis dalších úskalí a principů návrhu systémů strojového vidění si může z webu www.mii.cz stáhnout systém Vision- Lab, kde celý první díl přiložené dokumentace je věnován obecným principům snímání a zpracování digitálních obrazů.
Roman Cagaš,
Moravské přístroje a. s.
 
Obr. 1. Uspořádání barevné mozaiky na CCD čipu
Obr. 2. Zkreslení geometrie rovinného obrazu perspektivní projekcí
Obr. 3. Princip projekce běžného a telecentrického objektivu
Obr. 4. Obvyklá geometrická zkreslení obrazového pole
Obr. 5. Digitální kamery DataCam
Obr. 6. Osvětlovací jednotky DataLight s kamerou DataCam
Obr. 7. Morfologické transformace obrazu mohou být pomocí GPU prováděny na proudu dat z kamery v reálném čase