Ansiktsigenkänning med en mobil robot



Relevanta dokument
Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Ansiktsigenkänning med MATLAB

Kodning av ansiktstextur med oberoende komponenter

Matematisk modellering fortsättningskurs Visuell variation

LYCKA TILL! kl 8 13

Histogram över kanter i bilder

UPPSALA UNIVERSITET Matematiska institutionen Styf. Exempeltenta med lösningar Programmen EI, IT, K, X Linjär algebra juni 2004

TAMS79: Föreläsning 10 Markovkedjor

Tentamen i Linjär algebra , 8 13.

Facit/lösningsförslag

Övervakningssystem. -skillnader i bilder. Uppsala Universitet Signaler och System ht Lärare: Mathias Johansson

Tentamen i Linjär algebra (TATA31/TEN1) ,

Få dina bilder att tala

TMV142/186 Linjär algebra Z/TD

Fingeravtryck och ansiktsigenkänning

TAIU07 Matematiska beräkningar med Matlab

För ingenjörs- och distansstudenter Linjär Algebra ma014a ATM-Matematik Mikael Forsberg

Ansiktsbiometri i kriminalarbete

Kravspecifikation Fredrik Berntsson Version 1.3

1. (a) Bestäm alla värden på c som gör att matrisen A(c) saknar invers: c 1

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Tentamen i Linjär algebra (TATA31/TEN1) ,

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng. Använd bifogat formulär för dessa 6 frågor.

Tentamen i Linjär algebra (TATA31/TEN1) ,

Bildmosaik. Bilddatabaser, TNM025. Anna Flisberg Linne a Mellblom. linme882. Linko pings Universitet

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Bilaga 1: Forskningsprogram

3 1 = t 2 2 = ( 1) ( 2) 1 2 = A(t) = t 1 10 t

4x az = 0 2ax + y = 0 ax + y + z = 0

Googles sidrankning - linjär algebra värt en förmögenhet

SKRIVNING I VEKTORGEOMETRI

ax + y + 4z = a x + y + (a 1)z = 1. 2x + 2y + az = 2 Ange dessutom samtliga lösningar då det finns oändligt många.

Grundläggande EndNote

TANA17 Matematiska beräkningar med Matlab

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

SF1624 Algebra och geometri Tentamen Torsdag, 17 mars 2016

3.0. Tips och Trix Sida 1 av 18

Lösningar till MVE021 Linjär algebra för I

SF1624 Algebra och geometri Bedömningskriterier till tentamen Fredagen den 22 oktober, 2010

6. a) Visa att följande vektorer är egenvektorer till matrisen A = , och ange motsvarande

1. Bestäm volymen för den parallellepiped som ges av de tre vektorerna x 1 = (2, 3, 5), x 2 = (3, 1, 1) och x 3 = (1, 3, 0).

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng.

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

Anvisningar för passfoto

Fingerprint Matching

Bakgrund och Mål. Material och Metoder

A = (3 p) (b) Bestäm alla lösningar till Ax = [ 5 3 ] T.. (3 p)

Föreläsning 7. Felrättande koder

Kvarvarande utmattningskapacitet hos nitade metallbroar sammanfattning SBUF-projekt 12049

Laboration 4: Digitala bilder

Uppsala Universitet Matematiska Institutionen Bo Styf. Svar till tentan. Del A. Prov i matematik Linj. alg. o geom

y z 3 = 0 z i )

Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

3. Lös det överbestämda systemet nedan på bästa sätt i minsta kvadratmening. x + y = 1 x + 2y = 3 x + 3y = 4 x + 4y = 6

Thermoground 1.0 LTH Manual

SF1624 Algebra och geometri

Tentamen i Robotteknik MPR160 och MPR210, 20 oktober 1997

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Tentamen i Matematik 2: M0030M.

Linjär algebra på några minuter

1 som går genom punkten (1, 3) och är parallell med vektorn.

Regression med Genetiska Algoritmer

Linjär algebra och geometri I

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Provräkning 3, Linjär Algebra, vt 2016.

Lösning till tentamensskrivning på kursen Linjär algebra, SF1604, den 12 mars 2013 kl

