People Counter av Christian K Haraldseid, Mikal Svendsen

Størrelse: px
Begynne med side:

Download "People Counter av Christian K Haraldseid, Mikal Svendsen"

Transkript

1 People Counter av Christian K Haraldseid, Mikal Svendsen Prosjektrapport i DAT 215, 6 semester - våren Fakultet for teknologi og realfag Universitetet i Agder Grimstad, Juni 2015 Status: Endelig Nøkkelord: OpenCV, Android, Kamera, Kundetelling, Persontelling. Resymé: I anledning vår (forfattere) sin bachelor oppgave ble det etterspurt en løsning for telling av personer / kunder som kunne integreres bacheloroppgaven. Systemet skal kunne oppdage og telle personer inn og ut av et område ved hjelp av et kamera. I oppgaven er OpenCV brukt som et bibliotek for manipulasjon og tyding av bilder. Løsningen består av en Android-enhet med kamera som teller personer inn og ut av et område. Konfigurasjon av enheten gjøres via et webgrensesnitt og statistikk og data sendes til server for videre håndtering.

2 PeopleCounter DAT215 VÅR 2015 Forord Prosjektet er basert på et problem stilt av oppgave eier av bacheloroppgaven som forfatterne utførte våren (se vedlegg) Produktet er ment som et ekstra system som lett skal kunne integreres med løsningen som er presentert nevnt rapport. Kort oppsummert går nevnte oppgave ut på å lage et Infotainment system til bruk i buss, dette systemet skal vise informasjon til passasjerene på en større TV-skjerm montert i bussen. Passasjerer kan så presenteres for ruteinformasjon, reklame, nyheter med mer. Enheten som står for presentasjonen er naturlig nok koblet opp mot internett, dette gir da muligheten for å integrere et statistikk system som en personeller. Det er het denne delen av løsningen kommer inn som et separat prosjekt. Prosjektet er utført under faget DAT215 ved Universitet I Agder våren Bacheloroppgaven er utlyst av problemeier Red Rock A/S, der dette er et underprosjekt til den større bacheloroppgaven. Arbeid og testing er utført hjemme hos studentene, og ved Universitet I Agder.. Grimstad 04. Juni Christian K Haraldseid Mikal Svendsen II

3 PeopleCounter DAT215 VÅR 2015 Innhold 1 Innledning Bakgrunn Problemdefinisjon Forutsetninger og begrensninger Problemløsning Verktøy Rapportstrukturen Teknisk bakgrunn Persontelling ved hjelp av video Virkemåte Android Grunnprinsipper Kamera Google GCM Nodejs ExpressJS EJS GCM-Node OpenCV Løsningsforslag Applikasjon Server Løsning Applikasjon Server Diskusjon Konklusjon Bibliografi Vedlegg III

4 --Side 4 --

5 1 Innledning Prosjektet ble i Januar 2015 tildelt undertegnede studenter av Red Rock A/S. Målet med prosjektet var å utvide den planlagte Infotainment-løsningen med en person-teller, som skulle være billig og effektiv. Målet var å utforske om det er mulig å lage en slik løsning ved hjelp av hardware som allerede var tiltenkt Infotainment målet. Altså lav-kostnads fastvare, og telling ved hjelp av et kamera. På grunn av at system skulle være vedlikeholdsfritt kreves det også muligheter for å konfigurere løsningen fra andre lokasjoner. Resultatet er tilsiktet å være en applikasjon som ved hjelp av et kamera kan telle personer inn og ut av et område. Dette betyr at bilder fra kameraet må prosesseres, og mennesker må identifiseres. Det må så finnes en måte å vurdere hvilken vei personene på bildet går, samtidig som statistikk skal sendes til en server. Bakgrunnen for prosjektet var å utforske mulighetene ved å benytte billig fastvare, dette for å gi kundene en rimeligere pakkeløsning, som igjen hjelper oppdragsgiver inn i markedet. Eksisterende løsninger er gjerne dyre, og persontellere er ofte høyt prises og kommer i et stort antall forskjellige varianter. --Side 5 --

6 1.1 Bakgrunn Det finnes utallige løsninger innen persontelling og teknologiene som blir brukt er mange. Et knippe produkter som er populære er lasere, varmekamera, kamera og ir-sensorer. Virkemåten på de forskjellige produktene er forskjellige, og er veldig opp til teknologien som er brukt. Utfra studiene som ble gjort i begynnelsen av prosjektet kom en fram til at IR-teller og kamera-tellere var populære produkter. Lase-tellere er også mye brukt, men prisen her er høyere. Dog er kvaliteten på resultatene også høyere. En må også tenke på hvor løsningen skal plasseres for å finne riktig teknologi for formålet. En IR-teller fungerer slik at den teller hver gang IR-strålen blir brutt. Problemet med dette er at strålen fungerer dårlig når flere personer går gjennom strålen samtidig. Ved bruk at IR må også to separate stråler benyttes for at en kan vite hvilken vei personen går. [1] En annen teknologi som brukes er kamera-telling. Teknologien benytter som regel en kamera-feed som er koblet til en datamaskin. Datamaskinen prosesserer så strømmen med bilder og prøver å skille ut mennesker som går gjennom. Et slikt kamera er ofte montert i taket, og bruker to ulike linjer for å måle hvilken vei personen beve ger seg. Figur 1 Illustrasjon av linjer som bestemmer retning. [2] Bildet over illustrere den beskrevne virkemåten, kameraet oppdager personene som skal telles, basert på hvilke linjer som blir krysset først kan en vite hvilken vei personen beveger seg. Løsningene som er tilgjengelige i dag finnes i mange varianter. Flere selskaper spesialiserer seg innen teknologien og har brukt masse penger og ressurser på å utvikle nøyaktige algoritmer som er treffsikre og gode på å telle. Et eksempel er «Box & Value» et Amerikansk selskap som monterer løsninger fra flere store leverandører som «IQinVision», «Lilin» og «Milstone». Selskapet skriver på sine sider at de kan garantere en tellingsprosent (for videoløsninger) på opp mot 98% av alle personer som passerer. [3] Med andre ord er teknologien svært utbredt, moden og utviklet. --Side 6 --

7 1.2 Problemdefinisjon Prosjektet skal utvikles på en svakere type enhet, fra bunn. I utforskningsfasen av prosjektet er det ikke funnet et rammeverk som spesialiserer seg på telling av mennesker. Dette betyr at mye av løsningen må utvikles fra bunn. Mål Mål Prioritet Vanskelighetsgrad Finne en plattform å utvikle mot. Høy Moderat Finne et rammeverk for behandling og Høy Moderat prosessering av bildedata. Implementere metoder for å oppdage objekter. Høy Utfordrende Oppdage bevegende objekter Høy Utfordrende Bestemme retning på objektene Høy Moderat Telle objekter som er passert i ulike retninger Høy Moderat Implementere innstillinger for justering av Middels Moderat applikasjonen for ulike områder. Rapportering av data til ekstern server Middels Enkel Juster innstillinger fra eksternt grensesnitt Lav Moderat 1.3 Forutsetninger og begrensninger Det er ikke poenget i dette prosjektet å slå / eller prøve å matche prosentene som eksisterende full-skala systemer kan oppnå på 98%. Målet med dette prosjektet er å utforske hva som er mulig å få til med fastvaren som er tilgjengelig. I vårt tilfelle er dette lav-kostnads enheter som kjører lettere operativsystemer. Med andre ord siktes prosjekt inn på som en studie i hva som kan utrettes på et semester ved hjelp av teknologien slik den er i dag. --Side 7 --

8 1.4 Problemløsning Første delen av prosjektet tar sikte på å velge teknologi som skal nyttes for å utvikle en løsning. Dette blir forprosjekt perioden som handler om å utforske teknologien som allerede eksisterer. Når deltagerne får en grei innsikt i metoder og prinsipper skal det utformes et løsningsforslag som så skal prøves å settes sammen til et produkt. Målet med prosjekter er å utforske mulighetene en får ved å benytte mindre kostbare enheter som en totalløsningen innen person-telling. Viktig spørsmål som håpes besvart i prosjektperioden er blant annet: - Kan en utvikle en løsning som kan kjøre på nevnt fastvare og fremdeles klare å prosessere all dataen fra kameraet? - Fungerer løsningen tilfredsstillende, og hvordan er resultatet sett opp mot eksisterende systemer? - Kunne systemet fungert i en buss, med forholdene som finnes der? 1.5 Verktøy Under utviklingen ble det benyttet ulike verktøy. Nedenfor finnes den en liste som beskriver alle programmene som ble brukt for å utvikle produktet. Navn Bruksområde Microsoft Office Word Rapportskriving Microsoft Office Visio Figurer og diagrammer Microsoft Office Excel Grafer Android Studio (IntelliJ) Utvikling IDE for Java og Android Git Versjonskontroll IRC Samhandling og koordinering Skype Samhandling og koordinering Brackets Tekstbehandling / utvikling av HTML, CSS, JS. Sublime Text Tekstbehandling / utvikling av HTML, CSS, JS. KiTTY SSH tilgang til webserver. WinSCP SSH overføring av filer via SCP. VmWare ESXi Virtualisering av webserver VmWare vsphere Client Håndtering av virtuelle servere Asus Nexus 7 Nettbrett, til utvikling og testing StackOverflow Nettsted for tekniske spørsmål Photoshop CS6 Editering av bilder og grafikk ClickCharts NHC Flytskjema --Side 8 --

