Neurala nätverk vid bildsökning

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

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

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

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

HKGBB0, Artificiell intelligens

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

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

Statistisk mönsterigenkänning

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

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

1 Mätdata och statistik

Vad behövs för att skapa en tillståndsrymd?

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

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

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

Linköpings universitet

Föreläsning 7. Felrättande koder

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

Vad kan biologiskt plausibla modeller säga oss?

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

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

Symboler och abstrakta system

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

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

Histogram över kanter i bilder

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

Self-Organizing Maps

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

Artificiella Neuronnät

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

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Kognitionsvetenskap C, HT-04 Mental Rotation

3i)z 2013(1 ) och ge i det komplexa talplanet en illustration av lösningsmängden.

1. Beräkna determinanten

3. Toppkvinnor på hög Låt lådan och de två kvinnornas famnar utgöra stackarna L, K1 respektive K2. Från början finns alla kort i L.

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Ett enkelt OCR-system

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning

Kodning av ansiktstextur med oberoende komponenter

Rekommendationssystem. med fördjupning på collaborative filtering

Konvexa höljet Laboration 6 GruDat, DD1344

2. Lös ekvationen z i = 2 z + 1 och ge i det komplexa talplanet en illustration av lösningsmängden.

Föreläsningsanteckningar F6

Ansiktsigenkänning med MATLAB

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

e 3 e 2 e 1 Kapitel 3 Vektorer i planet och i rummet precis ett sätt skrivas v = x 1 e 1 + x 2 e 2

SELF- ORGANIZING MAPS

Svensk nationell datatjänst, SND BAS Online

Föreläsning 11. Giriga algoritmer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Tänk på följande saker när du skriver tentan:

Fördjupningsarbete i artificiell intelligens II

Optimering av depåpositioner för den minimala bensinförbrukningen i öknen

Synkronisering av kalenderdata

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Googles sidrankning - linjär algebra värt en förmögenhet

Li#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE

ALVINN. Ett autonomt styrsystem. Linköpings Universitet Joacim Wirebrand joawi

Beräkna determinanten för produkten MMM Skissa, och bestäm arean av, det i det komplexa talplanet belägna området

Att beräkna:: Avstånd

TDDD92 Artificiell intelligens -- projekt

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

Deliberate Practice på en kurs i kvantmekanik. Emma Wikberg (& Stefano Bonetti) Fysikum, SU

Lösningar till utvalda uppgifter i kapitel 1

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

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Optimera, inte eliminera, den mänskliga hjärnan genom AI. Anna-Karin Edstedt Bonamy, MD, PhD Chief Medical Officer, Doctrin AB

2D vs 3D? Nya gränssnitt för processindustrins kontrollrum En pilotstudie

Datorlaboration :: 1 Problembeskrivning ::

8 Minsta kvadratmetoden

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Tentamen Bildanalys (TDBC30) 5p

TANA17 Matematiska beräkningar med Matlab

Linjär Algebra, Föreläsning 2

"Content is king" - Vacker Webbdesign & Effektiv Sökmotorsoptimering för företag

Visualisering av samverkan

Laboration 2: Designmönster

Föreläsning 12. Söndra och härska

Föreläsning 12 Inspektionsmetoder. Rogers et al. Kapitel 15

Matriser och linjära ekvationssystem

kultursyn kunskapssyn elevsyn 2014 Ulla Wiklund

Optimering av webbsidor

Inledning. Kapitel Bakgrund. 1.2 Syfte

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

14. Minsta kvadratmetoden

Kurragömma i ett socialt nätverk

Klassrumshantering Av: Jonas Hall. Högstadiet. Material: TI-82/83/84

Grafisk Teknik. Rastrering. Övningar med lösningar/svar. Sasan Gooran (HT 2013)

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

Genetisk programmering i Othello

SPEECH RECOGNITION USING ARTIFICIAL NEURAL NETWORKS. Linköpings Universitet 729G43 Artificiell Intelligens

DIGITAL KOMMUNIKATION

Matematisk modellering fortsättningskurs Visuell variation

TSFS06: Bayesianska nätverk i GeNIe - kort handledning

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

WEBBLÄTTLÄST SLUTRAPPORT

Slutrapport Projekt Internet i Sverige

2D1418, Språkteknologi NADA, Kungliga Tekniska Högskolan SÖKMOTOROPTIMERING. Av Erik Lindgren

Fördjupningsarbete Steg 3. Kissing Spines

Transkript:

Neurala nätverk vid bildsökning Carl-Johan Rosén Sammanfattning I denna rapport diskuteras situationen för neurala nätverk inom bildsökningsområdet. Först beskrivs några grundläggande metoder för bildsökning och neurala nätverk. Sedan behandlas angreppssätt som använts inom bildsökningen för att effektivisera de neurala nätverken. Exempel på sådana är radial-basis functions, self-organizing maps och parallella neurala nätverk. Dessa behandlas kortfattat var för sig och deras respektive för- och nackdelar jämförs. Resultatet av studien är att de neurala nätverken i dagsläget inte är det största problemet inom bildsökningen, och därför har forskningen inte varit prioriterad. Oftast ger optimeringar och förenklingar av nätverk nästan lika bra resultat till en mycket lägre datorkraft. Detta betyder dock inte att dörren till området för alltid är stängd för de neurala nätverken, snarare beror det på andra delar av bildsökningsområdet att de neurala nätverken inte är välkomna ännu. Rapporten har sin grund i papers publicerade mellan 2000 och 2005. 1

Innehållsförteckning Inledning...3 Vanliga sökmetoder...4 Nyckelordssökning...4 Sökning på egenskapsbeskrivningar...4 Neurala nätverk...4 Neurala nätverk...5 Grundteori...5 Beslutsfunktionen...5 Inlärning...5 Implementationer av neurala nätverk vid bildsökning...7 Enkel backpropagation...7 Radial-basis functions...7 Self-organizing maps...9 Parallella neurala nätverk...10 Diskussion...11 Referenslista...12 2

Inledning I och med den informationsexplosion som pågått de senaste tio åren har det inte bara blivit möjligt att ta del av och dela med sig av åsikter, kunskap och information. Det har även blivit problematiskt att få överblick över det som finns att tillgå. Detta märks naturligtvis allra mest på Internet. Internet erbjuder inte bara interaktivt kunskapssökande, utan är tillgängligt alla tider på dygnet, år efter år, i var uppkopplad dator. För att interaktiviteten ska bli praktiskt möjlig krävs någon slags struktur av informationen. Vad gäller textbaserad information så har det lösts genom framförallt sökmotorerna, men även bloggar och liknande hjälper till. Problemet jag vill uppmärksamma i denhär rapporten är bildmaterialets oöverskådlighet. Det måste göras tillgängligt för Internets användare. Kan artificiell intelligens vara till nytta? Vad pågår det för forskning idag? Med denna rapport hoppas jag kunna reda ut dessa två frågor. 3

