Automatisk korreksjon av røde øyne i digitale bilder



Like dokumenter
UNIVERSITETET I OSLO

Innføring i bildebehandling

Innføring i bildebehandling

Motivasjon. Litt sett-teori. Eksempel. INF Mesteparten av kap i DIP Morfologiske operasjoner på binære bilder.

Motivasjon. INF 2310 Morfologi. Eksempel. Gjenkjenning av objekter intro (mer i INF 4300) Problem: gjenkjenn alle tall i bildet automatisk.

Kantdeteksjon og Fargebilder

Midtveiseksamen Løsningsforslag

Punkt, Linje og Kantdeteksjon

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Motivasjon. Litt sett-teori. Eksempel. INF Kap. 11 i Efford Morfologiske operasjoner. Basis-begreper

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Midtveiseksamen. INF Digital Bildebehandling

Gråtonehistogrammer. Histogrammer. Hvordan endre kontrasten i et bilde? INF Hovedsakelig fra kap. 6.3 til 6.6

Deteksjon av ringformede fotgrøfter i høyoppløselige satellittbilder av jordbruksområder

Eksamen i IN 106, Mandag 29. mai 2000 Side 2 Vi skal i dette oppgavesettet arbeide med et bilde som i hovedsak består av tekst. Det binære originalbil

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO. Dette er et løsningsforslag

UNIVERSITETET I OSLO

Morfologi i Gråskala-Bilder II

Innføring i bildebehandling

3. obligatoriske innlevering, høsten 2014

UNIVERSITETET I OSLO

Rapport: 2.oktober 2009

Optisk lesing av en lottokupong

Pressemelding. Tre nye rimelige modeller i Canons PIXMAserie med multifunksjonsprodukter gjør smart utskrift og høy kvalitet tilgjengelig for alle

Morfologiske operasjoner på binære bilder

Morfologiske operasjoner på binære bilder

Optisk lesing av en lottokupong

Løsning av øvingsoppgaver, INF2310, 2005, kompresjon og koding

Optisk lesing av en lottokupong

UNIVERSITETET I OSLO

Oppgaver og løsningsforslag i undervisning. av matematikk for ingeniører

INF 1040 løsningsforslag til kapittel 17

Deteksjon av gravminner fra høyoppløselige satellittbilder. Deteksjon av fangstgroper. Øivind Due Trier og Arnt-Børre Salberg

Mars Robotene (5. 7. trinn)

Prøve- EKSAMEN med løsningsforslag

ØYET. Ved å ta delene fra hverandre, kan du se hvordan øyet er bygd opp. Men hva er det egentlig som gjør at vi kan se?

INF 1040 høsten 2008: Oppgavesett 11 Farger (kapittel 15)

Introduksjon. Litt mengdeteori. Eksempel: Lenke sammen objekter. Morfologiske operasjoner på binære bilder. INF2310 Digital bildebehandling

UNIVERSITETET I OSLO

Hvorfor blir håret mørkere når det blir vått?

UNIVERSITETET I OSLO

Kan vi forutse en pendels bevegelse, før vi har satt den i sving?

Matematisk morfologi V

Motivasjon INF Eksempel. Gjenkjenning av objekter intro (mer i INF 4300) OCR-gjennkjenning: Problem: gjenkjenn alle tall i bildet automatisk.

Repetisjon av histogrammer

Oversikt, kursdag 5. Matematisk morfologi V. Hva er segmentering. Hva er segmentering. Lars Aurdal Norsk regnesentral

Dyp læring. Sigmund Rolfsjord

Bilder og bildebruk. for nettsider og nettbutikker! Uni Micro Web - 6. mai 2014 BILDER OG BILDEBRUK - UNI MICRO WEB

Morfologi i Gråskala-Bilder

Bruk av vannmerke ved reproduksjon av gråtonebilder

King Kong Erfaren Scratch PDF

EKSAMEN. Bildebehandling og mønstergjenkjenning

Kanter, kanter, mange mangekanter

Introduksjon. Morfologiske operasjoner på binære bilder. Litt mengdeteori. Eksempel: Lenke sammen objekter INF

UNIVERSITETET I OSLO

Forskningsmetoder i informatikk

Geometra. Brukermanual. Telefon:

UNIVERSITETET I OSLO

Rapport Oblig 08 - Flash galleri og banner.

Oversikt, kursdag 3. Matematisk morfologi III. Hit-or-miss transformen og skjeletter. Hit-or-miss transformen og skjeletter

Heuristiske søkemetoder III

UNIVERSITETET I OSLO

Excited. Hvordan komme i gang med tekstbasert programmering? Centre for Excellent IT Education. Guttorm Sindre

Romlig datamanipulering

Bildebehandling med Python og EzGraphics

Hvordan grafisk løsning av visittkort og brosjyrer vil framhevet Tøtta UB?

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

Matematisk Morfologi Lars Aurdal

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

SymWriter: R6 Innstillinger, preferanser og verktøylinjer

