P-sys H02-300 Hovedprosjekt



Like dokumenter
P-sys, parkeringssystem med automatisk skiltgjenkjenning

PROSJEKTBESKRIVELSE/PLAN PROSJEKT OR2-300

Dokument 1 - Sammendrag

HOVEDPROSJEKT HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Gruppe 43. Hoved-Prosjekt Forprosjekt

Testrapport Prosjekt nr Det Norske Veritas

Bachelorprosjekt 2015

Robot som 3D fres BACHELOROPPGAVE. Prosjektgruppe: FORPROSJEKTRAPPORT. Christian Marås Morten Sundsøy Svanhild Thomsen Lars Martin Gjeraker

Bachelorprosjekt i informasjonsteknologi, vår 2017

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

Innstallasjon og oppsett av Wordpress

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Jon Hammeren Nilsson, Anders Emil Rønning, Lars Grini og Erling Fjelstad

Del IV: Prosessdokumentasjon

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

PROSESSDOKUMENTASJON

Tema: Oversikt over ansatt, rom, datamaskin, skjerm, software, hardvare og tilkoblingsanlegg.

Møtereferater: HP36 uke 2, : Gruppemedlemmer: Christian Salater Magne Hjermann Zunaira Afzal Tola Sarzali Waleed Abtidon.

Høgskolen i Oslo og Akershus. Bachelorprosjekt Hacking Cristin. (midlertidig tittel) Forprosjektrapport

Introduksjon til programmering og programmeringsspråk

Produktrapport Gruppe 9

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Digitalisering av Sentralen UNG Gründer

Prosjektrapport Gruppenr FigureGame 3.0

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Forprosjektrapport. Høgskolen i Oslo Våren Dr.Klikk. Gruppe 25. Håkon Drange s Lars Hetland s127681

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Forprosjekt. Accenture Rune Waage,

Kravspesifikasjon MetaView

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Pillbox Punchline

Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon

DAGBOK. Patrick - Opprettet blogside for å kunne legge ut informasjon om hva som skjer underveis i prosjektet.

Forprosjektrapport. Hovedprosjekt Gruppe 15

STUDENTARBEID. Front-end webklient for Enoro AS. Prosjektbeskriving. Kim René Merkesvik Anders Aalen Andrii Petrychak

Forprosjektrapport. Hovedoppgave Gruppe B16E02. Fredrik Halstensen, John-Erik Wiik og Martin Lien Eia

Forprosjektrapport. Presentasjon. Sammendrag. Tittel Informasjonsplatform for NorgesGruppen

Presentasjon av bachelorprosjekt 2009/2010 for Morten Hegstad og Kim Lilleberg. Prosjektnummer 2E

Forprosjekt for Accentures Overvåkningssystem

Studentdrevet innovasjon

FORPROSJEKT RAPPORT PRESENTASJON

1. Forord 2. Leserveiledning

Forprosjekt. Høgskolen i Oslo, våren

Forprosjektrapport. Universelt LæringsVerktøy (ULV) Å lage en læringsplattform som tilfredsstiller alle krav til universell

Testsituasjon Resultat Kommentar. Fungerer som det skal!

Hurtigstartveiledning

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Forprosjektrapport. Feilsøkingsverktøy for Homebase AS INNHOLD

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Forprosjektrapport. Hovedprosjekt våren Gruppenr. H09E03. Bent-Henning Nesse Cheko Haji Abbasi Jon Espen Olsen

Forprosjektsrapport. Bachelor 08HBMEMA. Daniel Hakkebo, Mia Orderløkken og Kaja Premer 1/2/2011

Presentasjon 2 Gruppe 2 Oppgave 2 Oppdragsgiver 2. Sammendrag 3. Dagens situasjon 3 ServiceNow 3 Coop 3. Mål og rammebetingelser 3 Mål 3 Teknologier 4

Gruppelogg for hovedprosjekt 2009

KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress

Del VII: Kravspesifikasjon

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Argumenter fra kommandolinjen

Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren Camilla Kaasi(s188070) Roza Moustafa(s188113)

