Høgskolen i Østfold Avdeling for informasjonsteknologi Fag IAD33505 Bildebehandling og mønstergjenkjenning Laboppgave nr 4 Optisk lesing av en lottokupong Sarpsborg 03.02.2005 01.02.05 Ny oppgave Log LMN Log, LMN Rev. Dato. Beskrivelse. Skrevet av Kontrollert Godkjent Fil : Skrevet ut av : i 03.02.2005 12:25 Antall sider : 6
Labkjøring: Alle gruppene må senest ha kjørt oppgaven i uke 6. Presentasjon og skriftlig innlevering etter gjennomført laboppgave. Dette er likt for alle laboppgavene med mindre annet er beskrevet særskilt i oppgaven. Presentasjonsdel: Straks etter at gruppen har gjennomført laben, skal gruppen gi en muntlig presentasjon, en slags miniforelesning (trening mot hovedprosjekt), av laboppgaven. Maks. 30 min. Gruppen avtaler tidspunkt og sted med faglærer. Alle i gruppen skal delta i presentasjonen! Alle bilder som gruppen har tatt, skal inngå i presentasjonen (se også skriftlig del). Alle spørsmål i oppgaveteksten skal besvares (se også skriftlig del). Følgende spørsmål skal også besvares under presentasjonen: Hvilke problemer møtte dere på underveis? Hvilke forbedringer, eventuelt ny løsningsstrategi, ville bli gjort dersom oppgaven skulle være løst på nytt? Oppgavens vanskelighetsgrad? (1 (lett) 5 (meget vanskelig)). Skriftlig del: Denne delen skal være en skriftlig labbesvarelse i kortversjon. Alle bilder tatt under labkjøringen skal inngå. Pass på at de kommer i kronologisk rekkefølge. Alle spørsmål i laboppgaveteksten skal besvares. Dersom gruppen har skrevet egne MatLabprogrammer, så skal de vedlegges. Til slutt skal rapporten inneholde en konklusjon som oppsummerer oppgaven: hva dere har lært, hvilke problemer oppsto underveis og hvilke forbedringer bør gjøres. Innføring i bildebehandling - HIØ side 2
Innledning. Oppgaven går ut på optisk å avlese informasjon fra en lottokupong i form av et skannet bilde. Formål. Benytte teknikker fra bildebehandling på en industiell applikasjon. Få innsikt i problemstillingene som oppstår ved å benytte digitale verktøy til innhenting av informasjon skrevet for hånd. Koble kunnskap fra flere, både mønstergjenkjenning, signalbehandling og bildegjenkjenning. Utstyr. Datamaskin med installert Mat Lab med toolboksene Image Processing Toolbox (IPC) og Signal Processing Toolbox (SPT). En eller flere ikke utfylte lottokuponger. Litteratur. Læreboka: Digital Image Processing using MatLab av Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins. Innføring i bildebehandling - HIØ side 3
Generelt om oppgaven Optisk innhenting av informasjon fra håndskrevne skjemaer, kuponger, etc. har etterhvert blitt mer vanlig for å raskere kunne systematisere informasjon, samtidig som rutinearbeid blir automatisert. Optiske system som benyttes til automatisk avlesning er avhengige av å være både robust og nøyaktige. Slike systemer bør også ha mulighet til å plukke ut enkelte skjemaer eller kuponger som er for dårlig utfylt i stedet for å avlese ukorrekt. I denne oppgaven skal vi benytte lottokupongen fra Norsk Tipping A/S. Denne kupongen er laget for å kunne avleses automatisk, slik at designet av mønstrene på kupongen ikke er tilfeldige. Figur 1 viser en tom, ikke utfylt lottokupong med de forskjellige feltene som skal avleses. Lottokupongen har fire typer felter som kan utfylles avhengig av hvordan den som spiller ønsker å fordele innsatsen sin. Spilleren skal utfylle minst én enkelt lottorekke med sju kryss for at kupongen skal være gyldig. Ukefeltet angir hvor mange uker kupongen skal gjelde for. Gangefeltet benyttes for å øke innsatsen på rekkene som er utfylt. Systemfeltet benyttes bare ved systemtipping, dvs. utfylling av mer enn sju tall, for å dobbeltkontrollere at antallet kryss er satt riktig. Basert på kryssene satt i disse tre feltene, bestemmes spillerens innsats, og lottorekker. For ordens skyld nevnes det at prisen for en enkelt lottorekke for tida er kr 3,-. Figur 1: En lottokupong med ukefelt, gangefelt, systemfelt og lottorekker Innføring i bildebehandling - HIØ side 4
Del 1 Innlesning og forprosessering Gjennomfør følgende skanningsprosess: Skann en kupong som fargebilde. Konverter bildet til gråtone og skaler den ned til en bestemt dimensjon (som gruppen selv bestemmer). Pass på at den hvite kanten rundt kupongen er skåret bort. Denne prosessen skal gjøres to ganger: Kryss av en lottorekke for hånd ved å bruke blå kulepenn, kall bildet lotto-enkel. Fyll så ut en kupong med flere rekker, ukeflet, systemfelt og gangefelt, kall bildet bilde-system. Begynn med å lese disse to bildene inn i MatLab. Vi skal så prøve å gjøre informasjonen i bildene lettere tilgjengelig, slik at vi lettere unngår feil avlesning. Prøv noen av filtrene dere kjenner til, og se om dere klarer å fremheve de håndskrevne kryssene fra bakgrunnen. Kommenter resultatene. Prøv deretter å terskle bildene på en smart måte, slik at kryssene blir fremhevet. Muligens må flere terskelnivåer benyttes. Fungerer en slik terskling bedre eller dårligere enn filtrene? Trenger bildene i det hele tatt noen form for forprosessering? Del 2 Avlesning av kupongen I hoveddelen av denne oppgaven skal dere selv lage en rutine som klarer å detektere kryssene på kupongen og fra denne detekteringen avlese lottorekken(e) og systeminformasjon om pris og systemtipping. Dette kan gjøres på flere måter, hvor to relativt enkle forslag beskrives kort nedenfor. Dere trenger ikke benytte noen av disse rutinene, de er kun ment som forslag. Sammenlikning med en kjent kupong En mulighet er å skanne en ikke utfylt kupong og dimensjonere den slik at den er lik de utfylte kupongene i størrelse og farge. Differansen mellom de to bildene, muligens med en etterfulgt terskling, vil kunne gi en brukbar deteksjon av kryssene. Bildematrisens koordinater vil deretter kunne benyttes til geografisk å plassere kryssene på kupongen, slik at informasjon om selve lottorekken og systeminformasjonen kan avleses i forhold til den kjente kupongen. Direkte avlesning En mer sofistikert metode vil være å ha inndelt på forhånd kupongen i områder ut fra matrisekoordinatene, slik at en algoritme vil kunne sjekke de forskjellige områdene direkte for avkrysning. For eksempel kan det letes spesifikt etter visse pikselverdier i et område hvor det er mulighet for en avkrysning. På denne måten vil deteksjonen muligens bli bedre enn den forrige metoden. Innføring i bildebehandling - HIØ side 5
Del 3 Systemtesting Til slutt må dere rapportere om systemet klarte korrekt avlesning av kupongene, og gjerne hvor lang tid dette tok (funksjonene tie og toe i MatLab). Prøv gjerne med andre kuponger for å teste systemets robusthet. Innføring i bildebehandling - HIØ side 6