Forord av Anne Davies

Opprette et HDR bilde

Farger. Introduksjon. Skrevet av: Sigmund Hansen

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 13. AUGUST 2008 KL

SEGMENTERING IN 106, V-2001 BILDE-SEGMENTERING DEL I 26/ Fritz Albregtsen SEGMENTERING SEGMENTERING

Photoshop CC Guy M. Huste, IGM AS

Geometri Mona Røsseland Nasjonalt senter for matematikk i Opplæringen Leder i LAMIS Lærebokforfatter, MULTI Geometri i skolen Geometri etter 4.

Veiledning om fargekvalitet

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

Lage nettside med squrespace

Fingeravtrykk til autentisering. hvor gode er dagens løsninger?

UNIVERSITETET I OSLO

Kan Human Centric Light i klasserom påvirke prestasjonen til elever i videregående skole?

4. Prøv om du kan finne en tastatur-snarvei for å komme til dette kontrollpanelet.

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z

Hvorfor speiler objekter seg i vann?

UNIVERSITETET I OSLO

6.2 Signifikanstester

Olaf Christensen Digitale Bilder

2017/01/26 09:04 1/8 Håndtering av vegkanter

in1060: hva & hvorfor prototyping? Tone Bratteteig

PSY 1002 Statistikk og metode. Frode Svartdal April 2016

OVERFLATE FRA A TIL Å

Transkript:

Automatisk korreksjon av røde øyne i digitale bilder ØYVIND BJERKVIK Examensarbete Stockholm, Sverige 2004 TRITA-NA-E04142

Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science 100 44 Stockholm Royal Institute of Technology SE-100 44 Stockholm, Sweden Automatisk korreksjon av røde øyne i digitale bilder ØYVIND BJERKVIK TRITA-NA-E04142 Examensarbete i medieteknik om 20 poäng vid Programmet för medieteknik, Kungliga Tekniska Högskolan år 2004 Handledare var Ivar Farup, Högskolan i Gjøvik Examinator var Nils Enlund

Sammendrag Når det sterke lyset fra blitsen på et fotoapparat treffer retina bakerst i øyet, reflekteres noe av lyset. Lyset som reflekteres farges rødt av blodkarene i retina synes på bildet som ofte intense røde flekker i ansiktet. Dette er en veldig vanelig og ganske sjenerende effekt når det gjelder amatørfotografier. Målet for prosjektet er å lokalisere øyne og fjerne den sjenerende effekten av røde øyne automatisk, uten noen brukerinteraksjon på store mengder bilder uten noen forkunnskaper om bildets kvalitet eller innhold. For å detektere røde øyne letes det først etter ansikter. Ved å se på fargeegenskapene til hud, og metoder beskrevet i forskningslitteratur, kan man til en viss grad segmentere ut hudområder. Innenfor disse antatte hudområdene søkes det etter områder som har høy konsentrasjon av rødt for å lokalisere røde øyne i bildet. Mye av vanskelighetene ligger i å skille ut røde øyne fra resten av bildet. I likhet med hud, har røde øyne varierende fargeegenskaper. Når de røde øynene er lokalisert blir de røde områdene erstattet med akromatiske (fargeløse) piksler for å få øyet til å se så naturlig ut som mulig. Denne prosjektrapporten beskriver testing og evaluering av metoder for deteksjon og korreksjon av røde øyne, og forsøk på kombinering av metoder for å forbedre teknologien. Forsøkene viste at metodene ikke ga tilfredsstillende resultater og at algoritmens svakheter ligger i kantdeteksjon for å detektere potensielle røde øyne. 1

Abstract When the bright light from a camera flash bulb hits the retina in the back of the eye, some of the light reflects and is colored red from the blodwessels. The red light can be seen as a glaring red dot in the face of the subject. This is a very common effect in amateur photography. The aim of this project is to locate and correct this effect, without user interaction on large sets of pictures without any knowledge of the image quality or composition. To locate red eyes one first looks for faces in the image. By looking at the color properties of skin, and methods described in reasearch litterature, one can to a certain degree segment out skin regions. Within these presumed skin regions, we search for areas with a high consentration of red, to locate the red eyes in the picture. Much of the difficullties lies in segmentation of red eyes from the rest of the picture. Like skin, red eyes has vaying color properties. When a red eye in located, the pixels in the located area are replaced with achromatic pixels, to give the pupil an as natural as posible look. This project report describes testing and evaluation of methods for detection and correction of red eyes, and combinations of methods to improve the tecnology. Tests showed that my methods did not produce satisfactory results. Much of the problems lays in edge detection to locate potential red eyes. 2

