Třetí díl je zaměřen na kalibraci obrazového pole, čímž se rozumí zavedení takových geometrických transformací do obrazu, které nám eliminují lineární i nelineární chyby projekce obrazu objektivem do roviny snímacího senzoru. Geometrickými transformacemi obrazu jsme schopni odstranit převážně chyby objektivů, nikoliv zkreslení a ztrátu informace plynoucí ze samých principů projekcí.
Pouze ve speciálních případech snímání plošných obrazů (byť z třírozměrných ploch) jsme schopni eliminovat i geometrické efekty vlastních projekcí. Přesto má programová kalibrace obrazové pole velkou důležitost, neboť nám umožní korigovat právě ty nejobtížněji postižitelné vady a nedokonalosti používaných objektivů.
Projektivní zobrazování třírozměrné scény do plochy obrazu
Kromě případů, kdy zobrazujeme např. plochu potištěného papíru nebo rovný povrch předmětu v kolmé pozici vzhledem k ose objektivu, jsme nuceni se zabývat vlastnostmi projektivního zobrazování třírozměrné scény do dvourozměrné plochy povrchu snímacího senzoru. Běžné typy objektivů promítají obraz do plochy s tzv. perspektivní projekcí. 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 (view frustum). Jeho vrchol nazýváme ohniskem projekce. Matematický popis transformací je velmi prostý — vystačíme si zde s podobností trojúhelníků. 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.
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 korigovat. I při znalosti tvarů předmětů vyžaduje korekce projektivních chyb identifikaci objektů programovým vybavení pro strojové vidění, tedy vysokou úroveň porozumění obrazu.
Míra nejistoty rozměrů předmětů se zmenšuje s klesajícím zorným úhlem objektivu. Vyšší přesnosti tedy dosáhneme při snímání objektivem s delší ohniskovou vzdáleností z větší dálky.
Poměrně omezené možnosti nám poskytují metody rekonstrukce třírozměrných tvarů ze stínování. Tyto fotometrické metody obvykle vyžadují ozáření scény bodovým zdrojem světla a znalost odrazivosti povrchu předmětů. Ke každému pixelu pak na základě jeho jasu přiřazujeme normálu (tj. vektor kolmý na povrch). V systémech strojového vidění se fotometrické metody určování tvarů používají jen omezeně, např. pro detekci poškození hran předmětů.
Prostorou informaci lze zachovat např. snímáním scény z více úhlů a následnou syntézou třírozměrného modelu. Tyto postupy pro svou náročnost dosud nepatří mezi obvyklé metody práce s obrazem v úlohách strojového vidění..
V systémech strojového vidění se občas používá např. měření výškového profilu předmětů smímáním obrazu lineární laserové stopy na povrchu předmětů. Při známé pozici stopy a úhlu snímání nám jedna kamera stačí pro detekci řezu povrchem předmětu. I zde nám ale perspektivní projekce poškozuje přesnost.
Objektivy a jejich vlastnosti
Úkolem objektivu je promítnout obraz snímané scény do obrazové plochy optického senzoru. Zobrazení dobrým objektivem by se mělo co nejvíce podobat ideální projektivní transformaci. V praxi je ale zobrazení zatíženo řadou vad a nepřesností, se kterými si v náročnějších aplikacích budeme muset nějak poradit.
Kromě normálních objektivů s perspektivní projekcí existují i speciální objektivy s orthografickou projekcí. Tyto objektivy nezobrazují scénu s ohnickovou 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 potíží 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í věškeré paprsky, přicházející z jiných směrů než rovnoběžně s optickou osou.
Zatímco normální objektiv je zacloněn před hlavním obrazovým bodem, což umožňuje vstup paprsků z celého pohledového kužele, telecentrický objektiv je zacloněn v rovině hlavního obrazového bodu.
Dokonce lze zkonstruovat i tzv. hypercentrický objektiv, kde je pohledový kužel obrácen a s rostoucí vzdáleností od čela objektivu se zužuje. Aperturní clona je umístěna mezi hlavním obrazovým bodem a obrazovou rovinou a vzdálenější předměty jsou pak zobrazovány jako větší.
Na předchozím obrázku jsou projekce těchto tří typů objektivů naznačeny na příkladu pohledu v ose krátké trubky. Normální objektiv nám perspektivu zobrazuje tak, jak jsme zvyklí — vidíme čelo a vnitřní stranu trubky. Telecentrický objektiv zobrazí jen čelo trubky a hypercentrický objektiv nezvykle zobrazí kromě čela i vnější povrch trubky.
Reálné objektivy jsou tvořeny několika skupinami čoček, jedná se tedy o projekci tlustými čočkami. Tlusté čočky mají dvě ohniska projekce. Tak je možno postavit např. i bi-telecentrické objektivy, kde zobrazení není závislé ani na vzdálenosti obrazového senzoru od objektivu.
Geometrická kalibrace obrazového pole
Značné potíže s přesností měření v obraze nám může způsobit geometrická zkreslení obrazového pole 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 zobrazovaného objektu od optické osy a mezi vzdáleností obrazu tohoto objektu v ploše obrazu nikdy 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 problémem.
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 rozestupen 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 k sobě budou přibližovat v závislosti na jejich vzdálenosti od optické osy.
Špičkových výsledků v oblasti kamerového měření a vizuální inspekce dosáhneme např. v prostředí VisionLab i s docela běžnými a tudíž i levnými objektivy. V případě, že budeme mít k dispozici informaci o rozložení geometrických chyb v obrazovém poli, dokážeme zkreslení objektivu pomocí programového zpracování obrazu zcela korigovat. S každým pixelem výsledného obrazu tedy musí být spojena informace o jeho přesné pozici v obrazovém poli objektivu. Pro úspěšné použití tohoto principu musíme vyřešit dva klíčové problémy: jak informaci o správných pozicích získat a jak obraz zpracovat v reálném čase bez neúnosné zátěže počítače. Kalibrace geometrie obrazového pole se řeší velmi elegantně. Do zobrazované scény postačí vložit bodový rastr a systém si uloží kalibrační data pro daný použitý objektiv a konfiguraci měření. Pro menší nároky postačí výtisk laserové tiskárny, pro vysokou přesnost se používá polyesterový film z kvalitní osvitové jednotky. Soubor s kalibračními daty je pak za provozu využíván k odstranění všech nepatřičných zkreslení.
Tato kalibrace je velmi mocná. Odstraňuje nejen výše uvedená radiální zkreslení, ale také veškerá lineární i nelineární zkreslení, jako je rotace obrazu, perspektivní projekce a nejrůznější deformace.
Algoritmus měření pole teček a vytvážení deformační mapy objektivu pracuje s přesností na setiny pixelu. Zde nám tolik nezáleží na rychlosti, ale požadujeme nejvyšší přesnost. Geometrická korekce obrazu za běhu měřicí úlohu probíhá velmi rychle bez pozorovatelného zatížení počítače. Vše je realizováno v GPU grafické karty.
Požadavky na přesnost výsledného korigovaného obrazu jsou vysoké. Dokonce ani hardwarové filtrování a interpolace moderních grafických karet neposkytuje kvalitu obrazu požadovanou pro tuto úlohu. Proto je tvorba výsledného obrazu řešena s vysokou subpixelovou přesností v GPU programem fragmentového shaderu.
Literatura: Programový systém strojového vidění v prostředí Control Web, Moravské přístroje a.s., www.mii.cz