Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
STEREO VIDĚNÍ CÍLE LABORTATORNÍ ÚLOHY 1. Seznámení se stereo viděním 2. Výpočet 3D souřadnic bodu z obrazu kamer
ÚKOL 1. 2. 3. 4.
Seznamte se základy 3D vidění Získejte pozice reflexních značek z 2 kamer. Z obrazu kamer získejte 2D souřadnice jednotlivých značek Pomocí kalibračního toolboxu, nebo emgu(C#) knihovny a šachovnice vypočítejte vnitřní a vnější parametry kamery. (Zdrojové kódy a knihovna jsou k dispozici v balíčku ukol.zip) 5. Určete 3D souřadnice značek.
TEORETICKÝ ZÁKLAD Snímáme-li libovolnou scénu pomocí kamery, pak 3D pozice objektů je promítána do roviny obrazu kamery. Obraz scény je nejdříve zkreslený čočkou a následně geometricky transformován do roviny. Při projekci 3D scény ztrácíme informaci o vzdálenosti objektu od kamery a proto není možné z obrazu jedné kamery zrekonstruovat původní scénu. Při přidání další kamery, jejíž projekční rovina není rovnoběžná s rovinou první kamery, již můžeme 3D scénu zrekonstruovat a vypočítat 3D pozice jednotlivých objektů ve scéně. Pro pochopení problematiky si nejprve definuje matematický model kamery, který se nazývá „model dírkové kamery (pinhole camera model)“. Tento model je definován pomocí vnitřních a vnějších parametrů, které popisují deformaci obrazu a pozici kamery ve scéně. Výpočet těchto parametrů nazýváme kalibrací kamer.
MODEL DÍRKOVÉ KAMERY V modelu dírkové kamery se používá tzv. centrální projekce. Uvažujeme-li centrální projekci bodu X v prostoru do roviny Z ve vzdálenosti f od centra, pak prostorové souřadnice (x,y,z)T bodu X jsou transformovány do roviny následovně (fx/z, fy/z, f)T (souřadnice jsou vypočítány na základě podobnosti trojúhelníků viz obr.1).
Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
OBRÁZEK 1.: MODEL DÍRKOVÉ KAMERY
Když ignorujeme třetí souřadnici, která nám dává vzdálenost roviny Z od centra projekce, získáme souřadnici bodu v rovině (xr,yr)T = (fx/z, fy/z)T . Výpočet této centrální projekce lze při použití homogenních souřadnic zapsat pomocí matic následovně:
(
)
(
)( )
(1)
Pokud definuje X jako bod v prostoru reprezentovaný vektorem (x, y, z, 1)T, Xr reprezentovaný vektorem (fx/z, fy/z)T jako bod v obrazu kamery a matici kamery M s rozměrem 3x4, můžeme centrální projekci zkrátit na následující zápis
(2) Pokud uvažujeme posunutí hlavního bodu obrazu (bod v projekční rovině, kterým prochází optická osa) o Zpx v ose x a Zpy v ose y. Upravíme rovnici v homogenních souřadnicích následovně
(
)
(
)( )
(3)
)
(4)
Když si označíme matici
[
]
(
Kde I je jednotková matice 3x3 a O je nulový vektor, pak rovnici (2) můžeme napsat jako
[ Matice K se nazývá kalibrační matice.
]
(5)
Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
Máme-li pak dva koordinační systémy, můžeme transformovat jeden systém do druhého. Nejdříve je nutné posunout počátek souřadnice jednoho prostoru do druhého pomocí vektoru t. Následně otočit koordinační systém podle jeho os. Pro rotaci použijeme rotační matici R. Jestliže parametry R a t definují pozici koordinačního systému kamery v prostoru, budeme je nazývat vnější (extrinsic) kalibrační parametry. Transformaci bodu X v koordinačním systému prostoru můžeme transformovat do stejného bodu Xc v koordinačním systému kamery pomocí následující vzorce
,
(6)
Následnou substitucí (6) in (5) získáme následující vztah
[
]
,
(7)
který popisuje transformaci libovolného bodu v prostoru do koordinačního systému kamery a jeho promítnutí do obrazové roviny. Kalibrační matice CCD kamer je obyčejně definovaná následovně:
(
)
(8)
kde ax = fmx, ay = fmy, x0 = pxmx and y0 = pymy. Ve vzorci reprezentuje f ohniskovou vzdálenost kamery a mx and my vzdálenost promítací roviny kamery ve směru osy x a y. Parametry matice K jsou nazývané vnitřní (intrinsic) parametry kamery, které interpretujeme následovně:
(x0,y0) – x and y jsou souřadnice (v pixelech) počátku osových souřadnic, který se zjistí ortogonální projekcí ohniska do roviny obrazu. Pro většinu kamer je počátek v blízkosti středu roviny obrazu
f – ohnisková vzdálenost kamery
s – zkosení světločivných buněk na CCD čipu. Zkosení definuje jako s = f arctan(θ),kde θ je úhel mezi osami obrazu xs a ys. U většiny CCD kamer můžeme předpokládat, že jednotlivé buňky jsou čtvercové, proto uvažujeme parametr nulový.
ax/ay – poměr stran obdélníkových světločivých buněk, kde ax je šířka a ay je výška. V případě, že pixely jsou čtvercové, poměr je roven jedné.
Vnitřní parametry charakterizují vlastnosti kamery. Každá kamera má vlastní vnitřní parametry a tyto parametry můžeme jednou vypočítat a uložit. Vnější parametry definují vzájemnou pozici jednotlivých kamer v prostoru a musí být vypočítané vždy před začátkem měření.
Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
ZKRESLENÍ (DISTORZE) Obraz z kamery a fotoaparátu je většinou optický zakřivený (deformovaný) díky kamerových čočkám. Distorzi čočky můžeme definovat jako odchylku z lineární projekce. Ačkoliv může být distorze nepravidelná a různě komplikovaná, většina běžných distorzí jsou přibližně radiálně symetrické, což plyne ze symetrie fotografických čoček. Nejběžnější radiální distorce můžou být klasifikovány do dvou hlavních typů:
Soudková distorze (konkávní zkreslení) – při soudkové distorzi se zkreslení zvětšuje se vzdáleností od optické osy. Obrázek pak vypadá, jak kdyby byl namapovaný na kouli případně na elipsoidu. Nejvíce patrná je distorze při použití objektivu tzv. rybí oko, při kterém se polokoule promítne na rovinu.
Jehelníčková distorze (konvexní skreslení) – je patrná často u starších typů fotoaparátů či fotoaparátů u mobilních telefonů. Distorze se projevuje zakřivením čar a obrazu směrem k jeho středu
Pro odstranění radiální distorze si definujeme obecný vzorec pro její výpočet:
(9) ve které c = [ cx,cy ]T střed zkreslení a f(r) nazveme korekční faktor distorze. Faktor distorze f(r) je definován pouze pro pozitivní hodnoty r a pro f(0) = 1. Jakoukoliv funkci f(r) můžeme aproximovat pomocí Taylorova polynomu.
(10)
kde
√
a a1, a2, a3, a4 definují parametry modelu distorze. Koeficienty
a1, a2, a3, a4 a cx, cy považujeme jako další vnitřní parametry kamer. Jako střed radiální distorze je často bran hlavní bod. Jedna z nejvíce používaných metod pro výpočet faktoru je metoda nelineární optimalizace a je implementovaná v kalibračním toolboxu matlabu či opencv. Ostatní metody můžeme najít v literatuře. URČENÍ VNĚJŠÍCH A VNITŘNÍCH PARAMETRŮ Proces k určení vnitřních a vnějších parametrů kamery nazýváme kalibrace. V mnoha případech přesnost celého systémů záleží na tom, jak je kalibrace přesně provedena. Kalibraci můžeme rozdělit do dvou částí: 1. Určení projekční matice M, která reprezentuje zobrazovací transformaci. 2. Určení vnitřních a vnějších parametrů z matice M. Tato fáze není vždy nutná – záleží na aplikace. Existují dva hlavní přístupy k odhadnutí 1) s známou scénou 2) v neznámé scéně Ve známé scéně známe 3D pozici bodů, které korespondují s 2D pozicí na obrázkách z kamery. Pokud promítneme 3D pozice na 2D získáme soustavu lineárních rovnic a po její řešení matici
Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
M. Scéna často obsahuje kalibrační objekty, jejichž tvar a 3D struktura je známa (kvádr, šachovnice). V neznámé scéně musíme najít stejné body ve všech snímkách na základě jejich pozice a vzájemné pozice kamer můžeme odhadnout vnitřní a vnější parametry.
OBRÁZEK 1: KALIBRACE KAMERY VE ZNÁMÉ SCÉNĚ
FIGURE 2: KALIBRACE KAMERY V NEZNÁMÉ SCÉNĚ
STEREO VIDĚNÍ A KALIBRACE Kamerové systémy pro 3D vidění používají pro měření nejméně 2 kamery, které jsou dostatečné pro získání prostorové informace. Pokud umístíme dvě kamery libovolně v prostoru, jejich vzájemná pozice je neznámá a kamery musí být kalibrovány. Stereo kalibrace je odvozena od základu epipolární geometrie. Epipolární geometrie je vnitřní projektivní geometrie mezi dvěma pohledy kamer, je nezávislá na struktuře scény a je pouze závislá na vnitřních a vnějších parametrech kamery. Máme-li dva pohledy kamer a definujeme-li si matici F (fundamentální matice), která zahrnuje geometrii scény a je rozměru 3 × 3 a bod v prostoru X, pak bod X je zobrazen v jednom pohledu kamery jako bod x a ve druhém jako bod x`,pak platí následující vztah
(11) Obrázek 4 ukazuje vlastnosti epipolární geometrie. V epipolární geometrii se využívají 2 pohledy kamer. Význačné části scény jsou následující:
Epipole el or er je místo na projekční rovině (v obraze kamery), kterou prochází spojnice mezi kamerami (základní linie)
Epipolární rovina Пe
je rovina, která obsahuje základní linii a libovolný bod P
v prostoru.
Epipolární line ul nebo ur vznikne průnikem epipolární roviny Пe s projekční rovinou kamery Пl nebo Пr. Všechny epipolární linie se setkávají v jednom bodě se setkávají v epipolu
Úlohy pro praktickou výuku zpracování obrazových dat podpořeno z FRVŠ č. 724/2011
OBRÁZEK 3: EPIPOLÁRNÍ GEOMETRIE – POHLED Z 2 KAMER
Epipolární linie se často používají pro nalezení korespondence mezi body. Pokud v jednom obraze kamery najdeme bod, u kterého chceme vypočítat 3D souřadnici. V druhém obraze kamery leží tento bod na epipolární linii. Jestliže použijeme více než 2 kamery, bod v ostatních kamerách leží na průsečíku epipolárních linií.