Filtrering af billedspam

Størrelse: px
Starte visningen fra side:

Download "Filtrering af billedspam"

Transkript

1 Filtrering af billedspam Dan Richter Jørgensen Vejleder: Kim Steenstrup Pedersen Datalogisk Institut Københavns Universitet 30. april 2008

2 Indhold 1 Indledning Læsevejledning Eksterne omstændigheder Historie Hvad er spam? Billedspam Beskrivelse af SPAMfighters system Beregning af billedsignaturer Valg af problemstillinger Segmentering af tekstdokumenter Wolf og Jolions metode Feng og Tans metode Farvesegmentering Gruppering af ord i binære billeder De grundlæggende koncepter Irregulære pyramider Konstruktion af pyramidens nederste lag Udvælgelse af overlevere Udvælgelse af børn Tilføjelse af baggrundsinformation Opdatering af pyramidestrukturen De efterfølgende lag i pyramiden Opdatering af naboskab Udvidet udvælgelse af børn Opdatering af pyramidestrukturen Stopkriterier i

3 5.5 Styrker og svagheder ved metoden Udvidelser af metoden Klassificering af spam vha. lavniveau billedfeatures Indsamling af legitime billeder Udvælgelse af billedfeatures SPAMfighters nuværende features Features baseret på størrelse Features baseret på farver Øvrige anvendte features Mulige udvidelser Valg af indlæringsalgoritme Support Vector Machines Relateret arbejde Genkendelse af nær-dubletter Baggrund og valg af metode Farvefeatures Valg af farvemodel Kvantisering og normalisering Afstandsmål Tekstur Gradient baserede features Beregning af gradienter Kvantisering og afstandsmål Opbygningen af systemet til genkendelse af nær-dubletter Valg af featurevektor Mulige udvidelser Afprøvning Valg af datasæt Segmentering Valg af parametre Generelle observationer Resultater på 13. juni datasættet Resultater på forår 2007 datasættet opsummering Gruppering af ord i binære billeder Afprøvningsstrategi De opnåede resultater Opsummering Klassificering af spam vha. lavniveau billedfeatures Undersøgelse af de legitime datasæt ii

4 8.4.2 Klassifikation af spam Resultater på Large Spring datasættet Resultater på Large Autumn datasættet Opsummering Genkendelse af nær-dubletter Afprøvningsstrategi Resultater ved brug af farvefeatures Resultater ved brug af LBP-histogrammer Resultater ved brug af gradient baserede features Resultater ved kombination af features Resultater for Large Autumn datasættet Opsummering Konklusion og videre arbejde Opsummering af de opnåede resultater Bidrag til SPAMfighter Bidrag i forhold til fagområdet Videre arbejde A Den vedlagte DVD 105 B Testdata anvendt i afsnit Litteratur 113 iii

5 Kapitel 1 Indledning Dette er et datalogisk speciale skrevet på Københavns Universitet i perioden 28. august 2007 til 5. maj Projektet er skrevet med hjælp og vejledning af lektor Kim Steenstrup Pedersen. Specialet er udarbejdet i samarbejde med firmaet SPAMfighter, der udvikler og sælger software til bekæmpelse af uønskede masseomdelte s, bedre kendt som spam. I dette speciale fokuseres der på filtrering af en ny form for spam, kaldet billedspam. Det særlige ved billedspam er, at spambudskabet er placeret i et vedhæftet billede, frem for i almindelig tekstform, hvilket betyder, at almindelige teksbaserede spamfiltre bliver gjort virkningsløse. Udfordringen er derfor at undersøge og afprøve metoder, der er i stand til at filtrere billedspam. Projektet tager udgangspunkt i SPAMfighters eksisterende system, men forskellige alternativer til dette bliver også undersøgt. I første del af projektet er formålet at beskrive og afprøve metoder, som kan give en direkte forbedring af det nuværende system. Projektets anden del omhandler derimod metoder, som ikke er direkte kompatible med SPAMfighters system. Formålet er at undersøge, hvilke forbedringer SPAMfighter kan forvente at opnå ved at udvide og generalisere deres system. Da billedspam er et relativt nyt fænomen, er mængden af videnskabelig litteratur inden for området forholdsvist begrænset ([AMH05] [FPR06], [DGEB07], [WJL + 07]). Et fællestræk ved den eksisterende litteratur er desuden, at de datasæt der anvendes til afprøvning, enten er meget små, eller på anden vis ikke er repræsentative for virkelig data. Konsekvensen er, at det kan være meget svært at vurdere, hvor godt de præsenterede metoder ville klare sig under mere realistiske forhold. I dette projekt bliver der derfor gjort et stort arbejde for at indsamle og anvende datasæt, der så vidt mulig afspejler virkelige forhold. Det er derfor min vurdering, at de resultater der præsenteres i afprøvningen, ligger meget tæt op af de resultater der i praksis kan forventes. Læseren af dette speciale forventes at have kendskab og erfaring med grundlæggende emner inden for billedbehandling og mønstergenkendelse. Læseren bør desuden være i besiddelse af en vis matematisk modenhed samt basal viden om sandsynlighedsregning. På den vedlagte DVD findes kildekoden til de udviklede metoder, samt de datasæt der er blevet anvendt til afprøvning. DVD en indeholder desuden en digital kopi af denne 1

6 rapport, samt de billeder den indeholder. Små detaljer, som er gået tabt i den printede version af rapporten, kan derfor ses her. Yderligere detaljer gives i bilag A. 1.1 Læsevejledning Strukturen i dette projekt er som følger. I kapitel 2 gives først en kort gennemgang af historien bag begrebet spam, hvorefter det diskuteres, hvad spam egentlig er. Desuden uddybes det hvorfor billedspam er opstået og hvorfor det udgør et særligt problem inden for spamfiltrering. I kapitel 3 beskrives SPAMfighters nuværende system til filtrering af billedspam, og ud fra denne gennemgang udvælges fire områder, som er kernen i dette speciale. Kapitel 4 og 5 omhandler segmentering af tekstdokumenter hhv. gruppering af ord i binære billeder og udgør den del af projektet, der er direkte relateret til SPAMfighters nuværende system. Derefter bliver en ny metode til filtrering af billedspam gennemgået i kapitel 6. Idéen bag denne metode er at anvende simple og beregningsmæssige billige billedfeatures til at adskille almindelige billeder fra spambilleder. Det sidste emne der behandles i dette projekt, er genkendelse af såkaldte nær-dubletter, hvilket sker i kapitel 7. Afprøvningen af alle de udviklede metoder finder sted i kapitel 8, hvor der også gives en beskrivelse af de anvende datasæt. Endelig afsluttes rapporten i kapitel 9 med en konklusion samt forslag til videre arbejde. 1.2 Eksterne omstændigheder I løbet af dette projekt har to hændelser haft så stor betydning, at de kræver særlig opmærksomhed. For det første skal det gøres klart, at metoden beskrevet i kapitel 6 er udviklet uafhængigt af arbejdet udført af Dredze et al. [DGEB07]. Jeg havde således både beskrevet og afprøvet min metode, inden jeg fik kendskab til denne artikel. Dette er vigtig at holde sig for øje, da de to værker har meget store overlap i den teoretisk såvel som den praktiske fremgangsmåde. Desværre for mig var Dredze et al. bare et par måneder hurtigere ude af starthullerne. For det andet skal det bemærkes, at hovedarkitekten bag SPAMfighters system til filtrering af billedspam fratrådte sin stilling, mens dette projekt blev udarbejdet. Dette har primært berørt rapportens afprøvningsafsnit, hvor det i et enkelt tilfælde ikke har været muligt at sammenligne de udviklede metoder med SPAMfighters system. 2

7 Kapitel 2 Historie Spam er oprindeligt navnet på et fødevareprodukt (Spiced Pork and ham) fremstillet af det amerikanske firma Hormel Foods Corporation. Produktet er blevet fremstillet siden 1937 og minder på mange måder om det danske produkt Jaka-Bov 1. I 1970 anvendte Monty Python produktet i den nu legendariske Spam sketch, der udspiller sig i en café hvor stort set alt på menuen indeholder Spam. I bedste Monty Python-stil dukker en gruppe vikinger op midt i sketchen og afbryder dialogen ved gentagende gange at synge SPAM, SPAM, SPAM, SPAM... lovely SPAM, wonderful SPAM. Denne overdrevne brug af ordet spam er angiveligt en reference til den britiske rationering under anden verdenskrig, hvor Spam var et af de få bredt tilgængelige kødprodukter. Sketchen menes også at være grunden til, at uønskede masseomdelte elektronisk beskeder i dag kaldes spam [Wik08b]. Det er iøvrigt værd at bemærke, at legitime s inden for anti-spam branchen ofte kaldes for ham, hvilket er det engelske ord for skinke. Den første egentlige spam blev udsendt af computerfirmaet DEC i 1978 via ARPANET, der var forgængeren til det nuværende internet. Mailen, der indeholdt et reklamefremstød for firmaets nye DEC-20 computer, blev sendt til alle ARPANET adresser på den amerikanske vestkyst, hvilket skabte en del påstyr. Hele mailen, samt nogle af de reaktioner den fremprovokerede, kan ses på Brad Templetons hjemmeside [Temb]. Spam-fænomenet bredte sig i 80 erne og de tidlige 90 ere til USENET og de såkaldte MUDs (multi-user-dungeons), der kan betragtes som forgængere til online-samfund såsom Second Life og World of Warcraft. Den første store bølge af spam dukkede dog først i 1994, hvor de religiøse Global Alert for All: Jesus is Coming Soon og kommercielle Green Card Lottery - Final One? spambeskeder oversvømmede USENET. Det er også omkring dette tidspunkt, at ordet spam for alvor begynder at blive almindelig kendt og anvendt [Tema]. Spam har siden spredt sig til stort set alle former for elektronisk kommunikation og findes nu i chat-programmer, nyhedsgrupper, gæstebøger, wiki er og på mobiltelefoner, fildelingssider, blogs mm. Den elektroniske post er dog særlig hårdt ramt, og det skønnes, at op til 95 procent af alle s i dag udgøres af spam [Net]. 1 Mere information kan findes på 3

8 2.1 Hvad er spam? I modsætning til den almindelige opfattelse indeholder alle spam-beskeder ikke et kommercielt budskab. Dette var fx. ikke tilfældet for meget af det tidlige USENET spam, som var politisk eller religiøst inspireret. Omvendt er s med et kommercielt budskab ikke nødvendigvis spam, og mange folk er således tilmeldt nyhedsbreve fra forskellige firmaer, som de ønsker at modtage tilbud fra. I de senere år er der desuden opstået en ny form for spam, hvis eneste formål er at svindle folk. Denne type spam kaldes for phishing og går som regel ud på at franarre personlige oplysninger fra internetbrugerne, såsom informationer om deres kreditkort eller netbank. Disse s opfordrer ofte brugeren til at opdatere deres personlige oplysninger på en internetside der er styret af svindlere, men som til forveksling ligner en legitim side, som fx. forsiden til brugerens netbank. I andre tilfælde indeholder siderne ondsindet kode, der forsøger at installere forskellige skadelige programmer på brugerens computer. Formålet er som regel at stjæle brugernes personlige oplysninger, som efterfølgende risikerer at blive anvendt til forskellige former for identitetstyveri. Ovenstående eksempler viser, at det ikke er trivielt at give en klar definition af begrebet spam. Et udmærket bud er dog givet af Spamhaus 2, der kræver, at følgende betingelser begge skal være opfyldt, for at en kan kategoriseres som spam: 1. en skal være uopfordret, hvilket vil sige at modtageren hverken direkte eller indirekte har givet tilladelse til at den bliver sendt. 2. en skal være masseomdelt. Denne definition betyder desværre, at nogle brugere kan opfatte en som legitim, mens andre vil opfatte den som spam. Antag fx. at et firma udsender et nyhedsbrev til folk der har tilmeldt sig, men også til folk der ikke har tilmeldt sig. På trods af at indholdet af en er det samme, vil de to grupper have forskellige opfattelser af dens beskaffenhed. Eksemplet viser, at en mail ikke altid kan klassificeres alene på baggrund af dens indhold, hvilket er et af de problemer, der skal tages højde for i udviklingen af spamfiltre. Et andet problem er, at folk i almindelighed ikke bekymrer sig ret meget om definitioner. Hvis de modtager en legitim , der ikke er tilegnet dem selv, ( ens pendant til de har desværre fået forkert nummer ) er de derfor tilbøjelige til at betragte denne som spam. En undersøgelse foretaget af firmaerne Q interactive og MarketingSherpa viser desuden, at det ikke kun er s med forkert modtageradresser, der bliver rapporteret som spam. Hele 41% af de adspurgte personer rapporterede fx. s som spam hvis den ikke var interessant for mig, mens 25% argumenterede med at de modtog for mange s fra den pågældende afsender [Int08]. Dette betyder, at der kan opstå situationer, hvor det er meget svært at skelne mellem legitime s og spam. På figur 2.1 ses fire billeder, hvoraf to stammer fra legitime s og to andre er rapporteret som spam af SPAMfighters brugere. Umiddelbart vil de fleste nok gætte på, at (a) og (b) er spam, men rent faktisk forholder det sig omvendt. I praksis 2 4

9 (a) (b) (c) (d) Figur 2.1: Somme tider kan det være svært at skelne mellem legitime billeder og spam. Her er (a) og (b) legitime billeder, mens (c) og (d) er rapporteret som spam af SPAMfighters brugere. betyder uoverensstemmelsen mellem Spamhouses definitionen og folks opfattelse af hvad der er spam, at det perfekte spamfilter kun er en teoretisk mulighed. Undersøgelsen fra Q Interactive viser desuden, at man skal være varsom med ukritisk at anvende feedback fra brugeren. 2.2 Billedspam Efterhånden som spam s er blevet et større og større problem, er der blevet udviklet en lang række metoder til at filtrere disse fra legitime s. Dette har ført til en form for våbenkapløb, hvor anti-spamfiltre er blevet mere og mere avancerede, i takt med at spammere finder på nye måder at få deres budskaber frem til brugerne. I starten af 2005 begyndte spammere således at tage en helt ny teknik i brug, nemlig billedspam. Metoden går ud på at placere indholdet af spambeskeden i et billede som derefter vedhæftes en legitimt udseende og sendes ud til internetbrugerne. Dette betyder, at den traditionelle, og ofte avancerede, tekstanalyse der er grundlaget for de fleste spamfiltre, fuldstændig bliver omgået. Spammere fandt hurtigt ud af, at dette var en effektiv måde at snyde spamfiltre, og andelen af billedspam steg hurtigt fra at udgøre nogle få procent af den samlede mængde spam, til at udgøre hele 65 procent i slutningen af Efterhånden som de fleste spamfiltre fik tilføjet moduler til at håndtere billedspam, faldt denne andel dog igen. Spammerne har dog ingenlunde opgivet at anvende billedspam, som i dag skønnes at udgøre omkring 15 procent af alle spam-beskeder [Lem]. Grunden til at billedspam stadig er et problem er, at spammere hele tiden finder på nye 5

10 (a) (b) (c) (d) (e) (f) Figur 2.2: Eksempler på forskellige teknikker som spammere anvender for at omgå spamfiltre. I (a) og (b) er tekstindholdet identisk, men farverne og størrelsen af billederne er forskellige. Dette er et udmærket eksempel på, at spammere skaber mange forskellige spambilleder ud fra den samme skabelon. I (c) og (d) er der blevet tilføjet en del støj til billederne, mens teksten i (e) er blevet roteret en lille smule. Teksten i disse billeder er desuden skrevet med flere forskellige farver og fonte. På (f) ses en helt anden tilgang, hvor en begrænset mængde tekst er placeret over på et almindeligt billede. teknikker til at omgå de udviklede spamfiltre. I starten var spambillederne ofte så simple, at indlejret tekst let kunne genkendes og oversættes til klartekst vha. OCR teknikker (Optical Character Recognition). En del billedspam kunne desuden frafiltreres ved at lave en bitvis sammenligning med allerede kendte spambilleder 3. Spammere besværliggjorde dog hurtigt disse teknikker ved at tilføje støj og andre små ændringer til billederne, således at disse hver især blev unikke. Siden da er opfindsomheden ikke blevet mindre, hvilket er illustreret på figur 2.2, der viser nogle få eksempler på de metoder spammere anvender på nuværende tidspunkt. Idéen med at vedhæfte selve spambeskeden til legitimt udseende s er siden blevet videreudviklet, og spam optræder i dag i en række formater såsom pdf-, Microsoft Excel-, zip- og sågar mp3-filer. Ingen af disse metoder har dog været den samme succes, som billedspam oprindeligt var, og de har derfor ikke opnået en særlig stor udbredelse. 3 I praksis blev billederne kodet vha. en hashfunktion, som kunne sammenlignes med hashkoderne for kendte spambilleder. 6

11 Kapitel 3 Beskrivelse af SPAMfighters system I dette kapitel bliver SPAMfighters system til filtrering af spam kort gennemgået med fokus på metoden til håndtering af billedspam. Gennemgangen er med vilje gjort relativt overfladisk og tjener primært som en måde at identificere systemets svagheder samt som inspiration til mulige udvidelser. Den bruges desuden til at beskrive nogle af de begrænsninger systemet stiller, ift. udvikling af nye metoder. SPAMfighters system til filtrering af spam er pointbaseret og bygger primært på brugerfeedback, samt en central database der indeholder kendte spamsignaturer. Dette gælder både for almindelig teksbaserede spam såvel som alle andre former for spam. Hver gang en bruger modtager en , udregnes således et pointtal mellem 0-100, der angiver hvor meget mailen ligner spam. Dette tal er hovedsagligt bestemt af, om ens signatur stemmer overens med en allerede kendt spamsignatur, men andre faktorer kan også spille ind. Der gives fx. ekstra points, hvis mailen indholder en vedhæftet gif-animation, eller et billede der er opdelt vha. en html tabel. Som sagt bygger systemet i høj grad på feedback fra brugerne, som har ansvaret for at melde tilbage til SPAMfighter, hvis en spam fejlagtigt klassificeres som en legitim . Spamsignaturen bliver derefter lagt ind i SPAMfighters database, og jo flere brugere der melder den samme mail som spam, desto flere point giver den. Det skal bemærkes, at udregningen af spamsignaturen og alle andre features finder sted på brugerens computer, hvorefter spamsignaturen sendes til SPAMfighters database, hvor det undersøges, om der findes et match. Da brugerne i mange tilfælde sidder med relativt gamle maskiner, sætter dette nogle væsentlig beregningsmæssige begrænsninger på de metoder, der kan afprøves i dette projekt. 3.1 Beregning af billedsignaturer SPAMfighter håndterer i vid udstrækning s, der indeholder vedhæftede billeder på samme måde som almindelige tekstbaserede s. Dette vil sige, at de vedhæftede billeder blot reduceres til en eller flere signaturer, der kan matches med de kendte spamsigna- 7

12 Genkendelse af tekst Parser Præprocessering Detektion af tekst cc analyse Beregning af billedsignatur Beskæring Gråtone Medianfilter Rotation Skævvridning Tekst detektion Layout analyse Segmentering Håndtering af bil leder uden tekst Uniformitetsmål Figur 3.1: Den overordnede struktur af SPAMfighters systems til genkendelse af billedspam. turer. Den overordnede struktur til beregning af billedsignaturer er illustreret på figur 3.1. Det første trin i metoden er at parse en, for at bestemme om den indeholder et eller flere billeder. Hvis mailen indeholder et billede, der er brudt op i flere mindre delbilleder, sættes disse også sammen til ét billede. Det næste trin er præprocessering, hvor billedet om nødvendigt konverteres til gråtoner og randen beskæres. Systemet arbejder altså kun med gråtonebilleder, hvilket er med til at holde køretiden nede. Beskæringen af billedranden sker primært fordi, det en overgang var populært blandt spammere at tilføje en støjfyldt rand uden om selve spambeskeden. De beskårede gråtonebilleder bliver desuden støjfiltreret vha. et modificeret medianfilter, hvilket er med til at gøre den efterfølgende detektion og genkendelse af tekst mere robust. I næste trin undersøges det, om billedet indholder tekst, og hvis dette er tilfældet, udføres en simpel analyse af tekstens layout. Først undersøges det dog, om billedet er blevet roteret eller skævvredet, hvorefter eventuelle område med tekst identificeres. Hvis billedet indeholder områder med tekst, bliver disse inddelt i logiske blokke såsom overskrifter, kolonner mm., der efterfølgende bliver segmenteret med en globalt bestemt tærskelværdi. Disse binariserede tekstblokke udgør derved inddata til næste modul i metoden, hvor en analyse af sammenhængende komponenter (eng: connected components) bruges til at identificere de enkelte ord og bogstaver. I sidste ende beregnes der en billedsignatur for hver blok på baggrund af længden af de fundne ord. Hvis billedet ikke indeholder tekst, bliver det sendt til et andet modul, hvor det inddeles i en række delbilleder på baggrund af et uniformitetsmål. Billedets signatur kodes i sidste ende, ud fra hvorledes billedet er blevet opdelt. For at gøre systemet så hurtigt som muligt, kodes de fundne signaturer som en md5sum [Wik08a]. Dette sikrer, at den datamængde der skal udveksles mellem brugeren og SPAMfighters database er minimal. Desuden betyder det, at selve opslaget i SPAMfighters database sker på en effektiv måde, da det blot skal undersøges om en identisk md5sum allerede findes i databasen. 8

13 3.2 Valg af problemstillinger På baggrund af det netop beskrevne system har jeg udvalgt fire problemstillinger, der forsøges løst i dette projekt: Segmentering af tekstdokumenter med en global tærskelværdi er beregningsmæssigt effektivt men generelt ikke særlig robust. I betragtning af at spammere ofte anvender teknikker, der vanskeliggør genkendelse af tekst, er det derfor tvivlsomt, om metoden er tilstrækkelig. I dette projekt vil det derfor blive undersøgt, om SPAMfighters system kan forbedres ved at anvende en mere avanceret segmenteringsalgoritme. Kravet til denne er selvfølgelig, at den ikke må være for beregningsmæssig krævende. SPAMfighters system er kun i stand til at detektere og genkende tekst, der overholder et simpelt vandret layout. Dette betyder for det første, at algoritmerne til at oprette roterede eller skævvredne billeder skal være meget robuste. For det andet er systemet afhængigt af, at spammere ikke bliver alt for kreative, og fx. begynder at anvende et lodret tekstlayout. For at skabe et system der er mere fleksibelt, vil det derfor blive undersøgt, om der findes alternative metoder, der ikke er underlagt disse begrænsinger. Det nuværende system er ikke i stand til at klassificere et spambillede, hvis dets signatur ikke allerede er kendt. Dette betyder, at nye typer billedspam ikke bliver frafiltreret, før brugerne begynder at melde tilbage til SPAMfighter. Jeg mener, at dette er en klar svaghed ved systemet og ønsker derfor at undersøge, om billedspam kan adskilles fra legitime billeder ved at kombinere maskinindlæring med nogle simple lavniveau billedfeatures. I modsætning til segmentering og tekstgenkendelse ligger denne del af projektet uden for rammerne af SPAMfighters nuværende system. Jeg vil derfor bestræbe mig på at udarbejde en løsning, der potentielt set kan indarbejdes i systemet, men jeg vil ikke komme med forslag til, hvordan dette skulle gøres i praksis. Brugen af md5summer i databasen er en hastighedsmæssigt effektiv, men ikke særlig robust, løsning. Små ændringer i et billede kan let resultere i to forskellige signaturer, hvilket resulterer i, at et spambillede ikke bliver genkendt. Denne betragtning gør sig i særlig høj grad gældende for de billeder der ikke indeholder tekst, hvor selv enkelte støjpixels kan ændre den måde billedet opdeles og dermed kodes. Et mere generelt system til genkendelse af nær-dubletter, hvor det er muligt at måle afstanden mellem billeder, vil derfor blive beskrevet. Denne del af projektet ligger igen udenfor rammerne af SPAMfighters system og vil sandsynligvis kræve en del arbejde at implementere i praksis. Jeg vil derfor forsøge at identificere de vigtigste strukturmæssige ændringer samt påpege fordele og ulemper ved den nye metode. Som det kan ses af ovenstående punktopstilling, består dette projekt altså både af metoder direkte møntet på at forbedre det nuværende system samt løsningsforslag af mere teoretisk karakter. Et fælles mål, for alle de metoder der afprøves, er dog, at de skal opfylde det grundlæggende krav om effektivitet mht. køretid. 9

14 For de to sidstnævnte dele af projektet skal der selvfølgelig gælde, at de udviklede metoder er i stand til at klassificere en meget høj procentdel af det billedspam de præsenteres for. Endnu vigtigere er det dog, at dette ikke sker på bekostning af fejlklassifikation af legitime s. Der vil derfor blive gjort store bestræbelser for at opnå det bedste kompromis mellem en korrekt klassifikation af hhv. spam og ham. 10

15 Kapitel 4 Segmentering af tekstdokumenter Som netop beskrevet anvender det nuværende system en global tærskelværdi til segmentering af fundne tekstblokke. Ved at udregne tærskelværdien ud fra områderne omkring disse tekstblokke kan der opnås et fornuftigt bud på en tærskelværdi, samtidig med at køretiden holdes nede. Der kan dog let opstå problemer, hvis kontrasten omkring bogstaverne er meget varierende, eller hvis billedet er meget støjfyldt. I disse situationer er én tærskelværdi simpelthen ikke nok til at lave en fornuftig segmentering. Det oplagte alternativ er selvfølgelig at anvende flere forskellige tærskelværdier udregnet ud fra lokal billedinformation. Der findes et utal af metoder, der anvender dette princip, hvoraf flere er udviklet med henblik på segmentering af tekstdokumenter. Heldigvis findes der flere store undersøgelser, der afdækker mange af disse metoders styrker og svagheder. I en sådan undersøgelse fra 1995 konkluderer Trier et al. [TT95], at en metode udviklet af Niblack [Nib85] generelt er den bedste segmenteringsalgoritme. I en senere undersøgelse fra 2004 sammenligner Sezgin et al. [SS04] 40 forskellige metoder på en række forskellig billeder. Det konkluderes, at en variant af Niblacks metode udviklet af Sauvola et al. [SP00] er blandt de bedste metoder til segmentering af tekstdokumenter. Ud over at klare sig godt i disse undersøgelser har varianter og videreudviklinger af Niblacks metode generelt den egenskab, at de kan implementeres effektivt mht. køretid. I dette projekt bliver to videreudviklinger af Sauvolas metode derfor undersøgt nøjere. For god ordens skyld bliver principperne bag både Niblacks og Sauvolas metoder dog gennemgået først. Fælles for alle de beskrevne metoder er, at det antages, at tekst (lokalt) har en lavere gråtoneværdi end baggrunden. Metoderne finder altså mørk tekst på lys baggrund. Grundidéen i Niblacks algoritme er at beregne en tærskelværdioverflade ud fra middelværdien (m) og spredningen (s) i et lokalt område omkring hver pixel i et billede. Tærskelværdien udregnes som, T = m + k s, (4.1) hvor k er en negativ konstant, der ofte sættes til 0.2. Størrelsen af det lokale vindue vælges som regel et sted mellem og pixels. Dette valg betyder dog ikke alverden, så længe vinduet er stort nok til at dække mindst et par bogstaver. 11

16 Et problem ved metoden er, at den ofte introducerer støj i områder uden tekst, hvilket gør en efterfølgende rengøring af resultatet nødvendig. Sauvola et al. forsøger at udbedre dette problem ved at antage, at tekst-pixels har en gråtoneværdi omkring 0, og baggrundspixels har en værdi nær 255. De lokale tærskelværdier bliver derefter udregnet som, T = m ( 1 k ( 1 s R )), (4.2) hvor k og R er konstanter, der sættes til hhv. 0.5 og 128. Som sagt klarer denne metode sig generelt rigtig godt på tekstdokumenter, men nærmere undersøgelser har vist, at metoden ofte fejler, når den opstillede antagelse ikke holder. Dette er fx. tilfældet i dokumenter, hvor kontrasten mellem baggrund og tekst er meget lille. 4.1 Wolf og Jolions metode Den første algoritme, der er blevet afprøvet i dette projekt, bygger på en artikel skrevet af Wolf og Jolion [WJ04]. Artiklen beskriver et system til genkendelse af tekst i videosekvenser. Dette er netop en situation hvor Sauvolas antagelse, om meget mørk tekst på meget lys baggrund, ofte er fejlagtig. Wolf og Jolion forsøger derfor at omformulere segmenteringsproblemet, således at beslutningen om hvilken klasse en pixel tilhører, ikke er bestemt direkte ud fra gråtoneværdier men på baggrund af den lokale kontrast. Det første skridt er at definere, hvad der menes med kontrast. Her defineres kontrasten for den centrale pixel I i et vindue af gråtoneværdier som, C L = m I. (4.3) s Da den grundlæggende antagelse, om at tekst lokalt har en lavere gråtoneværdi end forgrunden, stadig holder, er det ikke nødvendigt at betragte pixels, hvis værdi er højere end middelværdien af vinduet. Dette betyder, at den absolutte værdi i tælleren af (4.3) kan fjernes. På baggrund af (4.3) er det nu muligt at beregne den maksimale kontrast i et lokalt vindue, c max = m M, (4.4) s hvor M er den mindste gråtoneværdi i hele billedet. Wolf og Jolion noterer sig, at det er svært at formulere en fornuftig segmenterings-strategi udelukkende baseret på den lokale kontrast og maksimale kontrast i et vindue, da disse værdier ikke afspejler, hvordan kontrasten varierer i resten af billedet. Derfor definerer de følgende mere globale mål for kontrast, C W = m M R, (4.5) 12

17 hvor R er den maksimale spredning blandt alle lokale vinduer i billedet, dvs. R = max(s). Målet indikerer altså, hvor lyst eller mørkt det aktuelle vindue er i forhold til resten af billedet. Ud fra disse tre kontrastmål udformes nu følgende segmenteringsstrategi: En pixel klassificeres som tekst, hvis den lokale kontrast er høj i forhold til den korrigerede maksimale kontrast, I : C L > a(c max C W ), (4.6) hvor a er en konstant. Ved lidt simpel manipulation af de enkelte led kommer man frem til følgende udtryk for tærskelværdien, T = (1 a)m + am + a s (m M) (4.7) R I situationer hvor den lokale spredning er meget høj (s = R), er der stor sandsynlighed for, at det lokale vindue indeholder tekst, og dette afspejler sig ved at T = m. I den modsatte situation hvor den lokale spredning er meget lav, er sandsynligheden for, at det lokale vindue indeholder tekst meget lille. Tærskelværdien bliver T (1 a)m + am, hvilket betyder, at en pixel kun bliver klassificeret som tekst, hvis den lokale kontrast er meget høj. Dette ses lettest ved at betragte ligning (4.6), hvor C W kan ignoreres, da (s << R). Ved at vælge konstanten a = 0.5 kommer tærskelværdien til at ligge midt mellem m og M. Køretiden for denne algoritme er lidt højere end for Niblacks oprindelige algoritme, idet den maksimale spredning blandt alle vinduer skal findes, før tærskelværdierne kan beregnes. Dette betyder, at to gennemløb af billedet er nødvendigt, men ved at gemme middelværdier og spredninger fra første gennemløb er det kun selve tærskelværdiudregningen, der skal udføres i andet gennemløb. Endvidere kan middelværdien og spredningen udregnes effektivt ved brug af et glidende vindue og følgende formel for spredningen, σ = 1 (( N N 1 i=1 x 2 i ) N x 2 ), (4.8) hvor x i er den i te pixel, i et vindue der indeholder N pixels, og x er den gennemsnitlige gråtoneværdi i dette vindue. Wolf og Jolion afprøver deres metode på en række billede, der indeholder tekst. Billederne er taget fra videosekvenser og har derfor en lav opløsning og ofte er kontrasten mellem tekst og baggrund ikke særlig stor. Under disse forhold fungerer den foreslåede metode bedre end både Niblacks og Sauvolas metoder. På figur 4.1 ses resultaterne ved at anvende metoden på to typiske spambilleder. 4.2 Feng og Tans metode Et problem ved Wolf og Jolions metode er, at den maksimale spredning- og den minimale gråtoneværdi i billedet anvendes i beregningen af tærskelværdier. Dette betyder, at metoden 13

18 (a) (b) (c) (d) (e) (f) Figur 4.1: To eksempler på spambilleder der er blevet segmenteret med Wolf og Jolions metode. (a) og (d) er de originale billeder, (b) og (e) er de gråtonebilleder som udgør inddata til algoritmen og (c) og (f) er resultaterne. I begge eksempler bliver alle ord segmenteret korrekt, og størstedelen af støjen er fjernet. Metoden er dog ikke i stand til at fjerne de grafiske elementer i (a), men det er den i og for sig heller ikke udviklet til. 14

19 ofte fejler i situationer, hvor der er stor forskel på de gråtoneværdier, der udgør billedets baggrund. Feng og Tan [FT04] forsøger at udbedre dette problem ved kun at anvende lokal information i beregningen af tærskelværdier. Middelværdi og spredningen bliver stadig udregnet i et lille vindue lokalt omkring hver pixel, kaldet det primære vindue. Til forskel fra Wolf og Jolions metode bliver den minimale gråtoneværdi, (M), også fundet i dette vindue. Ligeledes erstattes den maksimale spredning, (R), med et mere lokalt mål. Dette gøres ved at finde den maksimale spredning i et sekundært vindue omkring hver pixel, (R S ). Her gælder selvfølgelig, at det sekundære vindue er større end det primære. Feng og Tan kommer derved frem til følgende udtryk til beregning af lokale tærskelværdier, ( s ) T = (1 α 1 )m + α 2 (m M) + α 3 M, (4.9) R S hvor α 2 = k 1 ( s R S ) γ, α 3 = k 2 ( s R S ) γ og α 1, γ, k 1 samt k 2 er positive konstanter. Som det ses minder udtrykket meget om det tilsvarende udtryk fra Wolf og Jolions metode, men med den forskel at dette har væsentligt flere frie parametre. Desuden bliver køretiden langsommere, da R S skal beregnes for hvert sekundært vindue. For at udbedre dette foreslår Feng og Tans, at der kun udregnes én tærskelværdi for hvert område dækket af det primære vindue. De resterende tærskelværdier findes efterfølgende ved bilineær interpolation. Feng og Tan afprøver både deres egen metode og Wolf og Jolion metode ved at segmentere en lang række tekstdokumenter, og efterfølgende undersøge hvor meget tekst en standard Optical Character Recognizer finder i de binære billeder. Resultatet er, at Feng og Tans metode finder ca. 5% flere korrekt klassificerede bogstaver end Wolf og Jolions metode. På trods af de gode resultater har metoden nogle klare svagheder. For det første skal der estimeres væsentligt flere parametre end i Wolf og Jolions metode, og valget af disse parametre er selvfølgelig stærkt afhængig af de billeder, der skal segmenteres. Ved at afprøve metoden på en lang række forskellige tekstdokumenter, er Feng og Tan heldigvis i stand til at give nogle fornuftige bud på værdier af α 1, γ, k 1 og k 2. Desværre beskrives det ikke, hvordan størrelsen af de to vinduer er valgt, eller hvordan det interne forhold mellem disse bør være. Et andet problem ved metoden er, at der kun udregnes et begrænset antal tærskelværdier, og de resterende findes ved at anvende interpolation. Der kan derfor opstå uheldige situationer, hvor tærskelværdien bliver udregnet i en støj-pixel, hvilket betyder at tærskelværdierne i alle omkringliggende pixels bliver misvisende. Problemet kan selvfølgelig gøres mindre ved at udregne tærskelværdier i flere billedpunkter, hvilket dog har en uheldig effekt på køretiden. På figur 4.2 ses resultaterne ved at anvende Feng og Tans metode på de samme spambilleder, som blev anvendt i figur 4.1. Problemet, med at tærskelværdien udregnes på baggrund af en uheldigt udvalgt pixel, kan ses på (b). En grundigere analyse af forskellene mellem de to metoder gives i afprøvningen, afsnit