9 1.6 Rapportstrukturen Rapporten har en logisk oppbygning. - Kapittel 1 omhandler prosjektet, og målet bak oppgaven. 1 - Kapittel 2 tar for seg teknologien og forklaringen rundt de større elementene som nyttes i prosjektet. Grunnen til at kapittel to er et teknisk kapittel er for å gi leseren en bedre forståelse av systemet som blir presentert i løsningsforslaget og løsningen. - Kapittel 3 er vårt løsningsforslag, dette illustrerer vår tiltenkte løsning før produktet ble utviklet. - Kapittel 4 er vår løsning, dette kapittelet tar for seg hvordan løsningen ble laget og implementert. - Kapittel 5 er et diskusjonskapittel, her diskuteres resultatene. - Kapittel 6 Konklusjon. --Side 9 --

10 2 Teknisk bakgrunn I dette kapittelet skal en se nærmere på teknologiene som skal brukes videre i prosjektet, slik at leseren får en forståelse for de ulike hjelpemidlene som er benyttet under utviklingen. 2.1 Persontelling ved hjelp av video Virkemåte Telling ved hjelp av videokamera er en av de mest utbredte måtene og telle personer på. Mange gode algoritmer er utviklet for formålet, og resultatene er ofte gode. I de fleste tilfeller bygges løsningen inn i en felles enhet, på denne måten minimeres behovet for infrastruktur rundt enheten, da det bare er talldata som sendes videre over nettverket. Hovedprinsippet, eller metoden som er mest brukt et bakgrunns-subtraksjon. Denne måten å behandle et bilde på innebærer og sammenligne de ulike bildene fra en strøm av bilder. Ved å trekke resultatet fra de to bildene sitter en igjen med forandringene i bildet (altså hva som er beveget seg) siden forrige bilde. Vegger og tak står som oftest i ro, og derfor er det meget sannsynlig at objektet som har kommet inn i bildet er et menneske (selvfølgelig avhengig av lokasjon på kamera). [4] Dette kan i tillegg settes sammen med algoritmer som bruker statistikk og andre variabler for å få et mer presist resultat. Kort forklart kan en fremgangsmåte være følgende: - Hent inn to bilder fra en videostrøm. - Konverter bildene til gråtoner (farger ikke nødvendig, og det minimerer prosesseringstiden) - Trekk bildene fra hverandre for å få forskjellen på de to bildene. - Bruk forskjellen til å oppdage om det er bevegelse i bildet. - Kombiner overforstående med en egen teknikk for å bestemme retning, størrelse, validitet og så videre. Den viktigste delen av prosesseringen er substruksjonen av to bilder fra strømmen. Metoden lager en maske av objektene som differer på de to ulike bildene. Bildet under illustrerer forskjellen vi får av bildene til høyre, vi har nå en kontur av objektet som er interessant, en kan da bruke videre logikk for å bestemme hvordan en skal behandle objektet. Figur 2 Eksempel på to ulike bilder som er trukker fra hverandre. [5] --Side 10 --

11 2.2 Android Kapittelet tar sikte på å innføre leseren i en forenklet forklaring av Android som utviklingsplattform. Kapittelet forklarer også noen av hovedprinsippene / teknologiene som er brukt under utviklingen. Utviklingen av prosjektet skal skje med Java / Android som plattform. Android er et operativsystem utviklet av Google og er den største mobile plattformen på markedet. Operativsystemet er bygget på toppen av Linux, det har derfor en Linux-kjerne. På toppen av dette kommer Androidrammeverket som gir utviklere tilgang til et omfattende sett av verktøy og funksjoner til utvikling. Fordelen med systemet er at det er godt dokumentert, er optimalisert og åpent samtidig som det er gratis i bruk. (Teksten er hentet fra vedlegg 1) Grunnprinsipper En applikasjon utviklet for Android består i sin minste form av en layout og en «Activity». Videre i rapporten oversetter en engelske betegnelser til en tilsvarende norske ord. «Activity» blir derfor aktivitet videre i rapporten. Aktivitet-klasser interagerer med brukeren, derfor tar denne klassen seg av å lage vinduer og andre visuelle ting som trengs for å vise brukeren layouten som er den andre separate tingen som trengs for en enkel applikasjon. Layouten definerer den visuelle strukturen til et brukergrensesnitt. Android har mange innebygde UI-komponenter som fritt kan benyttes. (Teksten er hentet fra vedlegg 1) Kamera En annen fordel med Android er den tette integrasjonen med kameraet. De fleste mobiltelefoner har i dag et kamera, Android plattformen støtter også tilkobling av eksterne kameraer, noe som gjør det mulig å utvikle en person-teller for «ikke-mobil-enheter» som også kjører operativsystemet. Android har flere innebygde funksjoner for interaksjon med kamera, dette gjør jobben i prosjektet lettere da mange av basiskomponentene ikke behøves å utvikles. Blant annet finnes det et «kamera-view» som er en komponent som presenterer bildestrømmen fra kameraet til brukeren. Denne komponenten er fin å bruke til visualisering av resultatet, på denne måten kan brukeren se hva applikasjonen tolker og gjør. En annen fin funksjon som er innebygget i Android er muligheten for å behandle enkeltbilder fra bildestrømmen, dette betyr i praksis at all funksjonalitet for å gjøre bildene klare til behandling eksisterer i systemet. En klasse kan abonnere på bilder fra bildestrømmen, systemet mater da automatisk alle nye bilder inn til riktig klasse for behandling. [6] Google GCM Google GCM eller «Google Cloud Messaging» er et verktøy som hjelper utviklere å kommunisere med enheter som kjører Android. Systemet er innebygget i Android og holder kontroll på enheter som hører til en GCM «gruppe». Systemet lar en server sende informasjon til alle enhetene i gruppen, uten at utvikleren trenger å holde kontroll på IP-adresser og leveringsforsøk. Systemet leverer automatisk alle beskjeder til riktig enhet basert på en adresse generert av Google første gang enheten registrerer seg i en valgt gruppe. Etter dette kan en sende beskjeder fra server til enheten uten å tenke på selve leveringen. [7] 2.3 Nodejs NodeJS er en åpen-kildekode løsning som leverer en plattform uavhengig utviklingsløsning for server og nettverksapplikasjoner som kan skrives i JavaScript. Node har en handlingsdrevet arkitektur som er ikke-blokkerende, noe som øker skalerbare og effektivitet. NodeJS brukes ofte til sanntids web-applikasjoner. [8] ExpressJS NodeJS bruker som mange andre språk biblioteker / pakker for å gjøre arbeidet enklere for utviklere. En av disse pakkene er ExpressJS. ExpressJS er et lettvekts web-rammeverk som kan --Side 11 --

12 hjelpe utviklere å organisere web-applikasjoner skrevet for NodeJS ved hjelp av JavaScript. ExpressJS er et MVC drevet rammeverk som betyr at logikk, design, og data er skilt fra hverandre på serveren, men presenteres som en helhet til brukeren. ExpressJS gir utvikleren gode verktøy og hjelpemidler for å raskt lage web-applikasjoner. [9] EJS EJS eller Embedded JavaScript er en mal-løsning for bruk ved utvikling av HTML til webapplikasjoner. Syntaksen i seg selv er HTML, men du får også muligheten til å implementere JavaScript i malen som presenteres til brukeren. Dette gjør det lettere å tilby brukeren dynamiske sider. Ikke overraskende er også EJS en mal-teknologi som støttes av ExpressJS. [10] GCM-Node GCM-node er en annen modul som kan legges til i NodeJS applikasjonen. Dette er en modul so forenkler arbeidet med å sende meldinger fra serveren via Google GCM til Android-enheten. 2.4 OpenCV OpenCV er et bibliotek av programmeringsfunksjoner siktet mot sanntids-bildehåndtering. Verktøyet er utvikler av Intel Russia, og er gratis under BSD-lisensen. OpenCV er skrevet primært for bruk ved C++, men det finnes mange «wrappers» som gjør det mulig å bruke biblioteket i andre programmeringsspråk som Phyton og Java. [11] --Side 12 --

