Statistisk mönsterigenkänning

Relevanta dokument
Vinjetter TDDC91 Datastrukturer och algoritmer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

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

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Artificial)Intelligence) Taligenkänning)

SHAZAM! En!smart!musiktjänst! Linha108! Fördjupningsarbete!729G43!

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.


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

Hierarchical Temporal Memory Maskininlärning

de var svåra att implementera och var väldigt ineffektiva.

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Ansiktsigenkänning med MATLAB

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Lathund till PowerPoint 2002 (XP)

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Ett enkelt OCR-system

Taligenkänning. Sanna Aronsson sanar429 Artificiell Intelligens, HKGBB0

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

Statistisk Maskinöversättning eller:

Vetenskaplig teori och metod II Att hitta vetenskapliga artiklar

Matematisk modellering fortsättningskurs Visuell variation

Föreläsning 5: Grafer Del 1

Symboler och abstrakta system

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Lyssna Ljuda Läs 1(6) Lyssna Ljuda Läs ISLORMUA Lyssna Ljuda Läs ÅNBEKÄVWTPY Lyssna Ljuda Läs GÖJFDHXCZQ

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

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

Fuzzy Logic: Den oskarpa skarpheten

Upprepade mönster (fortsättning från del 1)

i LabVIEW. Några programmeringstekniska grundbegrepp

ÖRJAN EDSTRÖM NR 4

Episoderna i denna artikel är hämtade

Introduktion till logik

Specifikation av kandidatexjobb

Emma Hallstan Emmha584

Online klustring. UMEÅ UNIVERSITET 9 december 2003 Institutionen för Datavetenskap. Namn E-post

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

Artificiell Intelligens Lektion 7

Visualisering av samverkan

Signalbehandling Röstigenkänning

Projektion av träningsdata på aktuell underrum av dim 1. Föreläsning 7: Klassificering, minsta kvadratproblem, SVD, forts.

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Vetenskaplig metodik

AI, musik & PLCGalgoritmen

Kritiskt tänkande HTXF04:3 FTEB05. Induktiv argumentation

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

Inlärning utan övervakning

Vektorer, matriser, nätverk - några elementa

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

Fallbaserat resonerande

Data mining. Data mining Skillnaden mellan observationella och experimentella data

Kursplan Grundläggande matematik

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring

BAS A01 Baskurs för universitetsstudier!

2 Matematisk grammatik

Att fånga den akustiska energin

Vinjetter TDDC91 Datastrukturer och algoritmer

7 MÖNSTERDETEKTERING

Ett spel skapat av Albin Wahlstrand

1 LP-problem på standardform och Simplexmetoden

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.

Språkteknologi och Open Source

Föreläsning 6: Analys och tolkning från insamling till insikt

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Big Data för Fordon och Transport! Vår Digitala Framtid, Trafikverket!! Björn Bjurling, SICS Swedish ICT, !

Fördjupningsarbete HT 2012 FUZZY LOGIC

Artificiell Intelligens den nya superkraften

Vektorgeometri för gymnasister

Föreläsning 3 Dagens föreläsning går igenom

Handledare: Mikael Goldmann

Kundkategorisering i Rebus

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Arbeta i Qlikview. Grundkurs i Qlikview- enkel Exempel och beskrivning av grundläggande funktioner

Dependensregler - Lathund

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Utbildning i sökning av produkter och produktinformation

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Identifiering av ordvitsar med Granska

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Programkonstruktion. Tentamen,

Vektorgeometri för gymnasister

Söka artiklar i CSA-databaser Handledning

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.

Shakey s värld med HTNplanering

Faltningsreverb i realtidsimplementering

Resträkning och ekvationer

Transkript:

Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011

Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning sid3 4. Ett exempel sid 4 5. En första överblick sid 4 6. Teori sid 5 7. Inlärning sid 7 7.1 Övervakad inlärning sid 8 7.2 Icke övervakad inlärning sid 8 8 Input och normalisering sid 9 9. Diskussion sid 10 10. Referenser sid 12 2