20 (a) (b) Figur 4.2: Resultaterne ved brug af Feng og Tans algoritme. Som det ses, minder disse meget om de tilsvarende resultater for Wolf og Jolions metode, men læg mærke til den sorte klat ud for ordene Soma og prozac i (b). Denne er en konsekvens af kun at udregne tærkselværdier i nogle få pixels. 4.3 Farvesegmentering Fælles for Wolf og Jolion- samt Feng og Tans metode er, at de kun arbejder på gråtonebilleder, men i praksis indeholder mange spambilleder farveinformation. I nogle tilfælde er dette en naturlig del af billedet, mens farver i andre tilfælde er introduceret kunstigt i håb om at slippe forbi spamfiltrene. I enkelte tilfælde betyder spammernes valg af for- og baggrundsfarver, at tekst rent faktisk forsvinder, når farvebilleder konverteres til gråtoner. Om dette er en bevist strategi fra spammernes side eller blot et (u)heldigt sammentræf, er ikke til at sige, men situationen viser dog, at der kan være en vis fornuft i at anvende den tilgængelige farveinformation til segmentering. Historisk set har arbejdet med segmenteringsalgoritmer været koncentreret omkring binarisering af gråtonebilleder, hvilket bl.a skyldes at håndtering af farvebilleder indtil for år siden var for beregningsmæssigt komplekse for datidens computere. Brugen af gråtonebilleder har desuden den fordel, at beregning af fx. gradienter og afstande mellem gråtoner er relativt veldefinerede, hvilket har gjort det forholdsvist let at udvikle regions- og kantbaserede segmenteringsalgoritmer. Dette er ikke tilfældet for farvebilleder, hvor valget af farvemodel fx. har stor indflydelse på hvorledes afstand mellem farver bør beregnes. I de senere år er der dog blevet udviklet en del metoder til segmentering af farvebilleder, hvoraf nogle er rettet specifikt mod teksdokumenter. Ofte anvender disse klyngealgoritmer til indledningsvist at gruppere eller reducere antallet af farver, hvilket fx. er tilfældet i [GA00] og [TG04]. En alternativ fremgangsmåde præsenteres af Karatzas og Antonacopoulos [KA07], hvor segmenteringen udføres vha. af en split and merge -teknik udviklet på baggrund af studier af det menneskelig syn. Fælles for disse metoder er imidlertid, at de er beregningsmæssigt dyre, hvilket gør dem uegnede til anvendelse i dette projekt. 16

21 Kapitel 5 Gruppering af ord i binære billeder Efter et billede er blevet segmenteret, er den næste udfordring at gruppere de enkelte pixels, således at de danner hele ord. Dette er et nyttigt trin i den videre tekstanalyse, og er fx. nødvendigt, hvis teksten ønskes oversat til klartekst (OCR-analyse). I SPAMfighters system anvendes grupperingen af ord dog ikke til OCR men derimod til layout-analyse og kodning af billedsignaturer. Som beskrevet i kapitel 3 er den nuværende metode til gruppering af ord primært baseret på analyse af sammenhængende komponenter. Denne fremgangsmåde fungerer fint i praksis, men er dog underlagt en række antagelser omkring layoutet af teksten. Metoden er fx. kun i stand til at analysere billeder med vandret tekst. Indledningsvist er det derfor nødvendigt at vurdere, om billedet er blevet roteret og i så fald hvor meget. Dette betyder, at metoden vil fejle, hvis forskellige blokke med tekst er blevet roteret med forskellige vinkler. Det samme gør sig glædende, hvis tekstens orientering er lodret, eller hvis endnu mere kreative layouts bliver anvendt. En undersøgelse af litteraturen på området viser dog, at antagelser om layout, fontstørrelse og fonttyper osv. er meget almindelige ([ML95], [GA00], [YGH04]). Disse antagelser er som regel fornuftige, forstået på den måde, at de stemmer overens med de anvendelsesområder metoderne er tiltænkt. I SPAMfighters tilfælde kan antagelserne dog blive kritiske, idet spammerne har en aktiv interesse i at omgå spamfiltre. I dette afsnit vil jeg derfor beskrive en metode, der er fri for alle de antageler, der normalt gøres. Metoden bygger på en ph.d afhandling fra 2004 skrevet af Poh-Kok Loo [Loo04] og adskiller sig på en række områder fra den øvrige litteratur på området. For det første anvendes der en særlig irregulær pyramidestruktur til at modellere problemet. For det andet gøres der kun én simpel antagelse om den tekst, der skal grupperes. Antagelsen er, at forholdet mellem det antal af for- og baggrundspixels der skal til for at omslutte et ord, er konsistent. Dette forhold bliver herefter blot kaldet for densiteten. Konceptet er illustreret på figur 5.1, hvor det samme ord er skrevet med forskellige fontstørrelser. For de små fontstørrelser gælder, at antallet af forgrundspixels (de sorte pixels) er væsentligt mindre, end det er tilfældet for de store fontstørrelser. Til gengæld er afstanden mellem de enkelte bogstaver tilsvarende større for de store fontstørrelser, hvilket 17

22 (a) (b) Figur 5.1: Ordet prøve skrevet med en fontstørrelse på 14, 18 og 22. (a) Inddata til algoritmen. (b) Viser de fundne ord samt de baggrundspixels der er bentyttet til at knytte bogstaverne sammen. På trods af forskellen i fontstørrelse er forholdet mellem tekst (sorte pixels) og den inddragede baggrund (grå pixels) næsten ens for de tre ord (ca ). vil sige at der skal bruges flere baggrundspixels for at omslutte hele ordet. Samlet set bliver densiteten altså næsten ens for alle ordene. Inden metoden beskrives i detaljer skal det gøres klart, at den på nuværende tidspunkt ikke er direkte relevant i forhold til SPAMfighters system. Dette skyldes, at stort set alle spambilleder til dato har et meget simpelt layout, der udelukkende anvender vandret tekst. I enkelte tilfælde er teksten blevet roteret men kun med én vinkel. De mere kreative layouts som blev nævnt i starten af dette kapitel, anvendes (endnu) ikke. Hvis spammerne en dag gik hen og ændrede denne praksis, ville det dog være et stort problem for SPAMfighter, da deres system ikke er robust over for væsentlige layoutændringer. Metoden skal derfor opfylde to kriterier for at blive rigtig relevant for SPAMfighter. For det første skal resultaterne være sammenlignelige med de resultater SPAMfighters nuværende metode opnår, og for det andet skal metoden være så fleksibel, at den er i stand til at håndtere vilkårlige layouts. Den resterende del af dette kapitel er struktureret således, at de grundlæggende koncepter bag Loo s metode beskrives i afsnit 5.1. Den lidt særprægede irregulære pyramidestruktur, som metoden bygger på, bliver præsenteret i afsnit 5.2, hvorefter selve metoden bliver gennemgået i afsnit 5.3 til Metodens styrker og svagheder analyseres i afsnit 5.5, og afslutningsvis diskuteres mulige udvidelser af metoden kort i afsnit De grundlæggende koncepter Ud over den irregulære pyramidestruktur, som forklares i afsnit 5.2, bygger Loo s metoden på to grundlæggende koncepter. Det første er, at både for- og baggrundsinformation 18

23 (a) (b) Figur 5.2: Illustration af nærhedsprincippet. (a) Nærhed mellem to regioner. (b) Nærhed mellem flere regioner. Som det ses, er nærheden mellem regionerne i dette tilfælde en konsekvens af den fælles pivot region. anvendes til at gruppere de enkelte ord. Dette lyder ikke som nogen revolutionerende idé, men i praksis forkastes baggrundsinformationen meget ofte i algoritmer til gruppering af ord. Det andet koncept bygger på det løst definerede begreb nærhed. Hvis bogstaverne i et binært billede opfattest som separate regioner, er opgaven at gruppere de regioner, der ligger nær på hinanden, således at disse danner hele ord. Ved at udnytte en irregulær pyramidestruktur, bliver det muligt at bestemme, om to regioner er nær hinanden, uden på noget tidspunkt at udregne den faktiske afstand mellem dem. Dette er illustreret på figur 5.2. Som det snart vil fremgå, er det en snedig udnyttelse af disse to koncepter, der gør det muligt at gruppere ord, uafhængigt af hvilket layout teksten måtte have. 5.2 Irregulære pyramider En pyramide er en klassisk datalogisk måde, hvorpå et billede kan repræsenteres på flere forskellige skalaer. Det nederste lag i pyramiden består af det originale billede, og de efterfølgende lag består typisk af nedsamplede versioner af dette billede. Pyramidestrukturen benyttes ofte til at lave en grov-til-fin analyse, hvilket muliggør operationer, der ellers ville være for tidskrævende at udføre på hele billedet. Forskellen mellem den traditionelle- og den irregulære pyramidestruktur ligger i den måde, datamængden reduceres fra niveau til niveau. I traditionelle pyramider bliver mængden af data reduceret med en konstant faktor for hvert niveau. Dette betyder bl.a, at det ikke er nødvendigt at repræsentere forældre-barn forholdet for de enkelte pixels mellem pyramidelagene, da dette implicit er givet ved den anvendte nedskaleringsregel. Dette er ikke tilfældet for irregulære pyramider, hvor reduktionsfaktoren og nedskaleringsreglen kan variere fra niveau til niveau. Denne forskel er illustreret på figur 5.3, hvor et lille billede bliver repræsenteret vha. af de to metoder. Som det ses på 5.3(a) bliver billedet i den traditionelle pyramide nedskaleret med en faktor 2 for hvert niveau. Det er tydeligt, at denne pyramide adskiller sig væsentligt fra den irregulære pyramide vist på 5.3(b). Den vigtigste forskel er, at der i den irregulære pyramide udvælges en mængde overlevere (eng: survivors) på hvert niveau. Disse overlevere udgør de regioner (eller pixels), der får lov til at repræsentere billedet på det næste niveau i pyramiden. Strukturen i en irregulær pyramide er altså 19

24 (a) (b) Figur 5.3: Illustration af forskellen mellem den almindelige pyramidestruktur og den irregulære pyramidestryktur. (a) En almindelig pyramide hvor billedet, for hvert lag i pyramiden, nedskaleres med en faktor to. (b) En irregulær pyramide hvor lokale maksima vælges som overlevere. For overskuelighedens skyld er forældre-barn forholdet, mellem det første og det andet lag, kun markeret for to af de fire overlevere. På det midterste niveau markerer de stiplede linier naboskabet mellem overleverne. afhængig af, hvordan disse overlevere udvælges. I dette eksempel er overlevere udvalgt som de regioner, der er lokale maksima. Fordelen ved at repræsentere data vha. en irregulær pyramidestruktur er, at den er mere fleksibel end den traditionelle pyramidestruktur. Til gengæld kræver den lidt ekstra bogholderi, da der eksplicit skal holdes styr på forældre-barn forholdet mellem de enkelte regioner på de forskellige niveauer. På figur 5.3 er det desuden værd at bemærke, at strukturen af en irregulær pyramide i høj grad minder om en helt almindelig grafteoretisk træ-struktur, hvor hver knude repræsenterer en region, og kanterne angiver forældre-barn forholdt. Denne tolkning af den irregulære pyramide vil blive brugt igennem det meste at dette afsnit, da den på mange punkter gør det lettere at forklare og illustrere koncepterne i algoritmen. I enkelte situationer er det dog nødvendigt at bøje de regler, der sædvanligvis gælder for grafer, men dette bliver gjort klart, efterhånden som problemet opstår. I de følgende afsnit forklares det, hvorledes den irregulære pyramidestruktur, kombineret med nærhedsprincippet og brugen af baggrundsinformation, danner en fungerende algoritme. Da store dele af beskrivelsen er ren og skær bogholderi, kan metoden let komme til at virke uoverskuelig. Det er derfor vigtigt at holde sig for øje, at der blot er tale om en bottom up algoritme, hvor pixels løbende bliver samlet i større og større regioner, indtil hele ord er blevet dannet. Dette er illustreret på figur 5.4, hvor ordet prøve er inddata til algoritmen. De sorte prikker viser overleverne på de enkelte niveauer i pyramiden og som 20

25 (a) (b) (c) (d) (e) (f) (g) Figur 5.4: Illustration af algoritmens virkemåde. (a) er inddata, mens (b) (g) viser udviklingen fra det nederste til det øverste niveau i pyramiden. det ses, reduceres deres antal hurtigt. På 6. niveau i pyramiden er der kun én tilbage, og denne repræsenterer hele ordet prøve. Figuren viser desuden, hvordan baggrundsinformation langsomt bliver inddraget, således at de enkelte pixels i de enkelte bogstaver til sidst smelter sammen til ét ord. 5.3 Konstruktion af pyramidens nederste lag Rent implementeringsmæssigt adskiller konstruktionen af pyramidens nederste lag sig fra konstruktionen af de øvrige lag. Dette skyldes primært at der på nederste lag arbejdes direkte i billedmatricen, mens der på de højere niveauer arbejdes på regioner bestående af en databestemt samling af pixels. En stor del af de koncepter, der anvendes til at danne pyramidens nederste lag, går dog igen på de øvrige niveauer og vil derfor blive gennemgået i dette afsnit. Pseudo-koden for dannelse af pyramidens nederste lag ser således ud: 1: initialiser_pyramiden(binært_billede) 2: beregn_overlever_værdi() 3: vælg_overleverer() 4: vælg_børn() 5: tilføj_baggrudsinformation() 6: opdater_pyramidestrukturen() Det første skridt er at initialisere pyramiden, hvilket primært er et spørgsmål om at oprette de nødvendige datastrukturer. I nederste niveau af pyramiden opfattes hver pixel i det binære inddatabillede som en selvstændig region, der hver i sær er tilknyttet en række attributter. De vigtigste af disse kan ses i tabel 5.1. Hver region tilskrives altså et areal på én, mens det kun er sorte pixels (områder med tekst), der tilskrives en positiv masse og densitet. På dette niveau består hver regions naboliste blot af dets 8-naboer 1, mens de øvrige attributter indtil videre er uinitialiserede. 1 Et 4-naboskab kunne også benyttes, men Loo argumenterer for at der opnås bedre resultater ved brug af 8-naboer. 21

26 Areal Masse Densitet Overleverværdi Nabo-liste Børne-liste Forældre link Det samlede antal pixels som regionen består af. Antallet er sorte pixels (tekst). masse/areal. Egen masse + summen af naboernes masse. Liste der angiver regionens naboer på det nuværende niveau. Liste der anviver regionens børn på forgående niveau. Angiver forældre-barn forholdet mellem to regioner. Tabel 5.1: Oversigt over de attributter der er tilknyttet hver region i pyramiden. Af hensyn til køretiden oprettes der kun regioner for alle de sorte pixels samt disses hvide 8-naboer. Det næste skridt er at tildele hver region en overleverværdi. Som beskrevet i tabel 5.1 gøres dette ved at addere regionens egen masse med summen af naboernes masse. I pyramidens nederste lag udregnes overleverværdien for hver pixel blot ved at undersøge, hvor mange af dens naboer (samt den selv) der er sorte. På de efterfølgende niveauer i pyramiden er regionernes naboskab uafhængigt af billedmatricen, hvilket er årsagen til, at hver region har en nabo-liste attribut Udvælgelse af overlevere Det næste skridt i algoritmen er udvælgelsen af de såkaldte overlevere, hvilket er de regioner, der skal repræsentere billedet på det næste niveau i pyramiden. Grundidéen er, at de regioner der lokalt har den højeste overleverværdi, bliver valgt som overlever. Motivationen for dette valg er, at regionen med den højeste overleverværdi er i stand til at gøre krav på flest naboregioner, når der i det efterfølgende trin skal udvælges børn. Dette er en fordel i forhold til køretiden, da denne primært er bestemt af antallet af regioner. Loo argumenterer også for, at dette valg er med til at sikre, at hver region i sidste ende svarer til ét ord. Hvis hver region opfattes som en knude og naboskabet mellem regioner repræsenterer kanter, svarer udvælgelsen af overlevere i grafteoretiske termer til at finde den maksimale uafhængige mængde (eng: maximum independent set). Givet en graf G = (V, E), hvor V er knuder og E er kanter, er problemet altså at finde den største mængde af kunder V V, således at to vilkårlige knuder i V ikke er forbundet af en kant i E. Dette betyder for det første, at to naboer ikke begge kan være overlevere, hvilket er i overensstemmelse med valget af lokale maksima som overlevere. For det andet betyder det, at alle ikke-overlevere mindst skal have én nabo, der er overlever. I praksis er dette meget problematisk, idet der ofte opstår situationer, hvor der ikke findes rigtige lokale maksima, hvilket er illustreret på figur 5.5. Som det ses, er det kun i en af de tre situationer, at der overhovedet eksisterer et lokalt maksima. Dette er dog stadig utilstrækkeligt, da kravet om at hver ikke-overlever skal have mindst en overlever som nabo, ikke er opfyldt. I de øvrige situationer hvor der slet ikke findes et lokalt maksima, er dette krav selvfølgelig heller ikke opfyldt. En meget simpel løsning på dette problem er blot at ignorere dets eksistens, og holde 22

27 (a) (b) (c) Figur 5.5: Tre situationer hvor få eller manglende lokale maksima gør det umuligt at finde den maksimale uafhængige mængde. (a) Et gauss-lignende mønster med kun ét lokalt maksima. (b) En flade med trinvist stigende værdier. (c) En ensfarvet flade. fast i kravet om, at overlevere skal være lokale maksima. Dette betyder dog, at flere regioner vil gå tabt. Da bogstaver generelt ikke er ret store, kan tabet af blot få tekst-regioner have store konsekvenser for resultatet, og denne løsning er derfor ikke praktisk anvendelig. For at sikre at ingen regioner bliver forkastet, slækkes der i stedet på kravet om, at en region skal være lokalt maksima for at blive udvalgt som overlever. Dette gøres med en iterativ algoritme, der udvælger en region som overlever, hvis den har en overleverværdi, der er større end eller lig med overleverværdien for alle de nabo-regioner, der ikke allerede er naboer til en overlever. Et eksempel på denne strategi er illustreret på figur 5.6, hvor gauss-mønsteret fra figur 5.5(a) er anvendt. I første iteration gennemløbes alle regioner, og kun de der er større end eller lig med alle nabo-regioner, udvælges som overlevere. Derefter markeres alle naboerne til de valgte overlevere, og disse naboer kaldes herefter for ikke-overlevere. I den efterfølgende iteration gennemløbes alle de regioner, der hverken er markeret som overlevere eller ikke-overlevere for at finde nye lokale maksima. Denne proces fortsætter, indtil alle regioner enten er blevet markeret som en overlevere eller som en ikkeoverlevere. Algoritmen sikrer altså, at kravene til den maksimale uafhængige mængde er opfyldt, idet to naboer ikke begge kan være overlevere, samt at alle ikke-overlevere har mindst en overlever som nabo. Et mindre problem ved metoden er, at det tager et ukendt antal iterationer at finde alle overlevere. Algoritmen vil således være tre iterationer om at komme frem til en løsning for mønstrene på figur 5.5(a) og (b), mens det kun vil tage én iteration for mønsteret på 5.5(c). I praksis konvergerer metoden dog efter ganske få iterationer, og problemet er derfor ikke kritisk Udvælgelse af børn Næste trin i algoritmen er at bestemme, hvorledes ikke-overleverne skal fordeles blandt overleverne. Som tidligere nævnt er det overleverne, der repræsenterer det næste lag i pyramiden, mens ikke-overlevere bliver på det nuværende niveau. Det er derfor denne 23

28 (a) (b) (c) Figur 5.6: Eksempel på udvælgelse af overlevere. De mørkegrå felter markerer overlevere og de lysegrå markerer ikke-overlevere. (a) I første iteration er 9-tallet det eneste lokale maksima og vælges derfor som overlever. De omkringliggende punkter (7- og 8-tallerne) markeres som ikke-overlevere. (b) I anden iteration er 6-tallerne lokale maksima blandt de resterende ikke-markerede punkter, og vælges derfor som overlevere. De ikke-markerede naboer til 6-tallerne (5-tallerne) markeres som ikke-overlevere. (c) I sidste iteration vælges de resterende punkter som overlevere, da alle deres nabopunkter allerede er markerede som ikke-overlevere. udvælgelse, der skaber forbindelsen mellem de enkelte lag i pyramiden. I de fleste tilfælde er dette en triviel opgave, idet hver ikke-overlever blot tilskrives den naboregion, som er overlever. I de tilfælde hvor en ikke-overlever er nabo til flere forskellige overlevere, tilskrives de overleveren med den højeste overleverværdi. I tilfælde af lighed (flere overlevernaboer med samme overleverværdi) vælges der tilfældigt imellem dem. Udvælgelsen kan enten ske med udgangspunkt i ikke-overleverene eller i overleverne. I det første tilfælde undersøges nabolisten for hver ikke-overlever, hvorved det direkte kan afgøres, hvilken overlever den skal tilskrives. Metoden er derfor både hurtig og simpel, men til gengæld har overleveren ikke indflydelse på hvilke regioner, den får tilskrevet. Alternativet er derfor at tage udgangspunkt i overleverne. Da flere forskellige overlevere kan gøre krav på denne samme ikke-overlever, kræver dette dog at både overlevers naboliste samt naboernes nabolister bliver undersøgt. Metoden er derfor både langsommere og mere kompleks, men til gengæld giver den mulighed for at lave en grundigere analyse af regionerne omkring en overlever. Denne mulighed bliver dog først rigtig relevant, når algoritmen udvides til at håndtere gråtonebilleder, hvilket kort beskrives i afsnit 5.6. Da planen oprindeligt var at se nøjere på denne udvidelse, benyttes den komplekse metode i dette projekt. Når det er besluttet, hvilken overlever en ikke-overlever skal tildeles, skrives dette i dens forældre-link attribut, og samtidig tilføjes den til overleverens børne-liste attribut. Som tidligere beskrevet er denne bogføring nødvendig, når der anvendes en irregulær pyramidestruktur. Det skal bemærkes, at det på nederste niveau ikke gør nogen forskel, om en ikkeoverlever har masse eller ej. Som det beskrives i afsnit 5.4.2, ændrer dette sig på de senere niveauer. 24

29 5.3.3 Tilføjelse af baggrundsinformation Som beskrevet i afsnit 5.3 bliver der, af hensyn til køretiden, kun oprettet regioner i de baggrundspixels, der på nederste niveau er nabo til en forgrundspixel. For at regionerne på de højere niveauer kan vokse sammen og danne hele ord, er det derfor nødvendigt at tilføje mere baggrundsinformation. Igen tages der hensyn til køretiden ved kun at inkludere den mest nødvendige information. Dette vil sige, at en baggrundspixel kun tilføjes, hvis den i billedmatricen er 8-nabo til en af de eksisterende regioner repræsenteret af overleverne og deres børn. For hver af disse pixels oprettes der en ny region, som her vil blive kaldt for en falsk overlever. Disse regioner føjes til pyramidestrukturen og føres, sammen med de ægte overlevere, videre til næste lag i pyramiden. Dette betyder, at der på hvert niveau i pyramiden bliver tilføjet nye regioner til den irregulære pyramidestruktur, hvilket af flere grunde er problematisk. For det første er løsningen ikke pæn i den forstand, at den bryder med den træstruktur, der anvendes som abstraktion for pyramiden. Rent implementationsmæssigt er løsningen også besværlig, idet det altid er nødvendigt at kigge direkte i billedmatricen for at identificere, hvilke bagrundspixels der skal tilføjes. Dette kunne gøres ved at opretholde et binært billede, der beskrev den rand af baggrundspixels, der hidtil var inddraget i pyramidestrukturen. Nye pixels kunne efterfølgende tilføjes ved at udvide randens tykkelsen med én pixel, vha. matematisk morfologi. Det viser sig desværre, at denne metode ikke er tilstrækkelig, da naboskabet mellem de eksisterende regioner og de nye falske overlevere også skal bestemmes. For hver overlever på et givet niveau er det derfor også nødvendigt at fastslå, hvilke pixels den repræsenterer i billedmatricen, hvilket kan gøres ved rekursivt at undersøge overleverens børne-liste attribut. Først herefter er det muligt at bestemme naboskabet mellem de ægte- og de falske overlevere. Alternativt kunne der på nederste niveau oprettes tilpas mange baggrundsregioner, således at der ikke løbende var behov for at tilføje flere. Denne løsning passer bedre ind i træ-repræsentationen af pyramiden, og ville desuden gøre metoden væsentligt lettere at arbejde med. Desværre er det ikke på forhånd muligt at sige noget om afstanden mellem bogstaverne i et binært billede. Dette betyder, at det er svært at give et bud på, hvordan tilpas mange regioner skal defineres. Medtages der for mange regioner, bliver algoritmen langsom, og medtages der for få, er det ikke muligt at opnå de ønskede resultater. I dette projekt er det derfor valgt, at baggrundsinformation løbende bliver tilføjet, på trods af de problemer denne løsning indebærer. Det er værd at bemærke, at Loo i sin ph.d afhandling og i de efterfølgende artikler, [LT00], [LT01] og [LT02] ofte fremhæver, at det bl.a er brugen af baggrundsinformation, der gør hans algoritme unik. På trods af dette bliver ovenstående problematik slet ikke nævnt, og man skal lede grundigt for overhovedet at finde ud af, at baggrundsinformationen løbende tilføjes Opdatering af pyramidestrukturen Det sidste trin i det nederste lag af pyramiden går primært ud på at opdatere overlevernes attributter, således at næste niveau i pyramiden kan dannes. Helt specifikt skal overlevernes 25

30 areal, masse og densitet opdateres, hvis de har fået tilskrevet nye børn. Desuden udregnes den gennemsnitlige (opdaterede) densitet for alle overleverne, kaldet måldensiteten. På de højere niveauer i pyramiden er dette et vigtigt mål, der bliver brugt i udvælgelse af børn. 5.4 De efterfølgende lag i pyramiden Konstruktionen af de efterfølgende lag i pyramiden følger på mange måder den fremgangsmåde, der netop er blevet præsenteret. Der er dog nogle vigtige forskelle, som bliver gennemgået i dette afsnit. Den resterende del af algoritmen kan beskrives med følgende pseudokode, hvor særlig vigtige variable er angivet som parametre til de enkelte funktioner: 7: niveau = 2 8: done = false 9: while(not(done)){ 10: opdater_nabo_lister(niveau) 11: beregn_overlever_værdi() 12: vælg_overlevere() 13: vælg_børn(mål_densitet,niveau) 14: tilføj_baggrundsinformation(niveau) 15: opdater_pyramidestruktur(niveau) 16: done = opdater_stopkriterie(mål_densitet, niveau) 17: niveau++ 18: } Som det ses, er der en del af funktionaliteten, der går igen fra konstruktionen af det nederste lag i pyramiden. Således har hverken beregningen af overleverværdier eller udvælgelsen af overlevere ændret sig. Baggrundsinformation tilføjes også, som tidligere beskrevet, mens udvælgelsen af børn derimod er blevet modificeret en lille smule. Det eneste helt nye er opdateringen af nabolisterne i linie 10 samt indførelsen af et stopkriterium i linie 8-9 og Opdatering af naboskab Det første trin i while-løkken er at opdatere nabolisterne for de regioner, der på foregående niveau blev valgt som overlevere. På det nederste niveau i pyramiden skete dette ved at analysere hver regions 8-naboer, hvilket er ikke muligt på de højere niveauer. Her er det i stedet nødvendigt at analysere naboskabet blandt regionernes børn. Det gælder nemlig, at to regioner på niveau i er naboer, hvis deres børn er naboer på niveau i 1, hvilket er illustreret på figur 5.7 og 5.8. I det første eksempel er det let at bestemme naboskabet, idet forældrene p 1 og p 2 på niveau i 1 har en fælles nabo i c 1. I det andet eksempel er naboskabet lidt sværere at fastslå, idet p 1 og p 2 ikke har nogle fælles nabo på niveau i 1. I stedet bestemmes naboskabet ved, at begge overlevere har et barn (c 1 hhv. c 2 ), der er 26

31 Figur 5.7: Eksempel hvor de to regioner, p 1 og p 2, er naboer på det i te niveau, fordi de har en fælles nabo på det underliggende niveau. Figur 5.8: Eksempel hvor de to regioner, p 1 og p 2, er naboer på det i te niveau, fordi deres børn (c 1 og c 2 ) er naboer. 27

