• No results found

3D-ansiktsigenkänning med Kinect En studie i ansiktsigenkänning med Kinect och dess beroende på ansiktets horisontella rotation

N/A
N/A
Protected

Academic year: 2021

Share "3D-ansiktsigenkänning med Kinect En studie i ansiktsigenkänning med Kinect och dess beroende på ansiktets horisontella rotation"

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

3D-ansiktsigenkänning med Kinect

En studie i ansiktsigenkänning med Kinect och dess beroende på ansiktets horisontella rotation

Joakim Candefors candef@kth.se

Mikael Söderqvist mickeso@kth.se

Handledare:

Gabriel Skantze

29 april 2014

Sammanfattning

Denna rapport syftar till att utforska och visa på möjligheten till ansiktsigenkän- ning vilket görs lättillgängligt för allmänheten genom Microsoft Kinect for XBOX 360 och eventuella framtida liknande lösningar med lågupplösta 3D-sensorer. Det finns många komplicerande faktorer inom ansiktsigenkänning och däribland ansik- tets rotation. Beroendet på ansiktets horisontella vinklar i förhållande till Kinec- tenheten undersöks för 5 testsubjekt genom användandet av en 3D-baserad match- ningsalgoritm. Detta sker med en metod baserad på Microsoft Kinect Face Tracking SDK och de ansiktsmodeller i 3D denna levererar. Undersökningens resultat är i linje med ansiktsigenkänningens problematik. Ett bättre resultat fås för sant positi- va matchningar mellan frontala subjekt jämfört med horisontellt roterade ansikten.

Undersökningen visar dock på att ansiktsigenkänning inte är helt underpresterande för de senare och att Kinect och Face Trackings SDK, utan större ingrepp, hanterar ansiktsigenkänning ganska bra.

Abstract

This report aims to explore and show the possibilities of face recognition, which are made available to the public through Microsoft Kinect for XBOX 360 and future similar solutions with low resolution 3D sensors. There are many complicating factors in face recognition such as the rotation of the subjects face. The dependency of the face rotation in relation to the Kinect sensor is studied for 5 test subjects by using a 3D based matching algorithm. This is done with the Microsoft Kinect Face Tracking SDK and the 3D face models this SDK provides. The result of the study is in line with the complications with head rotation in facial recognition. For true positive matches frontal subjects gain better results compared with horizontally rotated subject faces. The study shows that the latter are not completely under- performing the frontal matches however, and that Kinect and Face Tracking SDK, without great interventions, handle face recognition rather well.

(2)

Innehåll

1 Introduktion 2

1.1 Syfte och frågeställning . . . 3

2 Bakgrund 3 2.1 Microsoft Kinect for Xbox 360 . . . 3

2.2 Svagheter och problem . . . 4

2.3 Algoritmer . . . 5

2.4 Dagsläget och state of the art . . . 5

3 Metod 7 3.1 Datainsamling . . . 7

3.2 Algoritm . . . 8

3.3 Utförande . . . 10

3.4 Integritetsaspekter . . . 10

4 Resultat 11 5 Diskussion 14 5.1 Resultatanalys . . . 14

5.2 Metoddiskussion . . . 15

5.3 Källkritik . . . 17

6 Slutsatser 18

7 Referenser 19

(3)

1 Introduktion

Ansiktsigenkänning är konceptet att identifiera mänskliga ansikten mot ett tidigare känt ansikte. Här följer en kortare inblick i detta och spelverktyget Kinect. Avslutningsvis presenteras rapportens syfte samt frågeställning.

Vi människor använder primärt ansikten för att känna igen andra personer utan någon märkbar processering och det ligger också i vårt intresse att få datorer att göra detsamma.

Datorkraften som finns tillgänglig för allmänheten idag, tillsammans med det växande användandet av digitala bildströmmar och multimediahantering, gör att intresset för au- tomatisk identifiering av ansikten är väldigt högt. Det finns många möjliga tillämpningar vilka återfinns framförallt inom biometrisk autentisering, övervakning, människa-dator- interaktion och hantering av multimedia [1].

Ansiktsigenkänning kan kategoriseras i två delar, autentisering/verifiering och identifie- ring/igenkänning. Verifiering innebär ett-till-ett matchningar som jämför att subjektets ansikte är det målansikte som finns registrerat och tillhör den subjektet utger sig för att vara. Identifiering innebär matchning i ett många-till-ett förhållande där subjektet ska matchas mot flertalet ansikten i en databas. I dessa sammanhang, som igenkänning av ansikten i en övervakningsfilm, handlar det ofta om att hitta målansikten som över ett gränsvärde liknar subjektets, snarare än som i verifieringsfallet där en sånär exakt matchning måste säkerställas [1].

I dagens samhälle sker autentiseringar dagligen där samma användare kan tvingas iden- tifiera sig med flera olika metoder som lösenord, pinkoder och passerkort. Biometrisk autentisering är ett område inom vilket det länge efterfrågats och forskats efter fram- gångsrika lösningar. Enkelheten, dels i autentiseringsprocessen och dels för användaren att slippa komma ihåg och utan risk att bli bestulen på, flera och helst komplexa lö- senord, är något som en effektiv och tillförlitlig ansiktsigenkänning skulle bidra med [2].

Andra fördelar med ansiktsigenkänning jämte andra biometriska autentiserings- och iden- tifieringsmetoder som fingeravtryck- och iris-avläsning är att det sker naturligt och inte påträngande för subjektet och kan göras på avstånd utan dess vetskap [1].

