Virtuele Revalidatie met Microsoft Kinect PXL IT-Research

Maat: px
Weergave met pagina beginnen:

Download "Virtuele Revalidatie met Microsoft Kinect PXL IT-Research"

Transcriptie

1 Professionele Bachelor Toegepaste Informatica Applicatieontwikkeling Virtuele Revalidatie met Microsoft Kinect PXL IT-Research Simon Verbeke Promotoren: Marijke Willems Steven Palmaers Lode Vanhout Hogeschool PXL PXL IT-Research PXL IT-Research Stagerapport Academiejaar

2

3 Professionele Bachelor Toegepaste Informatica Applicatieontwikkeling Virtuele Revalidatie met Microsoft Kinect PXL IT-Research Simon Verbeke Promotoren: Marijke Willems Steven Palmaers Lode Vanhout Hogeschool PXL PXL IT-Research PXL IT-Research Stagerapport Academiejaar

4

5 Voorwoord Bij deze wil ik mijn promotor, Steven Palmaers, bedanken voor de uitzonderlijke kans mij te verdiepen in de academische wereld. Voor de toegang tot interessante nieuwe technologieën. En voor zelfs midden in de nacht nog vragen te beantwoorden of documenten na te kijken. Daarnaast mijn mentoren, Frederik Smolders en Lode Van Hout, voor de ondersteuning en het vertrouwen in mijn oordeel. Marijke Willems, mijn hogeschoolpromotor, voor de onmisbare feedback; de andere kijk op dingen. Tenslotte mijn collega-stagiairs voor de snedige humor, de diepgaande gesprekken en de hechte band. En in het bijzonder Tom Quareme voor de wiskundige ondersteuning.

6

7 Inhoudsopgave Voorwoord Abstract 1 Bedrijfsvoorstelling 1 2 Onderzoeksthema 3 3 Technologieën Microsoft Kinect Unity3D Mono Git Stageopdracht 11 5 Onderzoeksfinanciering in België IWT FWO

8 6 Onderzoeksthema: filters Geïmplementeerde filters Niet-geïmplementeerde filters Dataflow applicatie Body Audio Color Oefeningen vergelijken Het bestandsformaat Posities vergelijken Rotaties vergelijken Eindresultaat Visualisaties Audio De data Opnemen Video Stemherkenning 39

9 12 Besluit Reflectie 43 Bibliografie 43

10

11 Abstract Mijn stageproject is gelinkt aan een onderzoeksproject dat wordt uitgevoerd door Healthcare-Research en IT-Research, namelijk een Open Intelligent RevalidatieFramework (kortweg OpenIRF). Binnen dit onderzoeksproject is er enorme interesse voor tools die het werk van healthcare professionals kan vereenvoudigen. Er wordt onderzocht hoe software kan helpen bij de revalidatie na, bijvoorbeeld, een auto-ongeluk, bij MS, of na een beroerte. In de huidige situatie moet een cliënt altijd vergezeld worden van een therapeut, omdat deze persoon de enige is die de kwaliteit van de oefening kan vaststellen. Bovendien is revalidatie vaak generiek, met geen of te weinig focus op datgene dat de cliënt wenst te trainen. Met de tool die in dit project ontwikkeld wordt, zal het mogelijk worden cliënten deels zelfstandig te laten revalideren. Het te ontwikkelen systeem zal bestaan uit twee grote modules, gemaakt aan de hand van Unity 3D met de programmeertaal C#. De eerste module wordt gebruikt door de therapeut om oefeningen aan te maken (op te nemen) voor de cliënt. Hierbij bestaat de mogelijkheid om een aantal parameters in te stellen voor de oefening. Bijvoorbeeld: voor een oefening moet een cliënt zijn arm bewegen. Maar eigenlijk is het alleen belangrijk dat de cliënt de rug recht houdt. De tweede module wordt gebruikt door de cliënt. Deze kan oefeningen inladen die de therapeut heeft opgenomen, de oefening uitvoeren en feedback krijgen (in real-time of na afloop). Het project bestaat uit een aantal fases. In deze fases moeten problemen voorkomen worden met de data die de Kinect beschikbaar stelt. Er wordt gewerkt met een relatief goedkope camera, bedoeld voor het spelen van computergames, waardoor de kwaliteit van de data niet optimaal is. Het eerste probleem is de ruis en de uitschieters op de data. Het ontwikkelen van een goede set filters is belangrijk om de data bruikbaar te maken voor de rest van het systeem. Op dit moment zijn er een viertal filters ontwikkeld. Deze filters kunnen apart gebruikt worden of gemengd worden met elkaar. Het is ook eenvoudig om nieuwe filters toe te voegen door een mathematisch model om te zetten naar een script.

12 De tweede fase bestaat uit het ontwikkelen van het systeem dat oefeningen aanbiedt aan een cliënt en het analyseren van de bewegingen van de cliënt. Om vervolgens hier een score aan toe te kennen. Hier zijn verschillende benaderingen mogelijk die zullen geanalyseerd en uitgewerkt worden Een naïeve benadering is het vergelijken van de posities van de ledematen van de cliënt en de therapeut. Een andere benadering is een bepaalde foutenmarge toelaten. Tenslotte moet er ook de nodige aandacht worden besteed aan gebruiksvriendelijkheid en User Experience (UX). Het systeem gaat gebruikt worden door mensen met een fysieke beperking, en moet bijgevolg uitermate gemakkelijk te bedienen zijn. Om deze reden onderzoeken we ook of we een spraakbesturingssysteem kunnen integreren.

13 1. Bedrijfsvoorstelling PXL-Research bundelt het onderzoek en de dienstverlening binnen Hogeschool PXL, en functioneert als centraal aanspreekpunt voor ondernemers, bedrijven en organisaties die op zoek zijn naar specifieke onderzoeksexpertise om innovatie te realiseren. PXL-Research is de springplank om specifieke vragen, ideeën en businessprojecten te vertalen naar concrete projecten met studenten, docenten/lectoren, onderzoekers, partnerbedrijven, subsidiëringsinstanties, enz. Via PXL-Research kan men beroep doen op de knowhow en ervaring in de expertisecellen die Hogeschool PXL heeft uitgebouwd op terreinen zoals toegepaste informatica, elektronica, elektromechanica, bouw, logistiek, marketing, media, toerisme, sociaal agogisch werk, gezondheidszorg, voedselveiligheid, beeldende kunst, grafisch ontwerp,... IT-Research is de expertisecel die focust op de boeiende wereld van (mobiele) applicaties, 3D op het web, ontwikkeling van games en mechatronica. IT-Research werkt sterk multidisciplinair in diverse domeinen. Enkele voorbeelden hiervan zijn de zorgsector, de logistieke en de educatieve sector. 1

14

15 2. Onderzoeksthema Binnen mijn stage heb ik meerdere onderzoeksthema s behandeld. In dit eindwerk bespreek ik het onderzoeksthema "filters". Met de specifieke vraag: kan de data van de Microsoft Kinect gefilterd worden zodat gebruikers weinig of geen last hebben van ruis en jitter? De methodes die beschreven worden in dat hoofdstuk zijn zo opgesteld dat de methodes ook bruikbaar zijn met andere apparaten. Deze techniek is essentieel om bruikbare data te verkrijgen van de Kinect. In de eerste versie was dit zelfs ingebouwd in de API. Om een nog onbekende reden is deze functionaliteit niet meer beschikbaar in de tweede versie. Dit was een goede opportuniteit om me te kunnen verdiepen in een vakgebied binnen de wiskunde dat erg veel praktische toepassingen heeft. Elk apparaat dat data verkrijgt op basis van fysieke metingen zal last hebben van inaccurate data die gefilterd moet worden. Dit is des te meer van toepassing op goedkope elektronica gericht op de consumentenmarkt. 3

