3.2 Algorytm rekonstrukcji geometrii sceny trójwymiarowej
3.2.2 Ekstrakcja ±ladu ±wietlnego na obrazie
Znajdowanie ±ladu wi¡zki lasera na obrazie odbywa si¦ w dwóch etapach.
Pierwszy polega na progowaniu obrazu barwnego i prowadzi do uzyskania obrazu binarnego, na którym widoczny jest ±lad linii oraz pewna liczba ar-tefaktów. Drugi etap skªada si¦ z operacji na obrazie binarnym i ma na celu eliminacj¦ artefaktów oraz zmniejszenie szeroko±ci wykrytej linii do wymia-rów jednego piksela. Schemat blokowy algorytmu przedstawiono na rys. 3.5.
Pocz¡tkowo przetwarzanie odbywa si¦ w przestrzeni barw RGB i ma na celu usuni¦cie pikseli o kolorze biaªym, czarnym oraz pikseli szarych. Piksele, dla których warto±ci R,G,B ró»ni¡ si¦ o mniej ni» 20 nie s¡ brane pod uwag¦
w dalszym przetwarzaniu.
Obraz RGB
Etap 1
Usuwanie szarych, białych i czarnych pikseli w RGB
Konwersja do HSV
Globalne progowanie wartości H Globalne progowanie
wartości S
Progowanie kolumnami wartości V
Obraz binarny
Etap 2 Usuwanie pojedynczych pikseli
Morfologiczne domknięcie Usuwanie zbyt dużych
elementów (blobów) Uśrednianie pozycji pikseli Morfologiczne
domknięcie Usuwanie pikseli o małej liczbie sąsiadów
Wykryty ślad lasera
Rysunek 3.5: Schemat blokowy algorytmu wykrywania ±ladu lasera na obrazie Dalsze przetwarzanie obrazu odbywa si¦ w przestrzeni HSV. Jest to prze-strze« barw wzorowana na modelu postrzegania kolorów przez ludzkie oko [34]. W skªad opisu tej przestrzeni wchodz¡ 3 wielko±ci: H odcie« (ang. hue), S nasycenie koloru (ang. saturation) oraz V jasno±¢ (ang. value), oznaczana te» jako B (od angielskiego brightness). Przestrze« HSV mo»na przedstawi¢
jako sto»ek (rys. 3.6), w którym wzdªu» promienia zmienia si¦ nasycenie, wzdªu» wysoko±ci warto±¢, a odcie« zale»ny jest od k¡ta promienia podsta-wy. Warto±ci odcienia mog¡ wi¦c wynosi¢ od 0 do 360◦ (przedstawiane te»
jako warto±ci z zakresu mi¦dzy 0 a 1), przy czym warto±¢ maksymalna oraz minimalna s¡ to»same. Jasno±¢ oraz nasycenie mog¡ przyjmowa¢ warto±ci
z zakresu od 0 do 1. Gªówn¡ zalet¡ przestrzeni HSV w kontek±cie
wykry-H
S V
Rysunek 3.6: Wizualizacja przestrzeni barw HSV
wania ±ladu ±wietlnego na obrazie jest rozdzielenie opisu odcienia barwy od pozostaªych wªa±ciwo±ci. Przykªadowo, wszystkie barwy czerwone b¦d¡ kon-centrowa¢ si¦ w okolicy warto±ci H równych 0 oraz 1 (0◦oraz 360◦), natomiast zielone w okolicy warto±ci H równiej 0, 33 (120◦).
Pierwszym krokiem przetwarzania w przestrzeni barw HSV jest progo-wanie w kanale H, maj¡ce na celu pozostawienie jedynie pikseli o barwie czerwonej (warto±ci H mniejsze od 0,1 lub wi¦ksze ni» 0,9). Nast¦pnie odrzu-cane s¡ piksele o warto±ci S mniejszej ni» 0,2. Kolejnym krokiem jest progo-wanie w kanale V, prowadz¡ce do wyboru najsilniejszej warto±ci V w ka»dej z kolumn obrazu. Poniewa» jasno±¢ linii lasera jest najwi¦ksza, gdy linia znaj-duje si¦ w górnej cz¦±ci obrazu (±lad lasera jest blisko kamery) i spada wraz z oddalaniem si¦ ±ladu lasera od kamery, to przyj¦to pewien minimalny próg warto±ci V, zale»ny od poªo»enia piksela na obrazie (w pionie):
Vmini = 0, 4 + (
1− i
Rpion/2· 0, 8 )
, (3.8)
gdzie i jest numerem wiersza, w którym dokonujemy progowania, a Rpionjest liczb¡ wierszy obrazu. Jednocze±nie zaªo»ono, »e Vmini nie mo»e by¢ wi¦ksze ni» 0,85 i mniejsze ni» 0,4.
Przyj¦cie progu minimalnego, zale»nego od poªo»enia piksela na obrazie, powoduje, »e w górnej cz¦±ci obrazu mog¡ zosta¢ wykryte tylko piksele o
du-»ej warto±ci V. Piksele o maªej warto±ci V zostan¡ odrzucone, nawet je±li maj¡ najwi¦ksz¡ warto±¢ V w caªej kolumnie. Na rys. 3.7 a i b przedstawio-no odpowiednio obraz w przestrzeni RGB oraz kanaª V w przestrzeni HSV.
Rysunek 3.7c przedstawia obraz binarny otrzymany po operacjach progowa-nia. Drugi etap przetwarzania skªada si¦ z szeregu operacji morfologicznych
Rysunek 3.7: Gªówne etapy przetwarzania obrazu
na obrazie binarnym otrzymanym z etapu pierwszego. W pierwszej kolejno±ci usuwane s¡ pojedyncze piksele (nie maj¡ce innych pikseli o warto±ci 1 w swo-im otoczeniu).
Nast¦pnie na obrazie wykonywana jest operacja domkni¦cia, która ma na celu zlanie chmurek pikseli i powi¦kszenie blobów o nieregularnych ksztaª-tach. Ta operacja nie ma »adnego wpªywu na prawidªowo wykryte fragmenty linii, które s¡ elementami ci¡gªymi i liniowymi (rys. 3.7 d).
Powi¦kszenie artefaktów wykorzystywane jest w kolejnym kroku, polegaj¡-cym na usuwaniu zbyt wysokich fragmentów blobów. Poniewa» grubo±¢ wi-docznej na obrazie linii lasera spada wraz z oddalaniem si¦ od kamery, to fragmenty linii wykryte w dolnej cz¦±ci obrazu powinny mie¢ mniejsz¡ gru-bo±¢, ni» te wykryte w górnej cz¦±ci obrazu. Maksymalna grubo±¢ linii dla danego poªo»enia na obrazie okre±lona zostaªa na podstawie modelu ukªadu (wyliczono ró»nic¦ w pikselach, odpowiadaj¡c¡ grubo±ci linii równej 8 mm).
Wynik tej operacji widoczny jest na rysunku 3.7 e. Nast¦pnym dziaªaniem jest u±rednienie poªo»enia blobów w kolumnach obrazu. W ka»dej kolum-nie wszystkie piksele zast¦powane s¡ jednym, poªo»onym pomi¦dzy dwoma skrajnymi (poªo»enie w kolumnie liczone jest na zasadzie ±redniej arytme-tycznej). Przeprowadzenie tej operacji ma dwojaki cel. Po pierwsze, wykryte fragmenty linii lasera s¡ pocieniane do grubo±ci 1 piksela. Po drugie, je±li w danej kolumnie oprócz piksela nale»¡cego do linii lasera wyst¦powaª arte-fakt, to piksel o poªo»eniu ±rednim znajdzie si¦ poza lini¡. Taki piksel b¦dzie ªatwiejszy do usuni¦cia w ostatnim kroku.
Po u±rednieniu pozycji pikseli nast¦puje kolejne domkni¦cie obrazu. Ma ono
na celu usuni¦cie ubytków w liniach, które mogªy powsta¢ w poprzednim kroku, je±li w danej kolumnie oprócz linii znajdowaª si¦ równie» artefakt.
Ostatnim krokiem jest usuni¦cie pikseli, które maj¡ niewielu s¡siadów w swo-im otoczeniu. Prowadzi on do usuni¦cia pikseli znajduj¡cych si¦ poza wi¦kszy-mi, spójnymi strukturami. W operacji poszukiwania s¡siadów przyj¦to okno kwadratowe o wymiarach 7×7, a za minimaln¡ liczb¦ pikseli w otoczeniu, wymagan¡ aby zachowa¢ piksel, przyj¦to 3. Efekt tej operacji przedstawiono na rysunku 3.7 f.