Datum: 24 okt Betygsgränser: För. finns på. Skriv endast på en. omslaget) Denna. Uppgift. Uppgift Beräkna. Uppgift Låt z. Var god. vänd.

1 Kravspecifikation Snake App

Eye-tracking your face

Tummen upp! Matte Kartläggning åk 5

HAND TRACKING MED DJUPKAMERA

För studenter på distans och campus Linjär algebra ma014a ATM-Matematik Mikael Forsberg

Migrering av applikationen AMM till molnet

14. Minsta kvadratmetoden

(1, 3, 2, 5), (0, 2, 0, 8), (2, 0, 1, 0) och (2, 2, 1, 8)

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

A = x

Lösningar kommer att läggas ut på kurshemsidan första arbetsdagen efter tentamenstillfället. Resultat meddelas via epost från LADOK.

SKRIVNING I VEKTORGEOMETRI

Renare Mark Markfunktioner Hur kan vi bedöma effekter på markens funktioner av en sanering?

Ett enkelt OCR-system

Exempel :: Spegling i godtycklig linje.

Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen

Linjär Algebra, Föreläsning 2

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

Pilotplats Cykel: Utvärdering av ytjämnhet på södra Götgatans cykelbanor. Rapport Trafikutredningsbyrån AB och Andréns Datamani

LÖSNINGAR LINJÄR ALGEBRA LUNDS TEKNISKA HÖGSKOLA MATEMATIK

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

2 1 1 s s. M(s) = (b) Beräkna inversen för det minsta positiva heltalsvärdet på s som gör matrisen inverterbar.

SF1624 Algebra och geometri Tentamen Onsdag, 13 januari 2016

Planera smörjningar bakåt i tiden Det är numera inte möjligt att ange ett datum bakåt i tiden då man anger första smörjdatum.

SKRIVNING I VEKTORGEOMETRI

Lösning av tentamensskrivning på kursen Linjär algebra, SF1604, för CDATE, CTFYS och vissa CL, tisdagen den 20 maj 2014 kl

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

De interaktiva kuddarna Textil som kommunikationsredskap

Sirius II Installation och Bruksanvisning

VIDAREUTVECKLING AV 3D VRML-MODELL

Transkript:

Examensarbete 10 poäng C-nivå Ansiktsigenkänning med en mobil robot Reg.kod: Oru-Te-EXD083-D108/05 Marina Svensson och Mariann Wirén Dataingenjörsprogrammet 120 p Örebro vårterminen 2005 Examinator: Jack Pencz HUMAN RECOGNITION BY AN INDOOR ROBOT Örebro universitet Örebro University Institutionen för teknik Department of technology 701 82 Örebro SE-701 82 Örebro, Sweden

Sammanfattning Den här rapporten beskriver ett examensarbete genomfört vid AASS (Applied Autonomous Sensor System, på svenska Tillämpade autonoma sensorsystem ) vid Örebro universitet, Sverige. Ett pågående forskningsprojekt, Robotic security guard, vid AASS handlar om att få en mobil robot att hitta, spåra och identifiera personer i en lokal. Vårt uppdrag var att utvärdera och utveckla identifieringsstadiet i detta forskningsprojekt. Arbetet resulterade i en utvärdering av systemet och en ny del i programmet som skapar nya databaser. Abstract This report describes a graduation project performed at AASS (Applied Autonomous Sensor System) at Örebro University, Sweden. An ongoing research, Robotic security guard, at AASS is about to enable an indoor mobile robot to detect, track and identify persons in a building. Our commission was to evaluate and improve the identification stage in this research project. The result of this work was an evaluation of the system and a part of the program, which creates new databases. 1(14)

Förord Vi vill tacka all berörd personal vid Institutionen för teknik, Örebro universitet, för all hjälp som vi har fått och ett speciellt stort tack till Grzegorz Cielniak för all hjälp och det stora stöd han gett oss vid genomförandet av vårt examensarbete. Örebro, 2005-06-17 Marina Svensson Mariann Wirén 2(15)