16

17 3. Technologieën 3.1 Microsoft Kinect Het belangrijkste stuk technologie binnen het project is de Microsoft Kinect. Dit is een camerasysteem dat origineel ontwikkeld is als metgezel van de Microsoft Xbox, om games mee te spelen. Sinds het begin wordt het ook ingezet in allerlei projecten die eigenlijk niets met games te maken hebben. In 2014 werd de tweede generatie Kinect camera s gelanceerd, met veel verbeteringen ten opzichte van de eerste generatie. De specificaties zijn als volgt: Kleurencamera: 1920 x 1080, 30 fps Infraroodcamera: 512 x 424, 30 fps Waarnemingsafstand: 0.5 m m Gewrichten per skelet: 25 gewrichten Gevolgde skeletten: 6 skeletten Aantal microfoons: 4 microfoons Deze hardware wordt gebruikt om via een API verschillende datastreams beschikbaar te stellen aan programmeurs: Nota: tenzij anders vermeld, werken de streams aan 30 frames per seconde Color stream Dit is de stream van de kleurencamera. Deze levert een byte-array met daarin een full HD afbeelding. Omdat de video stream beschikbaar wordt gesteld als afzonderlijke afbeeldingen, neemt het erg veel geheugen in beslag. Een full-hd afbeelding in 24-bit RGB is 6MB groot. Dat is bijna 180MB per seconde. 5

18 Infrared stream Dit is de ruwe data van de IR camera. Het wordt voorgesteld met een grayscale afbeelding van IR data. Depth stream Deze stream bevat bewerkte data van de IR camera. Dit is een byte-array die voor elke pixel de afstand tot de camera weergeeft. Body stream Deze stream bevat bewerkte data van de IR camera. Het is een lijst van alle lichamen die de Kinect op dat moment herkent. Per lichaam zijn er 25 gewrichten, die elk een positie, een rotatie en een trackingstatus hebben. Bovendien is er ook data beschikbaar over de handstate. Dit dient om aan te geven of de hand open of gesloten is. Dit is voor onze applicatie de belangrijkste stream. Body Index stream Dit is bewerkte data van de IR camera. Deze stream bevat een afbeelding die de herkende lichamen allemaal in een aparte kleur invult. Audio stream Deze stream bevat 60 keer per seconde een byte-array met ruwe audio. De data bevat 256 samples in 32-bit float PCM met een samplerate van 16 khz. Er zijn nog een aantal streams in andere delen van de API. Hier ben ik niet mee in contact gekomen. Deze streams zijn een interface voor Face Tracking, Gestures, Fusion en Voice Recognition. Face Tracking laat toe om verschillende features te herkennen in het gezicht. Hier kan een gemoedstoestand uit worden afgeleid. Gestures is een manier om bewegingen van een gebruiker te herkennen als een gebaar. Bijvoorbeeld een zwaaiende hand. Om gestures te herkennen moet er een machinelearning-algoritme getraind worden met video s waarin het gesture voor komt. Fusion is een systeem dat toe laat om een 3D-voxel model op te bouwen van de scene die de Kienct ziet. Voice Recognition zit standaard in Windows, maar er is een aangepaste versie van beschikbaar die is afgestemd op de Kinect. Dit laat toe om stemherkenning in real time te doen. 6

19 3.2 Unity3D Unity3D is een game-engine, ontwikkeld door Unity Technologies. Het is een engine gericht op indie studio s. Ondertussen is de vijfde versie al op de markt, waarin ze beslist hebben een groot aantal betalende features gratis te maken. Een aantal opmerkelijke features van de engine zijn: Cross-platform met 21 ondersteunde platformen. Waaronder: Windows Linux Mac Web plug in WebGL Playstation Xbox... Physically Based Shading. Real-time Global Illumination. Een geïntegreerde editor. Scripting in C# en Javascript. Een uitgebreid animatieframework. Box2D en NVIDIA PhysX voor game physics. Door de uitgebreide mogelijkheden wordt Unity niet langer gebruikt voor enkel games. Architectuur, healtchare en militaire training zijn een aantal vakgebieden waar Unity ook gebruikt wordt. Door de flexibiliteit van Unity hebben ook wij gekozen om de engine te gebruiken. Interessant aan Unity en andere game-engines is het programmeermodel. In een standaard GUI programma wordt code alleen uitgevoerd bij het opstarten en als reactie op een event (hier zijn natuurlijk uitzonderingen op). Binnen Unity werkt men echter met een 7

20 gameloop. Er is intern een stuk code dat in essentie neerkomt op een eeuwige whileloop. Hierin worden entities geüpdatet en vervolgens gerenderd. Een entity is een object in de spelwereld. Voor de samenstelling van een entity wordt het Entity-Componentmodel gebruikt. Dit is een antwoord op de complexiteit van het traditionele model van overerving. Een entity beschikt over de mogelijkheid om componenten toe te voegen aan zichzelf. Dit kan gaan over een mesh (het 3D-model), een script (code die wordt uitgevoerd door de entity), een Transform (de positie, rotatie en schaling van een entity) en nog veel meer. Unity heeft ook een ingebouwde world editor. Hier kunnen artiesten en level designers de werelden ontwerpen. Dit gebeurt door een terrein aan te maken, dit is een mesh. Daarna kunnen niet interactieve objecten worden toegevoegd. Bijvoorbeeld een aantal huizen in een dorpje die dienen als decoratie maar eigenlijk geen functie hebben. Vervolgens worden interactieve objecten toegevoegd. Dit zijn entities met scripts. Dit kan gaan van spelers, tot vijanden, tot deuren die open en dicht gaan. Een nadeel aan Unity, ten opzichte van andere populaire engines zoals Unreal Engine, is dat de code van de engine niet beschikbaar is voor developers (of ze moeten veel geld betalen). In Unreal Engine kan je er wel aan, en wordt het mogelijk de engine zelf aan te passen. Dit is vooral nodig als je een type game wilt maken waarvoor de engine niet geoptimaliseerd is. Ook wordt het mogelijk om bijvoorbeeld interacties met het internet op een veel lager niveau te implementeren. Dit is handig als je een Massively Mutiplayer Online Game (MMOG) wilt maken. Omdat een MMOG altijd online is en hoge performantie nodig heeft voor het grote aantal spelers dat tegelijk moet kunnen spelen, kunnen er bepaalde assumpties worden gemaakt. Deze assumpties leiden dan tot bepaalde beperkingen in features (altijd online zijn in dit geval) die het gemakkelijker maken het spel te optimaliseren. Een andere use case voor het aanpassen van de engine is voor het optimaliseren van code die in het spel intensief wordt gebruikt. Het is mogelijk dat je een vrij obscure feature (bijvoorbeeld renderen naar een RenderTexture) veel gebruikt. Maar omdat deze feature obscuur is, is deze slecht geoptimaliseerd door de programmeurs van de engine. 3.3 Mono Mono is een open-source alternatief voor het.net Framework en de Common Language Runtime. Door het open-source karakter van het project hebben ze het mogelijk gemaakt.net code te schrijven voor zowel Windows, Linux als Mac OS X. Ze bieden hun eigen 8

