Fingerprint Matching



Relevanta dokument
Ansiktsigenkänning med MATLAB

Concept Selection Chaper 7

Laboration i Fourieroptik

Polarisation laboration Vågor och optik

Problemet löd: Är det möjligt att på en sfär färga varje punkt på ett sådant sätt att:

2011 Studsvik AB PANORAMA-BILDTAGNING. Tony Björkman

Laboration 1. Grafisk produktion och tryckkvalitet (TNM015) Rastrering och objektiva kvalitetsmått. S. Gooran (VT2007)

Kurvlängd och geometri på en sfärisk yta

Biometri med fingeravtryck

RESTAURERING AV GAMLA FOTOGRAFIER

Robotarm och algebra

Signalanalys med snabb Fouriertransform

Projekt i Bildanalys: Automatisk detektion av lungemboli ur scintbilder

8-4 Ekvationer. Namn:..

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

Högskoleverket NOG

Patrik Calén

Laboration i Maskinelement

Samverkande Expertnät

Mekanik III, 1FA103. 1juni2015. Lisa Freyhult

Problemlösning i ett kalkbrott

Enda tillåtna hjälpmedel är papper, penna, linjal och suddgummi. Skrivtid 4 h. OBS: uppgifterna skall inlämnas på separata papper.

PMSv3. Om konsten att hålla koll på ett vägnät

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden.

Tentamen i SK1111 Elektricitets- och vågrörelselära för K, Bio fr den 13 jan 2012 kl 9-14

TDDB96 Projekt: Object priming med visuell stimuli

BIOSTATISTISK GRUNDKURS, MASB11 ÖVNING 8 ( ) OCH INFÖR ÖVNING 9 ( )

L A B R A P P O R T 1

Resultatet läggs in i ladok senast 13 juni 2014.

Bilaga 3: Formulär för Fas 2-rapport

Skapa test med fritextfrågor

TAIU07 Matematiska beräkningar med Matlab

Partiklars rörelser i elektromagnetiska fält

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Funktioner och grafritning i Matlab

PIXLR #1 BILDBEHANDLING

Kalkyl och Marknad: Investeringsövningar: VISSA FACIT Peter Lohmander Version

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Föreläsning 4: Poster

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

PLANCKS KONSTANT.

Inställningar i vån.1 av projektet för grund

Summor av slumpvariabler

Ögonigenkänning. Sammanfattning. 1. Inledning

Förord Inledning. Roland Larsson Talangutvecklare, pojk, Skåne och Blekinge Förbundskapten, pojk och junior

Tentamen i Statistik, STA A13 Deltentamen 2, 5p 24 januari 2004, kl

Överföringsfunktioner, blockscheman och analys av reglersystem

Diffraktion och interferens

Uppgift 1 ( Betyg 3 uppgift )

Tidigt uppföljningssystem Skövde

1 Aylas bil har gått kilometer. Hur långt har den (2) gått när hon har kört en kilometer till?

Easy Planning blir med dessa funktioner ett mycket kraftfullt verktyg för planering. Vi hoppas att våra kunder ska få stor nytta av programmet.

Lektionsanteckningar 2: Matematikrepetition, tabeller och diagram

Delrapport Steg 7.1. Integrerad konstruktion och tillverkning. Datum: 29 mars 2011 Grupp: F-3 Handledare: Göran Brännare

Bildbehandling i frekvensdomänen

Elisabeth Bejefalk IT-Assistent Avesta kommun

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Procedurell stad. Projekt i kursen TNM022 Procedurella metoder för bilder. Tobias Heldring, tobhe

Användarmanual konsult

Sammanfattning. Max vikt: 800 kg. Hytten skall vara dämpad. 360 synfält. Det skall vara möjligt att värma och kyla mat.

Programmeringsolympiaden 2012 Kvalificering

Ekvationssystem - Övningar

Nationell Patientenkät Somatisk slutenvård Våren Landstingsjämförande rapport

Tentamen i Signaler och kommunikation, ETT080

19. Skriva ut statistik

Uppdrag att utvärdera intagningsreglerna för förskolan.

DIGITAL RASTRERING. DIGITALA BILDER (pixelbaserad) ppi (pixels per inch) Sasan Gooran

F14 Repetition. Måns Thulin. Uppsala universitet Statistik för ingenjörer 6/ /15

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Lennart Carleson. KTH och Uppsala universitet