Inledning Till en början var min tanke att denna rapport skulle handla om hur bildigenkänningssystem fungerar. Det var när jag började läsa om bildigenkänning som jag förstod att en och samma igenkänningsteknik kan användas för igenkänning av många olika typer av information. Mönsterigenkänningstekniker ligger till grunden för system som kan känna igen allt ifrån bilder och ljud till vibrationer och dofter, Statistisk mönsterigenkänning är en av de vanligaste teknikerna. Därför valde jag att fördjupa mig inom denna teknik. Min förhoppning med denna rapport är att tydliggöra hur ett Statistiskt mönsterigenkänningssystem är uppbyggt. Till grund för denna rapport ligger material skrivet på engelska, jag har därför valt att översätta alla uttrycken till svenska. Nedan följer några av det för läsaren viktigaste uttrycken och deras svenska översättning. Pattern = mönster Features (i ett mönster)= nyckelpunkter Cluster (samling av punkter) = Kluster Statistisk mönsterigenkänning När vi lagrar en bildfil eller en ljudfil i en digital databas lagrar vi i information om ett objekt. När det gäller bildobjekt är informationen sammansättningen av olika pixlar som på dataskärmen ger upphov till den givna bilden. För ljudobjekt består informationen av sammansättningen av olika ljudvågorna som ger upphov till det givna ljudet. När objekt som liknar varandra sparas i en digital databas så lagras därmed två uppsättningar information som lika varandra. I statistiska mönsterigenkänningssystem omvandlas informationen för objekten till mönster. Statistisk mönsterigenkänningsteknik handlar om att söka bland dessa mönster som tillhör objekten i en databas. Tekniken kan sammanfattas på detta sätt: Man utgår ifrån att liknande information har liknande mönster och att liknande mönster kan härledas till varandra genom statistiska metoder som behandlar probabilistisk logik. Statistisk mönsterigenkänningsteknik kan bara används när liknande objekt ger upphov till liknande mönster. Vad som menas med att ett objekts mönster liknar ett annat objekts mönster beror på hur det statistiska mönsterigenkänningssystemet är uppbyggt, hur det läser 3

av olika inputs och hur det har tränats till att kategorisera olika typer av mönster. (mer om inlärning, mönster och klassificering senare i rapporten) Ett exempel Vi antar att vi har en databas bestående av tusen bilder. Ingen av bilderna har tilldelats namn som antyder vad de föreställer. När vi sitter och tittar igenom några av dessa bilder hittar vi en bild på en liten fågel. Vi gillar fågeln och vill därför hitta fler bilder på den. Eftersom vi inte har någon aning om var i databasen vi ska leta efter fler bilder på fågeln och efter att en sökning på ordet Fågel inte gett oss några träffar är den enda information vi har det bildobjekt som vi nyss hittat. I detta läge skulle ett söksystem som byggde på statisk mönsterigenkänning vara oss till stor hjälp. Ett sådant system skulle tillåta oss att söka efter bilder i databasen som har liknande mönster som den fågelbild vi hittat. Har vi tur finner vi därmed fler liknande bilder på fågeln. Exemplet illustrerar en situation som läsaren förhoppningsvis kan relatera till. I verkligheten finns det mängder av andra användningsområden för ett statistiskt mönsterigenkänningssystem, särskilt inom maskininlärning. En första överblick Ett system som bygger på statistisk mönsterigenkänning innehåller tre grundläggande delar: 1. Datainsamling (bearbetning av någon form av information så att den kan läsas av systemet) 2. Datarepresentation (omvandling av informationen till punkter i en vektor) 3. Beslutsfattande (slutgiltigt igenkänning baserad på algoritmer som behandlar probabilistisk logik) bild 1 4

Det tre boxarna som finns på bilden ovan är var och en fyllda med olika tekniker som passar olika bra för olika typer av statiska mönsterigenkänningsproblem. Redan nu framgår det alltså att denna teknik kan vara utformad på många olika sätt. Jag kommer i denna rapport börja med att ge en allmän bild av statistisk mönsterigenkänning för att slutligen landa i mer ingående beskrivningar av tekniken. Teori Vi utgår ifrån en liten databas med tre objekt. Objekten: O₁, O₂ och O₃. De tre objekten har alla sitt eget mönster. Ett mönster innebär i detta fall en samling punkter i en vektor med obegränsat många dimensioner. Vi kallar vektorn X. Den samling punkter som kommer från ett objekt On kallar vi nyckelpunkterna n. Dessa nyckelpunkter representeras i vektorn som Xn. Xn = en viss samling nyckelpunkter n i vektorn X. Vidare antar vi att Xn tillhör kategorin Cz. Kategorin Cz är den kategori i vilken alla inputs med nyckelpunkter som liknar objektet Oz:s nyckelpunkter kategoriseras. Om X₁ och X₂ är nyckelpunkter som tillhör klassen Cz så innebär detta att X₁ och X₂ har likartade nyckelpunkter. Uttryckt i ord innebär detta att både X₁ och X₂ är nyckelpunkter som kommer från två olika mönster som båda två har liknande kriterier för att sorteras in i klassen Cz. Därmed är sannolikheten stor att X₁ och X₂ härstammar från liknande mönster och därmed också från två input som båda liknar objektet Oz mer än något annat av objekten i databasen. För att ett statistiskt mönsterigenkänningssystem ska kunna fatta beslut angående vilka nyckelpunkter Xn, som tillhör en kategori Cz, så användes probabilistisk logik. Olika varianter av Bayes teorem tillåter ett system att fatta beslut om klassindelning grundat på observerad sannolikhet: 5