Forprosjektrapport. Presentasjon. Oslo, den 29. Januar Gorm Eirik Svendsen Nicolai Mellbye Marius Auerdahl Per Gustav Løwenborg

Fakultet for Teknologi

Forprosjektrapport Gruppe 30

Entobutikk 3.TESTRAPPORT VÅR 2011

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender

Dagbok. Januar. Uke 2 ( ) Uke 3 ( ) Uke 3 (17.01, 12:45-14:00)

Kravspesifikasjon. Utvikling av moduler til CMS for bonefish.no. Gruppe 08-23

1 Del I: Presentasjon

PROSJEKTBESKRIVELSE. Morten Ohren STUDENTNUMMER

FORPROSJEKT. Gruppemedlemmer: Raja Zulqurnine Ali Muddasar Hussain (Gruppeleder/Prosjektleder) Zain-Ul-Mubin Mushtaq Christopher Llanes Reyes

Kom i gang med programmering i Java

PRESENTASJON BACHELOROPPGAVE 14E

Arbeidsplan. Startfasen. Aktivitet Beskrivelse Ferdig Ansvarlig (Ressurser)

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Studieprogram for elektro- og datateknikk 7004 TRONDHEIM. Antall Sider/bilag: 17 / 8 Gruppedeltakere:

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

Installere JBuilder Foundation i Mandrake Linux 10.0

Forprosjekt bachelor-oppgave 2012

Dette dokumentet er en produktrapport for vårt avsluttende hovedprosjekt våren 2008 ved høgskolen i Oslo, for ingeniør - avdelingen.

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold,

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Testdokumentasjon. Testingen utføres for å utelukke mest mulig feil i systemet.

Forenklet tidtakersystem for trimløp og trening på Båstad kunstis

6 Kravspesifikasjon. 6.1 Presentasjon. Tittel Precision Teaching App for Android

S y s t e m d o k u m e n t a s j o n

Forprosjekt gruppe 13

Utvikling og testing av alternativ metode for henting og lagring av værdata fra målestasjoner uten å benytte en lokal logger

Hovedprosjekt Gruppe 27. Forprosjektrapport [GILJE AS] Lars Gjestang - Hiran Piapo - Bård Skeie

Pedagogisk regnskapssystem

Forprosjektrapport for Agresso R&D Ansettelsessystem Hovedprosjekt våren Skrevet av:

Generell brukerveiledning for Elevportalen

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,

Skriv ordbøker og litteratur på Tegnspråk med en nett-tjener i lommeformat! For ivrige Tegnskrift (SignWriting )- brukere!

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Prosjektplan Høgskolen i Gjøvik/ Aker Offshore Partner AS

INF130 Databehandling og analyse

Prosjektplan. Bachelor - Bygg Ingeniør våren 2014

- analyse og implementasjon

Installere JBuilder Foundation i Windows XP

Programvareoppdateringer Brukerhåndbok

Transkript:

P-sys H02-300 Hovedprosjekt Forprosjekt Avdeling for Ingeniør- og Naturfag H02-300 Hovedprosjekt vår 2014 Av Magnus Pihlstrøm Lars Magnus Kaasa Lars Fredrik Tvinde Øystein Berge

1.0 Referanseside TITTEL HO2-300 Hovedprosjekt RAPPORTNUMMER 1 DATO 17.02.14 PROSJEKTTITTEL P-sys TILGJENGELIGHET Åpen ANTALL SIDER 19 (uten vedlegg) FORFATTERE Magnus Pihlstrøm (prosjektleder) Lars Magnus Kaasa Lars Fredrik Tvinde Øystein Berge OPPDRAGSGIVER Førde lufthavn Bringeland STYRINGSGRUPPE Joar Sande (prosjektansvarlig) SAMMENDRAG Dette er et forprosjekt i faget HO2-300 Hovedprosjekt ved HiSF-AIN våren 2014. Prosjektet er et samarbeid med Førde lufthavn Bringeland. Oppdragsgivers spesifikasjoner er å erstatte det nåværende parkeringsavgiftsystemet med et nytt. Det nye systemet skal regne hver bruker sin parkeringstid, basert på innog utregistreringer. I denne rapporten drøfter vi hvordan vi kan løse oppdragsgivers spesifisering. Gruppen har kommet frem til en teknisk løsning. Vi skal videre i vår bygge opp programvaren og modell etter planen som blir laget, og begrunnet, i denne rapporten. EMNEORD Bildegjenkjenning, OCR, OpenCV, JavaCV, Wampserver, Xampp 2