Innehåll Inledning... 4 Metoder... 6 Eigenface för igenkänning... 6 Initiering... 6 Projektering av ett okänt ansikte på facespace... 7 Verktyg... 8 Genomförande... 9 Utvärdering av systemet...9 Skapa en ny databas... 9 Utvärdering av learndatabase... 9 Utvärdering och analys... 9 Diskussion... 9 Referenser... 9 Bilagor 3(14)

Inledning I vårt samhälle idag finns det många tillfällen då en säker identifikation av personer är viktig, t ex passkontroller, olika passersystem på företag och vid hantering av bankkonton. Identifikationssystem kan ofta vara effektiva även om personen ifråga inte är medveten om att han/hon blir identifierad eller ens deltar aktivt på något sätt som att lämna ett fingeravtryck eller slå in en säkerhetskod. Vid Örebro universitet pågår ett forskningsprojekt som heter Robotic security guard och som syftar till att få en robot att arbeta som en säkerhetsvakt i en lokal. Se figur 1. Roboten i Robotic security guard ska patrullera lokalen och spåra och identifiera de människor som befinner sig där. Om en okänd person påträffas, ska roboten larma. Eftersom identifieringen sker i realtid så behöver den processen gå relativt fort. Metoden för identifiering bör vara enkel och snabb. Metoden i Robotic security guard beskrivs i figur 2. Roboten försöker detektera en person med hjälp av en värmekamera. Värmemönstret från en människa är mycket specifikt och är lätt att identifiera som en människas och inte ett värmeelements eller en hunds. Om en person är detekterad av värmekameran så rör sig roboten mot personen och försöker spåra ansiktet. När roboten är tillräckligt nära, zoomar pantiltkameran in ansiktet. Medan man zoomar skickar man in bilder till identifieringssystemet för att uppdatera och bestämma personens identitet. Ansiktsigenkänningsdelen som redan existerade i systemet var en prototyp och behövde kompletteras och förbättras. Den tidigare koden som skapade databaser att testa på, var utvecklad i MatLab och gick inte att återanvända. Examensarbetet vid AASS syftade till att utveckla och förbättra den redan existerande ansiktsigenkänningsdelen när den mobila roboten ska identifiera personer. Koden behövde standardiseras. Det fanns ett behov av en enhetlig kod, skriven i C++, och all kod i samma projekt så att systemet kunde lära sig i realtid. Nya ansikten ska kunna sparas och databasen uppdateras under körning. Figur 1. PeopleBoy 4(14)

Metod Ingen person Inget ansikte Sökning Spåra & följa ingen person person detekterad värme bilder Spåra ansikte nära personen svartvita bilder Identifiera ansikte Figur 2. Metoden i projekt Robotic security guard 5(14)

Metoder Det finns flera metoder för att känna igen ett ansikte med hjälp av en maskin (beräkningar med dator). Metoderna brukar delas in i tre olika grupper, enligt följande: Bildmönster Man utgår från hela ansiktsregionen. Geometriska egenskaper Man utgår från lokala delar i ansiktet som ex öga, näsa eller mun. Hybrid-metod Man använder sig av båda grupperna ovan i en kombination. Eigenface för igenkänning Metoden som används för ansiktsigenkänning i detta projekt heter Eigenface och den tillhör bildmönstergruppen. Eigenface -metoden utvecklades av Matthew Turk och Alex Pentland, 1991 [3] och deras mål med Eigenface var att få en metod som var snabb, enkel och fungerade bra i miljöer som t ex ett kontor. Ansiktet som ska kännas igen testas mot en databas med eigenfaces. Eigenfaces baseras på den matematiska metoden att beräkna egenvektorer och egenvärden från en matris. Varje ansiktsbild sparas i en matris som pixelvärden. Ansiktsbilderna som ska kännas igen projekteras på ett facespace, som är definierat av eigenfaces. När ansiktsbilden klassificeras, mäts avståndet till facespace och till ansiktsklasserna. Om ansiktsbilden är nära facespace så är det ett ansikte, och om bilden dessutom är nära en ansiktsklass så är det ett känt ansikte. Initiering De eigenfaces som databasen byggs upp av, beräknas ur en mängd träningsdata, ansiktsbilder Γ 1, Γ 2,..., Γ M. Ansiktsbilderna representeras av värden på intensiteten i varje pixel i en N*N matris. Medelansiktet Ψ av träningsdata beräknas från M 1 Ψ= Γ M n= 1 Medelansiktet är medelpixelvärdena på alla bilderna i databasen. Vektorn n Φi = Γi - Ψ representerar differensen mellan varje ansikte och medelansiktet. Eigenfaces beräknas från egenvektorerna och egenvärdena från kovariansmatrisen C = 1 M M n= 1 Φ n Φ T n. Varje bild i databasen kan beskrivas med varje eigenface -bidrag, dvs man kan med en linjär kombination av alla eigenfaces beskriva varje bild i databasen. Ett eigenface blir ett slags spökbild. De beskriver den största variationen mellan alla bildernas egenskaper. De eigenfaces med de högsta egenvärdena utgör facespace. Man väljer dessa eigenfaces för att få snabbare beräkningar och använder mindre minnesutrymme. Vikterna till varje 6(14)