Forord Denne masteroppgaverapporten i medieteknikk er utført ved Institutt for informatikk og medieteknikk ved Høgskolen i Gjøvik. Mastergradsstudiet i medieteknikk tilbys i samarbeid med Kungliga Tekniska Högskolen i Stockholm, og denne rapporten er derfor også å betrakte som en KTHeksamensrapport i Medieteknik och grafisk produktion. Jeg vil gjerne få takke min veileder ved Høgskolen i Gjøvik, Ivar Farup, og ressursperson Jon Yngve Hardeberg for alle tips og råd under arbeidet, samt bildedatabasen gjort tilgjengelig for testing av Hardeberg. Store deler av arbeidet i dette prosjektet har for min del omandlet læring. Anskaffelse av kunnskap og innsikt har vært en sentral del av å utføre et prosjekt innenfor områder jeg tidligere hadde liten erfaring med. Dette gjaldt både emneområdet bildebehandling, og området forskningsprosjekter. Følelsen av at størsteparten av arbeidet ble nedlagt mot slutten av prosjektperioden kommer ikke av disponering av tiden, men av at forståelsen for emnet kom mot slutten og gjorde at det var her store deler av selve utviklingen fant sted. Gjøvik, 26. oktober 2004 -------------------------------------- Øyvind Halewijn Bjerkvik 3

Innhold 1. Innledning...5 2. Mål og metoder...7 2.1 Forskningsspørsmål...7 2.2 Litteraturstudie...7 2.3 Evaluering og testing...8 2.4 Mål...8 3. Relatert arbeid...9 3.1 Deteksjon av ansikter...9 3.2 Konvertering til gråtonebilder...12 3.3 Deteksjon av røde øyne...14 3.4 Korreksjon av røde øyne...15 3.5 Tilgjengelig teknologi...16 4. Eksperimentelle tester og utvikling...18 4.1 Ansiktsdeteksjon...18 4.2 Fjerning av uønskede detaljer...20 4.3 Konvertering til gråtonbilder...21 4.4 Deteksjon av røde øyne...23 4.5 Prosessering av binært bilde...26 4.6 Fjerning av falske treff...26 4.7 Templatematching...27 4.8 Korreksjon av røde øyne...28 4.9 Prototyp...30 5 Konklusjon og diskusjon...32 5.1 Diskusjon...32 5.2 Konklusjon...33 6 Referanser...35 7 Vedlegg...37 7.1 Konvertering mellom fargerom...37 7.2 Eksempler på korrigerte bilder...39 4

1. Innledning Når det sterke lyset fra blitsen på et fotoapparat treffer retina bakerst i øyet, reflekteres noe av lyset. Lyset som reflekteres farges rødt av blodkarene i retina, synes på bildet som ofte intense røde flekker i ansiktet. Dette er en veldig vanlig og ganske sjenerende effekt når det gjelder amatørfotografier. Effekten kan motvirkes ved å styre lysforholdene før bildet taes. Mange nyere kameraer har en funksjon som sender ut lysblink før bildet taes for å få pupillene til å trekke seg sammen. Denne funksjonen minsker effekten med røde øyne, men fjerner den ikke helt. Det er upraktisk for fotografen og objektet, siden det blir en forsinkelse fra fotografen trykker til bildet taes og objektet vil ofte reagere på lysblinkene med å blunke. Funksjonen krever også en del ekstra strøm og gjør at batteriene tappes fortere. Kravene til kompakthet på dagens kameraer gjør at blitsen er nærmere linsen og med på å gjøre effekten sterkere, siden lyset reflekteres mer direkte tilbake i linsen (figur 1.1). Figur 1.1: Hvordan røde øyne effekten oppstår (Hardeberg 2002) Flere kommersielle bildebehandlingsprogrammer har mulighet for å fjerne denne effekten fra digitale bilder. Graden av brukerinteraksjon og prestasjonsnivået til disse funksjonene varierer. Skal røde øynene fjernes automatisk i digitale bilder må øynene lokaliseres i bildet, noe som er ikke trivielt. Målet for mye av arbeidet på området er å utvikle metoder som kan utføre en feilfri korrigering av røde øyne på hele bildedatabaser uten noen forhåndskunnskaper om bildenes sammensetning eller innhold. Algoritmen beskrevet i oppgaven henter metoder og inspirasjon fra de få tilgjengelige artiklene som er blitt publisert. Publiserte artikler på temaet korreksjon av røde øyne er relativt få utenom patentlitteraturen, og metodene er til tider vagt beskrevet, med liten informasjon om testdata, framgang og resultater. Dette kan ha sammenheng med at arbeidet på området ofte blir finansiert og utført av bedrifter som vil ha teknologien for seg selv. 5

Det har i senere år blitt testet og forsket mye på biometriske systemer. Systemer som søker etter personlige trekk ved mennesker i digitale og analoge data. Ansiktsgjenkjenning er et av de vanskeligere områdene innenfor feltet biometri. Ikke bare er det vanskelig å skille personer fra hverandre, men det kan by på problemer å gjenfinne ansikter i digitale bilder. Noe av de samme problemene støter vi på ved når vi forsøker å automatisk fjerne røde øyne i bilder. Vi må være sikre på at den røde flekken er øyne i et ansikt, og ikke et annet objekt. Bildene som skal behandles for røde øyne kan være vanskeligere å prosessere siden de ikke er tilrettelagt for å finne ansikter eller øyne, men er amatørfotografier av veldig varierende kvalitet og sammensetning. Sikkerhetssystemer som er laget for å gjenfinne ansikter eller øyne kan ofte tilrettelegge bakgrunnen og vinkelen til kameraet for bedre ytelse. Artikler og forskning på området ansiktsgjenkjenning er omfattende og variert. 6