Fram tills i början av 2000-talet hade ansiktsigenkänning mestadels handlat om två dimensioner. Då begränsningarna i 2D-tekniken i ansiktsigenkänning upplystes i Face Recognition Vendor Test 2002, började istället framgångsrika lösningar i 3D ansiktsigen- känning dyka upp. 3D-tekniken innebar att sensorn kunde leverera ett ansikte som en samling 6D punkter [x; y; z; R, G, B]. Dessa punkter utgörs av koordinaterna x,y,z i det tredimensionella rummet medan R,G,B utgör färgen som återfinns i den punkten [3]. 4 november 2010 lanserades spelkontrollen Microsoft Kinect for Xbox 360 (“Kinect”), en enhet med kombinerade bild och djupsensorer, vilket skulle revolutionera sättet männi- skor spelar spel på. Med Kinect kan användaren med hjälp av sin kropp interagera med spel på ett naturligt sätt. Fokus ligger i att läsa kroppspositioneringar och rörelser och lära datorn tolka detta för att sedan kunna utföra eftersträvad operation (t.ex. slå på en imaginär boll). Genom programvara som utnyttjar Kinect och Face Tracking SDK öpp-

(4)

nas möjligheter till att dra nytta av Kinectenhetens sensorer för tex. ansiktsigenkänning.

Kinectenheten såldes under de tre första månaderna i över 10 miljoner exemplar [4].

1.1 Syfte och frågeställning

Datasäkerhet är ett ständigt aktuellt ämne vilket är ett av de områden som ansiktsigen- känning kan tillämpas inom och som det har forskats på en längre tid. Denna rapport syftar till att utforska och visa på möjligheten till ansiktsigenkänning vilket görs lät- tillgängligt för allmänheten genom Kinect och eventuella framtida liknande lösningar med lågupplösta 3D-sensorer. En aspekt är att visa på om och till vilken grad man kan använda denna teknik för tillämpningar med ansiktsigenkänning och hur säker och ef- fektiv en sådan lösning skulle vara. Beroenden av ansiktets rotation kommer utforskas, vilket syftar på ansiktets horisontella vinklar i förhållande till enheten, utgående från frågeställningen:

Hur presterar ansiktsigenkänning med Kinect med avseende på horisontella vinklar som kraftigt avviker från att ansiktet är riktat rakt mot enheten?

Det finns många komplicerande faktorer, mer beskrivna i avsnitt 2.2, för att skapa en nog- grann ansiktsigenkänning. För att rymma undersökningen i tidsplanen för denna rapport har det valts att låta omständigheterna för ansiktsmatchningarna vara optimala, kon- trollerade och att kunna liknas vid en inloggning vid en persondator. Med optimal och kontrollerad menas relativt bra och konstant ljussättning av omaskerade ansikten med neutrala ansiktsuttryck. Med anledning av tidsramen har även en algoritm och ansikts- modell av enklare slag använts. Dessa förlitar sig i stort på den data som Kinect och Face Tracking SDK levererar.

2 Bakgrund

Här följer en beskrivning av Microsoft Kinect och algoritmer använda i senare forskning kring ansiktsigenkänning med 3D-teknik. Ansiktsigenkänning har tagit god tid på sig att etableras, trots många tillämpningar och studier, vilket beror på komplexiteten och den problematik som förekommer inom ämnet. Tillsammans med tidigare utförda studier och färdiga produkter tas också detta upp nedan.

2.1 Microsoft Kinect for Xbox 360

En stor del av framgången för Kinect tillskrivs kroppsspårningen som identifierar ett ledskelett utifrån en avläst kropp med hjälp av maskininlärning. Huvudet och då även ansiktet lokaliseras utefter det spårade skelettet [4]. Kinectenheten består utav avancerad sensorteknik i form av en infraröd projektor, infraröd sensor/kamera, RGB sensor/kamera samt även en array med fyra mikrofoner. Den infraröda projektorn och sensorn utgör till-

(5)

sammans 3D-djupsensorn, där projektorn projicerar ett antal IR-punkter som IR-sensorn sedan fångar, varefter en 3D bild skapas med hjälp av triangulering [4]. Det finns även en annan modell av Kinect, Kinect for Windows, som är släppt för att tillgodose använd- ningen utav enheten ihop med en dator. Denna modell har bland annat en inställnings- möjlighet (“near mode”) som gör att den är bättre lämpad att fungera med ett mindre närmstaavstånd. Kinect for Xbox 360 har ett minsta avstånd vid 80 centimeter medan Kinect for Windows har ett minsta avstånd på 40 centimeter, vilket ger mer precisa värden och speciellt så i djupled. Detta då osäkerheten i precsionen öker med avståndet till Kinectenheten [4,5]. Det djup (Z värde) som Kinect tar fram är således ett beräknat värde vars precision inte är helt säkerställd. Detta kan visas med

Zuppskattad = α ∗ Zriktig+ β (1) där Z-värdet är beroende av två beräknade parametrar (α, β) utifrån kalibreringen av Kinect-enheten. Osäkerheten och brus i Z-värdet gör att bilden som skapas inte är jämn och släta ytor ej uppnås utan vidare processering [4]. Microsoft släppte 1 februari 2012 Kinect SDK för Windows och öppnade därmed upp möjligheten för utvecklare och entu- siaster att vidare utforska vad Kinect kan användas till [4]. Detta SDK är en spårnings- motor som analyserar färg- och djupdata från Kinectsensorn och avgör huvudets position och ansiktsutryck vilket görs tillgängligt för ett program i realtid [5].

2.2 Svagheter och problem

Precisionen för ett ansiktsigenkänningssystem beror till stort på en mängd faktorer som belysning, ansiktets rotation, ansiktsuttryck, hår, maskering och rörelse [1]. Tvillingarna Bronstein och Kimmel tar även upp annan problematik hos subjektet, som ansiktsbehå- ring, kosmetika, smycken och även anatomiska ändringar som åldrande, viktändring och plastikkirurgi [6]. Baserat på dessa faktorer kan ansiktsigenkänningssystem delas in i två kategorier av användarscenarion; de i samarbete med subjektet och de utan. I den tidi- gare kategorin, med kontrollerade förhållanden, kan automatisk ansiktsigenkänning med fullständig korrekthet överträffa den mänskliga igenkänningsförmågan, då vi enbart kan identifiera ett fåtal tusen ansikten [1]. Den tidigare av dessa kommer tillämpas i denna rapports undersökning och kan liknas vid en tillämpning som en inloggning till en dator.