13 3 Løsningsforslag 3.1 Applikasjon Det ble bestemt av applikasjonen skulle utvikles for Android plattformen. Dette fordi det eksisterende bachelor prosjektet var opprettet ved hjelp av Android, samtidig som Android innehar flere gode funksjoner for interaksjon med kamera. Samtidig som dette var innafor kriteriene som ble stilt i oppgavebeskrivelsen. Mindre kostbare enheter, som igjen måtte bety att større operativsystemer som Windows må vike. Til bildebehandling skal OpenCV benyttes da dette biblioteket innehar mange viktige funksjoner for manipulasjon og prosessering av bildedata. Dette betyr at utviklerne slipper å sette sammen egne algoritmer for de mest basiske funksjonene. Som fratrekking av to ulike bilder for å finne differansen. Det fantes liste informasjon på internett rundt problemet, og alle større selskaper som hadde sofistikerte algoritmer holdt selvfølgelig nevnte algoritmer hemmelig. Dette betød at deltagerne selv måtte sette sammen et produkt utfra verktøyene som var tilgjengelig å prøve å få til et produkt som kunne tilby tilfredsstillende resultater. I grove trekk skulle applikasjonen bestå av følgende komponenter: En layout som kunne vise brukeren hva kameraet behandler, og hvordan det ble behandler. En ønsket markering av objekter som skulle følges gjennom bildet, slik at en kunne tolke hva algoritmen gjorde, og om det fungerte. Figur 3 Mockup av brukerlayout. Figuren over illustrerer visjonen, som viser et objekt på vei mellom to streker som bestemmer retning, objektet skal markeres med røde streker som illustrerer hvor algoritmen oppfatter objektet beveger seg. I tillegg måtte applikasjonen ha en underliggende algoritme som behandlet bildedata og kalkulerte objektene som beveget seg på skjermen. Til dette ble det bestemt å bruke bildesubtraksjon der to ulike bilder fra bildestrømmen trekkes fra hverandre for å få endringene i et bilde. Objektet måtte så følges over skjermen, og det måtte vurderes om objektet passerte telelinjene og om data skulle sendes videre til server som en telling. For å identifisere om --Side 13 --

14 objektene beveger seg i en gitt retting brukes linjene som kan sees på sketsjen over. Om et objekt passerer den nederste linjen, og beveger seg opp og passerer den øverste linjen kan vi tenke oss at objektet har bevegd seg i retning oppover, det omvendte gjelder for objekter som passerer andre vei. Figur 4 En visuell presentasjon av løsningsforslaget. I figuren ovenfor er den tiltenkte løsningen tegnet opp. Dette er en enkelt illustrasjon av hvordan oppgaven skal løsest, uten de store tekniske forklaringene som en kan finne i løsningskapittelet. Forklaring av figuren følger: - Det integrerte kameraet gir systemet en videostrøm. - Videostrømmen vises til bruker som en vanlig strøm av bilder. - Fra videostrømmen vil alle bilder sendes enkeltvis inn til bildebehandlingen som detekterer objekter ved hjelp av funksjoner som finnes i OpenCV kombinert med egen logikk som bestemmer hva som skal oppdages, og hva som skal ignoreres. - Vi følger så objektene på skjermen, bilde for bilde, og tegner hele tiden en kontur rundt objektet som blir presentert som et eget lag over videostrømmen (for brukeren). - Et sett med regler må defineres for å kunne bestemme retting og posisjon, her brukes blant annet telle-linjene som er forklart over, til å bestemme hvilken vei objektet beveger seg. - I tillegg til funksjonene over, skal det også implementeres en konfigurasjonsløsning, som kan endre på innstillinger i applikasjonen fra en ekstern webside. Selve overføringen av nye innstillinger skal skje ved hjelp av Google Cloud Messaging. Da strategien for løsningen var lagt fram, startet arbeidet med utviklingen. Dette var helt nytt for deltagerne, og resultatene var vanskelige og forutsi. Vi regnet med at endelig løsning mest sannsynlig kom til å vike litt med løsningsforslaget, da resultatet var usikkert. --Side 14 --

15 3.2 Server Server-siden av løsningen skulle være relativt simpel, og bestå av en enkelt form der innstillinger kunne endres, for å så sendes til server. Det var også ønskelig at registrerte tellinger kunne overvåkes fra denne websiden. Løsningen ble utviklet ved hjelp av NodeJS, ExpressJS og EJS. Det var ingen spesiell grunn til at det var denne teknologien som skulle brukes, en helt vanlig HTML / PHP løsning hadde også fungert ypperlig. Teknologien ble derfor valgt av nysgjerrighet, og fordi en ønsket å lære noe nytt. Oppsummert så den tiltenkte løsningen slik ut : Figur 5 Oversikt over funksjonr på server. En webside presenterer brukeren med en form, og en oversikt over antall personer som har blitt telt. Brukeren kan så endre instillinger, og sende dem til enheten via Google sitt GCM system. Enheten registrer så endringer. For hver telling utført på enhet, dytter enheten denne informasjonen via et POST HTTP API til websiden. På denne måten kan en alltid se registrerte tellinger på websiden. --Side 15 --

16 4 Løsning 4.1 Applikasjon Løsningen ble utviklet ved hjelp av beskrivelsen som ble utarbeidet i løsningsforslaget. Nedenfor er alle de ulike komponentene applikasjonen består av beskrevet i videre detalj. Om en studerer figuren som beskriver løsningsforslaget kan en her se igjen komponentene dog med andre navn. Sammen utgjør klassene den endelige løsningen. PendingBlob PendingBlob er en klasse som representerer et bevegende objekt også kalt en blob. Et Pendingblob objekt kan være i flere forskjellige tilstander som hjelper MotionDetector komponenten å avgjøre hvordan den skal regne. CounterLine CounterLine klassen brukes av MotionDetector og representerer en sone som skal telles. Den inneholder også informasjon om to parallelle linjer og logikk for å sjekke skjæring gjennom disse to linjene. MotionDetector MotionDetector klassen inneholder logikk for analyse av bevegelse og telling. I tillegg utvider klassen et Android View, slik at den kan representeres visuelt på skjermen. Klassen abonnerer også på oppdateringer fra kameraet gjennom et callback interface. Hver frame som fanges av kameraet går gjennom MotionDetector for analyse. Når MotionDetector mottar en frame sendes det videre gjennom klassemetodene for prosessering. Første steg er en nedskalering av bilde, siden kameraet tar opp med veldig høy oppløsning. Nedskaleringsfaktoren har gruppen satt til 8, det vil si at et 1920 x 1080 bilde vil bli nedskalert til 240 x 135. En høyere nedskaleringsfaktor vil gi et mindre bilde å analysere, og dermed mindre tid for å prosessere. Bildet blir også konvertert til gråtoner, da en ikke har bruk for fargedata. Deretter blir bilde lagt til i en buffer, og om størrelsen på denne bufferen er lik 2, så begynner den å søke etter bevegelse. Det brukes parvis sammenligning av bilder for å estimere bevegelse, ved å finne differansen mellom to sekvensielle frames kan en anta at denne differansen representerer bevegelse. Komponenten bruker OpenCV for å produsere et differanse bilde, en glatter det så ut ved hjelp av en blur funksjon. Blur funksjonen gir et resultat som er lettere å jobbe med, noen ganger kan det være områder på et objekt som ikke kommer tydelig nok med i differanse bildet, og blur funksjonen bidrar til å slette ut disse. I tillegg så viste det seg å være et problem med at når et objekt har bevegd seg over to bilder, så vil differansen mellom dem vise objektet der det var før, og der det er etter, altså to objekter. Blur funksjonen hjelper også med å fjerne eventuelle mellomrom slik at resultatet viser et sammenhengende objekt. Deretter filtreres irrelevant støy fra bilde med en threshold funksjon. Resultatet man sitter igjen med er et bilde helt uten fargetoner, altså bare svart og hvitt. --Side 16 --