eigenface beräknas för varje bild, genom att projektera bilderna på facespace. Dessa vikter skapar ansiktsklasserna. Varje klass motsvarar en person. Projektering av ett okänt ansikte på facespace. Ett nytt okänt ansikte testas mot databasen genom att det först projekteras på facespace. Bilden kontrolleras om den är ett ansikte eller inte genom att mäta distansen till facespace. Om distansen är mindre än gränsvärdet så är bilden ett ansikte. I annat fall är bilden inte ett ansikte. Om bilden är ett ansikte, kontrollerar programmet om det är ett känt ansikte genom att mäta distanserna till alla ansiktsklasserna. Ansiktet klassificeras till den ansiktsklassen till vilken distansen är minst. Ett gränsvärde bestäms för hur stor distansen får vara. Ett exempel på ett facespace uppbyggt av endast två eigenfaces visas i figur 3. I denna är u 1 och u 2 de två eigenfaces, Ω 1 -Ω 3 är tre ansiktsklasser och 1-4 är fyra nya ansikten att identifiera. Det nya ansiktet projekteras på facespace och projektionen markeras med ett x. Ansikte nr 1 ligger på facespace och nära en ansiktsklass och är därför ett känt ansikte. Ansikte nr 2 ligger nära facespace och är därför ett ansikte, men ligger inte nära en ansiktsklass och är därför ett okänt ansikte. Ansikte nr 3 och 4 ligger båda långt ifrån facespace och är därför inga ansikten. Figur 3. Exempel på ett tvådimensionellt facespace 7(14)

Verktyg Arbetet har utförts i Linuxmiljö, RedHat, och programspråket har varit C++, med kdevelop som verktyg. För bildbehandling har biblioteket Qt med klasserna QImage och qrect, använts. För beräkningar i linjär algebra har gränssnittet TNT (Template Numerical Toolkit) använts. 8(14)

Genomförande Utvärdering av systemet För att få kännedom om hur bra systemet var från början, gjorde vi en utvärdering av hela systemet. Systemet testades på databasen TestFaceBase.dat 1 med tre olika uppsättningar av bilder, faces061204, thermal-groundtruth-280105 och frontfaces20050423. Bilderna i thermal-groundtruth-280105 bygger upp databasen. Det finns 20 bilder på varje person, förutom en (Abdelbaki 2 ) där det inte fanns några bilder alls. Det är mestadels bilder rakt framifrån, sidovinklingen är liten och det är små variationer i belysning och ansiktsuttryck som leenden och ögonrörelser. Test med dessa bilder och ett gränsvärde på 1000, ger ett resultat som varierar mellan 90%-100% korrekt igenkända ansikten. (Alla bilder ger närmsta person som resultat. Det blir inga okända ansikten.) Se bilaga 1. Resultatet blir motsvarande med ett gränsvärde på 21. Uppsättningen faces061204 innehåller bilder som tagits när roboten står still och personen har ansiktet vänt mot robotens kamera. Personen rör huvudet något upp och ner, från sida till sida, ler och blundar. De flesta bilderna är rakt framifrån och det är små skillnader i belysning och avstånd mellan person och kamera. Det är ett fåtal bilder som inte visar något ansikte. Antalet bilder per person varierar mellan 26-57. Systemet testas med dessa bilder och gränsvärde, 19-35, detektionssteg 5-20 och detektionspartiklar 500-10000. De två sista parametrarna hade ingen specifik inverkan på resultatet. Gränsvärdet 21 ger minst antal träffar på fel person. Se bilaga 2. Antal korrekta träffar varierar mellan 0%-100%, med ett medel på 39%. Uppsättningen frontfaces20050423 innehåller samma bilder som faces061204 förutom några dåliga bilder som inte visar något ansikte alls eller ett ansikte i för mycket profil. Dessa bilder togs bort för att om möjligt få ett bättre resultat. Samma test gjordes sedan som ovan och med samma resultat. Testet med faces061204 utökas genom att bildernas vidd och höjd minskas med 5%. Det blir ingen skillnad mot tidigare. Distanserna på bilder utan ansikten, men där detektorn detekterat ett ansikte kontrolleras för att se om distanserna är stora för varje ansikte i databasen. Någon sådan relation kan inte hittas. Resultaten varierar något när samma test görs två eller flera gånger, även om alla parametrar och andra förutsättningar är lika. Dessa variationer beror på detektorn. 1 Databasen TestFaceBase.dat består av sifferdata som beskriver medelansiktet, eigenfaces och vikterna till alla eigenfaces. 2 Abdelbaki är en av testpersonerna i databasen 9(14)

