Elektrotehniški vestnih 73(1): 1-6, 2006 Electrotechnical Review, Ljubljana, Slovenija Lociranje oči na sivinskih slikah za izdelavo osebnih dokumentov Boštjan Murovec, Stanislav Kovačič Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška 25, 1000 Ljubljana, Slovenija E-pošta: bostjan.murovec@fe. uni-lj.si, stanislav.kovacic@fe. uni-lj.si Povzetek. Članek opisuje postopek lociranja oči na sivinskih slikah človeških obrazov. Predlagani pristop temelji skoraj izključno na iskanju lokalnih vzorcev osvetljenosti na sliki, ki so značilni za človeško oko, zato je predlagani postopek relativno neobčutljiv na ozadje, ki je morebiti prisotno na sliki. To je velika prednost predlaganega pristopa v primerjavi z rešitvami, ki za pravilno delovanje zahtevajo uniformno ozadje. Slabost naše izvedbe lociranja oči je večja možnost, da se del slike, ki ne pripada očesu, razpozna kot oko, če ima le-ta ustrezen lokalni vzorec osvetljenosti. Ključne besede: detekcija oči, detekcija šarenice, računalniški vid, strojni vid, obdelava slik, razpoznavanje vzorcev Eye detection in intensity images for official identity documents Extended abstract. The paper describes an algorithm for eye detection in intensity images of human faces for official identity documents. The purpose of the research is automatic registration of the photograph of the person into the proper field of the identity document. The input images are acquired by means of a digital photo camera or optical scanner which implies that the person is not physically present during execution of the algorithm. Therefore, no methods based on the usage of the active infrared light [8] can be utilized. The research is limited by the decision to work with intensity images exclusively. Therefore, it is not possible to use fast skin or face detectors [4, 5, 2] based in inspecting the color information of the pixels. There exist face detectors for intensity images [1] which are significantly slower than their color-aware counterparts. For that reason an attempt is made to avoid them since one of the goals of the research is that the whole process of eye detection should take less than one second on an average personal computer in order not to impose a significant delay into the process of making a personal identity document. The algorithm that is being described is somewhat similar to the algorithms in [3, 7]. The basic idea is to locate eyes in two steps. First, potential eye candidates are located based on global information of the image. Then many false candidates which are inevitable are rejected by inspecting intensity patterns in the neighborhood of the candidates. Because the proposed algorithm does not rely on face detection it is relatively immune to the contents of the background of the image, which is an advantage compared to the algorithms that require an uniform background for proper execution as is the usual case with algorithms employing face detectors. As no color information is present in the input image, the described algorithm executes relatively independently from the skin color of the person in the picture. Still, with the current implementation it is impossible to detect eyes in photographs of black people since the intensity contrast between the iris and the surrounding of the eye (skin) is heavily relied on. When dealing with the black skin, such contrast is too small to suffice. The purpose of the algorithm leads to some simplifications Prejet 6. September, 2005 Odobren 17. November, 2005 compared to general eye detectors. Namely, the suitable image for the official identity document contains exactly one face and one pair of eyes. Further, the face is placed relatively accurately in the center of the image and the face occupies the major part of the image. Key words: eye detection, iris detection, machine vision, computer vision, image processing, pattern recognition 1 Uvod V članku je opisan algoritem lociranja oči v sivinskih slikah človeških obrazov za izdelavo uradnih osebnih dokumentov. Lociranje oči naj bi služilo avtomatski poravnavi slike osebe, katere osebni dokument je v izdelavi, v ustrezen prostor, ki je na dokumentu predviden za ta namen. Pri obstoječih sistemih za izdelavo osebnih dokumentov mora operater na sliki ročno določiti položaj oči, da naprava sliko pravilno poravna v ustrezno polje na osebnem dokumentu. Kot pri vseh postopkih razpoznavanja je tudi v našem primeru zaželen čim večji odstotek slik, na katerih so oči uspešno locirane, čeprav brezpogojno zanesljivo delovanje ni nujno, saj ima operater vedno možnost ročne korekcije napačnih rezultatov. Slike za izdelavo osebnih dokumentov so navadno zajete s pomočjo digitalnega fotoaparata ali optičnega čitalnika, kar pomeni, da oseba, katere oči želimo locirati, ni fizično prisotna v času izvajanja algoritma, zato odpadejo postopki detekcije oči, ki temeljijo na uporabi aktivne infrardeče luči [8]. Kljub temu, da so v zadnjem času vse pogostejše barvne slike na osebnih dokumentih, še vedno naletimo na potrebo po manipuliranju s črno-belimi slikami. Zato smo se omejili na obdelavo sivinskih slik obrazov, kar nam onemogoča uporabo barvne informacije za izvedbo detektorja kože in obraza [4, 5, 2]. Obstajajo postopki lociranja obraza, ki delujejo na sivinskih slikah [1], vendar smo se jim želeli izogniti zaradi njihove relativno velike procesorske zahtevnosti, ki bi potencialno vodila v relativno dolgotrajen postopek lociranja oči, kar za operaterja sistema ne bi bilo prijetno. Celoten postopek lociranja oči naj bi trajal manj kot eno sekundo, s čimer bi v celotni proces izdelave osebnega dokumenta uvajal zanemarljivo zakasnitev. Postopek, ki ga predlagamo in je soroden postopkoma, kiju najdemo v [3, 7], določi slikovne elemente, ki se potencialno nahajajo v območju oči, s pomočjo globalne informacije na sliki, nakar vsakega od kandidatov sprejme ali zavrne na podlagi lokalne analize vsebine slike v okolici kandidata. Ker predlagani postopek ne uporablja detekcije obraza, je relativno neobčutljiv na ozadje, ki je morebiti prisotno na sliki. To je velika prednost pred večino drugih postopkov, ki zahtevajo uniformno ozadje. Ker predlagani postopek ne uporablja barvne informacije, deluje relativno neodvisno od barve kože osebe, ki je na sliki. Kljub temu oči na slikah črncev v trenutni izvedbi postopka ni mogoče locirati, ker postopek temelji na svetlobnem kontrastu med šarenico in širšo okolico očesa, kjer se nahaja koža. V primerjavi s splošnimi postopki detekcije oči, kot je na primer detekcija oči na videoposnetkih, obstajajo v našem primeru določene predpostavke o vsebini slike, s katerimi lahko postopek lociranja poenostavimo. Te predpostavke so: na sliki se nahaja natančno en človeški obraz in s tem en par oči, sredina obraza se nahaja približno na sredini slike in obraz zajema večji del slike tako horizontalno kot vertikalno. 2 Kandidati oči Slika 1 levo prikazuje testno sivinsko sliko obraza, na kateri je prikazan postopek lociranja oči. Najprej omejimo področje, kjer se le-te lahko nahajajo. Z opazovanjem več slik smo ugotovili, da se vertikalno lahko omejimo na območje med 25 in 70 odstotki celotne slike, gledano od vrha navzdol, in horizontalno na območje med 10 in 90 odstotki celotne slike. Tako določeno območje prikazuje bel pravokotnik na sliki 1 desno. Glede na prikazano sliko se izbrano območje pretirano razteza pod očmi, vendar se zlasti na fotografijah otrok oči nahajajo v bližini vertikalne simetrale slike. Izbrano področje je mogoče spreminjati brez vpliva na delovanje drugih korakov postopka. V naslednjem koraku zmanjšamo ločljivost slike tako, da na izbranem območju prvotne slike neprekrivajoča po- slika 1. Slika obraza (levo) in območje iskanja oči (desno). Figure 1. Sample input image (left) and region of interest (right). dročja velikosti 4x4 slikovnih elementov nadomestimo s povprečno vrednostjo njihove intenzitete. Rezultat prikazuje slika 2 levo. Smisel tega koraka je manjšanje vpliva šuma in večanje hitrosti izvajanja postopka zaradi manjše količine podatkov. Slika 2. Zmanjšanje ločljivosti slike (levo) in lokalni minimumi na tako dobljeni sliki (desno). Figure 2. Region of interest with lower resolution (left) and its local minima (right). Oči so temnejše od svoje okolice, s čimer lahko hitro določimo njune potencialne kandidate [3] s tem, da lociramo lokalne minimume osvetljenosti; pri tem uporabljamo 4-povezljivo okolico slikovnih elementov [6]. Ta korak je prikazan na sliki 2 desno, kjer vidimo, da se vsaj po en lokalni minimum nahaja v vsakem očesu. Naloga nadaljnjih korakov je izločiti neustrezne kandidate oči na podlagi analize globalne in lokalne vsebine slike. Pri tem smo imeli za cilj uporabljati kar se da malo globalnih karakteristik slike, da bi bil postopek v čim večji meri neobčutljiv na morebitno razgibano ozadje obraza. Izločanje neustreznih kandidatov poteka v več korakih, katerih zaporedje izvajanja je vnaprej določeno. Vsak korak se izvaja samo enkrat in brez možnosti vračanja na predhodne korake, zato kriteriji izločanja kandidatov ne smejo zavrniti pravih kandidatov oči. Pravila izločanja so torej zasnovana tako, da raje prepoznajo veliko število napačnih kandidatov kot ustrezne, kot da bi zavrnila pravo oko. 3 Izločanje neustreznih kandidatov oči Lokalni minimumi, ki ustrezajo očem, se nahajajo na podlagi, temnejši od okolice. Če definiramo ustrezno mejo med temnimi in svetlimi nivoji osvetljenosti, lahko izločimo znaten delež neustreznih kandidatov, ki se nahajajo na svetlih področjih slike. Izkaže se, da je večina binarnih pragov [6] slike 2 levo zadovoljiv kriterij za ta namen, kar pomeni, da izbira praga med temnimi in svetlimi področji ni kritična. Zato smo se odločili uporabiti binarni prag, ki se ga da hitro izračunati, čeprav je na splošno manj primeren za izvedbo binariziracije slik kot uveljavljeni postopki binarizacije. Pomembno je le, da so področja na sliki, kjer se nahajajo oči oziroma natančneje šarenici, klasificirana kot temna. Binarni prag določimo takole. S Sobelovim operatorjem [6] dobimo iz slike 2 levo sliko 3 levo. Izračunamo povprečno osvetljenost slikovnih elementov dobljene slike, ki je njen binarni prag. S tem pragom sliko 3 levo binariziramo in dobimo rezultat na sliki 3 desno. .V: Slika 3. Rezultat Sobelovega operatorja nad sliko 2 levo (levo) in binarizacija Sobelove slike (desno). Figure 3. Result of the Sobel operator of Figure 2 left (left) and binarized Sobel image (right). Sedaj izračunamo povprečno vrednost tistih slikovnih elementov na sliki 2 levo, katerih istoležni slikovni elementi na sliki 3 desno so svetli. Dobljena vrednost je binarni prag, s katerim binariziramo sliko 2 levo. Rezultat prikazuje slika 4 levo. Mm Slika 4. Rezultat binarizacije slike 2 levo (levo) in zavrnjeni kandidati oči na podlagi binarnega praga (desno). Figure 4. Binarized image of Figure 2 left (left) and rejection of eye candidates based on binary threshold (right). Smisel uporabe Sobelovega operatorja in rezultata na sliki 3 desno je v tem, da pri računanju binarnega praga omilimo vpliv razmerja velikosti temnih in svetlih področij s tem, da upoštevamo samo točke v bližini robov. Uspešnost izločanja kandidatov oči s pomočjo tako dobljenega binarnega praga vidimo na sliki 4 desno, kjer so prikazani tisti lokalni minimumi slike 2 desno, ki se nahajajo na svetlih področjih in so s tem zavrnjeni. Preostali kandidati, ki jih je še veliko, so prikazani na sliki 5; levo so vrisani na binarizirani in desno na originalni sliki zmanjšane ločljivosti. Slika 5. Kandidati, kijih z binarnim pragom nismo zavrnili: na binarizirani sliki (levo) in originalni sliki (desno). Figure 5. Accepted candidates based on binary threshold: binarized image (left) and original image (right). Kandidate lahko naprej izločimo z zahtevo, da se v njihovi okolici nahaja predpisano število svetlih slikovnih elementov, saj se pod očesom nahaja lice, ki je svetlo območje na binarni sliki. Empirično smo določili pravilo, da določen kandidat na sliki 5 ni zavrnjen, če se pod njim nahaja neprekinjeno horizontalno svetlo območje v višini vsaj enega slikovnega elementa in širini vsaj 5 odstotkov horizontalne širine binarne slike. Tako območje se ne sme nahajati več kot 20 odstotkov horizontalne širine binarne slike pod kandidatom. Za primer pravih kandidatov oči sta ustrezni območji prikazani na sliki 6 levo. Desna stran iste slike prikazuje kandidate oči, ki so sprejeti na podlagi tega kriterija. Slika 6. Območje, v katerem iščemo prisotnost svetlega območja pod kandidatoma oči (levo), in kandidati oči, ki so sprejeti na podlagi tega kriterija (desno). Figure 6. Scope for searching for the white area below eye candidates (left) and candidates that are accepted on the basis of this criterion (right). Na prvi pogled se zdi, da se prikazani območji na sliki 6 levo pretirano raztezata po vertikali, vendar je to potrebno zaradi različnih situacij, ki lahko nastanejo na slikah. Primer podaja slika 7 levo, kjer je prikazana ista oseba kot na sliki 2 levo, le da ima tokrat zatemnjena očala. Na desni sliki 7 vidimo, da se zaradi tega noben svetel slikovni element ne nahaja v neposredni bližini oči. Zaradi takih primerov področja iskanja svetlih območij ne smejo biti premajhna. Slika 7. Slika osebe s temnimi očali (levo) in pripadajoča bina-rizirana slika (desno). Figure 7. Image of the person with dark glasses (left) and its binarized image (right). Poskusili smo tudi izločati kandidate s preiskovanjem svetlih področij nad potencialnimi očesi ter levo in desno od njih, vendar se tak kriterij ne obnese. Zaradi raznolikih pričesk, ki jih imajo ljudje, nam ni uspelo definirati ustreznega pravila, ki bi dajalo smiselne rezultate. Preostale napačne kandidate, ki so prikazani na sliki 6 desno, je težje izločiti. Pri nadaljnjem izločanju operiramo z originalno sliko obraza na sliki 1 levo. Najprej koordinate kandidatov na sliki 6 desno preračunamo v ustrezne koordinate na originalni sliki, nato vsakega od kandidatov na originalni sliki premaknemo v najtemnejši položaj v njegovi okolici. To storimo tako, da izračunamo povprečno vrednost osvetljenosti območij 5x5 slikovnih elementov s središčem na mestu kandidata in pri vseh osmih njegovih sosedih. Kandidata pomaknemo v položaj z najmanjšo povprečno osvetljenostjo in postopek ponavljamo, dokler v okolici kandidata ni nobenega temnejšega območja. Nato isti postopek ponovimo še z velikostma območij 3x3 in 1x1 v tem zaporedju. Rezultat postopka prikazuje slika 8 levo. 3 ; Za vsakega kandidata na sliki 8 levo pregledamo vse lokalne maksimume, ki so od kandidata oddaljeni manj kot 3 odstotke horizontalne dimenzije originalne slike. Na sliki 9 levo je s križcem prikazan ustrezni kandidat očesa, medtem ko je pripadajoče območje preiskovanja lokalnih maksimumov prikazano s krožnico; desna slika prikazuje lokalne maksimume v tem območju. V prikazanem primeru se lokalni maksimum, ki je posledica leska v očesu, nahaja tik pod desnim robom križca, ki predstavlja kandidata. Slika 9. Območje pregledovanja lokalnih maksimumov (levo) in prikaz lokalnih maksimumov v tem območju (desno) Figure 9. Scope for inspection of local maxima (left) and presentation of all local maxima in this area (right). Zopet definiramo množico pravil, ki določajo, kateri lokalni maksimumi lahko ustrezajo lesku v očeh. Najprej zahtevamo, daje intenziteta lokalnega maksimuma 5max vsaj 55 pri razponu od 0 do 255. Nato potujemo levo, desno, navzgor in navzdol od lokalnega maksimuma, dokler intenziteta prepotovanih slikovnih elementov upada. Da omilimo vpliv šuma, se ne ustavimo, če intenziteta naraste samo pri enem slikovnem elementu, nato pa zopet pada. Tako dobljene štiri točke definirajo pravokotno območje očesnega leska, kije prikazano na sliki 10 levo. Slika 8. Prikaz kandidatov oči na originalni sliki (levo) in povečan prikaz očesa (desno) Figure 8. Eye candidates in the original image (left) and magnified image of the eye (right). Slika 10. Določitev leska s spremljanjem padanja intenzitete (levo) in z vrednostjo odvoda (desno) Figure 10. Determined area of shine based on decreased intensity (left) and on maximal absolute value of intensity derivative (right). 4 Lokalni postopki izločanja Slika 8 desno prikazuje povečano območje očesa, kjer vidimo karakteristični lesk v očeh. Ta lesk je izrazit lokalni maksimum osvetljenosti v bližini enega od predhodno določenih kandidatov oči, kar izkoristimo za nadaljnje izločanje neustreznih kandidatov. Natančneje lociramo območje leska z uporabo horizontalnega in vertikalnega odvoda originalne slike, ki sta prikazana na sliki 11. Leva oziroma desna meja leska je v točki, kjer je vrednost horizontalnega odvoda največja oziroma najmanjša. Podobno določimo tudi zgornjo in spodnjo mejo leska z vertikalnim odvodom. Rezultat prikazuje slika 10 desno. o Slika 11. Horizontalni (levo) in vertikalni (desno) odvod originalne slike. Figure 11. Horizontal (left) and vertical (right) derivative of the original image. Lokalni maksimumi na sliki 9 desno niso zavrženi, če izpolnjujejo naslednje empirično določene pogoje. Vsaj trije od štirih slikovnih elementov na sredini stranic pra-vokotnika na sliki 10 levo se morajo od 5max razlikovati vsaj za vrednost AB = 15 + £?max/8- Če samo trije od štirih slikovnih elementov izpolnjujejo ta pogoj, se mora preostali slikovni element od vrednosti 5max razlikovati vsaj za (AB — 10). Poleg tega mora biti razmerje med najmanjšo in največjo stranico pravokotnika na sliki 10 desno večje od 0,5. Prav tako mora veljati, da odmik koordinat lokalnega maksimuma od središča pripadajoče horizontalne ali vertikalne simetrale pravokotnika ne sme biti večji od de-setinke njene dolžine. Niti dolžina niti višina pravokotnika ne smeta biti manjši od 0,2 odstotka in večji od 3,6 odstotka širine originalne slike. Niti širina niti višina pravokotnika na sliki 10 levo ne smeta biti več kot 3-krat večji od ustrezne veličine pravokotnika na sliki 10 desno. Lokalne maksimume, ki izpolnjujejo te pogoje, razširimo na popolnoma enak način še po diagonali. Rezultat prikazuje slika 12. Slika 12. Določitev leska po diagonali s spremljanjem padanja intenzitete (levo) in z vrednostjo odvoda (desno) Figure 12. Determined shine area along both diagonals based on decreased intensity (left) and on maximal absolute value of intensity derivative (right). Pri nezavrženih kandidatih se morajo vsaj trije od štirih robnih slikovnih elementov diagonal na sliki 12 levo od Bm ax razlikovati vsaj za vrednost A B, medtem ko se mora četrti slikovni element razlikovati vsaj za (AB — 10). Razmerje med najmanjšo in največjo diagonalo na sliki 10 desno mora biti večje od 0,5. Odmik koordinat lokalnega maksimuma od središča pripadajoče diagonale na sliki 10 desno ne sme biti večji od desetinke njene dolžine. Dolžina diagonal ne sme biti manjša od 0,2 odstotka in večja od 3,6 odstotka širine originalne slike. Diagonale na sliki 10 levo ne smejo biti več kot 3-krat daljše od ustrezne diagonale na desni sliki. Pri preostalih kandatih iščemo s pomočjo odvodov originalne slike (slika 13) robove, ki ustrezajo šarenici. Za levi rob šarenice je značilen negativni horizontalni odvod (prehod iz beločnice v šarenico), medtem ko je za desni rob šarenice značilna pozitivna vrednost le-tega (prehod iz šarenice v beločnico). Nadalje je za rob spodnje polovice šarenice značilen pozitivni vertikalni odvod, medtem ko je za zgornjega značilna negativna vrednost tega odvoda. Slika 13. Horizontalni (levo) in vertikalni (desno) odvod originalne slike v območju enega očesa. Figure 13. Horizontal (left) and vertical (right) derivative of the original image in the area of one of the eyes. Ujemanje kandidata očesa s temi značilnostmi preverjamo tako, da na sliki odvodov polagamo krožnico, katere obe koordinati centra premikamo okoli lokalnega maksimuma leska v območju ±4 % horizontalne širine originalne slike, medtem ko njen premer spreminjamo od daljše stranice pravokotnika na sliki 10 desno do 8 odstotkov horizontalne širine originalne slike. V vsakem položaju krožnice izračunamo kriterijsko funkcijo glede na ujemanje ustreznih slikovnih elementov s predhodnimi ugotovitvami: če je na levem robu krožnice odvod negativen, prištejemo njegovo absolutno vrednost kriterij ski funkciji; če je na tem mestu lokalni minimum odvoda, prišteto vrednost pomnožimo 8-krat. Če se nahajamo na lokalnem maksimumu, odštejemo od kriterijske funkcije 4-kratno absolutno vrednost odvoda. Analogno naredimo za preostale robove šarenice. Parametri krožnice, kjer je kriterij ska funkcija največja, predstavljajo potencialno šarenico. Izmed vseh preostalih kandidatov na sliki izberemo dva, ki imata največji vrednosti kriterij ske funkcije. Če oči na sliki sploh ni, potrebujemo dodaten pogoj, s katerim tudi preostala kandidata izločimo kot neustrezna. V našem primeru je to zahteva, da mora biti pri veljavnem kandidatu vrednost kriterij ske funkcije, normirane s številom slikovnih elementov krožnice, večja od 10. 5 Empirični rezultati Postopek je preizkušen na omejenem številu 40 slik dimenzij 200x300 slikovnih elementov. Pri vseh slikah zadovoljive kakovosti so oči pravilno locirane. Čas izvajanja postopka je okvirno 10 ms. Nekaj rezultatov prikazuje slika 15; zadnja primera demonstrirata relativno neobčutljivost postopka na ozadje. Slika 14 prikazuje rezultate neuspešnih detekcij oči. Na levi sliki zaradi napačno usmerjene luči lesk v očeh ne ustreza opisanim kriterijem, medtem ko na preostalih slikah lesk sploh ni zaznan zaradi premajhnega kontrasta. Vidimo, da postopek ne more vedno ugotoviti, da oči niso prisotne oziroma ustrezno locirane. Slika 14. Primeri neuspešno lociranih oči. Figure 14. Examples of unsuccessful eye detection. 6 Literatura [1] Guo Can Feng and Pong C. Yuen. Multi-cues eye detection on gray intensity image. Pattern Recognition, (34): 1003-1046, 2001. [2] Christophe Garcia and Georgios Tziritas. Face detection using quantized skin color regions merging and wavelet packet analysis. IEEE Transactions on Multimedia, l(3):264-277, 1999. [3] Tsuyoshi Kawaguchi and Mohamed Rizon. Iris detection using intensity and edge information. Pattern Recognition, (36):549-562, 2003. [4] J. Kovač, P. Peer, and F. Solina. Human skin colour clustering for face detection. EUROCON 2003 - International Conference on Computer as a Tool, 2:144-148, 2003. [5] Prem Kuchi, Prasad Gabbur, P. Subbanna Bhat, and Sumam David S. Human face detection and tracking using skin color modeling and connected component operators. [6] Nikola Pavešič. Razpoznavanje vzorcev : uvod v analizo in razumevanje vidnih in slušnih signalov. Založba FE in FRI, Ljubljana, 2000. [7] S. Sirohey, A. Rosenfeld, and Z. Duric. A method of detecting and tracking irises and eyelids in video. Pattern Recognition, (36):549-562, 2003. [8] Zhiwei Zhua and Qiang Jib. Robust real-time eye detection and tracking under variable lighting conditions and various face orientations. Computer Vision and Image Understanding, (98): 124-154, 2005. Boštjan Murovec je diplomiral leta 1996, magistriral leta 1999 in doktoriral leta 2002, vse na Fakulteti za elektrotehniko Univerze v Ljubljani, kjer je sedaj docent. Prof. Stanislav Kovačič je od leta 2003 redni profesor na Fakulteti za elektrotehniko Univerze v Ljubljani. Slika 15. Primeri uspešno lociranih oči. Figure 15. Examples of successful eye detection.