17 Figur 6 Viser hvordan en ferdig filtrering ser ut Figur 7 viser et eksempel på resultat bildene som det jobbes videre med. I eksempelet er det to mennesker som beveger seg forbi kameraet i forskjellig retning, representert av to svarte klatter som videre kalles «blobs». For applikasjonens mål trengs ikke informasjon om blob fasong, men det trengs informasjon om størrelse og posisjon. Igjen har OpenCV allerede innebygget funksjonalitet for dette, ved hjelp av en funksjon som finner konturer i bildet identifiseres blobs. Deretter produserer et rektangel som omfavner de. Hvert rektangel blir så lagt til i en liste som senere skal filtreres og prosesseres. Når alle bevegende objekter er registret, filtreres objekter som mest sannsynlig ikke er mennesker bort. Det å identifisere et menneske er et veldig stort felt, men gruppen valgte en simpel løsning som baserer seg på den antagelsen at det stort sett vil være mennesker som passerer. Det brukes en nedre og øvre grense for størrelse av rektangel til objektet, eller «bounding boxen». Disse verdiene må kalibreres for forskjellige avstander av kamera montering, men den kan effektivt filtrere ut mindre objekter og blobs som blir detektert på grunn av risting i kameraet. I tillegg krever denne metoden betydelig mindre prosesseringskraft enn alternativene, noe som er viktig i dette tilfellet. Når listen over objekter er filtret kan telling begynne. Det brukes to horisontale linjer parallelt til hverandre, om en blob treffer den nederste linjen først og deretter den øverste beveger den seg oppover, og vice versa. I teorien er dette en enkel oppgave men om en skal kunne håndtere at flere objekter krysser tellelinjene samtidig må en kunne skille mellom flere ulike blobs. Det finnes antakeligvis mange måter å identifisere blobs på, gruppen valgte en løsning som baserer seg på den antagelsen at to objekter som krysser tellelinjene samtidig ikke befinner seg i samme breddeposisjon. Det sjekkes for hvert rektangel etter filtrering om en av tellelinjene skjærer gjennom den. Om det er tilfellet opprettes et objekt av klassen PendingBlob, som legges til i en liste. PendingBlob lagrer informasjon om rektangelet, posisjon, og om den entret via bunnen eller toppen. Men før det opprettes en ny PendingBlob, sjekkes hvert rektangel opp mot hver eksisterende PendingBlob for å se om det allerede finnes en registrert blob i samme breddeposisjon, og som entret fra samme retning. Om dette er tilfellet opprettes ikke en ny PendingBlob, men i stedet oppdateres den med ny informasjon om rektangel størrelse og posisjon, slik at man bevarer til en viss grad tilstand over flere frames. Om det allerede finnes en PendingBlob i samme breddeposisjon som entret fra motsatt retning enn gjeldende rektangel er i, så antas det at dette er samme blob, men at den nå er på vei ut. PendingBlob objektet blir da markert som «exiting». Når en PendingBlob er markert som «exiting» kan en ny blob som entrer fra samme retning registreres, fordi en kan nå anta at dette ikke er samme. Men den kan fortsatt ikke telles eller slettes, fordi så lenge den fortsatt blir skjært gjennom av sin siste tellelinje vil den bli registrert --Side 17 --

18 som en ny blob så fort den blir slettet. Derfor holdes objektet helt til rektangelet ikke lenger befinner seg innenfor telleområdet, og først da kan det telles ut. Om en PendingBlob ikke er markert som «exiting», men alikevel forsvinner så markeres den som «missing», og etter et gitt antall ganger der den er markert som forsvunnet vil den regnes som en feilregistrering og slettes. Som en View komponent tegner MotionDetector opp sine to tellelinjer, gjeldende nummer, rektangler for objektene, og differanse bilde opp på skjermen slik at man får et visuelt overblikk av hva som skjer. CameraPreview CameraPreview er en hjelpeklasse for å vise sanntids oppdateringer av kamera på skjermen. Klassen følger et oppsett fra Androids offisielle guider. Klassen inneholder enkel logikk for å håndtere ting som for eksempel endring mellom landskaps og portrett visning, og for å sette en passende input oppløsning på kameraet. I dette prosjektet brukes standard oppløsningen på 1920x1080, som senere nedskaleres til en mer passende oppløsning for prosessering. Dette gir en fin høyoppløst kvalitet i forhåndsvisningsvinduet, mens selve bildeprosesseringen går relativt fort. Virkemåte Flytdiagrammet ovenfor viser hvordan de forskjellige komponentene relaterer til hverandre. CameraPreview viser sanntidsoppdatering av kameraet, som igjen MainActivity legger til i sitt visningsvindu. MotionDetector er uavhengig av CameraPreview, og abonnerer selv på oppdateringer fra kameraet. MotionDetector oppretter flere PendingBlob objekter, og en CounterLine, og bruker OpenCV pluss egen logikk for å telle bevegende objekter. --Side 18 --

19 Følgende illustrasjoner demonstrerer virkemåten til tellealgoritmen. Figur 7 Telle strategi 1 Figuren ovenfor viser fire objekter plukket opp av MotionDetector komponenten. Tre av disse har blitt tildelt et unikt navn for illustrasjon, disse har alle fått opprettet et eget PendingBlob objekt. Det fjerde objektet skjærer ingen linjer, og er derfor ignorert på dette tidspunkt. Figur 8 Telle strategi 2 I neste frame har alle objektene bevegd seg videre. De forandrer gjerne fasong fra bilde til bilde, men posisjonen er noenlunde lik. Blob_2 treffer sin siste linje, og markeres som «exiting», den skal slettes og telles for så fort den ikke lenger skjæres av linjen. Blob_3 har bevegd seg litt nedover, men skjæres fortsatt bare av sin første linje. Ingenting blir oppdatert for blob_3. Blob_1 skjæres nå av begge linjene, men siden den er registrert ved nedre linje først, så settes den også nå som «exiting», den skal slettes og telles først når den ikke lengre skjæres av en linje. Blob_4 som tidligere var ignorert treffer sin første linje og får tildelt et PendingBlob objekt. --Side 19 --

20 Figur 9 Telle strategi 3 I tredje frame er det bare en blob som fortsatt regnes som relevant av MotionDetector, blob_4. Det som mest sannsynlig en gang var blob_3 og blob_1 er ikke lenger innenfor tellesonen, og blob_2 er sporløst forsvunnet. Det er nå PendingBlob objektenes interne tilstand som bestemmer hvordan MotionDetector regner videre. Inngangsretning Nådd Eksisterer timeout Konklusjon utgangslinje Blob_1 Under Ja Nei 0 Opp++, riktig Blob_2 Under Ja Nei 0 Opp++, riktig Blob_3 Over Nei Nei 1 Timeout++, ingen telling, feil Blob_4 Over Ja Ja 0 Ned++ så fort den er borte, riktig Tabellen viser de interne tilstandene til de fire PendingBlob objektene som traverserte gjennom tellesonen. Blob_1 og blob_2 har sjekket ut og ble korrekt registrert, blob_4 ligger an til en korrekt telling, mens blob_3 klarte å passere sin utgangslinje uten å blir skjært av den. Om et objekt beveger seg veldig fort, eller om tellelinjene er for nærme så kan dette være en vanlig grunn til at applikasjonen ikke klarer å registrere den. Når et PendingBlob objekt forsvinner uten å ha skjært sin utgangslinje så inkrementeres en integer variable kalt timeout, og om et gitt antall frames går forbi uten at den er registrert så antar MotionDetector at dette var en feilregistrering, eller at objektet endret retning. --Side 20 --

21 Figur 10 Presentasjon av resultatet På figuren over visest det endelige resultater, (skjermen på enheten) en kan her se at kameraet henger i taket. På bildet er to personer nettopp passert linsen, og en kan se at disse er på vei ut av bildet. Om en merker seg punkt nummer «1» er dette en visuell representasjon av hva resultatet er etter at alle elementer er filtrert ut. En kan også legge merke til at denne representasjonen henger litt etter. Dette er fordi bruker-interfacet får en bildestrøm rett fra kameraet, den visuelle representasjonen av bildene etter det er behandlet i algoritmen er først klar når selve bildemanipulasjonen er funnet sted. Dette er naturligvis en liten stund etter at objektene har passert et gitt punkt. Noe som også er grunnen til at firkantene som representerer oppdagede «bobs» («3» og «4») henger etter personene som har passert kameraet. Av bildet som en ser på «1» kan en se at kameraet og applikasjonen fint har klart å filtrert ut personene som har krysset øvre og nedre grense («5» og «6»). Det er disse linjene som er omtalt som tellelinjer. Det markerte området «2» illustrere telling, indikatoren viser hvor mange personer som har passert linjene oppover og nedover. --Side 21 --

22 Ekstern kommunikasjon I tillegg til selve regnemetodene inneholder også applikasjonen funksjoner for kommunikasjon med en ekstern server. Meldinger fra server til applikasjon sendes ved hjelp av Google GCM som er beskrevet i kapittel 2. Når enheten mottar nye innstillinger fra serveren lagres dette i internminnet til applikasjonen. Ved tilgang på nye innstillinger resettes applikasjonen og de nye innstillingene trer i kraft. Mulige innstillinger som kan endre på er: Navn COUNT_LINE_Y COUNT_LINE_DELTA BLOB_MARGIN BLOB_MISSING_LIFETIME SENSITIVITY_VALUE BLUR_VALUE DOWN_SAMPLE_FACTOR HUMAN_FILTER_UPPER HUMAN_FILTER_LOWER Funksjon Hvor på skjermen de to telelinjene skal være i Y-posisjon. Avstanden mellom de to tellelinjene. Setter hvor stor margin som er akseptabelt mellom to ulike «blobs» før det skal regnes som to separate objekter. Angir hvor mange «frames» et «blob» objekt kan være bort fra skjermen før det regnes som tapt. Hvor sensitiv applikasjonen skal være for bevegelse. Hvor mye blur skal legges på bildet for å filtrere bort unødvendige elementer og gi et bedre resultat. Hvor mye skal bildet som skal prosesseres skaleres ned. (Mindre bilde raskere prosessering, men mindre detaljer) Hvor stort objekt skal registreres. Hvor lite objekt skal registreres. I tillegg til server klient kommunikasjon er det også klient server kommunikasjon. Klienten poster resultatene til et HTTP API på serveren, som lagrer tallene klienten rapporterer. Det brukes et HTTP POST kall fra Android for å sende resultater til serveren. --Side 22 --