Annan problematik inom ansiktsigenkänning är brus, upplösning och precisionen i djup för sensorn. Li et al. [7] tar upp dessa och att de högupplösta, bättre presterande senso- rerna inte är applicerbara för många tänkta tillämpningarna för ansiktsigenkänning på grund av kostnader och deras storlek. De visar dessutom på att prisskillnaderna mellan låg och högupplösta sensorer är väldigt stora; från mindre än 200 till mer än 50 000 dollar.

Många av dessa komplicerande faktorer var det som man efter NIST utvärdering 2002 insåg att 2D tekniken inte klarade av att hantera, däribland posering som rotering av

(6)

ansiktet. I många studier sedan dess har istället 3D processeringsteknik använts för att normalisera avvikande poseringar, uttryck och belysning genom avancerade omvandlings- modeller och rotationer av 3D modellen av ansiktet [3].

2.3 Algoritmer

Colbry och Stockman [3] beskriver fyra delar som forskare ofta inriktar sig på i sina stu- dier om ansiktsigenkänning med 3D-teknik: datainsamling från sensorn, normalisering av ansiktet och indatakorrektion, framtagning av ansiktssärdrag för 3D ansiktsigenkänning och att utforska metoder för att sammanfoga 2D och 3D algoritmer för ansiktsigenkän- ning. Dessa liknar de steg som Li och Jain [1] beskriver generellt utgör arbetsflödet för en ansiktsigenkänningsalgoritm:

• Ansiktslokalisering är det första, vilket går ut på att från insamlad data hitta ansiktets position i bilden samt att hitta ansiktslandmärken (exempelvis ögon, näsa, mun och ansiktets konturer).

• Normalisering av ansiktet ämnar att försöka återställa rotationer och variationer i belysning genom geometrisk och fotometrisk normalisering av ansiktsbilden genom bildbehandling.

• Uthämtning av särdrag i ansiktet, vilka är användbara för urskiljning av an- sikten från andra, görs på den normaliserade bilden.

• Dessa särdrag används för att göra en ansiktsmatchning från subjektets ansikte mot ett eller flera målansikten i en databas.

Det tredje steget är något som Park och Jain [10] lägger extra vikt vid och låter sin algo- ritm fokusera på att hitta och matcha unika ansiktsdrag som födelsemärken, ärr, fräknar och acne bland annat. Andra studier förlitar sig på att bygga upp unika representatio- ner av ansikten genom eigenfaces eller kanoniska former från 3D-data [6][11]. Iterative closest point (ICP)[12] är en iterativ algoritm för att minimera medelkvadratavvikelsen mellan punkter i två set. Denna har i flertalet studier [13],[14] använts för att antingen normalisera poseringar av ansikten i bildprocesseringen men även i den senare fasen för att matcha ansikten. Andra studier [15][11] använder sig av principalkomponentanalys (PCA) för att lösa poseringsproblemet, där det utifrån datan räknas ut egenvektorer med tillhörande egenvärden och låter dessa vektorer utgöra nya koordinataxlar [15].

2.4 Dagsläget och state of the art

I dagsläget finns det lösningar och algoritmer för 3D-ansiktsigenkänning, men de flesta av dessa kräver högre djupupplösning och en bättre precision än vad Kinect-sensorerna

(7)

idag erbjuder. För att komma runt detta kan djupet ungefärligt fastställas genom att ta fram det mest säkerställda djupvärdet, t ex. djupet vid nästippen. Om ansiktet är i annat än rätvinkel mot enheten kan den vanligt förekommande ICP algoritmen användas till att räta upp ansiktet, varvid den normaliserade datan används som om bilden var tagen vinkelrät från enheten. Det finns även försök med att spegla ansiktet då endast halva ansiktet har fångats på bild, t.ex. vid 45 graders vinkel mot enheten, vilket kunnats göra med relativt goda resultat [7]. En annan studie, med fokus på ansiktsigenkänning i real- tid med Kinect, har gjorts med hjälp av maskininlärning för att träna upp modeller i en databas för att sedan matcha och identifiera subjektet[2]. Även 2D-ansiktsigenkänning används idag i flertalet tjänster och applikationer tillgängliga för allmänheten. Inom bildhanteringen har tjänster som Googles Picasa sedan några år tillbaka applicerat an- siktsigenkänning för att föreslå ett namn eller direkt tagga ett namn på ett ansikte [8].

Mobilappen Applock från Visidon, tillgänglig för Android, låter användaren låsa appar på telefonen till att enbart kunna användas efter autentisering via ansiktsigenkänning [9].

(8)

3 Metod

Undersökningen kan delas upp i två steg. Det första är att samla in data och lagra denna och det andra är att utifrån denna data låta en matchningsalgoritm evaluera om en matchning skett eller ej. Dessa metoder är valda utifrån att efterlikna ett enklare autentiseringssystem där en person sitter framför Kinectenheten och matchas mot en databas med förregistrerade referensmodeller.

3.1 Datainsamling

För att skapa ett program som använder sig av data Kinectenheten levererar användes Kinect SDK v1.8.0. Ett medföljande exempelprogram ur detta användes som utgångs- punkt för datainsamlingsprogrammet. Programmet är tämligen simpelt med en frame som visar Kinectens bildström och två knappar för att lagra data till fil och för att åter- ställa Kinects ansiktsspårningsrutin (FaceTracker). Exempelprogrammet från Microsoft i fråga heter Face Tracking 3D-WPF C# [16].

