Automatsko izdvajanje saobraćajnih znakova sa digitalne slike
Sadržaj
— Ovaj rad bavi se izdvajanjem odre
ÿ
enih tipova
saobra
ü
ajnih znakova sa digitalne slike koriš
ü
enjem
segmentacije po boji, i jednostavnog, ali efikasnog algoritma
za pronalaženje zatvorenih kontura odre
ÿ
ene boje.
Algoritam se dosta oslanja na dobre osobine objekta pretrage
u smislu njegove pogodnosti za automatsku digitalnu obradu.
Algoritam je ura
ÿ
en u
Matlab-
u
6.5 Release 13
.
Klju
þ
ne re
þ
i
— digitalna obrada slike, izdvajanje objekata,
saobra
ü
ajni znakovi , segmentacija po boji
I. U
VOD
OTIVACIJA
za razvoj algoritma iz naslova prona
ÿ
ena
je u razvoju mnogobrojnih sistema za automatsko
navo
ÿ
enje vozila, a koji su zaživeli u praksi u mnogim
zemljama sveta. Ipak, nijedan od ovih sistema ne vrši
nikakav nadzor konkretnog okruženja vozila. Ideja je bila
da se predloži upotrebljiv algoritam koji bi poslužio u
razvoju sistema za pomo
ü
na putu, kao deo automatske
provere saobra
ü
ajne signalizacije.
Kako je u nekim radovima [1], ve
ü
bilo uspešnih
pokušaja koriš
ü
enjem vizuelnog opažanja, u ovom radu je
pokušano da se da se željeni rezultat ostvari koriš
ü
enjem
mnogo jednostavnijih tehnika.
II. O
BJEKAT PRETRAGE
Rad je koncentrisan na tri grupe znakova- znakove
zabrane upozorenja i obaveštenja, kao najzna
þ
ajnije i
najbrojnije (Fig 1).
Fig. 1. Primeri analiziranih znakova.
S obzirom na specifi
þ
nosti objekta pretrage, iskoriš
ü
ene
su slede
ü
e osobine kao faktori pri razvoju algoritma:
Boja: Saobra
ü
ajni znaci su zbog lake uo
þ
ljivosti obojeni
jarkim i što je još važnije neprirodnim bojama, kako bi bili
maksimalno uo
þ
ljivi za voza
þ
a i omogu
ü
ili blagovremenu
informaciju. Karakteriše ih niska zastupljenost u prirodi, i
niska tolerancija.
Aleksandar Mijatovi
ü
, ELSYS Easten Europe, Vladimira Popovi
ü
a 6,
11070 Beograd, Srbija (telefon: +381-64-3599463; faks:
381-113115251; e-mail: [email protected]).
Dragi Dujkovi
ü
, Elektrotehni
þ
ki fakultet u Beogradu, Bulevar kralja
Aleksandra 73, 11120 Beograd, Srbija; (e-mail: [email protected]).
Vidljivost: Po našim, a i evropskim zakonima,
propisano je da saobra
ü
ajni znaci ne smeju biti zaklonjeni
nekom fizi
þ
kom preprekom ili umrljani bojom, a na
þ
in
postavljanja je takav da su okrenuti frontalno u pravcu
nailaska vozila, odnosno na njemu ugra
ÿ
ene kamere.
Veli
þ
ina i izgled: Dimenzije i izgled svakog
saobra
ü
ajnog znaka su strogo definisane posebnim
propisima, i sva odstupanja su zanemarljiva.
Skup znakova je ograni
þ
en: Postoji svega nekoliko
stotina znakova, tako da se svaka analiza može vršiti na
potpunom uzorku.
III. Z
AHTEVI I METODI
Pri projektovanju su ispunjeni slede
ü
i zahtevi:
Algoritam na zadatoj slici vrši pronalaženje i
izdvajanje, ali ne i identifikaciju saobra
ü
ajnih znakova
upozorenja, zabrane i obaveštenja. Ime slike se zadaje kao
parametar funkcije pri pozivu algoritma.
Algoritam vra
ü
a ''zumiranu'' sliku znaka.
Nijedan znak od interesa ne ostaje nedetektovan.
Procenat objekata pogrešno detektovanih kao znakova
ne prelazi 50%.
Prihvatljivo vreme izvršavanja algoritma.
Upotrebljivost na real-life fotografijama.
Za razvojno okruženje izabran je
Matlab
programski
paket zbog ugra
ÿ
enih funkcija za u
þ
itavanje slike i
prilago
ÿ
enosti radu sa matricama.
Algoritam je optimizovan za snimke rezolucije
2272x1704 piksela, gde su znaci snimani sa daljina
izme
ÿ
u 10 i 40 metara, što bi bile relevantne daljine za
voza
þ
a pri gradskoj vožnji. Kamera je bila postavljena na
visini od 1.5m iznad tla. Slike su napravljene u Beogradu,
na lokacijama u okolini Glavne pošte u Pohorskoj ulici.
Slike su pravljene kao simulacija kretanja vozila, tj u
pravcu puta, sa desne kolovozne trake, osim u situacijama
kada je saobra
ü
ajni znak iz takvog položaja bio potpuno
nevidljiv, kako za ljudsko oko, tako i za kameru. U takvim
situacijama birao se položaj iste udaljenosti sa koga je
znak bio vidljiv, tj simulirao se propisno postavljen znak.
Saobra
ü
ajni znakovi na koje voza
þ
treba da obrati
pažnju nalaze se uz samu desnu , ili re
ÿ
e, levu, stranu
kolovoza kojim se kre
ü
e. Takvi znakovi se na slici, zbog
fiksnog položaja kamere na nosa
þ
u i vidnog polja kamere,
uvek nalaze u jednom odre
ÿ
enom delu slike, odnosno u
onom delu koji predstavlja snimak neposredne okoline
puta kojim se vozilo kre
ü
e. Prepoznavanje znakova van
tog dela od interesa bilo bi ne samo nekorisno, ve
ü
i štetno
Aleksandar Mijatovi
ü
, Dragi Dujkovi
ü
Automatsko izdvajanje saobra
ü
ajnih znakova sa
digitalne slike
M
705
15. Telekomunikacioni forum TELFOR 2007
Srbija, Beograd, novembar 20.-22., 2007.
za voza
þ
a, jer bi mu pružalo pogrešnu informaciju o
saobra
ü
ajnoj signalizaciji koju treba da poštuje. Zato se
algoritam izvršava samo na delu slike koji predstavlja
okolinu puta, sa grani
þ
nim koordinatama (
x
,
y
)=(550,550) i
(
x
,
y
)=(1150,1000), umesto na celoj slici. Deo slike sa
ovim grani
þ
nim koordinatama možemo nazvati
''pojavljuju
ü
i prozor'', odnosno prozor u kome
ü
e se na
nekom mestu pojaviti znak od interesa.
Zbog karakteristika opisanih karakteristika saobra
ü
ajnih
znakova kao objekata pretrage, kao osnovni alat u radu
uzeta je segmentacija po boji i selekcija dobijenih
rezultata po veli
þ
ini, boji i obliku, a zbog odvojenosti
parametara koriš
ü
en je HSV format slike [2], dobijen
konverzijom iz RGB-a.
IV. I
ZDVAJANJE SEGMENATA
Prva obrada zapo
þ
inje izdvajanjem boja koje se
pojavljuju- crvene, plave, bele i crne, po slede
ü
im
parametrima:
Crvena-
H
=0±15/360,
S
=65±35,
L
=70±30
Plava:
H
=240±40/360,
S
=65±35,
L
=70±30
Crna:
L
=5±5
Bela:
L
=95±5
Rezultati filtriranja nisu nove slike, ve
ü
jednostavne
m
x
n
matrice
þ
iji su elementi samo nule i jedinice. Element
novodobijene matrice za odgovaraju
ü
u boju jednak je ''1''
ako je odgovaraju
ü
i piksel na slici te boje (po zadatom
opsegu), ina
þ
e je ''0''.
Kako se slike
þ
uvaju piksel po piksel povremeno se na
jednobojnim površinama javljaju ''ta
þ
kice'' razli
þ
ite boje.
Ovo je posledica kvaliteta snimka i kompresije, i
parametara filtriranja. Takvi sitni diskontinuiteti u
izdvojenim segmentima nisu dozvoljeni [3], jer narušavaju
uniformnost celina. Ovi diskontinuiteti se u filtriranjem
dobijenim matricama manifestuju kao par ''0'' okružen
velikim brojem ''1'', ili par ''1'' okružen velikim brojem ''0''.
Jednostavan na
þ
in za ''poništavanje'' ovakvih sitnih
diskontinuiteta je ve
ü
insko odlu
þ
ivanje na kvadratima
dimenzija
n
x
n
gde svi elementi kvadrata postaju jednaki
dominantnom elementu. Dimenzija n i prag odlu
þ
ivanja
dobijeni su manualnim podešavanjem u cilju postizanja
najboljeg kvaliteta kona
þ
nog rezultata, i iznose 50% za
prag, i
n
=3 za dimenziju kvadrata.
Gledaju
ü
i geometriju i izgled saobra
ü
ajnih znakova koji
su predmet obrade, uo
þ
ava se da na njima uvek postoje
jednobojne konture, crvene ili plave boje, koje okružuju
ostatak znaka. Segmenti sa slike traže se tako što je
traganje za znakovima zapravo svedeno na detektovanja
upravo ovakvih kontura. Algoritam sve pretrage vrši
odozgo naniže, pa sa leva u desno, pa se izrazi prvi i
poslednji odnose na ovakav pravac pretrage
Sama potraga i izdvajanje odvija se iterativno po
slede
ü
im fazama:
1. Uzima se opisana matrica filtrirane boje kao osnova
za pretragu.
2. Bira se po
þ
etna ta
þ
ka pretrage i pamti njena
koordinata. Po
þ
etna ta
þ
ka je prva ta
þ
ka na slici kojoj je
odgovaraju
ü
i element ''1'' u matrici koja sadrži izdvojenu
plavu, odnosno crvenu boju, u zavisnosti od toga da li se
traga za znakom oivi
þ
enim crvenom (zabrane i
upozorenja) ili plavom (obaveštenja) bojom. Pamti se
po
þ
etna i krajnja koordinata duži koju formira željena
boja, i smešta se u niz po
þ
etnih i krajnjih koordinata
delova segmenta.
3. Silazi se u slede
ü
i red i utvr
ÿ
uje da li je negde došlo
do prekida ivice za kojom se traga. Algoritam radi na
slede
ü
i na
þ
in- Za ekstremnu koordinatu (
x
,
y
) iz
prethodnog reda spuštamo se jedan red (
x
+1), i
proveravamo da li je boja po kojoj vršimo pretragu
prisutna i u toj ta
þ
ki. Ako jeste, traži se nova ekstremna
ta
þ
ka u pravcu u kome bi se objekat širio, ina
þ
e se smatra
da se objekat sužava i u skladu s tim se vrši pretraga. Kada
se pri pretrazi dogodi da je došlo do ''mimoilaženja
po
þ
etka i kraja'' (koordinata y po
þ
etka u novom redu ve
ü
a
od koordinate y kraja u prethodnom, ili ''dualno'', da je
koordinata y kraja novog reda manja od koordinate y
po
þ
etka prethodnog reda), zna
þ
i da je izme
ÿ
u te dve linije
ivica objekta.
4. Testovima opisanim u narednom poglavlju,
proverava se da li je mogu
ü
e da izdvojeni sektor
predstavlja saobra
ü
ajni znak, i u zavisnosti od toga
prikazuje na monitoru, a iz matrice pretrage se briše
(upisivanjem ''0'') deo oivi
þ
en zapam
ü
enim koordinatama
krajeva segmenta.
Algoritam se ponavlja na matrici za pretragu sve dok
ona ne ostane samo sa nultim elementima.
V. T
ESTIRANJE SEGMENATA
Da bi se utvrdilo da li neki segment može predstavljati
saobra
ü
ajni znak mogu se primeniti slede
ü
a tri testa:
1. Test veli
þ
ine: S obzirom da je poznato sa koje su
daljine uzimani snimci mogu se odmah sa velikom
pouzdanoš
ü
u odbaciti svi preveliki i premali objekti, pa se
odbacuju svi objekti manji od 5x5 i ve
ü
i od 150x150
piksela.
2. Kvadrat test: Svi (pravilno postavljenih) saobra
ü
ajni
znakovi od interesa mogu se oivi
þ
iti kvadratom
þ
ije su
stranice paralelne ivicama slike, kao na Fig 2.
Fig. 2. Saobra
ü
ajni znakovi smešteni u kvadrat
Pošto algoritam objekte koji bi mogli biti znakovi ve
ü
izdvaja u pravougaoniku
þ
ije su stranice paralelne ivicama
slike, por
ÿ
enje je jednostavno izvršiti. Kako znak ne mora
biti potpuno propisnog položaja i oblika, ve
ü
može biti na
primer nagnut ili iskrivljen, dozvoli
ü
emo da se stranice
takvog kvadrata razlikuju jedna od druge za do 30%,
ina
þ
e se segment odbacuje. Znakovi obaveštenja koji su
pravougaonog oblika, tako
ÿ
e se uklapaju u ove
tolerancije.
706

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti