måndag 22 juli 2013

Vecka 29

I veckan har jag påbörjat implementationen av Wawo-modulen. Jag upptäckte dock att det saknas filer från den version av Wawo-biblioteket jag fått tillgång till, så jag kan inte slutföra det än. Istället har jag implementerat en utbyggnad av kaskaddetektorn. Kaskaddetektorn med "full frontal"-träningsdata fungerar utmärkt så länge som ansiktet tittar rakt in i kameran, men den är väldigt känslig för om huvudet böjs åt sidan, dvs, roterat runt kamerans riktningsaxel. För att åtgärda det har jag skapat en algoritm som stegvis roterar varje frame och applicerar detektion på den roterade bilden, varefter de detekterade regionerna roteras tillbaka till original-orientationen och den slutgiltiga detekterade regionen är genomsnittet av dessa roterade regioner. Initiala tester indikerar att den modifierade algoritmen ger bättre precision, men eftersom varje frame måste behandlas ett flertal gånger (en gång för varje rotationssteg) blir den långsammare med en konstant faktor. Slutligen så har jag skapat ett nytt dataset baserat på klipp från filmen Night of the Living Dead som ligger i den publika domänen. Tanken är att ha åtminstone ett dataset som liknar den typ av data som programmet kan tänkas användas till i verkligheten. Det består för närvarande av ett antal korta klipp från filmen som innehåller ett till fyra kända ansikten i ett stort antal olika orientationer och ljusförhållanden från en databas med fem individer, såväl som ett klipp utan ansikten och ett klipp med ett okänt ansikte. Galleriet består av 6-9 stillbilder per person som alla är hämtade från Google Images, varav den stora majoriteten är från filmen. Ingen större hänsyn har tagits till kvalitet eller upplösning på galleribilderna, vilket borde reflektera ett normalt användningsscenario. Jag har skapat referensannoteringar, men inte hunnit testa datasettet än.
I veckan har jag fått lite bättre förståelse för hur Wawo fungerar, samt hur bra detektionsalgoritmen fungerar under olika förhållanden, och vilken typ av testdata som kan användas för kommersiella projekt.
På grund av detta ständiga strul med Wawo ligger jag naturligtvis fortfarande efter med implementationen av standalone-programmet. Jag ska även skriva en sektion i rapporten om hur Wawo fungerar. Jag borde dessutom skapa något slags UI för att man ska kunna räkna programmet som oberoende funktionellt. Efter det ska jag utförligt testa de implementerade metoderna på det nya datasettet och jämföra med resultat från det gamla, och antingen hitta eller skapa mer testdata, eller bygga ut implementationen med fler metoder.
Jag skulle ha träffat Petter och Tomas i tisdags, men pga kommunikationsproblem blev det aldrig av, så åtminstone jag och Petter kommer träffas tisdag v30 istället. Annars har jag bara haft mailkontakt med Rickard för att försöka reda ut Wawo-trasslet.

Inga kommentarer:

Skicka en kommentar