Kinectenheten konfigurerades i datainsamlingsprogrammet för bild- och djup-strömmar att ha upplösningen 640x480 och 30 bilder per sekund. Detta är den högsta möjliga upp- lösningen för djupsensorn, för att på så sätt försöka öka precisionen i den insamlade datan.

Ur bekvämlighet och för att efterlika miljön vid en datorinloggning valdes att använda

“seated mode” för Kinectenheten för att låta subjektet sitta ned under datainsamlingen.

“Near mode” användes inte då den version av Kinect som användes i undersökningen inte stödjer denna funktion.

Kinect Face Tracking SDK tar hand om de tre första stegen i arbetsflödet beskrivet i 2.4 ovan. Steg 1 och 2, lokalisering och normalisering av ansiktet görs av Kinects Fa- ce Tracking SDK vilket dessutom levererar vissa särdrag i ansiktet, steg 3 ovan. Dessa särdrag är baserade på 121 stycken 3-dimensionella intressepunkter (feature points). In- tressepunkterna utgörs av X, Y, Z koordinater utifrån ett centrerat origo och är angivna i meter med nio decimaler [5]. Dessa bildar tillsammans ansiktsmodellen för subjektet och är den data som lagras och används för ansiktsigenkänningen.

Microsoft skriver i dokumentationen av Kinect Face Tracking SDK om insamlingen av shape units (SU), vilka är en stor del av de 121 intressepunkter modellerna i denna un- dersökning består av, att det tar ungefär 2 minuter för ansiktsspårningsrutinen att lära sig SUs i realtid för ett subjekt [5]. För att återigen försöka optimera precisionen i datan användes detta genom att mellan varje insamling återställa ansiktsspårningen via reset- knappen i datainsamlingsprogrammet. Vid återställningen tillåts inte nästa insamling förrän 30 sekunder efter det att subjektets ansikte spårats på nytt.

Vid lagringen av ansiktsmodellerna till fil sparades även djup- och färgbilder av subjek- tet. Detta för att ha en möjlighet att knyta en modell till ett ansikte samt att kunna

(9)

kontrollera att den data som sparats är korrekt med avseende på avstånd och vinkel från Kinectenheten.

3.2 Algoritm

För matchningsalgoritmen har MatLab använts för att bearbeta data efter det att an- siktsmodellerna lagrats till fil.

Figur 1: De 121 intressepunkterna

(10)

Mellan 14 utvalda par av de 121 intressepunkter i ansiktsmodellen beräknas och lagras euklidiska avstånd. De punkter (se figur 1) som används i beräkningen är

• 39, 7 - Näsdjup

• 39, 4 - Näshöjd

• 59, 37 - Näsbredd över näsans mitt

• 94, 93 - Näsbredd över näsvingar

• 65, 32 - Munbredd

• 9, 8 - Munhöjd mitten

• 9, 11 - Mun till haka

• 57, 24 - Avstånd mellan ögon innermått

• 54, 21 - Avstånd mellan ögon yttermått

• 54, 63 - Avstånd vänster öga till ansiktskant

• 21,l 30 - Avstånd höger öga till ansiktskant

• 48, 15 - Skallbredd

• 64, 31 - Käkbredd

• 1, 11 - Huvudhöjd

De euklidiska avstånden, d, mellan dessa punkter beräknas för matchningsmodellen M, dvs. det nyspårade ansiktet samt för den tidigare lagrade ansiktsdatan, referensmodellen R. Följande formel används för att beräkna det euklidiska avståndet över samma punkt par (p1 och p2) för modellerna,

dM =q(p1M.X − p2M.X)2+ (p1M.Y − p2M.Y )2+ (p1M.Z − p2M.Z)2 (2)

dR= q

(p1R.X − p2R.X)2+ (p1R.Y − p2R.Y )2+ (p1R.Z − p2R.Z)2 (3) där (2) och (3) utgör avstånd över ett punktpar för två modeller. Absolutbeloppet av differensen mellan dessa avstånd för subjekt- och referensmodellen för alla punkter sum- meras, vilket då kommer att utgöra ett värde D för likheten mellan modellerna,

D = X

∀ punktpar

| dM − dR| (4)

D, vilket då är den totala differensen i meter mellan modellerna för de utvalda punktpa- ren, multiplicerades därefter med en faktor 100 till centimeter, för att på så sätt under- lätta i analysen och redovisningen av resultat.

Då det hittills enbart beräknats värdet D, vilket kallas matchningens differens, krävs ett gränsvärde mot vilket det kan evalueras en match eller ej. Utifrån differenserna upp-

(11)

delade i sanna och falska matchningar mellan frontala modeller, då subjektet för båda modellerna suttit riktad rakt mot enheten, beräknades andelen sant- och falskt-positiva matchningar. Detta genom att matchningsgränsvärdet representerades som en variabel T vilken antog alla värden mellan 0 och 10 med intervallet 0.1, där det för varje värde på T räknades antalet differenser mindre än T. Att ta fram det slutgiltiga gränsvärdet kan då göras genom att lösa detta optimeringsproblem, att minimera andelen falskt positiva och samtidigt maximera andelen sant positiva. I denna undersökning gjordes detta genom att finna det maximum i differensen mellan andelarna sant och falskt positiva för alla värden på T.

3.3 Utförande

Data insamlades från fem testsubjekt vilket det för varje togs två serier, en serie för matchningsmodeller och den andra för referensmodeller. Varje serie består av två fron- tala, två högerroterade samt två vänsterroterade ansiktsmodeller i vinklar om ungefär 35 grader. Med denna data matchas varje matchmodell mot 30 referensmodeller och genom detta fås slutligen 30*30 differenser. Dessa resultat kan sedan delas upp i olika matchningstyper:

• alla matchningsmodeller mot alla referensmodeller

• frontala matchningsmodeller mot frontala referensmodeller

• frontala matchningsmodeller mot roterade och frontala referensmodeller

• roterade matchningsmodeller mot frontala referensmodeller

• roterade matchningsmodeller mot roterade referensmodeller

• roterade matchningsmodeller mot roterade och frontala referensmodeller

De totala differenserna (D) insamlades efter att algoritmen körts ovan för att ge en översikt, evalueras till sant eller falskt positiva matchningar och sammanställas statistiskt för de olika matchningstyperna.

3.4 Integritetsaspekter

Då testdata har sparats för att kunna återanvändas har tillfrågade testsubjekt givits möjlighet att avstå medverkan, detta kommer således vara helt upp till subjektet att godkänna att data sparas och används inom ramen för denna rapport. Som del i detta tillåts subjekten vara anonyma, i det att information (så som namn) ej kopplas till data.

(12)

4 Resultat

Nedan presenteras undersökningens resultat. Matchningsgränsvärde: 3,500005

Figur 2: Graf visandes beräkningen av matchningsgränsvärdet för frontala mathcnings- och referensmodeller. Som kan ses är den röda kurvan, differensen mellan sant positiva och falskt positiva matchningar, som högst då matchningsgränsvärdet T är 3,5.

(13)

Figur 3: Djupprecisionen i en frontal modell plottad i profil. Linjer har tillkommit för att tydliggöra ansiktskonturer.

Figur 4: En roterad modell plottad i djupled.

Linjer har tillkommit för att visa på en un- gefärlig mittlinje av ansiktet.

Figur 5: Djupbild hämtad från Kinectenhetens djupbildsström vid datainsamlingen av en frontal modell.

(14)

Matchningstyper:

1. alla matchningsmodeller mot alla referensmodeller

2. frontala matchningsmodeller mot frontala referensmodeller

3. frontala matchningsmodeller mot roterade och frontala referensmodeller 4. roterade matchningsmodeller mot frontala referensmodeller

5. roterade matchningsmodeller mot roterade referensmodeller

6. roterade matchningsmodeller mot roterade och frontala referensmodeller

Medelvärde σ* Medelvärde σ* Andelen sant Andelen falskt

Typ för sant för sant för falskt för falskt positiva positiva positiva positiva positiva positiva matchningar matchningar matchningar matchningar matchningar matchningar

1 4,968822789 3,220857737 8,294322973 4,427036437 44,4 % 13,5 % 2 3,885604419 2,795153836 6,563737975 4,573255073 65,0 % 21,3 % 3 4,891545984 3,344357354 7,040685898 4,061739336 46,7 % 15,8 % 4 5,542106107 3,545167466 8,224469013 4,361788149 38,8 % 11,6 % 5 5,264869132 2,610358438 8,93436486 3,738849273 30,0 % 6,3 % 6 5,007461192 3,156587558 8,921141511 4,457126914 43,3 % 9,0 % Tabell 1: Medelvärden, standardavvikelser och procentandelar för sant och falskt positiva matchningar per matchningstyp för de differenser beräknade i de 900 matchningar gjorda i undersökningen.

*Standardavvikelse

(15)

5 Diskussion

I följande avsnitt diskuteras resultaten och metoderna i denna undersökning. En jämfö- relse med andra studiers resultat görs och rapportens referensers validitet diskuteras.

5.1 Resultatanalys

Matchningsgränsvärdet beräknades utifrån de 100 frontala matchningar i undersökningen vilket gav en största differens mellan andelarna sant positiva och falskt positiva vid värdet 3.5. Att detta värde ligger under medelvärdet för sanna matchningar är i linje med att det förekommer en större spridning i differenser i falska matchningar samt att det finnas en liten del höga differenser i sanna matchningar som drar upp medelvärdet.

Som kan ses i bilderna 2, 3 och 4 är precisionen på ansiktspunkterna tillräckligt god för att det tydligt går att urskilja ansikten. Kinect och Kinect Face Tracking SDK som använts utan modifikation, är dock utvecklat för att i första hand spåra kroppar och ansikten med ett lägre krav på precision än den algoritm som använts i undersökningen.

Undersökningen ger ett resultat för sant positiv matchningar med 44,4 % då alla ty- per av matchningsmodeller matchas mot alla typer av referensmodeller, ett resultat som återfinns mellan den frontala och de roterade matchningstypernas resultat. Som kan ses i tabell 1 fås den högsta andelen sant positiva matchningar när subjekt- och modellda- tan är frontal, vilket var ett förväntat resultat och stämmer med problematiken inom ansiktsigenkänningen. Procentandelen var för denna 65 % vilket kan jämföras med andra studier i ansiktsigenkänning med Kinect, 100 % för Li et al. [7] och 93 % för Dobrea et al. [2]. Däremot är även andelen falskt positiva matchningar, relativt andra matchnings- typer, hög på 21,3 %. Detta trots ett lägre medelvärde för sanna matchningarna vilket kan förklaras med det låga medelvärdet för de falska, samt att denna är den enda av matchningstyperna där gränsvärdet återfinns inom en standardavvikelse från det falska matchningsmedelvärdet. Det senare resultatet är något oväntat då ansiktsspårningen för de frontala modellerna bör ha bäst precision i sin placering av intressepunkter och där- med också ha distinkta skillnader i avstånden mellan de punktpar som jämförs. Detta talar för en osäkerhet i precisionen hos intressepunkterna i ansiktsmodellerna.