Skapa en ny databas Vi behöver skriva nya funktioner för att systemet ska kunna skapa nya databaser. Programmet ska kunna läsa in bilder som ligger i en mapp. Bilderna läggs i en matris och deras eigenfaces beräknas och sparas till en fil, databasen. Mappen med träningsbilderna och filen som databasen ska sparas i skickas med som parametrar till funktionen learndatabase. Träningsbilderna laddas in i en QImage -vektor. Bilderna skalas om för att de ska ta upp ett mindre minnesutrymme. Bilderna görs om till gråskala för att beräkningarna ska gå snabbare eftersom identifieringen sker i realtid. Ett medelansikte, se figur 4, beräknas utifrån alla träningsbilder. Detta medelansikte subtraheras från alla respektive träningsbilder och dessa differenser sparas i en matris. Kovariansmatrisen på dessa differenser beräknas och ur den matrisen får man fram egenvärden och egenvektorer. Eigenfaces, se figur 5, beräknas utifrån egenvektorerna och differenserna. Vikterna för varje eigenface beräknas till alla bilder, dvs projektering på facespace. Vikterna sparas i en matris som sedan sparas i databasen. Även medelansiktet och alla eigenfaces sparas i databasen. Figur 4. Medelansikte 10(14)

Figur 5. Eigenfaces Funktionen för igenkänning av ett nytt ansikte, recognition, fick skrivas om för att passa vår learndatabase. Det gällde främst uträkningen av vikterna. Utvärdering av learndatabase Databaser skapas på 80 bilder, med 8 olika personer och 10 bilder per person, och med olika antal eigenfaces. Databaserna testas på samma bilder som de är uppbyggda av. Med 80 eigenfaces får man 10 träffar på varje person, dvs 100% träff. Det blir samma resultat ända ner till 15 eigenfaces. Se bilaga 3. Det ger alltså sämre resultat att använda färre antal eigenfaces. Databaserna med 80, 50 och 15 antal eigenfaces testas på bilderna faces061204 med gränsvärdet på distanserna satt till mellan 0,50-0,90 och 1000. Lägsta värde på gränsvärdet för att få endast korrekta träffar (ej träff på fel person) ger på 80 eigenfaces 0,7, 30 ger 0,55 och 15 eigenfaces ger gränsvärdet 0,50. Se bilaga 4. Ju större antal eigenfaces, med ovan nämnda gränsvärden, desto fler träffar ger bilderna. 11(14)