23 4.2 Server Figur 11 Skjermdump av server-applikasjonen. Selve serveren kjører som beskrevet i løsningsforslaget ExpressJS, ved hjelp av NodeJS. Det er definert to forskjellige «routes» i server-applikasjonen. Et HTTP POST interface, som tar imot tall fra enheten, dette tallet blir så lagret internt i løsningen og presentert for brukere som besøker konfigurasjonssidene. I tillegg til fremvisning av tall, kan en også editere innstillingene til applikasjonen. Brukeren blir presentert med en egen form, som sendes videre til et bibliotek kalt NODE-GCM. Det er en NodeJS plugin til bruk med Google sitt GCM system. Denne gjør det enkelt å sende informasjon til klienten som også implementerer GCM mottageren. --Side 23 --

24 5 Diskusjon Løsningen teller og fungerer etter planen slik den skulle. Det er dog enkelte områder som har klare problemer som bør utbedres. Blant annet klarer ikke applikasjonen i nåværende form å skille mellom mennesker og andre objekter som måtte krysse bildestrømmen da den ganske enkelt jobber med «blobs» som er uavhengige type objekter som krysser. Dette kan gjøres litt opp for mot å stille inn størrelsen på objektene som skal telles med, men dette gir bare en halvveis løsning på problemet. Et annet problem som er ganske klart er sammenhengende objekter, for eksempel en person med handlevogn, eller flere objekter av samme størrelse gående rett bak hverandre. I testene som er utført viser det seg at enkelte av disse objektene blir regnet som ett enkelt objekt. Et eksempel på dette problemet vises på bildet under. Figur 12 Illustrasjon som beskriver feilhåndtering av "blobs" som ett enkelt objekt. [12] Her går flere personer under linsen samtidig. Problemet som oppstår er at personene blir oppfattet som ett enkelt objekt av algoritmen på grunn av avstanden mellom personene. Dette var et problem vi visste kom til å oppstå. Samtidig var dette gjennomtenkt når mulighetene for å stille inn applikasjonen ble implementert. Resultatet var dog uvisst før vi fikk prøve applikasjonen i et praktisk element. Under testing fant vi raskt ut av innstillingene som var satt opp, raskt kunne forbedre resultatene kraftig. Figur 13 Applikasjonen testes, og enheten er hengt opp i taket for å simulere en inngang. --Side 24 --

25 I begynnelsen merket gruppen varierende resultater som i utgangspunktet var skuffende. Applikasjonen klarte ikke henge med på selv lette tellinger med personer som bevegde seg sent under linsen. Mye forbedret seg da vi lot applikasjonen håndtere flere bilder fra bildestrømmen. Under utvikling var ytelse i tankene våre, og det ble derfor bestemt at applikasjonen bare skulle behandle hver femte bilde. Resten skulle forkastes, dette gjorde til at applikasjonen regnet registrerte «blobs» som tapt, da personen som gikk under linsen hoppet gjennom linjene. Dette ble raskt endret ved å la enheten prosessere alle bilder som kom inn. Overraskende nok klarte den også dette fint, og resultatene ble kraftig forbedret. Videre fant vi ut av innstillingene gjorde underverker ved telling. I starten hadde gruppen problemer med å telle flere mennesker på en gang, samtidig som det var vanskelig for applikasjonen å telle personer som bevegde seg raskt forbi linsen. Avstanden på mellomrom mellom «blobs» og høyde og bredde på «blobs» ble justert. Det viste seg også at en skygge som ble laget av sola ble registret, en skrudde derfor ned sensibiliteten og justerte blur verdien. Resultatet var positivt og applikasjonen viste seg å håndtere raskt bevegende objekter godt. I tester som ble utført klarte applikasjonen å telle stort sett alle objekter som beveget seg frem og tilbake. Ved endring av innstillinger for avstand mellom «blobs» håndterer også applikasjonen flere personer som krysser linjen samtidig. Vedlagt rapporten ligger flere videoer som illustrerer dette. For å få en bedre forståelse for resultatet henvises det til disse. I prosjektperioden har deltagerne fått en større forståelse for bildebehandling og teknikker knyttet til dette. Deltagerne har også blitt kjent med OpenCV biblioteket, samt oppnådd en grunnleggende forståelse for håndtering og prosessering av live-data. I tillegg har deltagerne tilegnet seg kunnskap innen NodeJS og noen av verktøyene knyttet til dette programmeringsspråket for webutvikling. Deltagerne synes det har vært særs artig å jobbe med live-data fra den «virkelige verden». En annen viktig ting som hele tiden har vært en tanke i prosjektet er prosesseringskraven som er knyttet til behandling av store mengder data på kort tid. Gruppen innser at nøyaktige resultater krever mye prosesseringskraft eller veltenkte optimaliserte løsninger. --Side 25 --

26 6 Konklusjon Gruppen er fornøyd med å ha implementert en tellemodul som fungerer. Det har vært mye jobb og research for å få alle biter til å jobbe sammen. OpenCV er et veldig stort bibliotek, det har vært mye prøving og feiling for å komme frem til løsninger som fungerer. I tillegg har JavaCV som tilbyr OpenCV funksjonalitet for Java ingen dokumentasjon, så det ble ekstra arbeid da det var små men vanskelig å finne forskjeller i funksjonsnavn og parameter. Heldigvis finnes det et relativt stort OpenCV nettsamfunn, og JavaCV kom med flere eksempler. Det var tidskrevende og vanskelig å teste applikasjonen godt under utvikling, da kameraet måtte befinne seg i en viss høyde for å kunne spore mennesker. Men gruppen lærte mye om bildebehandling og bevegelse sporing under prosjektets periode, og ikke minst om Android sin kamera funksjonalitet og OpenCV. Alt i alt er produktet et resultat av den tiden som var tilgjengelig. Det er langt ifra perfekt, men utfører de oppgavene som vi ønsket å få til. Det var aldri vår intensjon å utvikle en løsning som stiller på linje med kommersielle produkter. Til bruk i buss er nok ikke vårt produkt egnet, gruppen er usikre på om video-telling er en god løsning i en buss i hele tatt. Det skal godt gjøres å plassere et kamera slik at det ikke oppfatter noen form for bevegelse når bussen kjører. Samtidig er det mange ulike elementer som skygger / lysforhold, vibrasjoner med mer som kan ødelegge resultatene. Gruppen konkluderer med at vår løsning ikke kan benyttes i buss, og mener at en IRteller eller noe lignende kan være den mest aktuelle løsningen for det gitte bruksområdet. --Side 26 --

27 Bibliografi [1] AXIOMATIC TECHNOLOGY LTD, «People Counting - IR,» [Internett]. Available: [2] Mayflex, «Vi-system - Maiflex,» Maiflex, [Internett]. Available: [Funnet ]. [3] Box & Value, «BoxandValue,» [Internett]. Available: [Funnet ]. [4] Wikipedia, «Wikipedia - People Counting,» Wikimedia Group, [Internett]. Available: [Funnet ]. [5] OpenCV Docs, «OpenCV docu,» [Internett]. Available: [Funnet ]. [6] Google, «Android Developer - Camera Preview Callback,» Google, [Internett]. Available: [Funnet ]. [7] Google, «Google Developers GCM,» [Internett]. Available: [Funnet ]. [8] Wikipedia, «Wikipedia - Node.js,» Wikimediagroup, [Internett]. Available: [Funnet ]. [9] ExpressJS, «ExpressJS.com,» [Internett]. Available: [Funnet ]. [10] EmbeddedJS, «EmbeddedJS,» [Internett]. Available: [Funnet ]. [11] Wikipedia, «Wikipedia - OpenCV,» Wikimediagroup, [Internett]. Available: [Funnet ]. [12] Dosch Design, «Dosch Design - People Walking,» - -. [Internett]. Available: [Funnet ]. --Side 27 --

28 Utvidelser brukt i arbeidet. JavaCV Boostrap ExpressJS EJS Node-gcm En wrapper for OpenCV bibloteket. Twitter utviklet rammeverk for utvikling innen web. Stiler for HTML og CSS komponenter for rask utvikling av brukerelementer. Web-rammeverk utvidelse til NodeJS Stil-layout for bruk med Express sammen med NodeJS. En node-modul som hjelper til med sending av data til Android telefoner som implementerer Google GCM. Vedleggsliste Vedlegg A Infotainment System (Bachelor-rapport) Vedlegg B - Ulike videofiler som illustrerer resultatet. --Side 28 --