2. Mål og metoder 2.1 Forskningsspørsmål Forskningsspørsmålene formuleres for å ha et mål for prosjektet og arbeidet skal søke å gi svar på spørsmålene. Ved å studere og teste publisert litteratur og kommersiell programvare kan man finne ut noe om prestasjonsnivået og modenheten til teknologien. Hvor godt presterer eksisterende teknologi for automatisk korreksjon av røde øyne? Bildeprosessering er et mye studert og brukt fagfelt i mange sammenhenger. Hvordan kan eksisterende teknologi innen områdene bildebehandling, fargeteori, mønstergjenkjenning og biometri utnyttes for å designe en bedre algoritme for korreksjon av røde øyne? Det er publisert forskningsartikler som beskriver metoder for deteksjon av hud, deteksjon av ansikter og korreksjon av røde øyne. Hvordan kan kombinering av metoder fra tilgjengelig litteratur forbedre deteksjon og korreksjon av røde øyne? 2.2 Litteraturstudie Søkene etter litteratur har innebefattet temaer rundt ansiktsdeteksjon, øye deteksjon og korrigering av røde øyne. Via referanser fra innhentede artikler har også teori rundt bildeprosessering og fargebehandling blitt innhentet og studert. Innledende periode av prosjektet innebefattet også studier av MATLAB for å kunne implementere og teste metoder og teorier i dette programmet. Utvalgte artikler ble studert og testet, mens andre fungerte som inspirasjon og veivisere. Grunnet noen artiklers noe overfladiske beskrivelse og begrenset tid ble ikke alle metoder implementert. Litteraturstudien hadde også som formål å skape forutsetninger for en teoretisk diskusjon rundt forenklende og forbedrende metoder som ikke ble testet. Teori rundt fargebalansering og biometriske metoder for ansikts- og øyedeteksjon krevde mer tid og ressurser enn det som var til rådighet, og ble begrenset til teoretiske forslag som kan forbedre metodene ved videre arbeid. 7

2.3 Evaluering og testing Evaluering og testing av foreslåtte metoder ble foretatt i MATLAB, som er et program for utføring av komplekse matematiske operasjoner (www.mathworks.com). Foreslåtte metoder fra innhentet litteratur ble forsøkt implementert og testet i MATLAB på bildedatabasen gjort tilgjengelig av Hardeberg. Evaluering og testing av egne teorier ble utført på et utvalg av bilder, og på hele databasen hvis resultatene så lovende ut. Teoriene ble inspirert av metoder fra innhentet litteratur, basert på metodenes prestasjoner beskrevet i testresultatene og konklusjonene. Kombinasjoner av metoder fra ulike deler av prosessen fra innhentet litteratur ble evaluert og testet i et forsøk på å finne en bedre fremgangsmåte. 2.4 Mål Målene for oppgaven var å få en forståelse av metodene rundt korreksjon av røde øyne, og gjennom testing og vurdering finne styrker og svakheter i metoder. Erfaringene og kunnskapen skulle så brukes i et forsøk på å finne alternative fremgangsmåter for å gjøre deteksjon og korreksjon av røde øyne. Målet for prototypen var å finne en framgangsmåte som kunne tilby en bedre prestasjonsstatistikk enn studerte metoder. 8

3. Relatert arbeid Deteksjon av områder med hud er et av områdene som belyses i flere artikler. Denne deteksjonen foregår i forskjellige fargerom, med forskjellige forutsetninger. Det blir også forslått preprosessering av bilder for å lette deteksjon av hud. Bruk av ansiktsdeteksjon med neural metode nettverk (Hjelmås og Low, 2001) er beskrevet i flere artikler, og det foreslåes å kombinere denne med deteksjon av hud. De fleste artiklene konverterer bildet til gråtoner hvor områder med dominans av rødt fremheves. Dette gjøres på forskjellige måter, som gir bildene forskjellig karakter. Hvordan røde øyne detekteres ut ifra dette gråtonebildet varierer. Hardeberg (2002) gjør korreksjon av røde øyne hvor områder med røde øyne markeres av brukeren. Her belyses korreksjonsproblematikken mer enn deteksjonsproblematikken. Smolka et al. (2003) beskriver en fremgangsmåte hvor områder med hud identifiseres ved å se på fargeegenskaper. Områder med dominans av rødt og med tilnærmet sirkelform detekteres med konvolusjon på et gråtonebilde med fremheving av områder dominert av rødt. Schettini et al. (2003) kombinerer deteksjon av hud med ansiktsdeteksjon basert på neural nettverk metode. Røde øyne detekteres også her ved å fremheve områder hvor rødt dominerer. Held (2001) benytter også neural nettverk metode for ansiktsdeteksjon, men uten å detektere områder med hudfarger. For å detektere røde øyne brukes Hough-transform på gråtonebilder med fremheving av rødt. 3.1 Deteksjon av ansikter Deteksjon av hud i digitale bilder har fått en del oppmerksomhet i senere tid siden det kan brukes i flere sammenhenger. På tross av en del forskning på området, er deteksjon av hud i bilder med kompleks sammensetning en utfordring. Fargeegenskaper er en viktig nøkkel til å finne ansikter i et bilder, siden det ikke sees etter mønstre som påvirkes av endringer i personers vinkel eller avstand til kameraet. Studier viser at hudfarger er samlet i kromatisk fargerom. Hudfargen til et individ opptar en relativt liten del av fargerommet (figur 3.1). Variasjon i hudfarger kan reduseres ved intensitetsnormalisering (figur 3.1). 9