Utvärdering och analys Det ursprungliga systemet fungerade bra på så sätt att det kunde identifiera och känna igen ansikten. Det blir dock många felidentifieringar och distanser över gränsvärdet. Medelträffvärdet blir endast 12%. Detta kan bero på olika ljusförhållanden, avstånd till personens ansikte och på hur bra detekteringen är. Ibland skickade detektorn bilder som t ex bara visade halva ansiktet. Antalet eigenfaces (60 av 400 möjliga, 15%) är något lågt och kan bidra till ett sämre resultat. I vår databas kan ett bra antal eigenfaces vara något lägre än 50 (62%). Ett bra värde på antal eigenfaces kan var 30 (38%), med gränsvärde 0,65. Se bilaga 5. Då blir antal träffar tillräckligt stort, samtidigt som felträffarna blir få, med ett väl avvägt gränsvärde. Databaserna skapas numera i C++-kod i samma projekt och det möjliggör för att förbättra systemet så att nya ansikten kan sparas och databasen uppdateras i realtid. Man kan då introducera förbättringar direkt i systemet. Dokumentation av koden underlättar för fortsatta förbättringar. 12(14)

Diskussion En vidareutveckling av systemet skulle kunna vara att det kan hantera färgbilder, t ex hudfärg och hårfärg. Man kan även utöka antal bilder och personer i databasen och prova andra metoder för ansiktsigenkänning. Funktionen learndatabase kan göras mer generell genom att skicka med de olika parametrarna som kan varieras i stället för att som nu ändra dem i början av programkoden. Dessutom kan vissa delar göras om till funktionsanrop för att göra koden mer lättläst. 13(14)

Referenser [1] Treptow, Cielniak and Duckett: Active People Recognition using Thermal and Grey Images on a Mobile Security Robot [2] Gross, Shi, Cohn: Quo vadis Face Recognition? [3] Turk, Pentland: Eigenfaces for recognition. Journal of Cognitive Neuroscience, 3(1):71-86, 1991 [4] Zhao, Chellappa, Phillips, Rosenfeld: Face Recognition: A Literature Survey. ACM Computing Surveys, Vol 35, No. 4, December 2003, pp. 399-458 [5] Pentland, Choudhury: Face Recognition for Smart Environments. IEEE Computer Vol 33, No.2, February 2000 pp. 50-55 [6] Turk, Pentland: Face Recognition Using Eigenfaces, 1991 14(14)

Bilagor

Kommentarer till tabellerna Bilaga 1 och 3: Kolumn 1 motsvarar person rad 1 etc. Övriga bilagor: Översta tabellen Första kolumnen anger antal bilder som låg över gränsvärdet. Sista kolumnen anger antal bilder som inte blev detekterade. Mellankolumner: kolumn 1 motsvarar person rad 1 etc. Nedersta tabellen Första och sista kolumnen i tabellen är borttagna. Siffrorna ges i procent.

Bilaga 1 Threshold: 1000 Database: /home/data/people_recognition/thermal-groundtruth-280105/ abdelbaki: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 alex: 0 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 andre: 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 boyko: 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 1 0 greg: 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 gustaf: 0 0 0 0 0 1 19 0 0 0 0 0 0 0 0 0 0 0 johan: 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 linn: 0 0 0 0 0 0 0 0 19 1 0 0 0 0 0 0 0 0 malin: 0 0 0 0 0 0 0 0 0 20 0 0 0 0 1 0 0 0 martin: 0 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 mathias: 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 0 per: 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 0 0 peter: 0 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 0 robert: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 0 thorsten: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 0 0 tom: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 19 0 zbych: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 Mean hit value: 97 abdelbaki: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 alex: 5 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 andre: 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 boyko: 0 0 0 95 0 0 0 0 0 0 0 0 0 0 0 5 0 greg: 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 gustaf: 0 0 0 0 5 95 0 0 0 0 0 0 0 0 0 0 0 johan: 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 linn: 0 0 0 0 0 0 0 95 5 0 0 0 0 0 0 0 0 malin: 0 0 0 0 0 0 0 0 95 0 0 0 0 4 0 0 0 martin: 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 mathias: 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 per: 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 peter: 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 robert: 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 thorsten: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 tom: 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 95 0 zbych: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100