29 Vedlegg <A, B eller hvilket det er> Vedlegg Vedlegg A Bachelor-rapport (Infotainment) Vedlegg B Videofiler Dobbel_telling.mp4 (Illustrerer rask krysning av flere personer) Rask.mp4 (Illustrerer en rask krysning av en enkel person) Samtidig.mp4 (Illustrer krysning samtidig) -- Side --

- reklamebannere mobil og tablet

- reklamebannere mobil og tablet Spesifikasjoner - reklamebannere mobil og tablet FINN.no Versjon 2.4 Sist oppdatert 16.08.2013 1. Innhold Innhold Introduksjon Målsetning Spesifikasjoner HTML Fysisk størrelse 225 px* Eksempler Størrelser

Detaljer

KTN1 - Design av forbindelsesorientert protokoll

KTN1 - Design av forbindelsesorientert protokoll KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere

Detaljer

1. Intro om SharePoint 2013

1. Intro om SharePoint 2013 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Intro om SharePoint 2013 Stein Meisingseth 09.08.2013 Lærestoffet er utviklet for faget LO205D Microsoft SharePoint 1. Intro om SharePoint

Detaljer

Forprosjektrapport. Gruppe 26. Digitalt læreverktøy for Cappelen Damm

Forprosjektrapport. Gruppe 26. Digitalt læreverktøy for Cappelen Damm Hovedprosjekt i informasjonsteknologi 2016 Høyskolen i Oslo og Akershus Forprosjektrapport Digitalt læreverktøy for Cappelen Damm Gruppe 26 Sofia Aittamaa - s198580@stud.hioa.no Petter Lysne - s198579@stud.hioa.no

Detaljer

Gruppe 43. Hoved-Prosjekt Forprosjekt

Gruppe 43. Hoved-Prosjekt Forprosjekt Gruppe 43 Hoved-Prosjekt Forprosjekt Mobil Applikasjon Utvikling HiOA Bacheloroppgave forprosjekt våren 2017 Presentasjon Gruppen består av: Gebi Beshir Ole-Kristian Steiro Tasmia Faruque s182414 s189141

Detaljer

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

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen. Artist webside Innhold Artist webside...1 Gruppe medlemmer...1 Oppdragsgiver...1 Kontaktperson...2 Veileder...2 Oppgaven...2 Muligheter...2 Sammendrag...2 Dagens situasjon...2 Mål og rammebetingelser...3

Detaljer

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

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

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender Hovedprosjekt Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport Presentasjon Sted og dato Oslo, Jan 9, 2011 Prosjekt tittel Periode K-skjema og ferie kalender Utvikle et registreringssystem

Detaljer

Bachelorprosjekt i informasjonsteknologi, vår 2017

Bachelorprosjekt i informasjonsteknologi, vår 2017 Bachelorprosjekt i informasjonsteknologi, vår 2017 Gruppe 29: Marthe Janson Skogen, s236357, Ingeniørfag - data Odd Einar Hoel, s236313, Ingeniørfag - data Forprosjektrapport Rapporten inneholder presentasjon,

Detaljer

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk Produktdokumentasjon Madison Møbler Administrasjonsside og Nettbutikk 1 1. Forord 1.1 Dokumentasjonen Dette er en teknisk dokumentasjon på produktet som er utviklet. Denne er tiltenkt personer med teknisk

Detaljer

WWW.POLARPRODUKSJON.NO

WWW.POLARPRODUKSJON.NO GUIDE RSHL.NO Av Fredrik Mediå Oppgraderingen av nettstedet RSHL.NO har ført til at det kan oppstå en del spørsmål og forvirringer rundt hvordan forskjellige elementer fungerer. Denne guiden skal fungere

Detaljer

VEDLEGG 1 KRAVSPESIFIKASJON

VEDLEGG 1 KRAVSPESIFIKASJON VEDLEGG 1 KRAVSPESIFIKASJON INNHOLDSFORTEGNELSE Forord... 2 1 Systembeskrivelse... 2 2 Mål for systemet... 3 3 Funksjonelle krav... 4 4 Ikke-funksjonelle krav... 5 5 Use-case diagram... 6 6 Rammekrav...

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Obligatorisk oppgave 1 INF-3200 12. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Oppgavebeskrivelse: Designe og implementere en distribuert ray-tracing applikasjon, med basis i kontroller-

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav.

Funksjonskravene er delt opp i to deler, krav til spillsekvens og generelle funksjonskrav. Kravspesifikasjon I dette kapittelet foreligger kravspesifikasjonen som ble utformet tidlig i prosjektprosessen. Dette er den opprinnelige kravspesifikasjonen. Det har igjennom prosjektprosessen vært naturlig

Detaljer

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Windows XP Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være

Detaljer

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

Høgskolen i Oslo og Akershus. Bachelorprosjekt Hacking Cristin. (midlertidig tittel) Forprosjektrapport Høgskolen i Oslo og Akershus Bachelorprosjekt 2017 Hacking Cristin (midlertidig tittel) Forprosjektrapport Innholdsfortegnelse: 1.0 Presentasjon s. 3 2.0 Sammendrag s. 3 3.0 Dagens situasjon s. 4 4.0 Mål

Detaljer

Presentasjon... 3. Sammendrag... 4. Dagens situasjon... 5. Mål og rammebetingelser... 5. Moduler... 6. Løsning og alternativer...

Presentasjon... 3. Sammendrag... 4. Dagens situasjon... 5. Mål og rammebetingelser... 5. Moduler... 6. Løsning og alternativer... Innholdsfortegnelse Presentasjon..................................................... 3 Sammendrag.................................................... 4 Dagens situasjon.................................................

Detaljer

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv «Å tro at det ikke finnes virus på Mac er dessverre litt

Detaljer

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk. Innhold Steg 1: Installasjon... 3 Steg 2: Installasjon av programvare... 3 Steg 3. Oppsett av wifi, email varsling og alarm... 5 Steg 4: Installasjon og oppsett av mobil app... 8 Steg 5: Installasjon og

Detaljer

Vedlegg Brukertester INNHOLDFORTEGNELSE

Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester INNHOLDFORTEGNELSE Vedlegg Brukertester... 1 Testrapport Wireframe... 2 1. INTRODUKSJON... 2 1.1 Systemoversikt... 2 1.2 Meningen med testen... 2 2 TESTPLAN... 2 2.1 Funksjoner som

Detaljer

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon Pong Introduksjon Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår

Detaljer

4.5 Kravspesifikasjon