2.0 Forord Forord er skrevet med bakgrunn fra Emneomtale HO2-300 Bacheloroppgave. I løpet av vårsemesteret 3. året ved automasjonslinjen på Høgskulen i Sogn og Fjordane (HiSF), skal studentene gjennomføre et prosjekt i forbindelse med faget HO2-300 Hovedprosjekt vår 2014. Prosjektet er et fordypningsemne som skal vere praktisk og/eller teoretisk, helst eit utviklings- eller utgreiingsprosjekt for industrien/næringslivet eller offentleg forvaltning. Det oppfordres til å finne et prosjekt selv, eller finne en oppdragsgiver. Vår oppdragsgiver er Kjell Otto Gjesdal ved Førde lufthavn Bringeland. Det er krav om at prosjektet skal innbefatte prosjektbeskrivelse, forprosjekt, midtveispresentasjon, plakat, pressemelding og muntlig presentasjon. Noe som omfatter planlegging, kostnadsoverslag, litteraturstudiar, prosjektering, konstruksjon, større målingar/undersøkingar og utvikling av eventuell prototype. Sluttvurdering blir gjort ut ifra dokumentasjon og kvalitetssikring av resultatet. Gruppen består av 4 personer som det er anslått skal bruke 500 timer hver. Gruppen består av: Magnus Pihlstrøm Prosjektleder Lars Magnus Kaasa Student Lars Fredrik Tvinde Student Øystein Berge Student Styringsgruppe: Joar Sande Prosjektansvarlig Førde, 17.02.2014 Magnus Pihlstrøm Lars Magnus Kaasa Lars Fredrik Tvinde Øystein Berge 3

3.0 Innholdsfortegnelse 1.0 Referanseside... 2 2.0 Forord... 3 3.0 Innholdsfortegnelse... 4 4.0 Fagterminologi og forkortelser... 6 5.0 Sammendrag... 7 6.0 Innledning... 8 7.0 Funksjonsbeskrivelse... 9 7.1 Ønsket funksjon... 9 7.2 Teknisk funksjon... 9 7.2.1 Ankomst og avgang... 9 7.2.2 Kunderegistrering... 10 7.3 Avvik... 10 8.0 Løsning på programvare... 10 8.1 Program for registrering... 10 8.1.1 Programalternativer... 10 8.1.2 Bibliotekalternativer... 11 8.2 Program for bildebehandling... 11 8.2.1 Ulike typer OCR... 12 8.2.2 Tesseract OCR... 13 8.3 Oppbygging av database... 13 8.3.1 Lagret database... 13 8.3.2 Registrering til database... 14 9.0 Konklusjon... 15 10.0 Framdriftsplan... 16 10.1 Tidsressurser... 16 10.2 Møteplan... 16 11.0 Budsjett... 16 12.0 Organisering... 17 12.1 Oppdragsgiver... 17 12.2 Styringsgruppen... 17 12.3 Prosjektgruppen... 17 13.0 Figurliste... 18 14.0 Bibliografi... 18 4

15.0 Vedlegg... 19 5

4.0 Fagterminologi og forkortelser HiSF HiSF-AIN SVV JAVA SWING Netbeans JavaCV CV (Computer Vision) OpenCV Bibliotek Algoritme Open source Wrapper Python C++ Database MySQL MySQL Lite php phpmyadmin Apache http server OCR (Optical Character Recognition) Høgskulen i Sogn og Fjordane Avdeling for Ingeniør og Naturfag ved Høgskulen i Sogn og Fjordane Statens vegvesen Programmeringsspråk og metode Grafisk verktøysett for JAVA Utviklingsverktøy for JAVA, php, C/C++ Grensesnitt til Java som gir mulighet til å bruke CV-bibliotek Algoritmer for at datamaskin skal oppnå visuell forståelse av ett eller flere bilder Bibliotek med metoder for bruk i JAVAprogrammering Samling av funksjoner og klasser Gjenbrukbar funksjonalitet for programmering Software hvor kildekoden er åpen til offentligheten Grensesnitt som muliggjør bruk av bibliotek på tvers av programmeringsspråk Høynivå programmeringsspråk Programmeringsspråk Strukturert samling av relaterte data Program for databasekonstruksjon php webapplikasjon for insetting og oppdatering av egen MysSQL-database Programmeringsspråk for webutvikling Gratis php-skrevet program for administrering av MySql-database http server med åpen kildekode, utviklet for Windows og Unix Program/bibliotek som brukes til tegngjenkjenning fra bilder 6