Bilaga 2 Threshold: 21 Database: /home/data/people_recognition/faces061204/ abdelbaki: 41 6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 alex: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 andre: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 boyko: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 greg: 30 0 0 0 0 9 0 0 0 0 0 0 0 0 0 6 0 1 12 gustaf: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 johan: 25 0 0 0 0 0 3 3 0 0 0 11 5 0 0 0 0 0 1 linn: 21 0 0 0 0 0 0 0 2 17 0 0 0 0 0 0 0 0 1 malin: 27 0 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 1 martin: 15 0 0 0 0 0 0 0 0 0 8 0 0 0 0 6 0 2 1 mattias: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 per: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 peter: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 robert: 22 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 thorsten: 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 1 tom: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 zbych: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mean hit value: 13 abdelbaki: 85 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 alex: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 andre: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 boyko: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 greg: 0 0 0 0 56 0 0 0 0 0 0 0 0 0 37 0 6 gustaf: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 johan: 0 0 0 0 0 13 13 0 0 0 50 22 0 0 0 0 0 linn: 0 0 0 0 0 0 0 10 89 0 0 0 0 0 0 0 0 malin: 0 0 0 0 0 0 0 40 60 0 0 0 0 0 0 0 0 martin: 0 0 0 0 0 0 0 0 0 50 0 0 0 0 37 0 12 mattias: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 per: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 peter: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 robert: 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 thorsten: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 tom: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 zbych: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Bilaga 3 Eigenfaces:15 Threshold: 1000 Database: /home/data/people_recognition/faces20050430/ abdelbaki: 10 0 0 0 0 0 0 0 greg: 0 10 0 0 0 0 0 0 johan: 0 0 10 0 0 0 0 0 linn: 0 0 0 10 0 0 0 0 malin: 0 0 0 0 10 0 0 0 martin: 0 0 0 0 0 10 0 0 robert: 0 0 0 0 0 0 10 0 thorsten: 0 0 0 0 0 0 0 10 Mean hit value:100 abdelbaki: 100 0 0 0 0 0 0 0 greg: 0 100 0 0 0 0 0 0 johan: 0 0 100 0 0 0 0 0 linn: 0 0 0 100 0 0 0 0 malin: 0 0 0 0 100 0 0 0 martin: 0 0 0 0 0 100 0 0 robert: 0 0 0 0 0 0 100 0 thorsten: 0 0 0 0 0 0 0 100

Bilaga 4 Eigenfaces:30 Threshold: 0.55 Database: /home/data/people_recognition/faces061204/ abdelbaki: 41 5 0 0 0 0 0 0 0 6 greg: 44 0 0 0 0 0 0 0 0 14 johan: 43 0 0 4 0 0 0 0 0 1 linn: 19 0 0 0 22 0 0 0 0 0 malin: 22 0 0 0 0 8 0 0 0 3 martin: 26 0 0 0 0 0 2 0 0 4 robert: 19 0 0 0 0 0 0 2 0 5 thorsten: 24 0 0 0 0 0 0 0 1 1 Mean hit value: 15 abdelbaki: 100 0 0 0 0 0 0 0 greg: 0 0 0 0 0 0 0 0 johan: 0 0 100 0 0 0 0 0 linn: 0 0 0 100 0 0 0 0 malin: 0 0 0 0 100 0 0 0 martin: 0 0 0 0 0 100 0 0 robert: 0 0 0 0 0 0 100 0 thorsten: 0 0 0 0 0 0 0 100

Bilaga 5 Eigenfaces:30 Threshold: 0.65 Database: /home/data/people_recognition/faces061204/ abdelbaki: 30 17 0 0 0 0 0 0 0 5 greg: 39 0 5 2 0 0 0 0 0 12 johan: 33 0 0 13 0 0 0 0 0 2 linn: 17 0 0 0 24 0 0 0 0 0 malin: 17 0 0 0 0 14 0 0 0 2 martin: 23 0 0 0 0 0 7 0 0 2 robert: 10 0 0 0 0 0 0 11 0 5 thorsten: 23 0 0 0 0 0 0 0 2 1 Mean hit value: 32 abdelbaki: 100 0 0 0 0 0 0 0 greg: 0 71 28 0 0 0 0 0 johan: 0 0 100 0 0 0 0 0 linn: 0 0 0 100 0 0 0 0 malin: 0 0 0 0 100 0 0 0 martin: 0 0 0 0 0 100 0 0 robert: 0 0 0 0 0 0 100 0 thorsten: 0 0 0 0 0 0 0 100