ppi = 72 ppi = 18 ppi = 36 DIGITALA BILDER (pixelbaserad) DIGITAL RASTRERING ppi (pixels per inch) Sasan Gooran (HT 2003)

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Jämförelse mellan åldersstrukturen bland högskolans personal och bland sökande till Vetenskapsrådet

1 Cirkulation och vorticitet

REGLER FÖR KLASS F3B-T. RADIOKONTROLLERADE SEGELFLYGMODELLER FÖR HÖJDSTART. ANTAGNA

SF1624 Algebra och geometri Tentamen Onsdagen 29 oktober, 2014

Handbok i materialstyrning - Del A Effektivitetsmått och effektivitetsuppföljning

Ljusets böjning & interferens

BFL102/TEN1: Fysik 2 för basår (8 hp) Tentamen Fysik april :00 12:00. Tentamen består av 6 uppgifter som vardera kan ge upp till 4 poäng.

Manual. Användargränssnitt

Processidentifiering och Polplacerad Reglering

NMCC Sigma 8. Täby Friskola 8 Spets

Vad tycker de närstående om omvårdnaden på särskilt boende?

Digitalt säkrade fingeravtryck

SKOLPORTENS NUMRERADE ARTIKELSERIE FÖR UTVECKLINGSARBETE I SKOLAN. Bilagor

Svar och arbeta vidare med Student 2008

TNM030 Tentasammanfattning (frågor) Nathalie Ek, Sammanfattning. TNM030 - Bildbehandling och bildanalys

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

En hjälp på vägen. Uppföljning av projektledarutbildning kring socialt företagande - projekt Dubbelt så bra. Elin Törner. Slutversion

Laboration 4: Digitala bilder

ALEPH ver. 16 Sökning

Tentamen i FysikB IF0402 TEN2:

TENTAMEN. Linjär algebra och analys Kurskod HF1006. Skrivtid 8:15-13:00. Onsdagen 17 november Tentamen består av 3 sidor

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Press/stress vid box-playspel i egen zon. Mattias Elm

Lönediskriminering praxis bland män?

Flexibel meny i Studentportalen

TNM059 Grafisk teknik Laboration 4 - Färg

Transkript:

Fingerprint Matching Björn Gustafsson bjogu419 Linus Hilding linhi307 Joakim Lindborg joali995 Avancerad bildbehandling TNM034 Projektkurs Biometri 2006

1 Innehållsförteckning 1 Innehållsförteckning 2 2 Inledning 3 2.1 Bakgrund 3 2.2 Avgränsningar 3 3 Metod 3 3.1 Bildförbättring 3 3.1.1 Normalisering 3 3.1.2 Orientering av ridges 3 3.1.3 Frekvens på ridges 3 3.1.4 Gaborfiltrering 4 3.1.5 Tröskling och tunning 5 3.2 Matchning av fingeravtryck 5 3.2.1 Insamling av detaljer (minutiae) 5 3.2.2 Matchning av detaljer (minutiae) 6 4 Utvärdering och sammanfattning 7 5 Referenser 8 2