Vanliga sökmetoder Här beskrivs kortfattat några av de idag vanligaste sätten att angripa bildsökningsproblemet. Nyckelordssökning Den sökmetod som erbjuds Internets användare idag är i princip bara så kallad nyckelordssökning. Det innebär att varje bild är förknippad med ett eller flera nyckelord som beskriver innehållet i bilden. Begränsningarna med denna sökmetod är uppenbara. För det första krävs det att en människa beskriver bilden, alternativt att en sökagent plockar ut viktiga ord ur de texter som förekommer tillsammans med bilden. Ett problem med detta är att bilden då bara blir sökbar på det språk den beskrivs. Ett annat är att sökagenterna beskriver bilden alldeles för vagt eller med fel ord. Dessutom ställer det höga krav på användarens beskrivningsförmåga. Sökning på egenskapsbeskrivningar Ett annat sätt som det pågår forskning kring, bland annat på ITN, men som ännu inte används, är att göra om pixelvärdena i bilden (spatialdomänen) till andra domäner, till exempel fourierdomänen, histogrambeskrivningar eller pixelfärgskorrelation för att nämna några. Resultatet av dessa omvandlingar är en kompression och en generalisering av informationen i bilden, vilket ofta är önskvärt, till en N-dimensionell egenskapsvektor. Denna vektor kan sedan jämföras med andra bilders vektorer och genom att mäta avstånd i den N-dimensionella rymden utses de närmsta vektorerna till att representera de mest liknande bilderna. En nackdel med denna metod är att vektorn beskriver alla egenskaperna i bilden lika mycket. Troligtvis är bara en del av bilden intressant i söksammanhanget. Användaren vill kanske hitta en katt, men det spelar ingen roll om det är sommar eller vinter på bilden. En annan nackdel är den tid och datorkraft det tar att beräkna dessa egenskapsvektorer. Ofta måste det till nästlade loopar för att kunna få all information. Fördelar är att vektorerna, i alla fall många av dem, är bra representationer av bilden som en mycket liten datamängd. Det faktum att man kan beräkna flera typer av vektorer på en bild gör beskrivningsmöjligheten mer kraftfull. Som vi kommer att se bygger de flesta neurala nätverk som används till bildsökning på egenskapsvektorrepresentationer av bilder s narare än bildernas pixelvärden. Neurala nätverk Frågan är nu om neurala nätverk kan vara till hjälp för att lösa några av problemen ovan. De nackdelar som nämndes ovan med egenskapsvektorsökningen är av två olika slag. Den andra, att det tar tid att beräkna vektorerna, lämpar sig inte särskilt väl att lösa med neurala nätverk. Däremot den första, svårigheten att söka på endast ett intressant område i bilden, kan föras närmre en lösning med hjälp av neurala nätverk. Detta beskrivs i nästa kapitel. 4

Neurala nätverk Detta inledande avsnitt syftar till att ge en enkel genomgång av neurala nätverk i allmänhet. Det kommer att förutsättas viss förståelse för den mänskliga hjärnans struktur och på vilket sätt neurala nätverk försöker efterlikna den. Förutom grundteorin beskrivs ytterligare några begrepp kortfattat. Grundteori Basen i det neurala nätverket utgörs av den så kallade noden, som representerar neuronen i den biologiska hjärnan. En nod tar två eller flera invärden, gör en viktad linjärkombination av dem och returnerar ett värde beroende på summan. I figur 1 visas hur värdena i vektorn x multipliceras med motsvarande värden i viktvektorn w och summeras. Summan utvärderas sedan av en beslutsfunktion, som returnerar resultatet, y. Värdena både i x och w samt i y ligger i intervallet [0..1]. Dessa noder kan sedan placeras efter varann eller kopplas samman parallellt för att åstadkomma mer komplexa nätverk. Figur 1. Grundelementet i ett neuralt nätverk, noden. Beslutsfunktionen Beslutsfunktioner kan se ut på flera olika sätt. Den mest grundläggande funktionen är stegfunktionen. Den returnerar helt enkelt 1om summan är över ett visst tröskelvärde, annars noll. Detta gör det omöjligt för nätverket att uttrycka sig vagt. Det kan till exempel hända att summan hamnar mycket nära tröskelvärdet men inte över, då vore det kanske bättre att returnera ett värde som kan uttrycka detta. En mjukare tröskelfunktion som även kan returnera värden mellan 1 och 0 löser problemet. En vanligt förekommande sådan är den s -formade sigmoidfunktionen. Se figur 2. Inlärning För att det neurala nätverket skall fylla någon funktion måste det kunna lära sig någonting och det absolut vanligaste sättet kallas backpropagation. Om ett resultat, y, visar sig vara felaktigt måste nodens viktvektor, w, och eventuellt beslutsfunktionen,, justeras så att vektorn x ger upphov till det korrekta resultatet. Backpropagation innebär att storleken på felet i relation till viktvektorn får avgöra hur mycket viktvektorn ska ändras. Det är viktigt att vikterna inte ändras för snabbt, då kan systemet bli svängigt. Men det är också viktigt att det inte ändras för långsamt, då kan det, förutom att inlärningstiden blir längre, fastna i lokala minima. Att 5

viktvektorn befinner sig i ett lokalt minima innebär att varje liten förändring av viktvektorn ger ett sämre resultat, medan en större förändring skulle kunna leda till att noden hamnar i det globala minimat. Det globala minimat är viktvektorns optimala position. Det finns flera sätt att undvika lokala minima, de flesta relativt datorkrävande. Om invärde x 0, i figur 1 ovan, skulle vara resultatet av en annan nod måste felrättningen spridas vidare till denna med en visst avtagande. På grund av detta avtagande är det troligt att små fel inte påverkar noder allt för många lager tillbaka, vilket är nödvändigt för att ge nätverket stabilitet och förmåga att generalisera. 6