Intensitetsnormalisert RGB fargerom: (Plataniotis og Venetsanopoulos, 2000). r = cr / I g = cg / I (formel 3.1) b = cb / I Her representerer I = R + G + B intensiteten (brightness) og c er en konstant, her lik 100. Hudfarger varierer mer i tone enn i kromatisitet. (Smolka et al. 2003), og variasjoner i lysforhold gjør deteksjon av hud vanskelig. Smolka et al.(2003) benytter intensitetsnormalisert rgb fargerom og HSV fargerom. RGB fargerommet er det mest brukte fargerommet, hvor farger er representert som en blanding av rødt grønt og blått. Siden variasjoner i hudfarger mye skyldes varierende lysforhold, konverteres RGB verdiene til deres korresponderende kromatiske verdier (formel 3.1), for å redusere lysforholdenes påvirkning. Distribusjonen av piksler som representerer hudfarger kan modelleres som en todimensjonal gaussisk fordeling med r og g (Sirohey, et. al, 2002). (a) (b) Figur 3.1: (a) r og g verdiene til områder med hud fra to ulike bilder av en og samme person tatt med blits. Forskjellige farger i figuren er verdier fra områder fra forskjellige bilder. (b) R og G verdiene fra samme områdene. Studier av hudfargers forandring under varierende lysforhold (Störring, et al., 2003), viser at endringer i CCT (Correlated Color Temprature) har mye større innvirkning på r enn på g. Bilder tatt av et rødt og et grønt objekt under varierende lysforhold vil derfor gi større variasjoner i r enn i g. Som vi ser av figur 3.1 vil endringer i lysforhold gi endringer i fargeegenskaper til hud, og endringene er større i r enn i g. Variasjoner kan også sees i HSV og CIELAB fargerom. 10

For å gjøre segmenteringen av hudfarger mer presis kombinerer Smolka, et al. (2003) terskling i rgb fargerommet med terskling i HSV fargerommet. Fargerommet egner seg godt for å segmentere ut hud, og de setter de optimale tersklingsverdiene til: r [38,55] g [25,38] H [ 0,50] U[340,360] (formel 3.2) S > 0.2 V > 0.35 Disse verdiene valgte de ut og testet etter litteraturstudier av publisert litteratur hvor terskingsverdier var blitt funnet. H verdiene skal er med på å segmentere ut rødlige farger, mens S verdiene skal ekskludere rene, og mørke rødfarger. I algoritmen til Schettini et al. (2003) gjøres segmentering av hudfarger enklere ved at fargene i bildet korrigeres uten kunnskaper om bildet. Dette gjøres ved å identifisere dominerende farger (fargestikk) og balansere dem (Gasparini og Schettini, 2004). Det korrigerte bildet konverteres fra RGB til CIELAB fargerom (formel 7.1 og 7.2), hvor følgende variable analyseres; a * hue = tan 1 ( ) b * 2 2 1/ 2 ( a * + b * ) C * K = = L * L * (formel 3.3) C * hvor, forholdet mellom kromatisk radius og lyshet (lightness), er L * relatert til metningen (saturation). Ut ifra disse verdiene beregnes sannsynligheten for at området er hud og det lages en skin probability map, hvor områder gis en sannsynlighet for at det er et område med hud. Videre brukes det en ansiktsgjenkjennings algoritme basert på neural nettverk metode, for å lage en face probability map. Disse kombineres for å finne områder med kombinert høye sannsynligheter for ansikter. 11