5.0 Sammendrag Dette er et prosjekt i faget HO2-300 Hovedprosjekt, som er en del av 6. semester i utdanningen ved HiSF-AIN våren 2014. Denne rapporten handler om et automatisert avgiftsystem for parkeringen ved Førde lufthavn Bringeland. Spesifikasjonene fra Førde lufthavn er at vi skal kunne lage et program som gjør det mulig å regne parkeringstid basert på inn- og utregistreringer, for så at kunde kan betale avgift i ettertid. Fordelene med dette er at kundene vil betale for den faktiske tiden, det er ikke mulig å snike seg unna parkeringsavgift og oppdragsgiver vil unngå klagehåndtering som følge av utskrevne bøter. I denne rapporten drøfter vi løsninger på oppdragsgivers ønsker. Vi ser på muligheter for registrering av inn- og utkjøring ved hjelp av bildebehandling. Vi ser også på muligheter for bruk av databaser for å kunne knytte registrerte biler mot riktig eier. I en rapport i forbindelse med faget OR2-300 Prosjektstyring med prosjekt høsten 2013, kom vi frem til at et slikt system ikke er mulig å montere ved oppdragsgivers parkeringsanlegg i løpet av vår studietid. I den rapporten så også på krav i henhold til lagring av personopplysninger. Vi ser på denne rapporten som en videreføring av rapporten fra høsten 2013 og vil derfor fokusere på å finne løsning på programvare. Vi har med denne rapporten en god plan til å lage en programvare. Vi skal senere i vår bygge en prototype for å kunne vise prinsippet på en god måte. 7

6.0 Innledning Dette er en forprosjektrapport for hovedprosjekt ved ingeniørutdanningen ved HiSF-AIN våren 2014. I forprosjektrapporten drøftes de muligheter det er for å gjennomføre hovedprosjektet. Prosjektgruppen består av Magnus Pihlstrøm, Lars Fredrik Tvinde, Øystein Berge og Lars Magnus Kaasa. Gruppen skal gjennomføre hovedprosjektet på oppdrag for Førde lufthavn Bringeland, med Kjell Otto Gjesdal som kontaktperson. Førde lufthavn vil ha et nytt system for å behandle parkeringsavgift. I dag er det en automat inne på terminalen der en må forhåndsbetale for parkeringsbillett, for så å legge denne i frontruten. Etter diskusjon om problemløsing mellom prosjektgruppen og Gjesdal, kom vi frem til en plan som er utgangspunktet for dette prosjektet. Vi vil lage et system som regner enkeltbilers parkeringstid, ved bruk av inn- og utregistreringer. Deretter regnes skyldig avgift, som betales på etterskudd. Det er en del hensyn som må tas i forbindelse med et slikt prosjekt. I rapport skrevet høsten 2013 i faget OR2-300 Prosjetstyring med prosjekt, konkluderte vi med at dette prosjektet er gjennomførbart ved hjelp av skiltgjenkjenning. Vi kom også frem til at det i løpet av vår studietid ikke er mulig å installere et slikt system, ved innkjøringen til Førde lufthavn. Problematikk som følge av Personopplysningsloven, som gir begrensinger til hvordan en programvare for registrering blir bygget opp, ble også kartlagt i rapporten fra høst 2013. Målet med denne rapporten er å finne en løsning for å kunne registrere kjøretøy, beregne parkeringstid og knytte kjøretøy opp mot en bruker. Ved hjelp av et program. 8