32 naboer på niveau i 1. Bemærk at situationen, hvor p 1 og p 2 er naboer på niveau i 1, ikke kan opstå, pga. den måde overlevere er valgt på Udvidet udvælgelse af børn Udvælgelsen af børn adskiller sig fra tidligere ved, at regioner med masse prioriteres højere end regioner uden masse, dvs. baggrundsinformation. Beskrevet med pseudo-kode ser den udvidede udvælgelse af børn således ud: 1: if(overlever har nabo med masse){ 2: for(alle overleverens naboer med masse) 3: {tildel nabo til overlever} 4: for(alle overleverens naboer uden masse){ 5: if(ny_densitet >= mål_densitet) 6: {tildel nabo til overlever} 7: } 8: else{ 9: for(alle overleverens naboer uden masse){ 10: if(ny_densitet >= mål_densitet) 11: {tildel nabo til overlever} 12: } 13: } Som det kan ses, undersøges det først om en overlever har naboer med masse (linie 1-7), og hvis dette er tilfældet, tildeles de overleveren. Hvis en region med masse er nabo til flere overlevere, tildeles den overleveren med den højeste masse. Når alle naboer med masse er blevet tildelt, vurderes det, om overleveren også skal have tilskrevet regioner uden masse. Dette afgøres ved at sammenligne regionens densitet med måldensiteten, der blev udregnet tidligere. Her skal der mindes om, at den grundlæggende antagelse i algoritmen er, at alle ord har den samme densiteten. Idéen er derfor, at en region kun får lov til at inddrage yderligere baggrundsinformation, hvis den er for kompakt i forhold til alle andre regioner. I teorien svarer dette til, at regionen endnu ikke beskriver et helt ord, og derfor har brug for yderligere baggrundsinformation. Hver gang dette sker, opdateres regionenes densitet selvfølgelig. Hvis overleveren ikke har nogen naboer med masse (linie 8-13), betyder det, at den sandsynligvis allerede repræsenterer et helt ord. Yderligere baggrundsinformation inddrages derfor kun, hvis regionen er for kompakt i forhold til måldensiteten, da dette igen er et tegn på, at den kun udgør en del af et ord. Hvis Regionen ikke har naboer med masse, og samtidig har en passende densitet, antages det, at den repræsenterer netop ét ord, og den markeres derfor som en rod (eng: root node). Regioner der bliver markeret som rødder, er så at sige ude af spil på alle efterfølgende niveauer i pyramiden. Det vil sige, at de hverken kan tage flere børn, eller selv blive taget som barn. Den irregulære pyramidestruktur adskiller 28

33 (a) (b) Figur 5.9: Et eksempel på undervækst. (a) Inddata til metoden. (b) De fundne regioner. Som det kan ses på (b), er mange af ordene blevet opdelt i flere regioner, fordi der ikke er blevet inddraget nok baggrundsinformation. sig altså lidt fra både den traditionelle pyramidestruktur og træ-strukturen ved, at den kan have flere rødder 2. Ovenstående metode har dog det store problem, at den ofte fører til undervækst, hvilket vil sige, at hver region ender med kun at repræsentere dele af et ord. Et eksempel på undervækst er illustreret på figur 5.9. Situationen opstår typisk, når inddata indeholder store fontstørrelser, hvilket betyder at mellemrummet mellem de enkelte bogstaver i et ord ofte er stort. Problemet er, at regionerne ikke får lov til at sprede sig nok på de nederste niveauer, og derved skabes der ikke forbindelse mellem de enkelt bogstaver i et ord. En simpel løsning er at udskyde brugen af den udvidede udvælgelse af børn til et senere niveau i pyramiden og derved inddrage alle tilgængelige baggrundspixels på de nederste niveauer. Dette har dog den uheldige konsekvens, at der ofte opstår overvækst i ord skrevet med en lille fontstørrelse, hvilket er illustreret på figur Disse situationer viser, at der er behov for en mere dynamisk måde at skifte mellem den almindelig og den udvidede udvælgelse af børn. Loo foreslår en løsning, hvor det for hver region vurderes, om dens densitet er stabil i forhold til naboregionerne. Dette gøres ved først at udregne gennemsnits-densiteten for regionen og alle dens naboer. Derefter udregnes gennemsnits-densiteten for regionen og alle dens naboer med masse. Hvis afvigelsen mellem disse to tal er mindre end 20%, antager Loo, at regionen er stabil, og den særlige udvælgelse benyttes. Indledende forsøg har dog vist, at denne metode fører til, at næsten alle regioner skifter til den udvidede udvælgelse på andet niveau i pyramiden, hvilket giver problemer med un- 2 Ideet set skal der være en rod pr. ord i inddata. 29

34 (a) (b) Figur 5.10: Et eksempel på overvækst. (a) Inddata til metoden. (b) De fundne regioner. Som det ses på (b), er størstedelen af ordene smeltet sammen til nogle ganske få regioner, fordi der er blevet inddraget for meget baggrundsinformation. dervækst. Jeg har derfor modificeret metoden således, at den tager højde for flere forskellige situationer. Først undersøges den gennemsnitlige densitet af regionen og alle dens naboer. Hvis dette tal er højere end en tærskelværdi (her sat til 0.5), vurderes det, at regionen er så kompakt, at udvidet udvælgelse ikke skal benyttes. Dette har vist sig at fungere udmærket i praksis, men der opstår stadig problemer med undervækst, og der indføres derfor yderligere to regler. For det første anvendes udvidet udvælgelse ikke, hvis den aktuelle region har en nabo med en densitet på 1. På det nederste niveau i pyramiden er dette ofte tilfældet, hvis inddata indeholder store fontstørrelser, mens situationen meget sjældent opstår på de højere niveauer. I de nederste lag i pyramiden (2. og 3. lag) undersøges det desuden, om regionerne har nogle naboer med masse, og i så fald hvor stor den samlede masse er. Hvis en region ikke har naboer med masse, eller hvis nabomassen er meget lille, benyttes den udvidede udvælgelse ikke. Den regel er primært medtaget for at sikre, at prikken over bogstaverne i og j samt kommaer og punktummer ikke ender som selvstændige regioner. Det dynamiske valg af metoden til udvælgelse af børn betyder, at hver region skal have tilknyttet en attribut, der indikerer, hvilken metode der skal benyttes. Denne attribut skal selvfølgelig opdateres på hvert niveau af pyramiden, inden udvælgelsen af børn bliver foretaget. I praksis har metoden vist sig at fungere udmærket, men desværre løser den ikke det bagvedliggende problem, nemlig at måldensiteten ikke altid er et robust mål. Dette gør sig i særlig høj grad gældende på de nederste lag i pyramiden, hvor måldensitenten kun er et mål for fragmenter af ord, frem for hele ord. Det kunne derfor være spændende at undersøge nogle alternative mål, hvor fx. variansen mellem regionernes densitet indgik. Ligeledes kunne det være interessant at udregne flere lokale måldensiteter frem for blot at benytte et globalt mål. Af tidshensyn er ingen af disse forslag dog blevet undersøgt nærmere Opdatering af pyramidestrukturen Som på det nederste niveau, er opdateringen af pyramidestrukturen primært et spørgsmål om at opdatere overlevernes attributter og beregne en ny måldensitet. På de højere niveauer er der dog den forskel, at måldensiteten ikke nødvendigvis udregnes som gennemsnittet af alle regionernes densitet. Loo foreslår således kun at anvende densiteten af de regioner, der er blevet markeret som rødder. Da hver af disse regioner i teorien svarer til ét ord, 30

35 bør denne fremgangsmåde principielt set give den bedste approksimation af den endelige måldensitet. I praksis har metoden dog to store fejl: De første regioner der bliver markeret som rødder, svarer ofte til meget korte ord som i, og om osv. Da massen af disse regioner ikke er særlig stor, betyder det, at deres densitet ikke er et særlig robust mål. Måldensiteten risikerer derfor at blive misvisende, hvis den udelukkende er baseret på disse regioner. I de nederste lag af pyramiden findes der ofte ingen eller kun ganske få rødder. Dette betyder, at måldensiteten risikerer at blive beregnet på baggrund af ganske få regioner, hvis densitet oven i købet kan være misvisende. I stedet har jeg valgt en metode, hvor alle regioner indgår i udregningen, med mindre to kriterier er opfyldt. For det første skal mindst 25% af regionerne være markerede som rødder, og for det andet skal variansen mellem regionernes densitet være lav. Kun hvis begge disse krav er opfyldt, anvendes gennemsnittet af rødderns densitet som måldensitet. Det første krav sikrer, at måldensiteten bliver udregnet på et nogenlunde stabilt grundlag, mens det andet krav er udledt empirisk. Det viser sig nemlig, at en høj varians mellem regionernes densitet er et tegn på, at mange regioner er langt fra færdigdannede. Situationen opstår typisk, når inddata indeholder ord skrevet med en kombination af store og små skriftstørrelser. Her vil regionerne omkring ord skrevet med den lille skriftstørrelse hurtigt samle sig til én region. Omvendt kræver det flere pyramidenivauer, før regionerne har samlet sig omkring ord skrevet med en stor skriftstørrelse. I disse situationer har det vist sig, at de bedste resultater opnås ved at anvende gennemsnittet af alle regioner frem for blot at anvende rødderne Stopkriterier Det sidste trin på hvert pyramideniveau er at bestemme, om der skal konstrueres flere lag i pyramiden. Optimalt set burde dette være let at afgøre, idet alle regioner ved algoritmens afslutning bør være rødder. Desværre er dette ikke altid tilfældet, og stopkriteriet udvides derfor således, at algoritmen afsluttes, hvis antallet af overlevere på det nuværende niveau af pyramiden er det samme som på forrige niveau. 5.5 Styrker og svagheder ved metoden Som nævnt i indledningen til dette kapitel er styrken ved den netop beskrevne metode, at den ikke gør nogle antagelser om det tekstdokument, der skal analyseres. Som det illustreres i afprøvningen, gør dette metoden i stand til at håndtere situationer, hvor traditionelle algoritmer til tekstanalyse ville være ubrugelige. Metoden har dog nogle svagheder, som allerede er blevet berørt et par gange. Det er især måldensiteten, der på flere områder skaber problemer. Dette er jo egentlig ment som et mål for, hvor mange for- og baggrundspixels der skal til at dække et helt ord i et binært 31

36 billede. I de nederste lag af pyramiden har de enkelt regioner dog ikke meget med hele ord at gøre, og målet er derfor en lidt underlig størrelse. Som beskrevet i afsnit betyder dette bl.a, at der skal udføres noget ekstra arbejde for at afgøre om den udvidede udvælgelse af børn skal anvendes. Selv når en region beskriver et ord, kan densiteten risikere at være et misvisende mål. Som allerede nævnt er målet ikke særlig stabilt for korte ord, og det samme gør sig gældende for ord skrevet med meget små skriftstørrelser. I begge tilfælde er problemet, at den samlede masse af ordet ikke er særlig stor. Selv en lille forskel i det antal af baggrundspixels som indgår i regionen, kan derfor have stor betydning for densiteten. På det nederste niveau i pyramiden anvendes der som bekendt 8-naboer og alle de baggrundspixels, der er nabo til en overlever, bliver en del af regionerne. Hvis inddata indeholder tekst skrevet med en lille skriftstørrelse, bliver den endelige måldensitet altså væsentligt lavere, end hvis teksten var skrevet med en større skriftstørrelse. Hvis inddata kun indholder tekst skrevet med en lille skriftstørrelse, fungerer metoden som regel alligevel, men hvis der anvendes flere forskellige skriftstørrelser, kan der opstå problemer. Måldensiteten vil blive ustabil, hvilket kan have forskellige konsekvenser. Typisk vil der opstå situationer, hvor nogle regioner kun delvist dækker et ord, mens andre dækker flere ord. En anden svaghed ved metoden er, at den som udgangspunkt ikke tager hensyn til, om inddata indeholder andet end tekst. Grafiske elementer og støj i inddata skal altså håndteres af separate metoder. En sidste vigtig svaghed ved metoden er, at forhåndsviden er svær at inkorporere. Som tidligere nævnt anvendes der på nuværende tidspunkt et meget simpelt tekstlayout i stort set alle spambilleder. Det ville derfor være en stor gevinst, hvis denne viden kunne indarbejdes i algoritmen. Dette har desværre vist sig ikke at være muligt uden samtidig at ofre metodens fleksibilitet. 5.6 Udvidelser af metoden Loo har i sin ph.d afhandling udvidet den beskrevne grundalgoritme på flere punkter. Den første udvidelse gør, at metoden både er i stand til at identificere ord såvel som hele sætninger. Den efterfølgende udvidelse gør metoden i stand til at håndtere gråtonebilleder og i den endelige version kan farvebilleder anvendes som inddata. Fælles for alle udvidelserne er, at de stadig anvender irregulære pyramider som den grundlæggende struktur, og at metoderne stadig er i stand til at håndtere vilkårlige layouts. På trods af at udvidelserne virker interessante, er de ikke blevet undersøgt nærmere. Dette skyldes både de lidt skuffende resultater, der er opnået med grundalgoritmen, samt at køretiden for farve- og gråtone versionerne af metoden sandsynligvis er for høj i forhold til SPAMfighters krav. Som tidligere nævnt er metoden på nuværende tidspunkt heller ikke direkte relevant for spamfighter, da tekstlayoutet i billedspam stadig er rimelig konventionelt. Hvis dette skulle ændre sig, ville sætnings-udvidelsen dog blive rigtig interessant for SPAMfighter. Dette skyldes, at de derved ville være i stand til, at bibeholde den måde deres billedsignaturer bliver genereret, nemlig som funktion af ord- og sætningslængde. 32

37 Kapitel 6 Klassificering af spam vha. lavniveau billedfeatures I de forgående afsnit har fokus udelukkende været på metoder til at finde og gruppere tekst i billeder. Da en meget stor del af billedspam indeholder tekst, er dette umiddelbart en fornuftig fremgangsmåde, men i nogle situationer er den utilstrækkelig. Dette er fx. tilfældet, hvis et legitimt billede indeholder tekst, hvilket ikke er ualmindeligt. Fremgangsmåden er ligeledes utilstrækkelig, hvis spambilledet indeholder meget lidt eller slet ingen tekst, hvilket heller ikke er ualmindeligt. Desuden er systemer baseret på tekstgenkendelse ofte sårbare over for støj, billedtransformationer, layout-ændringer, mm. I dette afsnit undersøges det derfor, om billedspam kan klassificeres vha. lavniveau billedfeatures. Denne fremgangsmåde har flere fordele i forhold til tekstanalyse. For det første kan de features, der beskrives i dette afsnit, beregnes meget effektivt, hvilket vil sige, at køretiden er minimal. For det andet er lavniveau features generelt mindre følsomme over for de taktikker, spammere hidtil har benyttet for at omgå spamfiltre. Det er desuden relativt let at vedligeholde en metode baseret på lavniveau features, idet disse blot kan tilføjes eller udskiftes i takt med, at nye typer billedspam dukker op. Dette kræver naturligvis at den benyttede indlæringsalgoritme gentrænes, men dette er som regel ikke en tidskrævende operation. Den største udfordring ved metoden er at udvælge features, der på den ene side er karakteristiske for billedspam, men på den anden side sjældent optræder i de legitime billeder folk sender til hinanden. For at finde nyttige features er det derfor nødvendigt at have kendskab til begge billedtyper. I dette projekt er adgangen til billedspam ikke noget problem, men datasæt med legitime billeder eksisterer, mig bekendt, ikke. Den typiske løsning på dette problem har hidtil været at anvende billedsamlinger som fx. Corel stock photo collection (se bl.a [WJL + 07] og [BLWP07]) eller at finde billeder med googles billedsøgning ved brug af specifikke søgeord såsom foto og baby (se bl.a [BLWP07] og [AMH05]). Ingen af disse løsninger er særlig gode, da de resulterende datasæt sandsynligvis ikke er repræsentative for de billeder, folk rent faktisk sender til hinanden via . Den første udfordring er derfor at skabe et realistisk datasæt, hvilket er emnet for 33

38 afsnit 6.1. Næste udfordring er at finde nogle simple features, der kan anvendes til at adskille spam fra ham, hvilket gennemgås i afsnit 6.2. Flere interessante features som ikke er blevet benyttet i dette projekt, beskrives i afsnit 6.3 og i afsnit 6.4 beskrives den indlæringsalgoritme, der er blevet benyttet til træning og klassifikation. 6.1 Indsamling af legitime billeder For at være i stand til at udvælge nogle fornuftige features til at adskille spambilleder fra legitime billeder kræves viden om begge typer data. Takket være samarbejdet med SPAMfighter har det ikke været noget problem at skaffe adgang til datasæt med spambilleder. Datasæt med legitime billeder er til gengæld vanskelige at fremskaffe, bl.a fordi der både skal tages hensyn privatlivets fred og til ophavsretsligt materiale. I dette projekt har jeg derfor anvendt tre fremgangsmåder for at samle et realistisk datasæt. For det første rundsendte jeg en mail til alle på Datalogisk Institut, hvori jeg bad om at få tilsendt billeder. Det eneste krav der blev stillet var, at folk kunne tænkes at sende ligende billeder til venner, kollegaer, familie el.l. Mailen resulterede i, at jeg modtog ca. 500 billeder, hvoraf en del stammer fra rigtige mails, hvilket vil sige at billederne tidligere er blevet sendt til andre modtagere end mig. Billedernes indhold er af meget varierende art og inkluderer bl.a feriebilleder, vittighedstegninger, logoer, festinvitationer og skærmbilleder 1. Den anden fremgangsmåde var at undersøge mine egne mail-konti, hvilket gav ca. 50 billeder, der primært kan kategoriseres som feriebilleder. Den sidste fremgangsmåde var at hente billeder fra internettet. Dette blev gjort ved først at søge på en række ord vha. googles billedsøgning 2. Med udgangspunkt i billedsøgningen blev programmet imagefans 3 derefter brugt til at traversere alle de fundne links i en dybde på 5. De brugte søgeord var bl.a random, groups, image og billeder. I alt blev der hentet omkring 1700 billeder, hvor alle størrelser, typer og motiver blev medtaget, så længe de ikke indeholdt reklamemateriale. Ved at søge på nogle meget diffuse ord/begreber og samtidig søge i dybden er håbet, at datasættet bliver mere varieret, end det fx. er tilfældet i Aradhye et al. [AMH05], hvor der blot søges på ord som baby, grafik og screenshot. Samlet set indeholder datasættet da også en meget bred vifte af billeder, der bl.a inkluderer tegneseriebilleder, vittighedstegninger, blomster, matematiske formler, fraktaler, feriebilleder, luftfotos, skærmbilleder, covers (cd er, bøger mm.), skilte, grafer, kort (vejkort, landkort mm.), video-grabs, sportsbilleder, portrætter og firmalogoer. I afprøvningen godtgøres det, at disse billeder i vid udstrænking minder om de øvrige indsamlede billeder. 1 Da afsenderne primært er studerende fra DIKU, indeholder datasættet selvfølgelig også et par billeder af letpåklædte damer Gratis prøve-version kan hentes på 34

39 6.2 Udvælgelse af billedfeatures Ved hjælp af det netop beskrevne datasæt, samt store mængder spambilleder, er det nu muligt at finde frem til en række fornuftige lavniveau billedfeatures. Målet er selvfølgelig, at hver feature skal være karakteristisk for enten spambillederne eller de legitime billeder. Samtidig skal de enkelte features være hurtige at beregne og eventuelt genbruge delresultater fra tekstanalysen. Tallene og graferne i de følgende afsnit bygger på en analyse af spambilleder indsamlet gennem hele 2007 samt de legitime billeder beskrevet i forrige afsnit SPAMfighters nuværende features På nuværende tidspunkt benytter SPAMfighter fem features der godt kan beskrives som lavniveau billedfeatures: Animation er en binær feature, der angiver, om et billede er en del af en animation. Ham datasættet indeholder ingen af disse, men i visse kredse er det efter sigende populært at vedhæfte små animationer til sine mails. Generelt er tilstedeværelsen af en animation dog en ret kraftig indikation på, at der er tale om spam. Puzzle er en binær feature, der indikerer, om billedet er blevet brudt op i mindre dele og sat sammen vha. en html-tabel. Hvis dette er tilfældet, er der næsten sikkert tale om spam. Tekst er et reelt tal, der angiver, hvor stor en del af billedet, der er dækket af tekst. Dette tal ligger typisk mellem for spam. For ham er tallet ofte meget lavere (feriebilleder etc.) eller meget højere (scannede artikler eller bøger). Baggrund er et reelt tal, der angiver, hvor mange procent af billedet der består af den hyppigst forkommende gråtoneværdi. Dette tal vil ofte være ret højt for spambilleder (60% 80%) og ret lavt for naturlige billeder (5% 10%). Rotation er en binær feature, der angiver, om billedet indeholder tekst, som er roteret i forhold til det sædvanelige vandrette layout. Dette er generelt en indikation på, at hele billedet er blevet roteret, hvilket er en taktik spammere anvender i et forsøg på at omgå spamfiltre. I de analyserede datasæt er omkring 10% af spambillederne blev roteret, mens tallet er omkring 3% for de legitime billeder. Som det ses, er disse features ganske fornuftige, men i sig selv er de ikke tilstrækkelige til at adskille spam fra ham. Således findes der mange eksempler på både ham- og spambilleder, hvor alle de ovenstående features, med undtagelse af baggrund, vil være nul. Et par eksempler på sådanne billeder kan ses på figur

40 (a) (b) Figur 6.1: To billeder hvor alle SPAMfighters nuværende features, med undtagelse af baggrund, vil være nul. (a) Et legitimt billede fra en sommertur til Bercy i Paris, sendt til min Gmail-konto. (b) Relativt typisk spambillede fra den 13. juni Features baseret på størrelse En række helt oplagte og beregningsmæssige meget billige features er baseret på størrelsen af billederne. Følgende features er blevet analyseret og benyttet: Højde og bredde På figur 6.2 ses histogrammerne for højden og bredden af ham- og spambillederne. Figuren viser, at der er en tydelig forskel på de to billedtyper, hvilket en nøjere analyse af datasættene bekræfter. Indledende forsøg viser således, at højden for et spambillede typisk er omkring 300 pixels, hvor det tilsvarende tal for de indsamlede legitime billeder er ca. 560 pixels. Desuden er mere end 90% af alle spambilleder mindre end 500 pixels høje, hvor tallet kun er ca. 58% for hambillederne. Samme tendens gør sig gældende for bredden, blot er alle billederne i gennemsnit lidt bredere, end de er høje. Således er et spambillede i gennemsnit ca. 420 pixels bredt, og omkring 90% er mindre end 600 pixels brede. Tilsvarende er hambillederne i gennemsnit ca. 600 pixels brede, og det kun er omkring 54%, der er mindre end 600 pixels. En stor del af de billeder brugere sender til hinanden, adskiller sig altså ved at være væsentligt højere og bredere end et typisk spambillede. Dette stemmer fint overens med, at en del af billederne er private fotos taget med digitalkamera, der som regel har en relativ høj opløsning. Højde-bredde-forhold Forholdet mellem højden og bredden af et billede (eng: aspect ratio) kan også være en god indikator for, om et billede er spam. Det gælder således, at mange af de spambilleder der er mere end 600 pixels brede, ikke er særligt høje. Typisk vil denne feature altså kunne afsløre, om et billede er en bannerreklame, og som det ses på figur 6.3, er højdebredde-forholdet ofte større for spam end for ham. Man skal dog være opmærksom på, 36

41 (a) (b) (c) (d) Figur 6.2: Histogrammer over højden og bredden for legitime billeder hhv. spambilleder. Bemærk at alle billeder der er højere eller bredere end 1000 pixels tælles, med i spanden der repræsenterer pixels. (a) Højde-histogram for legitime billeder. (b) Højdehistogram for billedspam. (c) Bredde-histogram for legitime billeder. (d) Bredde-histogram for billedspam. 37

42 (a) (b) Figur 6.3: Histogrammer over højde-bredde-forholdet for legitime billeder hhv. spambilleder. (a) Legitime billeder. (b) Billedspam. at nogle legitime billeder, såsom tegneseriestriber og firmalogoer, også kan have et højt højde-bredde-forhold. Fil-størrelse På figur 6.4 ses histogrammer over størrelsen af billedfilerne i de to datasæt. Det er ganske tydeligt, at spambillederne fylder væsentligt mindre end de legitime billeder, og en yderligere analyse viser, at mens et spambillede i gennemsnit fylder 28 kb, er tallet for et legitimt billede 134 kb. En stor del af denne forskel skyldes selvfølgelig, at de legitime billede er væsentligt større end spambillederne, men dette er heldigvis ikke hele forklaringen. Det viser sig nemlig, at spambilleder ofte er komprimeret hårdere end de legitime billeder. Typisk er fil-størrelsen for et spambillede kun halvt så stor som for et tilsvarende legitimt billede med samme højde og bredde. Dette er egentlig ikke så overrakende, da en mindre fil-størrelse gør det muligt for en spammer at udsende flere mails, hvilket i sidste ende resulterer i en større indtægt. Det er derfor ikke uden en vis ironi, at denne feature kan anvendes til at fjerne selvsamme indtægt Features baseret på farver Features baseret på et billedes størrelse har i praksis vist sig at være yderst anvendelige til at adskille ham fra spam, men da de ikke tager hensyn til billedets indhold, er de ikke særlig robuste. Det vil således være meget lettere for en spammer at ændre på størrelsen af de spambilleder han udsender, i forhold til at ændre på selve indholdet. En måde at inddrage billedernes indhold er ved at undersøge de anvendte farver. Inspireret af Frankel et al.[sfa96] og Aradhye et al. [AMH05] er følgende to farvefeatures derfor blevet undersøgt. 38

43 (a) (b) Figur 6.4: Histogrammer over filstørrelsen for hhv. legitime billeder og spambilleder. Bemærk at alle billeder der er større end 500 kb tælles med i spanden, der repræsenterer kb. (a) Legitime billeder. (b) Billedspam. Farvemætning For hver pixel i et RGB-billede defineres r, g, b som pixelværdien i hhv. R, G og B matricen. Lad desuden m angive max(r, g, b) og n min(r, g, b). Farvemætningen for et billede defineres herefter som andelen af pixels hvor (m n) > T, hvor T er en brugerbestemt tærskelværdi. For billeder med RGB-værdier mellem vælger både Frankel og Aradhye at sætte tærskelværdien til 50. Forventningen er, at billedspam vil have en væsentligt højere farvemætning end naturlige billeder. Aradhye foreslår desuden, at farvemætningen udregnes seperat for de dele af et billede, der indeholder tekst, og de dele der ikke indeholder tekst. Denne fremgangsmåde giver god mening, da spammere ofte placerer tekst på en meget kulørt baggrund, mens tekst i legitime billeder ofte er placeret på en mere neutral baggrund. Aradhyes fremgangmåde følges derfor i dette projekt. Farve-hetrogenitet Farve-hetrogenitet er et mål for, hvor ensfarvet et billede er. Motivationen bag denne feature er, at naturlige billeder ofte indeholder flere farver end spambilleder, mens skærmbilleder ofte indeholder færre. Netop skærmbilleder kan give problemer for SPAMfighters system, da disse i lighed med spambilleder ofte indholder en del tekst. Featuren bliver beregnet ved at normalisere et RGB-billede, så værdierne i hver farvekanal ligger i intervallet mellem 0 og 1. Billedet konverteres herefter til et indekseret billede, således at det repræsenteres med maksimalt k farver og rms-fejlen (root mean square), mellem det normaliserede billede og det indekserede billede, beregnes. Indekseringen sker vha. en metode kaldet minimum variance quantization, der på mange måder minder om klassisk klyngeanalyse. Metoden fungerer essentielt ved at inddele den 3-dimensionelle farvekube i små kasser baseret på variansen mellem pixelværdier, hvorefter hver pixel bliver 39

44 tildelt centerværdien af den kasse, den falder indenfor. Aradhye vælger igen at beregne denne feature separat for regioner med tekst hhv. uden tekst, hvilket også er tilfældet i dette projekt. I regioner med tekst vælges k = 8 mens k = 10 vælges i regioner med tekst. Af alle de anvendte features i dette kapitel er denne den beregningsmæssig tungeste, hvilket skyldes den anvendte indekseringsalgoritme. En simplere løsning, hvor farverummet blot inddeles i k lige store kasser, kunne måske anvendes i stedet, men denne mulighed er ikke blevet undersøgt nøjere Øvrige anvendte features Et af de meget karakteristiske træk ved spambilleder er, at de meget ofte fremstår som mere simple end de legitime billeder. Dette glæder både for de billeder, der kun indeholder tekst, og for de billeder der indeholder forskellige grafiske elementer. En måde at kvantisere denne simpelhed er ved at beregne entropien 4, der for en diskret stokastisk variabel X med n mulige udfald {x 1...x n } er defineret ved, n p(x i ) log 2 p(x i ). (6.1) i=1 Entropien for et gråtonebillede med værdier i intervallet kan således udregnes ved at sætte n = 256 og lade p(x i ) være bestemt af, hvor hyppigt en given gråtoneværdi optræder i billedet. En sidste nyttig feature, der benyttes i dette projekt, er antallet af teksregioner i et billede. Hvis et spambillede indeholder tekst, er denne meget ofte delt op i flere logiske blokke, fx. en overskrift, en tabel med produkter og priser og til sidst en web-adresse, hvor produkterne kan købes. Et tilbagevendende problem for SPAMfighter er, at nogle kunder får blokeret deres mails, hvis de indeholder et billede med firmalogo. Sådanne logoer indholder typisk en del tekst i form af firmanavn, adresse, telefonnummer osv. og har ofte samme dimenssioner som en bannerreklame. Til gengæld bliver teksten som regel indelt i en eller to logiske blokke og adskiller sig på den måde fra spambilleder. 6.3 Mulige udvidelser Det er klart, at de features der netop er blevet beskrevet, kun repræsenterer en lille delmængde af potentielt nyttige features. I dette afsnit beskrives derfor nogle af de features, der af forskellige årsager ikke bliver benyttet i dette projekt. Tre features, der er værd at være opmærksom på, beskrives i to artikler af Biggio et al. ([BFPR07b], [BFPR07a]). Her arbejdes ud fra en antagelse om, at billedspam indeholder 4 Også kaldet Shannon entropien eller informations entropien [CT06]. 40

45 tekst, samt at spammere bevidst anvender algoritmer, der skal umuliggøre brugen af OCRteknikker. Grundidéen er derfor, at undersøge om et billede har været udsat for sådanne teknikker, hvilket sker ved at se på teksten i binariserede billeder. De tre features forsøger således at beskrive, om (1) de enkelte bogstaver er blevet brudt op i mindre segmenter, (2) om flere bogstaverne er smeltet sammen til et segment og (3) i hvor høj grad grafiske objekter overlapper med teksten. Den primære grund til at disse features ikke er blevet implementeret er, at Biggio et al. kun har afprøvet deres metode på et meget lille datasæt bestående af 186 spambilleder. Det er derfor tvivlsomt, om metoden er generel nok, og om de fundne features overhovedet er informative i forhold til legitime billeder. En hurtig undersøgelse af datasættet viser desuden, at spammere er begyndt at anvende nye sløringsteknikker, i forhold til dem Biggios metode er bygget på. Et andet problem ved metoden er, at den er meget afhængig af den benyttede segmenteringsalgoritme. For et scannet dokument med et dårligt kontrastforhold kan nogle segmenteringsalgoritmer således let producere resultater, der enten er over- eller undersegmenteret, hvilket vil sige, at de enkelte bogstaver er smeltet sammen eller brudt op i mindre dele. Hvis en sådan algoritme blev benyttet, ville det scannede dokument på baggrund, af Biggios features, komme til at fremstå som spam. Omvendt kan gode præprocesserings- og segmenteringsalgoritmer fjerne meget af den støj, der optræder i de nuværende spambilleder, således at de binære billeder fremstår pæne og dermed ikke ligner spam. Både antagelsen og grundidéen i Biggios arbejde er dog ganske fornuftig, og varianter af de foreslåede features kan sagtens blive relevante igen, i takt med at billedspam ændrer sig. Det kan også tænkes, at features af denne type kan anvendes til mere end blot klassifikation. En mulighed er at anvende dem i præprocesseringen af et billede med henblik på at afgøre, hvorledes billedet efterfølgende bør behandles. Hvis et billede indholder tekst, og der ikke findes spor af sløringsteknikker, kunne det næste trin fx. være at udføre reel tekstgenkendelse vha. OCR. Omvendt kunne andre mere robuste metoder tages i brug, hvis der blev fundet spor af sløringsteknikker. I et system bygget på flere forskellige klassifikationsalgoritmer kunne disse features desuden anvendes til at vægte de enkelte metoder. Det ville fx. være oplagt at have stor tiltro til tekstbaserede metoder, hvis billedet er rent, mens andre metoder kunne vægtes højt, hvis billedet er forsøgt sløret. Ud over de features der er blevet beskrevet i dette kapitel, findes der utvivlsomt andre kendetegn ved billedspam, som endnu ikke er blevet identificeret. Ligeledes vil der med stor sikkerhed opstå nye tendenser, i takt med at spammere ændrer og forfiner deres teknikker, samtidig med at nogle af de nuværende kendetegn sandsynligvis vil forsvinde. Hvis metoden skal implementeres i praksis, betyder dette, at der skal udvikles et system, der tager højde for disse ændringer. Det vil således være en klar fordel, at features der ikke længere er informative, automatisk bliver frasorteret når nye modeller udregnes. Dette er dog ikke et emne, jeg vil komme nærmere ind på i dette projekt. 41

46 6.4 Valg af indlæringsalgoritme Det næste trin, i anvendelsen af lavniveau features til klassifikation af billedspam, er at vælge en passende indlæringsalgoritme. Der findes et rigt udvalg af sådanne metoder, men i dette projekt er der tre krav, der skal være opfyldt for at indlæringsalgoritmen er anvendelig. 1. Den skal være i stand til at håndtere meget store datasæt på en effektiv måde. I praksis vil det sige datasæt, bestående af flere hundredtusinder samples, der hver kan bestå af flere tusinde features. 2. Den skal være i stand til at håndtere online-indlæring. 3. I træningsfasen skal det være muligt at foretage en vægtning af de to klasser, således at fejlklassifikation af legitime billeder straffes hårdere end fejlklassifikation af spambilleder. Da mængden af spam er enorm, er det klart, hvorfor metoden skal kunne håndtere et meget stort antal samples. At den samtidig skal være i stand til at håndtere mange features, skyldes primært, at repræsentationen af features kan have stor indvirkning på resultaterne. Således kan det ofte betale sige at splitte én feature op i mange binære features [HCL03]. Det andet krav skyldes, at der hele tiden opstår nye typer billedspam, og en god klassifikationsrate kan derfor kun opretholdes, hvis der regelmæssigt trænes med den nyeste data. Skulle dette ske manuelt, ville processen blive alt for tidskrævende, og desuden vil systemet fungere bedst, hvis klassifikationen altid sker på baggrund af de nyeste tendenser. I praksis er det derfor en stor fordel, hvis systemet er i stand til at foretage online-indlæring. Det sidste krav stilles, fordi det er langt mere kritisk at klassificere en legitim mail som spam end omvendt. De fleste folk er ret overbærende, hvis en enkelt spammail skulle slippe igennem systemet men knapt så tolerante, hvis en vigtig mail bliver blokeret af et spamfilter. En metode der opfylder ovenstående krav, kaldes Support Vector Machine (SVM). Metoden begyndte først rigtig at optræde i litteraturen i midten af 90 erne, hvor den bl.a bliver brugt til klassifikation af tekstdokumenter og genkendelse af håndskrevne tal ([Joa98b], [CV95]). Siden da er den med stor succes blevet benyttet inden for stort set alle felter, hvor mønstergenkendelse bliver anvendt. En oversigt over nogle af disse områder kan ses i Byun et al. [BLWP07], hvor resultaterne af knapt 90 artikler om SVMs bliver opsummeret. I dette projekt har anvendelsen af SVMs desuden den fordel, at flere effektive og let anvendelige implementationer er frit tilgængelige på internettet. Blandt disse kan nævnes SVM light [Joa98a] og Libsvm [CL01], der begge er citeret og anvendt i et utal af artikler 5. SVMs er dog langt fra den eneste mulige indlæringsalgoritme, der kunne anvendes i dette projekt. Et alternativ kunne fx. være en af de såkaldte boosting metoder, der har opnået stor popularitet i løbet af de seneste år. Der findes mange forskellige varianter af 5 Citeseer ( giver hhv. 57 og 80 citationer, og begge metoder er desuden blevet brugt i flere af de artikler, der anvendes i dette projekt. 42

47 disse, men grundidéen er dog den samme: At kombinere flere forskellige simple klassifikationsregler (kaldet weak learners) til én stærk klassifikationsregel. En af de ældste og bedst kendte metoder kaldes Adaboost (Adaptive Boosting) og blev først foreslået af Freund og Schapire [FS95] i Der findes dog en lang række nyere boosting algoritmer, der bl.a retter op på nogle af de svagheder, der er forbundet med den oprindelige Adaboost algoritme [Wik07]. Rent resultatmæssigt ser det ikke ud til, at der er den store forskel mellem SVM og boosting. Det der kunne tale for at anvende boosting frem for SVM er, at den resulterende model er let at fortolke, hvilket ikke er tilfældet for SVM. Her består modellen blot af de såkaldte support vektorer, der ikke umiddelbart er særlig informative [SKH04] Support Vector Machines I dette afsnit gives der en kort introduktion til Support Vector Machines. Da brugen af SVM i dette projekt blot er blevet betragtet som et værktøj, er det kun de grundlæggende formler og idéer, der her bliver præsenteret. For en fyldestgørende gennemgang af teorien bag SVM og kernemetoder henvises til [CST00], mens en lidt kortere introduktion er givet af Burges [Bur98]. Grundlæggende kan filtrering af spam betragtes som et binært klassifikationsproblem, hvilket vil sige, at data tilhørende to forskellige klasser ønskes adskilt på en optimal måde. Mere formelt haves data af typen ( x i, y i ), hvor i = 1, 2,...m, x i er en featurevektor, der ligger i et inddatarum X, og y i { 1, 1} angiver hvilken klasse, den givne featurevektor tilhører. Ud fra denne data skal der findes en beslutningsfunktion, som kan adskille de to klasser. I SVM anvendes et hyperplan til dette formål, og en optimal adskillelse er defineret som det plan, der maksimerer margin mellem de to klasser. I træningsfasen søges der altså efter det hyperplan, der har den største afstand til de nærmeste samples i træningsdata, og disse samples kaldes support vektorer. Intuitionen bag denne fremgangsmåde er, at man ved at maksimere margin kan opnå den bedste generaliseringsevne. I den simpleste situation hvor data er lineært separable, består træningen derfor i at løse følgende optimeringsproblem, kaldet det primale problem, min L P ( w) = 1 2 w 2 (6.2) under bibetingelse y i ( w, x i b) 1, i = 1...m, (6.3) hvor w X er en vægt-vektor, som er ortogonal til hyperplanet, angiver det indre produkt og b R er bias. Ofte er datasæt ikke lineært separable, og metoden udvides derfor med en slack-variabel ξ i 0, hvorved optimeringsproblemet kan formuleres som: min L P ( w) = 1 m 2 w 2 + C ξ i (6.4) under bibetingelse y i ( w, x i b) 1 ξ i, i = 1...m, (6.5) i=1 43

48 hvor C er en konstant, der bestemmer hvor meget fejl skal straffes. I modsætning til det separable tilfælde er det ikke sikkert, at alle datapunkter i træningssættet bliver korrekt klassificeret, men denne formulering sikrer, at der altid kan findes et hyperplan. Når optimale værdier for w og b er fundet, kan ukendte samples klassificeres, ved at se på hvilken side af hyperplanet de er placeret. Formelt kan beslutningsfunktionen skrives: f( x) = sgn( w, x b), (6.6) og klassifikationen træffes altså blot ved at se på fortegnet. I praksis anvendes det primale problem dog meget sjældent i egentlige implementationer af SVM. I stedet anvendes det såkaldt duale problem, der blot er en snedig omskrivning af det primale problem. Løsningen til de to problemer er derfor ækvivalente, men anvendelsen af det duale problem har bl.a den fordel, at optimeringsproblemet bliver lettere at løse. Den primære fordel er dog, at trænings- og testalgoritmerne kan formuleres således, at data kun er repræsenteret som prikproduktet mellem vektorer. Denne egenskab er afgørende for, at metoden kan udvides til at håndtere ikke-lineære beslutningsfunktioner. Ikke-lineære Support Vector Machines Den grundlæggende idé i ikke-lineære SVM er at anvende en funktion Φ til at afbilde inddata over i et, ofte højdimensionalt, feature-rum H, hvor det altid vil være muligt at adskille data vha. et hyperplan [DHS00]. Ved at bruge Φ bliver det derved muligt at udtrykke en ikke-linær beslutningsfunktion i inddatarummet, vha. den lineære beslutningsfunktion i H. Det der i praksis gør denne fremgangsmåde mulig, er det såkaldte kernetriks, der betyder, at prikproduktet mellem to vektorer i H kan udregnes uden eksplicit at bruge afbildingen Φ. En kerne er en funktion, der for alle x, x X opfylder at: k(x, x ) = Φ(x), Φ(x ), (6.7) hvilket vil sige, at den blot returnerer prikproduktet mellem to vektorer i H. Grunden til at kerner er nyttige i SVM er bl.a, at H potentielt kan have uendelig mange dimensioner, hvilket umuliggør en eksplicit brug af afbildingen Φ. En anden fordel ved at anvende en kerne er, at det aldrig er nødvendigt eksplicit at finde frem til afbildingen Φ. I stedet anvendes ofte en række veldefinerede kerner, der bl.a inkluderer lineære og polynomielle kerner. 6.5 Relateret arbejde Som nævnt i rapportens indledning er jeg meget sent i mit arbejde med feature-baseret klassifikation blevet opmærksom på en artikel skrevet af Dredze et al. [DGEB07]. Fremgangsmåden i denne artikel overlapper på mange måder med den, der er blevet beskrevet i dette afsnit. Således er det fælles udgangspunkt, at klassifikation af billedspam kan ske på baggrund af simple let beregnelige features. I begge projekter er der desuden brugt tid 44

49 på at indsamle legitime billeder for at gøre afprøvningen så troværdig som muligt. Selv i valget af features er der et meget stort overlap, idet stort set alle features baseret på farveinformation og størrelse er gengangere. Den primære forskel er, at Dredze et al. også anvender billedernes filformat og metadata 6 som features, mens jeg stadig er ene om at anvende entropien og antallet af tekstblokke. Desuden anvender Dredze et al. ikke SVM som indlæringsalgoritme, men i stedet en metode kaldet Maximum Entropy. Ifølge Dredze bør de to metoder dog give sammenlignelige resultater. Ud fra de resultater Dredze et al. opnår ved udelukkende at anvende metadata til klassifikation, ville det være oplagt også at anvende disse features i dette projket. Da hele afprøvningen i skrivende stund 7 allerede er foretaget, er dette dog ikke blevet gjort. De legitime billeder indsamlet af Dredze et al. er dog efterfølgende blevet inkluderet i afprøvningen for at gøre denne så realistisk som mulig. 6 Et billedets metadata består af informationer som fx. billedkommentarer, antal bits pr. pixel, anvendte indkodningsformat osv. 7 December

50 Kapitel 7 Genkendelse af nær-dubletter Et vigtigt kendetegn ved billedspam er, at en meget stor del bliver skabt vha. et begrænset antal skabeloner. Størstedelen af de spambilleder, der bliver udsendt, er derfor nær-dubletter, hvilket vil sige, at de kun adskiller sig ganske lidt fra hinanden. De små forskelle kan fx. være mængden af tilføjet støj, skaleringsfaktoren, eller den anvendte komprimeringsalgoritme (gif, jpg, tif etc.). 1 Som beskrevet i kapitel 3 bygger SPAMfighters system i høj grad på denne kendsgerning, idet et billede bliver klassificeret ud fra, om dets signatur matcher en kendt spamsignatur. Systemet har dog den svaghed, at der kun etableres et match, hvis to billedsignaturer er identiske. Selv hvis de bagvedliggende features er robuste, er der en stor sandsynlighed for, at relativt små forskelle mellem to billeder kan resultere i to forskellig signaturer. Konsekvensen er, at der ofte skal gemmes flere signaturer for nær-identiske billeder, hvilket i sidste ende betyder, at systemet ofte fejlklassificerer varianter af allerede kendt billedspam. I dette kapitel vil en mere generelt løsning, der tillader at man kan måle afstanden mellem to billedsignaturer, derfor blive udviklet. Et billede kan herefter klassificeres som spam, hvis dets afstand til et kendt spambillede er tilpas lille. Derved bør det være muligt at fange stort set alle varianter af et spambillede, når blot én af disse er kendt. Kravene til løsningen ligner meget dem, der blev præsenteret i sidste kapitel. Der skal således gælde, at de billedfeatures der udgør en signatur, kan udregnes på en effektiv måde. Ligeledes skal systemet være i stand til at klassificere størstedelen af de nær-dubletter, det præsenteres for, samtidig med at legitime billeder ikke må fejlklassificeres. Hvis systemet skal anvendes i praksis, er det desuden nødvendigt at implementere en indekseringsteknik, således at sammenligningen mellem en ny billedsignatur og de kendte spamsignaturer kan udføres på effektiv vis. For høj-dimensionale features er dette et ikketrivielt problem, der er kendt som the curse of dimensionality. Meget kort kan problemet beskrives på følgende vis: Givet en mængde punkter P = {p 1,...p m }, p i R n, og en afstandsfunktion d, indekser P således, at det på effektiv vis er muligt at finde alle punkter p P med en afstand på mindre en T til et nyt punkt q R n. Til dato findes der ingen 1 Wang et al. har, på knapt 1100 spambilleder, observeret 21 forskellige unikke teknikker til at ændre den oprindelige skabelon. 46

51 løsninger på dette problem, der både er effektive og eksakte. I tidskritiske applikationer bliver problemet derfor ofte løst med approksimative algoritmer som fx. Locality Sensitive Hashing ([GIM99], [CQM05], [FZST07]), der har vist sig at give gode resultater på selv meget store datasæt. I dette projekt vil jeg dog ikke komme nærmere ind på dette problem men blot antage, at en effektiv indekseringsteknik er til rådighed. 7.1 Baggrund og valg af metode Genkendelse af nær-dubletter kan anses for at være en underafdeling af forskningsfeltet Content-based image retrieval (CBIR). Inden for CBIR er det typiske problem som følger: Givet et billede (eller en beskrivelse) af en scene, find lignende billeder i en billeddatabase. Hvad der præcist menes med lignende varierer meget, men det kan fx. være billeder af samme scene taget fra andre vinkler, eller billeder der indeholder objekter af den samme type som originalbilledet. Inden for genkendelse af nær-dubletter reduceres problemstillingen ofte således, at der kun søges efter manipulerede versioner af originalbilledet. Dette kunne fx. være billeder, der er blevet geometrisk transformeret, beskåret, konverteret til et andet fil-format eller hvor farverne er blevet ændret. Udgangspunktet for både CBIR og genkendelse af nær-dubletter er billeddeskriptorer, der groft set kan opdeles i to klasser: Lokale og globale. Som navnet antyder, beskriver globale billeddeskriptorer hele billedet, og er som sådan ofte meget robuste over for bl.a støj. Over for disse står de lokale deskriptorer, der udregnes på baggrund af små billedudsnit. Ofte sker dette ved først at finde interessepunkter i billedet (fx. hjørnepunkter) og derefter beskrive det lokale område omkring disse punkter. Forskellige teknikker anvendes for at gøre deskriptorerne robuste over for støj, skala og forskellige billedtransformationer. En af styrkerne ved lokale deskriptorer er, at de kan anvendes til at genkende enkel-objekter imellem billeder, selv hvis billedets baggrund ændres, eller objekterne bliver delvist skjult (eng: occluded). Den helt store ulempe ved lokale deskriptorer er de beregningsmæssige omkostinger. For det første tager de ofte længere tid at udregne end en global deskriptor, og for det andet beskrives et billede som regel med lokale deskriptorer. Når to billede skal sammenlignes, betyder dette, at der skal foretages flere hundrede på hinanden følgende opslag i en database, der er flere hundrede gange så stor. Som forklaret ovenfor er der altså i særlig høj grad brug for en effektiv indekseringsteknik, hvis lokale deskriptorer skal anvendes på store datasæt. Variationen i både afprøvningsstrategier og datasæt gør det meget svært at vurdere, hvilke metoder der kan betragtes som state of the art inden for genkendelse af nærdubletter. Ved brug af globale deskriptorer er metoden beskrevet af Chang et al. [CQM05] dog et udmærket bud. Her beskrives hvert billede vha. dets farver, tekstur og struktur, hvilket i alt giver en 279 dimensional featurevektor. Det særlige ved metoden er dog ikke valget af features, med i stedet den afstandsfunktion der benyttes til at sammenligne 47

52 billeder. Denne tager udgangspunkt i den ofte benyttede Minkowski-norm: ( n D(X, Y ) = i d r i ) 1 r, (7.1) hvor X og Y er to n-dimensionale vektorer og d i = x i y i. Hvis r = 1 svarer dette til L 1 -afstanden (også kaldet Manhattan afstanden eller city-block afstanden), mens r = 2 svarer til den velkendte euklidiske afstandsfunktion. Chang et al. [LCW03] viser imidlertid, at anvendelse af Minkowski-normen ofte giver dårlige resultater, fordi afstanden mellem nær-dubletter risikerer at blive stor. Inspireret af eksperimenter inden for den cognitive psykologi foreslår de i stedet en modificeret udgave af Minkowski-normen, kaldet Dymamic Partial Function (DPF): ( D(X, Y ) = d i M d r i )1 r, (7.2) hvor M er de m mindste d i er. Når to billeder sammenlignes, er det altså kun de m features med mindst afstand mellem hinanden, der anvendes til at bestemme den samlede afstand. Den bagvedliggende idé kan let illustreres vha. et lille eksempel. Antag således at et billede bliver beskrevet vha. dets farver, samt strukturen af de objekter det indeholder. Antag desuden at der er givet et billede af en bil taget på en sort baggrund samt to manipulerede versioner af dette billede. På det ene er både bilens- og baggrundens farve blevet ændret, og det andet er blevet kraftigt skaleret i højden. I begge tilfælde vil afstanden til originalbilledet være stor, hvis Minkowski-normen blev anvendt som afstandsfunktion. I det første tilfælde fordi der er sket en ændring af farverne, og i det andet fordi skaleringen har ændret bilens struktur. Givet et fornuftigt valg af m ville DPF afstanden derimod være lille, idet farveinformationen ville blive ignoreret i det første tilfælde og strukturinformation ignoreret i det andet tilfælde. Som sagt er der noget der tyder på, at menneskets syn fungerer på en ligenede måde, og de fleste ville nok være i stand til at identificere de to manipulerede billeder som nær-dubletter. Effektiviteten af DPF er selvfølgelig bestemt af, hvorledes m vælges. I den simple version [LCW03] vælges m blot som en konstant, der bestemmes vha. træningsdata. I en mere avanceret version [CQM05] bestemmes m dynamisk således, at både typen og antallet af features der indgår i afstandsberegningen, kan variere fra billede til billede. På flere store datasæt viser Chang et el., at de to versioner af DPF begge overgår brugen af Minkowskinormen som afstandsfunktion. De bedste resultater inden for genkendelse af nær-dubletter ser dog ud til at blive opnået vha. lokale deskriptorer. Foo et al. [FZST07] har således udviklet et system baseret på en variant af Lowes SIFT features [Low03], kaldet PCA-SIFT. Foo har desuden foretaget en direkte sammenligning med Changs metode, som viser at brugen af PCA-SIFT er resultatmæssigt overlegen. Desværre sker dette på bekostning af en køretid, der er væsentligt højere end ved brug af globale features. Alene forespørgsler i featuredatabasen tager 48

53 omkring 1.8 sekund pr. billede, hvor en tilsvarende forespørgsel kun tager omkring 0.06 sekund pr. billede for globale features. Disse tal understøttes af Deselaers et al. [DKN08], der har undersøgt brugen af en lang række features til CBIR. Her ses det igen, at lokale billedfeatures både er langsommere at beregne og matche end globale features. Da køretiden er en væsentlig faktor i dette projekt, er det klart, at anvendelsen af lokale billedfeatures ikke er en mulighed. Det ville derfor være oplagt at udvikle et system baseret på Changs globale features og afstandsfunktion. Desværre er der en række praktiske problemer, der forhindrer denne fremgangsmåde. For det første bliver flere af de features Chang anvender kun meget løst beskrevet, og det er derfor ikke umiddelbart muligt at kopiere disse. Til at beskrive farverne i et billede benyttes fx. såkaldte kultur-farver. Dette er 11 farver, som folk fra alle dele af verden efter sigende skulle være i stand til at navngive, men derudover gives der ingen videre forklaring på, hvorledes de skal beregnes. Det andet store problem ligger i estimeringen af m, altså antallet af features der skal anvendes, når afstanden mellem to billeder skal udregnes. Chang anvender et kunstigt skabt datasæt, hvor hvert originalbillede er blevet udsat for et begrænset antal transformationer, til at estimere m. Problemet ligger i, at hver transformation ser ud til at give forskellige optimale værdier af m, og Chang vælger derfor den værdi, der i gennemsnit giver de bedste resultater. For at opnå et fornuftigt estimat af m skal hovedparten af de transformationer, der optræder i testdata altså også være til stede i træningsdata. Desuden skal hver transformation også helst optræde et vist antal gange, for at estimatet bliver robust. Dette er problematisk, fordi træningsdata i dette projekt ikke blot kan skabes kunstigt, men i stedet kræver finsortering af en meget stor mængde spam. Desuden vil valget af m sandsynligvis løbende skulle revideres, i takt med at spammerne ændrer adfærd. I stedet har jeg valgt at tage udgangspunkt i en række kendte globale billedfeatures og nogle simple afstandsmål. I de følgende afsnit beskrives derfor nogle af de features, der ofte benyttes inden for CBIR og genkendelse af nær-dubletter, og desuden diskuteres forskellige datarepræsentationer og afstandsmål. Der fokuseres primært på features, der beskriver farver (afsnit 7.2), tekstur (afsnit 7.3) og gradient baseret information (afsnit 7.4). Et system der anvender disse features til genkendelse af nær-dubletter, beskrives derefter i afsnit 7.5, og forskellige måder at kombinere de beregnede featurevektorer diskuteres i afsnit 7.6. Kapitlet afsluttes med en kort gennemgang af features, der virker lovende, men som af tidshensyn ikke er blevet undersøgt nærmere. Bemærk at store dele af den diskussion der i afsnittet om farvefeatures bliver taget omkring kvantisering og afstandsmål, også gør sig glædende for de øvrigt beskrevne features. 7.2 Farvefeatures En af de ældste og mest anvendte globale billedfeatures inden for CBIR er farvehistogrammer. Dette skyldes sandsynligvis, at disse både er intuitive og beregningsmæssigt billige. Farvehistogrammer er desuden meget robuste over for støj og skalering, samt mange af de øvrige småændringer spammere anvender for at omgå spamfiltre. Eksempler på disse 49

54 ændringer er bl.a varierende fontstørrelse og -type, understregninger samt små variationer i tekstlayoutet. Et alternativ til farvehistogrammer er de såkaldte farve-momenter, der præsenteres af Stricker et al. [SO95]. Her tolkes farvefordelingen i et billede som en simpel (parametriserbar) sandsynlighedsfordeling, hvis parametre skal estimeres, hvilket gøres vha. de central momenter for hver farvekanal. De tre første centrale momenter er middelværdien, variansen og skævheden (eng: skewness), men Stricker vælger i stedet at anvende middelværdien, spredningen og kubikroden af skævheden som features. Dette gøres for at enhederne passer overens, hvilket er nødvendigt, når to billeder skal sammenlignes. For hver farvekanal udregnes således følgende størrelser: µ i = 1 N N ( 1 p ij, σ i = N j=1 N ) 1 (p ij µ i ) 2 2 j=1 ( 1 og s i = N N ) 1 (p ij µ i ) 3 3, (7.3) j=1 hvor p ij er pixelværdien i den i te farvekanal på den j te position i billedet. Den primære fordel ved denne metode, frem for farvehistogrammer, er at et billede kan repræsenteres vha. blot ni reelle tal. Desuden skal der ikke tages stilling til, hvorledes data skal kvantiseres, hvilket diskuteres nærmere i afsnit Den åbenlyse svaghed ved metoden er, at tre momenter simpelthen ikke er nok til at beskrive en vilkårlig fordeling. I nogle tilfælde vil der derfor være en relativ stor forskel mellem den sande fordeling og den som metoden approksimerer. Generelt kan der opnås gode resultater ved brug af farvehistogrammer og farve-momenter, men som påpeget af bl.a Pass et al. [PZ99] og Stricker et al. [SO95] har metoden den store svaghed, at fordelingen af farver sjældent kan karakterisere indholdet af et billede på en entydig måde. To billeder, hvis indhold er vidt forskellige, kan derfor have samme farvefordeling, hvilket kan føre til uønskede resultater. Dette problem vokser selvfølgelig i takt med størrelsen af den anvendte billeddatabase. En måde at reducere problemet på er at indarbejde spatial information i histogrammerne, hvilket fx. kan gøres ved at opdele et billede i mindre, evt. overlappende, regioner og udregne farvehistogrammet for hver region. Ud over den øgede køretid forbundet med at udregne flere histogrammer for hvert billede stiger køretiden også, når to billeder skal sammenlignes. Dette skyldes primært, at hvert enkelt histogram i det ene billede skal matches til et histogram i det andet billede, før den endelige afstand mellem billederne kan beregnes. En lidt mere elegant løsning på problemet er givet af Huang et al. [HKM + 97], der foreslår brugen af såkaldte farve-korrelogrammer. Som navnet antyder, beskriver disse den spatiale korrelation mellem farverne i et billede, og består kort fortalt blot af tabeller, der indekseres vha. af farvepar. Den k te indgang for {i, j} angiver således sandsynligheden for at finde en pixel med farven j i en afstand på k fra en pixel med farven i. Metoden ser ud til at give gode resultater, men for at opnå en fornuftig tidskompleksitet er det nødvendigt at begrænse metoden. Derfor anvender Huang kun de såkaldte autokorrelogrammer, der er den delmængde af farve-korrelogrammer, hvor det kun er den spatiale korrelationen mellem identiske farver, der beregnes. Selv med disse begrænsninger har metoden en køretid, der svarer til flere gennemløb af billedet, og i dette projekt har jeg derfor valgt kun at anvende 50

55 almindelige farvehistogrammer samt Strickers farve-momenter Valg af farvemodel En af de problemstillinger der ofte skal tages stilling til, når der arbejdes med farvebilleder, er valget af farvemodel. Der findes et utal af disse, som hver især er konstrueret med forskellige formål for øje. Blandt de mere udbredte modeller kan nævnes RGB, HSV, HSI, CMY samt diverse udgaver af CIE (CIE-Lab, CIE-XYZ mm.). En forklaring af disse er uden for dette projekts rammer, men en grundig gennemgang af fordele og ulemper ved de enkelte farvemodeller er givet af Gevers [Gev01]. Den oplagte fordel ved at anvende RGB-modellen er, at de fleste digitale billeder er repræsenteret vha. af denne, hvorved man, for det meste, undgår besværet ved at konvertere til et andet format. Som det ofte påpeges i litteraturen, er ulempen imidlertid, at modellen ikke er perceptuel uniform, hvilket vil sige, at den ikke stemmer overens med menneskets måde at opfatte farver på. I stedet anvendes ofte modeller som HSV eller CIE-Lab ([LXW05], [SO95], [MDE05]), der mere eller mindre kan opfattes som perceptuelt uniforme. Undersøgelser på området giver dog ikke noget klart svar på, hvilken farvemodel der er bedst, og resultaterne ser i det hele taget ud til at være meget kontekstspecifikke. Lee et al. [LXW05] viser således, at CIE-Lab modellen er overlegne i forhold til både RGB og HSV inden for klassifikation af forskellige tekstur databaser. Jeong [Jeo01] sammenligner RGB og HSV modellerne, og kommer frem til, at sidstnævnte er bedst til at klassificere naturlige billeder, mens RGB-modellen er klart overlegen på databaser med grafiske billeder. Endelig kommer Pass et al. [PZ99] frem til, at valget af farvemodel ikke har nogen særlig indflydelse på de opnåede resultater. I dette projekt vælges det derfor at anvende RGB-modellen i beregningen af farvehistogrammer, mens HSV modellen, som foreslået af Stricker et al. [SO95], benyttes til udregning af farve-momenter Kvantisering og normalisering Hver gang et histogram anvendes, er det nødvendigt at overveje, hvorledes data skal kvantiseres og normaliseres. Den simpleste måde at kvantisere data er selvfølgelig blot at inddele inddata-rummet i k lige store kasser, hvilket kaldes uniform kvantisering. Dette er en fornuftig fremgangsmåde, hvis data forventes at være nogenlunde ligefordelt, og hvis inddata-rummet er uniformt. Valget af kvantisering er derfor ofte tæt knyttet til, hvorledes data er repræsenteret, hvilket i særlig grad gør sig glædende for farvehistogrammer. Således anvendes ofte en uniform kvantisering af RGB-rummet (fx ), mens hue kanalen i HSV rummet ofte inddeles finere end de øvrige kanaler (fx ). Alternativt foreslår Pass et al. [PZ99] at anvende træningsdata til at beregne den akkumulerede fordeling for en given feature. Kvantiseringen bestemmes derefter således, at sandsynlighedsmassen i hver histogramindgang bliver lige stor. Sagt på en anden måde betyder dette, at hvis et histogram består af n indgange, er der en n te-dels sandsynlighed 51

56 for, at et vilkårligt punkt i træningsdata falder i den i te spand (eng: bucket). Kvantiseringen bliver derved optimal i den forstand, at alle indgange i histogrammet bliver udnyttet lige meget. Ud over valget af kvantiseringsstrategi skal antallet af indgange i histogrammet bestemmes. Som det gjorde sig gældende for valget af farvemodel, ser det ikke ud til, at et valg automatisk giver bedre resultater end andre. Jeg vælger derfor at følge bl.a Wang et al. [WJL + 07] og Pass et al., hvilket vil sige, at farvehistogrammer i dette projekt dannes ud fra en uniform inddeling af RGB-rummet. Når kvantiseringen er fastlagt og histogrammerne beregnet, er den næste udfordring, hvorledes disse skal normaliseres. Dette er et nødvendigt skridt, da histogrammerne ofte er beregnet på baggrund af forskellige mængder data, og derfor ikke er direkte sammenlignelige. En simpel og ofte anvendt metode er blot at dividere hver indgang i histogrammet med summen af samtlige indgange, hvorved histogrammet kan opfattes som en diskret sandsynlighedsfordeling. Der findes dog alternativer til denne metode, hvis formål er at fremhæve de dominerende dimensioner i en featurevektor. Blandt disse kan nævnes Gaussisk normalisering, der ifølge Smith et al. [SN02] kan udføres på følgende vis: Givet træningsdata bestående af n-dimensionale featurevektorer estimeres middelværdien og spredningen for hver enkelt dimension og testdata normaliseres ved: v n (k) = v(k) µ k σ k, (7.4) hvor v(k) er den k te dimension af featurevektoren. Bag denne metode ligger altså en antagelse om, at de enkelte dimensioner i featurevektoren er uafhængige, hvilket ikke nødvendigvis er tilfældet. Smiths resultater tyder da heller ikke på, at metoden generelt fungerer bedre end almindelig lineær normalisering. Det kan dog tænkes, at metoden ville virke bedre, hvis antagelsen om uafhængighed blev forkastet. Dette kan fx. gøres ved at udføre en principalkomponentanalyse på data, eller ækvivalent anvende Mahalanobis afstandsfunktion til at bestemme afstanden mellem to featurevektorer. Som netop antydet hænger valget af normalisering ofte sammen med det afstandsmål, der benyttes til at sammenligne to histogrammer, hvilket diskuteres i næste afsnit. I dette projekt har jeg derfor valgt, at lade normaliseringen være afhængig af de afstandsmål der benyttes, hvilket betyder, at de beregnede histogrammer som udgangspunkt ikke normaliseres Afstandsmål Det sidste vigtige valg der skal træffes, er hvorledes afstanden mellem to featurevektorer skal beregnes. Som diskuteret tidligere i dette kapitel kan det anvendte afstandsmål have stor betydning for de resultater, der kan opnås, og det er derfor værd at undersøge nogle af de mulige alternativer. Den typiske måde at måle afstand mellem to histogrammer er, at foretage en spand for spand sammenligning, hvilket Minkowski-normen er et udmærket 52

57 eksempel på. Andre kendte mål af samme type inkluderer Kullback-Leibler divergensen og den stærkt relaterede Jeffrey divergens [RTG98]. Disse mål bruges især inden for informationsteori, og måler groft sagt, hvor (in)effektivt det ville være at kode et histogram ved at anvende det andet som kogebog. Inden for statistik anvendes den såkaldte χ 2 -test ofte, mens det inden for CBIR og genkendelse af nær-dubletter primært er Minkowski-normen, der benyttes. Fælles for alle disse mål er dog antagelsen om, at datapunkter, der falder i samme spand, er tæt nok på hinanden til at blive betragtet som ens, mens datapunkter i alle andre spande anses for at være forskellige. Dette betyder imidlertid, at afstandsfunktionerne ikke er robuste i forhold til kvantiseringen af data. Hvis histogrammerne har for mange indgange, risikerer ensartede features at ende i forskellige spande, mens en for grov kvantisering kan betyde, at forskelligartede features ender i samme spand. Der findes forskellige måder at omgå dette problem, hvoraf den simpleste er at udglatte histogrammerne, således at antallet af datapunkter i spand i også får indflydelse på de omkringliggende spande. I de såkaldte cross-bin metoder bliver indgangene i histogrammerne, som navnet antyder, sammenlignet på kryds og tværs. Den mest interessante af disse ser ud til at være quadratic-form -afstanden, der for to histogrammer H og K er givet ved: D q (H, K) = (h k) T A(h k), (7.5) hvor h hhv. k svarer til histogrammerne på vektorform, og A kaldes similarity matricen. Denne matrice indeholder informationen om, hvorledes de forskellige spande skal vægtes, og for RGB-farvemodellen udregnes den (i, j) te indgang i A ofte som a ij = 1 d ij max(d ij ), (7.6) hvor d ij er afstanden mellem farverne i og j i RGB-rummet. Resultater præsenteret af både Jeong [Jeo01] og Rubner et al. [RTG98] viser dog, at metoden ofte fungerer dårligere end de simple spand for spand afstandsmål. I dette projekt har jeg derfor valgt to simple metoder til at måle afstand mellem histogrammer. Den første er L 1 -afstanden, der, på trods af kritik fra bl.a Stricker [SO95] og Chang [LCW03], generelt menes at være det mest robuste valg af Minkowski-normen [HKM + 97]. Bemærk at når denne afstandsfunktion anvendes, bliver histogrammerne normaliseret, således at de summer til én, inden der måles afstand mellem dem. Det andet afstandsmål er en simpel variation af L 1, kaldet den relative L 1 -afstand, og defineres som i Huang et al. [HKM + 97]: D RL1 (H, K) = i H i K i 1 + H i + K i, (7.7) hvor H og K er to histogrammer, H i hhv. K i er den i te indgang i disse og et-tallet i nævneren, hindrer at der divideres med nul. Både Huang og Takala et al. [VTM05] reporterer, at denne afstandsfunktion fungerer bedre end L 1 -afstanden. Bemærk at histogrammerne ikke normaliseres, når den relative L 1 -afstand benyttes. 53

58 Figur 7.1: Konstruktion af LBP-kode for et 3 3 billedudsnit. For den anden anvendte farvefeature i dette projekt, nemlig farve-momenter, er valget af afstandsmål noget lettere, da det er givet af Stricker. Givet to (farve) fordelinger H og K samt deres centrale momenter, udregnet som i (7.3), findes afstanden D mom som: D mom (H, K) = 3 i=1 (w i1 µ 1i µ2i + w i2 σ 1i σ2i + w i3 s 1i s2i ), (7.8) hvor w i erne er reelle tal, der vægter de enkelte momenter i de enkelte farvekanaler. Disse vægte kan fx. bruges til at justere betydningen af ændrede farve- eller lysforhold, men sættes i dette projekt alle til Tekstur Tekstur har i mange år været benyttet til at løse en række opgaver inden for billedbehandling og computer vision. Anvendelsesområderne strækker sig fra industriel kvalitetskontrol af fx. papir og tekstiler over medicinsk billedbehandling til ansigtsgenkendelse. I de senere år er tekstur ligeledes blevet en vigtig del af mange metoder inden for CBIR og genkendelse af nær-dubletter. Ikke overraskende betyder dette, at der findes et væld af forskellige måder at beskrive tekstur som fx. co-occurrence matricer, Markov random fields, Gabor filtre samt variationer af den diskrete wavelet transformation. Især de to sidstnævnte metoder ser ud til at være populære valg inden for CBIR ([MDE05], [WWFW97], [CQM05], [WJL + 07]), hvilket bl.a hænger sammen med, at de kan beregnes effektivt. I dette projekt har jeg dog valgt at se nærmere på en metode kaldet Local Binary Patterns (LBP), publiseret af Ojala og Pietikäinen [OP97]. Den grundlæggende idé i LBP er illustreret på figur 7.1. For hvert 3 3 udsnit i et gråtonebillede beregnes en LBP-værdi ved først at segmentere udsnittet med center-pixelen som tærskelværdi. Den resulterende binære matrice ganges derefter punktvis sammen med en vægtmatrice, og alle elementerne summeres. Hvert udsnit repræsenterers dermed ved et tal mellem 0-255, og disse anvendes til at danne et LBP-histogram med 256 indgange. 54

59 LBP er per definition invariant over for additive lysændringer, og metoden kan desuden gøres robust over for rotation ved at interpolere værdien i hjørnepunkterne, således at de samplede punkter ligger cirkulært omkring centerpunktet. På figur 7.1 ville 7-tallet i øverste vesntre hjørne altså blive erstattet af et vægtet gennemsnit af de omkringliggende pixels, inden billedudsnittet segmenteres. Siden den oprindelige artikel blev publiceret, har forskningsgruppen omkring Pietikäinen raffineret og videreudviklet LBP på en række områder. Den vigtigste ændring er i denne sammenhæng brugen af de såkaldte uniforme mønstre. Pietikäinen et al. [uni00] noterer, at det ikke er alle 256 mulige LBP-mønstre, der forekommer lige ofte, samt at visse mønstre er mere robuste over for geometriske transformationer end andre. Der defineres derfor et simpelt uniformitetsmål U(LBP), baseret på antallet af 0-1 skift (eng: transitions) i den cirkulære version af de binære LBP-mønstre. LBP-værdierne 0 og 255 med de binære mønstre hhv har fx. ingen 0-1 skift, og får dermed en U-værdi på 0, mens værdierne 1, 2, 4, 8, 16, 32, 64 og 128 (med de binære mønstre , osv.) alle har en U-værdi på 2. Pietikäinen argumenterer for, at mønstre med få 0-1 skift har mindre sandsynlighed for at ændre sig under geometriske transformationer, og dermed er mere robuste end mønstre med mange 0-1 skift. Denne argumentation hænger sammen med, at de uniforme mønstre primært repræsenterer relativt stabile billedstrukturer, såsom kanter og flade områder. Ved at vælge den delmængde af mønstre der har en U- værdi på højst 2 ( , , , , , , , samt de cirkulært roterede versioner af disse), fremkommer 58 uniforme mønstre. Samles de resterende mønstre i én spand, giver dette altså et LBP-histogram med 59 indgange. Umiddelbart kan denne reduktion virke voldsom, men som Pietikäinen påpeger, udgør de uniforme mønstre ofte størstedelen af LBP-mønstrene i et billede. Denne observation gør sig også glædende i dette projekt, hvor 89% af mønstrene i legitime billeder, og knapt 88% i spambillederne, er uniforme. I en senere artikel [OPM02] udvides metoden på flere punkter. For det første tillades en øget samplingsrate og en større radius fra centerpunktet, hvilket samtidig tillader en multiresolution -version, hvor flere LBP-koder med forskellige radier kombineres. Inden for CBIR ser det dog ikke ud til, at disse ændringer har den store betydning, hvilket kan ses i [VTM05]. I samme artikel ([VTM05]) opnår Pietikäinen et al. dog gode resultater ved, som tidligere beskrevet, at udregne LBP-histogrammerne for overlappende billedudsnit. I dette projekt anvendes derfor kun den simpleste form for uniform LBP, hvilket vil sige, at LBP-værdierne beregnes ud fra 8 (ikke-interpolerede) nabopunkter. Af hensyn til køretiden udregens LBP-histogrammerne ikke for overlappende billedudsnit. Som afstandsfunktion mellem LBP-histogrammer har Pietikäinen primært anvendt et statistisk baseret mål (log-likelihood), men i [VTM05] anvendes den relative L 1 -afstand. Ifølge Pietikäinen giver de to mål tilsvarende resultater, men den relative L 1 -afstand er væsentlig hurtigere at beregne. Denne anvendes derfor også i dette projekt, men for fuldstændighedens skyld afprøves den almindelige L 1 -afstand også. 55

60 7.4 Gradient baserede features Billedgradienter er udgangspunktet for en lang række globale såvel som lokale deskriptorer. Typisk beregnes histogrammer over gradienternes retninger, evt. vægtet med gradienternes størrelse, men features baseret på kombinationer af højere ordens afledte er heller ikke usædvanlige. Den allestedsnærværende SIFT-algoritme [Low03] er et eksempel på en lokal deskriptor, der bygger på retningshistogrammer, mens kombinationer af højere ordens afledte benyttes i metoder som steerable filters [FA91] og differential invariants [KvD87]. Det er heller ikke ualmindeligt, at globale features beregnes på baggrund af gradientinformation, som fx. histogrammer over gradientretninger [WJL + 07], eller histogrammer over højere ordens afledte [RMC98]. I dette projekt anvendes to af de simpleste gradient baserede features, nemlig histogrammer beregnet ud fra gradientretninger og størrelser. Desuden forsøges det at kombinere disse to features vha. de såkaldte simultane histogrammer (eng: joint histograms), beskrevet af Pass et al. [PZ99]. Inden for CBIR udregnes forskellige features typisk uafhængigt af hinanden, og sættes først sammen til én lang featurevektor, når to billeder skal sammenlignes. Dette svarer til at beskrive en generel fordeling udelukkende vha. dens marginale fordelinger, hvilket strengt taget kræver, at de enkelte features er uafhængige af hinanden. Simultane histogrammer er en enkel måde at modellere den bagvedliggende simultane fordeling, hvorved korrelationen mellem de enkelte features bibeholdes. Dette bør i sidste ende føre til bedre resultater, da beskrivelsen af hvert enkelt billede bliver mere præcis. En stor fordel ved simultane histogrammer, i forholdt til mere generelle metoder at estimere fordelinger på, er den lave beregningsmæssige omkostning. Et simultant-histogram er således blot et k-dimensionalt histogram, hvor hver indgang beskriver antallet af pixels med en særlig konfiguration af featureværdier. Givet to features, fx. gråtoneværdi og gradientretning, kvantiseret med n gray hhv. n grad værdier, kommer det simultane histogram til at indeholde n gray n grad indgange. Størrelsen af histogrammet er altså bestemt ved: n = k n l, (7.9) i=1 hvor k er antallet af features, og n l er antallet af mulige værdier, den l te feature kan antage. Dette sætter selvfølgelig nogle klare begrænsninger for metoden, da antallet af indgange meget hurtigt kan vokse sig meget stort. Pass anvender fx. fem relativt groft kvantiserede features, men ender alligevel med et histogram, som har over indgange, hvilket er problematisk, da metoden dermed kræver en del lagerplads. Problemet bliver delvist afhjulpet af, at størstedelen af indgangene i histogrammet er tomme, hvilket vil sige, at mængden af krævet lagerplads kan reduceres ved at bruge sparse matricer. Et andet og større problem ved at anvende simultane histogrammer er knyttet til det tidligere nævnte curse of dimensionality problem. Hver gang en ny feature føjes til histogrammet, kræves en tilsvarende (eksponentiel) forøgelse af antallet af samples, hvis histogrammet skal have samme præcision. Antag fx. at et en-dimensionalt histogram har ti indgange, der repræsenterer reelle tal mellem nul og en. Trækkes der nu et vilkåligt tal 56

61 fra en ligefordeling (ligeledes i intervallet 0-1), er sandsynligheden for, at denne sample falder i den i te spand 10%. Antag nu at der tilføjes endnu en dimension til histogrammet, således at det har indgange, og at der trækkes et vilkårligt tal fra en 2-dimensional ligefordeling. Sandsynligheden for at dette tal falder i spand (i, j), er nu blot 1%, hvilket vil sige, at hvert sample dækker en meget mindre del af sandsynlighedsrummet. Sagt på en anden måde betyder dette, at jo flere indgange histogrammet har, desto flere samples er nødvendige for at estimere den bagvedliggende fordeling. I dette projekt bliver de problemer, der er forbundet med høj-dimensionale simultane histogrammer, undgået ved kun at anvende 2-dimensionale histogrammer beregnet på baggrund af gradient- retninger og størrelser. Grunden til at netop disse to features anvendes er, at der i billeder med tekst forventes at være en høj korrelation mellem gradienternes retning og størrelse Beregning af gradienter Billedgradienter estimeres i dette projekt vha. den central difference, hvilket vil sige, at de første ordens partielt afledte af et billede I beregnes som, I x = I(x + 1, y) I(x 1, y) 2 og I y I(x, y + 1) I(x, y 1) =. (7.10) 2 Da de afledte af et billede er følsomme over for støj, er det normalt at foretage en lavpasfiltrering, inden gradienterne udregnes. I dette projekt er der dog flere grunde til undlade at følge denne praksis. For det første er der hensynet til køretiden, der selvfølgelig stiger en lille smule, hvis billedet skal lavpasfiltreres, inden billedfeatures beregnes. Desuden bør brugen af globale histogrammer, med en relativ grov kvantisering, langt hen af vejen opveje de små lokale fejl, der opstår ved ikke at udglatte billedet. Det skal dog bemærkes, at udglatning og beregning af gradienter kan implementeres som ét filter, og køretiden vil derfor kun stige marginalt. Den vigtigste grund til ikke at udføre lavpasfiltrering er derfor, at billedinformation, der er unik for spambilleder, risikerer at gå tabt, hvilket illustreres i næste afsnit. Det næste trin er at beregne gradienternes retning og størrelse, hvilket gøres på helt traditionel vis: hvor I x hhv. I y er de partielt afledte af I Kvantisering og afstandsmål I(x, y) = ArcTan( I y ) (7.11) I x I(x, y) = Ix 2 + I2 y, (7.12) Som netop forklaret udglattes billederne ikke, inden gradienterne udregnes, hvilket betyder, at de udregnede gradientretninger og størrelser lokalt kan være misvisende. For at 57

62 (a) (b) (c) (d) Figur 7.2: Histogrammer over gradientstørrelser. (a) Gennemsnittet af 1100 legitime billeder. (b) Gennemsnittet af 2300 spambilleder. (c) Udsnit af (a) hvor kun gradienter større end 10 er medtaget. (d) Udsnit af (b) hvor kun gradienter større end 10 er medtaget. gøre de gradient baserede features mere robuste, vælges det derfor at inddele retningshistogrammerne i blot 18 lige store kvanter. Ydermere beregnes histogrammerne kun for punkter hvor gradientstørrelsen overstiger en tærskelværdi, der her sættes til 10. Der kunne evt. laves en ekstra indgang i histogrammet, der indeholdt de punkter, der ikke opfylder dette krav, men det er ikke blevet forsøgt. Det interessante i denne sammenhæng er imidlertid kvantiseringen af gradientstørrelserne. For et gråtonebillede med værdier mellem kan gradientstørrelsen variere mellem 0 og ca. 361, men det er langt fra alle værdier, der optræder lige ofte. Dette er illustreret på figur 7.2, der viser den gennemsnitlige gradientstørrelse for (a), knapt 1100 legitime billeder taget fra Dredze datasættet [DGEB07] og (b), ca spambilleder af forskellig karakter. For de legitime billeder ses det, at omkring 27% af gradienterne har en størrelse mellem 0-1, og at langt størstedelen har værdier mellem For spambillederne ser det noget anderledes ud, idet hele 78% af gradienterne har en størrelse mellem 0-1. For bedre at illustrere forskellene mellem histogrammerne viser (c) og (d) histogrammerne for gradienter 58

63 større end 10. Her ses det, at spambillederne indeholder væsentligt flere kraftige gradienter end de legitime billeder, men at disse trods alt kun udgør en ganske lille del af det samlede antal gradienter. Ovenstående observationer betyder, at en uniform kvantisering af gradientstørrelserne sandsynligvis ikke vil give særlige gode resultater. I stedet har jeg valg en ad hoc løsning, hvor gradientstørrelserne inddeles i syv ikkeuniforme intervaller: [0-1, 1-12, 12-50, , , ]. Det er lang fra sikkert, at dette er den optimale inddeling, men den er dog langt bedre end den tilsvarende uniforme kvantisering. Dette ses tydeligt på figur 7.3, hvor (a) og (b) viser histogrammerne for legitime billeder hhv. spam ved brug af uniform kvantisering, mens (c) og (d) viser histogrammerne skabt med ovenstående ikke uniforme kvantisering. Det der her skal bemærkes, er selvfølgelig, at forskellen mellem (c) og (d) er langt større end forskellen mellem (a) og (b), hvilket gør det lettere at adskille legitime billeder fra spambilleder. Histogrammerne viser desuden, at en udglatning af billederne, som tidligere nævnt, ikke nødvendigvis er en god idé. Problemet er, at en udglatning sandsynligvis vil fjerne nogle af de særlige kendetegn, der kan anvendes til at adskille spam fra ham. De meget høje frekvenser i spambillederne vil fx. blive dæmpet, og der er også en risiko for, at den meget store andel af helt små gradienter ændrer sig. Ovenstående kvantiseringer anvendes også i beregningen af de simultane histogrammer, og som i de tidligere afsnit anvendes både L 1 - og den relative L 1 -afstand som afstandsmål. 7.5 Opbygningen af systemet til genkendelse af nærdubletter Med valget af features og afstandsfunktioner på plads er næste skridt at definere, hvornår to billeder er tilpas tæt på hinanden, for at de kan betragtes som nær-dubeletter. En simpel måde vil være at fastsætte en tærskelværdi beregnet på baggrund af en mængde sorterede spambilleder. Dette kunne fx. gøres ved at vælge den gennemsnitlige afstand mellem et spambillede og dens nær-dubletter som tærskelværdi. Denne metode har dog en række ulemper. For det første er den ikke særlig fleksibel, og vil derfor ikke fungere særlig godt, hvis den gennemsnitlige afstand mellem de forskellige klasser af spambilleder varierer meget. For det andet tager metoden ikke hensyn til kravet om, at legitime billeder ikke må fejlkvalificeres, da tærskelværdien udelukkende beregnes ved brug af spambilleder. I dette projekt har jeg derfor valgt at tage udgangspunkt i metoden beskrevet af Wang et al. [WJL + 07]. Systemet består grundlæggende af en database med features fra legitime billeder samt en database med features fra kendte spambilleder. Til hvert af billederne i spamdatabasen knyttes en tærskelværdi, der er bestemt som den mindste afstand mellem spambilledet og samtlige billeder i hamdatabasen. Når systemet efterfølgende bliver præsenteret for at ukendt billede, undersøges det for hvert billede i spamdatabasen, om afstanden mellem de to featurevektorer er mindre end den tilknyttede tærskelværdi. Hvis dette er tilfældet, betragtes det ukendte billede som en nær-dublet til det pågældende spambillede, og klassificeres derfor som spam. Omvendt gælder selvfølgelig, at det ukendte 59

64 (a) (b) (c) (d) Figur 7.3: Forskellige kvantiseringer af gradientstørrelserne. (a) Uniform kvantisering for de legitime billeder. (b) Uniform kvantisering for spambillederne. (c) Den ikke uniforme kvantisering for de legitime billeder. (d) Den ikke uniforme kvantisering for spambillederne. 60

65 Figur 7.4: 1-dimensional udgave af Wangs system til genkendelse af nær-dubletter. S er et kendt spambillede, og H er det legitime billede, hvis afstand til S er mindst. Systemet bliver nu præsenteret for et ukendt billede N, der er en nær-dublet til H. På trods af at afstanden mellem N og H er væsentlig mindre end afstanden mellem N og S, bliver billedet klassificeret som spam, hvis Wangs metode benyttes. billede klassificeres som et legitimt billede, hvis dets afstand til alle de kendte spambilleder er større end de tilknyttede tærskelværdier. Metoden er derfor fleksibel, idet hvert spambillede tilknyttes sin egen tærskelværdi, samtidig med at hensynet til de legitime billeder vægtes højt. Det er samtidig enkelt at tilføje nye typer billedspam, da det blot kræver at de placeres i spamdatabasen, samt at deres tærskelværdier udregnes. Den største ulempe ved metoden er, at de beregnede tærskelværdier kun er fornuftige, hvis de bliver beregnet på baggrund af legitime billeder, der er repræsentative for de billeder, folk sender til hinanden via . I dette projekt er problemet imidlertid ikke så stort, da der, som beskrevet i kapitel 6, allerede er gjort et stort arbejde for at indsamle et sådant datasæt. Jeg vil derimod tillade mig at drage tvivl, om de data Wang et al. [WJL + 07] anvender, hvilket bliver diskuteret yderligere i afprøvningen af denne metoden (se afsnit 8.5). Et mindre problem ved Wangs metode er, at tærskelværdien for et spambillede bestemmes som den mindste afstand til et legitimt billede. I situationer hvor systemet præsenteres for et (ukendt) legitimt billede, som har en nær-dublet i databasen med legitime billeder, er der derfor en stor sandsynlighed for, at det bliver fejlklassificeret som spam. En 1-dimensional udgave af dette scenarie er illustreret på figur 7.4. Umiddelbart kan situationen forekomme usandsynlig, men i et virkeligt system vil det give god mening at lade databasen med legitime billeder bestå af de billeder, brugerne sender til hinanden. Sandsynligheden for at en bruger videresender en kopi eller en modificeret version af et billede, der allerede findes i træningsdatabasen, er derfor reelt til stede. En simpel løsning på dette problem er at multiplicere samtlige tærskelværdier med en konstant k < 1. Alternativt kunne de enkelte tærskelværdier løbende justeres evt. som en funktion af antallet af legitime billeder, der er blevet fejlklassificeret. Af tidshensyn er det kun den første løsning, der er blevet afprøvet. 61

66 7.6 Valg af featurevektor I de foregående afsnit er en række forskellige features og afstandsmål blevet beskrevet, men der er ikke blevet taget stilling til, hvorledes disse kan kombineres i det endelige system. Den simpleste løsning er selvfølgelig blot at sætte samtlige fundne featurevektorer sammen til én lang featurevektor, men som forklaret i afsnit 7.1 giver denne metode ikke nødvendigvis gode resultater. Et andet problem er, at den samlede featurevektor bliver meget høj-dimensional, hvilket stiller store krav til den benyttede indekseringsteknik, jvf. afsnit 7. Metoden besværliggør desuden mulighederne for at tilføje nye features, da dette generelt betyder, at samtlige tærskelværdier skal genberegnes. En særlig undtagelse til denne regel opstår dog, hvis L 1 -afstanden benyttes som afstandsmål. I dette tilfælde kan tærskelværdierne, for de nye features, blot beregnes som tidligere beskrevet, og efterfølgende adderes til de allerede eksisterende tærskelværdier. Valget af afstandsmål kan desuden blive et generelt problem, da dette skal være gyldigt for alle de featuretyper, der indgår i den samlede featurevektor. Dette betyder fx., at det ikke er hensigtsmæssigt at anvende farve-momenter i en samlet featurevektor, da disse benytter et specialiseret afstandsmål. Wang et al. [WJL + 07] foreslår i stedet et system, hvor hver featuretype (farvehistogram, LBP-histogram osv.) er uafhængig af hinanden. Dette betyder, at der oprettes en spamdatabase for hver af de features, der ønskes anvendt, og at tærskelværdierne følgelig udregnes separat for hver af disse databaser. Fordelen ved denne model er, at det eksisterende system ikke skal modificeres, når en ny feature tilføjes. I stedet udvides det blot med endnu en spamdatabase, der som de øvrige indeholder en featurevektor for de kendte spambilleder samt en tærskelværdi udregnet på baggrund af databasen med legitime billeder. Metoden tillader desuden, at der anvendes forskellige afstandsfunktioner for hver enkelt featuretype, hvilket er med til at gøre systemet fleksibelt. Når et ukendt billede efterfølgende præsenteres for systemet, udregnes dets featurevektorer, som derefter sammenlignes med de relevante spamdatabaser. Problemet er nu, at resultaterne fra de enkelte spamdatabaser ikke nødvendigvis stemmer overens, og det er derfor nødvendigt at kombinere svarene, således at en endelig klassifikation kan foretages. Wang foreslår tre simple metoder nemlig og, eller samt afstemning (eng: and, or, vote). Som navnet antyder, svarer den første metode til, at alle spamdatabaserne skal klassificere et billede som spam, førend det endeligt klassificeres som spam. I den anden metode klassificeres billedet som spam, hvis blot en af databaserne kommer frem til dette svar, mens flertallet af spamdatabaserne bestemmer den endelige klassifikation i afstemningsmetoden. I praksis er ingen af disse metoder dog synderlig gode. Den første metode er simpelthen for restriktiv, og vil resultere i, at alt for mange spambilleder vil blive fejlklassificeret. Dette vil i særlig høj grad gælde, hvis systemet anvender mange forskellige features, hvoraf nogle måske er målrettet særlige typer spam. Den anden metode er heller ikke god, da den vil medføre en høj rate af fejlklassificeret ham. Denne svaghed vil, som for den første metode, blive mere og mere tydelig, i takt med at antallet af features øges. Den sidste metode kan umiddelbart virke som et fornuftigt kompromis mellem de to første, hvilket desværre ikke 62

67 er tilfældet. Problemet er primært at metoden udelukker muligheder for at udvikle filtre, der er målrettet særlige typer af spam. Følgende lille eksempel illustrerer denne pointe: Antag således at systemet består af tre forskellige featuretyper, og at afstemning anvendes til at klassificere billeder. Dette betyder, at mindst to ud af de tre filtre skal identificere et billede som spam, førend det klassificeres som sådan. Antag nu at spammere begynder at anvende en ny teknik, der gør, at mange spambilleder bliver fejlklassificeret, og at der, som følge af dette, udvikles et nyt filter, der specifikt målrettes denne nye teknik. Dette nye filter føjes til systemet, der efterfølgende indholder fire featuretyper. Systemet præsenteres nu for et spambillede, hvor den nye spamtaktik er anvendt, hvilket ikke er noget problem for det nye filter, der korrekt klassificerer billedet som spam. Desværre kræver det udvidede system, at mindst 3 ud af de fire filtre skal komme frem til samme resultat. Dette vil sige, at den endelige klassifikation stadig er afhængig af, at to ud af de tre oprindelige filtre giver det korrekte svar. Med andre ord har udviklingen af det specialiserede filter ikke afhjulpet problemet med den nye spamteknik. Faktisk risikerer det nye system i mange tilfælde at fungere dårligere end det oprindelige. Det er således ikke urimeligt at antage, at det specialiserede filter kun i ringe grad er i stand til at klassificere de mere almindelige typer af spam. Dette vil ofte betyde, at et billede kun klassificeres som spam, hvis de oprindelige tre filtre alle kommer frem til denne klassifikation. Eksemplet afspejler en ret almindelig situation, hvor spammere afprøver en ny teknik, som der hurtigt skal dæmmes op for, hvilke ofte kan resultere i nogle meget specialiserede filtre. Afstemningsmetoden er derfor ikke særlig velegnet i et system, hvor (specialiserede) features løbende kan forventes af blive tilføjet. En lang række generelle metoder til at kombinere svarene fra N binære klassifikationsalgoritmer er givet af Ruta og Gabrys [RG05]. De fleste af disse metoder ser ud til at anvende en modificeret udgave af afstemningsmetoden, hvor kun L (L < N) af de bedste klassifikationsalgoritmer anvendes. En række metoder til at finde den optimale kombination af disse L filtre præsenteres og sammenlignes på en række datasæt. De bedste resultater ser generelt ud til at blive opnået af metoder, hvor valget træffes på baggrund af en analyse af korrelationen mellem de enkelte filtersvar. En grundig gennemgang af denne analyse er givet at Ruta og Gabrys [RG01]. Af tidshensyn har jeg dog valgt kun at afprøve den simple løsning, hvor de enkelte features kombineres til én featurevektor samt de tre kombinationsmuligheder forslået af Wang et al. I systemet, der bygger på en samlet featurevektor, afprøves brugen af L 1 - samt den relative L 1 afstandsfunktion. 7.7 Mulige udvidelser I dette kapitel er en række af de billedfeatures og afstandsmål, der anvendes inden for genkendelse af nær-dubletter, blevet præsenteret. Af tidshensyn har det kun været muligt at gennemgå og afprøve en ganske lille delmængde af mulige features, og i dette afsnit skitseres derfor et par af de interessante metoder, der ikke er blevet tid til at afprøve. Den første af disse metoder er en billedfeature, som Yang et al. [YQHE06] kalder Adap- 63

68 tive Hierarchical Geometric Centroids. Denne feature beregnes ved først at finde billedets normaliserede balance-punkt, der for et gråtone-billeder er defineret som, x c = m n x=1 y=1 m m x=1 xi(x, y) n y=1 I(x, y) y c = m n x=1 y=1 n y=1 n m x=1 yi(x, y) (7.13) I(x, y), hvor I er et m n stort billede. Balancepunktet bruges til at inddele billedet i fire delbilleder, og for hver af disse udregnes de nye balancepunkter. Denne proces fortsætter, indtil en passende findeling af billedet er opnået, og featurevektoren sammensættes derefter af de enkelte balancepunkter. Metoden kan let udvides til at omfatte farvebilleder, idet hver farvekanal blot behandles separat. Yang et al. viser, at metoden er i stand til at opnå rigtig gode resultater inden for både CBIR og genkendelse af nær-dubletter, hvilket bl.a skyldes, at den er robust over for både skalering og lysændringer. Det der især gør metoden interessant er imidlertid, at den potentielt set kan anvendes inden for rammerne af SPAMfighters nuværende system. Med nogle små modifikationer af metoden, såsom udglatning af billederne og kvantisering af featurevektorerne, er det ikke utænkeligt, at der kunne opnås gode resultater. Som beskrevet flere gange i denne rapport indeholder størstedelen af alle spambilleder en vis mængde tekst, hvilket er grundstenen i SPAMfighters nuværende system. Det ville derfor være naturligt at inkorporere denne feature i det udviklede system, men af tidshensyn har dette desværre ikke været muligt. Hvis SPAMfighter vælger at implementere et system, der bygger på principperne beskrevet i dette kapitel, bør denne mangel selvfølgelig udbedres. Ligeledes bør mulighederne for at kombinere de enkelte filtersvar studeres nøjere, da systemet i dets nuværende form sandsynligvis ikke vil skalere særlig godt. 64

69 Kapitel 8 Afprøvning I dette afsnit bliver alle de implementerede metoder afprøvet, og i det omfang det er muligt, bliver resultaterne vurderet i forhold til SPAMfighters nuværende system. Afsnittet er struktureret på samme måde som rapporten, dvs. først afprøves de implementerede segmenteringsalgoritmer, derefter metoden til gruppering af ord osv. Da delafsnittene er relativt uafhængige af hinanden, vil de hver især blive afrundet med en kort opsummering. Afprøvningen indledes dog med en diskussion omkring valget af testdata, og hvorledes disse valg forventes at påvirke resultaterne. 8.1 Valg af datasæt Som forklaret i indledningen af denne rapport er der gjort et stort arbejde for at afprøvningen i så høj grad som muligt, kommer til at afspejle virkelige forhold. Et af de store problemer har i den anledning været at finde datasæt med legitime billeder, som folk har sendt til hinanden via . Det eneste offentligt tilgængelige datasæt af denne type ser ud til at være indsamlet og stillet til rådighed af Dredze et al. [DGEB07]. Som tidligere nævnt blev jeg først bekendt med Dredzes arbejde i slutningen af 2007, hvilket bl.a er grunden til, at der i dette projekt også er blevet indsamlet et datasæt med legitime billeder. Da projektet er udført i samarbejde med SPAMfighter, har adgangen til billedspam derimod ikke været noget problem. I modsætning til den øvrige litteratur på området har det derfor været muligt at afprøve metoderne på en række store spamdatasæt. Det er værd at bemærke, at datasættene, som er indsamlet af SPAMfighter, har en lidt særlig natur, idet de udelukkende består af billeder, som brugerne har rapporteret som spam. Diskutionen i afsnit 2.1 gjorde det imidlertid klart, at der ikke altid er overensstemmelse mellem definitionen af spam og folks opfattelse af, hvad der udgør spam. Dette betyder, at en del af billederne med rette kunne fjernes fra datasættene, da de egentlig ikke burde betragtes som spam. I dette projekt har jeg dog valgt, at anvende datasættene som de er. Denne beslutning skyldes både, at det ville være for tidskrævende at gennemløbe datasæt med over billeder, og at det i nogle tilfælde er umuligt at afgøre, hvilken klasse et 65

70 billede tilhører. Valget betyder sandsynligvis, at nogle af de opnåede resultater bliver en smule dårligere, end hvis rensede datasæt blev anvendt. Omvendt kan der argumenteres for, at resultaterne giver et bedre billeder af, hvordan et færdigudviklet system ville fungere, da datasættene jo netop afspejler brugernes vurdering af, hvad der er spam. I de følgende afsnit bliver de anvendte datasæt løbende præsenteret, og i det omfang det er nødvendigt, bliver særlige karakteristika beskrevet og analyseret. 66

71 8.2 Segmentering I dette afsnit afprøves de to metoder til segmentering af gråtonebilleder, der blev beskrevet i afsnit 4.1 og 4.2. En ofte benyttet afprøvningsstrategi er, at lade algoritmerne segmentere et datasæt med tekstdokumenter og efterfølgende anvende et standard OCR-produkt på de resulterende binære billeder. Kvaliteten af segmenteringsalgoritmen kan derefter vurderes ud fra antallet af korrekt genkendte ord. I forhold til en mere manuel afprøvning har denne fremgangsmåde en række fordele. For det først er det let at afprøve den udviklede metode på store datamængder, og for det andet er resultaterne reproducerbare, og udgør derfor mere end blot én persons subjektiv vurdering. Dette betyder, at det er muligt at efterprøve resultaterne, og evt. vurdere dem i forhold til alternative metoder. Afprøvningen, der foretages i dette projekt, er derfor lidt utraditionel, idet vurderingen her sker ud fra, hvor godt segmenteringsalgoritmerne passer ind i SPAMfighters nuværende system. Den ideelle løsning ville være at integrere de implementerede metoder med dette system, hvilket desværre er for tidskrævende. I stedet anvendes et testværktøj udviklet af SPAMfighter. Dette værktøj fungerer ved, at der for hvert billede, som indeholder tekst, genereres en eller flere signaturer, der beskriver længden af de fundne ord. Efterfølgende undersøges det, om to billeder er ens, ved at sammenligne de genererede signaturer. Testværktøjet tager ikke højde for alle de øvrige features, der måtte være i et billede, og et match er derfor udelukkende bestemt ud fra, om to signaturer er lig med hinanden. Dette har to vigtige konsekvenser for afprøvningen. For det første betyder det, at segmenteringsalgoritmerne skal være ekstremt robuste over for støj, da blot en enkelt uheldigt placeret støjpixel kan betyde, at et ellers åbenlyst match ikke etableres. For det andet betyder det, at selv en perfekt segmenteringsalgoritme vil være nytteløs, hvis testdatasættet ikke indeholder billeder, der er næsten identiske. Selve afprøvningen er sket ved først at lade testværktøjet arbejde på de originale gråtonebilleder for derved at estimere kvaliteten af den nuværende segmenteringsalgoritme. Efterfølgende er de nye segmenteringsmetoder blevet vurderet ved at lade inddata til testværktøjet være de binære billeder, som metoderne har produceret. Dette betyder desværre at afprøvningen ikke udelukkende afspejler indflydelsen af de ny segmenteringsalgoritmer, da det indledende tekstgenkendelses trin også kommer til at arbejde på binære billeder. Ideelt set burde de nye binære billeder blot erstatte de gamle på det rigtige tidspunkt internt i testværktøjet. Dette har desværre ikke været muligt, hvilket betyder, at man skal være lidt påpasselig med at med at drage konklusioner ud fra de opnåede resultater. Under disse betingelser er afprøvingen foretaget på to datasæt udelukkende bestående af spambilleder indsamlet af SPAMfighter. Det første datasæt består af 2772 billeder, der alle stammer fra den 13. juni Det andet datasæt er en samling af billeder, og udgør et lille udvalg af spam opsamlet gennem foråret Ud over at afprøve de to metoder på disse datasæt, er der også foretaget en manuel inspektion af en begrænset delmængde af de resulterende binære billeder. Dette er gjort for at illustrere forskellen mellem de to algoritmer. 67

72 8.2.1 Valg af parametre Først trin i afprøvningen er at bestemme nogle fornuftige parametre til de to implementerede metoder. I Wolf og Jolions metode skal der bestemmes to parametre, nemlig en lokal vinduestørrelse og en konstant a. Indledende forsøg har vist, at metoden er relativ stabil over for valget af vindustørrelsen. Således er der kun observeret meget små ændringer i resultaterne, så længe denne parameter har ligget i intervallet mellem 15 og 35. I alle efterfølgende tests er vinduestørrelsen derfor valgt til 25. Valget af a har noget større betydning for resultaterne. Vælges a for lille, bliver resultaterne ofte oversegmentering, hvilket vil sige, at de enkelte bogstaver har en tendens til at smelte sammen. Vælges a derimod for stor, opstår der undersegmentering, hvilket betyder, at mange bogstaver bliver delt i flere dele, hvis de da ikke helt forsvinder. Det har vist sig, at de bedste resultater opnås når a [ ]. I Feng og Tans metode skal der bestemmes en del parametre, men af tidshensyn er det valgt blot at anvende de anbefalede værdier. Det betyder at γ = 2, α 1 = 0.12, k 1 = 0.25 og k 2 = Størrelsen af det primære vindue er, som i Wolf og Jolions metode, valgt til 25, mens størrelsen af det sekundære vindue er bestemt som to gange størrelsen af det primære vindue. Den parameter der hovedsagelig er blevet eksperimenteret med, er antallet af punkter, hvor tærskelværdien rent faktisk bliver udregnet 1. Antallet af samplede punkter er forsøgt varieret mellem de to ekstremer, dvs. fra et pr. primære vindue til alle punkter Generelle observationer Før metoderne bliver afprøvet på de to datasæt, er det værd at undersøge forskellen mellem dem på et par testbilleder. På figur 8.1 ses et typisk eksempel på et spambillede samt uddata fra de to metoder. Fælles for de to resultater er, at størstedelen af punktummer og prikker over i er er forsvundet. Dette kunne potentielt være et problem, hvis resultaterne skulle anvendes sammen med et OCR-program, men har ingen betydning for denne afprøvning, da testvæktøjet alligevel ikke anvender denne information. Den primære forskel på de to metoder er, hvor stor en del af området omkring bogstaverne der bliver vurderet til at være forgrund. På figur 8.1(c) ses det, at Wolf og Jolions metode i nogle tilfælde næsten undersegmenterer billedet. Dette ses fx. på a erne i viagra, som ikke længere udgør en sammenhængende komponent. Det omvendte er tilfældet for Feng og Tans metode, hvor bogstaverne flere steder kommer til at hænge sammen. På figur 8.1(d) ses dette fx. ved ordene please og browser. Årsagen til denne forskel kan være svær at se, indtil der zoomes kraftigt ind på gråtonebilledet. Her bliver det tydeligt, at hvert bogstav består af mange forskellige gråtoner, og at overgangen mellem bogstaverne er meget flydende. Dette skyldes sandsynligvis, at der er anvendt anti-aliasing, da billedet blev lavet, men kan også være en konsekvens af den måde, hvorpå det er blevet komprimeret. Da Feng og Tans 1 Som beskrevet i afsnit 4.2 er det kun nogle få tærskelværdier, der rent faktisk bliver udregnet. De resterende fremkommer ved bilineær interpolation. 68

73 (a) (b) (c) (d) Figur 8.1: (a) Det originale RGB-billede. (b) Gråtonebilledet. (c) Resultatet ved brug af Wolf og Jolions metode. (d) Resultatet ved brug af Feng og Tans metode. metode netop er udviklet til at segmentere billeder med lav kontrast, er det altså ikke overraskende, at resultatet i denne situation bliver en anelse oversegmenteret. På figur 8.2 ses endnu et typisk eksempel på et spambillede samt de opnåede resultater. Det spændende ved dette billede er, at farvevalget gør at kontrasten omkring en del af teksten bliver ganske lille i gråtonebilledet, se (a) hhv. (b). Konsekvensen af dette ses tydeligt på de to binære billeder, hvor en del af teksten mangler, når Wolf og Jolions metode benyttes. Feng og Tans metode klarer sig derimod perfekt, da den, som allerede nævnt, er udviklet til denne slags situationer. I afsnit 4.2 blev det nævnt, at tærskelværdier i Feng og Tans metode kun bliver beregnet i et begrænset antal punkter, hvorefter de resterende værdier findes vha. bilineær interpolation. Denne fremgangsmåde betyder desværre, at metoden er følsom over for støj, hvilket er illustreret på figur 8.3. De store sorte klatter i det binære billede skyldes, at tærskelværdier er blevet udregnet i støj-pixels, hvilket selvfølgelig får konsekvenser for hele det omkringliggende område. Da der ofte er lagt støj på spambilleder, kan dette have en uheldig effekt, på de resultater metoden kan opnå. 69

74 (a) (b) (c) (d) Figur 8.2: (a) Det originale RGB-billede. (b) Gråtonebilledet. (c) Resultatet ved brug af Wolf og Jolions metode. (d) Resultatet ved brug af Feng og Tans metode. (a) (b) Figur 8.3: (a) Det originale billede. (b) Billedet segmenteret med Feng og Tans metode. Læg mærke til de sorte klatter der skyldes brugen af interpolation. 70

75 Metode Genkendt spam Ikke genkendt spam Ignorerede billeder I alt SPAMfighter 1346 (49.2%) 1152 (41.5%) 256 (9.2%) 2772 Wolf a = (65.4%) 776 (28.0%) 178 (6.4%) 2764 Wolf a = (71.3%) 619 (22.3%) 174 (6.2%) 2765 Wolf a = (71.4%) 615 (22.2%) 175 (6.3%) 2766 Wolf a = (69.5%) 658 (23.8%) 183 (6.6%) 2762 Feng sf = 1 : (53.1%) 1118 (40.4%) 177 (6.3%) 2767 Feng sf = 1 : (55.0%) 1067 (38.5%) 177 (6.3%) 2766 Feng sf = 1 : (54.0%) 1095 (39.5%) 176 (6.3%) 2767 Feng sf = 1 : (53.7%) 1109 (40.0%) 172 (6.2%) 2768 Feng 2 sf = 1 : (65.2%) 776 (28.0%) 184 (6.6%) 2763 Feng 2 sf = 1 : (63.7%) 814 (29.4%) 187 (6.7%) 2761 Tabel 8.1: Segmenteringsresultater ved kørsel på 13 juni datasættet. Spamfighter er den nuværende metode (global tærskelværdi), Wolf er Wolf og Jolions metode og Feng er Feng og Tans metode. For Wolf er parameteren a forsøgt varieret mellem , og for Feng er antallet af samplede punkter varieret mellem alle punkter, (sf = 1 : 1), til et punkt pr. primære vindue, (sf = 1 : 25). I Feng 2 er parameteren α 1 hævet fra 0.12 til Resultater på 13. juni datasættet Det første datasæt, metoderne er blevet afprøvet på, er det forholdsvist lille 13. juni datasæt. De opnåede resultater er samlet i tabel 8.1. Som det ses, genkender testværktøjet 49.2% af billederne med den nuværende metode, mens 41.5% ikke bliver genkendt. De 9.2% der er angivet som ignorerede billeder, er primært billederne, der ikke bliver behandlet, fordi de er for små. For de to øvrige afprøvede metoder forkastes billeder, der er mindre end størrelsen af de lokale vinduer. Det vil sige at, et billede mindst skal være pixel for at blive behandlet af Wolf og Jolions metode og pixels i Feng og Tans metode. Dette er grunden til, at antallet af ignorerede billeder (og det totale antal) varierer fra metode til metode. For Wolf og Jolions metode ligger antallet af genkendte billeder mellem 65.4% og 71.4%, hvor det bedste resultat bliver opnået når a = Dette tyder på, at den nuværende metode til gruppering af bogstaver fungerer bedst i situationer, hvor teksten i de binære billeder er en smule undersegmenteret. Dette afspejler sig også i de resultater, Feng og Tans metode opnår med de valgte standard parametre. Som det kan ses, svinger procentdelen af genkendte billeder mellem 53.1% og 55.0% afhængig af hvor mange samples, tærskelværdierne bliver udregnet i. For at afprøve metoden under forhold der passer bedre overens med SPAMfighters system, blev parameteren α 1 ændret fra 0.12 til 0.3. Som det kan ses nederst i tabellen (Feng 2), giver parameterændringen en væsentlig forbedring af resulaterne, som dog stadig ligger en smule under det bedst opnåede resultat. Det mest overraskende ved Feng og Tans metode er faktisk, at antallet af samples ikke har den helt store betydning for resulaterne, hvilket testbillederne fra afsnit ellers kunne antyde. 71

76 Metode Genkendt spam Ikke genkendt spam Ignorerede billeder I alt SPAMfighter 5658 (43.0%) 6834 (52.0%) 649 (4.9%) Wolf a = (48.2%) 6326 (48.1%) 464 (3.5%) Wolf a = (50.0%) 6093 (46.3%) 461 (3.5%) Wolf a = (50.3%) 6053 (46.1%) 463 (3.5%) Tabel 8.2: Segmenteringsresultater ved kørsel på forår 2007 datasættet Resultater på forår 2007 datasættet På baggrund af resultaterne fra sidste afsnit er det valgt kun at anvende Wolf og Jolions metode på det store forår 2007 datasæt. Endvidere er det valgt kun at afprøve denne metode med tre værdier af parameteren a. Resultaterne er samlet i tabel 8.2, hvor det kan ses, at 43% af billeder genkendes med den nuværende metode, mens tallet er omkring 50% for Wolfs metode. Det bedste resultat opnås igen når a = 0.55, men som det ses er forbedringen i forhold til det nuværende system væsentlig mindre end tidligere observeret. Der kan være flere forskellige forklaringer på dette, men umiddelbart virker følgende mest logisk: Billederne i datasættet er så simple, at en avanceret segmenteringsalgritme ikke er nødvendig. Datasættet indeholder få billeder med tekst. Datasættet indeholder få nær-dubletter. Et overfladisk gennemløb af datasættet viser, at billederne hverken virker mere eller mindre komplicerede at segmentere end billederne fra 13. juni datasættet. Ligeledes ser der ikke ud til, at være mangel på billeder som indeholder tekst. Det er svært at sige, hvor stor en del af billederne i datasættet der har nær-dubletter, men ud fra den måde de ligger sorteret, er det dog muligt at give et groft estimat. I 13. juni datasættet er der således 1.7 filer pr. mappe, mens tallet her er 1.2, hvilket tyder på, at antallet af nær-dubletter er væsentligt lavere i dette datasæt. Som tidligere nævnt genkender testværktøjet kun et billede som spam, hvis dets signatur kan matches med en anden signatur. Den øvre grænse for succes er altså direkte bestemt af, hvor mange nær-dubletter et datasæt indeholder. En forklaring på den store forskel på resultaterne mellem de to datasæt kunne altså være, at den øvre grænse næsten bliver nået i dette datasæt opsummering Som det fremgår af afprøvningen, er der stor forskel på de opnåede resultater. Alt tyder dog på, at SPAMfighters nuværende system kan forbedres ved at anvende en mere avanceret segmenteringsalgoritme. Afprøvningen har vist, at Feng og Tans metode fungerer bedre end Wolf og Jolions, når der skal segmenteres tekst i områder med lav kontrast. Alligevel 72

77 opnår den sidstnævnte metode de bedste resultater på de to testdatasæt. Wolf og Jolions metoder har desuden flere fordele, der gør den attraktiv i forhold til SPAMfighters nuværende system. For det første er den simpel, både med hensyn til implementering og parametervalg, og for det andet kan køretiden gøres ganske lille. Det er derfor min anbefaling, at der fra SPAMfighters side arbejdes videre med metoden. I første omgang bør den integreres direkte i det anvendte testværktøj og afprøves på flere datasæt. Hvis tendenserne fra denne afprøvning stadig gør sig gældende, vil det derefter være oplagt at udskifte den nuværende segmenteringsalgoritme. 73

78 8.3 Gruppering af ord i binære billeder I dette afsnit afprøves metoden til gruppering af ord i binære billeder på en række spambilleder, og ud fra resultater bliver metodens styrker og svagheder diskuteret. For bedre at kunne vurdere kvaliteten af metoden, foretages der desuden en direkte sammenligning med SPAMfighters nuværende system Afprøvningsstrategi Afprøvningen er i dette afsnit foregået ved, at en række spambilleder er blevet udvalgt og segmenteret med Wolf og Jolions metode. Grafiske elementer og støj er derefter blevet fjernet fra de binære billeder, således at de kun indeholder tekst. Denne rengøring er af tidshensyn udført manuelt, men på en sådan måde at processen relativ let kunne automatiseres. For at undgå at den manuelle rengøring får en urimelig indflydelse på resultaterne, er der taget to forholdsregler. For det første er støj og grafiske elementer kun blevet fjernet, hvis de ikke overlapper med teksten. Desuden er segmenter kun blevet fjernet, hvis de har en form og størrelse, der gør dem lette at adskille fra tekstsegmenter. For det andet er afprøvningen primært sket på billeder, der er pænt segmenterede, altså billeder hvor teksten er skrevet på en relativ simpel baggrund. Det næste skridt er at etablere ground truth for de enkelte billeder, hvilket i praksis vil sige, at antallet af ord i hvert billeder manuelt optælles. Da dette er en meget tidskrævende process, består datasættet i dette afsnit blot af 20 spambilleder. Hvert af disse billeder er nøje udvalgt, således at de både repræsenterer typiske kendetegn ved spam, og samtidig indeholder layouts, der er udfordrende for den udviklede metode. I tabel 8.3 ses antallet af ord samt de særlige kendetegn for hvert af de udvalgte billeder. Det skal bemærkes, at det i nogle tilfælde er svært at afgøre, hvor mange ord et billede indholder. Skal således tælles som ét eller tre ord, og hvad med $4.12 der, efter segmentering, ofte bliver til $4 12. Optællingen afspejler derfor min subjektive vurdering af, hvornår bogstaver og tegn udgør et ord. I de fleste af billederne er der dog kun tale om få tvivlstilfælde, som overordnet set ikke har den store indflydelse på resultaterne. Som vist på figur 8.2 fejler segmenteringen i nogle tilfæde, hvilket betyder, at originalbilledet kan indeholde flere ord end det segmenterede billede. Som udgangspunkt viser tabellen antallet af ord i de segmenterede billeder, men i fejlsituationer er antallet af ord i de originale billede angivet i parentes. De 20 anvendte spambilleder kan ses i bilag B. Det sidste trin er at anvende den udviklede metode på datasættet og vurdere resulaterne i forhold til ground truth. Datasættet er desuden blevet anvendt sammen med SPAMfighters system, således at de to metoder kan sammenlignes. Som det ses i afsnit 8.2, kan segmenteringen have stor indflydelse på de resultater, som SPAMfighters system opnår. For at gøre sammenligningen så retfærdig som mulig udføres der både et forsøg, hvor de originale billeder anvendes som inddata, og et hvor de segmenterede billeder anvendes som inddata. Kvaliteten af resultaterne vurderes ud fra målene recall og precision, der er defineret 74

79 Nummer Antal ord Kendetegn 1 31 Tre forskellige fontstørrelser Ret stor og ret lille fontstørrelse Understreget tekst, meget lille mellemrum mellem stor/lille font Meget lille font (77) 3 små fontstørrelser. Meget lille vertikal afstand mellem ord fontstørrelser (fra meget lille til mellem) og understreget tekst Stor, men ret tynd font Lille font og lille fed font Lille font, vertikalt forskudte bogstaver Kursiv tekst (78) Lille font i alm., fed og kursiv. Teksten er meget sammenpresset Mange forskellige fontstørrelser Forskellige fontstørrelser og ord der er skåret igennem pga. støj Roteret tekst, forskellige fontstørrelser og understregning Forskellige fonte. Stort mellemrum mellem nogle bogstaver Roteret tekst, meget støj. Noget af teksten er svær at læse! Tekst med skygge (sikkert en konsekvens af komprimeringen) Forskellige fonte med varierende afstand mellem bogstaverne Stor og lille font Bølgende tekst. Tabel 8.3: Antallet af ord samt kendetegnene ved de 20 udvalgte spambilleder. Tallene angiver antallet af ord i de segmenterede billeder. I de tilfælde hvor segmenteringen har fjernet ord, angiver tallene i parenteser antallet af ord i de originale billeder. 75

80 på følgende vis: Recall = Antal ord som metoden identificerer korrekt., (8.1) Samlede antal ord i billedet. Precision = Antal ord som metoden identificerer korrekt. Samlede antal ord som metoden finder i billedet. (8.2) Recall er altså et mål for, hvor god metoden er til at finde ordene i billedet. Recall er således 100%, når samtlige ord i et billede bliver identificeret, men dette kan i teorien altid opnås ved blot at returnere samtlige mulige regioner i billedet. Recall kan altså være misvisende, hvilket er grunden til at precision udregnes. Dette mål afspejler nemlig, hvor mange ikke-relevante regioner resultatet indholder De opnåede resultater Resultaterne fra de tre kørsler, på det udviklede datasæt, kan ses i tabel 8.4, hvor nummereringen naturligvis stemmer overens med tabel 8.3. Den første og vigtigste observation er, at den udviklede metode generelt klarer sig dårligere end SPAMfighters nuværende metode. For recall er forskellen ca. mellem 4 og 9 procent, alt efter valget af inddata til SPAMfighters metode, mens forskellen for precision ligger mellem 17 og 20 procent. Inden disse forskelle analyseres nøjere, er det værd at bemærke, at det faktisk gør en forskel om Spamfighters metode arbejder på de originale- eller de segmenterede billeder. Generelt ser resultaterne rimelig ens ud, men i nogle tilfælde viser det sig at være en stor fordel at arbejde på de binære billeder. Dette ses fx. på billede 12, 16 og 17. I et enkelt tilfælde (billede 16) finder SPAMfighters metode slet ikke nogle ord, når det originale billede anvendes som inddata, hvilket sandsynligvis skyldes at rotations-estimationen fejler. Metoden klarer sig dog en smule bedre, når det segmenterede billede anvendes som inddata. På trods af at Loo s metode heller ikke leverer overbevisende resulatater på dette billede, illustrerer det allgevel den vigtig pointe, at Loo s metode ikke er afhængig af en indledende rotationsestimation for at finde tekst. Ses der på Loo s metode, er det især den lave precision, der er problematisk. Undersøges resulaterne nærmere, ses det, at metoden generelt finder langt flere regioner, end der er ord i billederne. Som beskrevet i afsnit skyldes dette, at regioneren ikke får inddraget nok baggrundsinformation til at danne hele ord. I mange tilfælde udgøres de ekstra regioner af prikker over i er og j er samt kommaer og punktummer. Disse fejl kunne let elimineres med lidt postprocessering, hvor små regioner blev forkastet eller sammenlagt med andre regioner. Dette er dog af tidshensyn ikke blevet forsøgt. Desuden kan der argumenteres for, at en sådan postprocessering bryder med grundtanken i den udviklede metode, nemlig at regioner, der ligger i nærheden af hinanden, bliver sammenlagt. Selv når der ses bort fra de netop nævnte småfejl, har metoden stadigvæk problemer med undervækst, hvilket især ser ud til at ramme ord skrevet med en lille fontstørrelse. Som beskrevet i afsnit skyldes dette primært, at skiftet mellem den almindelige og 76

81 77 SPAMfighter org. SPAMfighter bw Loo s metode Nummer Recall Precision Recall Precision Recall Precision 1 31/31 = 100% 31/31 = 100% 31/31 = 100% 31/31 = 100% 29/31 = 93.5% 29/31 = 93.5% 2 31/38 = 81.6% 31/34 = 91.2% 31/38 = 81.6% 31/34 = 91.2% 32/38 = 84.2% 32/48 = 66.7% 3 48/61 = 78.7% 48/62 = 77.4% 48/61 = 78.7% 48/62 = 77.4% 36/61 = 59.0% 36/71 = 50.7% 4 59/60 = 98.3% 59/60 = 98.3% 59/60 = 98.3% 59/60 = 98.3% 47/60 = 78.3% 47/60 = 78.3% 5 75/77 = 97.4% 75/75 = 100% 61/63 = 96.8% 61/61 = 100% 57/63 = 90.5% 57/61 = 93.4% 6 59/82 = 72.0% 59/93 = 63.4% 57/82 = 69.5% 57/97 = 58.8% 49/82 = 59.8% 49/106 = 46.2% 7 35/40 = 87.5% 35/37 = 94.6% 35/40 = 87.5% 35/37 = 94.6% 33/40 = 82.5% 33/50 = 66.0% 8 45/49 = 91.8% 45/50 = 90.0% 45/49 = 91.8% 45/50 = 90.0% 44/49 = 89.8% 44/55 = 80.0% 9 46/53 = 86.8% 46/46 = 100% 45/53 = 84.9% 45/47 = 95.7% 32/53 = 60.4% 32/80 = 40.0% 10 82/93 = 88.2% 82/96 = 85.4% 72/93 = 77.4% 72/99 = 77.4% 57/93 = 61.3% 57/108 = 52.8% 11 73/78 = 93.6% 73/76 = 96.1% 66/71 = 93.0% 66/69 = 95.7% 65/71 = 91.5% 65/75 = 86.7% 12 28/52 = 53.8% 28/53 = 52.8% 44/50 = 88.0% 44/53 = 83.0% 36/50 = 72.0% 36/69 = 52.2% 13 60/92 = 65.2% 60/72 = 83.3% 75/92 = 81.5% 75/93 = 80.6% 74/92 = 80.4% 74/92 = 80.4% 14 17/20 = 85.0% 18/20 = 90.0% 20/20 = 100% 20/20 = 100% 20/20 = 100% 20/21 = 95.2% 15 34/46 = 73.9% 34/62 = 55.8% 37/46 = 80.4% 37/39 = 94.9% 34/46 = 73.9% 34/74 = 46.0% 16 00/60 = 0.0% NAN 16/60 = 26.7% 16/23 = 69.6% 28/60 = 46.7% 28/68 = 41.2% 17 24/32 = 75.0% 24/33 = 72.7% 32/32 = 100% 32/32 = 100% 32/32 = 100% 32/35 = 91.4% 18 59/74 = 79.7% 59/80 = 73.8% 60/74 = 81.1% 60/78 = 76.9% 57/74 = 77.0% 57/96 = 59.4% 19 21/26 = 80.8% 21/32 = 65.6% 19/26 = 73.1% 19/29 = 65.5% 14/26 = 53.8% 14/29 = 48.3% 20 14/21 = 66.7% 14/19 = 73.7% 12/21 = 57.1% 12/23 = 52.2% 4/21 = 19.0% 4/9 = 44.4% I alt 77.8% 82.3% 82.4% 85.1% 73.7% 65.6% Tabel 8.4: Resultaterne af afprøvningen på de tyve udvalgte billeder. SPAMfighter org er resultaterne ved brug af SPAMfighters nuværende metode, SPAMfighter bw er resultaterne opnået ved at anvende billeder segmenteret med Wolf og Jolions metode som inddata til det nuværende system og Loo s metode er resultaterne opnået med min implementation af Loo s metode.

82 (a) (b) Figur 8.4: Illustration af to typiske situationer som Loo s metode har svært ved at håndtere. (a) Understreget tekst. (b) Stor afstand mellem bogstaverne i de enkelte ord. særlige udvælgelse af børn ikke fungerer optimalt. Forsøg på at lade regioner medtage mere baggrundsinformation har i nogle tilfælde hjulpet, men har i andre tilfælde ledt til massiv overvækst. Som diskuteret flere gange i kapitel 5 skyldes dette, at densiteten ikke er et robust mål, når billederne indeholder ord skrevet med små fontstørrelser. Andre vigtige fejlkilder er brugen af understregninger samt meget store mellemrum mellem de enkelte bogstaver i de enkelte ord, hvilket er illustreret på figur 8.4. På 8.4(a) ses det, at overskriften er understreget, og at bogstaverne p og y overlapper med denne understregning. I første omgang betyder dette, at ordene poor og your country, samt selve understregningen, vil blive forbundet. Desuden betyder den korte afstand mellem understregningen og de øvrige ord i overskriften, at hele overskriften ender med at blive opfattet som et ord. I præprocesseringen skal der altså tages særlig hensyn til understregninger, hvis Loo s metode anvendes. Problemet på figur 8.4(b) er det meget store mellemrum mellem bogstaverne i ordene Viagra, Cialis, Ambien og Xanax. For et menneske er det selvfølgelig let at se, at bogstaverne danner ord, men Loo s metode antager jo netop, at densiteten for de enkelte ord er relativt konstant, hvilket ikke er tilfældet her. Resultatet er, at metoden opfatter de enkelte bogstaver som hele ord. Eksemplet viser et relativt ekstremt tilfælde, men i mange spambilleder varierer afstanden mellem de enkelte bogstaver på ligende vis. Et sidste problem, der er værd at bemærke, er, at brugen af meget store og meget små fontstørrelser i samme billede giver problemer. Denne problemstilling er allerede blevet diskuteret i afsnit 5.5, og jeg vil derfor ikke komme nærmere ind på den her. Problemet kan sandsynligvis afhjælpes ved at analysere tekstblokke lokalt frem for at analysere hele billedet på en gang, hvilket faktisk er muligt inden for rammerne af SPAMfighters nuværende system. Ulempen er selvfølgelig, at metoden derved bliver afhængig af en indledende layout-analyse, hvilket er i direkte modstrid med det grundlæggende koncept. Til slut er det værd at vise et konstrueret eksempel, hvor Loo s metode virkelig kommer til sin ret. På figur 8.5(a) ses et billede, hvor den samme sætning er skrevet med en række forskellige layouts, og på (b) ses resultatet af Loo s metode. I denne situation er SPAMfigh- 78

83 (a) (b) Figur 8.5: Loo s metode afprøvet på et billede med en række forskellige tekstlayout. (a) Inddata til metoden. (b) De fundne regioner. ters metode kun i stand til at opfange den øverste vandrette linie, men som det ses, bliver næsten alle ordene korrekt identificeret af Loo s metode. Faktisk indeholder resultatet kun fire fejl, som alle skyldes, at flere ord detekteres som en region. I den bølgende tekst er der dog ikke noget at sige til, at metoden fejler et par gange, idet afstanden mellem ordene en frø og at finde er meget lille. De to sidste fejl kan findes i den bølgende tekst ( drog ud ) hhv. inderst inde i spiral-teksten ( finde en ven ) Opsummering I afsnit 5 blev der opstillet to kriterier, som den udviklede metode skulle opfylde for at være relevant for SPAMfighter. For det første skulle resultaterne være sammenlignelige, med de resultater den nuværende metode opnår, og for det andet skulle metoden være lang mere fleksibel. For at starte med det positive, så viser resultatet på figur 8.5, at metoden er i stand til at håndtere en bred vifte af layouts, hvorimod SPAMfighters metode kun er i stand til at håndtere vandret tekst. Desværre viste afprøvningen også, at SPAMfighters metode er overlegen, når der anvendes et konventionelt vandret tekstlayout. Et af de største problemer med den udviklede metode er, at den grundlæggende densitetsantagelse ikke holder, når inddata indeholder tekst skrevet med en lille fontstørrelse. Dette er desværre ofte tilfædet i spambilleder, hvilket resultaterne tydeligt afspejler. Som disku- 79

84 teret i sidste afsnit er det delvist muligt at afhjælpe dette problem, samt metodens øvrige svagheder, hvilket dog sker på bekostning af metodens fleksibiliet. Konklusionen er således, at den udviklede metode først bliver interessant, hvis der sker en drastisk ændring i layoutet af billedspam. Så længe et simpelt vandret tekstlayout anvendes, kan det bedre betale sig for SPAMfighter at forfine den nuværende metode, fx. med udgangspunkt i resultaterne fra tabel 8.4. Det er iøvrigt værd at bemærke, at afprøvningen af SPAMfighters metode understøtter konklusionen fra afsnit 8.2.5, nemlig at den nuværende segmenteringsalgoritme bør udskiftes. Afslutningsvis skal det nævnes, at jeg selvfølgelig gerne ville have sammenlignet resultaterne af min implementation af algoritmen med Loo s egen version. Dette ville både være interessant fordi min implementation flere steder afviger fra Loo s, og fordi Loo sandsynligvis har brugt væsentligt mere tid på at optimere metoden, end jeg har. Desværre har jeg ikke fået svar på mine henvendelser. 80

85 8.4 Klassificering af spam vha. lavniveau billedfeatures I dette afsnit beskrives de resultater, der er blevet opnået ved at anvende lavniveau billedfeatures til klassifikation af billedspam. I afprøvningen er der blevet anvendt to store datasæt med billedespam, nemlig Large Spring og Large Autumn samt datasættene med legitime billeder beskrevet i afsnit 6.1. For at opnå et datasæt der er så realistisk som muligt, anvendes også de legitime billeder indsamlet af Dredze et al.[dgeb07] 2. Large Spring datasættet indeholder spambilleder indsamlet i løbet af foråret 2007, mens Large Autumn datasættet indeholder 7965 spambilleder indsamlet i løbet af efteråret De to datasæt adskiller sig på en række punkter, såsom den gennemsnitlige mængde af støj og tekst i billederne. Disse forskelle bliver analyseret nærmere i afsnit Til træning og klassifikation anvendes SVM light. Som anbefalet af Hsu et al. [HCL03] anvendes en radial basis funktion som kerne i træningen, og alle features skaleres således, at de ligger i intervallet [0, 1]. Med mindre andet er angivet, anvendes derudover SVM light s standardparametre og automatiske optimeringsteknikker. I praksis betyder dette, at de opnåede resultater sandsynligvis kan forbedres ved manuelt at finde de optimale parametre. En anden faktor, der kan have betydning for resultaterne, er, hvorledes de anvendte features bliver indkodet. Generelt anbefales det at opdele features, der beskriver n kategorier, fx. {red, green, blue}, i flere binære features. Førnævnte farvefeature kunne således indkodes på følgende måde: (0,0,1) (0,1,0) (1,0,0). Ligeledes kan det måske betale sig at opdele features med reele værdier i flere features. Dredze et al. benytter fx. seks features til at beskrive fil-størrelse og atten til at beskrive billedstørrelse. Af tidshensyn har jeg dog valgt ikke at undersøge betydningen af indkodningen, men bemærker blot, at det er et område, der skal undersøges nøjere, hvis denne metode skal anvendes i praksis. I de følgende afsnit er halvdelen af hhv. ham- og spamdatasættene benyttet til træning og den anden halvdel til klassifikation. Data er selvfølgelig blevet randomiseret, så de samme samples ikke anvendes til træning hver gang. Hvert resultat angiver desuden gennemsnittet af tre forsøg, således at det ikke blot er konsekvensen af ét (u)heldigt træningssæt. Frem for blot at benytte halvdelen af hhv. ham- og spamdatasættene til træning kunne der argumenteres for, at blandingsforholdet bør afspejle virkelige forhold. Dette er dog uhensigtsmæssigt af flere grunde. For det første er det utroligt svært at beregne hvor mange procent af al mailtrafik, der rent faktisk udgøres af spam. Således vurderer nogle kilder, at spam udgjorde op til 95% af alle mails sendt i 2007 [Net], mens andre kilder vurderer, at tallet ligger et sted mellem 50 og 72 procent [Mes]. Et andet problem er, at det skal vurderes, hvor stor en andel af den samlede mængde spam der udgøres af billedspam, og dette skal sættes i forhold til, hvor mange legitime mails der indeholder billeder. Et andet alternativ kunne være at anvende k-folds krydsvalidering. Denne metode benyttes ofte i situationer, hvor mængden af træningsdata er begrænset, men har desværre en tendens til at overestimere fejlraten. Resultaterne ved at anvende halvdelen af de legitime billeder til træning og den anden halvdel til test har desuden vist sig at være yderst stabile, hvilket tyder på, at krydsvalidering ikke er nødvendig. 2 Tilgængelig på 81

86 Positive Negative Anvendte features samples samples SPAMfighter Størrelse Farve Øvrige www (1611) Diku (538) 74.9%/99.8% 98.2%/0.1% 74.9%/100% 74.9%/100% www (1611) Dredze (1999) 53.5%/1.9% 99.4%/ 0% 63.8%/52.0% 63.6%/59.2% Dredze (1999) Diku (538) 78.8%/100% 99.7%/ 0% 81.3%/80.1% 78.8%/100% Tabel 8.5: Afprøvning på hamdatasættene. Tallene i parentes angiver det samlede antal samples i hvert datasæt, og parametrene til SVM light er valgt som tidligere beskrevet. Resultaterne viser klassifikationsraten og falsk positiv-raten. Bemærk iøvrigt at de legitime billeder udgør ca. 13% af træningsdata i undersøgelsen af Large Spring datasættet og ca. 34% i den tilsvarende undersøgelse af Large Autumn datasættet Undersøgelse af de legitime datasæt Da en del af de legitime billeder er indsamlet fra internettet, undersøges det i første omgang, i hvor høj grad disse billeder minder om de øvrige legitime billeder. Det undersøges desuden, om der er lighed med de billeder jeg har indsamlet fra studerende fra DIKU, og de billeder Dredze et al. har stillet til rådighed. I tabel 8.5 ses resultatet af denne undersøgelse, hvor klassifikationsraten (eng: accuracy) samt falsk positiv-raten er angivet i procent for hver gruppe af features. Klassifikationsraten er defineret som: acc = Antal korrekt klassificerede samples, (8.3) Totale antal samples mens falsk positiv-raten er defineret ved: fp = Antal fejlklassificerede negative samples Totale antal negative samples (8.4) Det der primært er værd at lægge mærke til er, at en god adskillelse af de tre datasæt kun er mulig vha. features baseret på størrelse. Det ses også, at Dredze datasættet adskiller sig lidt fra de øvrige datasæt, idet der kan laves en delvis adskillelse vha. farvebaserede features. Hverken SPAMfighter eller Øvrige er i nævneværdig grad informative i forhold til disse datasæt. Ud fra tabellen kan det konkluderes, at de tre hamdatasæt på mange måde ligner hinanden, på trods af at de er indsamlet på forskellige måder. Især er det vigtigt, at billederne hentet fra internettet ikke adskiller sig væsentligt fra DIKU og Dredze datasættene, idet billederne i disse stammer fra rigtige brugere. Dette retfærdiggør, at www-billederne anvendes til at supplere billederne indsamlet fra de studerende på DIKU. Det gør desuden ikke noget, at der rent faktisk er nogle forskelle mellem de enkelte datasæt. Dette betyder blot, at det samlede datasæt i højere grad repræsenterer den variation, der er mellem legitime billeder. 82

87 8.4.2 Klassifikation af spam Med antagelsen om at de indsamlede legitime billeder er repræsentativt, for hvad folk sender til hinanden, er det nu muligt at undersøge, om de valgte lavniveau billedfeatures kan anvendes til at filtrere spam. Som nævnt flere gang i løbet af denne rapport betyder det væsentligt mere, at legitime billeder ikke bliver klassifiseret som spam end omvendt. Målet med afprøvningen er derfor at fejlklassificere så få spambilleder som muligt, samtidig med at mængden af fejlklassifiseret ham skal være minimal. Den lettest måde at gøre dette er at stille på cost-factor parameteren i SVM light således, at fejlklassifikation af positive samples vægtes anderledes end fejlklassifikation af negative samples. Indledende forsøg har vist, at der opnås gode resultater ved at vægte legitime billeder 10 gange højere end spambilleder. Valget af denne parameter er dog i høj grad bestemt af, hvor stor en procentdel af fejlklassificeret ham der er acceptabel. I den følgende afprøvning er cost-factoren valgt til 10, mens det øvrige parametre ikke er ændret i forhold til tidligere. For at undersøge om de valgte features rent faktisk er informative, udføres afprøvningen både for de enkelte grupper af features og for den samlede mængde features. Resultaterne bliver præsenteret, i noget der ligner en blandingsmatrix (eng: confusion matrix), mens den samlede klassifiaktionrate og andre nyttige oplysninger gives i tabelteksten. Desuden illustreres betydningen af cost-factor parameteren flere gange i løbet af afprøvningen. Dette gøres ved at beskrive, hvorledes resultaterne ændrer sig ved at vælge en cost-factor på 1 frem for 10. Dette kaldes i det følgende for en lige vægtning af de to klasser, fordi fejl straffes lige hårdt Resultater på Large Spring datasættet Først undersøges det, i hvor høj grad SPAMfighters features er nyttige til at filtrere spam. Det anvendte hamdatasæt består af DIKU-, www-, og Dredze billederne mens spambillederne udgøres af Large Spring datasættet. I alle de følgende tabeller angiver tallene i parentes det samlede antal billeder i datasættet hhv. antallet brugt til klassifikation. Feature: SPAMfighter I tabel 8.6 ses det, at SPAMfighters features i høj grad kan anvendes til filtrering af spam. Således bliver lidt over 90% af spambillederne korrekt klassificeret, mens det kun er lidt under 4% af de legitime billeder, der bliver fejlklassificeret. Samlet set ender lidt over 91% af billederne i den rigtige klasse. Set i forhold til at disse features var fuldstændig ude af stand til at adskille billederne i de legitime datasæt, illustrerer dette resultat den store forskel, der ofte er mellem almindelige billeder og spambilleder. Feature: Størrelse De features der bedst var i stand til at adskille de legitime datasæt, var baseret på størrelse. Man kunne derfor håbe på at opnå ligende resultater i filtreringen af spam, men som det ses i tabel 8.7, er dette ikke helt tilfældet. Omkring 84% af spambillederne bliver korrekt 83

88 Anvendte Features: SPAMfighter Alle Ham billeder (4148/2076) Forudsagte klasse Large Spring (27950/13975) Ham Spam Virkelige Ham 96.21% 3.79% klasse Spam 9.75% 90.25% Tabel 8.6: I gennemsnit bliver 79 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1363 for spambillederne. Samlet set giver dette en klassifikationsrate på 91.02%. Anvendte Feature: Størrelse Alle Ham billeder (4148/2076) Forudsagte klasse Large Spring (27950/13975) Ham Spam Virkelige Ham 85.94% 14.06% klasse Spam 15.95% 84.05% Tabel 8.7: I gennemsnit bliver 292 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 2229 for spambillederne. Samlet set giver dette en klassifikationsrate på 84.29%. klassificeret, men samtidig ender ca. 14% af de legitime billeder i den forkerte klasse. Et hurtigt forsøg viser desuden, at mængden af falske positiver ville stige til næsten 45%, hvis fejlklassifikation af samples i de to klasser var vægtet ligeligt. Til gengæld ville det totale antal af misklassificerede samples falde til under det halve. Feature: Farve I tabel 8.8 er resultatet ved anvendelse af farvebaserede features vist. Som det ses er andelen af falske positiver under 3%, mens næsten 90% af alle spambilledern bliver korrekt klassificeret. Dette resultat er faktisk væsentligt bedre, end det Aradhye et al. [AMH05] præsenterer, på trods af den meget store lighed mellem afprøvningerne 3. Forskellene skyldes sandsynligvis, at de datasæt Aradhye arbejder med, er meget begrænsede og derfor ikke repræsentative for virkelig data. Feature: Øvrige Den sidste individuelle gruppe af features der undersøges, er øvrige, der som bekendt udgøres af entropi-målet samt antallet af logiske tekstblokke. Resultatet kan ses i tabel 8.9, hvor det tydeligt fremgår, at disse features er anvendlige til at filtrere spam. Et hurtigt forsøg viser, at entropi-målet alene er i stand til at fange ca. 91% af spambillederne med knapt 23% falske positiver, hvilket må siges at være et imponerende resultat. Entropifeaturen har desuden den fordel, at den er meget generel og derfor informativ for næsten 3 Aradhye et al. opnår generelt omkring 80% spamgenkendelse, mens andelen af falske positiver er omkring 20%. 84

89 Anvendte Feature: Farve Alle Ham billeder (4148/2076) Forudsagte klasse Large Spring (27950/13975) Ham Spam Virkelige Ham 97.11% 2.89% klasse Spam 10.25% 89.75% Tabel 8.8: I gennemsnit bliver 60 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1433 for spambillederne. Samlet set giver dette en klassifikationsrate på 90.70%. Anvendte Feature: Øvrige Alle Ham billeder (4148/2076) Forudsagte klasse Large Spring (27950/13975) Ham Spam Virkelige Ham 93.60% 6.40% klasse Spam 9.81% 90.19% Tabel 8.9: I gennemsnit bliver 133 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1371 for spambillederne. Samlet set giver dette en klassifikationsrate på 90.63%. alle billeder 4. Dette skal ses i forhold til fx. SPAMfighters animation -feature, som er meget specifik, og derfor kun er informativ for en ganske lille delmængde af billederne. Feature: Alle Til sidst undersøges det, hvordan metoden klarer sig, når alle de ovenstående features kombineres til én featurevektor. Forventningen er selvfølgelig, at det samlede resultat bliver bedre end resultaterne for de enkelte feature-grupper. I tabel 8.10 ses, at dette også er tilfældet. Således bliver næsten 95% af spambillederne korrekt klassificeret samtidig med, at mindre end 1% af de legitime billeder bliver fejlklassificeret. Alt i alt et meget imponerende resultat, især når det tages i betragtning, at der ikke er gjort noget særligt for at optimere parametrene til SVM light. Det skal desuden bemærkes, at tidligere forsøg (inden Dredze datasættet var kendt) afslørede, at kombinationen af entropi og størrelsesbaserede features gav bedre resultater end anvendelsen af samtlige features. Dette tyder, som forventet, på, at repræsentationen af data ikke er optimal. Det må derfor forventes, at resultaterne både kan forbedres ved manuelt at optimere parametrene til SVM light samt ved at anvende en bedre indkodning af data Resultater på Large Autumn datasættet Det andet spamdatasæt, der er blevet undersøgt, er Large Autumn. Dette adskiller sig på en række områder fra Large Spring datasættet, og derfor undersøges de enkelte grupper af 4 Hvis billederne er meget små, er det tvivlsomt hvor nyttig entropien er. 85

90 Anvendte Feature: Alle Alle Ham billeder (4148/2076) Forudsagte klasse Large Spring (27950/13975) Ham Spam Virkelige Ham 99.18% 0.82% klasse Spam 5.36% 94.64% Tabel 8.10: I gennemsnit bliver 17 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 750 for spambillederne. Samlet set giver dette en klassifikationsrate på 95.22%. Ved lige vægtning af ham hhv. spam stiger klassifikationsraten til over 97%, men samtidig stiger andelen af falske positiver til ca. 8%. Anvendte Features: SPAMfighter Alle Ham billeder (4148/2076) Forudsagte klasse Large Autumn (7965/3983) Ham Spam Virkelige Ham 96.87% 3.13% klasse Spam 44.66% 55.34% Tabel 8.11: I gennemsnit bliver 65 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1779 for spambillederne. Samlet set giver dette en klassifikationsrate på 69.56%. Vægtes der ligligt mellem ham og spam stiger, tallet til knap 80%, men på bekostning af andelen af falske positiver der stiger til ca. 15%. features igen separat. Feature: SPAMfighter I table 8.11 ses resultatet ved anvendelse af SPAMfighters features. I forhold til Large Spring datasættet (tabel 8.6) er andelen af legitime billeder, der er blevet fejlklassificeret, næsten den samme, men til gengæld er mængden af korrekt klassificeret spam, faldet gevaldigt. Her er det kun lidt over 55%, der bliver genkendt i forhold til 90% på Large Spring datasættet. Ved at undersøge de to datasæt bliver grunden til den store forskel mellem resultaterne tydelig. For det første er mængden af billeder, hvor der findes tekst, faldet fra 94% til 70%. Dette kan enten skyldes, at billederne indholder mindre tekst, eller at teksten simpelthen ikke bliver fundet. En overfladisk visuel inspektion af Large Autumn datasættet viser, at billederne generelt indeholder væsentligt mere støj end tilsvarende billeder fra Large Spring datasættet, hvilket er illustereret på figur 8.6. Dette kunne være grunden til, at mængden af detekteret tekst er faldet, men den visuelle inspektion efterlader dog primært det indtryk, at datasættet simpelthen indeholder mindre tekst. Ligeledes er antallet af roterede billeder, og billeder der indeholder animationer, faldet ganske meget. Alt i alt er de skuffende resultater derfor ikke så overraskende. 86

91 (a) (b) Figur 8.6: Illustration af den typiske forskel i støjmængden mellem de to datasæt med billedspam. (a) Et billede fra Large Spring datasættet. (b) Et næsten identisk billede fra Large Autumn datasættet. Anvendte Features: Størrelse Alle Ham billeder (4148/2076) Forudsagte klasse Large Autumn (7965/3983) Ham Spam Virkelige Ham 99.63% 0.37% klasse Spam 0.38% 99.62% Tabel 8.12: I gennemsnit bliver 8 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 15 for spambillederne. Samlet set giver dette en klassifikationsrate på 99.63%. Feature: Størrelse Helt anderledes ser det ud, når der anvendes features baseret på størrelse. I table 8.12 ses det, at både ham og spam bliver klassificeret korrekt i mere end 99% af tilfældene. Dette er overraskende høje tal især set i forhold til de lidt skuffende resultater fra den tilsvarende afprøvning på Large Spring datasættet. Fra tidligere forsøg vides det, at tallene bliver væsentligt lavere, hvis Dredze datasættet ikke indgår i det samlede hamdatasæt. Det er ikke klart, hvorfor det forholder sig således, men et bud kunne være at Dredze datasættet øger variabiliteten i datasættet med legitime billeder og dermed gør det muligt for SVM light at skabe et mere nuanceret hyperplan til adskillelse de to klasser. 87

92 Anvendte Features: Farve Alle Ham billeder (4148/2076) Forudsagte klasse Large Autumn (7965/3983) Ham Spam Virkelige Ham 97.35% 2.65% klasse Spam 37.51% 62.49% Tabel 8.13: I gennemsnit bliver 55 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1494 for spambillederne. Samlet set giver dette en klassifikationsrate på 74.43%. Feature: Farve Resultaterne ved brug af farvebaserede features ses i tabel Igen lykkedes det at holde andelen af falske positiver langt nede, men på bekostning af korrekt klassificerede spambilleder hvor det kun er ca. 62%, der bliver genkendt. Det dårlige resultat skyldes, som tidligere nævnt, at dette datasæt indeholder væsentligt færre spambilleder med tekst. Dette betyder samtidig flere spambilleder med mange grafiske elementer og dermed også flere farver. Konsekvensen er, at det bliver mere besværligt at adskille ham fra spam, især når antallet af falske positiver skal holdes nede. Forsøg viser da også, at klassifikationsraten stiger til over 80%, hvis samples fra de to klasser vægtes lige, men prisen er knapt 13% falske positive samples. Feature: Øvrige Ud fra de resultater der hidtil er opnået på dette datasæt, er forventningerne til denne feature-gruppe ikke store. Det er allerede fastslået, at spambillederne indeholder mindre tekst samt væsentligt flere farver end de øvrigt undersøgte spambilleder. Dette betyder bl.a, at den gennemsnitlige entropi er steget fra 2.17 til 2.76, samt at andelen af billeder med 3 eller flere logiske tekstblokker er faldet fra 75% til under 30%. Samtidig er andel af billeder, hvor entropien er større end 5.76, som er gennemsnittet for de legitime billeder, steget fra ca. 3% til næsten 20%. Disse forhold afspejler sig desværre alt for tydeligt i resultaterne i tabel 8.14, hvor det kun er omkring halvdelen af spambillederne, der bliver korrekt klassificeret. Den høje straf for at fejlklassificere legitime billeder gør dog, at andelen af falske positiver holdes under 3 procent. Ved at vægte fejl i de to klasser lige stiger andelen af korrekt klassificerede spambilleder til ca. 75%, hvilket selvfølgelig sker på bekostning af andelen af fejlklassificerede hambilleder, der stiger til næsten 30%. Feature: Alle Igen afsluttes der med at kombinere alle de ovenstående features til én featurevektor. I modsætning til afprøvningen på Large Spring datasættet har der på Large Autumn datasættet kun været én gruppe af features, der har givet rigtig gode resultater, nemlig de størrelsesbaserede. Disse resultater var dog så overbevisende, at der også bør kunne 88

93 Anvendte Features: Øvrige Alle Ham billeder (4148/2076) Forudsagte klasse Large Autumn (7965/3983) Ham Spam Virkelige Ham 97.43% 2.57% klasse Spam 49.90% 50.10% Tabel 8.14: I gennemsnit bliver 53 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 1988 for spambillederne. Samlet set giver dette en klassifikationsrate på 66.30%. Anvendte Features: Alle Alle Ham billeder (4148/2076) Forudsagte klasse Large Autumn (7965/3983) Ham Spam Virkelige Ham 99.57% 0.43% klasse Spam 15.42% 84.58% Tabel 8.15: I gennemsnit bliver 9 legitime billeder fejlklassificeret i hver kørsel, mens tallet er 614 for spambillederne. Samlet set giver dette en klassifikationsrate på 89.71%. Ved lige vægtning af de to klasser stiger dette tal til lidt over 96%, men 5.5% af de legitime billeder bliver fejlklassificeret. opnås gode resultater vha. den samlede featurevektor. Som det ses i tabel 8.15 er dette også tilfældet, men resultaterne er alligevel lidt skuffende. For det første er andelen af korrekt klassificerede spambilleder faldet ca. 10% i forhold til Large Spring datasættet, og for det andet er resultatet væsentligt ringere, end de resultater der udelukkende blev opnået med de størrelsesbaserede features. Som tidligere nævnt kan dette meget vel skyldes kombinationen af den manglende parameteroptimering og den suboptimale indkodning af data Opsummering Ovenstående afprøvning har vist, at kombinationen af lavniveau billedfeatures og en god indlæringsalgoritme kan være et effektivt værktøj til at klassificere billedspam. På de to store datasæt med spam bliver mellem 85 og 95 procent af billederne korrekt klassificeret, samtidig med at andelen af legitime billeder der fejlklassificeres er under én procent. De opnåede resultater ser dog umiddelbart ud til at være dårligere end de tilsvarende resultater opnået af Dredze et al. En direkte sammenligning er dog ikke mulig, da Dredze kun opgiver den samlede klassifikationsrate samt et mål kaldet F1-scoren. 5 Problemet er altså, at der ikke direkte tages hensyn til antallet af fejlklassificeret ham. Når antallet af spambilleder er langt højere end antallet af legitime billeder, er det således let at opnå en høj klassifikationsrate, når fejlklassifikation i de to klasser vægtes lige. Som demonstreret flere gange 5 Dette mål er defineret som F1 = 2pr p+r, hvor p er precision, og r er recall. 89

94 i denne afprøvning gøres dette blot ved at vægte fejl i de to klasser ligeligt. Set i dette lys svarer de to afprøvninger meget godt overens, idet Dredze opnår en klassifikationsrate på 97%, mens tallenen her er hhv. 96% og 97%. Afprøvningen har dog afsløret, at der, på trods af de gode resultater, stadig er plads til forbedringer. Især indkodningen af de anvendte features bør undersøges nærmere, hvis metoden skal anvendes i praksis. Ligeledes bør det undersøges, i hvor høj grad billedernes metadata er anvendelig som features, og sidst men ikke mindst bør der foretages en manuel optimering af de parametre, der anvendes i indlæringsalgoritmen. Aflsutningsvis skal det bemærkes, at det store arbejde med at indsamle legitime billeder betyder, at afprøvningen i meget høj grad afspejler realistiske forhold. Et system baseret på den foreslåede metode vil derfor med stor sandsynlighed give resultater svarende til dem der er opnået i denne afprøvning. 90

95 8.5 Genkendelse af nær-dubletter I dette afsnit afprøves det udviklede system til genkendelse af nær-dubletter, som blev beskrevet i kapitel 7. For at opnå så virkelighedstro resultater som muligt genanvendes de indsamlede legitime billeder, dvs. DIKU-, www- og Dredze-datasættene. Databasen med legitime billede suppleres yderligere af en række offentligt tilgængelige datasæt, ([Li08], [Cam08], [LW03] og [ke08]), der alle har været brugt inden for CBIR og genkendelse af nær-dubletter. Samlet set giver dette et datasæt med knapt legitime billeder, hvoraf den ene halvdel bruges til træning og den anden til test. Datasættet med spam består i dette afsnit af 1071 spambilleder inddelt i 178 klasser, der hver indeholder minimum 2 billeder. Dette datasæt anvendes også af Wang et al. [WJL + 07], hvilket delvist muliggør en sammenligning af de opnåede resultater. På grund af den måde Wang et al. afprøver deres system, er det dog kun muligt at lave en direkte sammenligning af andelen af legitime billeder, der fejlklassificeres. Jeg ville naturlig også gerne have afprøvet systemet på et nyere og større datasæt, men dette har af praktiske og tidsmæssige årsager ikke været muligt. Ligeledes ville jeg meget gerne have sammenlignet det udviklede system med SPAMfighters system, men dette har heller ikke været muligt, jvf. de eksterne omstændigheder nævnt i afsnit Afprøvningsstrategi Det første trin i afprøvningen har været at beregne de udvalgte features for alle billederne i både spam- og hamdatasættene. I den forbindelse er ca. 500 legitime billeder blevet forkastet pga. deres størrelse, eller fordi filerne har været beskadiget. De resternede billeder er således alle farvebilleder større end pixels. Blandt disse er billeder tilfældigt blevet udvalgt til at udgøre databasen med legitime billeder (altså træningsdata), mens den anden halvdel bruges som testdata. Spambillederne er ligeledes blevet delt op i en spamdatabase bestående af 178 billeder (et fra hver klasse), mens de resterende anvendes som testdata. Systemet trænes herefter som beskrevet i afsnit 7.5, ved, for hvert billede i spamdatabasen, at finde den mindste afstand til billederne i hamdatabasen. Disse afstande anvendes som tærskelværdier, og denne vektor af tærskelværdier betegnes herefter som T. Som beskrevet i afsnit 7.5 er der en stærkt forøget risiko for at fejlklassificere legitime billeder, når T anvendes som tærskelværdi. Derfor er alle forsøg udført med tre forskellige valg af 9 tærskelværdier nemlig T, T og 1T, hvor fx. 1 T svarer til, at alle tærskelværdierne er blevet multipliceret med 0.5. Selve afprøvningen sker ved først at præsentere systemet for spambillederne i testsættet, hvilket kan resultere i tre forskellige situationer: 1. Billedet bliver korrekt genkendt som en nær-dublet. Dette betyder, at et billede, der tilhører klasse i, bliver genkendt som en nær-dublet til spamdatabasens i te klasse. I de følgende tabeller bliver denne situation benævnt med korrekt. 91

96 2. Billedet bliver genkendt som en nær-dublet, men inden for den forkerte klasse. Dette vil sige, at billedet, på trods af at tilhøre klasse i, bliver genkendt som en nærdublet til spamdatabasens j te klasse (i j). I de følgende tabeller benævnes denne situation semi-korrekt. 3. Billedet bliver ikke genkendt som en nær-dublet, hvilket betyder, at spambilledet fejlklassificeres som et legitimt billede. Her er det især situationen, hvor et billede klassificeres som semi-korrekt, der er værd at bemærke. I de fleste systemer til genkendelse af nær-dubletter vil denne situation blive opfattet som en fejl (billedet af guldfisken bliver genkendt som en kaffekop), men sådan forholder det sig ikke i dette projekt. Optimalt set bør alle billederne selvfølgelig klassificeres korrekt, men i sidste ende er der her tale om et binært klassifikationsproblem: Er billedet spam eller ej? I et virkeligt system er det således underordnet, hvilken klasse et spambillede matches med, så længe det bliver genkendt som spam. I dette projekt tillader jeg derfor, at de såkaldt semi-korrekt klassificerede spambilleder tæller med i den samlede succesrate. Det skal bemærkes, at situationen ikke er ualmindelig, hvilket kan skyldes, at datasætter er blevet sorteret for fint. En anden forklaring er, at spambilleder ofte ligner hinanden meget, selv når de ikke er nær-dubletter. Afprøvningen viser således, at op til 90% af spambillederne bliver matchet med mere end et billede i spamdatabasen. Dette forhold skyldes selvfølgelig også, at de anvendte features er meget generelle, og fænomenet vil givetvis forsvinde hvis SPAMfighters tekstsignaturer blev integreret i systemet. Anden del af afprøvningen omhandler systemets evne til at håndtere legitime billeder. Da sandsynligheden for at et legitimt billede bliver fejlklassificeret stiger i takt med størrelsen af spamdatabasen, udføres der tre forskellige forsøg. I det første forsøg består spamdatabasen blot af de 178 billeder, der hver repræsenterer en klasse, mens alle 1071 spambilleder anvendes i det andet forsøg. I de følgende tabeller angiver FP (spam db) og FP (all spam) procentdelen af legitime billeder, der fejlklassificeres ved brug af disse to spamdatabaser. Sidst i afprøvningen undersøges fejlraten ved at erstatte det oprindelige spamdatasæt med Large Autumn datasættet, hvorved spamdatabasen kommer til at bestå af billeder 6. I de følgende afsnit beskrives det først, hvorledes systemet fungerer ved brug af de enkelte features, hvorefter forskellige kombinationsmuligheder undersøges. Resultaterne er i de følgende tabeller alle angivet i procent Resultater ved brug af farvefeatures De første features, der afprøves, er farvehistogrammer og farve-momenter. Resultaterne kan ses i tabel 8.16, hvor L1 og RL1 er de anvendte afstandsfunktioner for farvehistogrammerne, og CM er afstandsfunktionen for farve-momenterne. Tabellen viser, at der ikke er den helt 6 I sidste afsnit blev en del af billederne i datasættet forkastet af SPAMfighters testværktøj, hvilket er grunden til, at datasættet indeholder flere billeder i dette afsnit. 92

97 Farvefeatures 9 Tærskelværdier T Afstandsfunktion L1 RL1 CM L1 RL1 CM L1 RL1 CM Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.16: Afprøvning af farvehistogrammer (L1 og RL1) og farve-momenter (CM) ved brug af tre forskellige tærskelværdivektorer. store forskel mellem resultaterne, når T anvendes som tærskelværdivektor. I kraft af mange semi-korrekt klassificerede billeder opnås den højeste andel af klassificeret spam dog ved brug af farvehistogrammer og den relative L1-norm. Denne giver dog også den højeste andel af fejlklassificerede legitime billeder, hvilket især er tydeligt, når spamdatabasen indeholder alle spambillederne. Som forventet falder andelen af falske positiver kraftigt, når tærskelværdierne formindskes, og når T halveres, er det muligt at opnå en fejlrate på 0% ved brug af farvehistogrammer og RL1 afstandsfunktionen. Desværre falder andelen af korrekt klassificeret spam samtidig til knapt 45%, hvilket er uacceptabelt lavt. Det bedste kompromis opnås ved at vælge tærskelværdierne som 9 T, hvor både farvehistogrammer 10 og farve-momenter giver gode reslultater. Til sammenligning opnår Wang et al % falske positiver for farvehistogrammer ved brug af L1 aftandsfunktionen og med T som tærskelværdivektor. Dette tal skal ses i forhold til de 1.374%, der opnås i dette projekt, hvilket næsten er en faktor 16 dårligere end Wangs resultat. Dette illusterer tydeligt, hvor stor en forskel det gør at anvende legitime billeder, der afspejler rigtig brugerdata, frem for blot at anvende tilfældige billeder som det er tilfældet i Wang et al. Som tidligere nævnt er det ikke muligt at lave en direkte sammenligning af genkendelsen af spam. Dette skyldes, at Wang bryder med det grundlæggende system, hvilket vil sige, at der ikke anvendes en fast spamdatabase som i dette projekt. I stedet benyttes en form for alle mod alle strategi, hvor hvert spambillede bliver sammenlignet med alle de øvrige spambilleder. Hvis en kategori indeholder to billeder, A og B, er det således muligt, at B er nær-dublet til A, men at det omvendte ikke er tilfældet. Dette skyldes selvfølgelig, at tærskelværdierne for A og B ikke nødvendigvis er ens. Wang opnår derved en højere genkendelse af nær-dubletter, idet sandsynligheden for at A matcher B eller omvendt, er højere end sandsynligheden for, at A (billedet i spamdatabasen) matcher B (billedet i testdatasættet). 93

98 8.5.3 Resultater ved brug af LBP-histogrammer Tabel 8.17 viser de opnåede resultater ved at anvende LBP-histogrammer som features. Det ses tydeligt, at den relative L1-norm er det bedste valg af afstandsfunktion, samt at 9 T igen giver det bedste forhold mellem korrekt klassificeret spam og fejlklassificeret ham. 10 Således bliver knapt 99% af spambillederne genkendt som nær-dubletter, samtidig med at andelen af falske positiver er mindre end 0.2%. En meget stor andel af spambillederne bliver dog kun semi-korrekt klassificeret, og det viser sig, at 83% bliver matchet med mere end ét billede i spamdatabasen. Som tidligere forklaret har dette ikke den store betydning for det endelige resultat. Som det var tilfældet ved brug af farvefeatures, kan andelen af legitime billeder, der fejlklassificeres yderligere, nedbringes ved at reducere T. Et forsøg viser således, at der kan opnås et perfekt resultat ved at multiplicere T med 0.6, hvorved andelen af korrekt klassificeret spam dog falder til ca. 84%. Local Binary Patterns 9 Tærskelværdier T Afstandsfunktion L1 RL1 L1 RL1 L1 RL1 Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.17: Afprøvning af LBP-histogrammer ved brug af L1 og RL1 afstandsfunktionerne samt tre forskellige tærskelværdivektorer Resultater ved brug af gradient baserede features Afprøvningen af gradient baserede features er opdelt i tre dele, nemlig gradient retninger, gradient størrelser og simultane histogrammer. Tabel 8.18 og 8.19, der viser resultaterne ved brug af gradient retninger hhv. gradient størrelser, indeholder ikke de store overraskelser. De bedste resultater bliver generelt opnået ved at anvende den relative L1-norm og en lille reduktion af tærskelværdivektoren T. Som det var tilfældet for farvehistogrammerne, er der dog en tendens til, at den relative L1-norm giver dårligere resultater, når T forminskes meget. Desuden ses det, at gradient størrelser generelt giver en anelse dårligere resultater end gradient retninger både med hensyn til klassifikation af spam og ham. Hvis kvantiseringen af gradient størrelserne havde været mindre ad hoc, ville denne forskel sandsynligvis forsvinde. I tabel 8.20 kombineres de to gradient baserede features i et simultant histogram, hvilket giver gode resultater. Det mest imponerende er, at knapt 91% af spambillederne bliver genkendt, når L1-normen anvendes sammen med 1 T, hvilket er omkring 20 procent mere 2 94

99 Gradient Retninger 9 Tærskelværdier T Afstandsfunktion L1 RL1 L1 RL1 L1 RL1 Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.18: Afprøvning af gradient retninger ved brug af L1 og RL1 afstandsfunktionerne samt tre forskellige tærskelværdivektorer. Gradient størrelser 9 Tærskelværdier T Afstandsfunktion L1 RL1 L1 RL1 L1 RL1 Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.19: Afprøvning af gradient størrelser ved brug af L1 og RL1 afstandsfunktionerne samt tre forskellige tærskelværdivektorer. end for de øvrigt afprøvede features. De lave tærskelværdier betyder samtidig, at andelen af falske positiver er meget lav. Faktisk svarer de 0.007% til, at kun ét legitimt billede er blevet fejlklassificeret. Denne feature giver altså mulighed for en høj genkendelse af spam næsten uden at gå på kompromis med andel af falske positiver. Det lidt overraskende ved resultatet er, at L1-normen generelt ser ud til at fungere bedst. Som tidligere gør dette sig dog især gældende, når T formindskes meget Resultater ved kombination af features Som beskrevet i afsnit 7.6 findes der mange forskellige måder at kombinere de resultater, der er opnås vha. de enkelte features. I dette afsnit afprøves først metoden forslået af Wang et al., og derefter undersøges effekten af at samle de anvende features til én featurevektor. Baseret på de netop beskrevne resultater har jeg valgt kun at anvende tre features, nemlig farvehistogrammer, LBP-histogrammer og simultane histogrammer. I første forsøgsrække udgøres systemet derfor af tre spamdatabaser, og resultaterne fra disse kombineres vha. og, eller samt afstemning. Som tidligere undersøges resultaterne for tre forskellige valg af tærskelværdivektorer samt for L1 og RL1 afstandsfunktionerne. Der udføres desuden 95

100 Simultane histogrammer 9 Tærskelværdier T Afstandsfunktion L1 RL1 L1 RL1 L1 RL1 Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.20: Afprøvning af simultane histogrammer ved brug af L1 og RL1 afstandsfunktionerne samt tre forskellige tærskelværdivektorer. endnu et forsøg, hvor L1-normen anvendes som afstandsmål for farve- og simultane histogrammer, mens RL1 anvendes som afstandsmål for LBP-histogrammerne. I de følgende tabeller benævnes denne kombination af afstandsfunktioner med Mix. Bemærk iøvrigt at summen af korrekt og semi-korrekt ikke længere er lig med samlet, hvilket skyldes, at de to førstnævnte mål ikke tager hensyn kombinationer af filtersvar. For og metoden gælder fx., at alle tre filtre skal give korrekte hhv. semi-korrekte svar for at tælle med i de respektive kategorier. Kombinationen, hvor to af filtrene giver et korrekt svar og det sidste et semi-korrekt, tæller altså ikke med i disse kategorier, men tæller derimod med i det samlede mål. Tabel 8.21 viser resultaterne ved brug af T som tærskelværdivektor. Som forventet giver og metoden den laveste andel af falske positiver men også den mindste andel af genkendte spambilleder. Både eller og afstemning giver en næsten perfekt klassifikation af spam men en knapt så god klassifikation af legitime billeder. Især når størrelsen af spamdatabasen forøges, bliver resultaterne dårlige. Dette gør sig selvfølgelig i særlig høj grad gældende for eller metoden, hvor mere end 4% af de legitime billeder fejlklassificeres. Til sammenligning opnår Wang et al. en falsk positiv procent på hhv. 0, og for de tre metoder. Som det var tilfældet for farvehistogrammerne, er disse resultater væsentligt bedre end dem, der er opnået i dette projekt, hvilket igen kan tilskrives udvælgelsen af legitime billeder. I tabel 8.22 ses resultaterne, når tærskelværdierne formindskes til T. Som forventet falder andelen af legitime billeder, der fejlklassificeres, ganske meget, samtidig med at der generelt sker et lille fald i andelen af genkendt spam. Af de tre kombinationsmetoder er det dog kun afstemning, der giver brugbare resultater. Her opnås der en genkendelse af spam på omkring 99%, samtidig med at andelen af falske positiver ikke overstiger 0.3%. Tabel 8.23 viser resultaterne, når tærskelværdierne reduceres til 1 T. Igen sker der både 2 et fald i antallet af spambilleder, der bliver genkendt, og legitime billeder der fejlklassificeres. For både og og afstemning er antallet af genkendte spambilleder dog faldet så meget, at metoderne i praksis er uanvendelige. Kombinationen af eller metoden og mix

101 Tærskelværdier = T Og Eller Afstemning Afstandsfunktion L1 RL1 Mix L1 RL1 Mix L1 RL1 Mix Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.21: Resultaterne af at kombinere svarene fra tre spamdatabaser vha. og, eller samt afstemning. Tærskelværdivektoren er lig med T. Tærskelværdier = 9 10 Og Eller Afstemning Afstandsfunktion L1 RL1 Mix L1 RL1 Mix L1 RL1 Mix Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.22: Resultaterne af at kombinere svarene fra tre spamdatabaser vha. og, eller samt afstemning. Tærskelværdivektoren er lig med 9 10 T. afstandsmålet giver derimod overraskende gode resultater. Andelen af genkendt spam er næsten lige så høj, som det var tilfældet i tabel 8.21 og 8.22, samtidig med at andelen af falske positiver kun er lidt over en halv promille. I anden forsøgsrække kombineres de beregnede features ved at samle dem i én featurevektor. Igen er det kun farvehistogrammer, LBP-histogrammer og simultane histogrammer, der benyttes i afprøvningen, hvilket giver en 249 dimensional featurevektor. Som tidligere undersøges resultaterne for tre forskellige valg af tærskelværdivektorer ved brug af L1 og det relative L1 afstandsmål. Resultaterne af denne afprøvning er vist i tabel Her ses det, at mange af de tidligere observationer stadig gør sig gældende. Således er andelen af falske positiver for høj, når T anvendes som tærskelværdier, mens andelen af genkendt spam er for lille, når T halveres. Ligeledes ses det, at den relative L1 afstand kun giver gode resultater, så længe T ikke reduceres for meget. Det bedste resultat bliver opnået, når T reduceres en lille smule, og det relative L1 afstandsmål anvendes. Genkendelsen af spam er knapt én procent højere end for eller metoden med 1 T, men til gengæld er andelen af 2 falske positiver også steget en anelse. 97

102 Tærskelværdier = 1T 2 Og Eller Afstemning Afstandsfunktion L1 RL1 Mix L1 RL1 Mix L1 RL1 Mix Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.23: Resultaterne af at kombinere svarene fra tre spamdatabaser vha. og, eller samt afstemning. Tærskelværdivektoren er lig med 1 2 T. Samlet featurevektor 9 Tærskelværdier T Afstandsfunktion L1 RL1 L1 RL1 L1 RL1 Korrekt Semi-korrekt Samlet FP (spam db) FP (all spam) Tabel 8.24: Resultaterne ved at anvende én samlet featurevektor Resultater for Large Autumn datasættet Igennem afprøvningen af det udviklede system har to tendenser været fremtrædende. For det første bliver andelen af legitime billeder, der fejlklassificeres, høj, når T anvendes som tærskelværdivektor, og for det andet stiger antallet af falske positiver, når antallet af spambilleder i spamdatabasen forøges. Det første problem er forsøgt løst ved at reducere tærskelværdierne, hvilket har vist sig at fungere tilfredsstillende. I dette afsnit vil omfanget af det andet problem blive undersøgt nærmere. Indtil nu har spamdatabasen kun bestået af 178 hhv billeder, hvilket er væsentligt mindre end man kan forvente, at et virkeligt system vil indeholde. Det er derfor vigtigt at undersøge, hvorledes systemet skalerer set i forhold til antallet af falske positiver. Til dette formål benyttes Large Autumn datasættet, der består at spambilleder, der alle placeres i systemets spamdatabase. Af tidshensyn er systemet kun blevet afprøvet ved brug af én samlet featurevektor, på samme måde som beskrevet ovenfor. Bemærk at Large Autumn datasættet ikke er sorteret, og at det derfor ikke er muligt at undersøge, hvor mange spambilleder der bliver genkendt. Tabel 8.25 viser derfor kun andelen af legitime billeder, der fejlklassificeres. Det første der er værd at lægge mærke til er, at andelen af falske positiver er væsentligt mindre, når det relative L1 afstandsmål anvendes, i forhold til når 98

103 L1 afstanden benyttes. Desuden sker der et kraftigt fald i andelen af falske positiver, når T formindskes. For den relative L1 afstand falder andelen næsten med en faktor syv ved blot at reducere T med ti procent. Sammenlignes resultaterne med tabel 8.24 ses det, at andelen af falske positiver godt nok er steget, men ikke så meget som man kunne frygte. For den relative L1 afstand har en tidobling af antallet af spambillede i spamdatabasen, kun betydet en tre- til femdobling af fejlraten. Når T halveres, er det tilmed stadig muligt at opnå perfekte resultater mht. de legitime billeder, men som vist tidligere vil dette sandsynligvis ske på bekostning af andelen af genkendt spam. Tærskelværdi 9 afstandsfunktion T T 1 T 10 2 L RL Tabel 8.25: Resultaterne ved at anvende én samlet featurevektor på Large Autumn datasættet, der består af spambilleder. Tabellen angiver hvor mange procent af de legitime billeder, der fejlklassificeres som spam Opsummering Afprøvningen har vist, at det vha. simple features er muligt at udvikle et effektivt system til genkendelse af kendt billedspam. På det anvendte datasæt var det således muligt at genkende op til 98-99% af spambillederne, samtidig med at under en promille af de legitime billeder blev fejlklassificeret. Afprøvningen viste desuden, at størrelsen af spamdatabasen har en relativt stor indflydelse på andelen af falske positiver, men at systemet faktisk skalerer forholdsvist godt. Hvis systemet skal tages i brug, er der dog en række forhold, der skal undersøges nærmere. For det første bør metoden afprøves på et større sorteret spamdatasæt, for at verificere de resultater der er opnået i dette projekt. For det andet bør det undersøges, hvorledes en reskalering af alle billederne til et fast format vil påvirke resultaterne. Ved at nedskalere billeder kan de anvendte features beregnes væsentligt hurtigere, hvilket bl.a åbner mulighed for at udvikle mere avancerede filtre. Indledende forsøg, hvor de legitime billeder er blevet skaleret således, at de maksimalt er pixels, har vist, at resultaterne ikke ændrer sig væsentligt. I nogle tilfælde bliver de en smule bedre og i andre en smule dårligere, men variationen har generelt vist sig at være ganske lille. Disse resultater bør dog undersøges nøjere, samtidig med at spambillederne også reskaleres. Som beskrevet i afsnit 7.6 er de afprøvede metoder til kombination af featurevektorer heller ikke optimale. Afprøvningen viste at eller metoden med 1 T og den samlede featurevektor med 9 T gav de bedste resultater. Ingen af disse metoder forventes dog at fungere 2 10 særlig godt, hvis systemet udvides med flere, evt. specialiserede, features. I praksis er der derfor brug for at undersøge metoder, der er mere fleksible og skalerbare. 99

104 Det udviklede system mangler desuden nogle kritiske delkomponenter, som skal tilføjes, før systemet kan tages i brug. Den vigtigste af disse er en effektiv teknik til indeksering af features i databasen. I dette projekt er der blot blevet benyttet lineær søgning, hvilket ikke er en brugbar løsning i et rigtigt system med store billeddatabaser. Det sidste vigtige element, der mangler i det udviklede system, er indarbejdelse af SPAMfighters tekstfeatures. Da næsten alle spambilleder allerede bliver genkendt af det udviklede system, forventer jeg ikke en væsentlig forbedring på dette område. Til gengæld bør tekstfeaturen være i stand til at sænke antallet af legitime billeder, der bliver fejlklassificeret. Denne formodning bygger på, at de afprøvede features sandsynligvis har svært ved at skelne mellem et typisk spambillede og et legitimt billede, der kun indeholder tekst. Om denne fornemmelse holder stik, kræver dog en nærmere undersøgelse af de legitime billeder, der bliver fejlklassificeret. Således vil tekstfeaturen åbenlyst kun forbedre resultaterne, hvis de fejlklassificerede billeder rent faktisk indeholder tekst. 100

105 Kapitel 9 Konklusion og videre arbejde I denne rapport er en række metoder til filtrering af billedspam blevet beskrevet og afprøvet på realistiske datasæt. Projektets formål har både været at forbedre SPAMfighters nuværende system, samt at undersøge mulighederne for at udvide og generalisere dette. Derudover er der blevet lagt stor vægt på, at afprøvningen af metoderne, i så høj grad som muligt, afspejler virkelige forhold. Dette kapitel starter derfor med en kort opsummering af de opnåede resultater, hvorefter det diskuteres, i hvilket omfang projektet har bidraget med ny viden, både set i forhold til SPAMfighter og i forhold til den øvrige litteratur på området. Konklusionen afsluttes med en kort beskrivelse af, hvilke områder det ville være fordelagtigt at arbejde videre med. 9.1 Opsummering af de opnåede resultater Med udgangspunkt i SPAMfighters nuværende system blev der først implementeret to segmenteringsalgoritmer, udviklet af Wolf og Jolion [WJ04] hhv. Feng og Tan [FT04]. Begge metoder har vist sig at være velegnede til segmentering af billedspam, hvilket både kan ses ved manual inspektion af de binariserede billeder og ved at anvende testværktøjet udviklet af SPAMfighter. Især Wolf og Jolions metode gav gode resultater, og var i stand til at forbedre andelen af genkendt spam med hhv. 7 og 21% i forhold til det nuværende system. Efterfølgende blev en metode til gruppering af ord i binære billeder afprøvet. Metoden er kendetegnet ved, at den er i stand til at håndtere en meget bred vifte af tekstlayouts. Afprøvningen viser imidlertid, at metoden har nogle klare svagheder, hvilket gør den underlegen i forhold til SPAMfighters nuværende metode. På tyve spambilleder var den udviklede metode således kun i stand til at genkende 73.7% af samtlige ord, mens SPAMfighters system fandt 77.8%. Systemet til klassificering af spam vha. lavniveau billedfeatures gav derimod helt anderledes positive resultater. På to store datasæt med spam blev mellem 85 og 95% af alle spambillederne korrekt klassificeret, samtidig med at andelen af falske positiver var under 101

106 én procent. Disse resultater skal ses i forhold til, at SPAMfighter på nuværende tidspunkt ikke er i stand til at genkende spambilleder, som ikke allerede findes i databasen med kendt spam. Systemet til genkendelse af nær-dubletter gav også meget positive resultater. På det sorterede spamdatasæt var det i stand til genkende omkring 99% af de præsenterede spambilleder, samtidig med at andelen af falske positiver ikke oversteg en promille. Systemet viste sig også at skalere fornuftigt i forhold til antallet af billeder i spamdatabasen. 9.2 Bidrag til SPAMfighter Af de fire overordnede metoder der er beskrevet i dette projekt, udgør Wolf og Jolions segmenteringsalgoritme det mest direkte bidrag til SPAMfighters nuværende system. Ved at udskifte brugen af en global tærskelværdi var det som sagt muligt, at øge andelen af genkendt spam med hhv. 7 og 21%. Samtidig er den forbedrede segmenteringsalgoritme både simpel og beregningsmæssigt effektiv, og kan derfor anvendes direkte i SPAMfighters system. I de resterende dele af projektet er bidragene til SPAMfighter lidt mere indirekte. Metoden til gruppering af ord i binære billeder er således ikke direkte anvendelig på nuværende tidspunkt, men kan vise sig at blive nyttig, hvis der sker en væsentlig ændring i de tekstlayout, som spammere anvender. Heller ikke metoden til klassifikation af spam vha. lavniveau billedfeatures er direkte anvendelig, idet den vil kræve en væsentlig ændring af SPAMfighters system. Metoden har dog den store fordel, at den er i stand til at klassificere nye ukendte typer af billedspam, hvilket er en stor mangel i det nuværende system. Sidst men ikke mindst er der metoden til genkendelse af nær-dubletter. Igen en metode der ikke er direkte kompatibel med SPAMfighters nuværende system, da den vil kræve en ændring af den måde, billedsignaturer bliver sammenlignet. Desværre har det ikke været muligt at lave en sammenligning af de to systemer, og det er derfor svært at vurdere i hvor høj grad, SPAMfighter kan drage nytte af den nyudviklede metode. Min personlige fornemmelse er dog, at den præsenterede metode fungerer bedre end det nuværende system, især når det gælder genkendelse af billeder, der ikke indeholder tekst. Selv inden for rammerne af det nuværende system har SPAMfighter sandsynligvis mulighed for at drage nytte af de features, som blev beskrevet i afsnittene om klassifikation af spam vha. lavniveau billedfeatures hhv. genkendelse af nær-dubletter. Flere af disse bør uden problemer kunne flettes ind i det nuværende pointbaserede system, og andre kan sikkert modificeres, således at de også passer ind. 9.3 Bidrag i forhold til fagområdet De fleste spamfiltre har i dag indbygget en eller anden form for filtrering af billedspam, men set fra et videnskabeligt synspunkt er området ikke særlig godt belyst. Der findes således kun en håndfuld artikler, som direkte omhandler filtrering af billedspam, og de fleste af 102

107 disse beskriver metoder, der i sig selv er utilstrækkelige til at opnå gode resultater. En stor del af dette projekt har derfor handlet om at vurdere og sammensætte disse metoder til et system, der rent faktisk kan anvendes i praksis. Resultatet af dette arbejde er systemet til klassifikation af spam vha. lavniveau billedfeatures, der som tidligere nævnt, har vist sig at ligge tæt op ad metoden beskrevet af Dredze et al. [DGEB07]. En lang række af de anvende features er således identiske, men Dredze er dog ene om at anvende billedernes filformat og metadata. På den anden side er jeg ene om at anvende entropien og antallet af tekstblokke, hvilket har vist at være nyttige features. Dredze anvender desuden en Maximum Entropy indlæringsalgoritme, mens der her er blevet anvendt en SVM. Ifølge Dredze skulle de to metoder dog være lige gode, og resultaterne opnået i dette projekt ser også ud til at stemme overens med Dredzes. I dette projekt er afprøvningen dog sket på væsentligt større datasæt, og med langt mere fokus på at legitime billeder ikke blev fejlklassificeret. Et andet generelt problem inden for området er manglen på realistiske datasæt. Umiddelbart skulle man tro, at det ville være let at skaffe sig adgang til billedspam, men dette har vist sig ikke at være tilfældet. Faktisk findes der kun ganske få offentligt tilgængelig datasæt med denne type data, og disse er allerede delvist forældede pga. af den hurtige udvikling inden for billedspam. Endnu værre står det til med datasæt, der indeholder legitime billeder sendt via , hvor det eneste tilgængelige datasæt er indsamlet af Dredze et al. Denne mangel på data har plaget stort set al videnskabeligt arbejde inden for feltet, hvilket i nogle tilfælde har ført til meget optimistiske resultater. Et godt eksempel på dette er resultaterne præsenteret af Wang et al. [WJL + 07], hvor andelen af falske positiver er urealistiske lave. I forhold til det tilsvarende system præsenteret i dette projekt er andelen i bedste fald ca. 10 gange mindre og i værste fald næsten tusinde gange mindre. Denne forskel viser med al tydelighed, hvor vigtigt det er at anvende realistisk testdata, som det har været tilfældet i dette projekt. De primære bidrag til litteraturen anser jeg derfor som beskrivelsen af to systemer til filtrering af billedspam, der både er i stand til at blokere størstedelen af al billedspam, samtidig med at legitime billeder ikke frafiltreres. Desuden har jeg, som den eneste på området, været i stand til at afprøve disse systemer på store realistiske datasæt. Af hensyn til privatlivets fred og regler for ophavsretligt beskyttet materiale er det desværre ikke muligt at offentliggøre de indsamlede legitime billeder. SPAMfighter har derimod givet tilladelse til, at de anvendte spamdatasæt kan gøres offentligt tilgængelige til forskningsmæssig brug. 9.4 Videre arbejde Igennem hele denne rapport er forskellige muligheder for at udvide og forbedre de afprøvede metoder blevet diskuteret. Den vigtigste udvidelse ligger imidlertid ikke i videreudviklingen af de beskrevne metoder men derimod i integrationen af disse. Systemet til genkendelse af nær-dubletter er fx. rettet mod at klassificere kendt billedspam, mens systemet til klassifikation af spam vha. lavniveau billedfeatures primært er rettet imod nye typer billedspam. Da begge systemer har vist sig at opnå gode resultater, er det naturligt at overveje, hvorledes metoderne kan kombineres til at skabe et samlet (og forhåbentligt endnu bedre) system. 103

108 Teknikker til at løse dette problem er bl.a kendt under navne som fusion of classifiers og ensembles of learners. Da uddata fra hvert delsystem i sidste ende er et binært tal (spam/ikke spam), er den mest oplagte løsning blot at træffe den endelige beslutning ved at kombinere disse. Som beskrevet i afsnit 7.6 er denne løsning ikke uden problemer, hvilket især gør sig gældende, hvis man løbende ønsker at tilføje nye delkomponenter til systemet. En anden mulighed er at anvende en form for træning, hvor beslutningen fra hvert delsystem, på en eller anden måde, bliver vægtet. Dette kan sandsynligvis gøres med en boostingalgoritme [FS99], men de praktiske detaljer i denne løsning er ikke lysende klare. En sidste, og mere elegante løsning, er at omformulere beslutningen til et sandsynlighedsteoretisk problem, hvor hvert delsystem returnerer sandsynligheden for, at et givet billede er spam. Inden for disse rammer vil det være muligt at træffe et optimalt valg, men løsningen vil dog kræve en række ændringer i de foreslåede systemer. Det vil fx. være nødvendigt at efterbehandle de resultater, der stammer fra SVM, da disse ikke umiddelbart kan tolkes som sandsynligheder. Der findes dog metoder, der kan udbedre dette problem, og alternativ kan indlæringsalgoritmen blot udskiftes fx. med en Relevance Vector Machine [Tip00]. Denne minder på mange måder om SVM, men bygger på et fast sandsynlighedsteoretisk fundament, hvilket gør den til en oplagt erstating. 104

109 Bilag A Den vedlagte DVD Vedlagt denne rapport er en DVD, som indeholder kildekode, anvendte datasæt, denne rapport og de billeder som den indeholder. DVD ens rodkataloget indeholder 3 underkataloger samt en README-fil, som forklarer DVD ens indhold. I kataloget Datasæt findes de anvendte datasæt og en README-fil, som beskriver betingelserne for at anvende datasættene. I kataloget Kildekode findes den udviklede kode, som er skrevet i Matlab version Koden anvender desuden en række funktioner, som kun er tilgængelige fra forskellige Matlab Toolboxes. I hvert underkatalog findes en README-fil der kort forklarer, hvad de enkelte filer gør. Derudover henvises til kommentarene i selve kildekoden. Denne rapport, samt de billeder og figurer den indeholder, kan ses i kataloget Rapport. Små detaljer i billederne, som er gået tabt i den printede version af rapporten, kan derfor ses her. 105

110 Bilag B Testdata anvendt i afsnit 8.3 De 20 spambilleder, som blev anvendt i afprøvningen af metoden til gruppering af ord i binære billeder, kan ses i nedenstående figur. I venstre side ses de originale billeder, og til højre ses de binære billeder, som er inddata til den udviklede metode. Wolf og Jolions metode er blevet anvendt til segmentering, og de binære billeder er efterfølgende blevet rengjort som beskrevet i afsnit Nummereringen stemmer naturligvis overens med den, der er anvendt i tabel 8.3 og tabel 8.4. (billede 1) (billede 2) 106

111 (billede 3) (billede 4) (billede 5) 107

112 (billede 6) (billede 7) (billede 8) 108

113 (billede 9) (billede 10) (billede 11) 109

114 (billede 12) (billede 13) (billede 14) 110

115 (billede 15) (billede 16) (billede 17) 111

116 (billede 18) (billede 19) (billede 20) 112

Studieretningsprojekter i machine learning

Studieretningsprojekter i machine learning i machine learning 1 Introduktion Machine learning (ml) er et område indenfor kunstig intelligens, der beskæftiger sig med at konstruere programmer, der kan kan lære fra data. Tanken er at give en computer

Læs mere

Guide til din computer

Guide til din computer Guide til din computer Computerens anatomi forklaret på et nemt niveau Produkt fremstillet af Nicolas Corydon Petersen, & fra Roskilde Tekniske Gymnasium, kommunikation & IT, år 2014 klasse 1.2 12-03-2014.

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

Identifikation af planer der ikke findes i PlansystemDK vha. datasættet... 9

Identifikation af planer der ikke findes i PlansystemDK vha. datasættet... 9 Vejledning i brug af Tingbogsudtrækket Version 1.0 af 1. juli 2009 Indhold Indledning... 1 Planer i Tingbogen... 2 Planer i PlansystemDK... 3 Sammenhæng mellem Tingbogen og PlansystemDK... 3 Datastruktur...

Læs mere

Pointen med Funktioner

Pointen med Funktioner Pointen med Funktioner Frank Nasser 0. april 0 c 0080. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en

Læs mere

Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk

Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk 1 Offentlige-selskaber.dk s startside giver direkte adgang til at foretage en indberetning. Som en service

Læs mere

Poster design. Meningen med en poster

Poster design. Meningen med en poster Poster design At præsentere et naturvidenskabelig emne er ikke altid lige nemt. Derfor bruges ofte plakater, såkaldte posters, til at fremvise forskning på fx messer eller konferencer. Her kan du finde

Læs mere

En statistikstuderendes bekendelser Søren Wengel Mogensen

En statistikstuderendes bekendelser Søren Wengel Mogensen Oplysning 23 En statistikstuderendes bekendelser Søren Wengel Mogensen Om at skrive BSc-opgave i anvendt statistik. Der findes matematikere (i hvert fald matematikstuderende), der mener, at den rene matematik

Læs mere

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet Projekt 1 Spørgeskemaanalyse af Bedst på Nettet D.29/2 2012 Udarbejdet af: Katrine Ahle Warming Nielsen Jannie Jeppesen Schmøde Sara Lorenzen A) Kritik af spørgeskema Set ud fra en kritisk vinkel af spørgeskemaet

Læs mere

IT sikkerhed Whitelist

IT sikkerhed Whitelist IT sikkerhed Whitelist IT sikkerhed Whitelist Skrevet af: Anchelika V. Skjødt og Lasse B. Troelsen Kom/IT A Klasse 3.5 Side 1 af 7. Spam facts Spam er et af de største problemer med internettet på nuværende

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

ActiveBuilder Brugermanual

ActiveBuilder Brugermanual ActiveBuilder Brugermanual Forfatter: TalkActive I/S Dato: Juni 2004 Version: R. 1.01 Sprog: Dansk Copyright 2004 - Talk Active - all rights reserved. Indhold: 1. INDLEDNING...2 2. QUICK-START...3 3. OPBYGNINGEN

Læs mere

EA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning:

EA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning: Introduktion til EA3 Mit navn er Marc de Oliveira. Jeg er systemanalytiker og datalog fra Københavns Universitet og denne artikel hører til min artikelserie, Forsimpling (som også er et podcast), hvor

Læs mere

Hjemmesiden er opdelt i et sidehoved, en sidefod og mellem disse 3 kolonner: venstre, midterste og højre. Højre kolonne vises dog kun på forsiden.

Hjemmesiden er opdelt i et sidehoved, en sidefod og mellem disse 3 kolonner: venstre, midterste og højre. Højre kolonne vises dog kun på forsiden. Hjemmesiden er opdelt i et sidehoved, en sidefod og mellem disse 3 kolonner: venstre, midterste og højre. Højre kolonne vises dog kun på forsiden. VENSTRE kolonne indeholder flere elementer (se illustration

Læs mere

VisiRegn: En e-bro mellem regning og algebra

VisiRegn: En e-bro mellem regning og algebra Artikel i Matematik nr. 2 marts 2001 VisiRegn: En e-bro mellem regning og algebra Inge B. Larsen Siden midten af 80 erne har vi i INFA-projektet arbejdet med at udvikle regne(arks)programmer til skolens

Læs mere

24-03-2009. Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S

24-03-2009. Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S 24-03-2009 Problemstilling ved DBK integration i BIM Software Hvad skal der til. Nicolai Karved, Betech Data A/S Problemstilling ved DBK integration i BIM Software Domæner og aspekter Det domæne, der primært

Læs mere

ScanOBS nyhedsbrev. Dato: 4. maj 2018

ScanOBS nyhedsbrev. Dato: 4. maj 2018 NYHEDSBREV 1-2018 www..dk ScanOBS nyhedsbrev Dato: 4. maj 2018 Jeg fremsender hermed nyhedsbrev for ScanOBS, der omhandler de seneste ændringer i ScanOBSprogrammerne, og jeg vil samtidigt benytte lejligheden

Læs mere

Seriediagrammer - Guide til konstruktion i LibreOffice Calc

Seriediagrammer - Guide til konstruktion i LibreOffice Calc Seriediagrammer - Guide til konstruktion i LibreOffice Calc På forbedringsvejlederuddannelsen anvender vi seriediagrammer til at skelne mellem tilfældig og ikketilfældig variation. Med et seriediagram

Læs mere

Avisforside. Vi har skrevet en avis om studier ved Aarhus Universitet

Avisforside. Vi har skrevet en avis om studier ved Aarhus Universitet Avisforside Vi har skrevet en avis om studier ved Aarhus Universitet Vi vil meget gerne høre dine umiddelbare tanker om forsiden til avisen. Hvad forventer du dig af indholdet og giver den dig lyst til

Læs mere

Mini-guide for opdatering af hjemmesiden for. SOIF www.soif.dk

Mini-guide for opdatering af hjemmesiden for. SOIF www.soif.dk Mini-guide for opdatering af hjemmesiden for SOIF www.soif.dk Senest opdateret: 03-07-2009 Indholdsfortegnelse 2 Indholdsfortegnelse 2 Lidt generelt om KlubCMS 3 Brugere/Brugergrupper 3 Sideopbygning:

Læs mere

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Af Henrik Bro og Martin T. Hansen I har måske allerede en flot, og informativ hjemmeside. Og alle jeres kursister

Læs mere

Martin Geisler. Uge 49, 2001

Martin Geisler. Uge 49, 2001 Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

3. Om skalamønstrene og den indfoldede orden

3. Om skalamønstrene og den indfoldede orden Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Lav din egen forside i webtrees

Lav din egen forside i webtrees Lav din egen forside i webtrees Du behøver ikke at kunne kode eller gøre noget advanceret for at designe din helt egen forside i webtrees. Alt du skal gøre er bare at gøre brug af den indbygget editor.

Læs mere

Hvad er formel logik?

Hvad er formel logik? Kapitel 1 Hvad er formel logik? Hvad er logik? I daglig tale betyder logisk tænkning den rationelt overbevisende tænkning. Og logik kan tilsvarende defineres som den rationelle tænknings videnskab. Betragt

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

REDIGERING AF REGNEARK

REDIGERING AF REGNEARK REDIGERING AF REGNEARK De to første artikler af dette lille "grundkursus" i Excel, nemlig "How to do it" 8 og 9 har været forholdsvis versionsuafhængige, idet de har handlet om ting, som er helt ens i

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

Individer er ikke selv ansvarlige for deres livsstilssygdomme

Individer er ikke selv ansvarlige for deres livsstilssygdomme Individer er ikke selv ansvarlige for deres livsstilssygdomme Baggrunden Både i akademisk litteratur og i offentligheden bliver spørgsmål om eget ansvar for sundhed stadig mere diskuteret. I takt med,

Læs mere

How to do in rows and columns 8

How to do in rows and columns 8 INTRODUKTION TIL REGNEARK Denne artikel handler generelt om, hvad regneark egentlig er, og hvordan det bruges på et principielt plan. Indholdet bør derfor kunne anvendes uden hensyn til, hvilken version

Læs mere

Vejledning til opbygning af hjemmesider

Vejledning til opbygning af hjemmesider Side 1 af 9 Vejledning til opbygning af hjemmesider Hvis du er inde på din klubs hjemmeside, fx på forsiden, kan du nu gå i gang med at redigere. For at få redigeringsværktøjet frem, skal du klikke på

Læs mere

Kom godt i gang med internettet

Kom godt i gang med internettet Kom godt i gang med internettet Hver udgave af Kom godt i gang med internettet introducerer til et nyttigt eller interessant sted på internettet eller en lidt mere avanceret funktionalitet på dukapc en.

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang.

Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang. Den tekniske platform Af redaktionen Computeren repræsenterer en teknologi, som er tæt knyttet til den naturvidenskabelige tilgang. Teknologisk udvikling går således hånd i hånd med videnskabelig udvikling.

Læs mere

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et

Læs mere

poedit og oversættelse af sprogfiler

poedit og oversættelse af sprogfiler poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,

Læs mere

Tilpas: Hurtig adgang

Tilpas: Hurtig adgang Tilpas: Hurtig adgang Genveje, Se skærmtips Se tips Hold alt tasten nede. Og brug bogstaver Word Fanen Filer PDF dokument Brug skabelon Visninger Husk Luk ved fuldskærmsvisning Brug zoom skyder Marker,

Læs mere

Manual til administration af online booking

Manual til administration af online booking 2016 Manual til administration af online booking ShopBook Online Med forklaring og eksempler på hvordan man konfigurerer og overvåger online booking. www.obels.dk 1 Introduktion... 4 1.1 Formål... 4 1.2

Læs mere

Outlook 2010 opsætning

Outlook 2010 opsætning Outlook 2010 opsætning Personlig Workflow Nå mere og arbejd mindre Personlig Workflow www.personligworkflow.com kontakt@personligworkflow.com Introduktion til Outlook 2010 guide Microsoft Outlook 2010

Læs mere

Hvordan laver jeg en poster/plakat og handout

Hvordan laver jeg en poster/plakat og handout Hvordan laver jeg en poster/plakat og handout Poster Indhold Keep it simple! Undlad hellere noget forklarende tekst eller nogle resultater idet en overfyldt poster let bliver kedelig og triviel at kigge

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

1 Robbins, Jennifer N.: Learning Web Design, s. 41

1 Robbins, Jennifer N.: Learning Web Design, s. 41 I designarbejdet forbundet med at udvikle en hjemmeside, er det vigtigt at gøre sig nogle overvejelser over hvilken optimale skærmstørrelse man designer til, da dette har konsekvens for den efterfølgende

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning

DM507 Eksamen Obligatorisk Opgave Rejseplanlægning Institut for Matematik og Datalogi Syddansk Universitet, Odense 21. februar 2011 LMF DM507 Eksamen Obligatorisk Opgave Rejseplanlægning 1 Problemet Denne opgave går ud på at lave et program, som ud fra

Læs mere

Brainstorm Hjemmeside Grafisk interface med billeder af computer dele billederen skal så kunne klikkes og få information omkring delene,

Brainstorm Hjemmeside Grafisk interface med billeder af computer dele billederen skal så kunne klikkes og få information omkring delene, Idefasen. Brainstorm Hjemmeside Grafisk interface med billeder af computer dele billederen skal så kunne klikkes og få information omkring delene, Sider med hver hardware del og en forklaring til hvordan

Læs mere

Gode råd til brugerne: Bekæmp PHISHING!

Gode råd til brugerne: Bekæmp PHISHING! Baggrund Senest i perioden juli og august 2009 har UC Lillebælt været udsat for forskellige forsøg på at udnytte vores it-systemer til at indsamle personlige data og kommunikere ulovligt reklamemateriale.

Læs mere

BONUSINFORMATIONER i forbindelse med emnet Billeder og grafik

BONUSINFORMATIONER i forbindelse med emnet Billeder og grafik BONUSINFORMATIONER i forbindelse med emnet Billeder og grafik Dette dokument indeholder yderligere informationer, tips og råd angående: Tabelfunktionen SmartArtfunktionen Billedfunktionen Samt en ekstra

Læs mere

Tjek dine miljøvalg på nettet - når det gælder en tryksag. www.miljonet.org

Tjek dine miljøvalg på nettet - når det gælder en tryksag. www.miljonet.org Tjek dine miljøvalg på nettet - når det gælder en tryksag Kære læser, Du sidder med en brochure, der beskriver et nyt websted,. Det er et websted med rigtig mange oplysninger om de miljøpåvirkninger, der

Læs mere

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0

SmartFraming Et vindue til nationale sundhedssystemer. Version 3.0 SmartFraming Et vindue til nationale sundhedssystemer Version 3.0 Infrastruktur i dagens sundheds IT Det sundhedsfaglige personale benytter sig i dag af en række forskellige systemer i forbindelse med

Læs mere

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices

Læs mere

Matematisk modellering og numeriske metoder. Lektion 16

Matematisk modellering og numeriske metoder. Lektion 16 Matematisk modellering og numeriske metoder Lektion 16 Morten Grud Rasmussen 6. november, 2013 1 Interpolation [Bogens afsnit 19.3 side 805] 1.1 Interpolationspolynomier Enhver kontinuert funktion f på

Læs mere

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau Roskilde Tekniske Gymnasium Eksamensprojekt Programmering C niveau Andreas Sode 09-05-2014 Indhold Eksamensprojekt Programmering C niveau... 2 Forord... 2 Indledning... 2 Problemformulering... 2 Krav til

Læs mere

Introduktion til MeMo

Introduktion til MeMo Introduktion til MeMo 1. februar 2019 CIU I forbindelse med Digitaliseringsstyrelsens udbud af Næste generation Digital Post løsningen (NgDP) er der udviklet en ny model for udveksling af digitale postmeddelelser,

Læs mere

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal. 1 Tal Tal kan forekomme os nærmest at være selvfølgelige, umiddelbare og naturgivne. Men det er kun, fordi vi har vænnet os til dem. Som det vil fremgå af vores timer, har de mange overraskende egenskaber

Læs mere

Denne rapport har til formål at redegøre for tilblivelsen af hjemmesiden beliggende på domænet, http://www.technofil.dk. Der refereres fra nu af blot

Denne rapport har til formål at redegøre for tilblivelsen af hjemmesiden beliggende på domænet, http://www.technofil.dk. Der refereres fra nu af blot Denne rapport har til formål at redegøre for tilblivelsen af hjemmesiden beliggende på domænet, http://www.technofil.dk. Der refereres fra nu af blot til hjemmesiden. Mine indledende tanker bag hjemmesiden

Læs mere

5. Afvigelser i stamdata fravær... 9

5. Afvigelser i stamdata fravær... 9 Indholdsfortegnelse 1. Indledning... 2 2. Gennemgang af afvigelser... 3 3. Personale... 3 3.1 Ansatte i KMD der ikke findes i FLIS... 4 3.1.1 Fejl i kodning... 4 3.1.2 Frasortering af lønperioder der ligger

Læs mere

- en manual fra Skolekonsulenterne.dk. Versionsdato: April 2008

- en manual fra Skolekonsulenterne.dk. Versionsdato: April 2008 - en manual fra Skolekonsulenterne.dk Versionsdato: April 2008 Indholdsfortegnelse Generelt om manualer fra Skolekonsulenterne.dk...3 Hvad er IrfanView?...4 Få fat i programmet...4 Installer selve programfilen...5

Læs mere

Seminaropgave: Præsentation af idé

Seminaropgave: Præsentation af idé Seminaropgave: Præsentation af idé Erik Gahner Larsen Kausalanalyse i offentlig politik Dagsorden Opsamling på kausalmodeller Seminaropgaven: Praktisk info Præsentation Seminaropgaven: Ideer og råd Kausalmodeller

Læs mere

Guide til succes med målinger i kommuner

Guide til succes med målinger i kommuner Guide til succes med målinger i kommuner Af Kresten Bjerg, kommunikationsrådgiver, Bjerg K Kommunikation måles af forskellige grunde. Derfor skal kommunikation også måles på forskellige måder. Dit første

Læs mere

Opgaver hørende til undervisningsmateriale om Herons formel

Opgaver hørende til undervisningsmateriale om Herons formel Opgaver hørende til undervisningsmateriale om Herons formel 20. juni 2016 I Herons formel (Danielsen og Sørensen, 2016) er stillet en række opgaver, som her gengives. Referencer Danielsen, Kristian og

Læs mere

Edb-tekstbehandling, præsentation mm

Edb-tekstbehandling, præsentation mm Edb-tekstbehandling, præsentation mm I denne lektion skal du: - hente kopier et skærmbillede og sætte det ind i et dokument - beskære billedet, så det passer til dit dokument Der findes specielle programmer

Læs mere

Projektarbejde med scrum- metoden

Projektarbejde med scrum- metoden Projektarbejde med scrum- metoden Indhold Indhold... 1 1 Indledning... 2 2 Roller og terminologi i scrum... 3 Opgavestilleren... 3 Scrum Masteren... 3 Projektgruppen... 3 Sprint... 3 3 Møder... 3 Planlægningsmødet...

Læs mere

Billedbehandling i praksis

Billedbehandling i praksis Billedbehandling i praksis Øvelser til værktøjerne i simpel billedbehandling Version: August 2012 Indholdsfortegnelse Dette hæfte...4 Billedstørrelse, billedformater m.m...4 Billedstørrelse...4 Sideformat...5

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Denne guide er oprindeligt udgivet på Eksperten.dk CSS - en gennemgang Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Der er lidt CSS historie

Læs mere

Lagervisning. Dina Friis, og Niels Boldt,

Lagervisning. Dina Friis, og Niels Boldt, Lagervisning Dina Friis, dina@diku.dk og Niels Boldt, boldt@diku.dk 6. april 2001 Kapitel 1 Sammenfatning Dette dokument er et eksempel på en delvis besvarelse af G-opgaven stillet på Datalogi 0 2000-2001.

Læs mere

Polynomiumsbrøker og asymptoter

Polynomiumsbrøker og asymptoter Polynomiumsbrøker og asymptoter Frank Villa 9. marts 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Manual til opsætning af Jit-klient version 2.0. Opsætning. Copyright Jit-Danmark ApS 2008. Find mere information på www.jitbesked.

Manual til opsætning af Jit-klient version 2.0. Opsætning. Copyright Jit-Danmark ApS 2008. Find mere information på www.jitbesked. Opsætning 1 Indholdsfortegnelse Sådan finder du indstillingerne...3 Generelt...5 Brugerstyring...6 Brugerstyring Enkeltbruger-system(standard)...7 Brugerstyring Flerbruger-system med Logon...8 Brugervedligeholdelse

Læs mere

1. SEMESTER SYNOPSIS. Erhvervsakademi Aarhus. Kristian Peter Lund Drewsen E-konceptudvikling EKU-12d (1ek12d1) 1. Semesters Mundtlig Eksamen

1. SEMESTER SYNOPSIS. Erhvervsakademi Aarhus. Kristian Peter Lund Drewsen E-konceptudvikling EKU-12d (1ek12d1) 1. Semesters Mundtlig Eksamen E-konceptudvikling EKU-12d (1ek12d1) 1. SEMESTER SYNOPSIS Den 19 12-2012 Erhvervsakademi Aarhus 1. Semesters Mundtlig Eksamen 1. Semester Synopsis De tre opgaver der er beskrevet i denne synopsis er blevet

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende

Læs mere

Vurdering af billedmanipulation Opgave 1

Vurdering af billedmanipulation Opgave 1 Vurdering af billedmanipulation Opgave 1 Beskriv de enkelte funktioner i dit tegneprogram... Er der tale om en korrektion eller en modifikation? Før vi kan begynde at kategorisere de forskellige funktioner

Læs mere

Bilag 7. SFA-modellen

Bilag 7. SFA-modellen Bilag 7 SFA-modellen November 2016 Bilag 7 Konkurrence- og Forbrugerstyrelsen Forsyningssekretariatet Carl Jacobsens Vej 35 2500 Valby Tlf.: +45 41 71 50 00 E-mail: kfst@kfst.dk Online ISBN 978-87-7029-650-2

Læs mere

Komplekse tal og Kaos

Komplekse tal og Kaos Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

Matematik, der afgør spil

Matematik, der afgør spil Artikeltype 47 Matematik, der afgør spil Sandsynlighedsregning vinder ofte. Kombinatorisk spilteori sejrer hver gang Mads Thrane Hvis du er træt af at tabe opvasketjansen i Sten Saks Papir eller Terning,

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

GPS stiller meget præcise krav til valg af målemetode

GPS stiller meget præcise krav til valg af målemetode GPS stiller meget præcise krav til valg af målemetode 1 Måleteknisk er vi på flere måder i en ny og ændret situation. Det er forhold, som påvirker betydningen af valget af målemetoder. - Der er en stadig

Læs mere

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Erfaringer med CPR-replikering

Erfaringer med CPR-replikering Erfaringer med CPR-replikering Dette dokument beskriver en række overvejelser vi har gjort os i forbindelse med at vi har udviklet en Proof of Concept (PoC) af en CPR-replikeringstjeneste for KOMBIT. CPRs

Læs mere

Substitutions- og indkomsteffekt ved prisændringer

Substitutions- og indkomsteffekt ved prisændringer Substitutions- og indkomsteffekt ved prisændringer Erik Bennike 14. november 2009 Denne note giver en beskrivelse af de relevante begreber omkring substitutions- og indkomsteffekter i mikroøkonomi. 1 Introduktion

Læs mere

Indholdsfortegnelse. Side 1 af 7

Indholdsfortegnelse. Side 1 af 7 Den uddannelsesspecifikke del af studieordningen for bacheloruddannelsen i machine learning og datavidenskab ved Det Natur- og Biovidenskabelige Fakultet, Københavns Universitet 2019 Indholdsfortegnelse

Læs mere

Vejledning til DTU DOC & RSS Feeds

Vejledning til DTU DOC & RSS Feeds Vejledning til DTU DOC & RSS Feeds Jeg vil efterfølgende blande billeder og beskrivelser. Jeg har desværre ikke muligheden for at kunne danne de "rigtige" billeder, da jeg ikke har rettigheder til at søge

Læs mere

Brugerguide til FlexCMS

Brugerguide til FlexCMS Brugerguide til FlexCMS Kom i gang med at bruge din hjemmeside 1 VELKOMMEN TIL FLEXCMS... 3 1. LOGIN... 5 2. HJEMMESIDENS TERMINOLOGI... 6 3. LAYOUT... 7 4. OPRET OG TILPAS FORSIDEN... 8 4.1 OPRETTE SIDEEGENSKABER...

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN 5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve

Læs mere

TeamShare 3.0 Forbedringer til TeamShare Outlook

TeamShare 3.0 Forbedringer til TeamShare Outlook TeamShare 3.0 Forbedringer til TeamShare Outlook Kære TeamShare bruger, I min løbende orientering om alle de nye ting der kommer i TeamShare 3.0, vil jeg her give en beskrivelse af de forbedringer vi laver

Læs mere

Manual til Groupcare: Indhold, formål og brug

Manual til Groupcare: Indhold, formål og brug Manual til Groupcare: Indhold, formål og brug Indledning Groupcare er en elektronisk, internetbaseret kommunikationsform som vi bruger i forbindelse med din DOL-uddannelse. Grundlæggende set er Groupcare

Læs mere

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................

Læs mere

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin

Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Sådan indlægges nyheder på DSqF s hjemmeside trin for trin Systemkrav For at kunne bruge Composite kræves: Windows 95 eller nyere (bemærk - kun Windows kan bruges) Browseren Internet Explorer 6.0 eller

Læs mere

Vejledning til brug af Canon-skanner.

Vejledning til brug af Canon-skanner. Side 1 af 7 Vejledning til brug af Canon-skanner. (Den vi har i undrevisningslokalet.) Indhold Vejledning til brug af Canon-skanner...1 Indhold...1 Start...1 Skanning af avissider, regninger, alm. Fotos

Læs mere

IsenTekst Indhold til Internettet. Manual til Wordpress.

IsenTekst Indhold til Internettet. Manual til Wordpress. Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress. Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet eller tilføje nyt på din hjemmeside. Guiden er skrevet

Læs mere