Bayes teorem P(Xa Cb) = P(Cb Xa)*P(Xa) P(Cb) Sannolikheten för nyckelpunkterna Xa givet sannolikheten för kategorin Cb. Vi behöver här ha sanningsvärden för Xa och Cb, värden som systemet behöver hämta någonstans ifrån. Bayes rule of minimum error C P(Xa Cb) = P(Xa Cb)*P(Ci) i=1 Risken för att Xa inte tillhör kategorin Cb kan räknas ut med hjälp av ovanstående algoritm. Värdet användas sedan när systemet ska fatta beslut om kategorisering av nyckelpunkterna Xa. För att ett system ska veta vilka punkter i ett mönster son den skall bryta ut och omvandla till nyckelpunkter används ofta en metod som kallas Principal Component Analysis (PCA). PCA omvandlar punkter från en vektor med flera dimensioner till punkter i en vektor med två dimensioner. Utifrån detta kan sedan nyckelpunkterna utkristalliseras. bild 2 6

Givet teorin ovan är utmaningen för ett statistiskt mönsterigenkänningssystem att: 1. Skapa kategorier Cn för objekten On i databasen 2. Omvandla mönster till nyckelpunkter 3.räkna ut sannolikheten för nyckelpunkterna och tilldela dem kategorier Inlärning Trotts att två stycken statistiska mönsterigenkänningssystem kan vara identiska i det avseendet att de använder precis samma databas och precis samma beslutsfattningsalgoritmer kan deras beslutsfattning variera. Detta beror på att kategorierna inom ett statistiskt mönsterigenkänningssystem formas av systemets inlärning. Inlärning innebär i princip att ett system - med hjälp av träningsobjekt i en databas skapar mallar för objekten i databasens mönster, dessa mallar används sedan vid kategoritilldelning av en inputs nyckelpunkter. Hur kategorierna i ett mönsterigenkänningssystem ser ut påverkas alltså av träningen. Bilden nedan beskriver hur detta sker. bild 3 Dålig träning eller dålig träningsdata kan leda till att kategorierna blir dåliga. En dålig kategori innebära (enligt Anil, K m.fl., 2000) att kategorin är: - För ospecifik, den filtrerar inte bort nyckelpunkter som inte hör hemma i den. 7

- Den är för specifik, den filtrerar bort nyckelpunkter trotts att den borde ha tillhört kategorin. För att undvika ovanstående problem med kategorier är målet med kategoriskapande att finna en bra ballans mellan antalet träningsobjekt vid inlärning och det sammanlagda antalet objekt som sedan ingår i den databas som användas för mönsterigenkänning. Vad som är en bra ballans beror på vilken typ av objekt som ska behandlas av mönsterigenkänningssystemet, närmare bestämt hur många och hur skilda särdrag objekten har. Övervakad inlärning Innebär att en person är med vid utformningen av kategorierna. Objekten i databasen tilldelas då kategorier för hand, av en person. Denna inlärningsmetod kan vara bra om mönsterigenkänningssystemet ska arbeta med abstrakta kategorier, dvs. kategorier som för en dator inte har något tydlig sammanhängande struktur. Exempel på en sådan kategori är stjärntecken. Vi antar att vi ska skapa ett system som ska söker efter stjärntecken utifrån en bild föreställande himlavalvet. Om vi vill hitta stjärntecknet lilla björn så vet vi att tecknet består av sju olika stjärnor, tillsammans bildar de ett mönster. För oss människor är det ett kulturellt mönster men för en dator är mönster abstrakt. För att kategorierna ska kunna hitta de mönster som ger upphov till stjärntecken behöver systemets utformas med hjälp av övervakad inlärning. Problemet med övervakad inlärning är att det är allt för tidskrävande, ofta mycket opraktiskt om en genomförbart för stora datamängder. Icke övervakad inlärning Innebär att kategoriseringen enbart påverkas av mönstret hos objekten i databasen. Den vanligaste metoden för att skapa kategorier ur mönster är klustring vilket innebär att mönster som liknar varandra kategoriseras i samma klass. Vad som menas med att ett mönster liknar ett annat mönster påverkas i sin tur av vilken typ av klustringsmetod som användes. Mönster 1 och Mönster 2 är liknande. De passar båda två in på mallen nedan och hamnar därför i samma kategori. 8

