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

Relevanta dokument
Reglerteknik AK. Tentamen 24 oktober 2016 kl 8-13

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

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

Ansiktsigenkänning med MATLAB

Artificiella Neuronnät

Tentamen Bildanalys (TDBC30) 5p

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Sammanfattning av ordinära differentialekvationer

Adaptiv aritmetisk kodning

TSRT91 Reglerteknik: Föreläsning 11

Shannon-Fano-Elias-kodning

y + 1 y + x 1 = 2x 1 z 1 dy = ln z 1 = x 2 + c z 1 = e x2 +c z 1 = Ce x2 z = Ce x Bestäm den allmänna lösningen till differentialekvationen

Fel- och störningsanalys

Dynamiska system. Hans Lundmark. Matematiska institutionen Linköpings universitet

f(x + h) f(x) h f(x) f(x h) h

Välkomna till TSRT19 Reglerteknik Föreläsning 4. Sammanfattning av föreläsning 3 Rotort Mer specifikationer Nollställen (om vi hinner)

DT1130 Spektrala transformer Tentamen

ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker

Rita även upp grafen till Fourierseriens summa på intervallet [ 2π, 3π], samt ange summans värde i punkterna π, 0, π, 2π. (5) S(t) = c n e int,

STABILITET FÖR ICKE-LINJÄRA SYSTEM

TENTAMEN I TSRT09 REGLERTEORI

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

Monte Carlo-metoder. Bild från Monte Carlo

DT1130 Spektrala transformer Tentamen

Lösningsförslag till tentamen i SF1629, Differentialekvationer och Transformer II (del 1)

Transformer och differentialekvationer (MVE100)

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Övningar i Reglerteknik

Konvergens för iterativa metoder

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

G(s) = 5s + 1 s(10s + 1)

KTH Matematik Tentamensskrivning i Differentialekvationer I, SF1633.

Grundläggande matematisk statistik

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Igenkänning av bilddata med hjälp av Kohonen-nätverk, samt beskrivning av program

Sammanfattning (Nummedelen)

REGLERTEKNIK KTH REGLERTEKNIK AK EL1000/EL1110/EL En tillståndsmodell ges t.ex. av den styrbara kanoniska formen: s 2 +4s +1.

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Kravspecifikation Fredrik Berntsson Version 1.3

TENTAMEN I TSRT09 REGLERTEORI

REGLERTEKNIK Laboration 5

Välkomna till Reglerteknik Föreläsning 2

SMS047 Mediakodning. Introduktion. Frank Sjöberg. Introduktion. Introduktion

Informationsteknologi Tom Smedsaas 19 augusti 2016

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

3.0. Tips och Trix Sida 1 av 18

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

= = i K = 0, K =

Välkomna till TSRT19 Reglerteknik Föreläsning 10

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

F3 Introduktion Stickprov

Ett enkelt OCR-system

Statistisk mönsterigenkänning

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

TEM Projekt Transformmetoder

9. Magnetisk energi Magnetisk energi för en isolerad krets

Digital bildhantering

Vetenskaplig metod och statistik

Reglerteknik AK. Tentamen 9 maj 2015 kl 08 13

Bose-Einsteinkondensation. Lars Gislén, Malin Sjödahl, Patrik Sahlin

TENTAMEN: DEL B Reglerteknik I 5hp

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning)

Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts.

Robust flervariabel reglering

Försättsblad till skriftlig tentamen vid Linköpings universitet

2D1240 Numeriska metoder gk II för T2, VT Störningsanalys

Torstens Digitalbildguide

Adaptiva algoritmer och intelligenta maskiner, 2005 Hemtentamen

Teoretisk del. Facit Tentamen TDDC (6)

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

7 MÖNSTERDETEKTERING

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Kapitel 4 Sannolikhetsfördelningar Sid Föreläsningsunderlagen är baserade på underlag skrivna av Karl Wahlin

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

Symboler och abstrakta system

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

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

Grundläggande matematisk statistik

ETE115 Ellära och elektronik, tentamen april 2006

TMS136. Föreläsning 4

Bildförbättring i spatial domänen (kap. 3) Bildförbättring (enhancement) Spatial domän. Operatorer. Tröskling (threshold) Gråskale-transformationer

Lösningsförslag till övningsuppgifter, del V

Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19

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

Projekt Finit Element-lösare

Fel- och störningsanalys

Lösningsförslag till tentamen i SF1683 och SF1629 (del 1) 18 december xy = y2 +1

Vetenskaplig metod och statistik

Manual för ett litet FEM-program i Matlab

Envariabelanalys 5B1147 MATLAB-laboration Derivator

vux GeoGebraexempel 3b/3c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

Interpolation Modellfunktioner som satisfierar givna punkter

Vetenskaplig Metod och Statistik. Maja Llena Garde Fysikum, SU Vetenskapens Hus

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

Transkript:

LARS ULVELAD HOPFIELDÄTVERK FÖR IGEKÄIG AV DEGRADERADE BILDER OCH HADSKRIVA TECKE E PROJEKTRAPPORT FÖR PROJEKTKURSE I BILDAALYS HT 02

Teori för Hopfieldnätverk Hopfieldmodellen är en typ av neuronnät, där vare neuron återkopplas till alla andra neuroner med en enhetsfördröning. Vare neuron är en överföringsfunktion av de viktade utsignalerna från de andra neuronerna, fördröda ett steg. Vikterna är alltid symmetriska. Typiskt använder man här tangens hyperbolicus, där derivatan i origo betecknas neuronens förstärkning. Om förstärkningen är oändlig blir funktionen en stegfunktion, och modellen blir diskret. Hopfieldnätverkets dynamik beskrivs av en uppsättning icke-linära differentialekvationer av första ordningen. Systemets Lyapunovfunktion definieras av: E = 2 i= = w x x Vars derivata ges av: i i + = R x 0 ϕ ( x) dx = I x de dt = = i= v wi xi R + I dx dt Där R och v kommer från den neurodynamiska modellen för neuronen, som bygger på en beskrivning av neuronen som en elektrisk förstärkare Existensen av en Lyapunovfunktion innebär att modellen är stabil, enligt Lyapunov s första teorem. Vidare kan man visa att derivatan bar är 0 i fixpunkterna, och positiv i alla andra punkter. Hopfieldnätverket är då asymptotiskt stabilt, och attraktorns fixpunkter är minima i energifunktionen. Den i Matlab implementerade Hopfieldmodellen använder överföringsfunktionen Satlin, som är linär mellan och, och sign-funktionen för alla andra x. För att lagra en bild kodar man den binärt med tillstånden och, och presenterar den för nätverket. Presentationen går till så att noderna fixeras till bilden, och vikterna beräknas enligt: w i = M µ = ξ µ, ξ µ, i Där M är antalet bilder som ska läras in. En viktig egenskap vid denna inlärning är att den bara görs en gång. Beräkningskomplexiteten är dock ganska hög, eftersom antalet vikter är 2 -. En bild med 32x32 pixlar har 24 punkter, och därmed 047 2 vikter. En normalstor bild på t ex 2x2 pixlar skulle kräva en viktmatris med 2 36 element. Om vare vikt är ett 32-bitars flyttal kommer nätverket att kräva 26 Gigabyte minne. En komplikation som uppstår i nätverket är sporadiska tillstånd, fixpunkter som inte svarar mot någon av de presenterade bilderna. Utöver bilderna finns alltid de negativa bilderna, samt ett varierande antal linärkombinationer av bilderna och deras negativ samt origo, som alltid är en ganska stark attraktor. Det finns ett antal metoder att minimera antalet sporadiska tillstånd, och i de experiment ag gorde var problemet litet. Genom omfattande statistiska beräkningar kan man visa att det största antalet stabila bilder är 0.4 gånger antalet noder. Det går alltså att packa ihop ca 40 stabila bilder i på 32x32 pixlar. Med bilder på 2x2 går det att lagra 36700 st, eller totalt Gigabyte data. Sannolikheten att lyckas återskapa bilden ökar kraftig när M minskar mot ca 0.7, varefter nätverket är mycket stabilt även för kraftigt störda bilder. 2

EXPERIMETE Jag genomförde 2 olika försök med hopfieldmodellen. Det första gick ut på att undersöka hur kraftigt störda bilder som kunde återställes i ett nätverk med stor redundans. Som testbilder valde ag windowsikoner eftersom dessa oftast är lika stora och enkelt uppbyggda med olika geometrier. Då bilderna var 32x32 pixlar säger teorin att ca 40 bilder kan lagras i nätverket. Jag fann 37 lämpliga bilder och inkluderade dessa i försöket. Bilderna visade en god spridning, med allt ifrån enstaka kraftigt avvikande utseende till grupper med nästan identiska bilder. I det andra försöket använde ag en databas med ca 9000 handskrivna siffror för att undersöka om Hopfieldnätverket kunde användas för OCR. Båda försöken utfördes i Matlab. För att kunna genomföra bildrestaurering på degraderade ikoner skrev ag ett matlabprogram som läste in bilderna, trösklade dem och skalade om dem till binära bilder på intervallet -... ätverket tränades sedan med dessa bilder. Jag degraderade sedan indatabilderna på två olika sätt, dels med peg-kompression, dels med wavelettransformen. Alla bilder komprimerades med samma inställningar för kvalitet, oavsett vad resultatet blev för den aktuella bilden. Tabellen nedan visar hur många bilder som återkallades korrekt beroende på kompressionsgrad. För JPEG anges hur många procent av koefficienterna som behölls, för wavelet anges tröskeln. För trösklar över 2 behölls i allmänhet inga koefficienter utöver det globala medelvärdet. Två av bilderna förstördes totalt under förbehandlingen, men finns med ändå. De flesta felklassificerade bilder klassades som tomma, vilket innebär att de hamnat i fixpunkten i origo, som är mycket start. I flera fall berodde det också på att kompressionen kollapsade och bara en tom bild blev kvar. KOMPRESSIO FEL KOMPRESSIO FEL JPEG % WAVELET 0 JPEG % 3 WAVELET. 0 JPEG 2% 4 WAVELET 2 3 edan visas några exempel med originalbild, degraderingar och de återskapade bilderna. Överst till vänster visas de originalbilderna, behandlade för att utgöra lämpliga indata till ett Hopfieldnätverk. Mittenkolumnen visar underst bilden efter wavelet-kompressionen, överst den restaurerade bilden. Höger visas motsvarande peg-bilder. 2 2 2 2 2 2 2 2 2 2 Wavelettröskeln är här, och JPEG-kvaliteten %. Trots detta ser nätverket lätt skillnad på bilderna. Även med lägsta kvaliteten klarar nätet detta bildpar 3