7.0 Funksjonsbeskrivelse Vi la en overordnet plan for hvordan systemet vårt skal fungere, før vi tenkte ut en mer detaljert virkemåte. 7.1 Ønsket funksjon Vi har diskutert hvordan vi lettest kan knytte en bil opp mot en bruker. Det som alle biler har felles, men som likevel er særegent, er registreringsnummer. Vi vil sammenligne registreringsnumrene mot en database med brukere. Skal vi kunne klare dette, må vi registrere bilene når de kjører inn på parkeringsplassen. For å kunne vite hvem som er parkert til hvert tidspunkt, må vi vite hvem som er knyttet til hver bil. Dette må gjøres ved hjelp av en database. Under arbeidet med en rapport vi skrev i faget OR2-300 Prosjektstyring med prosjekt høsten 2013, tok vi kontakt med Statens Vegvesen (SVV) og forhørte oss om tilgang til deres kjøretøysdatabase. I denne databasen ligger all informasjon som er knyttet opp mot en bil, inkludert eier. Eneste måte å få tilgang til denne databasen, er ved å kjøpe en CD med innholdet. Problemet med dette er at informasjonen på denne CDen kun er oppdatert den dagen vi kjøper den. Dvs at biler som bytter eier etter vi har kjøpt CDen, står fortsatt registrert med den gamle eieren [1]. Alternativet er å lage vår egen database. Dette kan vi gjøre ved at brukeren registrerer seg selv. 7.2 Teknisk funksjon For å kunne registrere parkeringstid, har vi laget en plan over hvordan opplevelsen skal være for kunde. Gruppen har diskutert hvordan vi ser for oss at systemet vårt til slutt vil fungere. Dette er den planen vi kommer til å jobbe mot. 7.2.1 Ankomst og avgang Ved ankomst til lufthavnen, skal bilen registreres ved hjelp av et kamera som tar bilde av bilen. Vi skal lage et program som leser registreringsnummeret og gir oss eier av bilen og tidspunkt for anomst. Når en forlater etter endt parkering, vil bilen igjen bli registrert på samme måte som ved ankomst. Programmet vårt vil regne ut parkeringstid og avgift som skal betales. Det vil dermed være klargjort for å skrive ut faktura. 9

7.2.2 Kunderegistrering For å kunne knytte den registrerte informasjonen, som beskrevet over, må vi som nevnt tidligere ha en database. Inne på terminalen vil det være plassert en skjerm med et enkelt brukergrensesnitt. Der kan brukeren registrere informasjonen som kreves. Har brukeren registrert seg en gang tidligere, er det ikke nødvendig å gjøre noe. 7.3 Avvik Enkelte ganger kan det være svikt i registreringssystemet. Dette kan blant annet være pga vær, ved f.eks snø på registreringsskiltet, eller ved at skiltene er så skitne at det ikke er mulig å lese nummeret. Ved slike situasjoner, vil det fortsatt kunne være mulig å fylle inn informasjonen manuelt. En databehandler vil også ha tilgang til databasen og kan endre denne hvis det skulle oppstå feil. 8.0 Løsning på programvare Her drøfter vi mulighetene vi har når vi skal løse oppgavene beskrevet i 7.0 Funksjonsbeskrivelse. 8.1 Program for registrering Når en bil skal registreres ved inn- og utkjøring, har vi kommet frem til at vi skal ta bilde av bilene som passerer, for så å behandle bildet. 8.1.1 Programalternativer Vi har sett på program som Netbeans og Python. Når vi har valgt program, er det også viktig å tenke på hvilke biblioteker vi har tilgang til. Java er et programmeringsspråk vi har lært å bruke gjennom fag på skolen, ved bruk av Netbeans. Det at dette er et program vi kjenner fra før, gjør at det kan være en fordel å velge dette for å gjennomføre prosjektet. Det andre programmet vi har sett på, er Python. Python er et programmeringsspråk vi ikke har noe erfaring med. Det, sammen med at Python ikke er objektorientert, gjør at vi kommer til å fortsette med Netbeans som utgangspunkt [2]. Objektorientert programmering er en form for programmering med pakker. Dette gjør at en kan lage metoder, små programpakker, som en kan peke til og bruke senere i programmet [3]. Med dette blir programmet vårt mer oversiktlig og kompakt. 10