21 versie aan van de compiler, de Common Language Runtime en de standard library van.net. Hoewel de mogelijkheden van Mono erg interessant zijn, wordt er binnen Unity nog een oude versie gebruikt. Er is toegang tot het equivalent van.net 3.5. Daardoor mist Unity ondersteuning voor constructies als async (het asynchroon uitvoeren van code. De eerste thread kan dan verder code uitvoeren totdat we met await het resultaat van de andere thread gaan opvragen). Ook delen van de standard library die later zijn toegevoegd missen in deze versie van Mono, zoals bijvoorbeeld Tuple<T1, T2>. Externe libraries die gecompileerd zijn voor.net 4 en hoger zijn ook niet bruikbaar binnen Unity. Unity is van plan over te schakelen op een eigen compiler, IL2Cpp, die Intermediate Language (gecompileerde.net) kan omzetten naar C++ code om dit dan te compileren met een C++ compiler. Ze zullen dus niet meer afhangen van Mono om cross-platform support te leveren. Sinds het.net framework open source is geworden, is de Mono Foundation gestart met het vervangen van hun code. Bepaalde delen stemmen nu dus volledig overeen met de referentie-implementatie van Microsoft. Onder andere de RegularExpressions-, Linq-, Threading- en Xml-namespaces zijn al gemigreerd. 3.4 Git Git is een distributed version control system (DVCS). Distributed betekent dat het niet het traditionele client-server model gebruikt, waar de server de plaats is waar de echte toestand van de code te vinden is. Bij git is elke client zowel client als server; de code bij de client is de echte toestand voor die client. Code kan ook uitgewisseld worden tussen verschillende clients, zonder dat er een centrale server aan te pas komt. Omdat het een distributed model gebruikt blijft code beschikbaar bij andere clients wanneer een client offline gaat. Version control system slaat op een systeem dat door middel van commits een geschiedenis opbouwt van de code. Een commit is een eenheid van werk die een logisch geheel vormt. Wanneer men een commit aanmaakt zegt men ik heb nu dit deel afgemaakt, en dit is de code die erbij hoort. Git maakt ook gebruik van branching. Hierbij kan men een commit aanduiden en zeggen vanaf hier start ik een nieuwe geschiedenis. Dit maakt het mogelijk om aan een stuk code te werken, zonder dat dit terecht komt in andere branches en het werk van developers 9

22 daar verstoort. Op het moment dat de branch afgewerkt is kan het gemerged worden in een andere branch. Dit kan op meerdere manieren gebeuren, maar komt altijd neer op het afspelen van de veranderingen in de ene branch op de andere branch. Tijdens dit proces kan men conflicts tegen komen. Dat betekent dat er in twee commits hetzelfde stuk code is aangepast. Er is dan de mogelijkheid om te kiezen welke (stukken van de) commits de juiste zijn. 10

23 4. Stageopdracht Het stageproject is gelinkt aan een onderzoeksproject van Healthcare-Research en IT- Research, namelijk een Open Intelligent Framework (kortweg OpenIRF). Er is binnen dit project een grote interesse voor tools die het werk van Healthcare professionals kan versimpelen. Er wordt onderzocht hoe software kan helpen bij de revalidatie na, bijvoorbeeld, een auto-ongeluk, bij ziektes zoals Multiple Sclerosis, of na een beroerte. Momenteel moeten patiënt en therapeut altijd fysiek samen werken om oefeningen uit te voeren, omdat de therapeut de enige persoon is die de kwaliteit van een oefening kan opmeten. Bovendien is er vaak te weinig focus op de specifieke noden van een patiënt. De oefeningen zijn vaak erg generiek. Met de tool die we nu ontwikkelen zal het mogelijk worden voor patiënten om (deels) zelfstandig te revalideren. Een andere stagiair, Tom Quareme, heeft ook binnen het OpenIRF project gewerkt. Hij heeft onderzoek gedaan naar kleine sensoren die via bluetooth te verbinden zijn met de PC. Deze sensoren hebben accelerometers en gyroscopen waardoor ze gebruikt kunnen worden om bewegingen te herkennen. Dit gaat vooral gebruikt worden voor situaties waar de Kinect niet goed mee overweg kan. Een voorbeeld is een oefening die vaak gebruikt wordt als revalidatie: het bewegen van een koffiekop. De sensor zou dan in een koffiekop bevestigd kunnen worden om zo de beweging van de patiënt te analyseren. 11

24

25 5. Onderzoeksfinanciering in België Omdat OpenIRF een TETRA-project is, is het wel gepast om de belangrijkste financieringsmethodes voor onderzoek in België aan te halen. Onderzoeksprojecten binnen de IT krijgen waarschijnlijk te maken met het IWT of met het FWO. Het IWT focust op toegepast onderzoek en het FWO op fundamenteel onderzoek 5.1 IWT Het IWT, het agentschap voor Innovatie door Wetenschap en Techniek, is een overheidsagentschap dat elk jaar ongeveer 300 miljoen euro verdeelt aan subsidies voor zowel bedrijven als hogescholen en universiteiten. Naast financiële steun levert het IWT ook advies aan onderzoeksprojecten. OpenIRF is een TETRA-project, en krijgt dus steun van het IWT. TETRA ondersteunt praktijkgericht onderzoek door hogescholen en universiteiten voor ondernemingen. Het doel van TETRA is het ondersteunen van onderzoek dat bijdraagt aan maatschappelijke uitdagingen zoals duurzame mobiliteit, duurzame energie, zorginnovatie,... De onderwijsinstelling die het onderzoek uitvoert binnen een TETRA-project moet de vergaarde kennis over de technologie op een begrijpelijke wijze overdragen aan de leden van de gebruikersgroep. Dit is de groep van bedrijven die het project cofinancieren. Om steun te krijgen als TETRA project moet er ook aan een paar voorwaarden worden voldaan: De begroting bedraagt minimaal en maximaal euro. Het project heeft een looptijd van 2 jaar. 13

26 Voor projecten van onderzoeksgroepen van professionele bacheloropleidingen is het mogelijk om een voorbereidingsproject van één jaar in te dienen. De steun voor de projecten bedraagt maximaal 92.5%. Ondernemingen uit de doelgroep financieren voor 7.5% Indien het project binnen het CONERT project past is een verlenging tot drie jaar mogelijk. Indien dat nodig is voor coördinatie met buitenlandse partners 5.2 FWO Het FWO focust zich op fundamenteel onderzoek. Dit is onderzoek dat niet noodzakelijk een rechtstreekse praktische toepassing heeft. Denk bijvoorbeeld aan theoretische fysica en theoretische wiskunde. Omdat ons project geen fundamenteel onderzoek is kunnen we dus ook geen beroep doen op het FWO. Voor andere projecten in het verleden heeft IT Research wel al op steun kunnen rekenen van het FWO. In de tijd dat het FWO nog het NFWO was, heeft het 4 nobelprijswinnaars afgeleverd. Drie maal voor de geneeskunde en één maal voor de scheikunde. 14

27 6. Onderzoeksthema: filters De Microsoft Kinect is een goedkope camera. Bijgevolg is de data die hij genereert niet heel accuraat: het bevat veel uitschieters en jitter. Uitschieters krijg je wanneer de Kinect denkt dat een lichaamsdeel ergens anders is dan waar het eigenlijk is. Jitter is een kleine, willekeurige afwijking die zich zeer kort bij de echte waarde bevindt. Typisch aan jitter is dat de afwijking steeds varieert. y y fysiek fysiek gemeten gemeten Jitter x Uitschieters x Figuur 6.1: Een illustratie van jitter en uitschieters Beide problemen kunnen voorkomen worden met filters die de data analyseren en bewerken. Op dit moment zijn er vier filters geïmplementeerd. Drie hiervan zijn gebaseerd op een maximale delta (waar we met delta het verschil in afstand tussen twee tijdseenheden bedoelen) per frame. De vierde is gebaseerd op het Exponential Moving Average (Holt, 2004). Er zijn nog een aantal bruikbare filters die niet zijn geïmplementeerd. Dit om verscheidene redenen: sommige methodes zijn te complex, voor anderen was er geen tijd, enz. Deze worden besproken in sectie 6.2. Het is echter wel makkelijk genoeg een nieuwe filter toe te voegen, er moet alleen iemand het wiskundige model omzetten naar code. Nota: In de beschrijvingen van de filters wordt er gerefereerd naar vectoren. Dit slaat op zowel positievectoren (3 dimensies) als rotatievectoren (4 dimensies, ook wel Quaternions genoemd). Wanneer er verschillen zijn in de methode tussen 3 en 4 dimensies, dan wordt 15

