Bilde av Jan Fredrik. Egenskaper:
Ved å benytte XV til å endre bildets format får vi følgende filstørrelser uten å endre noen parametre (default verdier):
| 1. Orginalt bilde (833kB) | 2. Quality=100% (767kB) |
| 3. Quality=70% (74kB) | 4. Quality=40% (45kB) |
| 5. Quality=15% (30kB) | 6. Quality=1% (22kB) |
Over kan vi se seks utgaver av, i utgangspunktet, samme bilde. Bilde 1 er vårt orginale bilde. Bilde 2 er lagret med JPEG's Quality-parameter satt lik 100%, noe som skulle medføre maksimum billedkvalitet og minimum kompresjon. Dette bekreftes når vi sammenligner med bilde 1. Det er allikevel verdt å merke seg at vi får noe kompresjon (fra 833kB til 767kB). Testing viser at hvis vi foretar en rekursiv komprimering med Q=100% vil vi få en stadig mindre datamengde, ergo mister vi noe kvalitet selv med Q satt lik 100%!
Reduseres Q til 70% vil vi kunne begynne å se endringer i billedkvaliteten (bilde 3). Ved sammenligning ser vi en noe grovere overgang i bildets fargenyanser, særlig i Jan Fredriks skygge. I bilde 4 (Q=40%) forsterkes dette. Vi ser i tillegg tendenser til forvrengning av ansiktsfargene. Studerer vi plakaten kan vi se at bokstavene begynner å få "skygger". Disse skyggene er enda tydeligere i bilde 5. Her kan vi også tydelig se hvordan kraftig kompresjon (vi er nå nede i 30kB) gjør at vi mister mye oppløsning i bildet fordi enkeltpixler slås sammen til større pixelcluster. Dersom formålet er tekstgjenkjenning vil nok bildet likevel kunne brukes dersom vi benytter intelligent filtrering.
Bilde 6 er derimot ubrukelig til de fleste formål. Vi er nede i Q=1%, og en datamengde lik 22kB. At vi har veldig få farvenyanser igjen er ikke så farlig for vårt formål, men vi ser også at bokstavene på plakaten er delvis forsvunnet/smurt utover. Ingen filtrering vil kunne rette på dette problemet.
Vi har brukt programmet "Gifshuffle" for å skjule teksten "Jan Fredrik og Espen" i vår originale bildefil. Denne meldingen inneholder såpass få tegn at det nærmest er umulig for det blotte øyet å se manipuleringen på originalfilen. Resultatet kan du se her:
Link til bilde med skjult tekst....| Gråtonebilde av teksten (9kB) | Tersklet versjon av teksten (16kB) |
Vi kan umiddelbart se faktorer som vil vanskeliggjøre automatisk tegngjenkjennelse:
Alt i alt utgjør dette en rekke faktorer som vi kan forvente vil skape problemer for vår lille øvelse. Vi skal snart se nærmere på hvordan, men først en betraktning rundt datamengder og filstørrelser.
Det er ingen overaskelse at et utsnitt av vårt opprinnelige bilde konvertert til gråtonerutgjør en sterkt redusert datamengde - fra 833kB til 9kB. Det som derimot overasker oss er at filstørrelsen faktisk øker (fra 9kB til 16kB) når vi terskler bildet. Vi ville forvente at et bilde som er filtrert for all støy og som kun inneholder to gråtoner (0 og 255), ville, med JPEG's default settinger, bli mindre enn tilsvarende bilde før filtrering/terskling. En fornuftig forklaring på dette har vi ikke funnet. Vårt resultat er faktisk en kompresjonsrate på 0.56, altså en "negativ" kompresjon. Desto større motivasjon for automatisk tekstgjenkjenning. Et vellykkt utfall av digital tekstgjenkjenning vil kunne redusere vår datamengde til 8bit/chr x 21chrs (uten lf&cr) = 168bit = 21Bytes hvis resultatet lagres i UTF-8.
Vi åpnet derfor programmet Simple OCR for å gjenkjenne bokstavene digitalt. Simple OCR fungerer slik at det først forsøker å finne ut hvor mange objekter (bokstaver) som finnes i bildet. Deretter forsøker programmet å klassifisere hvert objekt, det vil si å gjenkjenne bokstavene som hvert objekt i bildet representerer. Resultatet fra denne prosessen vises i skjermbildet nedenfor:
Totalt lyktes Simple OCR med å kjenne igjen 3 bokstaver fra bildet, av totalt 19. Dette er en stor feilrate. Vi skal se nærmere på noen av årsakene til dette.Simple OCR fant 23 objekter i bildet vårt. Teksten i bildet var "JAN FREDRIK STOVELAND". Om vi ikke regner med mellomrom og linjeskift utgjør dette 19 tegn. Simple OCR fant derfor 4 flere objekter enn det egentlig skulle være i bildet. Årsaken til dette er at elementene i noen av bokstavene i bildet ikke er sammenhengende. Det kan vi for eksempel se på bokstaven "T", hvor den horisontale streken ikke henger sammen med den vertikale streken. Simple OCR kjenner derfor igjen dette som to objekter, istedenfor en. Dette problemet gjorde seg gjeldende på 5 av de 19 bokstavene i bildet.
Det neste problemet for Simple OCR var at noen av bokstavene i bildet henger sammen. Dette førte til at Simple OCR noen steder tolket to objekter som ett objekt. Dette kan vi for eksempel se i bokstavene "LA" i "STOVELAND". Programmet tolket disse to bokstavene som en "U". Et liknende tilfelle har vi i tolkningen av "DR" i "FREDRIK". Totalt omfattet dette problemet altså 4 bokstaver.
Det siste feilkilden for Simple OCR var rett og slett at programmet ikke klarte å kjenne igjen håndskriften enkelte steder. Dette kan vi se på bokstaven "J" i "JAN" eller i bokstaven "O" i "STOVELAND". Programmet tolket disse bokstavene som henholdsvis "Q" og "B". Totalt utgjorde dette problemet 7 tilfeller.
Om vi summerer opp antall feiltolkede bokstaver, står vi igjen med 3 bokstaver som programmet lyktes med å gjenkjennene. Dette gjelder bokstavene "A" i "JAN", "I" i "FREDRIK" og "S" i "STOVELAND". Vi hadde nok forventet at programmet skulle klare å kjenne igjen flere bokstaver enn dette, men vi har lært at dersom man ønsker en digital rekonstrusjon av håndskriften i et bilde må man enten skrive pent, eller bygge inn intelligens i programvaren slik at ulike håndskrifter kan læres.© 2003 - espesko&janfst