8.1.2 Bibliotekalternativer Etter undersøkelser og drøfting, har vi kommet frem til at OpenCV er et åpent bibliotek som brukes, både faglig og kommersielt, til bildebehandling. CV står for Computer Vision og er et fellesnavn for programmer som tillegner, prosesserer, analyserer og forstår bilder. OpenCV er en åpen kildekode innenfor denne kategorien. OpenCV er skrevet i C++, men har også grensesnitt for bruk i Java og Python [4]. Skal en bruke OpenCV i Java Netbeans, må en bruke det gjennom JavaCV. JavaCV er det som kalles en wrapper. Dette gjør at det er mulig å overføre metoder og kommandoer fra OpenCV til Java-biblioteket [5]. Med dette finner vi området som skal bildebehandles. Det klipper ut registreringsskiltet før det sendes videre til neste fase. 8.2 Program for bildebehandling For å ha mulighet til å hente ut og lese bokstavene som er i området Java-programmet vårt finner, må vi ha enda et program. Dette kan gjøres via OCR (Optical Character Recognintion). OCR-funksjonen er et bibliotek som inneholder algoritmer for tegngjenkjenning fra bilde, men det finnes også ferdige program som figur 8.1 viser. Disse er ofte brukt til å konvertere tekst fra et skannet dokument, slik at det kan redigeres i et tekstbehandlingsprogram, som for eksempel Word. Figur 8.1 Eksempel på program med OCR. Til venstre er det en PDF-fil som blir avlest, og til høyre er teksten skrevet inn i et Word-dokument. 11

8.2.1 Ulike typer OCR Det finnes i hovedsak to ulike typer prinsipp for OCR. Matrix matching og Feature extraction. Matrix matching baserer seg på å sammenligne hvert tegn sitt mønster med en mal. Det som er negativt med Matrix matching, er at teksttypen til det leste tegnet må være identisk med teksttypen i malen (se eksempel i figur 8.2). Det vil si; skal en lese en tekst skrevet i Times New Roman, må også malen være i Times New Roman. Figur 8.2 Eksempel Matrix matching. Der hvor tegntypen vi har tatt bildet av (Times New Roman) finnes som mal, får vi riktig resultat. Der hvor bildet er av en bokstav i Calibri, som ikke er en del av malen, får vi ikke noe resultat. Feature extraction er kanskje den mest brukte typen. Her prøver algoritmen å ignorere de mest variable delene i et tegn. Et eksempel, som vist i figur 8.3, er bokstaven H. Den består alltid av to parallelle linjer vertikalt og en linje horisontalt. I algoritmen vil den se etter likheter med det i malen, istedenfor at det skal være helt identisk [6]. Figur 8.3 Eksempel med Feature extraction. Programmet finner de to vertikale linjene og ser dermed likheten til bokstaven H. Dermed får vi i resultat med begge skrifttyper. Fordelen med feature extraction er at den vil fungere på flere skrifttyper ettersom algoritmen er mindre kresen småforskjeller. Ettersom registreringsnummer på bil er skrevet i flere skrifttyper [7], vil den sistnevnte algoritmen passe best for vårt formål. 12