28 dit expliciet vermeld. Wanneer een filter bedacht wordt, zijn er een aantal gevolgen waar rekening mee moet worden gehouden. Deze gevolgen kunnen we groeperen onder vertraging en afvlakking. De meeste filters zullen data van één of meer vorige frames analyseren en op basis hiervan de data van het nieuwe frame aanpassen. Hierdoor heeft de bewerkte data een vertraging ten opzichte van de originele data: y origineel gefilterd x Figuur 6.2: Een voorbeeld van vertraging Deze vertraging is inherent, maar kan gelimiteerd worden zodat een gebruiker het niet merkt. De maximale vertraging die een gebruiker niet opmerkt zoals beschreven in The psychology of human-computer interaction (Card, Moran, Newell e.a., 1981) bedraagt 100ms. Wanneer we spreken over afvlakking (of zelfs versterking bij voorspellende modellen) dan bedoelen we dat de gefilterde data niet dezelfde minima en maxima behaalt als de ruwe data: y origineel gefilterd x Figuur 6.3: Een voorbeeld van afvlakking Het is belangrijk om ervoor te zorgen dat het verschil met de originele data niet te groot wordt. Wanneer dit wel gebeurt is het zeer desoriënterend voor de gebruiker. 16

29 6.1 Geïmplementeerde filters Maximale delta Het principe van een filter gebaseerd op een maximale delta per frame (vanaf hier MaxDelta) is het limiteren van de afstand ( ) waarmee een variabele mag veranderen per tijdseenheid tot max. Op dit principe zijn drie filters gebaseerd. MaxDelta filter In de MaxDelta filter gebruiken we steeds het vorige frame om het huidige frame mee te vergelijken. Voor posities en rotaties berekenen we dan de richting van de vector die zich vormt tussen de twee frames en limiteren de afstand van die vector tot max : = v 1 v 0 v = min(, max ) Waar: v 0 is de vector van het vorige frame v 1 is de vector van het huidige frame Deze filter is goed geschikt voor het opvangen van uitschieters. Deze kunnen een delta hebben van meerdere malen max. Een uitschieter moet dan al meerdere frames na elkaar worden geregistreerd voor de gefilterde data de uitschieter bereikt. Jitter wordt hier niet mee gefilterd. MaxDeltaRatio filter Dit is een uitbreiding op MaxDelta. Bovenop de berekening die daar beschreven wordt gaan we delta s kleiner dan max limiteren tot een bepaald ratio van de delta. Bijvoorbeeld: max = 5cm, ratio = 10%. Een delta van 3 cm wordt dan gelimiteerd tot 0.3cm. 17

30 Het nut van ratio is naast de uitschieters die MaxDelta opvangt het opvangen van jitter. Jitter gaat natuurlijk nooit helemaal weg, omdat we niet kunnen weten wat de correcte waarde van de variabele hoort te zijn. Maar de ratio die we instellen reduceert de delta van een jitter tot een bepaald percentage van de originele delta. MaxDeltaMultiplier filter Deze filter is ook een uitbreiding op MaxDelta. In plaats van één enkele max te hebben voor alle variabelen, krijgt elk gewricht een eigen max. Het is eventueel ook mogelijk ratio hier aan toe te voegen, maar dit is voor het project niet gedaan. De verschillende max per variabele kunnen gebruikt worden omdat bepaalde gewrichten inherent een andere maximumsnelheid hebben. Met een enkele max kan dit niet opgevangen worden Exponential Moving Average filter Exponential Moving Average (EMA) is een filter die vooral in de financiële wereld wordt gebruikt om trends van aandelen te voorspellen. Het heeft echter ook al zijn nut bewezen in filteren van data. De filter houdt een geschiedenis bij van de x laatste waarden van een variabele. Hier wordt een gewogen gemiddelde van genomen, waarbij oude data een lager gewicht heeft dan nieuwe data. Dit gedrag kan men beschrijven met de vergelijking: EMA(v 1 ) = v 1, EMA(v n ) = αv n + (1 α) EMA(v n 1) Waar: v is lijst van vectoren n is huidige index 18 α is het gewicht

31 Nota: Deze methode is niet correct voor het filteren van de quaternions die gebruikt worden voor rotaties. Refereer hiervoor naar vergelijking 12 en 13 in Quaternion Averaging (Markley, Cheng, Crassidis & Oshman, 2007). Ze definiëren het gewogen gemiddelde van n quaternions q i met gewichten w i als: q = argmax q T Mq q S 3 n M w i q i qi T i= Analyse MaxDelta MaxDelta werkt verrassend goed, ondanks dat het algoritme heel erg simpel is. Met een max van 2cm per frame (60cm per seconde) worden er genoeg uitschieters opgevangen, zonder teveel vertraging te creëren. Ook op rotaties werkt dit goed, met een max van 5. Wat wel opvalt is dat filtering op rotaties minder goed werkt dan op posities. De hypothese is dat dit komt omdat rotatiedata meer ruis en uitschieters bevat dan positiedata. Dit is waarschijnlijk omdat de data veel moeilijker accuraat te berekenen is. Helaas zijn de interne details van de Kinect API niet bekend voor developers, wat het onmogelijk maakt om te bepalen waarom deze data minder accuraat is. Wanneer we de gewone MaxDelta filter gebruiken valt het op dat er veel ruis is wanneer de persoon heel traag beweegt. Dit is niet onverwacht, en wordt opgelost door de MaxDeltaRatio filter te gebruiken. Exponential Moving Average Door de voorgenoemde inaccuraatheid van rotatiedata werkt EMA niet zo goed op rotaties. Het systeem geraakt soms verward, wanneer het de richting van de interpolatie wilt bepalen. Dan zie je dat een gewricht ineens een volledige draai maakt in de omgekeerde richting. 19

32 Voor posities werkt EMA wel zeer goed. Met een geschiedenis van 10 frames en een α van 0.2 wordt er een goede middenweg gevonden tussen accuraatheid en vertraging. Hoe groter de geschiedenis, hoe meer vertraging, maar hoe meer accuraat het resultaat. 6.2 Niet-geïmplementeerde filters Refereer hiervoor naar het paper Skeletal Joint Smoothing (Azimi, 2014) van Microsoft. Hier zijn nog een aantal interessante methodes te vinden om de data mee te filteren. Twee filters uit dat paper worden hier toegelicht. Deze zijn niet geïmplementeerd vanwege een gebrek aan wiskundige achtergrond die nodig is voor deze materie Double Exponential Moving Average Deze filter is een uitbreiding op EMA. Het past een tweede functie toe op de data die EMA genereert en probeert zo rekening te houden met een bepaalde trend in de data. Er zijn meerdere versies van de filter, die allemaal kleine verschillen tonen ten opzichte van elkaar. Een versie: s 1 = v 1 b 1 = v 1 v 0 s n = αv n + (1 α)(s n 1 + b n 1 ) b n = β(s n s n 1 ) + (1 β)b t 1 Waar: s t is de gefilterde data v is lijst van vectoren n is huidige index α is de data smoothing factor β is de trend smoothing factor 20