4.5 Kravspesifikasjon 4.5 Kravspesifikasjon 4.5.1 Funksjonalitet og systembeskrivelse Webapplikasjonen har tre overordnede funksjoner; Opprett Spotify arrangement, Opprett SoundCloud arrangement og Bli med på arrangement. Brukere(kalt

Detaljer

1 Forord. Kravspesifikasjon

1 Forord. Kravspesifikasjon [Type text] [Type text] 3/5 Hovedprosjekt ingeniørutdanningen 09 Kravspesifikasjon Tittel på hovedprosjektet Tarantell Dashboard Gruppe 28 Bjørn Ove Pedersen Stian Dalviken Antall sider 6 Intern veileder

Detaljer

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

InfoRed Publisering. - produktbeskrivelse.  TalkPool WebServices Postboks Åneby InfoRed Publisering - produktbeskrivelse www.talkpool.no TalkPool WebServices Postboks 90 1484 Åneby InfoRed Produktbeskrivelse 2 Sammendrag InfoRed Publisering er produktet for å administrere en hel informasjonstjeneste,

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client. Studenter: Magnus Skomsøy Bae, Marius Eggen, Magnus Krane Klasse: 3ING, Systemutvikling Produserer redaksjonelle

Detaljer

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634 Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle

Detaljer

Bachelorprosjekt 2015

Bachelorprosjekt 2015 Bachelorprosjekt 2015 Høgskolen i Oslo og Akershus Tam Ha (s171513) Arslan Yousaf (s189135) Gabriel Noraker Alfarrustad (s161910) Eivind Lund (s180381) Phillip Padiernos Næss (s162951) Forprosjekt Prosjektets

Detaljer

FORPROSJEKT RAPPORT PRESENTASJON

FORPROSJEKT RAPPORT PRESENTASJON FORPROSJEKT RAPPORT PRESENTASJON Tittel: Oppgave: Appenes App Utvikle en Windows 8.1 Applikasjon for Tablet, og en Windows 8 Phone App og en backend. Periode: 06.01.2013-27.05.2013 Gruppemedlemmer: Athavan

Detaljer

BRUKERMANUAL. Telsys Online Backup

BRUKERMANUAL. Telsys Online Backup BRUKERMANUAL Telsys Online Backup TELSYS AS - 06.08.2009 Innhold Generelt... 3 Kom i gang... 4 Installasjon av Telsys Online Backup Proff/Standard... 4 Start opp klienten for første gang!... 10 Logg inn...

Detaljer

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

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold, Hovedprosjekt i data/informasjonsteknologi Høgskolen i Oslo og Akershus Forprosjekt Prosjekttittel Unikia Android applikasjon Gruppe 13 Markus Bugge-Hundere s188909 Morten Wold Aksel Wiig s236326 s232324

Detaljer

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

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016. Pillbox Punchline Forprosjektrapport Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren 2016 Pillbox Punchline Gruppe 8 André Østhagen Bye, s198607 Annika Hammervoll, s198611 Hanne Rygge, s198613

Detaljer

King Kong Erfaren Scratch PDF

King Kong Erfaren Scratch PDF King Kong Erfaren Scratch PDF Introduksjon I dette spillet inspirert av historien om King Kong, skal vi se hvor lett det er å bruke grafikk som ikke allerede ligger i Scratchbiblioteket. I spillet styrer

Detaljer

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen

Detaljer

Testdokumentasjon. Testdokumentasjon Side 1

Testdokumentasjon. Testdokumentasjon Side 1 Testdokumentasjon Testdokumentasjon Side 1 1. Innledning Dette er en testrapport som er laget for å teste applikasjonene for ios og Android plattformer. Den vil være delt opp i 4 deler. Den første delen

Detaljer

Nedlasting av SCRIBUS og installasjon av programmet

Nedlasting av SCRIBUS og installasjon av programmet Nedlasting av SCRIBUS og installasjon av programmet Laget for BODØ FRIMERKEKLUBB av Sten Isaksen Versjon 06.01.2018 1 Før du laster ned Scribus: Du må vite hvilken versjon av Windows du har, sannsynligvis

Detaljer

Brukerveiledning WordPress. Innlogging:

Brukerveiledning WordPress. Innlogging: Brukerveiledning WordPress Her er en liten guide for hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging Lage en side Lage et innlegg Innlogging: For å logge

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

Søkemotorer. - en guide for en bedre rangering. Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1

Søkemotorer. - en guide for en bedre rangering. Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1 Søkemotorer - en guide for en bedre rangering Søkemotorer en guide for bedre rangering. InBusiness AS 2006 1 Innledning Har du endelig fått deg et nettsted med bra design og oppdatert innhold MEN så oppdager

Detaljer

Kravspesifikasjon MetaView

Kravspesifikasjon MetaView Kravspesifikasjon MetaView BACHELOROPPGAVE VÅREN 2014 1. Presentasjon Tittel: MetaView Oppgave: Lage en applikasjon og api som skal kommunisere med MetaVision slik at det skal bli enklere for leger og

Detaljer

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon Klask-en-Muldvarp Introduksjon App Inventor Introduksjon I denne oppgaven skal vi lage et veldig enkelt spill med litt animasjon. Det som skal skje er at en muldvarp hopper rundt på spillbrettet mens du

Detaljer

KRAVSPESIFIKASJON FOR SOSIORAMA

KRAVSPESIFIKASJON FOR SOSIORAMA KRAVSPESIFIKASJON FOR SOSIORAMA Innhold 1. Forord... 2 2. Definisjoner... 3 3. Innledning... 4 3.1 Bakgrunn og formål... 4 3.2 Målsetting og avgrensninger... 4 4. Detaljert beskrivelse... 8 4.1 Funksjonelle

Detaljer

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING 2009 Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING Brukerveiledning for tilleggsmodul til Microsoft PowerPoint og Open Office for oppdatering av eget innhold for kunder av Doctors Media

Detaljer

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs MoleMash for App Inventor 2-guide ( Klask-en-Muldvarp Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (http://appinventor.mit.edu/explore/ai2/molemash.html) Oversatt av: Hanne Johnsen Kurs: Appinventor Tema: App, Blokkbasert

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

Hvor og hvordan lagrer du mediafilene dine?

Hvor og hvordan lagrer du mediafilene dine? Beskriv din digitale infrastruktur, med tilhørende arbeidsflyt. Hvor og hvordan lagrer du mediafilene dine? Hva gjør du med back-up? Hva slags online lagringsløsning har du valgt? Hvordan finner du fram

Detaljer

Forprosjektrapport Gruppe 30

Forprosjektrapport Gruppe 30 Forprosjektrapport Gruppe 30 Gruppemedlemmer: Eyvind Nielsen s177748 Ullvar Brekke s236375 Kristoffer Pettersen s239404 Innhold Presentasjon... 3 Sammendrag... 3 Dagens situasjon... 3 Mål... 3 Rammebetingelser...

Detaljer

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk

Detaljer

Kjørehjelperen Testdokumentasjon

Kjørehjelperen Testdokumentasjon 2013 Kjørehjelperen Testdokumentasjon Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Dette dokumentet tar for seg to forskjellige ting. Først forklares det hvordan

Detaljer

Forprosjekt gruppe 13

Forprosjekt gruppe 13 Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web

Detaljer

BlindShell bruksanvisning

BlindShell bruksanvisning Dato: 1.6.2015 BlindShell bruksanvisning BlindShell er en smarttelefon for blinde og svaksynte brukere. Enheten betjenes med enkle bevegelseskommandoer, talemeldinger leses opp ved hjelp av kunstig tale

Detaljer

Studentdrevet innovasjon

Studentdrevet innovasjon Studentdrevet innovasjon Hovedprosjekt 2013 Høgskolen i Oslo og Akershus Forprosjektrapport av Gruppe 11 Karoline Sanderengen, Mona Isabelle Yari og Randi Ueland 25.01.2013 Studentdrevet innovasjon 9 Innhold

Detaljer

Forprosjektrapport Bacheloroppgave 2017

Forprosjektrapport Bacheloroppgave 2017 Forprosjektrapport Bacheloroppgave 2017 Chat Modul for Webnodes Content Management System Gruppe 32 Adam Asskali, Anmer Seif, Sara Khan 20.01.2017 Veileder G. Anthony Giannoumis Innholdsfortegnelse 1.Presentasjon

Detaljer

Humanware. Trekker Breeze versjon 2.0.0.

Humanware. Trekker Breeze versjon 2.0.0. Humanware Trekker Breeze versjon 2.0.0. Humanware er stolte av å kunne introdusere versjon 2.0 av Trekker Breeze talende GPS. Denne oppgraderingen er gratis for alle Trekker Breeze brukere. Programmet

Detaljer

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv «Å tro at det ikke finnes virus på Mac er dessverre litt

Detaljer

4.1. Kravspesifikasjon

4.1. Kravspesifikasjon 4.1. Kravspesifikasjon Dette delkapittelet beskriver nærgående alle deler av systemet, hvordan det er tenkt ferdigutviklet med fokus på oppdragsgivers ønsker. 4.1.1. Innledning Informasjon om hvordan kravspesifikasjonens

Detaljer

Milestone Systems XProtect Smart Client 7.0b BRUKERMANUAL

Milestone Systems XProtect Smart Client 7.0b BRUKERMANUAL BRUKERMANUAL BRUKERMANUAL Denne brukermanualen vil vise deg hvordan du navigerer i Smart klient programvaren samt gi deg en oversikt over alle funksjonene. Installere Hvis du ikke allerede har Smart klienten

Detaljer

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

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, Kravspesifikasjon Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 12.01.2013 Public 2013 Aker Solutions Page 1 of 7 Table of Contents Forord... 3 Om bakgrunnen... 3 Presentasjon...

Detaljer

Fagerjord sier følgende:

Fagerjord sier følgende: Arbeidskrav 2A I denne oppgaven skal jeg utføre en analyse av hjemmesiden til Tattoo Temple (http://www.tattootemple.hk) basert på lenker. Analysen er noe basert på et tidligere gruppearbeid. Hjemmesiden

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

Prosjektrapport. Gruppe 23

Prosjektrapport. Gruppe 23 Prosjektrapport Gruppe 23 Prosjektrapport Forord Hensikten med denne rapporten er å gi en introduksjon til oppgaven. Her vil det bli forklart hensikten med oppgaven og applikasjonens funksjonalitet. Brukergrensesnittet

Detaljer

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400

EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400 Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK

Detaljer

SUBTRAKSJON FRA A TIL Å

SUBTRAKSJON FRA A TIL Å SUBTRAKSJON FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til subtraksjon S - 2 2 Grunnleggende om subtraksjon S - 2 3 Ulike fremgangsmåter S - 2 3.1 Tallene under hverandre

Detaljer

Se gjennom hele veiledningen før du setter i gang (alle 8 sidene).

Se gjennom hele veiledningen før du setter i gang (alle 8 sidene). Medisinsk bibliotek skriver ut postere for prosjekter knyttet til SSHF. Vi tar imot utskriftsklare filer i PowerPoint eller PDF. Vi tilbyr ikke korrekturlesning, men kontakter dere om noe i oppsettet ser

Detaljer

Se gjennom hele veiledningen før du setter i gang.

Se gjennom hele veiledningen før du setter i gang. Medisinsk bibliotek skriver ut postere for prosjekter knyttet til SSHF. Vi tar imot utskriftsklare filer i PowerPoint eller PDF. Vi tilbyr ikke korrekturlesning, men kontakter dere om noe i oppsettet ser

Detaljer

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

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

Mange nye og kule tips til utvikling av dine E-Site websider!

Mange nye og kule tips til utvikling av dine E-Site websider! Interkodex AS, Ravnsborgveien 33, 1395 Hvalstad, Norway Nyhetsbrev E-Site mai 2011 Mange nye og kule tips til utvikling av dine E-Site websider! jquery, CSS 3 + HTML5, E-Site 3.2.4, E-Site 4.0 Side 1 av

Detaljer

NVDB, veibilder og SINUS.infra

NVDB, veibilder og SINUS.infra NVDB, veibilder og SINUS.infra NVDB Nasjonal vegdatabank er en database med informasjon om riks- og fylkesveger, kommunale veger, private veger og skogsbilveger. NVDB inneholder muligheter til å registrere

Detaljer

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup 1 Systemkrav ADSL eller minimum ISDN via router. Ved automatisk backup: Min. Windows XP / 2000 / 2003 (pga. Service) Ved manuellt system: Min. Windows 98 SE NotaPlan Backup bør installeres på den/de maskiner

Detaljer

BRUKERMANUAL. Deviations and Reporting

BRUKERMANUAL. Deviations and Reporting BRUKERMANUAL Deviations and Reporting Forord Dette er brukermanual for CEMAsys Immediate Reporting applikasjon som er laget for iphone og Android telefoner. CEMAsys Immediate Reporting er en applikasjon

Detaljer

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype

Detaljer

Tema: Fronterdokument

Tema: Fronterdokument Tema: Fronterdokument Fronter 91 Dette heftet er produsert av Fronter as www.fronter.com Heftet kan kun kopieres eller distribueres elektronisk ifølge kontrakt eller avtale med Nytt i volum 91 av dette

Detaljer

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet Produktrapport Hjelpemiddel portal for Parkinsonforbundet 1 Innhold: Forord ------------------------------------------------------------------------------------------------------2 Planlegging og arbeidsmetode

Detaljer

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1

HiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1 HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian

Detaljer

Nyheter i eway 5 Contents

Nyheter i eway 5 Contents Nyheter i eway 5 Contents Sidekart... 3 Kort URLer... 4 Ny editor... 5 Listebilder... 7 Les mer URL er... 8 Sosiale lenker... 9 Nytt redaktør verktøy... 10 Meny og malredigering... 11 Sidenavigasjon á

Detaljer

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp { En selvstendig plattform som kan brukes til å formidle kurs på nett med dagsaktuell teknologi. Oppgave 5, av Fredrik Johnsen Oppgavestiller

Detaljer

Bergvall Marine OPPGAVE 3. Jon Vegard Heimlie, s162110 Vijitharan Mehanathan, s171645 Thore Christian Skrøvseth, s171679

Bergvall Marine OPPGAVE 3. Jon Vegard Heimlie, s162110 Vijitharan Mehanathan, s171645 Thore Christian Skrøvseth, s171679 2013 Bergvall Marine OPPGAVE 3 Jon Vegard Heimlie, s162110 Vijitharan Mehanathan, s171645 Thore Christian Skrøvseth, s171679 Innhold Oppgave 1.... 2 Oppgave 2.... 7 Oppgave 3.... 9 Oppgave 4.... 10 Kilder:...

Detaljer

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand

Web fundamentals. Web design. Frontend vs. Backend 17.01.2008. Webdesign 17. januar 2008 3. Monica Strand Web fundamentals Webdesign 17. januar 2008 Monica Strand Webdesign 17. januar 2008 1 Web design Fagområdet Web design inneholder flere disipliner Grafisk design Informasjonsdesign Brukergrensesnittdesign

Detaljer

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den

Detaljer

Hurtigguide for oppsett av Foscam FI98xx HD kamera

Hurtigguide for oppsett av Foscam FI98xx HD kamera Hurtigguide for oppsett av Foscam FI98xx HD kamera Montering Utendørs kameraene har en fastmontert kabel med kontakter for strøm og nettverk på enden. Disse kontaktene må beskyttes mot fukt og nedbør.

Detaljer

SUSOFT RETAIL FOR MOTEBUTIKKER

SUSOFT RETAIL FOR MOTEBUTIKKER SUSOFT RETAIL FOR MOTEBUTIKKER Susoft Retail er en glimrende løsning for salg av klær og sko. I tillegg passer løsningen både enkeltstående butikker og kjeder. Susoft Retail er en nettsky løsning som gir

Detaljer

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

S y s t e m d o k u m e n t a s j o n S y s t e m d o k u m e n t a s j o n Monitorering av produksjonsløyper ved Nasjonalbiblioteket - Project BAKE Utarbeidet av: Einar Wågan Kristian Akerhei Studium: Informasjonssystemer Innlevert: 26.5.2015

Detaljer

Infotainment System HPR/D-2015/001

Infotainment System HPR/D-2015/001 Infotainment System HPR/D-2015/001 av Christian K Haraldseid, Mikal Svendsen Bachelorrapport for DAT 304 våren 2015 Veileder: Christian Auby, Halvard Øysæd Fakultet for teknologi og realfag Universitetet

Detaljer

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

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008 Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008 Skrevet av Ole Myrbakken, Fadima Mohamoud, Orji Okoroafor, Karen Arrendondo Side 1 PRESENTASJON Prosjekt tittel: Prosjektperiode: MetaGen 7.jan

Detaljer

DEL 2 REGELBOK 2P + 2P-Y

DEL 2 REGELBOK 2P + 2P-Y DEL 2 REGELBOK 2P + 2P-Y ZAIN MUSHTAQ 2017 Innhold TRYKK PÅ ET DELKAPITTEL FOR Å GÅ DIT 1 FUNKSJONER... 3 HVORDAN LESE / SE EN FUNKSJONSOPPGAVE?... 3 FINNE X-VERDI NÅR DU VET Y-VERDI... 3 FINNE Y-VERDI

Detaljer

Geometra. Brukermanual. Telefon: 64831920

Geometra. Brukermanual. Telefon: 64831920 Geometra Brukermanual Telefon: 64831920 Innhold GENERELT...3 Hva er Geometra?...3 Om PDF tegninger...3 KOM I GANG!...5 Start programvaren og logg inn...5 Grunnleggende funksjoner:...6 Lag et prosjekt,

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

Vedlegg 1: Oversikt over noen mulige leverandører

Vedlegg 1: Oversikt over noen mulige leverandører Vedlegg 1: Oversikt over noen mulige leverandører OwnCloud / Owncloud Enterprise Owncloud er en open-source løsning, der det også finnes en enterprise-løsning. Owncloud støtter stort sett alle mulige bakenforliggende

Detaljer

Sprettende ball Introduksjon Processing PDF

Sprettende ball Introduksjon Processing PDF Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som

Detaljer

Superbrukere løser alt...

Superbrukere løser alt... Superbrukere løser alt... Venner og kjente har fått høre at du har begynt på HiØ, og at du skal studere noe med data. De regner derfor med at du kan løse alle deres dataproblemer. Idrettslaget Spurt hvor

Detaljer

Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi

Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi Forprosjektrapport for bacheloroppgave i data og informasjonsteknologi Gruppe 5 Anders Minde Dørum, Eirik Odden Solberg, Patrick Ingeberg og Torbjørn Magnus Brandrud Prosjektmedlemmer: Anders Minde Dørum,

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG UKESOPPGAVER 9 TESTING GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.

Detaljer

Du har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS

Du har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS Operativsystemet Kort historie Utviklingen av datamaskiner og dataprogrammer går fort. Den som har sitt første møte med dataverdenen i dette kurset, vil kanskje allikevel ha hørt om DOS (Disk Operating

Detaljer

Office 2013. Kort oversikt over de viktigste nyhetene

Office 2013. Kort oversikt over de viktigste nyhetene Office 2013 Kort oversikt over de viktigste nyhetene For oversikt over alle nyhetene i et program, klikk? på tittellinjen og velg emnet «Hva er nytt» fra Hjelp-vinduet Generelt Office 2013 har fått et

Detaljer

Steg 1: Hente grafikk fra nettet

Steg 1: Hente grafikk fra nettet Scratch King Kong Skrevet av: Samuel Erik Abildsø og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Engelsk, Kunst og håndverk, Matematikk, Programmering Klassetrinn: 1.-4. klasse,

Detaljer

Ville du kjøpt en TV som viste kun en kanal?

Ville du kjøpt en TV som viste kun en kanal? I Igels verden går de tynne klientene lengre Besøk din personlige Igel nettside og motta en gratis rapport verdt over 3000 kroner, eller meld deg på kostnadsfrie tekniske webinarer. www.igel.biz/customer.name.

Detaljer