8.2.2 Tesseract OCR Tesseract OCR er en tegngjenkjenningsmotor som ble utviklet av Hewlett Packard (HP) mellom 1985 og 1995. I senere tid ble teknologien kjøpt opp av Google, som forbedret koden, og la den ut som Open Source. Tesseract OCR regnes som den mest nøyaktige tegngjenkjenningsmotoren blant dem som er gratis [8]. Algoritmene brukt i Tesseract har etter hvert blitt veldig avanserte. Opprinnelig er koden skrevet i c/c++, men det finnes også en wrapper for Java. Denne wrapperen er kalt Tess4J [9]. Tesseract OCR blir jevnlig oppdatert. Det at godt etablerte selskaper og systemer, slik som Google, bruker dette [10], er et godt tegn. 8.3 Oppbygging av database For å finne en god løsning på hvordan databasedelen skal løses, har vi brukt tid på undersøkelse av mulige løsninger. Vi fant flere databaseprogrammer som kan gi oss den funksjonaliteten vi trenger, men bestemte oss for å undersøke innenfor for det vi har mest kunnskaper om fra før. Vi prøvde oss frem med programmer som Wampserver, Netbeans, MySQL workbench, Xampp, Notepad++ og Codelobster. Vi fokuserer i den videre drøftingen på det som er mest relevant. 8.3.1 Lagret database Planen var i første omgang å bare bruke MySQL workbench sammen med Java Netbeans, men vi ville sjekke om vi kunne finne en enklere løsning. Vi prøvde Xampp som er et open source program som inneholder Apache HTTP Server og MySQL database. Xampp tolker koding skrevet i PHP og Perl programmeringsspråk [11]. Samtidig som dette testet vi Wampserver, også det et open source program. Forskjellen på Xampp og Wampserver er ikke så store. De har stort sett de samme funksjonene, men litt ulike utforminger. Vi ble anbefalt av vår lærer Marcin Fojcik å bruke Wampserver. I følge han var Wampserver enklest å ta i bruk. Vi ville bruke den delen av Wampserver som heter PhpMyAdmin. PhpMyAdmin er et databaseprogram som inneholder MySQL lite.det er laget for å kunne administrere MySQLdatabasen ved bruk av en web-browser [12]. 13

8.3.2 Registrering til database Wampserver er et «alt-i-ett»-program. Derfor ville vi også bruke dette til ikke bare lagring, men også inntasting av informasjon. Ved hjelp av Apache HTTP Server kan vi lage et brukergrensesnitt. Siden denne delen av Wampserver bruker PHP-koding, noe vi ikke har hatt før, ble dette vanskeligere enn først antatt. Ved å bruke Java Netbeans, kan vi lage et SWING-program, det som brukeren skal registrere seg via. Java Netbeans har vi allerede kunnskap om og det blir derfor lettere å programmere brukergrensesnittet her, for så å koble opp mot databasen i PhpMyAdmin. 14

9.0 Konklusjon I løpet av forprosjektperioden har vi kommet frem til en god løsning for å kunne lage et program som oppnår oppdragsgivers spesifikasjoner. Ved å ta bilde av bilene ved inn- og utkjøring, og behandle disse bildene, finner vi ut hvor lenge bilene har vært parkert. Vi bruker Java til å finne feltet, registreringsskiltet, som skal tydes. Til dette bruker vi biblioteket til OpenCV. Selve lesingen gjøres med TesseractOCR med feature extractionmetoden. Databasen konstrueres i PhpMyAdmin som vi finner i Wampserver. Swing-programmet for innskriving til databasen, lager vi i i Netbeans. Hele programmet i sin helhet samles i en modell, som blir et grunnlag for Førde lufthavns videre søknadsprosess om et automatisk anlegg. Mål for videre arbeid blir å lage et program for bildegjenkjenning som kan knytte bil mot eier og registrere brukt parkeringstid. 15

10.0 Framdriftsplan Vi bruker programmet Merlin, lignende MS Project, for å planlegge vår fremdrift (se vedlegg 1). Fremdriften for gruppen kan følges på vår hjemmeside http://studprosjekt.hisf.no/~14psys. 10.1 Tidsressurser I emneomtalen for H02-300 Bachelor vår 2014, står det at det er forventet et timeantall på 500 timer pr. student. Vi har en plan om å jobbe fra 0830 til 1400 hver ukedag (vedlegg 2) og på den måten holde en kontinuerlig fremdrift og forhindre at unødvendig tidsnød på slutten av prosjekttiden skal ødelegge for vår måloppnåelse. Noen dager kan være unntak fra vår ordinære plan, dette pga kurs, jobbintervju, sportsarrangementer osv. Gruppen har samlet sett tre forskjellige valgfag. De timene noen av oss har valgfag, vil de andre jobbe med prosjektet. 10.2 Møteplan Prosjektgruppen treffes hver ukedag. I tillegg er det planlagt internt statusmøte hver tirsdag kl 09.00. Det vil også bli satt opp møter mellom prosjektgruppen og styringsgruppen, og prosjektgruppen og oppdragsgiver ved oppnåelse, eventuelt i forkant, av noen milepæler. Vi har også laget en gruppe på Facebook, slik at vi kan opprettholde kontakten hvis vi ikke skal jobbe på skolen, eller det er noen beskjeder som må ut. 11.0 Budsjett Utgiftene til dette prosjektet er små. Vi har budsjettert kostnadene på bygging av en modell. Totale utgifter er kr 4750. Dette klarer vi å dekke ved at skolen støtter med kr 1500, oppdragsgiver støtter med kr 2800 og vi har tilgang til noe materiell gratis, som vi ellers måtte betalt for. Detaljert informasjon finner en i vedlegg 4. 16