Implementationer av neurala nätverk vid bildsökning Gemensamt för alla implementationer som tas upp i denhär rapporten är att de bygger på användandet av egenskapsvektorer som representation av bilder. De flesta exemplen är gjorda med kombinationer av olika egenskapsvektorer, till exempel kombinationer av medelvärden eller varians för färgkanaler i olika regioner, histogram, sannolikhetsfördelningar för närliggande pixlars färger, intensitetsvariationer, kvantiseringar av fourierdomänsrepresentationer, med mera. Alla dessa typer av bildtransformer är mycket beräkningskrävande och kan inte göras i realtid, det vill säga när användaren önskar söka efter en bild, utan måste vara gjorda på förhand. Detta begränsar, för att inte säga omöjliggör, möjligheten att söka bilder på Internet, där ingen kan ha kontroll på bilderna eller skapa de nödvändiga egenskapsvektorerna. Algoritmerna nedan är därför utförda på databaser innehållande mellan 100 och 16 000 bilder med tillhörande uträknade egenskapsvektorer. I fortsättningen nämns inte vilken typ av egenskaper algoritmerna i fråga utnyttjar, utan fokus ligger på jämförelsefunktionerna och inlärningsmetoderna. Enkel backpropagation De mest grundläggande systemen som har implementerats med bas i neurala nätverk använder sig av backpropagationnätverk. Kerminen (2003) visade på ett exempel där de använde sig av en databas med drygt 2000 bilder. Egenskapsvektorerna hade 30 dimensioner vilket leder till att nätverkets första lager måste ha 30 noder. Det första gömda lagret hade 30 noder och det andra gömda lagret samt ut-lagret hade nio noder. Försöket syftade till att kunna klassa bilderna i nio kategorier. Under inlärningsfasen användes mer än 10% av bilderna innan den önskade felsannolikheten var nådd. Det finns mycket att säga om denna experimentuppsättning. För det första är det nio potentiella kategorier istället för ett svar som är ett tal mellan 0 och 1 som anger hur lik bilden är sökmängden. Man kan ha överseende med detta om man antar att kategorierna är inbördes ordnade så att kategori två till exempel är mer lik kategori tre än fyra. För det andra krävdes det drygt 200 bilder innan nätverket började förstå vad som skilde bilderna åt. Skulle det ha varit en användare som suttit och letat efter en bild hade han nog inte fullföljt sökningen. Detta är ett problem som återkommer i alla algoritmer beskrivna i denna rapport. Det brukar dock lösas med att användaren kan ge flera liknande bilder som sökkriterier och/eller att användaren får rangordna bilderna i det första resultatet och sedan förfina sökningen. Det vill säga att man tränar nätverket i realtid där användaren kan styra inlärningen mot det resultat han önskar. Realtidsinlärning ställer höga krav på datorkraften och på algoritmen för inlärning, exempelvis backpropagation. Nätverket bör redan efter ett fem-tiotal iterationer ha förstått vad användaren söker. Radial-basis functions Ett av problemen med backpropagation, att det tar lång tid och många sökbilder att lära nätverket vad användaren vill ha, kan delvis lösas, eller åtminstone förbättras, med hjälp av så kallade Radial-Basis Functions (RBF). RBF är en typ av beslutsfunktion som kan jämföras med sigmoidfunktionen fast med begränsning åt båda hållen (se Figur 2). Oftast bygger den på någon slags gaussisk funktion. Det man vinner på att använda denna funktion istället för sigmoidfunktionen är att man får ett snävare område då noden triggar och därmed en snävare definition av de egenskaper vi söker efter hos bilden. På samma sätt som vi låter tröskelvärdet, c, ändras under inlärningen då vi använder sigmoidfunktionen kan vi låta c ändras för RBF. Det som händer när man sänker tröskelvärdet för sigmoidfunktionen är att man gör nätverket mer känsligt för just denna egenskap. Detta stämmer inte för RBF. För att åstadkomma samma sak då måste man ändra 7

