Strojové vidění – několik úskalí návrhu systémů |
Pondělí, 18. únor 2013 |
Systémy strojového vidění v současnosti rychle ztrácejí svou dřívějšípověst složité, nespolehlivé a drahé technologie. Rozvoj v oblasti obrazových senzorů a především výkon dnešních procesorů přiblížil možnosti strojového vidění požadavkům uživatelů. Počet aplikací takrychle roste. Růst počtu nasazení je do značné míry vyvoláván také rostoucími požadavky na tzv. totální kvalitu výroby, které je možno dosáhnout jen kontrolou každého vyrobeného kusu. Z takové kontroly jenutno vyloučit 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 aplikacístrojového vidění vysoký počet neúspěšných řešení. Přes veškeré pokrokyoboru 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áces 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. Uděláme-li zde zásadní chybu, je pravděpodobnostneúspěchu velmi vysoká. Ta nejdůležitější rozhodnutí musíme učinit jako první. Problematika jedosti 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í již do jisté míry předurčujeme typ a početkamer a osvětlovacích jednotek a požadavky na ohniskové vzdálenostiobjektivů. Musíme mít jasno, z jakého směru a vzdálenosti bude kamerascénu snímat, přitom musíme stanovit i dostatečné rozlišení kamery, případněnutnost použití více kamer. Rozhodnout musíme současně o způsobuosvětlení a jeho barvě – toto souvisí i s eliminací rušivého světlaa tedy s návrhem zastínění a s případnou nutností použití barevných čipolarizačních filtrů v kameře.
Technické a programové prostředky zpracování obrazových dat Zde máme na výběr mezi dvěma koncepcemi:
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žadavekna výpočetní výkon, pružnost a variabilnost programovéhovybavení. Inteligentní kamery samy zpracovávají obrazová data a navenekbývají vybaveny binárními výstupy, umožňujícími signalizovat výsledekprocesu. Většinou neumožňují volné programování, lze je pouzezkonfigurovat prostřednictvím sériové linky nebo Ethernetového připojení.Jsou obvykle vybaveny specializovanými signálovými procesory nebonízkospotřebovými RISC procesory s taktem v řádu stovek MHz a jednoduchýmioperačními systémy reálného času. Již tato fakta ukazují na jejichomezení. Inteligentní kamery jsou vybaveny jen několika základnímiprostředky pro zpracování obrazu a hodí se jen pro jednoduché úlohy.Na druhé straně velké množství úloh je obvykle řešeno překvapivěprostými prostředky, a tady tyto integrované kamery vyhoví. Odhadnoutsituaci předem vyžaduje hodně znalostí, citu a zkušeností. Jakmile je totižnutno např. si poradit 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 narazíme na limity, které jsou pevné a nepřekonatelné.Snaha řešit inteligentními kamerami úlohy přesahující jejichmožnosti stojí za mnoha neúspěšnými projekty.
Připojení kamer ke standardnímu počítači je nutnou volbou pro složitějšíaplikace, ale i u jednodušších aplikací nám ponechává větší prostorpro korekce případné počáteční nepřesnosti odhadu požadavků. Výkonmoderních procesorů dramaticky převyšuje i ty nejlepší chytré kamerya vestavný počítač již také nemusí mít podobu velké krabice s několikaventilátory. Navíc mnoho typických operací s obrazovými daty lze zrychlitparalelním zpracováním na více jádrech současně. Některé programovésystémy, a průkopníkem těchto technologií je např. systém strojovéhovidění VisionLab, dokáží využívat mohutného masivně paralelního výkonusouč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 pakdokáž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í můžeme někdy narazit absencipožadované funkce nebo na její nedostatečnou výkonnost. Klidunám může dodat otevřená možnost doplňování vlastního kódu. A kdybyani to nepomohlo naše požadavky splnit, přinejhorším můžeme změnitcelý programový systém pro strojové vidění a vyhnout se tak neúspěchupři řešení zakázky. Větší manévrovací prostor se vždy hodí. V mnoha případech ještě postačí, když jediným výstupem systémuvizuální inspekce je binární výstup, signalizující vadný výrobek, stále častějijiž systémy strojového vidění nepracují odděleně od zbytku světa, alebý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í inspekcedo širšího kontextu řídicího a vizualizačního systému, mělo by přenášetveškerá, tedy i obrazová, data v síti, komunikovat s PLC, spolupracovats SQL servery, HTTP servery atd. atp. Dále předpokládejme, že navrhujeme systém, kde jsou kamery připojenyke standardnímu počítači. Zbývá vybrat vhodnou kameru, objektiva osvětlení.
Kamera Kritérií pro výběr kamery je velmi mnoho, můžeme zvažovat CCD neboCMOS detektor, velikost a rozlišení čipu, černobílý či barevný snímač.V případě barevného snímače se může jednat o jednočipové provedení,tříčipové provedení nebo sekvenční snímání s černobílým senzorema barevnými filtry. Připojení kamery může být analogové nebo digitální.V případě digitálního rozhraní máme na výběr z Ethernet/IP, USB neboFirewire. Digitální kamery mohou běžet buď s pevnou snímkovou frekvencí,mohou být externě spouštěny, mohou běžet volně s akumulacíosvětlení, mohou poskytovat různě komprimovaný proud dat nebo mohouposkytovat nezkreslená syrová data atd. – při výběru kamery hrajeroli opravdu nepřehledné množství kritérií. Pro účely strojového vidění si výběr zjednodušme. Především musímezvolit potřebné bodové rozlišení – pro účely měření v obraze nám rozlišeníurčuje velikost měřeného předmětu a požadavek na přesnost jehoměření. Jeden obrazový bod musí teoreticky odpovídat přesnosti měření.Tato teoretická přesnost a reprodukovatelnost měření je snižována mimojiné vlivem šumu v obraze a nežádoucími artefakty, nutně provázejícímiztrátovou kompresi obrazových dat. Někdy dokonce můžeme využitím statistických metod dosáhnout i subpixelové přesnosti měření, obecněa bez znalosti věci ale takto navrhovat systém nelze. V případě jednočipovébarevné kamery musíme brát v potaz přibližně poloviční lineární rozlišovacíschopnost. Barevná mozaika má obvykle ze čtveřice obrazovýchbodů dva body zelené a po jednom bodu červeném a modrém. To přinášínejen nižší rozlišovací schopnost, ale také např. vzájemný posun obrazuv jednotlivých barevných kanálech. Kromě rozlišení ještě musíme zvolit připojení a druh kamery. Analogovoukameru pro potřeby strojového vidění pravděpodobně odmítneme.Digitálních kamery bývají obvykle 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šinadigitálních CCD kamer obsahuje podobný integrovaný kamerový řadič,který digitalizuje data z CCD čipu, vyvažuje barevnost, interpoluje barvyz Bayerovy mozaiky a ztrátově komprimuje data do MJPEG nebodo MPEG4 datového proudu. Kvalita těchto operací je vzhledem ke kompromisněomezeným vlastnostem integrovaného obrazového procesoruvždy viditelně limitována a výsledný obraz je tak zatížen výraznými nežádoucímiartefakty. Proto již ve stádiu koncepčního návrhu systému strojovéhovidění musíme velmi přesně tušit, jak kvalitní obraz budemepotřebovat. Čistota, stabilita a přesnost obrazu určitě není podstatná provšechny typy aplikací, někdy je až s podivem, že vizuální inspekce fungujena základě přítomnosti či absence několika rozmazaných skvrn na předemdefinovaných pozicích. U složitějších aplikací ale právě kvalita obrazubývá pro stabilní a tedy úspěšný provoz inspekčního systémurozhodující. Nejlepší dosažitelnou kvalitu obrazu přinášejí kamery, kteréposkytují syrová (tzv. RAW) obrazová data. Obraz není těmito kameraminijak transformován, barevně vyvažován, interpolován ani není nijakkomprimován. To přináší bezkonkurenční přesnost obrazu, který je k dispoziciv připojeném počítači a zde může být zpracován bez jakýchkolivkompromisů omezujících jeho kvalitu. Někdy může být na překážku vysoký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ž 480Mb/s (jedním kabelem na 5m, při využití aktivních prodloužení a hubu ažna 30m).
Objektiv
Volba typu objektivu a jeho zorného úhlu patří k nejdůležitějším rozhodnutímpři návrhu systému strojového vidění. Běžné typy objektivů promítajíobraz do plochy s tzv. perspektivní projekcí. To nás nutí zabývat se přinávrhu vlastnostmi projektivního zobrazování třírozměrné scénydo dvourozměrné plochy povrchu snímacího senzoru. Zorné pole objektivuje v tomto případě tvořeno pohledovým komolým kuželem. Obdélníkováplocha obrazového senzoru pak tento kužel dále zredukujena pohledový jehlan. Jeho vrchol nazýváme ohniskem projekce. Při převoduobrazu 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 se musímevyrovnat se zkreslením geometrie obrazu vlivem perspektivníchyby. Představme si obraz tmavých teček na světlém pozadí s konstantnímrozestupem teček v osách x i y. Abychom dosáhli konstantního odstuputeček za předpokladu přesné perspektivní projekce i v promítnutémobraze, musí být předloha snímána z vnitřního povrchu kulové plochy. Přirovinné předloze se tečky v promítnutém obraze budou od sebe vzdalovatv závislosti na jejich vzdálenosti od optické osy. Ztráta prostorové informace při perspektivní projekci nám velmi komplikujenapř. přesná měření rozměrů třírozměrných těles. Bez předchozíznalosti tvarů snímaných předmětů nejsme schopni tyto chyby dodatečněkorigovat. I při znalosti tvarů předmětů vyžaduje korekce projektivníchchyb identifikaci objektů programovým vybavení pro strojové vidění, jetedy vyžadována vysoká úroveň porozumění obrazu. Kromě normálníchobjektivů s perspektivní projekcí existují i speciální objektivy s orthografickouprojekcí. Tyto objektivy nezobrazují scénu s ohniskovou perspektivou,ale s kolmou paralelní projekcí. Tedy velikosti zobrazovanýchpředmětů jsou vždy stejné, nezávisle na jejich vzdálenosti. To zní jakodobré řešení všech problémů s přesnými měřeními v obraze, jenže má tojeden háček. Při tomto typu projekce musí být velikost vstupní plochyobjektivu shodná s plochou snímané scény. Tyto tzv. telecentrické objektivyjsou pak velmi rozměrné a drahé. Princip telecentrických objektivů jecelkem prostý. Pomocí aperturní clony umístěné v rovině obrazovéhohlavního bodu (tj. ohniska čočky) se odstíní veškeré paprsky, přicházejícíz jiných směrů než rovnoběžně s optickou osou. Aby nebyl všem potížím konec, významná omezení přesnosti měřenív obraze nám mohou způsobit geometrická zkreslení obrazového poleobjektivů, a ty se vyskytují i u telecentrických objektivů. Zkreslením zdemíníme rozdíl mezi teoretickou pozicí obrazového bodu, která plynez 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éhopolynomu. I velmi dobré objektivy mají při použití s několikamegapixelovýmikamerami obvykle radiální zkreslení v rozsahu jednotek až desítekpixelů. V některých aplikacích, kdy např. čteme texty, kódy nebo počítámesoučástky, to vadit nemusí. V aplikacích, kdy jsou vyžadována přesnáměření rozměrů, se kvalita objektivů stává zásadním kritériem. Zatímco s principy projekce nic nenaděláme, zkreslení obrazovéhopole můžeme 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čnostkorekčních algoritmů. Např. systém VisionLab provádí tyto korekcepomocí 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ě,je-li scéna tvořena transparentními, lesklými nebo reliéfně nevýraznýmiobjekty, je návrh osvětlení pro celkový úspěch klíčový. Musíme zvolitdruh, počet a pozice osvětlovacích jednotek a barvu jejich světla. Často jenutno vyřešit odstínění nežádoucího světla z okolí pomocí zastíněnía barevných filtrů v kameře. K významné redukci nežádoucích odleskůmohou přispět polarizační filtry. Levné osvětlení lze řešit např. pomocí zářivkových trubic, případně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 jejich nasazení. Je-li potřeba osvětleníběhem činnosti řídit, např. nastavovat jas, barvy nebo spouštět záblesky,je velkou výhodou možnost řízení osvětlovacích jednotek přímo z kamer.
Na závěr Jestliže jsme v předchozích krocích nic podstatného nepřehlédli, pakzbývá zvolit jen vhodné programové vybavení pro zpracování obrazua jeho porozumění (a samozřejmě 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. Jedná se o nízkošumové CCDkamery, které poskytují čistá syrová obrazová data s šestnáctibitovou dynamikoujasu pixelů. Jsou připojeny k počítači prostřednictvím USB kabelu,kterým jsou současně napájeny. Kamery vynikají kvalitou a čistotouobrazu. Každá z těchto kamer dokáže přímo ovládat až čtyři osvětlovací jednotkyDataLight, 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ů.U jednotek DataLight si můžeme vybrat barvu a vyzařovací úhel dioda případně 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éhovidění a snadnou integraci této aplikace do struktury informačníchsystémů. Mezi jeho přednosti patří:
Zájemce o popis dalších úskalí a principů návrhů systémů strojovéhovidění si může z webu www.mii.cz stáhnout systém VisionLab, 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. |