Elektrotehniški vestnik 73(2-3): 117-124, 2006 Electrotechnical Review: Ljubljana, Slovenija Razčlenjevanje barvne slike, zajete s splošnonamenskimi barvnimi kamerami Peter Rulic, Iztok Kramberger, Zdravko Kačič Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko E-mail: rultex@siol.net, iztok.kramberger@uni-mb.si, kacic@uni-mb.si Povzetek. V sistemih, namenjenih analiziranju slike, pogosto uporabljamo posebne, namenske kamere, ki na račun velike kakovosti zajetih slik omogočajo učinkovitejšo analizo. Slabost takšnih kamer je visoka cena, zato jih ne moremo uporabiti v nizkocenovnih sistemih analiziranja slike. Splošnonamenske, nizkocenovne barvne kamere uporabljamo predvsem za zajemanje slike, ki služi za prikaz na elektronskih medijih in papirju. Uporabo slik splošnonamenskih kamer za analiziranje slike omejuje njihova kakovost. V članku predstavljamo postopek razčlenjevanja barvnih slik, ki omogoča natančno razvrščanje barvnih slikovnih elementov in je namenjen razčlenjevanju slik, zajetih z različnimi tipi barvnih kamer. Slikovne elemente razvrščamo samo na podlagi barve, kar nam omogoča preprostost postopka. Postopek smo praktično izvedli in preizkusili na slikah, zajetih s tremi kamerami, ki temeljijo na slikovnih tipalih različnih tehnologij. Od teh sta dve nizkocenovni kameri, ki temeljita na barvnih slikovnih tipalih CMOS in CCD. Tretja kamera temelji na dražjem in kakovostnejšem sistemu zajemanja slike s tremi slikovnimi tipali CCD. Uspešnost razvrščanja slikovnih elementov in računsko zahtevnost pri opisanem postopku smo določali na podlagi slik, zajetih z navedenimi kamerami. Definirani postopek smo primerjali tudi z različnimi obstoječimi postopki razčlenjevanja barvne slike. Ključne besede: barvno razčlenjevanje slike, splošnonamenske kamere, rojenje, barvni prostor Segmentation of color images captured with general-purpose color cameras Extended abstract. Special purpose cameras are generally used in systems for image analysis because of their high quality captured images. But their big drawback is high price, which makes them inaccessible for low cost image analysis systems. In this paper we present a pixel-based method for color image segmentation, focused on segmentation of color images captured with various types of color cameras. Although the method can be used for detection of an arbitrary color, we focused on segmentation of the skin color. The segmentation method is based on two separate steps: the learning step and the classification step. In the learning step, the learning samples of the target color are manually selected from a set of learning images. It is essential for successful segmentation that target color pixels are chosen from image segments with possible illumination conditions in analyzed scene. We tested the segmentation method on images captured with three different general-purpose cameras based on 3CCD CCD and CMOS color image sensors. Figure 1 represents the spread of learning samples of skin color pixels in the sRGB color space. Besides the sRGB color space, we also tested a particular image segmentation method in a Prejet 14. julij, 2005 Odobren 17. november, 2005 perceptually more uniform and widely used YCC color space to determine the difference in segmentation between more or less uniform color spaces. In the observed image segmentation method, the learning pixels are arranged in skin color clusters in sRGB and YCC color spaces using the heuristic clustering method. The number of clusters depends on chosen distance 8, which is measured using the Euclidean metric. The dependence between the number of clusters and different values of 8 is shown in Table 1. Small values of 8 more precisely define the target color, but give a large number of clusters, which increases computational complexity. Large values of 8 on the other hand poorly define the target color. The spread of learning pixels in the sRGB color space is shown in Figure 1. Images captured with a better camera give a more compact spread of the learning pixels. A lesser spread generally provides better segmentation results because of a more compact target color representation in the color space. We compared the observed method with three other methods for skin color detection defined in [10], [11] and [12]. Table 2 shows the results of correctly and incorrectly recognized skin color pixels with the observed method in the sRGB and YCC color spaces. Table 3 shows results of same images processed with methods [10], [11] and [12]. The processed and resulting images are shown in Fig. 2. The computational complexity of the methods is compared in Table 3, where the number of conditions needed for classification of one pixel, in different methods, is presented. Experimental results show that the observed method is computationally more complex, but its recognition performance is in all test images superior to the comparative methods. We can also see that there is no noticeable difference in the usage of the perceptually uniform and perceptually non-uniform color space with the observed method. When using a smaller number of conditions, the use of the YCC color space generally gives poorer results than the use of the sRGB color space. With an equal number of conditions, both color spaces perform equally. Key words: color image segmentation, general purpose cameras, clustering, color space. 1 Uvod Obstaja veliko postopkov analiziranja slike, ki uspešno delujejo na slikah, zajetih z namenskimi kamerami. Te omogočajo zajemanje zelo kakovostne slike, vendar je cena takšnih naprav nedosegljiva za nizkocenovne aplikacije. Zato nas zanima možnost uporabe splošno-namenskih nizkocenovnih kamer za namene analiziranja slike. Vpliv kakovosti slike na uspešnost postopka analize je najpogosteje zanemarjen, saj je kakovost slike težko določljiva veličina [1]. Pri analizi slike se s kakovostjo slike srečamo pri postopku razčlenjevanja. Razčlenjevanje nam služi za določanje področij v sliki, potrebnih pri nadaljnji analizi, zato je kakovost slike zelo pomembna za uspešno razčlenjevanje. V članku bomo opisali postopek razčlenjevanja slike, ki temelji na določanju področij v sliki samo s pomočjo barvne informacije. Prednost takšnega postopka razčlenjevanja je v preprostem procesiranju, kjer iskane objekte določamo le na podlagi barve posameznega slikovnega elementa v sliki. Poseben pomen za barvno razčlenjevanje slike ima strojna oprema za zajemanje in digitalizacijo slike, kajti potreben pogoj za uspešno barvno razčlenjevanje je dovolj kakovostno spektralno zajemanje barvne slike. Kakovost zajemanja spektra barvne slike je povezana s ceno naprave za zajemanje -kamere. Visokocenovne specializirane kamere omogočajo zajemanje spektralnih slik v več spektralnih pasovih; od infrardečega do ultravijoličnega spektra. Takšne kamere omogočajo zelo učinkovito razčlenjevanje slike in se uporabljajo na področjih, kot je npr. analiziranje terena s pomočjo fotografij iz zraka [2]. Nizkocenovne, splošnonamenske barvne kamere zajemajo tri pasove v vidnem spektru: rdeči, zeleni in modri. Najpogosteje se uporabljajo za zajemanje slike, ki služi za prikaz na elektronskih medijih in papirju, temu ustrezna je spektralna kakovost barvnih slik, zajetih s takšnimi napravami. V članku se bomo posvetili razčlenjevanju barvne slike, zajete z nizkocenovnimi, splošnonamenskimi barvnimi kamerami. Primerjali bomo razčlenjevanje barvnih slik, zajetih s kamerami, ki za zajemanje slike uporabljajo slikovna tipala CMOS in CCD. Definirali bomo postopek razčlenjevanja barvne slike, ki omogoča uspešno razpoznavanje iskane barve, tudi v slikah, ki so zajete z manj kakovostnimi napravami. Pri razčlenjevanju se bomo osredotočili na izločanje objektov v sliki, ki so barve človeške kože, čeprav je postopek mogoče uporabiti za izločanje objektov poljubnih barv. Postopek bomo uporabili na percepcijsko uniformnem in percepcijsko neuniformnem barvnem prostoru. Postopek bomo tudi primerjali s podobnimi obstoječimi postopki razčlenjevanja slike. Raziskave o možnostih razčlenjevanja barvne slike s splošnonamenskimi kamerami spadajo v širši okvir prizadevanj za definiranje novih informacijskih paradigem v sodobnih telekomunikacijskih storitvah, s pomočjo vizualnih komunikacijskih vmesnikov. 2 Sorodne raziskave Postopke razčlenjevanja barvne slike najpogosteje delimo glede na barvni prostor, v katerem se izvaja razvrščanje barvnih slikovnih elementov. Različni barvni prostori so bolj ali manj percepcijsko uniformni, kar pomeni, da je zaznavanje barvnih sprememb bolj ali manj enakomerno ne glede na položaj v barvnem prostoru. Zaradi enakomernega zaznavanja sprememb dajejo percepcijsko uniformni barvni prostori pogosto boljše rezultate pri barvnem razčlenjevanju slike [4]. Vendar slikovnih elementov nimamo vedno na voljo v percepcijsko uniformnem barvnem prostoru. Pretvorba slikovnih elementov v takšen prostor zahteva dodatno procesiranje, kar vpliva na večjo računsko zahtevnost postopkov. Večina slik je na voljo v standardnem prostoru RGB, imenovanem sRGB (IEC 61966-2-1), kjer so slikovni elementi prirejeni za izris na monitorju. V članku se bomo osredotočili na prostor sRGB. Ker je postopek razčlenjevanja, ki ga bomo opisali mogoče uporabiti v poljubnem barvnem prostoru, bomo poleg prostora sRGB uporabili še pogosto uporabljeni percepcijsko bolj uniformni barvni prostor YCbCr [5], v nadaljevanju pisan kot YCC. Pri tem bomo primerjali rezultate razčlenjevanja obeh barvnih prostorov. Razčlenjevanje barvne slike bomo izvajali z rojenjem slikovnih elementov v barvnem prostoru, ki na splošno poteka v dveh ločenih korakih. V prvem ugotavljamo lastnosti rojev slikovnih elementov iskane barve v ustreznem barvnem prostoru, v drugem koraku pa z izbrano metriko v barvnem prostoru prirejamo posamezne slikovne elemente določenim rojem. Postopke rojenja za razčlenjevanje barvne slike, opisane v literaturi, lahko delimo na mehke in trde [3]. Mehki načini rojenja omogočajo hkratno razvrščanje slikovnih elementov k več različnim rojem, kar nam omogoča prenos procesa razvrščanja na višje nivoje procesiranja slike. Pri trdih načinih rojenja razvrstimo posamezni slikovni element k samo enemu roju. Uporabili bomo trdi način rojenja, ker želimo slikovne elemente razvrščati glede na iskano barvo neposredno na nizkem nivoju procesiranja slike. Splošno za razčlenjevanje barvne slike uporabljamo različne metrike, za različne barvne prostore. Zaradi preprostega izračuna bomo uporabili taksistovo metriko. Različne variacije kožne barvne bomo dobili s pomočjo učnih vzorcev, ki jih bomo ročno določili na različnih učnih slikah za vsak tip kamere posebej. 3 Formalizacija problema Barvni prostor bomo definirali kot tridimenzionalni metrični prostor nad obsegom realnih števil (B,d). Slikovni element p je vektor metričnega prostora p e B, zapisan kot p = (r,g,b), r,g,b e (1) d ^ p2) = |ri " ri\ + " gl\ +1^1 ~b2 (2) U c B, U = (p0 ...p^). (3) hierarhičnega in delitvenega iskanja rojev [6, 7]. Postopek rojenja poteka po petih korakih: 1. V prvem koraku vsakemu učnemu slikovnemu elementu določimo vsoto obratnih vrednosti razdalj do vseh drugih učnih slikovnih elementov po enačbi: j=N-2 = j=o 1 1 + d(pt, p<) i * j. (4) kjer so , g in b vrednosti rdeče zelene in modre komponente slikovnega elementa. V metričnem prostoru RGB bomo za določanje razdalj med vektorjema p1 in p2 uporabili taksistovo razdaljo d : kjer so r1, g1, b1 komponente prvega vektorja in r2, g2, b2 komponente drugega vektorja. Postopek razčlenjevanja barvne slike poteka v dveh ločenih korakih. V prvem koraku določamo roje ciljne barve. V drugem koraku s pomočjo najdenih rojev slikovne elemente razvrstimo v dva razreda: razred ciljne barve in razred drugih barv. Roje ciljne barve določamo s pomočjo množice učnih slikovnih elementov U, ki jih dobimo z ročnim določanjem področij ciljne barve v učnih slikah. Učni slikovni elementi, ki se nahajajo na enakih položajih v barvnem prostoru imajo isto vrednost vsote obratnih vrednosti razdalj. 2. Odstranimo večkratne slikovne elemente tako, da na mestih v barvnem prostoru, kjer se nahaja več slikovnih elementov hkrati, ohranimo samo en slikovni element s pripadajočo vsoto obratnih vrednosti razdalj. 3. Slikovne elemente razvrstimo glede na velikost vsote obratnih vrednosti razdalj od največje do najmanjše. 4. V razvrščanem nizu slikovnih vrednosti določimo prvi slikovni element. Določenemu slikovnemu elementu izračunamo razdaljo do vseh naslednjih slikovnih elementov v nizu po enačbi (2). Slikovne elemente, katerih razdalja do izbranega slikovnega elementa je znotraj določenega pragu S, odstranimo iz tabele. 5. Ponavljamo korak 4, dokler ne pridemo do konca niza. Na koncu ostanejo v nizu prototipi rojev. Slikovni elementi, ki pripadajo posameznemu roju, so od roja oddaljeni največ za vrednost pragu S . Po stopek iskanj a roj ev j e ob večjem naboru učnih slikovnih elementov računsko precej zahteven. Vendar lahko veliko računsko zahtevnost zanemarimo, saj postopek iskanja rojev za določeno učno barvo izvedemo samo enkrat. Slikovne elemente razvrstimo v dva razreda s pomočjo najdenih rojev. Prvi razred predstavlja ciljno barvo, drugi predstavlja vse druge barve. Razvrščanje izvedemo tako, da slikovnemu elementu določimo razdalje do vseh prototipov rojev po enačbi (2). Slikovni element razvrstimo v razred ciljne barve, če je najmanjša razdalja manjša od pragu S. min(d) < S, (5) Število slikovnih elementov je označeno z N. Variacije ciljne barve želimo opisati z več različnimi roji. Vsak roj naj bo predstavljen s prototipom roja in vsi slikovni elementi roja naj bodo od prototipa oddaljeni za neko največjo razdaljo. Ob upoštevanju teh zahtev vidimo, da je število rojev odvisno od izbrane največje razdalje. Opisane zahteve bomo izpolnili z definiranjem postopka določanja rojev, ki združuje ideje sicer slikovni element razvrstimo v razred drugih barv. 4 Rezultati Opisani postopek razčlenjevanja barvne slike bomo preizkusili na slikah, zajetih z različnimi splošnonamenskimi barvnimi kamerami. Namen raziskave je proučiti uspešnost razčlenjevanja barvnih slik, zajetih s splošnonamenskimi barvnimi kamerami in primerjati uspešnost razčlenjevanja barvnih slik z različnimi postopki razčlenjevanja. r Postopke bomo preizkusili s pomočjo slik, zajetih z dvema različnima splošnonamenskima, nizko-cenovnima kamerama. Prva kamera (ZT-803T) vsebuje slikovno tipalo CMOS, medtem ko druga kamera (MIRON MTV-63W1P) vsebuje slikovno tipalo CCD. Kot referenco bomo uporabili še tretjo kamero, ki vsebuje kakovostnejši sistem za zajemanje barve s tremi slikovnimi tipali CCD (Cannon XL1S). V nadaljevanju bomo kamere označevali glede na tipala s kraticami CMOS, CCD in 3CCD. Slike smo zajemali v nenadzorovanih scenah, ki so zaradi prisotnosti motečih objektov in nenadzorovane osvetlitve za razčlenjevanje zelo zahtevne. Osvetlitev je bila sestavljena delno iz neonskih svetil, delno iz dnevne svetlobe. Slike vseh kamer smo zajemali z razločljivostjo 352 stolpcev in 288 vrstic. Digitalizacijo in procesiranje smo izvedli na osebnem računalniku s kartico za zajemanje BT878. Barvo smo zajemali v barvnem prostoru RGB z 8 biti za vsako barvno komponento. Definirani postopek bomo izvedli v barvnem prostoru sRGB in YCC z namenom primerjave uporabe neuniformnega in uniformnega barvnega prostora. Poleg tega bomo definirani postopek primerjali s tremi postopki za razčlenjevanje barvne slike, opisanimi v [10], [11] in [12]. Vsem postopkom bomo določili odstotek pravilno razpoznane kožne barve, nepravilno razpoznane kožne barve in računsko zahtevnost. Pri vseh postopkih, razen pri postopku [11], bomo uporabili enake učne vrednosti slikovnih elementov. Učne vrednosti so določene za vsako kamero posebej. Pri tem smo imeli za kamero 3 CCD 15608 učnih vrednosti, za kamero CCD 15641 učnih vrednosti in za kamero CMOS 15620 učnih vrednosti. Pogoje za klasifikacijo slikovnih elementov bomo določili iz vseh učnih vrednosti posameznega nabora. Zato bodo na rezultate razčlenjevanja vplivale vse učne vrednosti pri vseh postopkih, razen pri postopku [11], ki za delovanje ne potrebuje učnih vrednosti. Odstotek pravilno p in nepravilno n razvrščenih slikovnih elementov bomo določali po enačbah r p =— 100%, (6) m v — r n =--100%, (7) ^ — m pri tem je število slikovnih elementov, ki so bili razvrščeni v razred kožne barve in ki se nahajajo na pričakovanih območjih kožne barve v sliki, m je število slikovnih elementov pričakovanih območij kožne barve v sliki, s je število slikovnih elementov v sliki in v pomeni število vseh slikovnih elementov, ki so bili razvrščeni v razred kožne barve. Vidimo, da se enačba (6) nanaša le na slikovne elemente območij pričakovane kožne barve, kjer ugotavljamo odstotek pravilno razvrščenih elementov tega barvnega razreda. Z enačbo (7) ugotavljamo odstotek elementov na območjih pričakovane nekožne barve, ki so nepravilno razvrščeni v razred kožne barve. Posamezen slikovni element se ne more hkrati nahajati na pričakovanih območjih kožne in nekožne barve, zato enačbi določata uspešnost razvrščanja neodvisno za vsak barvni razred posebej (obeh odstotkov ne moremo seštevati, da bi dobili 100 odstotkov). 4.1 Učne množice vzorcev Kameri CMOS in CCD uporabljata slikovno tipalo za zajemanje barvnega spektra z razporejenimi barvnimi filtri (ang. Color Filter Array), kjer posamezen slikovni element predstavlja barvni filter ene od treh spektralnih komponent. Rdečo, zeleno in modro spektralno vrednost slikovnega elementa dobimo z interpolacijo vrednosti sosednjih barvnih filtrov [8]. Takšen sistem zajemanja barve je cenovno najugodnejši, vendar je pri tem zmanjšana kakovost barvnega spektra. Kakovostnejši in dražji sistem za zajemanje barve ima kamera 3CCD, kjer se vsaka barvna komponenta preslika na ločeno slikovno tipalo CCD. Učne vrednosti slikovnih elementov smo pridobili z ročnim določanjem območij ciljne barve v več slikah, zajetih z isto kamero. Pri tem smo izbirali vizualno različna območja v slikah, ki predstavljajo kožno barvo. Več slik smo uporabili zato, da so območja ciljne barve predstavljena z različnimi osvetlitvami scene. Na slikah od 1a) do 1f) so prikazani učni slikovni elementi barve kože v barvnem prostoru sRGB. Učni slikovni elementi so prikazani iz dveh različnih smeri v barvnem prostoru sRGB. Iz slik 1a) do 1f) vidimo, da so položaji slikovnih elementov kožne barve vseh treh kamer dokaj podobni, vendar istih rojev za razčlenjevanje slik, zajetih z različnima kamerama, ne moremo uporabiti. Vidimo tudi, da so slikovni elementi kamere 3 CCD v barvnem prostoru najmanj razpršeni. Nekoliko večja je razpršenost učnih slikovnih elementov kamere CCD. Največja je razpršenost učnih slikovnih elementov kamere CMOS. Iz tega lahko sklepamo, da daje kamera 3CCD najkakovostnejšo sliko za razčlenjevanje, medtem ko daje kamera CMOS za razčlenjevanje najmanj kakovostno sliko. Vzrok za različno razpršenost ciljne barve pri različnih tipih slikovnih tipal gre iskati v zmožnostih pravilnega zajemanja barve različnih tipih slikovnih tipal [9], kot tudi v različnih možnostih krmiljenja oziroma nadzora slikovnih tipal, kot je čas osvetlitve, avtomatski nadzor ojačenja, nastavitev ravnotežja bele barve (ang. white balance) ipd. 4.2 Določanje rojev Učne slikovne elemente, prikazane na slikah 1a) do 1f), razvrstimo v roje. Število rojev posamezne množice učnih slikovnih elementov je odvisno od vrednosti pragu 5 . V tabeli 1 je prikazana odvisnost števila rojev od razdalje za učne slikovne elemente testnih kamer. S b) d) 4T f) Slika 1: Učni slikovni elementi kožne barve v prostoru sRGB prikazani iz različnih perspektiv. Perspektive so izbrane tako, da omogočajo vpogled v različno razpršenost slikovnih elementov. a), b) slikovni elementi kamere 3CCD. c), d) slikovni elementi kamere CCD. e) f) slikovni elementi kamere CMOS. Figure 1: Learning pixels of the skin color from different perspectives in the sRGB color space. Perspectives are chosen so that different spreads of pixels can be seen. a), b) pixels of 3CCD camera. c), d) pixels of CCD camera. e), f) pixels of CMOS camera. Tabela 1: Odvisnost števila rojev od razdalje 8 za učne slikovne elemente kamer CMOS = K1, CCD = K2 in 3CCD = K3, za barvna prostora sRGB in YCC Table 1: Dependence of the number of clusters on distance 8 for pixels of cameras CMOS = K1, CCD = K2 and 3CCD = K3, for sRGB and YCC color spaces Iz tabele 1 je razvidno, da se število rojev veča z manjšanjem razdalje. To je pričakovani rezultat, saj manjša razdalja omogoča natančnejši opis ciljne barve. Natančnost opisa barve je odvisna od razdalje. Večja ko je razdalja od ciljne barve, večja je verjetnost, da so znotraj te razdalje slikovni elementi drugih barv. Izbira razdalje 8 je ključna za uspešno razčlenjevanje slike po opisanem postopku. Pri izbiri vrednosti 8 se moramo soočiti s kompromisom, saj manjše vrednosti 8 omogočajo natančnejše razvrščanje slikovnih elementov, vendar se ob manjšanju 8 povečuje število rojev, kar povečuje računsko zapletenost postopka. Iz poskusov smo določili uporabne vrednosti 8, ki se gibljejo od 6 do 21. Uporabljene vrednosti 8 v tabeli 1 so večkratniki števila tri. Takšne vrednosti nismo izbrali zaradi pravila, ampak zaradi lažjega prikaza (za vrednosti 8 lahko izberemo poljubna števila). V tabeli 1 lahko vidimo, da je število rojev v barvnem prostoru YCC veliko manjše pri enaki vrednosti 8 kot v barvnem prostoru sRGB. Vzroka za to sta lahko dva. Prvi je kompaktnejša porazdelitev slikovnih elementov kožne barve v barvnem prostoru YCC. Drugi je nekoliko manjši obseg barvnega prostora YCC, zaradi česar je v tem prostoru izbrana razdalja sorazmerno večja. Iz tabele 1 lahko sklepamo, da je barvni prostor YCC primernejši od barvnega prostora sRGB zaradi manjšega števila rojev. 4.3 Razčlenjevanje barvne slike Uspešnost razčlenjevanja barvnih slik, zajetih s tremi kamerami, smo določali s pomočjo enačb (6) in (7). Z vsako od opisanih kamer smo zajeli barvno sliko scene z naključnimi objekti. V to sceno smo postavili roko, ki predstavlja objekt kožne barve. Pri tem smo poskušali z vsemi kamerami narediti kar se da podobne slike. Slike, ki smo jih zajeli, so prikazane na slikah 2a) do 2c). Tem slikam smo ročno določili območja s pričakovano barvo kože. Tako smo dobili območja potrebna za določanje uspešnosti postopka po enačbah (6) in (7). Ker je ročno določanje območij pričakovane kožne barve časovno zamudno, smo se omejili na samo eno sliko za vsako kamero. Rezultati razčlenjevanja so prikazani v tabeli 2. V njej so podani odstotki pravilno in nepravilno razvrščenih slikovnih elementov, določeni z enačbama (6) in (7). V idealnem primeru razvrščanja bi bil odstotek pravilno razvrščenih slikovnih elementov enak 100% in nepravilno razvrščenih slikovnih elementov 0% Rezultati kažejo, da je v vseh primerih pravilno razvrščenih slikovnih elementov blizu 100%. Odstotek nepravilno razvrščenih slikovnih elementov je različen. Odstotek nepravilno razvrščenih slikovnih elementov tako dejansko kaže uspešnost postopka. Vidimo, da je razčlenjevanje po opisanem postopku uspešnejše v sRGB barvnem prostoru. a) * c) e) 8 CMOS sRGB CMOS YCC CCD sRGB CCD YCC 3CCD sRGB 3CCD YCC 6 1458 654 885 217 540 119 9 665 294 390 85 232 54 12 345 159 218 48 128 31 15 225 93 130 33 77 22 18 145 67 87 23 58 15 21 104 47 61 17 40 12 Kamera Camera Barvni prostor Color Space S Pravilno Correct Nepravilno Incorrect 3 CCD sRGB 6 91% 7% CCD sRGB 6 86% 16% CMOS sRGB 6 85% 12% 3 CCD YCC 6 96% 25% CCD YCC 6 92% 25% CMOS YCC 6 92% 22% 3 CCD sRGB 9 93% 9% CCD sRGB 9 89% 18% CMOS sRGB 9 89% 14% 3 CCD YCC 9 97% 31% CCD YCC 9 92% 26% CMOS YCC 9 93% 24% 3 CCD sRGB 12 94% 11% CCD sRGB 12 91% 20% CMOS sRGB 12 91% 16% 3 CCD YCC 12 97% 24% CCD YCC 12 93% 30% CMOS YCC 12 94% 26% 3 CCD sRGB 15 96% 13% CCD sRGB 15 92% 22% CMOS sRGB 15 92% 19% 3 CCD YCC 15 98% 45% CCD YCC 15 94% 32% CMOS YCC 15 96% 36% 3 CCD sRGB 18 96% 19% CCD sRGB 18 92% 23% CMOS sRGB 18 93% 20% 3 CCD YCC 18 98% 49% CCD YCC 18 95% 34% CMOS YCC 18 96% 41% 3 CCD sRGB 21 96% 20% CCD sRGB 21 92% 24% CMOS sRGB 21 93% 24% 3 CCD YCC 21 99% 51% CCD YCC 21 95% 32% CMOS YCC 21 97% 43% Tabela 2: Rezultati razčlenjevanja barvnih slik, zajetih z različnimi kamerami, pri različnih vrednostih 8, v barvnih prostorih sRGB in YCC Table 2: Segmentation results for images captured with different cameras, for different values of 8, in the sRGB and YCC color spaces Definirani postopek smo pri najmanjši računski zahtevnosti primerjali tudi s podobnimi postopki za barvno razčlenjevanje slike, ki so opisani v [10], [11] in [12]. Uspešnost razvrščanja slikovnih elementov smo določali z opisanim postopkom po enačbah (6) in (7). Rezultati razčlenjevanja so prikazani v tabeli 3, kjer vidimo, se je najbolje odrezal definirani postopek, saj nudi najmanjši odstotek nepravilno razvrščenih slikovnih elementov pri velikem odstotku pravilno razvrščenih slikovnih elementov. Postopek [10] omogoča najmanjši odstotek nepravilno razvrščenih slikovnih elementov vendar je odstotek pravilno razvrščenih slikovnih elementov zelo majhen. Pri postopku [11] ne uporabljamo učnih vrednosti, zato so rezultati zelo odvisni od uporabljene kamere. Najboljši so pri sliki najkakovostnejše kamere, ki najbolj verodostojno opisuje barve objektov v sceni. Pri slikah ostalih kamer so rezultati slabi. Najslabši so rezultati postopka [12], kjer je delež nepravilno razvrščenih slikovnih elementov zelo velik. P Kamera Camera Barvni prostor Color space Pravilno Correct Nepravilno Incorrect 1 3 CCD sRGB 35% 1% 1 CCD sRGB 27% 2% 1 CMOS sRGB 11% 1% 2 3 CCD sRGB 84% 23% 2 CCD sRGB 98% 67% 2 CMOS sRGB 26% 30% 3 3 CCD YCC 99% 33% 3 CCD YCC 96% 60% 3 CMOS YCC 99% 54% 4 3 CCD sRGB 96% 20% 4 CCD sRGB 92% 24% 4 CMOS sRGB 93% 24% Tabela 3: Rezultati razčlenjevanja slik, zajetih z različnimi kamerami, za postopke: P=1 postopek [10], P=2 postopek [11], P=3 postopek [12], P=4 definirani postopek (8=21) Table 3: Segmentation results for images captured with different cameras for methods: P=1 method [10], P=2 method [11], p=3 method [12], P=4 observed method (8=21) Postopek Method Barvni prostor Color space Št. pogojev No. conditions definiran postopek defined method sRGB 40 - 1458 definiran postopek defined method YCC 12 - 654 postopek [10] method [10] sRGB 5 postopek [11] method [11] YCC 4 postopek [12] method [12] sRGB 13 Tabela 4: Število pogojev, potrebnih za razvrstitev slikovnega elementa pri različnih postopkih Table 4: Number of conditions needed for classification of pixel in different methods Vse postopke barvnega razčlenjevanja slike smo primerjali tudi po računski zahtevnosti. Računsko zahtevnost smo izrazili kot število pogojev potrebnih za razvrstitev enega slikovnega elementa v razred kožne barve. Rezultati so prikazani v tabeli 4, ki nam kaže, da so vsi postopki računsko manj zahtevni od definiranega postopka, katerega računska zahtevnost je različna za različne vrednosti 8. Čeprav je pri največji vrednosti 8 računska zahtevnost definiranega postopka najmanjša, in pri tem še vedno večja kot pri ostalih postopkih, je definirani postopek računsko hitro izvedljiv na sodobni strojni opremi, ki omogoča vzporedno vektorsko procesiranje podatkov. Za boljši vpogled v rezultate razčlenjevanja smo na slikah 2d) do 2s) prikazali izhodne slike za vse postopke razčlenjevanja. Slika 2: a), b), c) vhodne slike, zajete s kamerami 3CCD, CCD in CMOS. Pod posamezno vhodno sliko so v stolpcu prikazani rezultati razčlenjevanja te slike z različnimi postopki. Bela območja pomenijo razpoznano barvo kože, temna območja pa druge barve. d), e), f) rezultati definiranega postopka v barvnem prostoru sRGB (8=6). g), h), i) rezultati definiranega postopku v barvnem prostoru YCC (8=6). j), k), l) rezultati postopka [10]. m), n), o) rezultati postopka [11]. p), r), s) rezultati postopka [12]. Figure 2: a), b), c) input images captured with 3CCD, CCD and CMOS camera. The results of segmentation with different methods, for each input image, are presented in the column under the input image. White segments in resulting images represent the skin color, black segments represent other colors. d), e), f) results of the observed method in the sRGB color space (8=6). g), h), i) results of the observed method in the YCC color space (8=6). j), k), l), results of method [10]. m), n), o), results of method [11]. p), r), s), results of method [12]. 5 Sklep Eksperimentalni rezultati so pokazali, da uporaba percepcijsko uniformnega prostora YCC z definiranim postopkom razčlenjevanja slike ne daje boljših rezultatov od uporabe percepcijsko manj uniformnega prostora sRGB. Barvni prostor YCC omogoča manjšo računsko zahtevnost glede na prostor sRGB pri enaki vrednosti parametra 8. Vendar je razčlenjevanje v barvnem prostoru YCC pri enaki vrednosti 8 manj uspešno kot v barvnem prostoru sRGB. Uspešnost razčlenjevanja v prostoru YCC lahko povečamo z manjšanjem vrednosti 8, vendar se pri tem poveča tudi računska zahtevnost. Ob izenačitvi uspešnosti razčlenjevanja ali računski zahtevnosti prostorov YCC in sRGB ni bistvene razlike v uporabi barvnega prostora. Iz rezultatov tudi vidimo, da lahko z definiranim postopkom dokaj uspešno barvno razčlenjujemo tudi slike, zajete s cenenimi kamerami, ki so barvno slabše kakovosti, česar ne moremo storiti pri primerjanih postopkih. Na splošno lahko rečemo, da definirani postopek daje boljše rezultate razčlenjevanja, vendar ob nekoliko večji računski zahtevnosti. 6 Literatura [1] Z. Wang, A. C. Bovik, L. Lu, Why is image quality assessment so difficult?, Proc. of Int. Conf. on Acoustics, Speech and Signal Processing, vol. IV, (2002), 3313-3316. [2] G. Petrie, Airborne digital frame cameras, Geolnformatics 7(6), October/November (2003), 18-27. [3] W. Skarbek, A. Koschan, Colour Image Segmentation - A Survey, Tehnical Report 94-32, Tehnical University Berlin, October 1994. [4] V. Vezhnevets, V. Sazonov, A. Andreeva, A survey on pixel-based skin color detection techniques, Graphicon 2003, 13th International Conference on the Computer Graphics and Vision, (2003), 85-92. [5] R. Queiroz, Compression of color images, Digital Color Imaging Handbook, G. Sharma, Ed., CRC Press, 2003. [6] N. Pavešic, Razpoznavanje vzorcev: Uvod v analizo in razumevanje vidnih in slušnih signalov - 2. razširjena izd., Založba FE in FRI Ljubljana, 2000. [7] A. K. Jain, M. N. Murty, P. J. Flynn, Data Clustering: A Review, ACM Computing Surveys, Vol. 31, No 3. (1999), 264-323. [8] K. Parulski, K. Spaulding, Color image processing for digital cameras, Digital Color Imaging Handbook, G. Sharma, Ed., CRC Press, 2003. [9] N. Blanc, CCD versus CMOS - has CCD imaging come to an end?, Fritsch/Spiller (eds.) Photogrammetric Week Wichmann Verlag, Heidelberg, (2001), 131-137. [10] I. Kramberger, Real-time skin feature identification in a time-sequential video stream, Optical engineering (Bellingham. Print),Vol. 44, No. 4, (2005), 047201-1 -047201-10. [11] J. Kovač, P. Peer, F. Solina, Human skin colour clustering for face detection, The IEEE Region 8 EUROCON 2003 : computer as a tool, (2003), vol. 2, 144-148. [12] D. Chai, K. N. Ngan, Face Segmentation Using Skin Color Map in Videophone Applications, IEEE Transactions on Circuits and Systems for Video Technology, (1999), Vol 9, No 4, 551-564. Peter Rulic je diplomiral leta 2000 na Fakulteti za elektrotehniko, računalništvo in informatiko (FERI) v Mariboru. Je študent podiplomskega študija na omenjeni fakulteti. Njegovo raziskovano področje vključuje procesiranje slike in komunikacijo človek-stroj. Iztok Kramberger je diplomiral leta 1997 na FERI v Mariboru. Leta 2000 je magistriral in leta 2003 doktoriral na isti ustanovi, kjer je tudi zaposlen kot asistent. Njegovo raziskovalno področje vključuje procesiranje slike in komunikacijo človek-stroj. Zdravko Kačič je diplomiral leta 1986 na FERI v Mariboru. Leta 1989 je magistriral, leta 1992 pa doktoriral na isti ustanovi, kjer je zaposlen kot redni profesor. Je vodja laboratorija za digitalno procesiranje signalov na FERI. Njegovo raziskovalno področje vključuje področje multimodalnih komunikacijskih vmesnikov in sodobne načine komunikacije med človekom in strojem.