Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=558&lang=405, vytištěno: 29.03.2024 1:11:44

Hlavní stránkaProduktyStrojové vidění VisionLab

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é 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í tak rychle 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 je nutno 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é 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. Uděláme-li zde zásadní chybu, je pravděpodobnost neúspěchu velmi vysoká.

Ta nejdůležitější rozhodnutí musíme 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í již do jisté míry předurčujeme typ a počet kamer a osvětlovacích jednotek a požadavky na ohniskové vzdálenosti objektivů. Musíme mít jasno, z jakého směru a vzdálenosti bude kamera scé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ů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žití barevných či polarizač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:

  1. Využití tzv. inteligentních kamer a zpracování obrazu v rámci schopností těchto kamer

  2. Připojení kamer k počítači a zpracování obrazových dat standardní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 zkonfigurovat 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 MHz a jednoduchými operačními systémy reálného času. Již tato fakta ukazují na jejich omezení. Inteligentní kamery jsou vybaveny jen několika základními prostř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í. Odhadnout situaci 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í jejich mož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ší prostor pro korekce případné počáteční nepřesnosti odhadu požadavků. Výkon moderních procesorů dramaticky převyšuje i ty nejlepší chytré 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, a průkopníkem těchto technologií je např. systém strojového vidění VisionLab, dokáží využívat mohutného masivně paralelního výkonu 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 pak 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í můžeme někdy narazit absenci požadované funkce nebo na její nedostatečnou výkonnost. Klidu nám může dodat otevřená možnost doplňování vlastního kódu. A kdyby ani to nepomohlo naše požadavky splnit, přinejhorším můžeme 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 ještě postačí, když jediným výstupem systému vizuální inspekce je binární výstup, signalizující vadný výrobek, stále častěji již systémy strojového vidění 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. atp.

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, můžeme zvažovat CCD nebo CMOS 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 senzorem a 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 nebo Firewire. 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 mohou poskytovat nezkreslená syrová 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 musíme zvolit 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 jeho měření. Jeden obrazový bod musí teoreticky odpovídat přesnosti měření. Tato teoretická přesnost a reprodukovatelnost 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 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ých bodů 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 obrazu v jednotlivých barevných kanálech.

Uspořádání barevné mozaiky na CCD čipu

Uspořádání barevné mozaiky na CCD čipu

Kromě rozlišení ještě musíme zvolit připojení a druh kamery. Analogovou kameru 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š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 MJPEG nebo do MPEG4 datového proudu. 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 stádiu koncepčního návrhu systému strojového vidění musíme velmi přesně tušit, jak kvalitní obraz budeme potřebovat. Čistota, stabilita a přesnost obrazu určitě není 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 definovaných pozicích. U složitějších aplikací 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 přinášejí 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 a zde může být zpracován bez jakýchkoliv kompromisů 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ž 480 Mb/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ím př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ř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 pak tento kužel dále zredukuje na pohledový jehlan. Jeho vrchol nazýváme ohniskem 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 se musíme 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. Abychom dosáhli 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.

Zkreslení geometrie rovinného obrazu perspektivní projekcí

Zkreslení geometrie rovinného obrazu perspektivní projekcí

Ztráta prostorové informace při perspektivní projekci nám 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ů nejsme schopni 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ě normální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í. Tedy velikosti zobrazovaných předmětů jsou vždy stejné, nezávisle na jejich vzdálenosti. To zní jako dobré řešení všech problémů s přesnými měřeními v obraze, jenže má to 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 pak velmi rozměrné a drahé. Princip telecentrických objektivů je celkem prostý. Pomocí aperturní clony umístěné v rovině obrazového hlavní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.

Princip projekce normálního, telecentrického a hypercentrického objektivu

Princip projekce normálního, telecentrického a hypercentrického objektivu

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 pole objektivů, a ty se vyskytují i u telecentrických objektivů. Zkreslením zde míníme 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 aplikacích, kdy např. čteme texty, kódy nebo počítáme součá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.

Obvyklá geometrická zkreslení obrazového pole

Obvyklá geometrická zkreslení obrazového pole

Zatímco s principy projekce nic nenaděláme, zkreslení obrazového pole 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čnost korekčních algoritmů. Např. 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ě, 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ý. Musíme zvolit druh, počet a pozice osvětlovacích jednotek a barvu jejich světla. Často je nutno 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, pak zbývá zvolit jen vhodné programové vybavení pro zpracování obrazu a 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é CCD kamery, které poskytují čistá syrová obrazová data s šestnáctibitovou dynamikou jasu pixelů. Jsou připojeny k počítači prostřednictvím USB kabelu, kterým jsou současně napájeny. Kamery vynikají kvalitou a čistotou obrazu.

Digitální kamery DataCam

Digitální kamery DataCam

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ů. U jednotek DataLight si můžeme vybrat barvu a vyzařovací úhel diod a případně i přítomnost a druh difuzoru.

Osvětlovací jednotky DataLight s kamerou DataCam

Osvětlovací jednotky DataLight s kamerou DataCam

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

  • pokročilé úpravy obrazu prováděné grafickým procesorem

    Morfologické transformace obrazu mohou být pomocí GPU prováděny na proudu dat z kamery v reálném čase

    Morfologické transformace obrazu mohou být pomocí GPU prováděny na proudu dat z kamery v reálném čase

  • 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ávrhů systémů strojového vidě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ů.

Článek ve formátu PDF a v podobě, jak vyšel v čísle 4/2010 magazínu Automa je zde: Automa_04_2010.pdf

Roman Cagaš