Held (2001) bruker også ansiktsdeteksjon med en neural nettverk metode, men uten å se på farger. Metoden oppdaget kun 76 % av ansiktene, til tross for at Shettini et al. (2003) viste til langt bedre statistikk med denne typen ansiktsdeteksjon, noe grunnet at de også detekterer ansikter ved å lete etter hudfarger. Vergados et al. (2002), forsøker å segmentere i RGB fargerom uten intensitetsnormalisering. Statistikken de la fram i artikkelen virket svært lovende. Innledende tester med problembilder ga ikke tilfredsstillende resultater, og så derfor ikke ut til å kunne forbedre andre metoder. Hjelmås og Low (2001) viser til forskjellige metoder for ansiktsdeteksjon. Metodene gir fra 70 til 95 % treff for sine databaser, og er et alternativ for å fjerne falske treff, eller forbedre deteksjonsraten for faktiske røde øyne. 3.2 Konvertering til gråtonebilder Etter å ha detektert hud eller ansikter er neste skritt i prosessen for de fleste prosessene beskrevet i litteraturen, å lete etter områder med fargeegenskaper tilsvarende røde øyne. En mulighet er å konvertere fargebildet til et gråtonebilde, med framheving av røde områder. Formålet er å gjøre områder hvor rødt dominerer over grønt og blått lysere enn resten av bildet, for å kunne skille ut disse områdene. En metode er å beregne verdier som best beskriver røde øyne, og beregne fargeavstanden til piksler i interesseområdet. For å finne aktuelle piksler innenfor området hvor øyet ligger, lager Hardeberg (2002) en maske ved å beregne fargeforskjellen mellom det originale pikselet ( r ( i, j) ), og den forhåndsdefinerte verdien for et typisk rødt øye( rtypical Re deye, satt til R=150, G,B=50) for hvert piksel i interesseområdet; x i, j) = d( r( i, j), ) (formel 3.4) ( r Typical Re deye Her er d( ) en funksjon som kvantifiserer fargeforskjellen mellom to piksler. Formelen som artikkelen beskrev ga best resultater var kromatisk distanse i CIELAB (formel 7.1 og 7.2) fargerommet: 2, r1 ) * * 2 * * [( a ) ( ) ] 2 2 2 a1 + b2 1 d( r = b (formel 3.5) Verdien blir så normalisert slik at verdien til masken ( m ( i, j) )blir lysere hvor det er mest sannsynlig at det er et rødt øye; max( x) x( i, j) m( i, j) = round 255 max( x) min( x) (formel 3.6) 12

Patti et al. (1998) benyttet YCbCr fargerom som de konverterte til med gammakorrigerte (γ=3) RGB verdier (formel 7.3). Så brukes Cr kanalen som grunnlag for deteksjon av røde øyne. Smolka et. al (2003) konvertete til gråtoner med hensyn til hvor rødt dominerer over grønt og blått. T ( i, j) = R( i, j) max{ G( i, j), B( i, j)} Formelen framhever områder hvor rødt dominerer over grønt og blått, og verdiene normaliseres med hensyn på R: 2 [ R( i, j) max{ G( i, j), B( i, j)}] T ( i, j) = (formel 3.7) R( i, j) hvor (i,j) betegner piksel posisjonen i bildet. Schettini et al. (2003) bruker formlene: 4R ( G + B) min( G, B) max( G, B) redness = R 2 redness = redness ( redness > 0) (formel 3.8) Disse formlene kan tolkes på flere måter, siden de kan virke noe ulogisk. Hvis max(g,b) og min(g,b) representerer høyeste og laveste verdi innenfor området, forutsetter dette at lite av forstyrrende elementer fra bakgrunnen har kommet med. Held (2001) bruker formelen; T ( i, j) = R( i, j) min( G( i, j), B( i, j)) (formel 3.9) Her får områder hvor rødt dominerer over grønt eller blått positive verdier. 13

3.3 Deteksjon av røde øyne Det konverterte gråtonebildet prosesseres så videre for å detektere røde øyne innen områder som tidligere har blitt identifisert som sannsynlige ansikter. Hardeberg (2002) binæriserer masken (formel 3.6) med en terskelverdi på 175. Deretter brukes matematisk morfologi (open og close operatorer, se kapittel 4.2) for å fylle hull og glatte ut kantene. For å få en mykere overgang mellom pupillen og irisen blir kantene gjort uklare ( smoothed eller fyzzyfied ). Områdets sirkelegenskaper evalueres for å sikre at det er et rødt øye som korrigeres. Smolka et al. (2003) bruker et sett masker (figur 3.2) som skal detektere tilnærmet sirkelformede områder ved å utføre konvolusjon på gråtonebildet (formel 3.7). Masken gir høyest respons når den plassers direkte over et sirkelformet område med lik radius som masken. Det brukes masker med størrelser {r=2,3,4 25} Bildene terskles så på bakgrunn av filterresponsen. Det foreslås å gi piksler med gråtoneverdi større enn gjennomsnittet for bildet verdi 1, og resten 0. 2 + 1 2 + 1 + 1 2 2 + 1 + 1 2 + 1 + 1 + 1 2 2 2 Figur 3.2: Eksempel på konvolusjons maske med radius r=4. Schettini et al. (2003) velger ut kandidater for røde øyne på bakgrunn av størrelsen i forhold til området som representerer ansikt, og rundhet. Hvordan kandidatområdene skilles ut fra bakgrunnen beskrives ikke konkret. Held (2001) benytter Hough transform på gradient bildet funnet med en sobel operator. Falske treff elimineres så ved å se på kandidatenes størrelse og plassering i forhold ansiktet som ble funnet med biometrisk ansiktsdeteksjon. 14

3.4 Korreksjon av røde øyne Målet ved korrigering av røde øyne for å få ansiktet til å se mest mulig naturlig ut. De røde pikslene må få en svart farge med en naturlig overgang mellom pupill og iris eller øyelokk. Samtidig vil vi bevare den hvite flekken som oppstår når lyset reflekteres i overflaten til øyet. Når Hardeberg (2002) har identifisert røde områder blir L*, a* og b* verdiene korrigert: max L * L* L max L * min L * a * 0 ( L * min *) (formel 3.10) b * 0 Verdiene blir så vektet i forhold til masken (formel 3.6) etter formelen: r( i, j) = t( i, j) m( i, j) + r( i, j)(1 m( i, j)) (formel 3.11) Hvor t(i,j) betegner verdiene fra formel 3.10. Bildet konverteres så tilbake til RGB fargerom. Smolka et al. (2003) erstatter identifiserte piksler i røde øyne med akromatiske (fargeløse) piksler med intensitet mean{g,b}, siden G og B verdiene ikke blir påvirket av røde øyne. Dette gir en naturlig korreksjon av røde øyne. Schettini et al. (2003) erstatter pikslene som er identifiserte som røde øyne med stort sett monokrome (ensfargede) piksler etter formelen (for R,G og B kanalene): new old ( Masksmooth ) + Masksmooth Rmch R = R 1 (formel 3.12) Koordinatene til det monokrome pikslet er R mch, G mch og B mch, som blir evaluert med hensyn til intensiteten lik mean{g,b}, og fargekorreksjonen er vektet av smoothing mask ( Mask smooth ) for å få en naturlig overgang mellom iris og korrigert rødt øye. Denne forklaringen er åpen for tolkninger med hensyn til hvilke verdier R mch, G mch og B mch representerer. 15

Ved å se på gjennomsnittlige verdier for Cr (i YCbCr fargerom) kan røde øyne skilles ut i det aktuelle området (Patti et al., 1998); Th = +.2(max min ) (formel 3.13) S Cr 0 Cr Cr hvor S Cr er gjennomsnittlig Cr for området, og max Cr min Cr er høyeste minus laveste Cr verdi for området. Områder som ligger over terskelverdien (Th) korrigeres ved å gi dem en gråtone tilsvarende 80 % av original luminans. 3.5 Tilgjengelig teknologi Hewlett Packard (HP) har kommet med et digitalkamera (Photosmart R707) som fjerner røde øyne fra bilder. Etter at et bilde har blitt tatt kan brukeren velge å fjerne røde øyne i bildet. Kameraet leter etter røde øyne og korrigerer det den finner. Forandringene merkes og brukeren får valget om å lagre endringer eller ikke. Enkle tester med kameraet viste at funksjonen fungerte bra, men ikke 100 %. Den er utsatt for noen falske treff og noe av svakheten er her at brukeren ikke får muligheten til å velge hvilke endringer som skal beholdes. Korreksjoner av falske treff gir ofte ingen markante endringer, noe som avhenger av objektets opprinnelige farge. Fjerningen gjøres i kameraet, og krever ingen PC. Programvaren som følger med kameraet har også en funksjon for fjerning av røde øyne, men denne funksjonen krever at brukeren merker områder hvor øyet er, og det er ikke tilrettelagt for prosessering av mange bilder. Funksjonen i dette kameraet kan kun brukes på bilder som er tatt med blits. Sammen med adaptive lighting funksjonen kan forholdene i bildet bedres og forutsees i større grad. Dette sammen med høy oppløsning (5MP) gjør forholdene bedre og prosessen lettere enn for forholdene for bildene i testdatabasen brukt i denne rapporten. Microfrontiers digital darkroom er et produkt for bildebehandling som er tilgjengelig fra adressen: http://www.microfrontier.com/products/digital_darkroom10/resr.html Programmet fjerner røde elementer fra områder utvalgt av brukeren. Dette betyr at brukeren må selv markere den røde flekken før han velger å korrigere den. Velges mer enn den røde flekken vil dette også bli korrigert, noe som krever tid og nøyaktighet av brukeren. Photodex CompuPic er et annet produkt for bildebehandling som tilbyr en funksjon for korrigering av røde øyne, tilgjengelig fra adressen: http://www.photodex.com/products/cpic/photo.html#red-eye Brukeren kan her klikke på et punkt i det røde øyet, hvor han vil ha korrigert. Programmet forsøker da å korrigere hele den røde flekken. For å få korrigert hele den røde flekken må brukeren ofte klikke flere ganger på forskjellige punkter i øyet for å få effekten korrigert. Korreksjonen ser naturlig ut og det korrigeres ikke utenfor den røde flekken. 16

STOIK RedEye AutoFix er et program for automatisk korreksjon av røde øyne, som er tilgjengelig for kjøp. Tester med kun noen få av bildene fra databasen brukt i dette prosjektet, ble det klart at dette programmet ikke på noen måte holder mål når det gjelder automatisk korreksjon. Mange røde øyne (tydelige effekter) ble ikke korrigert, og feiltreff ble korrigert slik at bildekvaliteten ble redusert. Programmet er tilgjengelig fra nettet: http://www.stoik.com/stoik_red_eye/stoik_redeye_autofix.htm. På hjemmesidene til Hewlett Packard kan man bruke programmet redbot. Her kan man laste inn et bilde og få det korrigert automatisk via nettsiden. Det er trolig at teknologien brukt på denne nettsiden er lik, hvis ikke den samme teknologien man finner i det overnevnte digitalkameraet fra HP. Enkle tester viste at heller ikke her fungerer teknologien 100 %, selv om bildene sendt inne kommer fra det overnevnte kameraet. Algoritmen som blir brukt ser ikke ut til å slite med falske treff, men korrigerer ikke alle røde øyne i bildet selv om de er visuelt tydelige. (http://redbot.net/ ). 17

4. Eksperimentelle tester og utvikling Tester av metoder beskrevet i innhentet litteratur, og tester på egne teorier og ideer ble utført i MATLAB. Metodene beskrevet i litteraturen ble forsøkt implementert så nøyaktig som mulig, og med færrest mulig egne tolkninger. Endringer ble sene gjort på de metodene hvor det var rom for forbedringer, i forsøk på å finne bedre alternativer. 4.1 Ansiktsdeteksjon Deteksjon av hud i et bilde med kompleks bakgrunn er en vanskelig utfordring. Dette gjelder spesielt i bilder med bakgrunn som består av trehvite farger og andre farger som ligger i samme området i det fargerommet det terskes i, og som vankelig kan skilles fra hudfarger. En del av utfordringen ved å skille hud fra andre objekter, er også de forskjellige lysforholdene i forskjellige bilder, som påvirker hudfargens egenskaper. Jeg benyttet meg av Smolka et al. (2003) sin metode for segmentering i intensitetsnormalisert rgb fargerom og HSV fargerom. (formel 3.2). HSV fargerommet er sett på som velegnet for å segmentere ut hudfarger. Smolka et al. (2003) oppga formlene for konvertering til HSV fargerom (formel 7.5), men i mine forsøk benyttet jeg meg av funksjonen for konvertering i MATLAB. Dette medførte at H verdiene ligger innen for intervallet [0,1] og ikke [0,360]. Jeg dividerte derfor terskelverdiene for H med 360. Jeg antok at konverteringen fra RGB til HSV fargerom gir like verdiforhold for begge metoder. Tester med verdiene (formel 3.2) viste at terskingsverdiene ikke godtok lyse hudfarger. Dette medførte at jeg måtte studere verdiene for å finne ut hvor de lyse hudfargene falt utenfor. Jeg fant at lyse hudfarger har lavere metningsgrad S i HSV fargerommet enn det verdiene godtok, og en lavere verdi for rødt i det normaliserte rgb fargerommet (formel 3.1). Dessverre medfører å justere ned kravene til S og r, at større del av bakgrunnen kommer med, noe som gjorde det vanskelig å skille ut ansikter uten å ta med mye bakgrunn i enkelte bilder (figur 4.1). Justering av grensene medfører større fare for falske treff, noe jeg å løse ved å unngå å utføre tersking på en nedre grense for S i første omgang. Jeg kjørte en ny hud deteksjon på hvert område som inneholdt antatt hud. På bakgrunn av den gjennomsnittlige S verdien for området, satt jeg en terskel for om jeg skulle fjerne piksler med en nedre terskelverdi for S tilsvarende Smolka et al. (2003) sin verdi eller ikke. Det er både vanskelig og risikabelt å sette denne terskelen fordi vi ikke vet hvor stor del av bakgrunnen som har kommet med i hvert område og 18

påvirker gjennomsnittlig S verdi. Terskel ble empirisk satt til gjennomsnittlig S<0.5. For å segmentere ut hudfarger brukte jeg følgende verdier; r [34,55] g [25,38] H [ 0,0.14] U[0.94,1] (formel 4.1) S > 0.04 V > 0.35 Shettini et al. (2003) bruker CIELAB fargerom for å undersøke om pikselverdiene representerer hud. Verdiene forutsetter fjerning av fargestikk før deteksjon av områder med hud. Siden fjerning av fargestikk ikke ble implementert for testing i denne rapporten, ble videre testing av denne metoden ikke utført, men står som et alternativ til videre arbeid. (a) (b) (c) (d) (e) (f) Figur 4.1: (a) og (b) er originalbilder. (b) og (e) er bilder tersklet med verdiene for hud fra formel 3.2. (c) og (f) er tersklet med egne verdier (formel 4.1) 19