2 Inledning 2.1 Bakgrund I kursen Avancerad bildbehandling fick gruppen i uppgift att hitta en mjukvarulösning som identifierar fingeravtryck. Som bakgrund till detta ligger det ökade behovet av säkerhet och automatisk identifiering av en människa. 2.2 Avgränsningar Då vi bara behöver jämföra med totalt 27 bilder behöver vi inte lagra information från fingeravtrycken i en databas. Vår metod bygger på att man vid testning tar fram all information om de fingeravtryck som man ska jämföra med. Vid jämförelser med större datamängder vore det önskvärt att lagra information om varje fingeravtryck, för att kunna göra en snabbare identifiering. 3 Metod 3.1 Bildförbättring 3.1.1 Normalisering Normalisering görs så att man standardiserar gråskalevärdena så genom att förändra området pixelvärdena ligger i. I vårt fall ligger pixelvärdena mellan 0 och 1 efter normalisering. Normalisering underlättar för de bildförbättrande operationer som senare kommer att göras. Nedan visas matlabkoden för vår normalisering. im = (im-min(min(im)))./(max(max(im))-min(min(im))); 3.1.2 Orientering av ridges För att få fram orienteringen i varje punkt använder vi oss först av matlabfunktionen gradient. Det returnerar en matris med ändringarna i x-led x och en matris med ändringarna i y-led y. Det ger dock bara skillnaden mellan närliggande pixlar och ger därför ett väldigt grynigt och snabbt resultat. Därefter bestäms den lokala orienteringen enligt Hongs estimeringsmetod, men en aning modifierad. V ( i, = 2 ( i, ( i, x V ( i, = y x 2 x y ( i, 2 y ( i, 1 V (, ) 1 y i j θ ( i, = tan 2 Vx ( i, Den orienteringen blir dock precis som gradientsvaret, väldigt grynig eftersom den bara tar hänsyn till sina närmaste grannar. Vi applicerar ett gaussfilter på V x och Vy för att jämna ut resultatet och ta bort skräpvärden. Slutligen räknas vinkeln θ ut med hjälp av arctan. 3.1.3 Frekvens på ridges Vi började skriva på en metod som skulle bestämma den lokala frekvensen inom ett visst område men efter tester insåg vi att det gick bra att använda en frekvens som är typisk för fingeratryck över hela bilden och skrotade därmed metoden. 3

3.1.4 Gaborfiltrering Vi använder oss av ett symmetriskt Gaborfilter i spatialdomänen (fig. 1) för att framhäva våra ridges. Gaborfilter har egenskaper som gör det modifierbart med avseende på både orientering och frekvens. Eftersom vi har tagit fram en uppskattning på våra ridges orientering för varje punkt i vår bild kan vi anpassa filtreringen blockvis över bilden med de lokala parametrarna anpassade. Vi drog slutsatsen att frekvensparametern utan resultatförsämring kan lämnas konstant över alla block för våra testbilder (liten skalning inräknad). Resultatet av en gaborfiltrerad bild (fig. 2), kan med lätthet trösklas utan att förlora detaljrikedom. Figur 1, Gaborfilter i spatialdomänen av storlek 33x33 med parametrar 0.12 för frekvens och 0 rad för orienteringen. Fig. 2, Resultat efter blockvis gaborfiltrering med adaptiv orienteringsparameter. 4

3.1.5 Tröskling och tunning Efter gaborfilteringen är bilden tydligt uppdelad med vad som är linjer och vad som inte är det och då räcker det med att trösklad hela bilden med 0.5. Därefter appliceras matlabfunktionen bwmorph med thin vilket krymper ner linjerna till 1 pixels bredd. 3.2 Matchning av fingeravtryck 3.2.1 Insamling av detaljer (minutiae) För att identifiera ändpunkter och bifurkationer multipliceras varje punkt av värdet ett med ett 3x3 filter av ettor. Svaret blir då antalet grannar + den aktuella punkten. Om svaret är 2 betyder det att det är en ändpunkt och om det är 4 eller mer är det en bifurkation. Detta ger dock ett flertal falska punkter. För att verifiera att en punkt verkligen är en ändpunkt eller bifurkation stegar vi i den trösklade bilden ett antal steg vilket ger följande resultat (fig. 3). Fig. 3, Label-bilden som skapas av giltiga änd- och bifurkationspunkter För ändpunkt markeras aktuella punkten med -1 och därefter markeras grannarna med 1. Om det saknas grannar att stega i eller om funktionen när en punkt som innehåller flera väger bryts metoden. För bifurkation markeras först tre grannar som startpunkter och därefter stegas en startpunkt i taget. För att kontrollera att de inte vandrar in i varandras linjer sparas de uppmärkta punkterna och skickas med till stegfunktionen för nästa startpunkt. Testbilder gav problem med att stegningen vandrade ut i skräplinjer som ej hörde till fingeravtrycket. För att förhindra det sparas koordinater som innehåller mer än en väg. Om stegningen hamnar i en ändpunkt ändras koordinaten till den som innehåll fler vägar. Om det saknas sådan koordinat bryts metoden. Om antalet tagna steg inte stämmer överens mot önskade markeras punkten som falsk. 5

En annan detalj som måste insamlas är centrumpixeln. Vi observerade att förändringen av orienteringen är som störst kring åsarnas centrum. Därför testade vi variansen av orienteringsvinklarna blockvis för att få ut det ställe där de förändras mest. Då orienteringen är i ett intervall med längd pi så kommer det bli en diskontinuitet vid övergången från 0 till pi (eller i vårt fall, -pi/2 till +pi/2), trots att vinklarna däromkring är väldigt lika. Detta orsakade en väldigt stor varians vid övergången. Vi löste detta genom att applicera ett Laplace-filter över bilden. Den horisontella övergången och centrumpixeln förstärktes av den vertikala delen av filtret, däremot förstärktes nästan bara centrumpixeln av den horisontala delen av filtret. Summan av dessa gav en bild med högst intensitetsvärde i centrumpixeln. Positionen på centrumpixeln ligger alltid lite ovanför den synliga centrumpixeln (fig. 4), men den hamnar alltid på samma relativa ställe jämfört med en förändrad bild. Fig. 4, Originalbild, orienteringsbild samt centrumpixel. 3.2.2 Matchning av detaljer (minutiae) Nästa steg blir att se om exempelvis en bifurkation i testbilden finns i bilden som man jämför med. På grund av translation är bifurkationens koordinater inte lämpliga, ej heller orienteringsvinkel då avtrycket kan roteras upp till 5 grader. Det som dock alltid är samma är förhållandet mellan orienteringsvinklar, samt förhållandet mellan avstånden i fingeravtrycket. Som utgångspunkt väljs centrumpixeln för åsarna. Detta är bra som utgångspunkt då den alltid ligger på samma ställe relativt bifurkationerna i bilden, oavsett om bilden roteras, translateras eller förstorats. Vi testade först att mäta avståndet mellan de 2 bifurkationer som hade störst avstånd sinsemellan och sedan välja en av dessa som utgångspixel. Problemet då var att vid exempelvis en rotation så försvann en bifurkation och utgångspixeln blev en helt annan den roterade bilden. Vi kom då till insikten att det enda som alltid är säkert är cetrumpixeln för åsarna. Härifrån mäts sedan avstånd till de övriga bifurkationer samt förhållande till orienteringsvinkel. När vi fått avstånden och orienteringsförhållande så diskuterade vi att normalisera värdena till intervallet [0, 1]. Detta för att lättare kunna sätta en tröskel på hur stor differens vi skulle tillåta. Denna metod var något vi senare övergav. Orsaken var att vid normalisering så sker bl.a. en division av alla värden med det största avståndet. Men om bifurkationen med största avståndet inte upptäcktes i den förändrade bilden så kommer den så normaliserar den utgående ifrån en annan bifurkation. Detta gör i sin tur att avstånden blir annorlunda i de två bilder som ska jämföras. När vi ska testa om en bifurkation i tesbilden finns i en gammal bild jämförs sedan två listor som innehåller skillnad i orienteringsvinkel samt avstånd till utgångspixeln. Först sker en genomgång av listorna för att samla in kandidater till identifierade bifurkationer med en grov felmarginal. Därefter väljs den bifurkation som har minst differens bilderna emellan avseende avstånd och orienteringsskillnad. Denna testar vi nu via en snävare marginal om det skulle vara en match. En fråga blir ju då varför inte direkt sätta den snävare 6

marginalen. Om man gör så och hittar flera bifurkationer som matchar inom det snäva området så skulle den första bifurkationen väljas, som hittas vid sekventiell genomsökning, och inte den med bäst match, även om båda har bra match. Motsvarande saker görs även för ändpunkter. 4 Utvärdering och sammanfattning Gruppen upptäckte att det finns mycket kvar som man skulle kunna göra för att utveckla vårt program. Det var ett intressant ämne men projektet hade en begränsad tid. Att få Gaborfiltret att fungera tog mycket av projektgruppens tid, men tack vare en arbetsuppdelning kunde vi fortsätta arbeta med andra lösningar i väntan på hjälp från handledare och examinator. Det hade varit önskvärt att få verkliga testbilder på fingeravtrycken, d.v.s. som naturligt var translaterade och förstorade. När man skulle skapa sina egna testbilder blev det exempelvis mycket vita områden som störde vid testandet. Avslutningsvis var projektet intressant och spännande. Många av bildbehandlingens områden användes bl.a. gaborfiltrering, labelling, tunning, laplacefiltrering, gaussfiltrering, maskning och orienteringsfält. 7

5 Referenser Lin Hong, Student Member, IEEE, Yifei Wan, and Anil Jain, Fellow, IEEE, Fingerprint Image Enhancement: Algorithm and Performance Evaluation G. S. Ng1, X. Tong2, X. Tang2, D. Shi1, Adjacent Orientation Vector Based Fingerprint Minutiae Matching System Raymond Thai, Fingerprint Image Enhancement and Minutiae Extraction, 2003 8