33 Het voordeel van deze filter is dat ze sneller reageert op een nieuwe trend dan EMA. Een nadeel is dat ze sneller last heeft van overshoot: wanneer de filter een hoger maximum weergeeft dan de ruwe data Savitzky-Golay Smoothing filter Een Savitzky-Golay Smoothing filter neemt een aantal waardes uit het verleden en zoekt een polynoom die door al deze waardes gaat. Deze polynoom minimaliseert de leastsquares fout in de gefilterde data. 21

34

35 7. Dataflow applicatie Hoewel het voor een groot deel irrelevant is buiten de applicatie, is het toch belangrijk een schets te geven van de dataflow die in deze applicatie is toegepast. Het is in geen enkele manier indicatief voor hoe het probleem moet worden aangepakt in andere applicaties. Daarnaast is deze applicatie ook een prototype voor de software die uiteindelijk door andere leden van IT-Research wordt geprogrammeerd, en is het dus ook niet indicatief voor de dataflow tijdens het eindstadium van dit project. De verschillende secties behandelen stukken van de dataflow die gebaseerd zijn op data van een bepaalde Kinect data-stream. Op veel plaatsen is geopteerd voor een model dat wat lijkt op het Blackboard pattern. In het blackboard pattern schrijven alle subsystemen data weg naar een centraal subsysteem dat deze data beheert. De subsystemen kunnen zo aan data die niet in hun subsysteem wordt gegenereerd, om deze dan te analyseren en verwerken. Dit is vooral handig als de systemen erg verweven zijn, maar toch apart moeten kunnen opereren. Dit blackboard continu up-to-date houden met de juiste velden is wat omslachtig binnen deze applicatie. Daarom fungeert elke entity als een blackboard. Ze stellen data publiekelijk beschikbaar die door andere entities gebruikt zou kunnen worden. Andere entities verkrijgen referenties naar de data die ze nodig hebben, en kunnen zo altijd up-to-date data gebruiken. Op deze manier voorkomen we de complexiteit die ontstaat wanneer elke entity moet bijhouden welke andere entities zijn data nodig hebben. 7.1 Body Het belangrijkste gedeelte van de applicatie is het verwerken en interpreteren van de body stream. Deze data wordt gebruikt om een 3D-model te renderen dat de bewegingen van de gebruiker toont. De data moet gefilterd worden alvorens deze te tonen aan de gebruiker. Er is daarnaast ook functionaliteit om body-data op te nemen en af te spelen. Tenslotte is er de mogelijkheid live-data te vergelijken met opgenomen data. 23

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture Software architecture IM0203 TERUGKOPPELING PROEFTENTAMEN Vraag 1 Vraag 1a Veel van de in het werkboek besproken patterns kunnen ingezet worden voor het referentiesysteem. We lopen de patterns hier stuk

Nadere informatie

Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s

Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s Sofie De Cooman 21 December 2006 Stagebedrijf: Interne begeleider: Externe begeleider: BarcoView Koen Van De Wiele

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 28, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Analyse probleem remote execution

Analyse probleem remote execution Analyse probleem remote execution Karel Nijs 2005-09-28 1.1 Beschrijving van het project De bedoeling van de GUI is een gemakkelijke uitvoering van verschillende checks van ICs. De GUI moet in Tcl/Tk ontworpen

Nadere informatie

Onderzoeksvaardigheden 2

Onderzoeksvaardigheden 2 Performance van Phonegap Naam: Datum: april 2012 Studentnummer: 0235938 Opleiding: CMD Docenten: Pauline Krebbers Modulecode: MEDMO101DT Modulenaam: Onderzoeksvaardigheden 2 / Media & Onderzoek Inhoudsopgave

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook API leren door

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 21, 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren

Nadere informatie

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens a.classens@student.fontys.nl

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens a.classens@student.fontys.nl Bottleball Onderzoeksverslag MovingMonsters Uitgevoerd door Arno Classens a.classens@student.fontys.nl 1 1. Inhoudsopgave Wat? Bladzijde 1. Introductie 3 2. Methodologie 4 3. Resultaten 3.1 Oriëntatie

Nadere informatie

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik

n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik n-queens minimale dominantie verzamelingen Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik Rick van der Zwet 4 augustus 2010 Samenvatting Dit schrijven zal

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat.

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat. Stappenplan Een interface is in principe alles wat de communicatie tussen de gebruiker en de computer bepaalt of vorm geeft. Het is het deel van de website of webapplicatie dat de interactie met de gebruiker

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Soft-Solutions. Stageverslag

Soft-Solutions. Stageverslag Soft-Solutions Stageverslag Naam: Marc Schattorie Website: http://marc.schattorie.nl Klas: EI32BIT School: Gilde Opleidingen Datum: 18-04-2011 t/m 24-06-2011 Bedrijf: Soft-Solutions Website: http://www.soft-solutions.nl

Nadere informatie

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Deze vakinhoudelijke uitwerking is ontwikkeld door het Redactieteam van de Schooleamenbank vmbo voor dit

Nadere informatie

Stages/projecten voor het academiejaar 2015-2016. Voka Kamer van Koophandel Limburg Hilde Klykens

Stages/projecten voor het academiejaar 2015-2016. Voka Kamer van Koophandel Limburg Hilde Klykens Stages/projecten voor het academiejaar 2015-2016 Voka Kamer van Koophandel Limburg Hilde Klykens 15-6-2015 Inhoud 1. Q-Stageproject: zoek je een stageplaats of project?... 3 2. Q-Stage voor studenten...

Nadere informatie

Werking van de Office Connector, en het oplossen van fouten.

Werking van de Office Connector, en het oplossen van fouten. Werking van de Office Connector, en het oplossen van fouten. De Office Connector zorgt ervoor dat de Microsoft Officeomgeving gebruikt kan worden als ontwerp en genereeromgeving voor documenten waarbij

Nadere informatie

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 VERSLAG BICS INSTRUCTIIEFIILMPJES VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 Inhoudsopgave Gebruik BICS..blz. 3 Onderzoek naar korte instructiefilms...blz. 3 Onderzoek naar screenrecorders.blz.

Nadere informatie

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen

E-resultaat aanpak. Meer aanvragen en verkopen door uw online klant centraal te stellen E-resultaat aanpak Meer aanvragen en verkopen door uw online klant centraal te stellen 2010 ContentForces Niets uit deze uitgave mag worden verveelvoudigd en/of openbaar gemaakt door middel van druk, fotokopie,

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Clean code improves test quality

Clean code improves test quality Clean code improves test quality Michel Kroon, Senior Consultant, SIG TestNet Voorjaarsevenement 30 juni 2008 Arent Janszoon Ernststraat 595-H NL-1082 LD Amsterdam info@sig.nl www.sig.nl De Software Improvement

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

Software Design Document

Software Design Document Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1

Nadere informatie

Het SEESCOA project; jouw user interface, altijd en overal

Het SEESCOA project; jouw user interface, altijd en overal Het SEESCOA project; jouw user interface, altijd en overal Kris Luyten Karin coninx 17 januari 2002 Samenvatting De informatica kende een ware revolutie voordat men tot de desktop PC gekomen is. 20 jaar

Nadere informatie

Interactief, real time security management