Ur tabellen kan också utläsas att roterade matchningsmodeller matchas bättre mot fron- tala referensmodeller än mot roterade med 38,8 % lyckade matchningar mot 30 %. Ännu bättre resultat fås dock mot en databas bestående av både frontala och roterade refe- rensmodeller där resultatet är 43,3 %. För roterade matchningsmodeller är resultatet av de falskt positiva matchningarna däremot bäst mot roterade referensmodeller med 6,3 % följt av både frontala och roterade och enbart frontala med 9 % respektive 11,6 %. Resul- tatet med roterade matchningsmodeller mot frontala referensmodeller med 38,8 % kan ställas mot [7] där Li et al. med hjälp av bildprocessering och normalisering av djupdata, fick ett resultat på 99,4 % och enbart 3D 49,5 %. Dessa resultat var då rotationen hade

(16)

en något lägre vinkel, 30 grader, än den som använts i denna undersökning. I [2] undviker de problemet med rotation genom att enbart göra ansiktsigenkänningen då vinklarna är mindre än 20 grader och presenterar inga specifika resultat för roterade subjekt. Frontala subjekt i matchningar med en referensdatabas bestående av både frontala och roterade modeller och roterade mot desamma, är snarlika i procentandelen sanna matchningar med 46,7 % och 43,3 %. Detta är bra resultat i jämförelse med den frontala matchnings- typen med hänsyn till både sanna och falska matchningar. Procentdelen falska positiva matchningar är för 15,8 % och 9 % vilket är betydligt lägre än för frontala matchningar..

Detta visar på att roterade subjekt inte är ett obestridligt hinder i ansiktsigenkänning med Kinect och speciellt inte om en databas med både roterade och frontala modeller används.

Denna undersöknings resultat visar att de roterade matchningstyperna, med en större mängd matchningar, har en procentuellt lägre andel falskt positiva matchningar än de matchningarna med frontala matchningmodeller. Dessa matchningstyper har högre me- delvärden i matchningarnas differenser och därmed färre differenser under matchnings- gränsvärdet både för sanna och falska matchningar, vilket förklarar detta resultat bättre än att det beror på matchningsmängdens storlek. Intressant är också att standardav- vikelsen för sanna och falska matchningar i den roterade matchningen är mycket lägre relativt medelvärdet än de andra matchningstypernas, vilket tyder på en resultatmängd med högre densitet. Trots det medelmåttiga resultatet i sanna matchningar skulle ett mycket bra resultat kunna fås om ett separat matchningsgränvärde används, baserat på matchningar för roterade matchningsmodeller mot roterade referensmodeller, istället för det frontalbaserade matchningsgränsvärdet.

Det bör förtydligas att algoritmen är kommutativ, det vill säga oberoende av vilken roll modellerna tar i matchningen. Detta implicerar att samma resultat fås om en roterad modell agerar matchningsmodell mot en frontal referensmodell, som att den frontala agerar matchningsmodell och den roterade referensmodell och därmed att resultatet för matchningstypen roterad mot frontal även är resultatet för frontal mot roterad.

5.2 Metoddiskussion

Att välja att starta med ett av Kinect SDKs exempelprogram som utgångspunkt gjorde att en fokusering på själva undersökningen kunde ske, med förmodade komplexare delarna med datainsamling till ansiktsmodeller och matchningsalgoritmen mellan dessa. Under datainsamlingen gjordes ett antal olika försök att producera så korrekt och väsentlig data som möjligt givet frågeställning och förutsättningar.

Då data producerades med hjälp av fem testsubjekt och med 12 olika modeller för varje subjekt, kunde totalt 900 olika matchningar göras. Då en serie användes som referensmo- deller och en som matchningsmodeller så skulle referensmodellerna även kunnat matchats mot referensmodeller, samt matchningsmodell mot matchningsmodell vilket skulle ge ett

(17)

utökat resultat med 870 matchningar. Detta antal följer att en del av resultat blir re- dundanta samt att vissa modeller kommer matchas mot sig själv och ge ett nollresultat.

Mot bakgrund av att denna rapport bygger på totalt 900 resultat så är en utökning med ytterligare 840 resultat av en signifikant ökning. Antalet testsubjekt och hur många modeller som togs fram för varje testsubjekt skulle även kunna utökats för att utöka den statistiska säkerheten av resultatet.

Insamlingen av modelldatan och urvalet av vilka subjekt varifrån modellerna insamlades är för undersökningens syfte tillräckligt. Om en större undersökning skulle genomföras så skulle det vara lämpligt att se över att det finns en spridning i subjekt, till exempel att det i subjektgruppen finns olika etniciteter, kön samt åldersgrupper representerade.

Under själva insamlandet av data skulle miljön kunna optimeras genom att homogenisera avstånd till Kinectenheten och subjektets vinkel mot denna. Exaktheten i vinklarna är dock något som inte eftersträvades i denna undersökning, då noggrannheten i vinklarna av roterade modeller kunde förbättrats. I undersökningen lämnades det upp till subjekten att titta på en given referenspunkt för att uppnå rätt rotationsvinkel. Detta lämnar utrymme för att låta ögonrotationen lösa detta och en osäkerhet i vinkeln som följd.