bild 4 Mönster 1 Mönster 2 Mall Att ovanstående två mönster liknar mallen är enkelt för en människa att förstå, men för att en dator ska kunna se likheten i mönstret måste den använda sig av någon form av beräkning. Inom statistisk mönsterigenkänning används ofta Gauss funktion. bild 5 Algoritmen används både för att normalisera mönster vid skapandet av kategorier och till att normalisera mönster som ska matchas mot kategorin. Oavsett vilken typ av inlärning som har använts för att skapa kategorier så kommer kategoriseringsproblem att uppstå om det finns en stor mängd kategorier, eller om databasen har allt för många säregna objekt. Input och normalisering Den information som matas in för sökning i mönsterigenkänningssystemet kallas input. Jag har redan nämnts att inputen måste ha ett mönster som liknar mönstren hos objekten i databasen för att systemet ska kunna kategorisera det korrekt. Med hjälp av Gauss funktion eller Bayes teorem kan systemet på matematisk väg bryta ut nyckelpunkterna i en input och skapa ett normaliserat mönster. 9

En input kan behöva mer eller mindra normalisering beroende på hur bra sensorisk hårdvara mönsterigenkänningssystemet har till sitt förfogande. Se exemplen nedan: Vi tänker oss följande; vi vill söka i en databas som innehåller olika typer av ljud, vi har två olika inspelningar på det ljud som vi vill använda som input (alltså det ljud som kommer bearbetas av systemet). Den ena inspelningen är gjord med en bra mikrofon, den andra med en dålig mikrofon. Använder vi den bra inspelningen som input ger vi systemet ett mindre brusigt input att behandla, och därmed ökar vi chansen för att systemet ska göra en korrekt kategorisering av inputens mönster. Ett annat exempel är att vi letar efter en bild på bokstaven D. Följande bilder ska symbolisera olika input föreställande bokstaven D som har scannats in i en databas. Ett statistiskt mönsterigenkänningssystem riskerar att kategorisera några av dessa input i en felaktiga kategori om de inte först normaliseras. bild 6 Diskussion Den statistiska mönsterigenkänningstekniken största fördel är kanske främst att den kan implementeras i många olika typer av system och därför användas i vitt skilda sammanhang. Eftersom tekniken bygger på probabilistisk logik krävs inget avancerat neuralt nätverk för att skapa ett statistisktmönsterigenkänningssystem och därmed kan även mycket simpla system använda teknik. Eftersom Bayers teorem är en välkänd sats kan den vara bra att använda om man vill skapa ett mönsterigenkänningssystem som ska vara enkelt för användaren att förstå. Den mest väsentliga skillnaden mellan olika statistiska mönsterigenkänningssystem är ifall systemet har använt sig av övervakad eller icke övervakad inlärning. Övervakad inlärning passar bäst för igenkänning av mer abstrakta mönster medans icke övervakad inlärning med 10

fördel kan användas vid enklare mönsterigenkänning, exempelvis igenkänning av tvådimensionella bilder. Det jag ser som den största nackdelen med statistisk mönsterigenkänning är att tekniken inte kan användas för abstrakt mönsterigenkänning av stora mängder data eftersom övervakad inlärning är allt för tidskrävande. Statistiska mönsterigenkänningssystem kommer troligtvis alltid att användas för att lösa enklare mönsterigenkänningsuppgifter, men för svårare mönsterigenkänningsuppgifter finns bättre metoder (neurala nätverk) som ligger utanför statistisk mönsterigenkänningsteknik. Jag antar att om man i framtiden lyckas kombinera ett system som har kunskap om kulturella mönster (stjärntecken och liknande) med en icke övervakad inlärningsteknik, kan detta leda till ett genombrott för användandet av statistisk mönsterigenkänning. 11

Referenser Böcker Russel,S & Norvig,P Artificial Intelligence, A Modern Approach 2:nd edition (2003) K, Fukunaga Introduction to statistical pattern recognition (1990) Artikel: Anil, K mfl Statistical Pattern recognition: A review (2000) Internet Pattern recognition http://en.wikipedia.org/wiki/pattern_recognition (2011-09-19, 10:00) Bayes theorem http://en.wikipedia.org/wiki/bayes%27_theorem (2011-09-19, 10:01) Cluster analysis http://en.wikipedia.org/wiki/cluster_analysis (2011-09-19, 10:02) Bild Bild 5 http://crop.unl.edu/claes/salta/gaussianfunction.jpg (2011-09-19, 12:43) 12