2 2 2 2 2 2 2 2 2 2 Wavelettröskel:, JPEG-kvalitet: %. Till vänster visas ett exempel på felklassificering av JPEGbilden. 2 2 2 2 2 2 2 2 2 2 Exempel på bilder komprimerade med JPEG 2 % och tröskel 2 för Wavelet. Den högra bilden klassades korrekt trots att tre liknande ikoner förekom bland bilderna. Det andra experimentet undersökte hur bra Hopfieldmodellen var på att känna igen handskrivna siffror. Till mitt förfogande stod en databas med ca 90 handskrivna siffror som kom ifrån riktiga brev. Då Hopfieldmodellen inte har några speciella parametrar att ändra på, och arkitekturen helt beror på storleken av vare bild är förbehandlingen av indata den enda möligheten att påverka prestanda. I mitt första försök skapade ag konstgorda typiska siffror och tränade nätverket med. Senare prövades att plocka de tre första siffrorna av vare sort och träna nätverket med. Då tränades nätverket med siffror, och testades sedan genom att resultatet efter iterering matchade något av de tre alternativen. Om så var fallet godkändes identifieringen. Bilderna var 6 x 6 pixlar stora och nätverket hade således 26 noder och 6 280 vikter. Att stoppa in bilder, som dessutom måste få ha stora inbördes likheter, t ex 8:or och :or, innebär att felsannolikheten inte längre är försumbar. ätverket var dock stabilt och presterade lite bättre än den första. är inte heller detta gav tillräckliga prestanda genomfördes en annan åtgärd, nämligen en omskalning som innebar att alla siffror, ettor som nollor, fyllde ut bilden helt. Detta medförde dock att nätet med bilder ur träningsdata inte längre fungerade speciellt bra, och prestanda sönk. är alla tester genomförts visade det sig att de nätverk som tränats med st slumpmässigt valda exempel presterat bäst. u ligger den stora flaskhalsen istället i antalet noder. Genom att studera antalet felklassificeringar till sporadiska tillstånd ser man att dessa är ett allvarligt problem då av maximalt 37 mönster, varav många likartade, lärts in. Två stora problem som försämrade prestanda kraftigt var dels fel i facit, enstaka siffror som klassats felaktigt, ofta på grund av total oläslighet, dels felvända siffror. Det må finnas rotationsinvarianta OCR-metoder, men Hopfieldnätverk hör inte till dessa. Uppskattningsvis ett par procent av siffrorna var felaktiga på ett sätt eller annat. 4

ÄTVERK FEL I PROCET typsiffror 48,9 % exempel 43,3 % typsiffror, kvadratiserade 48,9 % exempel, kvadratiserade 42, % För att förbättra prestanda ytterligare bör man läsa in bilderna med högra upplösning. Antalet siffror som går att träna in ökar kvadratiskt, och med upplösningen 32 x 32 är det maximala antalet 43, och det rekommenderade runt 70. Väler man sedan dessa 7 exemplar av vare siffra noggrant och representativt kan man ytterligare öka prestanda. Man kan t ex låta ett Hopfieldnätverk avgöra vilka som är lämpliga att använda genom att studera hur snabbt olika siffror konvergerar mot ett visst exempel. Det skulle även vara möligt att bygga en klustringsmaskin på detta vis. Man kan också förbättra identifiering av itererade tillstånd genom att inte kräva :-matchning, utan istället mäta avståndet mellan tillståndet och närmaste äkta tillstånd, t ex i minsta kvadratmening. Man kommer då inte bara att täcka in de siffror som lärts in, utan även ett stort antal linärkombinationer av dessa. Dessutom kommer man kunna använda ytterligare ett neuralt nätverk för att tolka resultaten från Hopfieldnätverket. Om en skriven siffra är ett gränsfall mellan två siffror kan den med viss sannolikhet antas iterera till ett tillstånd som ligger nära båda dessa siffror, och därmed ge information om två alternativ för den siffran. edan visas några exempel på hur siffrorna såg ut.

6