standardavvikelsen, bredden, på gaussfunktionen. Att ändra c för RBF innebär bara att flytta känslighetsområde. Det finns ett antal försök gjorda med denna metod, bland annat Lee & Yoo (2000) och Wood et al. (2004). Wood har använt sig av en metod kallad relevansåterkoppling, på engelska kallad relevance feedback. Den innebär att användaren söker på en bild och får upp ett första resultat. Ur detta resultat kan användaren sedan välja de som liknar den bild som han söker. På detta sätt får nätverket ett antal nya bilder att träna sig på. Om användaren presenterades 20 bilder och markerade tre som goda sökträffar får nätverket tre positiva och 17 negativa tränings bilder. Efter träningen presenteras användaren de, enligt det uppdaterade nätverket, 20 bästa bilderna. Och så vidare tills användaren är nöjd. Figur 2. Två beslutsfunktioner: Sigmoidfunktionen och RBF. Tack vare RBF går det relativt fort för nätverket att begränsa sig, men samtidigt är det lätt hänt att nätverket blir övertränat. Om nätverket blir övertränat kommer resultatet inte heller att bli bra. Denna avvägning görs antingen av den som satt upp systemet genom att specificera en standardavvikelse på RBF, där mindre standardavvikelse leder till ett snabbt och lätt övertränat system, eller genom en utökning av inlärningsfunktionen så att standardavvikelsen varieras under inlärning. Av resultaten Wood presenterar kan man få intrycket att RBF inte fungerar särskilt bra, men det måste understrykas att endast 100 bilder har använts vid utvärderingen. Tar man hänsyn till det presterar RBF bra resultat. I försöket beskrivet av Lee använde man sig av 1015 bilder och relevansåterkoppling. Dessutom jämfördes resultaten med sökning med hjälp av vanlig backpropagation. Res ultatet blir förvånansvärt mycket bättre när RBF används. Redan efter en återkoppling har RBF hittat de sex bästa bilderna. Vad som gör jämförelsen med deras uppsättning av backpropagation - nätverket lite osäker är att de nämner att de för-tränat RBF med 100 bilder, men inte om de har för-tränat backpropagation-nätverket alls. I vilket fall som helst kan man se att RBF ger ett mycket bra resultat. Tešić (2003) experimenterar också med RBF. I det experimentet används en kombination av RBF och sigmoidfunktioner, där det första gömda lagret använder sig av RBF och de två övriga sigmoidfunktioner. För att snabba upp algoritmen används även vektorkvantisering, eller self-organizing maps, som tas upp i nästa kapitel. Trots att experimentet optimerats med vektorkvantisering blir resultatet inte riktigt övertygande. Tešićs slutsats blir att det från experimentet inte går att se huruvida RBF ger bättre eller sämre resultat än andra neurala nätverk. Dessa slutledningar kan tänkas tillskrivas relativt hög trovärdighet då experimentet utförts på 16000 bilder jämfört med det ringa antal bilder Lee och Wood använt. 8

