4.2 Rekonstrukcja mapy terenu, wraz z werykacj¡ eksperymentaln¡ 59
5.1.2 Model systemu stereowizyjnego
Dopasowanie pikseli lewego i prawego obrazu odbywa si¦ na obrazach
rekty-kowanych. Rektykacja polega na takim przeksztaªceniu pary obrazów, aby odpowiadaªy one obrazom uzyskanym w sytuacji idealnej, w której obrazy le»¡ we wspólnej pªaszczy¹nie, a odpowiadaj¡ce sobie wiersze obu obrazów le»¡ wzdªu» tych samych prostych. W takiej sytuacji linie epipolarne poªo»o-ne s¡ wzdªu» wierszy, dzi¦ki czemu dopasowanie odbywa si¦ tylko w obr¦bie odpowiadaj¡cych sobie wierszy [23].
W celu wyznaczenia parametrów przeksztaªcenia, korzysta si¦ z: para-metrów wewn¦trznych kamer, wspóªczynników znieksztaªce« wprowadzanych
przez obiektywy oraz parametrów zewn¦trznych systemu stereowizyjnego.
Wymagana jest zatem uprzednia kalibracja systemu stereowizyjnego. Model kamery wykorzystywany w algorytmie rektykacji jest oparty na otworkowym (ang. pin-hole) modelu kamery i uwzgl¦dnia dystorsj¦ radialn¡ oraz tangen-cjaln¡. Je±li znane s¡ wspóªrz¦dne punktu w przestrzeni pc = [xc yc zc]T, to wspóªrz¦dne x, y punktu po rzutowaniu na pªaszczyzn¦ obrazow¡ b¦d¡
nast¦puj¡ce: [ S¡ one nast¦pnie poddawane dystorsji, opisanej równaniami:
[ xd pro-cesie kalibracji, a r jest odlegªo±ci¡ punktu od ±rodka obrazu:
r =√
x2+ y2. (5.3)
Ostatecznie wspóªrz¦dne obrazowe na obrazie znieksztaªconym obliczane s¡
nast¦puj¡co: [ gdzie fx i fy to ogniskowa, wyra»ona w liczbie pikseli (odpowiednio w kie-runku poziomym i pionowym), a cx i cy to wspóªrz¦dne punktu gªównego kamery.
Wszystkie wspóªczynniki wykorzystywane w równaniach (5.1) (5.4) wy-znaczane s¡ w procesie kalibracji kamery. Dzi¦ki kalibracji ukªadu stereowi-zyjnego znane jest równie» poªo»enie ukªadu wspóªrz¦dnych prawej kamery w ukªadzie wspóªrz¦dnych lewej kamery. Poªo»enie to wyra»one jest przy pomocy 6 parametrów zewn¦trznych: Tx, Ty, Tz, θx, θy, θz. Pierwsze trzy wspóªczynniki wchodz¡ w skªad wektora pozycji, natomiast pozostaªe trzy okre±laj¡ orientacj¦ w postaci o±-k¡t i mog¡ by¢ przeliczone do macierzy obrotu przy u»yciu formuªy Rodrigues'a. Na podstawie tych 6 wspóªczynni-ków mo»na wyznaczy¢ macierze rotacji, pozwalaj¡ce na rektykacj¦ obrazów.
Najpierw ka»dy obraz obracany jest w kierunku drugiego obrazu o poªow¦
obrotu danego przez wspóªczynniki θx, θy, θz. Je±li wi¦c jako Rod() oznaczy-my formuª¦ Rodrigues'a, to macierze obrotu lewego i prawego obrazu b¦d¡
nast¦puj¡ce:
RcL = Rod([θx θy θz]T/2), RcR = Rod(−[θx θy θz]T/2) . (5.5)
Zastosowanie tych macierzy obrotu sprowadzi obrazy do wspóªplanarnego poªo»enia. Nast¦pnie nale»y wykona¢ przeksztaªcenie zapewniaj¡ce wspóª-wierszowe poªo»enie obrazów. To przeksztaªcenie obraca oba obrazy w taki sposób, aby ich wiersze byªy równolegªe do odcinka ª¡cz¡cego pocz¡tki le-wego i prale-wego obrazu. O± obrotu mo»e by¢ zatem wyznaczona jako iloczyn wektorowy wektora le»¡cego wzdªu» wiersza obrazu oraz wektora t, ª¡cz¡cego pocz¡tki ukªadów wspóªrz¦dnych obu wspóªplanarnych obrazów (wyra»onych w ukªadzie wspóªrz¦dnych lewego wspóªplanarnego obrazu):
l = t× [−1 0 0]T, (5.6) gdzie
t = R−1cL · [Tx Ty Tz]T. (5.7) K¡t obrotu mo»na obliczy¢ korzystaj¡c z denicji iloczynu skalarnego tych dwóch wektorów:
Ostatecznie macierz obrotu zapewniaj¡cego wspóªwierszow¡ orientacj¦, liczy si¦ korzystaj¡c z formuªy Rodrigues'a, jako:
Rrect = Rod Macierz okre±laj¡c¡ zªo»enie dwóch obrotów, zapewniaj¡ce wspóªplanarne i wspóªwierszowe poªo»enie obrazów, liczy si¦ zatem jako iloczyn odpowied-nich macierzy:
RL = RrectRcL, RR = RrectRcR. (5.11) Punkt we wspóªrz¦dnych kamery pozbawionych dystorsji mo»e by¢ przenie-siony przy pomocy powy»szych macierzy do wspóªrz¦dnych rektykowanych xrp, yrp, zrp.
W przypadku lewego obrazu korzysta si¦ z macierzy RL:
[xrp yrp zrp]T = RL· [xd yd 1]T, (5.12) natomiast w przypadku obrazu prawego macierzy RR:
[xrp yrp zrp]T = RR· [xd yd 1]T. (5.13) Ten punkt jest nast¦pnie rzutowany na pªaszczyzn¦ obrazow¡, a zrzutowane wspóªrz¦dne przeksztaªcane s¡ do wspóªrz¦dnych obrazowych obrazu
rekty-kowanego: [
gdzie xr = xzrp
rp i yr = yzrp
rp. Parametry wewn¦trzne dla obrazu rektykowanego:
frx, fry, crx, cry s¡ dobierane arbitralnie aby zmaksymalizowa¢ wspólne pole widzenia dla lewego i prawego rektykowango obrazu. Najcz¦±ciej wybiera si¦ frx = fry [17].
Teoretycznie przebieg procesu rektykacji powinien obejmowa¢ usuni¦cie znieksztaªce«, a nast¦pnie obrót obrazu do postaci rektykowanej. W prak-tyce jednak kolejno±¢ dziaªa« jest odwrotna. Jest to podyktowane skompliko-wan¡ form¡ równa« (5.2), okre±laj¡cych znieksztaªcenie wprowadzane przez obiektyw, powoduj¡c¡, »e wyznaczenie zale»no±ci pozwalaj¡cej na usuni¦cie dystorsji jest trudne. Zamiast przeksztaªca¢ piksele obrazu znieksztaªconego do postaci rektykowanej, dla ka»dego piksela obrazu rektykowanego obli-cza si¦ zatem odpowiadaj¡ce mu wspóªrz¦dne na obrazie znieksztaªconym.
Na potrzeby analizy niepewno±ci nale»aªo jednak okre±li¢ zale»no±¢ usuwaj¡-c¡ dystorsj¦. W tym celu skorzystano z liniowego przybli»enia równa« (5.2).
Po sprowadzeniu ich do postaci uwikªanej:
0 = (1 + k1r2+ k2r4+ k3r6)x + 2p1xy + p2(r2+ 2x2)− xd = fx
W powy»szych równaniach wektor p zawiera warto±ci parametrów znieksztaª-cenia kamery, a tak»e wspóªrz¦dne punktu na obrazie z dystorsj¡ oraz na obrazie bez dystorsji. Oznacza to, »e dla ka»dego piksela linearyzacja musi
by¢ wykonywana osobno. Po wprowadzeniu nast¦puj¡cych oznacze«:
z ukªadu równa« (5.16) mo»na wyznaczy¢ wspóªrz¦dne na obrazie bez znie-ksztaªce« w funkcji wspóªrz¦dnych na obrazie znieksztaªconym:
[ xu Poªo»enie punktu w przestrzeni trójwymiarowej uzale»nione jest od jego lokalizacji na obrazie rektykowanym, wyznaczonej warto±ci dysparycji oraz parametrów zewn¦trznych systemu stereowizyjnego. Jako pierwsza wyzna-czana jest wspóªrz¦dna z:
zc = Trx· fr
d . (5.19)
W powy»szym równaniu fr jest ogniskow¡ przyj¦t¡ dla rektykowanego ob-razu, d to warto±¢ dysparycji wyznaczona dla danego piksela, a Trx to odle-gªo±¢ pomi¦dzy ukªadami wspóªrz¦dnych rektykowanych obrazów. Dyspa-rycj¦ wyznacza si¦ jako ró»nic¦ poªo»enia w osi u na lewym i prawym obrazie:
d =|urR− urL| , (5.20)
natomiast Trx obliczane jest na podstawie wzajemnego poªo»enia pocz¡tków kamer, poddanego rektykacji:
W równaniu (5.21) Tx, Ty, Tz to parametry otrzymane z kalibracji systemu stereowizyjnego, a Rr dane jest wzorem (5.11). Po obliczeniu wspóªrz¦dnych punktu w osi zc mo»na wyznaczy¢ pozostaªe wspóªrz¦dne:
xc= (vr−cf xr)
r zc, yc= (ur−cf yr)
r zc. (5.22)
W powy»szym równaniu vr i ur to wspóªrz¦dne punktu na lewym rektyko-wanym obrazie, a fxr, fyr, cxr, cyr s¡ parametrami wewn¦trznymi przyj¦tymi dla lewego obrazu rektykowanego.
W zadaniu budowy mapy terenu dla robota krocz¡cego przydatne b¦dzie równie» wyznaczenie wysoko±ci (elewacji). Aby obliczy¢ wysoko±¢ punktu w ukªadzie wspóªrz¦dnych zwi¡zanym z map¡, nale»y zna¢ poªo»enie robota w ukªadzie mapy (otrzymywane dzi¦ki odometrii oraz przy u»yciu sensora orientacji IMU), a tak»e poªo»enie kamery w ukªadzie robota, otrzymywane z kalibracji (procedura kalibracji poªo»enia sensora w ukªadzie robota zo-staªa opisana szczegóªowo w rozdziale 6.3). Je±li wyrazi¢ poªo»enie robota w ukªadzie mapy przy pomocy kolejnych obrotów wokóª osi xm, ym, zm ukªa-du mapy, odpowiednio o k¡ty αr, βr, γr (rys. 5.2) oraz za pomoc¡ poªo»enia w ukªadzie mapy xpr, ypr, zpr, wówczas mo»na wyznaczy¢ macierz poªo»enia robota w ukªadzie mapy, w postaci:
mTr =
gdzie Rotxm, Rotym, Rotzm oznaczaj¡ macierze obrotu wokóª odpowied-nich osi ukªadu mapy, a wspóªrz¦dne xpr, ypr, zpr okre±laj¡ poªo»enie ukªadu wspóªrz¦dnych robota w ukªadzie mapy. W analogiczny sposób mo»na
okre-±li¢ poªo»enie kamery w ukªadzie robota:
rTc=
W powy»szym równaniu Rotxr, Rotyr, Rotzr oznaczaj¡ macierze obrotu wokóª odpowiednich osi ukªadu robota o k¡ty αc, βc, γc , natomiast xpc, ypc, zpc okre±laj¡ poªo»enie kamery w ukªadzie robota.
Po wyznaczeniu poªo»enia kamery w ukªadzie mapy jako:
mTc=mTr·rTc, (5.25) mo»liwe jest przeksztaªcenie zmierzonego punktu z ukªadu kamery do ukªadu mapy:
[xm ym zm 1]T =mTc· [xc yc zc 1]T, (5.26) Elewacja jest w tym ukªadzie jednoznaczna z poªo»eniem punktu w osi zm:
e = zm. (5.27)
z m
y m
a
c
b
ym yr
zr
α
rxm
zr xr
βrxm
yr xr
γry m
x m
Rysunek 5.2: Obroty ukªadu wspóªrz¦dnych robota wzgl¦dem ukªadu wspóª-rz¦dnych mapy