Interactief, real time security management P2000 en P2000LE SECURITY MANAGEMENT SYSTEEM Interactief, real time security management P2000 Security Management Systeem Schaalbaar, intuïtief en eenvoudig in gebruik Het Johnson Controls P2000 security

Nadere informatie

Uitgebreid voorstel Masterproef Informatica. Titel van het project: Rolnummerherkenning van op een kraan

Uitgebreid voorstel Masterproef Informatica. Titel van het project: Rolnummerherkenning van op een kraan HoGent Uitgebreid voorstel Masterproef Informatica Titel van het project: Rolnummerherkenning van op een kraan Datum: 17/11/12 Naam student: Cédric Verstraeten Interne promotor: Tim De Pauw In samenwerking

Nadere informatie

Museumbezoek onder Studenten

Museumbezoek onder Studenten Museumbezoek onder Studenten Ontwerprapport CMD-Project Jelle Clignet CMD2B 1108174 Inhoudsopgave Inleiding 2 Concept 3 Beschrijving van het concept 3 Applicatie 3 Ondersteunende middelen 3 Middelen 4

Nadere informatie

HTML. Media. Hans Roeyen V 3.0

HTML. Media. Hans Roeyen V 3.0 Media Hans Roeyen V 3.0 12 maart 2015 Inhoud 1. (Multi)Media op websites... 3 2. Flash en Websites... 4 3. Video op je website... 4 3.1. YouTube insluiten op de pagina... 4 3.2. Video zonder YouTube...

Nadere informatie

Zelftest Java concepten

Zelftest Java concepten Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig

Nadere informatie

Programmeren in C ++ met wxwidgets les 5

Programmeren in C ++ met wxwidgets les 5 Elektrotechniek/Embedded Systems engineering inf2d Programmeren in C ++ met wxwidgets les 5 cursus 2009-2010 ir drs E.J Boks Les 5 Grafische toolkits Basisbeginselen gebruik grafische toolkit WxWidgets

Nadere informatie

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 API API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8 Identificatie Alle programma's communiceren met elkaar door gebruik te maken van JSON objecten. Het normale

Nadere informatie

Webdesign voor ondernemers

Webdesign voor ondernemers e-boek Webdesign voor ondernemers Veelgestelde vragen over het laten maken van een website Bart van den Bosch Inhoud 1. Zelf doen of uitbesteden? 4 2. Webdesigners 7 3. Wat is Wordpress 10 4. Maken van

Nadere informatie

Hoe ga ik dit verwerken? (Begrip maken) Dit volume is goed, dit moet ik zo houden.

Hoe ga ik dit verwerken? (Begrip maken) Dit volume is goed, dit moet ik zo houden. Wie Citaat feedback Wat? (Interpreteren) Hoe ga ik dit verwerken? (Begrip maken) Wat & waarom? (Vervolg vraag) Goed volume in je stem. Het volume van mijn stem is zodanig dat de informatie goed te horen

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

UBC op Microsoft Windows 64-bits

UBC op Microsoft Windows 64-bits UBC op Microsoft Windows 64-bits Inleiding Op de 64-bits varianten van Windows werkt de UBC (en vele andere pakketten) op een andere manier dan op de oudere 32-bits varianten van deze Windows versies.

Nadere informatie

Als je de stabiele pilight versie draait, dan zal alleen het versie nummer te zien zijn:

Als je de stabiele pilight versie draait, dan zal alleen het versie nummer te zien zijn: Veel gestelde vragen Veel gestelde vragen...1 Algemeen... 1 De pilight versie achterhalen...1 SSDP connectie problemen oplossen...2 SSDP volledig uitschakelen...2 PHP gebruiken in de webserver...2 Ondersteuning

Nadere informatie

Muziek downloaden MP3 WMA Liedjes of albums? Collectie Waar?

Muziek downloaden MP3 WMA Liedjes of albums? Collectie Waar? Muziek downloaden Muziek downloaden kan op verschillende manieren en bij verschillende diensten. Op deze pagina leggen we uit wat de mogelijkheden zijn. Formaten Verschillende download diensten bieden

Nadere informatie

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar

ProjectHeatmap. Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar ProjectHeatmap Onderzoeksrapport v0.5 11-03-11 Dennis Wagenaar 1 Inhoudsopgave Inleiding...3 Gheat...4 Info...4 Voordelen...4 Nadelen...4 Google Fusion Tables...5 Info...5 Voordelen...5 Nadelen...5 OLHeatmap...6

Nadere informatie

Uitgebreid voorstel Masterproef Informatica. Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent

Uitgebreid voorstel Masterproef Informatica. Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent HoGent Uitgebreid voorstel Masterproef Informatica Titel van het project : Ontwikkeling van remote controlled Alert & Task Agent Datum: Naam student: Glenn Jacob Interne promotor: Wim Van den Breen In

Nadere informatie

Projectplan. Elektronica-ICT Artesis. Auteur: Coopman Tom Interne Promotor: Peeters Tom Externe Promotor: Delepierre Bruno, Adforce

Projectplan. Elektronica-ICT Artesis. Auteur: Coopman Tom Interne Promotor: Peeters Tom Externe Promotor: Delepierre Bruno, Adforce Elektronica-ICT Artesis Projectplan Auteur: Coopman Tom Interne Promotor: Peeters Tom Externe Promotor: Delepierre Bruno, Adforce Projectplan ter voorbereiding van de bachelorproef en stage Academiejaar

Nadere informatie

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Slimmer samenwerken met SharePoint Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Workflows, forms, reports en data WAAROM KIEZEN VOOR K2? Of u nu workflows moet maken voor items in SharePoint

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 29, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase Mobiel Datanose Op dit moment is mobiel datanose niet goed gedaan; je krijgt gewoon de site te zien zoals je het te zien krijgt op pc's of laptops. Maar vaak heb je het probleem dat je op je mobiel moet

Nadere informatie

Beschrijving toolset Netwerk/Protocol/Applicatie test Datum 11 januari 2012 Auteur Louis de Wolff Versie 1.0

Beschrijving toolset Netwerk/Protocol/Applicatie test Datum 11 januari 2012 Auteur Louis de Wolff Versie 1.0 Beschrijving toolset Netwerk/Protocol/Applicatie test Datum 11 januari 2012 Auteur Louis de Wolff Versie 1.0 Netwerk evaluatie tools Inleiding In een pakket geschakelde netwerk gebeurt de communicatie

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) Afstudeerovereenkomst van Tim Wils Bijlage 1 Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet

Nadere informatie

Functionele beschrijving: scannen naar Exact Globe.

Functionele beschrijving: scannen naar Exact Globe. Functionele beschrijving: scannen naar Exact Globe. Algemeen Met de KYOCERA scannen naar Exact Globe beschikt u over een efficiënte oplossing om uw documenten te scannen naar Exact Globe. Met deze oplossing

Nadere informatie

HTML Graphics. Hans Roeyen V 3.0

HTML Graphics. Hans Roeyen V 3.0 HTML Graphics Hans Roeyen V 3.0 19 maart 2015 Inhoud 1. HTML5 Canvas... 3 1.1. Het Canvas element... 3 2. SVG Element... 9 2.1. SVG vergeleken met Canvas... 9 2.2. Een cirkel tekenen met SVG... 10 2.2.1.

Nadere informatie

Ladibug Document Camera Image Software Gebruikershandleiding

Ladibug Document Camera Image Software Gebruikershandleiding Ladibug Document Camera Image Software Gebruikershandleiding Inhoud 1. Introductie...2 2. Systeemvereisten...2 3. Ladibug installeren...3 4. Beginnen met de Ladibug te gebruiken...5 5. Bediening...6 5.1