Self-organizing maps Som nämndes i kapitlet innan användes vektorkvantisering för att snabba upp inlärningsfasen. Vektorkvantisering är en förenkling av self-organizing maps (SOM). SOM går till så att varje nods slumpmässigt fördelade initialvikter låts utgöra en vektor som placeras i en rymd. För en mängd testdata tas sedan skalärprodukten mellan testdatavektorn och varje viktvektor. Den viktvektor som genererar den största produkten, det vill säga ligger närmst i rymden, och några grannar flyttas närmare testdatavektorn. Hur stor del av sträckan som flyttas beror både på hur långt bort viktvektorerna ligger och på hur länge träningen redan pågått. Vektorer långt bort flyttas mindre, i proportion till avståndet, än de som ligger nära. Effekten av detta blir att viktvektorerna för de olika noderna snabbt tränas till ett initialstadium som passar den datamängd som ska bearbetas. En experimentuppsättning som utnyttjar SOM är sökmotorn PicSOM (Laaksonen et al., 2000). I den används en något förfinad variant av SOM kallad tree structured self-organizing maps (TS-SOM). Det innebär att det finns ett plan (i N dimensioner) som är en vanlig SOM, beskriven ovan, sedan är planet ovan ett plan av medelvärden eller centroider av delar av det ursprungliga SOM-planet. Nästa steg upp i trädet är centroider av centroiderna av SOM-planet, och så vidare tills roten av trädet är nått. En fördel med denna representation är att sökmotorn under sökning har tillgång till flera nivåer av generalisering och därmed kan utföra sökningen mer effektivt. Figur 3 är en sammanfattning av TS-SOM, där viktvektorer tenderar att placera sig i områden där det är tätt med egenskapsvektorer. Figur 3. Strukturen hos TS-SOM. Viktvektorerna tenderar att placera sig i centrum av samlingar med egenskapsvektorer. PicSOM är ett sökmotorsexperiment utvecklas kontinuerligt (tillgängligt på http://www.cis.hut.fi/picsom). Där kan en användare välja en eller flera bilder som matchar det han söker ur deras databas på 4350 bilder. Dessa valda bilder används sedan för att beräkna TS-SOM som även presenteras tillsammans med sökresultatet. Användaren kan nu lägga till bilder i sin sökmängd genom att välja de bilder ur resultatet som matchar och sedan fortsätta sökningen. Ett nytt resultat och ett uppgraderat TS-SOM visas. Så kan användaren fortsätta tills han hittar det han söker. Återigen sätter det ringa antalet bilder käppar i hjulen. Det är svårt för användaren att hitta bilder som ser tillräckligt lika ut. Det går att få ett bra resultat om användaren på förhand vet vilken typ av bilder som dominerar databasen och väljer att söka efter en av dem. Vid sökning i PicSOM kommer användaren snabbt till ett dödläge då bilderna han valt uppfattas som för olika för att kunna se något gemensamt med dem, och resultaten blir ovidkommande. Detta kan förekomma redan vid få bilder och är framförallt ett resultat av hur egenskapsvektorerna valts. Väljer man att söka på färghistogram försvinner till exempel all 9

information om texturen och två bilder som för en människa ser lika ut upplevs av det neurala nätverket som olika. Detta är inte en begränsning i nätverket utan i indatan. Parallella neurala nätverk Ytterligare en teknik som kan användas för att förbättra resultaten vid sökning är att använda parallella neurala nätverk. Det innebär att flera, eventuellt olika strukturerade, nätverk tränas med olika egenskapsvektorer utvunna ur samma bild. Wang et al. (2005) har nyligen utvärderat användandet av parallella neurala nätverk tillsammans med en förbehandling av bilderna. Förbehandlingen plockar ut olika, för bilden, signifikanta egenskapsvektorer och matar in dem i flera parallella nätverk. Från vart och ett av nätverken fås ett resultat mellan 0 och 1, det vill säga att sista lagret i varje nätverk består av en nod. Resultaten från de olika nätverken viktas samman och ett enda resultat returneras. I uppsättningen beskriven av Wang et al. användes nätverk med 48 noder i första lagret, 56 i andra och en i ut-lagret. Sigmoidfunktionen är beslutsfunktion. I deras utvärdering av metoden jämför de resultaten av att kombinera just denna typ av förbehandling med parallella nätverk med att köra förbehandlingen eller de parallella nätverken var för sig. Resultatet blir betydligt bättre vid kombinationen, men intressant är också att var för sig så blir enbart förbehandlingen bättre än enbart neurala nätverk. Detta tyder på att kombinationen av de båda är känsligare för förändringar i förbehandlingsalgoritmen än i nätverket. En fördel med uppsättningen värd att uppmärksamma är att varje nätverk kan lära sig att hantera och utvärdera endast en typ av egenskap och bara returnera huruvida den förekommer i bilden eller ej. Detta leder till känsligare nätverk. 10

Diskussion Av de studier jag gjort och av de rapporter jag läst tycker jag mig kunna sluta mig till att intresset för att involvera neurala nätverk i bildsökning är och har ett tag varit påtagligt. Även så sent som 2005 (Wang et al., 2005) har rapporter i ämnet lagts fram. Det är också de flesta rapportförfattares mening att neurala nätverk har något att erbjuda bildsökningen. Trots den positiva inställningen får neurala nätverk inte något genombrott. Detta beror troligen på följande nackdelar med tekniken. För det första måste nätverket läras upp i realtid, eftersom varje sökbild har sin egen karaktär. I rapporterna nämnda ovan har inlärningar ofta krävt 50 till 100 bilder för att ge ett gott resultat. För det andra är neurala nätverk datorkraftskrävande. En sökning skulle kunna bli ganska dryg att genomföra om det krävs 50 bilder för att lära upp nätverket. För att råda bot på inlärningsfasens tidsödslande används bland annat SOM (Laaksonen et al., 2000) för att optimera viktfördelningsförfarandet. Ett annat sätt att spara tid vid sökningen är att träna nätverket i förväg med bilder representerande hela databasen. Detta fungerar bra om databasen innehåller bilder som har någonting gemensamt, till exempel att alla är tagna utomhus eller att alla är stiliserade. För en generell databas skulle detta knappast tjäna så mycket till. Problemet med att det krävs ett femtiotal bilder för att träna nätverket kan låta värre än det är. Faktum är att det inte är särskilt komplicerat att implementera ett system med relevansåterkoppling som löser problemet. Med relevansåterkoppling kan det räcka med tre till fyra sökningar för att uppnå önskad träning, beroende på resultatmängdens storlek. Ytterligare en slutsats man kan dra från studien är att valet av egenskapsvektorer ofta har större betydelse än valet av nätverk, eller ens valet av jämförelsemetod. Olika typer av neurala nätverk kan skilja sig åt i effektivitet och de visar sig oftast bättre än de flesta andra jämförelsemetoder. Men det är sällan så stor skillnad att det är motiverat att implementera den komplicerade och datorkraftskrävande strukturen. Användandet av enbart SOM ger till exempel nästan lika bra resultat som ett backpropagationnätverk fast till en betydligt lägre datorkraft. Att forskningen på val av egenskapsvektorer långt ifrån stannat upp leder naturligtvis också till att forskningen på neurala nätverk (inom bildsökning) stannar upp. Egenskapsvektorerna är som ögonen och nätverket som hjärnan, och det är ju knappast någon idé att trimma hjärnan om ögonen ändå inte fungerar korrekt. Neurala nätverk har i dagsläget inte mycket att sätta emot övriga metoder för bildsökning, framförallt inte när det gäller Internet. Där blir det primära problemet att utföra de krävande beräkningarna av egenskapsvektorerna, även om detta borde kunna skötars på liknande sätt som indexeringen av websidor. Men vad det lider kommer de basala problemen att lösas och öppna upp för de neurala nätverken, förenklingar av dem och andra avacerade jämförelsemetoder. 11

Referenslista Egmont-Petersen M., de Ridder D., Handels H., (2002), Image Processing with Neural Networks a Review i Pattern Recognition, No. 35, s. 2279-2301. Fu L., (1994), Neural Networks in Computer Intelligence, New York: McGraw-Hill, Inc., ISBN 0-07-911817-8. Kerminen P., Tanttu J.T., Gabbouj M., (2003), Utilization of Luminance Information on Color-based Image Retrieval, Tampere University of Technology. Laaksonen J., Koskela M., Laakso S., Oja E., (2000), PicSOM Content-Based Image Retrieval with Self-Organizing Maps i Pattern Recognition Letters 21, No. 13-14, s. 1199-1207. Lee H.K., Yoo S.I., (2000), Nonlinear Co mb ining of Heterogeneous Features in Content- Based Image Retrieval, Seoul National University. Piela P., (2001), Introduction to Self-Organizing Maps, Statistics Finland. Ripley B.D., (1996), Pattern Recognition and Neural Networks, Cambridge: Cambridge University Press, ISBN 0-521-46086-7. Tešić J., (2003), Intelligent Image Database Searching System, University of California. Wang Y., Ding M., Zhou C., Zhang T., (2005), A Hybrid Method for Relevance Feedback in Image Retrieval using Rough Sets and Neural Networks i International Journal of Computational Cognition, No. 3, s. 78-87. Wood M.E.J., Campbell N.W., Thomas B.T., (2004), Searching Large Image Databases using Radial-Basis Function Neural Networks, University of Bristol. 12