12.0 Organisering Figur 12.1 Organisasjonskart 12.1 Oppdragsgiver Oppdragsgiveren vår er Førde lufthavn Bringeland ved Kjell Otto Gjesdal. Førde lufthavn er en regional flyplass i Gaular kommune. Flyplassen har 87 000 besøkende i året og gjennomsnittlig syv avganger pr. dag. Førde lufthavn har i dag 35 ansatte. 17 fra Avinor, 9 fra Widerøe og 9 fra Securitas. 12.2 Styringsgruppen Styringsgruppen har det overordnede ansvaret under prosjektperioden. Den består av Joar Sande som er ansatt ved HiSF. 12.3 Prosjektgruppen Prosjektgruppen består av avgangsstudenter ved HiSF. Medlemmene har forskjellig erfaring fra både arbeidslivet og drift av en organisasjon. 17

13.0 Figurliste Figur 8.1 Eksempel på program med OCR. 11 Figur 8.2 Eksempel Matrix matching. 12 Figur 8.3 Eksempel med Feature extraction. 12 Figur 12.1 Organisasjonskart 17 14.0 Bibliografi [1] M. Knoff og J.-A. Saarnak, Interviewees, Bachelorprosjekt 2013/14. [Intervju]. 31 oktober 2013. [2] Python TM, «Python about,» Python TM, [Internett]. Available: http://www.python.org/about/. [Funnet 13. februar 2014]. [3] A. Brunland, K. Hegna, O. C. Lingjærde og A. Maus, «Innføring i objektorientert programmering,» i Rett på Java, Oslo, Universitetsforlaget, 2011, p. 143. [4] itseez, «OpenCV About,» OpenCV, [Internett]. Available: http://opencv.org/about.html. [Funnet 13. februar 2014]. [5] S. Audet, «JavaCV,» [Internett]. Available: https://code.google.com/p/javacv/. [Funnet 13. februar 2014]. [6] OCRWizard, «How OCR Software Works,» OCRWizard, 2011. [Internett]. Available: http://ocrwizard.com/ocr-software/how-ocr-software-works.html. [Funnet 13. februar 2014]. [7] T. Eng, «Uryddig vei til nye bilnummerskilt,» Typografi i Norge, [Internett]. Available: http://www.typografi.org/bilskilt/bilskilt.html. [Funnet 13. februar 2014]. [8] Ubuntu, «OCR - Optical Character Recognition,» Ubuntu, 2013. [Internett]. Available: https://help.ubuntu.com/community/ocr. [Funnet 13. februar 2014]. [9] Sourceforge.net, «Tess4J,» Sourceforge.net, [Internett]. Available: http://tess4j.sourceforge.net/. [Funnet 13. februar 2014]. [10] R. Smith, «An Overview of the Tesseract OCR Engine,» Google Inc.. [11] Apache Friends, «XAMPP Apache + MySQL + PHP + Perl,» Apache Friends, [Internett]. Available: http://www.apachefriends.org/index.html. [Funnet 13. februar 2014]. [12] «Start with Wampserver,» Wampserver, [Internett]. Available: http://www.wampserver.com/en/. [Funnet 13. februar 2014]. 18

15.0 Vedlegg 1. Gantt-skjema 2. Timeplan P-sys 3. Rapport OR2-300 Prosjektstyring med prosjekt høst 2013. P-sys 4. Budsjett 5. Milepæler 6. Risikovurdering 19