Nadere informatie

React en React Native voor websites en apps

React en React Native voor websites en apps React en React Native voor websites en apps H A N S-PE T E R H ARMSEN HEEFT DI T GE SCH R E V EN IN APRI L 2017 Deze whitepaper is bedoeld voor product owners en beslissers. Hij gaat over React, een JavaScript

Nadere informatie

Autonoom vinden van een object met een quadcopter

Autonoom vinden van een object met een quadcopter Universiteit van Amsterdam Autonoom vinden van een object met een quadcopter Sebastiaan Joustra (10516999) Joeri Bes (10358234) Joeri Sleegers (10631186) Bram Smit (10666656) 27 juni 2014 1 Abstract Dit

Nadere informatie

Foto en Specificaties

Foto en Specificaties Foto en Specificaties 5,3 inch TFT IPS with qhd resolution (960 x 540) - Android OS, v4.1 (Jelly Bean) - Intern geheugen: 16GB storage, 1 GB RAM - CPU: Dual-core 1.2 GHz Cortex-A9 Processor - Chipset:

Nadere informatie

High Performance Computing

High Performance Computing High Performance Computing Kristian Rietveld (krietvel@liacs.nl, kamer 138) Groep Computer Systems - Embedded systems - Specifieke software mappen op specfieke hardware. - Hardware synthesis. - Real-time

Nadere informatie

Referentie Handleiding

Referentie Handleiding Version 1.1.5 Referentie Handleiding DiscretePhoton H.264 encoder DiscretePhoton www.discretephoton.com Referentie Handleiding Over DiscretePhoton H.264-encoder DiscretePhoton H.264 encoder Windows versie

Nadere informatie

Desktop, Laptop, Netbook, Ultrabook or Tablet? Which is best for what? Keuzes maken

Desktop, Laptop, Netbook, Ultrabook or Tablet? Which is best for what? Keuzes maken Desktop, Laptop, Netbook, Ultrabook or Tablet? Which is best for what?. Keuzes maken Wanneer je een computer wilt aanschaffen denk je tegenwoordig niet meteen meer aan de desktop. De desktop is een "grote"

Nadere informatie

Uitgebreid voorstel Masterproef Informatica

Uitgebreid voorstel Masterproef Informatica HoGent Uitgebreid voorstel Masterproef Informatica Titel van het project: Optimalisatie & ontwikkeling van een gegevenstransfertool voor Business Intelligence-gebruikers Datum : 01/11/2012 Naam student

Nadere informatie

Plan van Aanpak. Christophe Deloo, Roy Straver & Machiel Visser. Versie 4 (26-06-2010)

Plan van Aanpak. Christophe Deloo, Roy Straver & Machiel Visser. Versie 4 (26-06-2010) Plan van Aanpak Christophe Deloo, Roy Straver & Machiel Visser Versie 4 (26-06-2010) Inhoudsopgave Voorwoord... 2 1 Inleiding... 3 1.1 Aanleiding... 3 1.2 Accordering en bijstelling... 3 1.3 Toelichting

Nadere informatie

Windows Phone 8S HTC

Windows Phone 8S HTC Een nieuwe, meer persoonlijke user interface Design DNA van HTC HTC Proprietary and Confidential De lichtste Windows Phone met Beats Audio Iconisch Design HTC ontwierp de Windows Phone 8S door het virtuele

Nadere informatie

De abonnementsduur van het contract is afhankelijk van uw bundelkeuze (camera en abonnement).

De abonnementsduur van het contract is afhankelijk van uw bundelkeuze (camera en abonnement). Panasonic Cameramanager Go! Cloud videobeveiliging per direct beschikbaar! Panasonic Cameramanager biedt ondernemers de mogelijkheid op afstand een oogje in het zeil te houden. Met de alles in 1 oplossing

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

Webapplicaties Op maat van je proces

Webapplicaties Op maat van je proces Webapplicaties Op maat van je proces Content Wat is een webapplicatie Voordelen van webapplicaties Toepassingen/Use cases Wat is een webapplicatie Wat is een webapplicatie Webapplicaties laten toe om processen

Nadere informatie

Nederlandse samenvatting (Dutch summary)

Nederlandse samenvatting (Dutch summary) Nederlandse samenvatting (Dutch summary) Ditproefschriftpresenteerteen raamwerk voorhetontwikkelenvanparallellestreaming applicaties voor heterogene architecturen met meerdere rekeneenheden op een chip.

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Net2 kaarten bedrukken

Net2 kaarten bedrukken kaarten bedrukken kaarten bedrukken - Welke methode? Er bevinden zich twee pakketen om kaarten te bedrukken in de software. Een basis vast formaat dat al aanwezig is in de software sinds 2003 (V3.16) en

Nadere informatie

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem

Vraag 1 (2 punten) (iii) Een lees-opdracht van virtueel adres 2148 seg 0, offset 2148 - idem Tentamen A2 (deel b) 24-06-2004 Geef (liefst beknopte en heldere) motivatie bij je antwoorden; dus niet enkel ja of nee antwoorden, maar ook waarom. Geef van berekeningen niet alleen het eindresultaat,

Nadere informatie

MSN Messenger als marketing instrument

MSN Messenger als marketing instrument MSN Messenger als marketing instrument In dit artikel wil ik u meenemen over de mogelijkheden die instant messaging (met name msn messenger) u bieden voor het bereiken van uw doelgroep of het creëren van

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Plan van Aanpak Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook

Nadere informatie

Mobiliteit van de manager vraagt om nieuwe toepassingen Procesgegevens nu ook inzichtelijk en overzichtelijk op je ipad

Mobiliteit van de manager vraagt om nieuwe toepassingen Procesgegevens nu ook inzichtelijk en overzichtelijk op je ipad Mobiliteit van de manager vraagt om nieuwe toepassingen Procesgegevens nu ook inzichtelijk en overzichtelijk op je ipad Insurance Government Automotive Finance Energy Healthcare Logistics Mobiliteit van

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen

Monitoring. SolidBE B.V. Maarten Schoutenstraat SV Waddinxveen Monitoring SolidBE B.V. Maarten Schoutenstraat 19 2741SV Waddinxveen 1 Inhoudsopgave Monitoring...3 Introductie...3 Netwerkcomponenten...4 Back-up...4 Discovery...4 Poller...5 SNMP-traps...5 Maintenance...5

Nadere informatie

Conceptronic CFULLHDMA Hoe Samba/CIFS en NFS te gebruiken

Conceptronic CFULLHDMA Hoe Samba/CIFS en NFS te gebruiken Conceptronic CFULLHDMA Hoe Samba/CIFS en NFS te gebruiken Voor firmware versie 01.09.10.06 en hoger 1. Introductie De Conceptronic CFULLHDMA is een streaming Full HD mediaspeler, gebaseerd op de UPnP AV

Nadere informatie

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw In de whitepaper waarom u eigen documenten niet langer nodig heeft schreven we dat het rondmailen van documenten geen

Nadere informatie

ANDROID ALGEMEEN VERSIE BEHEER

ANDROID ALGEMEEN VERSIE BEHEER ANDROID ALGEMEEN Met het Android gedeelte moet de gebruiker toegang krijgen tot het verhaal. De gebruiker moet dit op een fijne en natuurlijke manier kunnen doen. Wij gebruiken de Google Cardboard SDK

Nadere informatie

Data quality tracking tool

Data quality tracking tool Data quality tracking tool Stageproject Over data cleansing werk Eén van de onderdelen van werk rond datakwaliteit uitgevoerd door Kapernikov is het systematisch oplossen van gedetecteerde datafouten in

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle   holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/21763 holds various files of this Leiden University dissertation. Author: Fortes, Wagner Rodrigues Title: Error bounds for discrete tomography Issue Date:

Nadere informatie

Introductie testtooling Wink

Introductie testtooling Wink Introductie testtooling Wink SYSQA B.V. Almere Datum : 10-04-2013 Status : 1.0 Opgesteld door : Organisatie SYSQA B.V. Pagina 2 van 16 Inhoudsopgave 1 Inleiding... 3 1.1 Opbouw... 3 2 Wink... 4 2.1 Wat

Nadere informatie

Beleef het nieuwe Klantverwijssysteem

Beleef het nieuwe Klantverwijssysteem Beleef het nieuwe Klantverwijssysteem BLOOM is een klantverwijssysteem ontwikkeld op basis van de laatste technologieën en behoeftes uit de markt. Bloom is een krachtig, slim en gebruiksvriendelijk klantverwijssysteem

Nadere informatie

Angular Best Practices Door Alex en Chris van Beek

Angular Best Practices Door Alex en Chris van Beek Angular Best Practices Door Alex en Chris van Beek Over ons Enthousiastelingen Software Architecten bij Luminis Arnhem B.V. Gespecialiseerd in Microsoft technologie:.net, Azure en Windows Twitter: @Beekje

Nadere informatie

ANOUK ROUMANS TO CODE OR NOT TO CODE.

ANOUK ROUMANS TO CODE OR NOT TO CODE. ANOUK ROUMANS ANOUK ROUMANS TO CODE OR NOT TO CODE. 00 HOOFDVRAAG 00 HOOFDVRAAG Is het relevant voor een UX-designer om development kennis te hebben op gebied van apps? 00 INHOUDSOPGAVE 00 INHOUDSOPGAVE

Nadere informatie

Planbord installatie instructies

Planbord installatie instructies Planbord installatie instructies Uit Comprise Wiki Inhoud 1 Basis installatie 1.1 Installeren 1.1.1 Microsoft Data Access Components 1.2 De eerste keer starten 2 Veelgestelde vragen 2.1 "Network resource

Nadere informatie

BACK-UP & DISASTER RECOVERY Een geoptimaliseerd end-to-end verhaal in onze Enterprise cloud

BACK-UP & DISASTER RECOVERY Een geoptimaliseerd end-to-end verhaal in onze Enterprise cloud BACK-UP & DISASTER RECOVERY Een geoptimaliseerd end-to-end verhaal in onze Enterprise cloud stel uw data veilig De data van uw bedrijf zijn heilig. Daar is elke ondernemer het over eens. Een bedrijf zonder

Nadere informatie

Concept Deze week hebben wij ervoor gekozen om de tiled display, die rechts van de ESC balie staat, te verbeteren door een interactieve applicatie eraan te verbinden. Op dit moment is het display, alhoewel

Nadere informatie

Incore Solutions Learning By Doing

Incore Solutions Learning By Doing Incore Solutions Learning By Doing Incore Solutions Gestart in November 2007 Consultants zijn ervaren met bedrijfsprocessen en met Business Intelligence Alle expertise onder 1 dak voor een succesvolle

Nadere informatie

Individueel procesverslag

Individueel procesverslag Individueel procesverslag Een weergave van mijn werkzaamheden binnen het G-Blok. Afdeling : Academie voor ICT & Media, Informatica Schooljaar : 2009 Blok : G Datum : 30 10-2009 Plaats : Honselersdijk Naam:

Nadere informatie

Variability in Multi-tenant SaaS Applications:

Variability in Multi-tenant SaaS Applications: Variability in Multi-tenant SaaS Applications: Gastcollege voor het vak Product Software Jaap Kabbedijk, MSc. Universiteit Utrecht, Nederland 1 Wat gaan we behandelen? Introductie Uitleg ontwikkeling SaaS

Nadere informatie

InterSmart: A Twitter based quiz application for PowerPoint audiences

InterSmart: A Twitter based quiz application for PowerPoint audiences Scriptie ingediend tot het behalen van de graad van PROFESSIONELE BACHELOR IN DE ELEKTRONICA-ICT InterSmart: A Twitter based quiz application for PowerPoint audiences David De Beuckelaer bachelor elektronica-ict

Nadere informatie

Beleef het nieuwe Klantverwijssysteem

Beleef het nieuwe Klantverwijssysteem Beleef het nieuwe Klantverwijssysteem BLOOM is een klantverwijssysteem ontwikkeld op basis van de laatste technologieën en behoeftes uit de markt. Bloom is een krachtig, slim en gebruiksvriendelijk klantverwijssysteem

Nadere informatie

Figuur 1: gekleurde pixels op een digitale sensor

Figuur 1: gekleurde pixels op een digitale sensor Wat zijn megapixels en waarom moet ik mij daar druk om maken? De afgelopen jaren zijn alle camera fabrikanten bezig geweest met een zogenaamde Megapixel oorlog. De ene fabrikant adverteerde met de nieuwste

Nadere informatie

In Photoshop kun je afbeeldingen bewerken en aanpassen door de diverse toevoegingen en effecten die je wilt toepassen op aparte lagen uit te voeren.

In Photoshop kun je afbeeldingen bewerken en aanpassen door de diverse toevoegingen en effecten die je wilt toepassen op aparte lagen uit te voeren. PhotoShop Les 2 Werken met lagen, kleuren en transparantie Een digitale foto is een eigenlijk een simpel ding. Als je hem van heel erg dichtbij bekijkt is het niets meer dan een aantal rijen en kolommen

Nadere informatie

Software Test Documentation

Software Test Documentation FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe

Nadere informatie

Waarom automatiseren?

Waarom automatiseren? Chris De Clercq Waarom automatiseren? Wanneer u uw manier van werken hebt geautomatiseerd, zal u zich afvragen hoe u het vroeger zonder heeft gedaan Automatiseren helpt u bij: - communicatie efficiënter

Nadere informatie

01/05. Websites Nederland over. Mobile marketing. Whitepaper #03/2013. Mabelie Samuels internet marketeer

01/05. Websites Nederland over. Mobile marketing. Whitepaper #03/2013. Mabelie Samuels internet marketeer 01/05 Websites Nederland over Mobile marketing Mabelie Samuels internet marketeer 02/05 Mobile marketing Kunt u zich uw eerste mobiele telefoon nog herinneren? Die van mij was een Motorola, versie onbekend,

Nadere informatie

tern Handboek Mañuel Handboek plan van aanpak v0.1 Een plan van aanpak v0.9 Tim Logemann, junior developer

tern Handboek Mañuel Handboek plan van aanpak v0.1 Een plan van aanpak v0.9 Tim Logemann, junior developer Mañuel Handboek tern Handboek Een plan van aanpak v0.9 plan van aanpak v0.1 Tim Logemann, junior developer gemann, tim@mass.im junior developer ass.im 68048, W4Ax, 68048@glr.nl 4Ax, 68048@glr.nl mass.im,

Nadere informatie

Inhoud. 04 Beweging ontmoet digitalisering. 12 Individuele en groepstraining met Pixformance. 16 Technische details. 06 Het Pixformance concept

Inhoud. 04 Beweging ontmoet digitalisering. 12 Individuele en groepstraining met Pixformance. 16 Technische details. 06 Het Pixformance concept B e d r i j f s f i t n e s s 2 Inhoud 04 Beweging ontmoet digitalisering 12 Individuele en groepstraining met Pixformance 06 Het Pixformance concept 16 Technische details 10 Voordelen voor uw bedrijf

Nadere informatie