Algoritmen som används i denna undersökning är av relativt simpel art men är ändå tillräcklig för att visa på att ansiktsigenkänning med Kinect är genomförbart. Om mer avancerade tekniker används skulle resultaten kunnat förbättras till exempel genom att processera samt normalisera modellerna, använda ICP för att räta upp roterade modeller samt spegling då endast ett halvt ansikte finns med i en modell [7]. Det finns även en mängd kända algoritmer för ansiktsigenkänning och användning av dessa skulle kanske leda fram till andra resultat. Det vore även intressant att titta vidare på sådant som särdrag (fräknar, födelsemärken, ärr, etc.) och om detta är något som kan nyttjas för att snabbt avgöra huruvida en korrekt matchning kan göras eller ej. Ansiktsbehåring (skägg, mustasch, etc.), olika ansiktsuttryck och maskeringar är ytterligare områden som vore in- tressant att vidare studera och vilken inverkan det har för ansiktsigenkänning. Då denna undersökning är riktad till att se hur väl ansiktsigenkänning med avseende på roterade modeller med Kinect kan genomföras och inte en jämföra algoritmer mot varandra så har denna möjlighet inte undersökts vidare. Gränsvärdet som anger när en matchning sker skulle kunna förbättras genom att det beräknas utifrån en mycket större subjektgrupp, och en skild sådan från de som utgör undersökningen. Detta skulle också kunna beräknas med avseende på standardavvikelse eller genom att ha en bättre algoritm för det opti- meringsproblem som detta utgör, där antalet korrekta matchningar maximeras samtidigt som inkorrekta matchningar minimeras. Gränsvärdet skulle även kunna justeras så att det försöker återspegla ett resultat som ger 0 % inkorrekta matchningar, men enligt de tester som har genomförts så har detta dragit ned korrekta matchningar avsevärt. Här skulle ytterligare studier kunna genomföras för att förbättra denna process och eventuellt finna andra angreppssätt till problemet.

Något som är av stor vikt är valet av vilka punktpar som används för att matcha två modeller och här skulle ytterligare studier kunna ta vid för att förbättra precisionen i

(18)

resultatet. Genom att finna de mest relevanta punktpar för att skilja mellan två subjekt skulle processen kunna bli precisare samt effektiviseras vilket skulle underlätta vid försök över stora modellsamlingar. Det vore även en idé att nyttja djupdatan på ett optimalt sätt genom att välja ut de punkt par där säkerheten i Z-led är så stor som möjligt och kanske endast använda X- och Y-led där Z värdenas säkerhet är som lägst. Inom denna undersökning gjordes även försök med att använda samtliga möjliga punktpar och genom detta beräkna fram avstånd. Med detta uppnåddes dock sämre träffsäkerhet och en större andel falsk positiva träffar. Däremot bör detta teoretiskt kunna ge en större skillnad mellan modeller och således ge en större träffsäkerhet. Det är inte något som denna undersökning kunnat fastställa, utan snarare tvärtemot.

Den version av Kinect som använts i denna undersökning har begränsningar i precision och då speciellt i Z-led, vilket är något som kan bidra till dålig precision i de match- ningningar som utförts och skulle kunna avhjälpas genom att använda den något nyare versionen Kinect for Windows. Kalibrering av Kinectenheten skulle även kunna ha hjälpt till att få mer precis data, men har inte varit inom tidsramen för denna undersökning. De algoritmer som Kinectenheten använder för att kunna hitta och spåra ett ansikte är även det sådant som ytterligare studier skulle kunna fortsätta i, då detta skulle kunna förbätt- ra datan än mer. Detta hör i hög grad ihop med den tid som Kinectenheten behöver för att korrekt placera ut de 121 intressepunkter som sedan används i denna undersöking.

I den insamlade datan fick subjektet posera framför enheten i 30 sekunder innan data insamlades, varefter ansiktsspårningsrutinen återställdes och börjades om med en helt ny spårning och applicering utav intressepunkter för varje modell. Denna tid skulle kun- na utökas för att förmodligen ge en bättre precision av intressepunkterna, men då varje subjekt skulle behövt posera under ungefär en halvtimme för datainsamlingen för de 12 modellerna. Med detta i åtanke valdes en lägre tid för att få en något större subjektgrupp.

Till en början gjordes det även försök med att inte återställa spårningsfunktionen, med den initiala väntetiden 60 sekunder varefter en serie av sex modeller sparades. Följden blev att modellerna i denna serie hade ett beroende i det att de byggde på data från sam- ma instans av ansiktsspårningsrutinen, vilket kunde ses i deras märkvärdigt bra resultat i matchningar sinsemellan. Detta var dock inte önskvärt för undersökningen som ämnar att spegla en realistisk ansiktsigenkänning liknande en autentisering med data insamlat spontant.

5.3 Källkritik

Då Microsoft är ett företag som förmodligen vill visa upp sig i på bästa möjliga sätt så skall hänsyn tas ta till risken att informationen som finns angående Kinect SDK [5] är partisk och då att visa kan ha skrivits på sådant sätt att det skall framhäva produkten.

Denna rapport har använt sig av Kinect SDK som referensmaterial men beaktning har gjorts angående att de refererade ändå är saklig och relevant.

(19)

Li et al. [7] och Dobrea et al. [2], är båda universitetsbaserade studier från Australien respektive Rumänien. Dessa verkar väl genomförda men lämnar att önska i detaljrike- domen att kunna återskapa dessa undersökningar. Ingen utav dessa studier rapporterar heller några negativa resultat, som i fallet med ansiktsigenkänning tar formen av falskt positiva matchningsresultat.

6 Slutsatser

Här presenteras de slutsatser som kan dras utifrån undersökningen och dess resultat.

Algoritmen i denna undersökning är till stor del begränsad, baserad och beroende av den information om ett ansikte som Kinectenheten levererar genom Kinect Face Tracking SDK. På grund av detta beroende och dess precision är resultaten i undersökningen inte tillräckliga för att låta algoritmen i sig vara en tillförlitlig metod i ett ansiktsigenkän- ningssystem. Med tanke på begränsningen att enbart använda 3D-modeller i metoden är resultaten dock tillräckliga för att konstatera att Kinect och speciellt senare versioner av denna, skulle kunna användas i ett sådant vilket också refererade studier [2],[7] visar på.

Resultaten i undersökningen är i linje med den sedan tidigare kända problematiken, där ansiktsigenkänning med subjektets ansikte riktat rakt mot mot Kinectenheten får bäst resultat i sanna positiva matchningar. I relation till frontala matchningar är ansiktsigen- känning med roterade ansikten mot en databas av frontalmodeller inte helt underpreste- rande. Resultaten är liknande andra studier [7] då en liknande metod används.

Trots ett lägre resultat, relativt för frontala matchningar, för roterade modeller mot en databas av enbart roterade modeller, lämnar detta en möjlighet för förbättring av ett ansiktsigenkänningssystem som använder undersökningens algoritm. Resultatmängderna för sanna och falska är väl separerade och kompakta, vilket öppnar för att ett alternativt, för dessa anpassat, matchningsgränsvärde kan användas för att förbättra träffsäkerheten.

Utifrån undersökningens frågeställning kan slutsatsen dras att med Kinect kan ansikts- igenkänning genomföras, om än inte på ett optimalt sätt. Sett till hur väl ansiktsigen- känningen presterar vid frontala modeller så presterar den även relativt väl vid roterade modeller, där en 40 % lägre matchningsandel uppnås men även med en lägre andel falsk positiva matchningar. Det finns däremot en del faktorer som i denna undersökning inte har tagits i beaktning så som bildprocessering och normalisering som skulle kunna leda till ytterligare förbättringar. Här skulle det vara intressant att se ytterligare studier ta vid.

(20)

7 Referenser

1. “Handbook for face recognition Second edition”, Stan Z. Li; Anil K. Jain, 2011, Springer, pp. 1-4.

2. “Face Recognition: A Literature Survey”, Wenyi Zhao, Rama Chellappa, P Jonat- hon Phillips, Azriel Rosenfeld , 2003, Journal of ACM Computing Surveys (CSUR) Volume 35 Issue 4, December pp. 399-458

3. “The 3DID face alignment system for verifying identity” Dirk Colbry, George Stock- man, 2009, Image and Vision Computing Vol.27(8), pp.1121-1133

4. “Microsoft Kinect Sensor and Its Effect”, Zhengyou Zhang, 2012, MultiMedia, IEEE (Volume:19 , Issue: 2 )

5. http://msdn.microsoft.com/en-us/library/jj130970.aspx, Microsoft Kinect Face Trac- king SDK, 2014-04-13

6. “Three-Dimensional Face Recognition”, Alexander M. Bronstein, Michael M. Brons- tein and Ron Kimmel, 2005, Kluwer Academic Publishers

7. “Using Kinect for Face Recognition Under Varying Poses, Expressions, Illumination and Disguise”, Billy Y. Li, Ajmal S. Mian, Wanquan Liu, Aneesh Krishna, 2013, IEEE 978-1-4673-50542-95/132 Applications of Computer Vision (WACV), 2013 IEEE Workshop.

8. https://support.google.com/picasa/answer/156272?hl=sv, Google Picasa Support, 2014-03-07

9. http://www.visidon.fi/en/Products#2, Visidon Android App, 2014-03-07

10. “Face Matching and Retrieval Using Soft Biometrics”, Unsang Park, Anil K. Jain, 2010, IEEE Transactions on Information Forensics and Security (Volume:5, Issue:

3)

11. “A new attempt to face recognition using 3D eigenfaces”, Chenghua Xu, Yunhong Wang, Tieniu Tan, Long quan, 2004, Proc. ACCV volume 2, pp 884–889

12. “A method for registration of 3D shapes”, Paul J. Besel, Neil D. McKay, 1992, IEEE Transactions on Pattern Analysis and Machine Intelligence Vol 14

13. ”New Experiments on ICP-Based 3D Face Recognition and Authentication”, Boul- baba Ben Amor, Mohsen Ardabilian, Liming Chen ,2006, 18th International Con- ference on Pattern Recognition (ICPR 2006 Volume:3)

14. “Three-Dimensional Face Recognition in the Presence of Facial Expressions: An Annotated Deformable Model Approach” Ioannis A. Kakadiaris, Georgios Passa- lis, George Toderici, Mohammed N. Murtuza, Yunliang Lu, Nikos Karampatziakis, Theoharis Theoharis, 2007, IEEE Transactions on Pattern Analysis and Machine Intelligence, (Volume:29 , Issue: 4 )

15. “Efficient 3D face recognition handling facial expression and hair occlusion”, Xia- oli Li, Feipeng Da, 2012, Image and Vision Computing (Volume 30, Issue 9), pp.

668–679

(21)

16. http://msdn.microsoft.com/en-us/library/jj131043.aspx, Face Tracking 3D-WPF C#

Sample, 2014-03-07

17. “A face recognition system based on a Kinect sensor and Windows Azure cloud technology”, Dan-Marius Dobrea, Daniel Maxim, Stefan Ceparu, 2013, International Symposium on Signals, Circuits and Systems (ISSCS), pp 1-4.

References

Related documents

Baserat på resultaten som framkommit i detta arbete där Microsoft Kinect levererat dåliga animationer har utrymmet för att uppfatta skådespelarens rörelser (t.ex. ”stå

The interpolation creates a block like artifacts as seen in Figure 3. To counter this, a median filter can be used [11]. The algorithm for median filters is illustrated in Figure

The depth maps of the environment are then converted into 3D point clouds using the intrinsic parameters of the depth camera of the Kinect sensor, the acquired depth data and

Patients’ appraisal of results involved previous experiences, expectations, patient character, and concerned changes in hand function, care process and organisational

I tabell 41 nedan är det möjligt att se en sammanställning över alla rutten samt hur många cirkulationsplatser var och en av dessa passerar och även vilken poäng varje rutt

 A custom DMA controller that can access partial bit files from a high speed memory, like DDR3, and transfer files directly to the Internal Configuration Access Port

Då testresultaten av ansiktsigenkänningen hos alla fyra grupper av testdeltagare gav en takeffekt, det vill säga att alla deltagarna hade 100 % rätt och att det inte

Resultatet visade att äldre individer var sämre, än yngre, på att känna igen ansikten, samt att de gjorde fler felaktiga identifieringar.. Detta resultat ligger i linje med Searcy