Automatische planextractie uit 3D fotogrammetrie. Mathieu Theerens

Maat: px
Weergave met pagina beginnen:

Download "Automatische planextractie uit 3D fotogrammetrie. Mathieu Theerens"

Transcriptie

1 Automatische planextractie uit 3D fotogrammetrie Mathieu Theerens 23 mei 2013

2 ii

3 Voorwoord Vooraleer we starten met deze thesis wil ik eerst nog enkele personen en Thomas More Campus De nayer bedanken voor hun hulp bij het opstellen van deze thesis. Eerst zou ik Toon Goedemé willen bedanken voor zijn steun en advies bij deze thesis. Daarnaast wil ik ook mijn familie bedanken voor hun steun.

4 iv Abstract (Nederlands) Deze thesis is een onderdeel van het project 3D4SURE door de onderzoeksgroep EAVISE, dit project onderzoekt de mogelijkheden van 3D fotogrammetrie voor landmeters. In deze thesis gaan we onderzoeken of het mogelijk is om met behulp van 3D fotogrammetrie automatisch een 3D model te maken van een gebouw. Dit model kan worden gebruikt door een landmeter en het enige wat hij moet doen om het op te stellen is foto's trekken van een gebouw, aangezien het programma geen andere invoer vereist. Het 3D model wordt gemaakt in AutoCAD maar we werken eerst met een tussenstap namelijk een puntenwolk. Deze puntenwolk moet ons helpen de belangrijke punten te bepalen van het gebouw en met deze punten kunnen we het 3D model in AutoCAD maken. De puntenwolk wordt gemaakt met behulp van het programma Bundler, deze neemt als input een set van foto's en geeft als resultaat een puntenwolk en ook informatie over de transformatie van 2D (foto's) naar 3D (puntenwolk). De gegenereerde puntenwolk bevat nog vele ruispunten en extra bewerkingen zijn vereist om de belangrijke punten te kunnen identiceren in de puntenwolk. We gaan namelijk lijndetectie toepassen op de foto's en deze gedetecteerde lijnen projecteren van 2D naar 3D met behulp van de informatie verkregen van Bundler. De lijndetectie gebeurt in OpenCV, welke een gratis bibliotheek is voor C++. Deze bevat al enkele functies die randen en lijnen detecteren in foto's welke we kunnen gebruiken. Voor onze thesis hebben we de Progressive Probabilistic Hough Transformation gekozen als onze lijndetector. Hij maakt gebruik van Canny om de randen te detecteren en past dan de Hough transformatie toe om in de randen lijnen te detecteren. Eens alle lijnen gevonden zijn gaan we per foto de gedetecteerde lijnen projecteren naar de puntenwolk. Hiervoor gebruiken we PCL, welke ook een gratis bibliotheek is voor C++ die speciek over werken met puntenwolken gaat. Voor de projectie hebben we de rotatie, translatie en de intrinsieke matrices nodig van elke foto. Deze krijgen we allemaal van Bundler en het enigste dat we bijgevolg moeten doen is de juist formule berekenen om deze transformatie uit te voeren. Tijdens de projectie gaan we punten in de puntenwolk votes geven, namelijk elk punt dat dichtbij een berekende projectie ligt krijgt een vote. Alle punten die aan het eind van de projectiestap meer votes hebben dan een bepaalde threshold worden onze punten voor het 3D model in AutoCAD. We hebben deze stappen allemaal geschreven in C++ aangezien de functies die we nodig hadden in C++ bibliotheken zaten. We zijn resultaten bekomen voor elke stap, echter was de lijndetectie niet van voldoende kwaliteit zodat de rest van de stappen hier ook nadeel van ondervonden. De lijndetectie gaf namelijk 2 grote fouten, het detecteerde maar delen van lijnen en de verhouding ruislijnen tot goede lijnen was veel te hoog. Hierdoor was het algemene 3D model in AutoCAD van slechte kwaliteit. Een oplossing voor het probleem is een andere lijndetector implementeren, maar er was geen andere betere te vinden online en er was te weinig tijd om er zelf nog één te schrijven.

5 v Abstract (English) This thesis is a part of the project 3D4SURE by the research group EAVISE, this project researches the possibilties of 3D photogrammetry for surveyors. In this thesis we're going to research whether it's possible to use 3D photogrammetry in order to automatically create a 3D model of a building which can by used by a surveyor, and the only thing he had to do is taking pictures of said building. The 3D model is made in AutoCAD but we work with a pointcloud to obtain the points needed to create the 3D model in AutoCAD. This pointcloud is made using the program Bundler, this program takes a set of pictures as input and gives a pointcloud as result as well as information about the transformation between 2D (pictures) and 3D (pointcloud). However, the generated pointcloud still contains a lot of noise and extra processing is needed to identify the important points of the pointcloud. What we're going to do is perform line detection on the pictures and then we're going to project these detected lines on the pointcloud using the information of Bundler. The linedetection takes place in OpenCV which is a free library for C++, it already contains some functions about edge detection and line detection which we can use. For our thesis we've chosen the Progressive Probabilistic Hough Transformation as our line detection method, it uses Canny to detect the edges in the pictures and then applies the Hough transformation to detect the lines in these edges. Once all the lines are found we're going to project the detected lines for each picture to the pointcloud. We use PCL for the projection, since PCL is a free C++ library that is made specically to make working with pointclouds easier. For the projection we need the rotation, translation and the intrinsic matrices of each picture, but we already got that from Bundler and the only thing we need to do is work out the right formula to do this transformation. During the projection we're going to give the points in the pointcloud votes, each point that is close to a calculated projection gets a vote. Every point that has more votes than a certain threshold gets selected as point for the 3D model in AutoCAD. We have written all these steps in C++ as all the functions we need are from C++ libraries. We've obtained results for each step, however the line detection was not of sucient quality which caused the rest of the steps to get bad results as well. The line detection gave 2 big errors, one was that it detected only parts of the lines and the other one was that there were too many noiselines in comparison to the good lines. Because of this the nal 3D model in AutoCAD was of bad quality. A solution for the problem is to implement another linedetector, but we couldn't nd another better one online and there was too little time left to actually write one ourselves.

6 vi

7 Short Summary Introduction In this thesis we're going to research whether it's possible to create a 3D model of a building in AutoCAD using 3D photogrammetry. The thesis is part of the project 3D4SURE by the research group EAVISE, in this project the possibilities of 3D photogrammetry for surveyors are being researched. At the moment surveyors make a plan of a building using a 'total station', this takes quite some time and work. Therefore we would like to replace this method with 3D photogrammetry, the only thing the surveyor needs to do then is taking pictures of all the sides of the building. Afterwards he uploads the pictures to the computer and runs our program. This would take a lot less time than having to measure everything with the total station. The program itself consists of a few steps, rst the pictures are used to create a 3D pointcloud of the building. However, this pointcloud contains a lot of noise and we will need to nd a way to work around this noise. That's why for the next step we'll put aside the pointcloud for a moment and use the pictures to detect all the possible lines. These lines would give us in the ideal situation the structure of the building and after we've found them we'll then project them on the pointcloud using the extrinsic and intrinsic matrices of each picture. These matrices give information about the camera and the position of each picture in the scéne, we need this information in order to do the transformation between 2D (pictures) and 3D (pointcloud). During this projection we will vote points, with this we mean that we're going to give a point of the pointcloud a vote if they are close to the calculated projection. After this step is complete we'll have a few dozen points with a votecount higher than a chosen threshold and we'll then use these points to make the actual model in AutoCAD. Creating the pointcloud To create the pointcloud we can use SFM (Structure From Motion) programs found online, SFM means that we take pictures while moving and we create a structure (pointcloud) of these pictures. For this thesis we will use Bundler as SFM program as it is well documented and is easy to use. To get a decent pointcloud, pictures have to be taken every 15 of the building, ofcourse more pictures can be taken to increase the detail of the pointcloud. Once Bundler is complete it will generate said pointcloud and also a projection matrix, which contains the extrinsic and intrinsic matrices of the pictures, which we use for the projection. Something to note about the pointcloud is that the ground of the building

8 viii doesn't start at Z-coordinate 0, since Bundler has no way to tell which points represent the ground. For that same reason it may be that the building is slightly rotated, so that the coordinate system isn't pointing exactly at the front of the building. Line detection Since we're going to program in C++ we can use the free library OpenCV, which is used for image processing. In OpenCV there are already 2 line detectors that we can use, namely the Standard Hough Transform (SHT) and the Progressive Probabilistic Hough Transform (PPHT). Since the PPHT outputs the lines as [beginpoint, endpoint] we'll use this one instead of the SHT. First we're going to detect all the edges in the pictures, for this there are 3 functions in OpenCV: Canny, Sobel and Laplace. All 3 do a decent job of nding the edges, but for Hough Canny is the best one since it creates edges of 1 pixel thick. To detect the edges Canny calculates the gradient of every pixel and those with a gradient higher than a given threshold are edge points. On these edge points we'll then apply the Hough transform, which means that we're going to transform the points from the XY plane to the Hough plane. Every point in the XY plane becomes a sine in the Hough plane and every point in the Hough plane is a line in the XY plane. Once all the points are transformed to the Hough plane we'll look for the intersections of the dierent sines, because these intersections represent the lines in the XY plane. The fact that Canny creates edges of 1 pixel thick means that we have a lot less points to transform, which is better. Line projection After all the lines are detected we have to project them on the pointcloud, to do this we need a calibration model which says how the transformation between 2D and 3D is done. There are 2 common calibration models, the one of Hartley and Zisserman and the one of Tsai. Both dene the transformation but Hartley and Zisserman's model doesn't work with distortion and Tsai's model does. Distortion is the fact that points in a picture will get a slightly altered position than their expected one due to the lens of the camera. Because we want an accurate 3D model in AutoCAD we must try to use the most accurate method in every step, but we also are bound on the calibration model that Bundler uses to do the transformation. Luckily Bundler uses a calibration model that is only slightly dierent from Tsai's model and also takes account of distortion. We had to use this calibration model to compute a formula which we can use to calculate the 3D points of the detected lines. Unfortunately a point in 2D doesn't correspond to exactly one point in 3D, instead it corresponds to a whole line in 3D since we don't know anything about the depth of that point. But as said in the introduction we'll solve this problem by giving points votes, each point of the pointcloud that is within a certain distance to such a 3D line gets a vote. At the end the points with the most votes will be written to a le and normally those points should represent the important points of the building, such as the cornerpoints.

9 ix Construction 3D model AutoCAD The last step of the line projection was writing the 3D points to a le. All we have to do in AutoCAD is to drag the le we've written into the AutoCAD window, because the le doesn't only contain the points, it's actually a script which contains commands that AutoCAD can use. However, once we have all the points in AutoCAD we still have to give all the points a global rotation since the building might be rotated as said previously. This rotation is dierent for each pointcloud as it is dependent on the pictures and we haven't found out how to caculate it exactly so the surveyor has to do this after the program has run. Results We've written code for each step and we've become results for all of them, but we've found out that our implementation of the line detection doesn't give good results. The Hough detector we use gives 2 great errors, one is that only parts of a line are detected and the other error is that we get a lot of lines which aren't really important, or in other words noise. This noise came especially from tiles of the roof and from trees in the garden of the building. The fact that when we do the projection we expect the detected lines to be good, means that our projection step will also contain errors. We don't test if the input lines are good, we just project them and determine which of these lines are detected the most. Ofcourse, if our projection isn't good then our nal 3D model in AutoCAD won't be good either. Everything is dependent on the line detector, so in order to get good results, we have to nd another line detector. Unfortunately we didn't nd the code of another better line detector online and we didn't have enough time left to create our own line detector. Conclusion When trying to create a 3D model of a building in AutoCAD using only pictures there are several ways to do so. Our method was using a pointcloud (created by the pictures) as temporary workspace, in which we detect the important points of the building. We try to determine which points are important and which are not using line detection on the pictures and then projecting those lines onto the pointcloud. At the end of the projection we know the points that represent our building and we export them to AutoCAD to create a 3D model. Unfortunately the quality of the 3D model in AutoCAD was not high enough, there were too few points and not all points were good (as in, represented an important part of the building). This was due to the line detection giving bad results, what happened was that only parts of the lines were detected and that there was a lot of noise. The solution was to nd a better line detector, but we couldn't nd the code of a better line detector online nor did we have enough time left to create one ourselves. All in all it should be possible to create a 3D model of a building given that the line detector is good.

10 x

11 Inhoudsopgave 1 Inleiding Situering Aanpak Doelstellingen Conclusie Organisatie van deze tekst Literatuurstudie Fotogrammetrie Omzetting foto's naar puntenwolk Arc3D Catch 123D VisualSFM Bundler Conclusie Lijndetectie Randdetectie Hough transformatie Verschil PPHT en SHT Conclusie Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel Hartley en Zisserman Intrinsieke matrix Extrinsieke matrices Projectie matrix Conclusie Hartley en Zisserman

12 xii INHOUDSOPGAVE Tsai Conclusie Tsai Conclusie Overzicht van de uitwerking 23 4 Omzetting foto's naar puntenwolk Conclusie Lijndetectie Thresholds Conclusie Projectie naar 3D Bundler's cameramodel Berekening formule projectie Probleem projectie Conclusie Constructie 3D model AutoCAD 35 8 Resultaten Omzetting naar puntenwolk Lijndetectie Projectie Constructie 3D model AutoCAD Ander voorbeeld Besluit 50 Bibliograe 51

13 L¼st van guren 1.1 Een tachymeter, het toestel waarmee een landmeter het gebouw gaat opmeten Dit is een voorbeeld van hoe het uiteindelijke resultaat van deze thesis eruit zou moeten zien, een 3D model dat de structuur van het gebouw weergeeft Links staat de puntenwolk waarvan de ruis weggelterd is, rechts staat een puntenwolk met nog veel ruispunten in De projectie van 2D naar 3D. De foto's bestaan uit een lijn, waarvan men het begin en eindpunt gaat projecteren. Deze punten komen niet overeen met juist 1 punt in 3D maar vormen een lijn in 3D Het linkse deel is de puntenwolk met de referentiepunten aangeduid, het rechtse deel is de originele foto Mogelijke input en output van fotogrammetrie Het resultaat van randdetectie op een beeld, links staat het originele beeld, rechts het resultaat van de randdetectie op de foto Voorstelling van een lijn met r, θ Mapping van het (x,y) vlak naar het (r, θ) vlak Skew bij een beeld Rotatie en translatie Rotatie rond de z-as Lens distorsie, links barrel distortion, rechts pincushion Het overzicht van alle stappen die doorlopen worden in deze thesis Het verkregen resultaat van Bundler met de bijhorende posities van waaruit elke foto getrokken is. Dit model is gemaakt met 60 foto's, maar allemaal getrokken vanuit het oosten van het gebouw Hier ziet men 2 foto's met de positie van de bijhorende camera's en het assenstelsel van Bundler dat als Y-niveau 0 het midden heeft van de lijn.. 26

14 xiv LœST VAN FIGUREN 5.1 Output van het lijndetectie programma, rechts is de originele foto. Hier wordt een redelijk hoge threshold gebruikt voor Canny, hierdoor heeft men weinig ruislijnen, maar als gevolg ook weinig lijnen in totaal Output van het lijndetectie programma, rechts is de originele foto. Hier wordt een lagere threshold gebruikt dan de foto hierboven, men heeft nu meer lijnen in het algemeen, maar bijgevolg ook meer ruislijnen Projectie van hetzelfde punt in 2 foto's naar 3D. Punt A heeft nu 2 votes Een voorbeeld van het nale model na alle stappen te doorlopen Het gebouw dat we gebruiken als test voor de thesis De puntenwolk die gegenereerd werd van het gebouw. De groene, blauwe en rode lijn vormen het assenstelsel. De blauwe lijn is de Z-as, de groene de Y-as en de rode de X-as De puntenwolk die gegenereerd werd van het gebouw Fout bij de lijndetectie, er wordt maar een deel van de lijn gedetecteerd, wat resulteerd in fouten De lijndetectie die maar delen van de lijnen detecteerd in plaats van de hele lijn, zoals te zien bij de ramen en deuren De lijndetectie die te veel ruis oplevert De projectie uitgevoerd op het gebouw Het model gecreëerd met AutoCAD met als vergelijking een foto van het gebouw. Zoals men ziet zijn er te veel punten geprojecteerd zodat het niet echt duidelijk is welk punt waar zit op de foto De puntenwolk Een ander aanzicht van de puntenwolk De lijndetectie die hier al veel beter werkt dan in het vorige voorbeeld, bijna elka belangrijke lijn wordt volledig gedetecteerd Nog een voorbeeld van de lijndetectie De projecties op de puntenwolk Een ander aanzicht van de projecties Het AutoCAD model, men ziet hier al duidelijker waar elk punt zit op de foto. Het raam en één van de twee garagas worden ook getoond in het model. Het is al een grote verbetering van het vorige model

15 Hoofdstuk 1 Inleiding 1.1 Situering Eenvoudig gezegd is het doel van deze thesis het onderzoeken of we door middel van foto's een plan kunnen opstellen van een gebouw, wat kan gebruikt worden door landmeters. Want één van de vele taken van een landmeter op dit moment is het opstellen van een topograsch plan van een gebouw, waarvoor hij een tachymeter gebruikt (ook wel 'total station' genoemd). Een voorbeeld hiervan vindt men in foto 1.1. Figuur 1.1: Een tachymeter, het toestel waarmee een landmeter het gebouw gaat opmeten. Dit opmeten met een tachymeter kost echter vrij veel tijd aangezien men voor elk hoekpunt van het gebouw een meting moet doen. Daarom is men op zoek naar nieuwe snellere manieren om deze metingen te doen waarbij men de tachymeter niet meer nodig heeft. In deze thesis gaan we onderzoeken of het mogelijk is om dit werk te doen door middel van 3D fotogrammetrie, waarbij men een 3D-model genereert uit een hoop digitale beelden. Fotogrammetrie is het bepalen van de vorm en locatie van objecten en gebieden met behulp van foto's. Het wordt tegenwoordig gebruikt in vele vakgebieden zoals chirurgie, biologie, forensisch onderzoek, civiele techniek en natuurlijk de architectuur en bouwtechniek. De fotogrammetrie die wij gaan gebruiken heet Multiple View Geometry, hierbij wordt automatisch een model gegenereerd op basis van de foto's die getrokken zijn, er is

16 2 Inleiding geen hulp vereist van de gebruiker. Men gaat namelijk kenmerken detecteren in elke foto, ook wel features genoemd, deze kenmerken bevatten informatie over de kleurenovergang en de uniekheid van een punt. Wanneer elke foto maar lichtjes verschilt van de vorige foto, zullen vaak dezelfde features gedetecteerd worden en door deze features met elkaar te vergelijken kan zo hetzelfde punt in verschillende foto's teruggevonden worden. Door informatie te gebruiken in verband met de positie van elke camera in de 3D scéne kunnen we zo een 3D model genereren. Dit model is echter niet zuiver, het bevat nog vele ruispunten van bijvoorbeeld de omgeving en schaduwen of reecties. Maar het uiteindelijke resultaat zou een zuiver en nauwkeurig 3D AutoCAD model moeten zijn, wat het plan voorstelt. Een voorbeeld van hoe zo'n AutoCAD model er zou moeten uitzien is te zien in guur 1.2. Figuur 1.2: Dit is een voorbeeld van hoe het uiteindelijke resultaat van deze thesis eruit zou moeten zien, een 3D model dat de structuur van het gebouw weergeeft. Het werken met fotogrammetrie zou het werk van een landmeter vele malen vereenvoudigen, omdat het nemen van foto's veel vlugger gebeurt dan opmetingen met de tachymeter. We moeten wel zorgen dat de fotogrammetrie methode even accuraat is als de methode met de tachymeter en moeten daarom bij elke stap van de thesis streven naar een zo nauwkeurig mogelijke oplossing. Zoals hierboven al aangegeven heeft fotogrammetrie echter ook een nadeel namelijk informatie-overvloed, dit is bijvoorbeeld te zien in guur 1.3. De verschillende foto's gaan een 3D puntenwolk genereren die tienduizenden punten kan bevatten, deze zijn natuurlijk niet allemaal goede punten. Hoe we deze ruis gaan oplossen bespreken we in Aanpak Om een zuiver beeld te krijgen van het gebouw gaan we eerst een deel buiten de puntenwolk werken, we gaan namelijk eerst de foto's verder analyseren met als doel al de rechte lijnstukken in elke foto te detecteren. Deze lijnen geven in het ideale geval perfect

17 1.3 Doelstellingen 3 Figuur 1.3: Links staat de puntenwolk waarvan de ruis weggelterd is, rechts staat een puntenwolk met nog veel ruispunten in. de structuur van het gebouw weer, zoals bijvoorbeeld de lijnen van guur 1.2. We kunnen dan door deze lijnen te gebruiken in de puntenwolk zeggen welke punten belangrijk zijn en welke niet. Een alternatief is binnen de puntenwolk blijven en door middel van RANSAC de lijnen gaan bepalen in de puntenwolk. Maar als men binnen de puntenwolk blijft doet men eigenlijk niets met de foto's en aangezien we deze extra informatiebron hebben is het beter om deze ook te gebruiken. Het is ook zo dat er op de foto's weinig ruis is in verhouding tot de ruis in de puntenwolk, waardoor de lijndetectie op de foto's betere resultaten zou moeten geven dan de lijndetectie in de puntenwolk. Als we deze gedetecteerde lijnen willen gebruiken moeten we ze op één of andere manier in de puntenwolk zien te krijgen, wat we gaan doen is de lijnen projecteren van 2D (foto) naar 3D (puntenwolk). Elk lijnstuk heeft een begin en eindpunt en deze punten kunnen we door middel van een formule omvormen van 2D naar 3D. We kijken dan welk punt van de puntenwolk hiermee overeenkomt en negeren zo als het ware de ruis omdat deze niet geprojecteerd zal worden. Een voorbeeld om het principe van projectie beter te begrijpen is te vinden in guur 1.4. Eens de projectie gedaan is zullen er een honderdtal punten overblijven en deze kunnen we dan ingeven in AutoCAD voor het zuiver 3D model. Een alternatief hiervoor zou zijn dat we de foto's op elkaar gaan leggen, met de nodige rotatie en translatie en dat we kijken welke lijnen steeds terugkomen in de verschillende foto's. Men heeft dan minder lijnen die men moet projecteren en men zou ook minder ruislijnen hebben, maar een nadeel hiervan is dat het veel moeilijker is om de verschillende foto's te roteren en transleren en dus op elkaar te leggen. Om deze reden hebben we niet voor deze methode gekozen. 1.3 Doelstellingen In deze thesis gaan we proberen het antwoord te vinden op enkele onderzoeksvragen, de voornaamste is natuurlijk: Hoe kunnen we een nauwkeurig 3D model (.dxf) van een gebouw generen in Auto-

18 4 Inleiding CAD met behulp van foto's? Men kan deze vraag niet ineens oplossen, met moet ze opsplitsen in enkele deelvragen: Hoe kunnen we een ruw model verkrijgen van het gebouw op de computer, wat we gaan gebruiken als basis voor de rest van de thesis? Dit model heeft echter heel veel ruispunten (zoals te zien was op guur 1.3) en is dus zeker niet bruikbaar als naal resultaat. Hierdoor ontstaat de vraag: Hoe kunnen we ondanks de vele ruispunten toch een nauwkeurig beeld krijgen van het gebouw? En als laatste vraag is er: Als we de omlijning hebben van het gebouw in de puntenwolk, hoe zetten we dit dan om naar een plan? Figuur 1.4: De projectie van 2D naar 3D. De foto's bestaan uit een lijn, waarvan men het begin en eindpunt gaat projecteren. Deze punten komen niet overeen met juist 1 punt in 3D maar vormen een lijn in 3D. 1.4 Conclusie Bij het opstellen van een topograsch plan gaat een landmeter meestal gebruik maken van een tachymeter, dit is echter veel werk en tijdsrovend. Daarom gaan we in deze

19 1.5 Organisatie van deze tekst 5 thesis onderzoeken of het mogelijk is om dit werk te vergemakkelijken en te versnellen door gebruik te maken van 3D fotogrammetrie. De landmeter moet dan niet meer alles opmeten met een tachymeter, maar moet enkel nog maar foto's nemen van het gebouw en de software doet de rest. De thesis kan opgesplitst worden in enkele stappen die doorlopen moeten worden. Eerst zullen we de genomen foto's van het gebouw moeten omzetten naar een 3D model, namelijk een puntenwolk. Daarna gaan we de foto's verder analyseren door de verschillende lijnen in de foto's detecteren. Deze lijnen worden geprojecteerd op de puntenwolk en men kan zo de ruis uit de puntenwolk verwijderen, want alles wat niet op de lijnen ligt hebben we niet nodig. We verkrijgen hierdoor een aantal lijnen in de puntenwolk die de structuur van het gebouw weergeven, en met deze 3D lijnen kunnen we een AutoCAD model maken. 1.5 Organisatie van deze tekst Het vervolg van de masterproeftekst is als volgt opgebouwd: Eerst volgt een literatuurstudie in hoofdstuk 2 waarin wordt onderzocht welke technieken we moeten gebruiken om deze masterproef op te lossen. Daarna volgt de uitwerking van de masterproef in hoofdstuk 3, 4, 5, 6 en 7. Daarna volgt een overzicht van onze resultaten die we verkregen op een set van gebouwen in 8. En tot slot is er het besluit van de thesis in hoofdstuk 9.

20 6 Inleiding

21 Hoofdstuk 2 Literatuurstudie Aangezien we nu goed weten wat de doelstellingen zijn van deze thesis is het best eerst eens na te gaan of er al dingen bestaan die we kunnen gebruiken voor deze thesis. Met name gaan we kijken naar wat er al te vinden is over 3D fotogrammetrie in de literatuur. We beginnen de literatuurstudie met het uitleggen wat fotogrammetrie juist is in sectie 2.1, daarna gaan we in sectie 2.2 kijken hoe we de foto's kunnen omzetten in een ruw model, met nog vele ruispunten. In sectie 2.3 gaan we het lijndetectie algoritme uitleggen en in de rest van de literatuurstudie wordt de transformatie van 2D naar 3D uitgelegd en dit kan men vinden in sectie Fotogrammetrie Zoals in de inleiding gezegd is fotogrammetrie de techniek om met foto's de locatie, vorm en afmetingen van een object of gebied te bepalen. Er zijn 2 soorten fotogrammetrie, namelijk terrestrische fotogrammetrie en aerofotogrammetrie. Bij terrestrische fotogrammetrie gaat men foto's nemen vanop de grond, terwijl bij aerofotogrammetrie men foto's gaat nemen vanuit een vliegtuig. Terrestrische wordt vooral gebruikt om 3D modellen te creëeren van bijvoorbeeld gebouwen, terwijl aerofotogrammetrie meer gebruikt wordt om een gebied in kaart te brengen. Wij gaan voor deze thesis foto's nemen vanop de grond, dichtbij het gebouw dus doen we aan terrestrische fotogrammetrie. Men heeft zowel manuele 3D fotogrammetrie als automatische 3D fotogrammetrie. Bij de manuele fotogrammetrie gaat men zelf referentiepunten aanduiden in al de verschillende foto's. Van deze referentiepunten weet men de positie in de wereld en ze duiden steeds dezelfde punten aan, maar dan in verschillende foto's. Wanneer men ook de lenseigenschappen en de positie van de camera weet kan men hieruit een 3D model genereren door de verschillende punten te gaan matchen met elkaar. Een voorbeeld hiervan is te vinden in guur 2.1. Naast de manuele fotogrammetrie is er dus ook de automatische fotogrammetrie, oftewel Multiple View Geometry. Deze gebruiken we in deze thesis en is al in de inleiding besproken, maar voor de volledigheid gaan we hier nog eens uitleggen wat Multiple View Geometry is. Het 3D model gaat hier zonder tussenkomst van een persoon gegenereerd

22 8 Literatuurstudie worden. Men heeft geen referentiepunten meer nodig, het gebeurt automatisch aan de hand van features. Deze features zijn belangrijke punten in een foto, punten die uniek zijn omwille van kleurovergang en contrast. Aangezien elke foto maar lichtjes verschillend was van de vorige foto worden vaak dezelfde features gedetecteerd in de foto's. Als men aan feature matching gaat doen, dan kan men zo weten van waaruit elke foto getrokken is en kan men het 3D model genereren. Maar met fotogrammetrie kan men meer dan alleen de 3D positie van punten bepalen op de foto's. Op guur 2.2 ziet men wat de input en output kan zijn van fotogrammetrie. Elke lijn met aan beide kanten een pijlpunt kan zowel input als output zijn, men kan zoals hierboven uitgelegd de 3D positie verkrijgen, maar men kan ook de 2D positie op de foto verkrijgen van een object. Daarnaast kan men ook de positie van de camera in de wereld verkrijgen en tot slot kan men ook de eigenschappen van de camera zelf verkrijgen, zoals de focale lengte en schalingsfactoren. Fotogrammetrie wordt gebruikt wanneer snel goede meetgegevens van een bestaand object nodig zijn, wanneer men grote complexe objecten of gebieden heeft die moeilijk op te meten zijn kan fotogrammetrie veel tijd besparen. Figuur 2.1: Het linkse deel is de puntenwolk met de referentiepunten aangeduid, het rechtse deel is de originele foto.

23 2.2 Omzetting foto's naar puntenwolk 9 Figuur 2.2: Mogelijke input en output van fotogrammetrie. 2.2 Omzetting foto's naar puntenwolk De eerste stap die we moeten uitvoeren is, zoals uitgelegd in de doelstellingen, het creëren van een 3D model door middel van foto's, dit wordt ook wel Structure From Motion(SFM) genoemd. Hiervoor bestaan echter al programma's die dit zonder problemen doen. We moeten dus zelf geen code gaan schrijven maar kunnen een reeds bestaand programma hiervoor gebruiken. Men kan kiezen uit een hele lijst van deze programma's, maar diegene die wij gaan bespreken zijn: Arc3D Catch 123D VisualSFM Bundler Arc3D Arc3D is een webgebaseerd SFM programma dat gemaakt is door Van Gool en Tingdahl [9]. Eens men de foto's genomen heeft van het object waarvan men een 3D model zou willen creëren, kan men deze doorsturen naar de servers van Arc3D. Op deze servers gebeurt de omzetting naar een 3D model en wanneer deze omzetting klaar is wordt de output teruggestuurd naar de gebruiker. Het voordeel van Arc3D is dat er veel informatie is over welk camera model er gebruikt wordt, wat belangrijk is voor een latere stap in de thesis, namelijk de projectie van 2D naar 3D. Het nadeel van Arc3D is dat men niet direct de output heeft, maar dat men moet wachten tot deze output ook eectief teruggestuurd wordt naar de pc. Als men niet direct een antwoord nodig heeft, dan is Arc3D geen probleem.

24 10 Literatuurstudie Catch 123D Catch 123D is het SFM programma van AutoDesk. Het heeft zowel een webgebaseerde versie, die bijna gelijk is aan die van Arc3D, als een versie op de PC zelf. Het nadeel van Catch 123D is dat er bijna geen informatie gegeven wordt over het camera model, waardoor het niet erg nuttig is voor deze thesis VisualSFM Dan heeft men nog VisualSFM [16] [3] [17], dit is een SFM programma dat geschreven werd door Changchang Wu. Het is computer gebaseerd en geeft een meer grasche weergave van alle stappen die doorlopen worden. Ook bij VisualSFM krijgt men informatie over het camera model dat gebruikt is, wat een voordeel is. Maar een nadeel is dat de output, dus de puntenwolk, geroteerd is en getransleerd is. Hierdoor moet men eerst nog de output aanpassen voordat men ermee kan werken. Dit is extra werk en kan voor problemen zorgen Bundler Als laatste is er nog Bundler [11] [12], een SFM programma geschreven door Noah Snavely, welke de beste resultaten gaf van alle programma's. Het is niet webgebaseerd, waardoor men niet moet wachten op de upload van foto's en het terugsturen van de output, en de output is niet geroteerd of getransleerd zoals bij VisualSFM. Ook hier weer krijgt men informatie over het camera model dat gebruikt werd. Hierdoor zal Bundler het meeste geschikt zijn voor deze thesis als SFM programma Conclusie In deze thesis gaan we Bundler gebruiken als SFM programma, aangezien het een cliënt gebaseerd programma is en het voldoende informatie geeft over het camera systeem dat het gebruikt om de omzetting van 2D naar 3D te doen. Daarboven is het ook nog vrij eenvoudig te gebruiken en kan men via andere programma's zoals PMVS en CMVS een dichtere puntenwolk creëren met de output van Bundler. 2.3 Lijndetectie Om een zuiver beeld te krijgen van het gebouw gaan we eerst een deel buiten de puntenwolk werken, we gaan namelijk eerst de foto's verder analyseren met als doel al de rechte lijnstukken in elke foto te detecteren. Deze lijnen geven in het ideale geval perfect de structuur van het gebouw weer en kunnen we gebruiken om te zeggen welke punten in de puntenwolk ruis zijn en welke niet. Een alternatief is binnen de puntenwolk blijven en door middel van RANSAC de lijnen gaan bepalen in de puntenwolk. Maar als men binnen de puntenwolk blijft doet men eigenlijk niets met de foto's en aangezien we

25 2.3 Lijndetectie 11 deze extra informatiebron hebben is het beter om deze ook te gebruiken. Het is ook zo dat er op de foto's weinig ruis is in verhouding tot de ruis in de puntenwolk, waardoor de lijndetectie op de foto's betere resultaten zal geven dan de lijndetectie in de puntenwolk. Nadat we de foto's hebben gebruikt om een puntenwolkmodel te creëren, gaan we de foto's hergebruiken om alle mogelijke lijnen te detecteren van het gebouw. Er zijn tal van algoritmes die lijnen gaan detecteren in foto's, welke bijna allemaal gebaseert zijn op de Hough transformatie. Aangezien wij gaan programmeren in OpenCV zijn we gelimiteerd tot wat er in deze bibliotheek zit van algoritmes, voor lijndetectie zijn dit er 2: de Standard Hough Transform (SHT) [14] en de Progressive Probabilistic Hough Transform (PPHT) [1]. Beide algoritmen maken gebruik van randdetectie en een transformatie naar het Hough vlak, hieronder volgt een uitleg over deze twee Randdetectie De eerste stap in lijndetectie algoritmes is randdetectie, men gaat de randen van objecten opsporen en als uitkomst een zwart-wit foto genereren zoals weergegeven in foto 2.3. Een witte pixel stelt een rand voor en alles wat geen rand is wordt voorgesteld door een zwarte pixel. De witte pixels kan men gebruiken voor de volgende stappen, met name de Hough transformatie, maar meer informatie daarover in sectie De randdetectie is belangrijk omdat we na deze stap alle overbodige pixels weggooien uit de foto, aangezien men enkel in de randen van objecten lijnen vindt, niet in de platte vlakken. Figuur 2.3: Het resultaat van randdetectie op een beeld, links staat het originele beeld, rechts het resultaat van de randdetectie op de foto. Men heeft verschillende soorten randdetectors, één van de meest bekende en meest gebruikte is waarschijnlijk die van Canny. Daarnaast heeft men ook nog die van Sobel, Laplace en nog vele anderen, maar enkel deze zitten al in OpenCV. Op basis van een studie [6] is gebleken dat de Canny Edge Detector geprefereerd wordt boven de andere detectoren omdat deze continue randen geeft met een dikte van één pixel. Dit is zeer gunstig voor onze masterproef aangezien we een zo nauwkeurig mogelijke oplossing willen hebben. We gaan niet dieper in op de werking van de Canny edge detector, meer infor-

26 12 Literatuurstudie matie over Canny vindt men in referentie [2]. De Canny Edge Detector wordt gebruikt als randdetectie voor SHT en PPHT in OpenCV Hough transformatie Nadat we de randen gedetecteerd hebben, is de volgende stap het zoeken naar een manier om de rechte lijnstukken gemakkelijk te kunnen deniëren. We hebben dit namelijk nodig indien we willen achterhalen tot welke lijn een punt in de foto behoort. Dit is mogelijk via een transformatie waarbij men de punten in een (x,y) vlak gaat omzetten naar punten in een ander vlak. Bij PPHT en SHT gaan we de lijnen transformeren met de Hough transformatie [7], welke zegt dat een lijn kan voorgesteld worden als een vergelijking met 2 parameters. Zo heeft men bijvoorbeeld: y = ax + b (2.1) Hierin is a de richtingscoëcient en b de oset waar de lijn de Y-as snijdt. Echter kan men met deze voorstelling geen verticale lijnen voorstellen, aangezien de richtingscoecient en de oset dan beiden naar oneindig zouden gaan. Daarom gebruikt Hough een andere voorstelling: r = xcosθ + ysinθ (2.2) Waarbij r de afstand is van de oorsprong tot de lijn en θ de hoek is tussen de X-as en r, zoals te zien is op guur 2.4. Alle lijnen kunnen voorgesteld worden als θ [0,180] en r R. Figuur 2.4: Voorstelling van een lijn met r, θ. Men kan bijgevolg het Hough vlak opstellen, waarbij men 2 dimensies heeft (r, θ). Een lijn in het (x,y) vlak wordt een punt in het (r, θ) vlak, en een punt in het (x,y) vlak komt overeen met een sinusoidale curve in het Hough vlak [14]. Deze mapping is voorgesteld in guur 2.5.

27 2.3 Lijndetectie 13 Om lijnen te detecteren, gaat men voor elk punt afzonderlijk deze mapping doen en kijkt men waar de intersecties zijn in het Hough vlak. Deze intersecties stellen lijnen voor in het (x,y) vlak en door de inverse transformatie kan men te weten komen waar deze lijnen liggen in het (x,y) vlak. Figuur 2.5: Mapping van het (x,y) vlak naar het (r, θ) vlak Verschil PPHT en SHT Zoals eerder gezegd maken beide algoritmes gebruik van zowel de randdetectie als de transformatie naar het Hough vlak, het verschil ligt echter in hoeveel punten er getransformeerd worden naar het Hough vlak. Als men elk punt dat men verkrijgt bij de randdetectie gaat omzetten naar het Hough vlak, dan spreekt men van de SHT. Dit kan echter wat tijd kosten, aangezien zelfs na de randdetectie er nog steeds veel punten overblijven. Daarom probeert men bij PPHT dit te versnellen door maar een klein deel van deze punten te transformeren. Welke punten gekozen worden, wordt hieronder uitgelegd: 1. Kies één willekeurig punt uit de randpunten, indien er geen meer zijn stopt het algoritme. 2. Voer de Hough transformatie uit voor dit gekozen punt en verhoog de accumulator 1 daar waar het nodig is. Het verhogen van de waardes noemt men het stemmen van een punt. 3. Verwijder het gekozen punt uit de foto met randpunten. 4. Kijk of er al ergens in de accumulator een waarde is die hoger is dan de threshold 2 waarde. Zo niet, ga terug naar stap Doe de inverse Hough transformatie en vindt het langste segment dat men verkrijgt als men deze lijn afgaat in de foto met randpunten. Dit segment is ofwel een continue 1 Een accumalator is eigenlijk een digitale voorstelling van het Hough vlak, in de vorm van een 2- dimensionale array. Elke cel in de array stelt een deel van het Hough vlak voor. 2 Door de quantizatie van het Hough vlak, en door ruis kan de accumulator op verkeerde plaatsen een hoge waarde verkrijgen. Om dit tegen te gaan maakt men gebruik van een threshold waarde.

28 14 Literatuurstudie lijn, ofwel een lijn met een kleine opening in dat niet groter is dan een bepaalde threshold. 6. Verwijder al de randpunten die op dit segment liggen uit de foto met randpunten. 7. Verwijder de stemmen van de punten die op de lijn liggen. Dit wilt zeggen dat men de accumulatorwaardes terug gaat verlagen. 8. Als het lijn segment groter is dan de minimale lengte voor een lijn (deze legt men op voorhand vast), voeg de lijn toe aan het output bestand. 9. Ga terug naar stap Conclusie Aangezien we een keuze moeten maken tussen de 2 algoritmes gaan we voor deze thesis PPHT gebruiken omdat PPHT sneller is en bijna dezelfde resultaten levert als SHT [4]. Nog een voordeel van PPHT is dat in OpenCV deze als resultaat de begin en eindpunten geeft voor elke lijn die gevonden wordt. Dit in tegenstelling tot SHT in OpenCV, die de parameters van het Hough vlak terug geeft (r, θ). Als we al meteen de begin en eindpunten van een lijn hebben is dit gemakkelijker voor het volgende deel, de projectie van 2D naar 3D. 2.4 Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel Nadat we de lijnen gedetecteerd hebben in de foto's moeten we deze lijnen gaan projecteren naar de 3D puntenwolk. Een probleem hierbij is dat een foto werkt met 2D (x,y) en de puntenwolk met 3D (x,y,z), we missen dus de z-dimensie oftewel de diepte [10]. (Referentie [10] verwijst naar een thesis van EAVISE waarin men een vereenvoudigd model van een persoon in 3D gaat reconstrueren door middel van camera's die rond de persoon staan. Hiervoor moest men ook de projectie doen van 2D naar 3D, het enige verschil is dat ze een ander calibratiemodel gebruikt hebben dan in deze thesis. Voor meer informatie rond hoe men een vereenvoudigd model kan maken van een persoon, kan deze thesistekst gelezen worden.) Deze extra dimensie kan men niet zomaar verkijgen uit de foto, we gaan ze in deze thesis verkrijgen door middel van trial en error. Men gaat namelijk 2 vergelijkingen opstellen, één voor de X-component en één voor de Y-component, welke beiden in functie van Z geschreven worden. Z is dan de vrijheidsgraad in beide vergelijkingen en als men Z verhoogt of verlaagt zullen de X- en de Y-component ook veranderen. Uiteindelijk zullen we dan de juiste (x,y,z) combinatie verkrijgen en hebben we ons 2D punt omgevormt naar een 3D punt. We kunnen echter niet meteen beginnen met het opstellen van deze vergelijkingen, we hebben eerst meer informatie nodig over wat de relatie is tussen de foto en de scène in

29 2.4 Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel 15 de wereld. Aangezien we de foto's nemen met een gewoon fototoestel moeten we eerst de interne parameters van dit toestel weten te vinden. Deze parameters bepalen hoe een fototoestel de omzetting doet van 3D naar 2D en men kan deze parameters bepalen door de camera te calibreren. Op dit moment zijn er 2 calibratiemodellen die veel gebruikt worden, namelijk het model van Hartley en Zisserman [13] en het model van Tsai [15]. Eerst zullen we hieronder het model van Hartley en Zisserman uitleggen en daarna het model van Tsai Hartley en Zisserman Het calibratiemodel van Hartley en Zisserman maakt gebruik van een projectiematrix [10], deze bevat alle mogelijke informatie over de camera. Met deze projectiematrix kan men dan gemakkelijk de punten omzetten van 3D naar 2D en omgekeerd. De projectiematrix kan opgedeeld worden in 2 aparte matrices, een intrinsieke matrix en een extrinsieke matrix. De intrinsieke matrix geeft informatie over camera specieke dingen, zoals de focale lengte. Deze intrinsieke matrix moet men daarom telkens opnieuw berekenen indien men van camera verandert, maar kan telkens herbruikt worden indien men steeds dezelfde camera gebruikt (tenzij de zoom van de camera veranderd wordt, want dan verandert ook de focale lengte van de lens). Dan heeft men nog de extrinsieke matrices, deze geven informatie over de positie van de camera ten opzichte van het wereldassenstelsel. Extrinsieke matrices zijn niet camera afhankelijk, maar zullen afhankelijk zijn van de positie waarin de fotograaf zich bevindt. Dit wilt zeggen dat men dezelfde extrinsieke matrices krijgt, indien men met verschillende camera's op dezelfde plaats een foto neemt. We zullen eerst beginnen met de intrinsieke matrix uit te leggen en daarna de extrinsieke Intrinsieke matrix Deze matrix A geeft, zoals hierboven beschreven, informatie over camera specieke dingen en heeft de vorm: Met a x s u x A = 0 a y u y (2.3) a x, a y de schaalfactor voor de x en de y-richting, welke berekend worden met de formule a x = fk x (2.4) a y = fk y (2.5) Hierin is f de focale lengte van de camera en k is een camera specieke parameter met als eenheid [pixels/lengte] die kan berekend worden door k = resolutie filmsize (2.6)

30 16 Literatuurstudie u x, u y de x- en y-component van het principal point. Meestal is dit gelijk aan het middenpunt van het beeld, maar bij sommige camera's is dit anders. s de skew factor, die aangeeft of er een helling is tussen de X en de Y as van het beeld. s wordt berekend door volgende formule: s = tan(θ) (2.7) Tegenwoordig is deze skew factor bij de meeste camera's echter verwaarloosbaar klein [10]. Een voorbeeld van een foto met skew groter dan 0 vindt men in guur 2.6. Figuur 2.6: Skew bij een beeld Extrinsieke matrices Men heeft 2 soorten extrinsieke matrices, een rotatiematrix R en een translatiematrix T. Een voorbeeld van zo'n translatie en rotatie van het assenstelsel vindt men in guur 2.7. De rotatiematrix geeft de rotatie van de camera ten opzichte van het wereldassenstelsel. Men heeft 3 soorten rotaties, een rotatie rond de X-as, één rond de Y-as, en één rond de z-as. Elke rotatierichting heeft een 3x3 matrix, en de vermenigvuldiging van alle 3 de matrices geeft de rotatiematrix R. Een voorbeeld van een rotatie rond de z-as vindt men in guur 2.8. De algemene formules voor de rotatie van een punt rond de Z-as zijn: x = xcos(θ) ysin(θ) (2.8) y = xsin(θ) + ycos(θ) (2.9)

31 2.4 Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel 17 Figuur 2.7: Rotatie en translatie. Figuur 2.8: Rotatie rond de z-as Met θ de hoekverschuiving tussen de 2 punten. Indien we deze vergelijkingen in een matrixvorm zetten krijgen we: Hetzelfde geldt voor de rotatie rond de x-as: en voor de y-as: x cos(θ) sin(θ) 0 x y = sin(θ) cos(θ) 0. y (2.10) z z x x y = 0 cos(θ) sin(θ). y (2.11) z 0 sin(θ) cos(θ) z

32 18 Literatuurstudie x cos(θ) 0 sin(θ) x y = y (2.12) z sin(θ) 0 cos(θ) z Als men 2.10, 2.11, 2.12 met elkaar vermenigvuldigt krijgt men zoals gezegd de rotatiematrix R: R = R x.r y.r z (2.13) r 1 r 2 r 3 R = r 4 r 5 r 6 (2.14) r 7 r 8 r 9 Naast de rotatiematrix heeft men ook nog de translatiematrix die de verplaatsing van de camera ten opzichte van het wereldassenstel weergeeft. Als een punt verschoven wordt, dan krijgt men: met x x y z = T. y z (2.15) t x T = t y t z (2.16) Projectie matrix Als we alle 3 de matrices (2.3, 2.14, 2.16) met elkaar combineren krijgen we de projectie matrix. Dit is een 3x4 matrix en heeft de volgende vorm: m 1 m 2 m 3 m 4 P = m 5 m 6 m 7 m 8 (2.17) m 9 m 10 m 11 m 12 Met deze matrix kan men dan gemakkelijk de omzetting van 2D naar 3D doen, en omgekeerd. Een willekeurig punt P in 3D wordt het punt p in 2D: X x m 1 m 2 m 3 m 4 y = m 5 m 6 m 7 m 8. Y Z (2.18) 1 m 9 m 10 m 11 m 12 1

33 2.4 Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel Conclusie Hartley en Zisserman Met de methode van Hartley en Zisserman is het zeer gemakkelijk om de omzetting van 2D naar 3D te doen en omgekeerd omdat men een projectiematrix heeft. Eens men de projectiematrix kent, is de projectie gemakkelijk te berekenen. Een nadeel is wel dat er geen rekening gehouden wordt met de mogelijke vervorming van de punten in de foto door de lens. Hierdoor zal het eindresultaat niet volledig accuraat zijn. Maar indien men geen accuraat model nodig heeft, is deze methode perfect Tsai Bij Tsai werkt men niet met een projectiematrix waarmee men gemakkelijk de omzetting kan doen, maar werkt men in stappen. Men kan deze stappen wel allemaal tesamen brengen, zodat men één formule krijgt. Dit wordt in de implementatie dan ook gedaan om gemakkelijk de omzetting te doen. Volgens Tsai zijn er 4 stappen die men moet doorlopen om te gaan van een 3D punt in de scène naar een 2D punt op een foto. 1. De eerste stap is het omzetten van het 3D punt in een wereldassenstelsel (X w, Y w, Z w ) naar een 3D punt dat het assenstelsel van de camera gebruikt (x, y, z). Hiervoor is een rotatie en/of een translatie nodig. De rotatiematrix is dezelfde als diegene die we gebruikt hebben voor Hartley en Zisserman, namelijk de matrix in vergelijking De translatiematrix is lichtjes verschillend, aangezien men bij Tsai de translatiematrix optelt bij het punt, in plaats van te vermenigvuldigen: De eerste stap kan dan geschreven worden als: T x T = T y (2.19) T z x X w y = R Y w + T (2.20) z Z w 2. De volgende stap is het omzetten van het 3D punt in de camera naar een ideaal 2D punt in de foto. Ideaal wilt hier zeggen dat er nog geen rekening gehouden wordt met de distorsie, maar meer hierover in de volgende stap. De nieuwe coördinaten (X u, Y u ) worden berekend als volgt: X u = f x z (2.21) Y u = f y z (2.22)

34 20 Literatuurstudie Met f de focale lengte van de camera, deze kan gevonden worden in de intrinsieke matrix. Deze is verschillend aan de intrinsieke matrix van Hartley en Zisserman, aangezien deze geen skew factor meer bezit en ook geen schaalfactor. Enkel de focale lengte in x en y-richting en de x en y-coördinaten van het principal point (in pixels): f x s C x A = 0 f y C y (2.23) Aangezien fx en fy meestal gelijk zijn aan elkaar gaan we in het verloop van de tekst de focale lengte voor zowel x als y aangeven met f. 3. De 3e stap in het omzetten is het in rekening brengen van de distorsie. Distorsie is de vervorming van punten op een foto, dit komt door de lens in de camera. Deze vervorming is het beste te merken bij lijnen. Men heeft 2 soorten distorsie, de lijnen kunnen naar buiten gebogen zijn wat men barrel distortion noemt, of naar binnen gebogen wat men pincushion distortion noemt. Beide gevallen zijn te zien op guur 2.9. Figuur 2.9: Lens distorsie, links barrel distortion, rechts pincushion. De parameters voor distorsie vindt men in een aparte vector terug, de distorsievector. Deze bevat de componenten voor radiale distorsie en tangentiële distorsie, welke beiden de vervorming van de lijnen karakterisen. Maar volgens Tsai [15] is het voldoende indien men enkel de eerste component gebruikt (k 1 ), aangezien deze de meeste invloed heeft op de distorsie en bijna hetzelfde eect heeft als wanneer men toch ook de andere coëcienten zou gebruiken. De distorsievector heeft de volgende vorm: De vergelijkingen voor de 3e stap zijn: D = [ k 1 k 2 p 1 p 2 k 3 ]

35 2.4 Projectie van 2D lijnen in foto's naar 3D in het puntenwolkmodel 21 Xd + Dx = Xu (2.24) Y d + Dy = Y u (2.25) Hierin zijn Dx en Dy gelijk aan: Met r: D x = X d (K 1 r 2 + K 2 r ) D y = Y d (K 1 r 2 + K 2 r ) r = X 2 d + Y 2 d 4. Bij de laatste stap zet men het punt in de camera over naar een punt op de computer, hiervoor moet men rekening houden met de resolutie van de pc en het principal point X f = s x d '-1 x X d + C x (2.26) Hierin is: Met Y f = d -1 y Y d + C y (2.27) d x = d x N cx N fx (C x, C y ) de middelpunten in pixels die men terugvindt in matrix s x een scale factor. (d x, d y ) de afstand tussen de middelpunten van 2 naast elkaar gelegen CCD elementen van de sensor van de camera in respectievelijk de X-richting en de Y-richting. N cx het aantal sensor elementen in de X richting en N fx het aantal pixels in de x-richting Conclusie Tsai Hier zijn de voor en de nadelen het omgekeerde van bij Hartley en Zisserman. Het voordeel van Tsai is namelijk dat men wel met distorsie rekening houdt, waardoor men zeer accurate oplossingen kan vinden voor de projectie van 2D naar 3D. Het nadeel echter

36 22 Literatuurstudie is dat men geen projectiematrix heeft die de projectie eenvoudig maakt, maar men heeft verschillende vergelijkingen. Deze vergelijkingen zal men moeten invullen in elkaar, wat leidt tot wat rekenwerk Conclusie De twee modellen zijn beiden goed om de omzetting van 2D naar 3D te doen, echter moeten we in deze thesis proberen zo accuraat mogelijk te werken aangezien het plan de juiste afmetingen en de juiste coördinaten moet bevatten. Daarom moeten we het model van Tsai gebruiken omdat deze rekening houdt met de mogelijke distorsie in een foto. Deze distorsie zou anders leiden tot de foute coördinaten in het model van Hartley en Zisserman. De omzetting die we gaan doen is echter niet volledig gelijk aan die van Tsai, want het camera model van Bundler (het programma om een puntenwolk te creëren uit foto's) laat de laatste stap van Tsai weg.

37 Hoofdstuk 3 Overzicht van de uitwerking De thesis wordt uitgewerkt in enkele stappen, deze zijn weergegeven in een blokkendiagram dat te zien is in guur 3.1 Nadat er foto's getrokken zijn geweest van alle hoeken van het gebouw, zodat alles goed op beeld staat, gaat de eerste stap van de thesis uitgevoerd moeten worden. Deze eerste stap is het omzetten van de foto's naar een puntenwolk welke beschreven staat in hoofdstuk 4. Hiervoor gaan we het Structure from Motion programma Bundler gebruiken, dit is te vinden online en kan vrij gebruikt worden. Het neemt als invoer de foto's en genereert op basis hiervan een puntenwolk en bepaalt de parameters van de camera waarmee de foto's getrokken zijn, dit zijn de intrinsieke en extrinsieke matrices.. De puntenwolk die gegenereerd wordt is een goede eerste 3D benadering van het gebouw, maar er zijn wel nog tal van ruispunten en hierdoor belanden we bij stap 2. Hier gaan we de output van Bundler even niet gebruiken en gaan we verderwerken met de initiële foto's, we gaan namelijk lijnen detecteren in de verschillende foto's, de uitwerking hiervan staat beschreven in hoofdstuk 5. We moeten ervoor zorgen dat er zoveel mogelijk juiste lijnen gedetecteerd worden, want deze lijnen gaan de basis vormen voor de volgende stap. Eens we de lijndetectie hebben uitgevoerd zullen we deze lijnen projecteren van 2D naar 3D in stap 3 welke beschreven staat in hoofdstuk 6. Hiervoor gaan we de output van de lijndetectie gebruiken en ook terug de output van Bundler, zowel de puntenwolk als de parameters van de camera. Deze parameters zijn namelijk nodig om te zeggen waar exact de gedetecteerde lijn zich bevindt in 3D. Het resultaat van deze stap is dat we alle belangrijke punten in de puntenwolk overhouden, een punt is belangrijk als het iets zegt over de structuur van het gebouw, bijvoorbeeld een hoekpunt van het dak. Als laatste rest er enkel nog het ingeven van deze punten in AutoCAD, we maken hiervoor een.dwg bestand en geven met behulp van een script alle punten in en we zeggen welke paren een lijn vormen.

38 24 Overzicht van de uitwerking Figuur 3.1: Het overzicht van alle stappen die doorlopen worden in deze thesis.

39 Hoofdstuk 4 Omzetting foto's naar puntenwolk Zoals gezegd in het overzicht maken we gebruik van het SFM programma Bundler. Deze kan aan de hand van foto's een puntenwolk maken, echter zijn er een heleboel foto's nodig aangezien er minstens een foto moet genomen worden om de 15 van het gebouw. Dit is nodig omdat anders de gelijkenis tussen de foto's te klein gaat zijn waardoor de gecreëerde puntenwolk niet correct gaat zijn. Het nemen van een foto om de 15 betekent dat we minstens 24 foto's nodig hebben voor een 3D model te maken van een gebouw, echter zijn deze 24 foto's allemaal vanuit 1 hoogte getrokken en zeggen ze bijvoorbeeld niets over het dak van het gebouw. Daarom kan het zijn dat we gemakkelijk aan een 50 à 100-tal foto's komen om een gedetailleerd 3D model te maken. Een voorbeeld van hoe zo'n puntenwolk eruit ziet is te zien in guur 4.1. Figuur 4.1: Het verkregen resultaat van Bundler met de bijhorende posities van waaruit elke foto getrokken is. Dit model is gemaakt met 60 foto's, maar allemaal getrokken vanuit het oosten van het gebouw. Er zijn echter wel enkele aspecten in verband met de puntenwolk waar we rekening mee moeten houden, zo heeft de puntenwolk een schalingsfactor. Dit wilt zeggen dat de afstand tussen 2 punten in de puntenwolk verschillend is aan de afstand tussen diezelfde punten in de realiteit. Deze factor verschilt echter van scène tot scène en moet telkens opnieuw berekend worden. Ze is echter wel hetzelfde voor alle punten in één puntenwolk, waardoor men de factor maar 1 keer moet berekenen. Een ander belangrijk punt bij Bundler is dat de grond van het model niet juist overeenkomt met Y-niveau 0, dit komt doordat Bundler niet kan weten welke punten van de puntenwolk de grond voorstellen. Bundler bekijkt de foto's ook anders want normaal gezien is in een foto de coördinaat (0,0) linksboven, maar

40 26 Omzetting foto's naar puntenwolk Bundler zegt dat de coördinaat (0,0) zich in het midden van de foto bevindt. Hierdoor zal in de puntenwolk het Y-niveau 0 ook overeenkomen met ongeveer het midden van het gebouw. Een voorbeeld om dit aan te tonen is te vinden in guur 4.2. Het is ook zo dat meestal het gebouw iets gedraaid staat ten opzichte van het assenstelsel, dit wilt zeggen dat de voorkant van het gebouw niet parallel loopt met het XY vlak. Dit hangt af van hoeveel foto's getrokken zijn en vanuit welke hoek deze getrokken zijn, indien bijvoorbeeld meer foto's van de linkerkant getrokken zijn dan van de rechterkant dan zal de puntenwolk gedraaid zijn. Dit is belangrijk om te onthouden voor het naal model in AutoCAD, aangezien we daar nog een globale rotatie moeten toepassen op alle punten want anders is de positionering van het model niet correct. Naast de puntenwolk geeft Bundler ook nog andere output, namelijk de extrinsieke en intrinsieke matrices van elke foto en ook de positie van de camera voor die bepaalde foto. De extrinsieke en intrinsieke matrices hebben we nodig voor de projectie, zoals gezegd in 2.4. Figuur 4.2: Hier ziet men 2 foto's met de positie van de bijhorende camera's en het assenstelsel van Bundler dat als Y-niveau 0 het midden heeft van de lijn. 4.1 Conclusie Om een deftige puntenwolk te verkrijgen is het noodzakelijk dat er minstens een 50 à 100 tal foto's van het gebouw getrokken worden. De foto's zullen door Bundler verwerkt worden en deze geeft ons de puntenwolk alsook informatie over de camera welke we kunnen gebruiken om de projectie te doen. Er zijn wel 2 factoren waar rekening moet mee gehouden worden bij de puntenwolk, namelijk een scalingsfactor die de afstanden tussen de punten verandert en een globale rotatie van het model die afhankelijk is van de getrokken foto's. Beiden hebben een invloed op de correctheid van het naal model in AutoCAD.

41 Hoofdstuk 5 Lijndetectie Nadat we een model gegeneeerd hebben moeten we de lijnen detecteren in al de verschillende foto's, het is belangrijk dat de gedetecteerde lijnen zo goed mogelijk overeen komen met de eectieve lijnen aangezien deze de basis vormen voor de volgende stappen. Indien er iets misloopt met de lijndetectie ondervindt de projectie daar ook nadeel van. 5.1 Thresholds Zoals in 2.3 gezegd gaan we gebruik maken van de PPHT, welke gebruik maakt van de Canny Edge Detector om randen te detecteren in een foto. Maar voor we eectief de randen gaan detecteren moeten we eerst de foto's blurren, dit doen we omdat er soms ruis kan aanwezig zijn op de foto's. Ruis in de vorm van zeer sterke overgangen tussen naburige pixels door bijvoorbeeld schaduw of lichtinval. Om deze ruis te vermijden blurren we aangezien de overgang dan verspreid wordt over de naburige pixels. Als gevolg zal er geen randpunt meer gedetecteerd worden want de gradiënt zal niet meer zo groot zijn als daarvoor. Eens we de randen hebben gaan we de PPHT oproepen, deze zal de verschillende lijnen teruggeven. Echter zullen nooit alle lijnen in een foto gevonden worden, welke wel en welke niet hangt af van welke waarden we gebruiken voor de thresholds. Men heeft voor de lijndetectie verschillende thresholds, namelijk 2 voor Canny en 3 voor Hough. Deze thresholds zijn gemakkelijk in te geven aangezien men in OpenCV Canny en Hough beiden kan oproepen met een functieoproep waarbij men de waarden van de thresholds kan ingeven als argumenten. Bij Canny hebben beide thresholds betrekking tot de waarden van de gradiënt. Een randpunt moet namelijk een gradiënt hebben die groter is dan T 1, welke de eerste threshold voorstelt. Maar indien men een een rand aan het aopen is en men vindt geen punten meer met een gradiënt groter dan T 1, dan kijkt men of er misschien nog punten zijn met een gradiënt groter dan T 2 en worden deze toegevoegd als randpunten. T 2 stelt de tweede threshold voor en is normaal 2 tot 3 keer kleiner dan T 1, daarom hebben wij gekozen voor een verhouding van 3 (T 2 = T 1 /3). De waarde van T 1 kunnen we ook kiezen maar aangezien deze afhangt van scène tot scène is het best om deze te bepalen via trial and error. Bij Hough hebben we 3 thresholds die iets gaan zeggen over wat voor soort lijnen we willen detecteren in de foto's. De eerste bepaalt hoeveel randpunten er minstens moeten gedetecteerd worden opdat men kan

42 28 Lijndetectie spreken van een lijn, de tweede bepaalt wat de maximale grootte mag zijn van de opening tussen 2 gedetecteerde lijnen (hoeveel punten er tussen mogen liggen) opdat deze kunnen samengevoegd worden tot één doorlopende lijn en de derde bepaalt hoeveel intersecties er minimaal nodig zijn in het Hough vlak. Ook deze parameters hangen heel veel af van de scène waar de foto's getrokken zijn en opnieuw is het best om via trial and error de thresholds te bepalen. Het is daarom belangrijk dat bij elke nieuwe groep van foto's we kijken of de waarden nog steeds goed zijn en indien nodig bijstellen. Een voorbeeld van de gedetecteerde lijnen is te zien op foto 5.1 en op foto 5.2. Figuur 5.1: Output van het lijndetectie programma, rechts is de originele foto. Hier wordt een redelijk hoge threshold gebruikt voor Canny, hierdoor heeft men weinig ruislijnen, maar als gevolg ook weinig lijnen in totaal. Figuur 5.2: Output van het lijndetectie programma, rechts is de originele foto. Hier wordt een lagere threshold gebruikt dan de foto hierboven, men heeft nu meer lijnen in het algemeen, maar bijgevolg ook meer ruislijnen.

43 5.2 Conclusie Conclusie Via de lijndetectie kan spijtig genoeg niet elke lijn gedetecteerd worden. Hoeveel er gedetecteerd worden hangt af van de thresholds die men gebruikt, maar ook van de manier waarop de foto's getrokken zijn. Zo is het beter indien er overal eenzelfde verlichting is en er veel contrast is tussen het gebouw en de omgeving. Natuurlijk zal het soms zijn dat dit onmogelijk is en moet men experimenteren met de waarden van de thresholds opdat men goede resultaten krijgt. Het is beter indien alle lijnen gedetecteerd worden, zelfs als dit betekend dat er ook een deel ruislijnen gaan aanwezig zijn, want in de volgende stap gaan we met behulp van het voting algoritme deze ruislijnen toch wegwerken. Maar we moeten oppassen met deze ruislijnen aangezien het verhogen of verlagen van de thresholds met een kleine waarde soms kan zorgen voor een drastische verhoging van het aantal ruislijnen.

44 Hoofdstuk 6 Projectie naar 3D De projectie gaat ervoor zorgen dat we de gedetecteerde lijnen in de foto's kunnen gebruiken in de 3D puntenwolk. Hiervoor moeten we weten welk cameramodel Bundler gebruikt om de omzetting te doen van 2D naar 3D, wat de camera parameters zijn van elke foto en moet elke lijn die gedetecteerd wordt bij de lijndetectie worden weggeschreven in de vorm van [beginpunt,eindpunt]. Als we deze informatie allemaal hebben kunnen we beginnen met de projectie. We kunnen met het cameramodel van Bundler een formule berekenen die ons toelaat om deze projectie te doen. 6.1 Bundler's cameramodel Zoals gezegd in de literatuurstudie maakt Bundler gebruik van een camera model dat ongeveer gelijk is aan dat van Tsai, enkel de laatste stap wordt overgeslagen. Het model dat Bundler gebruikt om de wereldcoördinaten (X w, Y w, Z w ) om te zetten in pixelcoördinaten (X d, Y d ) is: Stap 1: Conversie van wereldcoördinaten naar cameracoördinaten: x X w y = R Y w + T Met R gelijk aan 2.14 en T gelijk aan 2.19 (6.1) z Z w Stap 2: Van 3D naar 2D: X u = x z (6.2) Y u = y z (6.3) Stap 3: Conversie naar pixelcoördinaten: X d = f X u D x (6.4)

45 6.2 Berekening formule projectie 31 Y d = f Y u D y (6.5) Hierin zijn Dx en Dy gelijk aan: Met r: D x = (1 + K 1 r 2 + K 2 r ) D y = (1 + K 1 r 2 + K 2 r ) r = X 2 u + Y 2 u 6.2 Berekening formule projectie We moeten deze stappen omvormen tot 1 formule waarin we X w en Y w kunnen bepalen aan de hand van de andere parameters en om dit gemakkelijker te maken gaan we veronderstellen dat er geen distorsie is. Want we gaan met de output van Bundler, namelijk de intrinsieke matrix en de distorsievector, de foto's undistorten nog voor de lijndetectie en zo hoeven we niet te rekenen met de distorsieparameters. De berekening is als volgt: Uit stap 6.1 volgt: x = r 1 X w + r 2 Y w + r 3 Z w + T x (6.6) y = r 4 X w + r 5 Y w + r 6 Z w + T y (6.7) z = r 7 X w + r 8 Y w + r 9 Z w + T y (6.8) Aangezien we zeggen dat er geen distorsie is, kunnen we 6.2 en 6.4 omvormen tot: x = X uz f (6.9) En 6.3 en 6.5 omvormen tot: y = Y uz f (6.10) Als we 6.6 en 6.8 in 6.9 invullen krijgen we:

46 32 Projectie naar 3D r 1 X w + r 2 Y w + r 3 Z w + T x = X u[r 7 X w + r 8 Y w + r 9 Z w + T z ] f (6.11) X w [r 1 + r 7X u f ] = Y w[ r 2 r 8X u f ] + Z w[ r 3 r 9X u f ] T x T zx u f (6.12) X w = Vervolgens doen we hetzelfde voor 6.10:... r 1 + r 7X u f (6.13) r 4 X w + r 5 Y w + r 6 Z w + T y = Y u[r 7 X w + r 8 Y w + r 9 Z w + T z ] f (6.14) X w [r 4 + r 7Y u f ] = Y w[ r 5 r 8Y u f ] + Z w[ r 6 r 9Y u f ] T y T zy u f (6.15) X w =... r 4 + r 7Y u f (6.16) 6.13 gelijk stellen aan 6.16 geeft: Y w [ r 2 r 8X u f Y w [ r 5 r 8Y u f ][r 4 + r 7Y u f ][r 1 + r 7X u f ] + Z w[ r 3 r 9X u f ] + Z w[ r 6 r 9Y u f ][r 4 + r 7Y u f ][r 1 + r 7X u f ] T x[r 4 + r 7Y u f ] T y[r 1 + r 7X u f ] T zx u [r 4 + r 7Y u f f ] = ] T zy u f [r 1 + r 7X u f ] (6.17) Om de berekening iets makkelijker te maken zeggen we dat [r 4 + r 7Y u ] = a f 1 en dat [r 1 + r 7X u ] = a f 2. Als uiteindelijke resultaat, na het samenvoegen van de termen krijgt men: ( Y w a 1 [ r 2 r 8X u f ] a 2[ r 5 r ) ( 8Y u f ] = Z w a 2 [ r 6 r 9Y u f ] a 1[ r 3 r 9X u f ] +T x a 1 T y a 2 + T z [ a 1X u f ) a 2Y u f ] (6.18) Met deze formule kunnen we voor elke pixel op een foto de Y coördinaat vinden in de puntenwolk. Als we al de vorige stappen doen in functie van Y w bekomen we ook de X coördinaat. Het resultaat hiervan:

47 6.3 Probleem projectie 33 ( X w a 1 [ r 1 r 7X u f ] a 2[ r 4 r ) ( 7Y u f ] = Z w Waarin a 1 = [r 5 + r 8Y u ] en a f 2 = [r 2 + r 8X u ]. f a 2 [ r 6 r 9Y u f ] a 1[ r 3 r 9X u f ] +T x a 1 T y a 2 + T z [ a 1X u f ) a 2Y u f ] (6.19) 6.3 Probleem projectie Met 6.19 en 6.18 kunnen we voor elke pixel zeggen wat de X en de Y coördinaten zijn, maar zoals te zien in de vergelijkingen komen we niet juist uit op 1 punt aangezien we een vrijheidsgraad hebben, namelijk Z w. We zullen dus per pixel een lijn bekomen in 3D, die we verkijgen door telkens Z w met een kleine waarde te verhogen en de bijhorende X en Y waarden opnieuw te berekenen. Dit zorgt echter voor een probleem, aangezien we niet weten waar op de lijn het eectieve 3D punt zich bevindt. We lossen dit op door een voting systeem te implementeren, we gaan namelijk voor elke geprojecteerde lijn kijken of er punten van de puntenwolk dichtbij deze lijn liggen. Wanneer er punten dichtbij liggen (hoe dichtbij wordt ingesteld met een threshold), dan krijgen deze een vote. De punten met de meeste votes na de projectie zijn de eectieve punten in 3D. Het is echter wel zo dat soms meerdere punten dichtbij een projectie liggen, daarom gaan we telkens het gemiddelde nemen van alle punten die dichtbij liggen en deze nieuwe positie bewaren en een vote geven. Als bij een volgende projectie dan zo'n opgeslagen punt dichtbij ligt, dan gaat opnieuw het gemiddelde berekend worden en de positie van het opgeslagen punt wordt dan gewijzigd naar deze nieuwe berekende positie. Ook wordt de votecount van het opgeslagen punt verhoogd, zo gaat men niet allemaal punten hebben die dicht bij elkaar liggen en een votecount hebben van 1. Een voorbeeld van hoe dit er uit ziet in de praktijk is te zien op guur Conclusie Via de vergelijkingen 6.19 en 6.18 en het voting systeem kan men gemakkelijk de punten van de puntenwolk overhouden die het meest gedetecteerd worden in de foto's. Indien steeds dezelfde lijnen gedetecteerd worden is het makkelijk om paren van punten bij te houden, die samen 1 lijn vormen. Indien echter de lijndetectie niet optimaal is en telkens andere delen van eenzelfde lijn gedetecteerd worden in de verschillende foto's wordt steeds een ander punt gevote. Dit zorgt ervoor dat ook de output van de projectiestap fout is want enkel punten die een votecount hebben hoger dan de threshold blijven behouden. Het resultaat is dus afhankelijk van de lijndetectie. Maar het is ook belangrijk dat de puntenwolk goed is, want indien de puntenwolk slecht is gaat deze maar een klein aantal punten bevatten en wordt het moeilijker om punten te vinden die dicht bij een projectielijn

48 34 Projectie naar 3D Figuur 6.1: Projectie van hetzelfde punt in 2 foto's naar 3D. Punt A heeft nu 2 votes. liggen. Het kan zelfs zo erg zijn dat men de threshold voor de afstand moet verhogen en bijgevolg slechte punten uitkomt. Of de puntenwolk goed is hangt af van hoeveel foto's er genomen zijn en hoeveel overlapping er is tussen de foto's. Men moet dus zorgen dat de input van voldoende kwaliteit is voordat men aan de projectie begint, enkel indien de kwaliteit voldoende hoog is zal het resultaat ook goed zijn.

49 Hoofdstuk 7 Constructie 3D model AutoCAD Eens we de belangrijkste lijnen hebben gehaald uit de puntenwolk zullen we deze nog moeten ingeven in AutoCAD zodat er gemakkelijk gewerkt kan worden met het 3D model. Aangezien het enkel lijnen zijn kan dit worden ingegeven met behulp van een AutoCADscript, dit is een bestand dat enkele taken uitvoert voor de gebruiker. Deze taken worden normaal opgegeven via de command-line van AutoCAD en aangezien lijnen tekenen kan uitgevoerd worden met de command-line kunnen we zo'n script gebruiken om dit automatisch te doen. Het enige wat er moet gebeuren is dat de persoon die AutoCAD opstart dit script sleept binnen het AutoCAD venster en alles wordt dan voor hem uitgevoerd. We moeten wel zoals gezegd in 4 nog een globale rotatie doen op het model opdat de grond gelijk zou komen te liggen met het XZ-vlak. Dit kan echter niet automatisch gedaan worden aangezien de rotatie afhangt van de genomen foto's en dus verschilt van puntenwolk tot puntenwolk. Ook moeten we rekening houden met de scalingfactor van de Bundler, opnieuw moet deze manueel toegepast worden op het model. In het ideale geval, zonder optreden van enige fouten, zou het model dat we willen verkrijgen er bijvoorbeeld uitzien als guur 7.1. Figuur 7.1: Een voorbeeld van het nale model na alle stappen te doorlopen.

50 Hoofdstuk 8 Resultaten In de vorige hoofdstukken hebben we uitgelegd wat we exact gaan doen om een 3D model te genereren van een gebouw, in dit hoofdstuk zullen we bespreken wat we bekomen zijn als resultaten. We hebben foto's genomen van 8 huizen, deze waren allemaal alleenstaande huizen en zonder tuin, zodat men goed zicht had op het huis zelf. We hebben echter niet van elk huis een 360 beeld, meestal hebben we een tal foto's getrokken van de voorkant en zijkant van het huis. Dit mag echter geen invloed hebben op het resultaat, het enige verschil is dat het 3D model minder volledig zal zijn. Om de resultaten van de verschillende stappen te bespreken zullen we het huis in guur 8.1 als voorbeeld nemen. Figuur 8.1: Het gebouw dat we gebruiken als test voor de thesis.

51 8.1 Omzetting naar puntenwolk Omzetting naar puntenwolk De eerste stap was Bundler oproepen op de foto's, het resultaat hiervan is te vinden in guur 8.2 en 8.3. Op te merken valt dat indien de foto's getrokken zijn van op een degelijk lange afstand (5-10 meter) van het gebouw Bundler geen goede resultaten geeft aangezien de puntenwolk dan minder detail gaat hebben en het kan ook leiden tot fouten in het gebouw, zoals muren die krom staan. Zoals gezegd in hoofdstuk 4 zal het model ook een scalingfactor hebben, we hebben deze voor elk model ruw bepaald en kwamen uit dat deze lag tussen de 1.10 en 4. Met andere woorden, de afstand tussen 2 punten in de puntenwolk is 1.10 tot 4 keer groter dan de afstand in de realiteit. We hebben echter maar 8 huizen als meting genomen dus het zou kunnen dat deze scalingfactor nog veel groter kan zijn en het is zoals daarjuist gezegd een ruwe benadering van de scalingfactor. Om deze met grote nauwkeurigheid te bepalen moeten we terug 2 punten van het huis op de oude manier gaan meten, namelijk met een tachymeter. Maar voor nu volstond het om de scalingfactor op een ruwe manier te meten. Daarnaast was er ook nog de rotatie van het model, we konden echter niet achterhalen wat deze was per puntenwolk, het is daarom noodzakelijk om achteraf zelf via trial en error alle punten een rotatie te geven in AutoCAD en kijken naar het resultaat. Figuur 8.2: De puntenwolk die gegenereerd werd van het gebouw. De groene, blauwe en rode lijn vormen het assenstelsel. De blauwe lijn is de Z-as, de groene de Y-as en de rode de X-as.

52 38 Resultaten Figuur 8.3: De puntenwolk die gegenereerd werd van het gebouw.

53 8.2 Lijndetectie Lijndetectie Zoals gezegd in hoofdstuk 6 gaan we geen rekening houden met distorsie in de projectie om de formule iets eenvoudiger te maken, maar om dit te mogen doen moeten we alle foto's undistorten voordat we de lijndetectie gaan uitvoeren. Het undistorten van de foto's is echter niet zo moeilijk, men heeft namelijk functies in OpenCV die dit voor ons gaan doen. Het enige dat we nodig hebben zijn de distorsieparameters en de intrinsieke matrix per foto, beiden verkrijgen we met Bundler. Deze undistorsie had tot eect dat alle pixels ongeveer 10 plaatsen waren opgeschoven ten opzichte van hun originele positie, veel eect heeft dit niet maar het is wel belangrijk om een nauwkeurig model af te leveren. Na de distorsie te verwijderen en de lijndetectie toe te passen op de foto's merkten we dan voor de meeste foto's de lijndetectie geen goede resultaten gaf, er waren namelijk 2 grote fouten: 1. De gedetecteerde lijnen sluiten niet perfect aan op elkaar. Hiermee bedoelen we dat steeds maar delen gedetecteerd worden van de lijnen waardoor ze niet samenkomen in één punt, ook uitgelegd op guur 8.4. Hier zien we dat door de fout er 4 lijnen gaan gedetecteerd worden, en het kan zijn dat in de volgende foto's nog eens andere delen van de lijnen gedetecteerd worden. Hierdoor gaan bij de projectie telkens andere punten gevote worden want de verschillende begin en eindpunten van de lijnen worden andere punten in de puntenwolk, zoals uitgelegd in hoofdstuk 6. Het is echter nodig dat de lijnen samenkomen in één punt (linkse deel van de guur) want anders gaat de projectie niet juist zijn. Wat ook soms gebeurd is dat de volledige lijn gedetecteerd wordt, maar dat bijkomstig ook verschillende delen van die lijn gedetecteerd worden. Zodat in één foto er 5 verschillende delen van 1 lijn gedetecteerd wordt bovenop de volledige lijn. In het voorbeeldgebouw hadden we ook te maken met deze soort fouten, zoals te zien in guur 8.5. Als men bijvoorbeeld naar de ramen kijkt dan zou in het ideale geval rond elk raam een rode rechthoek zitten, echter zijn er delen van de rand van het raam die niet gedetecteerd worden. Dit leidde ertoe dat in de meeste foto's andere delen van bijvoorbeeld het raam gedetecteerd werden en dit is een groot probleem, aangezien we verwachten dat telkens hetzelfde punt moet geprojecteerd worden. 2. Het aantal ruislijnen dat gedetecteerd werd door Hough was ook te hoog. Ruislijnen zijn groepen van tientallen lijnen die heel dicht bij elkaar liggen, welke dingen weergeven die we niet willen detecteren. In onze set van huizen hebben we gemerkt dat vooral dakpannen en bomen in de tuin zorgden voor heel veel ruis, ook bijvoorbeeld een verschil in lichtinval op de bakstenen zorgde voor ruis. Men kan zelf kiezen natuurlijk ofdat deze lijnen ruis zijn of niet, het hangt af van hoe compleet het uiteindelijke 3D model moet zijn. Indien men ook de lijnen van de cementlagen van de bakstenen en de dakpannen erbij wilt dan zijn deze geen ruis, maar wij willen enkel de lijnen tussen de hoekpunten van het gebouw detecteren, of anders gezegd de breeklijnen van het gebouw. Dit leidde ertoe dat in de foto's soms 3/4 van de gedetecteerde lijnen ruislijnen waren, wat natuurlijk ongewenst is. Deze ruislijnen gaan overdragen worden naar het AutoCAD model, aangezien we in de projectiestap er vanuit gaan dat een ruislijn maar weinig voorkomt en door te werken met votes

54 40 Resultaten Figuur 8.4: Fout bij de lijndetectie, er wordt maar een deel van de lijn gedetecteerd, wat resulteerd in fouten. deze ruislijnen kunnen wegwerken. Echter indien er meer ruislijnen zijn dan juiste lijnen kunnen we ons niet meer baseren op votes want deze geven een fout beeld. In het voorbeeldgebouw zorgden vooral de dakpannen voor heel veel ruis, zoals te zien is op guur 8.6. Om het aantal ruislijnen te reduceren tot een minimum kan men best foto's nemen van gebouwen waar geen planten voor staan en dat geen dakpannen heeft. Op zich kan men het aantal ruislijnen ook reduceren door de thresholds te verhogen, maar indien we dat doen gaan we in het algemeen veel minder lijnen detecteren en verliezen we ook een heel deel goede lijnen. Aangezien we deze fouten krijgen zouden we beter een andere lijndetector gebruiken in plaats van de PPHT die in OpenCV zit. De nieuwe lijndetector zou 2 dingen extra moeten doen, namelijk verschillende korte lijnsegmenten samenvoegen opdat er 1 grote lijn vormt en een betere manier om onderscheid te maken tussen randpunten en punten in een vlak. Echter hebben we zo'n nieuwe lijndetector niet meer gevonden, er waren wel enkele papers over lijndetectors (zie [8], [5]) die verschillende lijnsegmenten samenvoegden maar er stond geen code online van die papers. We konden ook zelf een eigen lijndetector schrijven maar dit zou te veel werk zijn en aangezien we deze fouten hebben is het al moeilijk om nog tot een goed naal resultaat te komen want de projectiestap gaat ervan uit dat de lijndetectie in orde was.

55 8.2 Lijndetectie 41 Figuur 8.5: De lijndetectie die maar delen van de lijnen detecteerd in plaats van de hele lijn, zoals te zien bij de ramen en deuren. Figuur 8.6: De lijndetectie die te veel ruis oplevert.

56 42 Resultaten 8.3 Projectie Nadat we de lijnen gedetecteerd hadden en we de puntenwolk gegeneerd hadden was de volgende stap het projecteren van de lijnen, echter moeten we eerst nog een conversie doen. De puntenwolk die gecreëerd werd door Bundler is namelijk in.ply formaat, maar PCL werkt enkel met.pcd formaat. Beiden zijn gelijkwaardig, enkel zijn de headers iets anders en worden de punten anders weggeschreven. Om de conversie te doen van.ply naar.pcd gebruiken we een python script dat de header veranderd en de punten anders wegschrijft. In het projectie algoritme hebben we ook een aanpassing moeten doen want normaal gezien was het de bedoeling om telkens een hele lijn te projecteren en dus voor 2 punten tegelijk (begin en eindpunt van de lijn) gaan kijken of deze punten ook in de puntenwolk voorkomen, maar we hebben dit moeten aanpassen omdat de lijndetectie geen uniforme resultaten gaf. De lijndetectie detecteerde namelijk vaak verschillende delen van eenzelfde lijn in de verschillende foto's waardoor we nooit dezelfde punten projecteerden, dit leidde tot het feit dat geen enkele lijn meer dan 1 vote had want elke lijn was anders. Om toch een resultaat te krijgen voor de projectie gaan we in plaats van een lijn projeceteren, een punt projecteren. Men werkt niet meer met 2 punten tegelijk, maar voor elke gedetecteerde lijn wordt nu apart gekeken naar begin en eindpunt en gaan we na of deze overeenkomen met een punt van de puntenwolk. Ze worden los van elkaar verwerkt, als gevolg daarvan weten we op het einde van de projectie niet meer welke punten een lijn vormen maar de votecount van de punten is wel signicant hoger dan wanneer we ze samen bekijken. We hebben echter nog een probleem, namelijk de grote hoeveelheid ruislijnen die gedetecteerd worden. Want als er in een aantal foto's de helft van de lijnen ruis zijn, dan zorgen deze voor een verkeerde beoordeling van het aantal votes aangezien de ruis dan voor meer votes zullen zorgen dan de goede punten. We hebben de projectiestap uitgevoerd op het voorbeeldgebouw en we bekwamen een 30-tal goede punten, waarvan een tiental punten ruis waren. De projecties zijn te zien in guur 8.7. Elke lijn die men ziet op de guur is een projectielijn, welke dicht bij een punt van de puntenwolk ligt dat aan het eind van de stap een votecount had van 50 of hoger. Deze threshold kan nog aangepast worden om meer punten te krijgen maar dan krijgt men ook weer meer onbelangrijke punten want men heeft honderden projecties met minder dan 50 votes. Men moet dus afwegen of deze onbelangrijke punten kwaad kunnen of niet.

57 8.3 Projectie 43 Figuur 8.7: De projectie uitgevoerd op het gebouw.

58 44 Resultaten 8.4 Constructie 3D model AutoCAD Nadat we het script uitvoeren in AutoCAD zitten alle punten in het model, het engiste wat we dan nog moesten doen was de globale rotatie toepassen op de punten. Echter is dit vrij gemakkelijk, we moeten namelijk de punten tot 1 groep maken en dan op deze groep een rotatie uitvoeren. Het is ook niet zo belangrijk dat het model correct georiënteerd is, want we moeten enkel de afstanden weten tussen de verschillende punten, de correcte 3D positie van elk punt hoeft niet geweten te worden. Maar zelfs na de rotatie was het gereconstrueerde model nog verre van perfect. De meeste van de verkregen punten waren ruis, ze gaven niet de juiste lijnen weer, maar dit was al te verwachten door de vele ruislijnen in de lijndetectie. Het is ook zo dat er vaak meerdere punten van eenzelfde lijn in het model zitten, dit is een gevolg van het feit dat we per punt werken in plaats van per lijn. Dit kan eigenlijk geen kwaad, maar het was oorspronkelijk de bedoeling om een mooi zuiver model te maken met enkel de begin en eindpunten van elke lijn in het model. Een voorbeeld van het model dat we gegenereerd hebben op basis van de foto's is te zien in guur 8.8.

59 8.4 Constructie 3D model AutoCAD 45 Figuur 8.8: Het model gecreëerd met AutoCAD met als vergelijking een foto van het gebouw. Zoals men ziet zijn er te veel punten geprojecteerd zodat het niet echt duidelijk is welk punt waar zit op de foto.

60 46 Resultaten 8.5 Ander voorbeeld Ter vergelijking zullen we de resultaten laten zien van de voorkant van een huis zonder dakpannen en weinig ruis, wat een iets beter resultaat gaf als naal model (nog steeds niet bruikbaar voor een landmeter, maar toch al beter). Puntenwolk Figuur 8.9: De puntenwolk. Figuur 8.10: Een ander aanzicht van de puntenwolk.

Firewall van de Speedtouch 789wl volledig uitschakelen?

Firewall van de Speedtouch 789wl volledig uitschakelen? Firewall van de Speedtouch 789wl volledig uitschakelen? De firewall van de Speedtouch 789 (wl) kan niet volledig uitgeschakeld worden via de Web interface: De firewall blijft namelijk op stateful staan

Nadere informatie

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g S e v e n P h o t o s f o r O A S E K r i j n d e K o n i n g Even with the most fundamental of truths, we can have big questions. And especially truths that at first sight are concrete, tangible and proven

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0.

04/11/2013. Sluitersnelheid: 1/50 sec = 0.02 sec. Frameduur= 2 x sluitersnelheid= 2/50 = 1/25 = 0.04 sec. Framerate= 1/0. Onderwerpen: Scherpstelling - Focusering Sluitersnelheid en framerate Sluitersnelheid en belichting Driedimensionale Arthrokinematische Mobilisatie Cursus Klinische Video/Foto-Analyse Avond 3: Scherpte

Nadere informatie

Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2

Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2 167 Appendix A: List of variables with corresponding questionnaire items (in English) used in chapter 2 Task clarity 1. I understand exactly what the task is 2. I understand exactly what is required of

Nadere informatie

Comics FILE 4 COMICS BK 2

Comics FILE 4 COMICS BK 2 Comics FILE 4 COMICS BK 2 The funny characters in comic books or animation films can put smiles on people s faces all over the world. Wouldn t it be great to create your own funny character that will give

Nadere informatie

Ontpopping. ORGACOM Thuis in het Museum

Ontpopping. ORGACOM Thuis in het Museum Ontpopping Veel deelnemende bezoekers zijn dit jaar nog maar één keer in het Van Abbemuseum geweest. De vragenlijst van deze mensen hangt Orgacom in een honingraatpatroon. Bezoekers die vaker komen worden

Nadere informatie

CHROMA STANDAARDREEKS

CHROMA STANDAARDREEKS CHROMA STANDAARDREEKS Chroma-onderzoeken Een chroma geeft een beeld over de kwaliteit van bijvoorbeeld een bodem of compost. Een chroma bestaat uit 4 zones. Uit elke zone is een bepaald kwaliteitsaspect

Nadere informatie

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond. Opgaven in Nederlands. Alle opgaven hebben gelijk gewicht. Opgave 1 Gegeven is een kasstroom x = (x 0, x 1,, x n ). Veronderstel dat de contante waarde van deze kasstroom gegeven wordt door P. De bijbehorende

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 22 februari 2013 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

Nadere informatie

Understanding and being understood begins with speaking Dutch

Understanding and being understood begins with speaking Dutch Understanding and being understood begins with speaking Dutch Begrijpen en begrepen worden begint met het spreken van de Nederlandse taal The Dutch language links us all Wat leest u in deze folder? 1.

Nadere informatie

Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland

Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland 1. Londen In Londen kunnen gebruikers van een scootmobiel contact opnemen met een dienst

Nadere informatie

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015 LDA Topic Modeling Informa5ekunde als hulpwetenschap 9 maart 2015 LDA Voor de pauze: Wat is LDA? Wat kan je er mee? Hoe werkt het (Gibbs sampling)? Na de pauze Achterliggende concepten à Dirichlet distribu5e

Nadere informatie

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14)

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14) Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and

Nadere informatie

Grammatica uitleg voor de toets van Hoofdstuk 1

Grammatica uitleg voor de toets van Hoofdstuk 1 Grammatica uitleg voor de toets van Hoofdstuk 1 Vraagzinnen: Je kunt in het Engels vraagzinnen maken door vaak het werkwoord vooraan de zin te zetten. Bijv. She is nice. Bijv. I am late. Bijv. They are

Nadere informatie

Screen Design. Deliverable 3 - Visual Design. Pepijn Gieles 0877217 19-12-2014. Docent: Jasper Schelling

Screen Design. Deliverable 3 - Visual Design. Pepijn Gieles 0877217 19-12-2014. Docent: Jasper Schelling Screen Design Deliverable 3 - Visual Design Pepijn Gieles 0877217 19-12-2014 Docent: Jasper Schelling Hulp bij het inloggen Inloggen Particulier Personal Banking Private Banking Zakelijk Zoeken in Particulier

Nadere informatie

Handleiding Installatie ADS

Handleiding Installatie ADS Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie

Nadere informatie

Plotten. technisch tekenwerk AUTOCAD 2000

Plotten. technisch tekenwerk AUTOCAD 2000 Inleiding Voor het plotten van uw bent u bij Lifoka aan het juiste adres. Snel, betrouwbaar en dat in grote of kleine oplagen. Niet alleen het plotten, maar ook vergaren en verzenden kan Lifoka voor u

Nadere informatie

Memo Academic Skills; the basis for better writers

Memo Academic Skills; the basis for better writers Memo Academic Skills; the basis for better writers With the rise of broader bachelor degrees and the University College, Dutch universities are paying more attention to essays and other written assignments.

Nadere informatie

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers English Instructions Windows 8 out-of-the-box supports the ICARUS Illumina (E653) e-reader. However, when users upgrade their Windows

Nadere informatie

Next Generation Poultry Health Redt Innovatie de Vleeskuikenhouder?

Next Generation Poultry Health Redt Innovatie de Vleeskuikenhouder? Next Generation Poultry Health Redt Innovatie de Vleeskuikenhouder? Paul Louis Iske Professor Open Innovation & Business Venturing, Maastricht University De wereld wordt steeds complexer Dit vraagt om

Nadere informatie

Quick scan method to evaluate your applied (educational) game. Validated scales from comprehensive GEM (Game based learning Evaluation Model)

Quick scan method to evaluate your applied (educational) game. Validated scales from comprehensive GEM (Game based learning Evaluation Model) WHAT IS LITTLE GEM? Quick scan method to evaluate your applied (educational) game (light validation) 1. Standardized questionnaires Validated scales from comprehensive GEM (Game based learning Evaluation

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

ETS 4.1 Beveiliging & ETS app concept

ETS 4.1 Beveiliging & ETS app concept ETS 4.1 Beveiliging & ETS app concept 7 juni 2012 KNX Professionals bijeenkomst Nieuwegein Annemieke van Dorland KNX trainingscentrum ABB Ede (in collaboration with KNX Association) 12/06/12 Folie 1 ETS

Nadere informatie

Empowerment project. Driejarig project van Rotaryclub Rhenen-Veenendaal

Empowerment project. Driejarig project van Rotaryclub Rhenen-Veenendaal Empowerment project Awasi Kenya Driejarig project van Rotaryclub Rhenen-Veenendaal Empowerment*van* kinderen*in*kenia De#afgelopen#drie#jaren# hebben#we#met#steun#van#de# Rotaryclub##Rhenen: Veenendaal#een#

Nadere informatie

IDENTITEIT IN DE METHODE?

IDENTITEIT IN DE METHODE? 74 IDENTITEIT IN DE METHODE? ONDERZOEK DOOR EEN LERAAR IN OPLEIDING Bram de Muynck en Esther Langerak 75 Van lectoraten wordt gevraagd om ook studenten te betrekken bij onderzoek. Dit gebeurt bij het lectoraat

Nadere informatie

Media en creativiteit. Winter jaar vier Werkcollege 7

Media en creativiteit. Winter jaar vier Werkcollege 7 Media en creativiteit Winter jaar vier Werkcollege 7 Kwartaaloverzicht winter Les 1 Les 2 Les 3 Les 4 Les 5 Les 6 Les 7 Les 8 Opbouw scriptie Keuze onderwerp Onderzoeksvraag en deelvragen Bespreken onderzoeksvragen

Nadere informatie

Taco Schallenberg Acorel

Taco Schallenberg Acorel Taco Schallenberg Acorel Inhoudsopgave Introductie Kies een Platform Get to Know the Jargon Strategie Bedrijfsproces Concurrenten User Experience Marketing Over Acorel Introductie THE JARGON THE JARGON

Nadere informatie

De bijsluiter in beeld

De bijsluiter in beeld De bijsluiter in beeld Een onderzoek naar de inhoud van een visuele bijsluiter voor zelfzorggeneesmiddelen Oktober 2011 Mariëtte van der Velde De bijsluiter in beeld Een onderzoek naar de inhoud van een

Nadere informatie

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur Invloed van het aantal kinderen op de seksdrive en relatievoorkeur M. Zander MSc. Eerste begeleider: Tweede begeleider: dr. W. Waterink drs. J. Eshuis Oktober 2014 Faculteit Psychologie en Onderwijswetenschappen

Nadere informatie

Photomodeler Scanner: Workflow

Photomodeler Scanner: Workflow KAHO St-Lieven GENT Thomas More MECHELEN 3D PHOTOGRAMMETRY FOR SURVEYING ENGINEERING IWT TETRA project Photomodeler Scanner: Workflow Inhoud 01. Importeren foto s en automatische oriëntatie 02. geometrie

Nadere informatie

Lab 3 Augmented Reality

Lab 3 Augmented Reality Lab 3 Augmented Reality ARToolkit detecteer markers in 3D (Waarom is één camera genoeg?) Projecteert extra informatie bovenop werkelijkheid Hough transformatie Coördinaten Transformatie van markercoördinaten

Nadere informatie

Tentamen Objectgeorienteerd Programmeren

Tentamen Objectgeorienteerd Programmeren Tentamen Objectgeorienteerd Programmeren 5082IMOP6Y maandag 16 november 2015 13:00 15:00 Schrijf je naam en studentnummer op de regel hieronder. Sla deze pagina niet om tot de surveillant vertelt dat het

Nadere informatie

Dutch survival kit. Vragen hoe het gaat en reactie Asking how it s going and reaction. Met elkaar kennismaken Getting to know each other

Dutch survival kit. Vragen hoe het gaat en reactie Asking how it s going and reaction. Met elkaar kennismaken Getting to know each other Dutch survival kit This Dutch survival kit contains phrases that can be helpful when living and working in the Netherlands. There is an overview of useful sentences and phrases in Dutch with an English

Nadere informatie

blur Aukje Fleur Janssen & Roos Gomperts Volvo Design Challange

blur Aukje Fleur Janssen & Roos Gomperts Volvo Design Challange blur Aukje Fleur Janssen & Roos Gomperts Volvo Design Challange blur (NL for English see bellow) Aukje Fleur Janssen & Roos Gomperts Volvo Design Challenge Voor Volvo Design Challenge bundelden we onze

Nadere informatie

De Levende Gevel. Een richting voor innovatie en de ontwikkeling van de toekomst

De Levende Gevel. Een richting voor innovatie en de ontwikkeling van de toekomst De Levende Gevel Een richting voor innovatie en de ontwikkeling van de toekomst A letter from nature Dear., Our life knows no boundaries, we live together. You live in me and I live in you! I not only

Nadere informatie

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS COGNITIEVE DISSONANTIE EN ROKERS Gezondheidsgedrag als compensatie voor de schadelijke gevolgen van roken COGNITIVE DISSONANCE AND SMOKERS Health behaviour as compensation for the harmful effects of smoking

Nadere informatie

Synergia - Individueel rapport

Synergia - Individueel rapport DOELSTELLING : Ensuring sufficient funding for projects in cost-generating departments of 16.04.2014 16.04.2014 13:53 1. Inleiding Deze inleiding is vrij te bepalen bij de aanmaak van het rapport. 16.04.2014

Nadere informatie

Buy Me! FILE 5 BUY ME KGT 2

Buy Me! FILE 5 BUY ME KGT 2 Buy Me! FILE 5 BUY ME KGT 2 Every day we see them during the commercial break: the best products in the world. Whether they are a pair of sneakers, new mascara or the latest smartphone, they all seem to

Nadere informatie

een kopie van je paspoort, een kopie van je diploma voortgezet onderwijs (hoogst genoten opleiding), twee pasfoto s, naam op de achterkant

een kopie van je paspoort, een kopie van je diploma voortgezet onderwijs (hoogst genoten opleiding), twee pasfoto s, naam op de achterkant Vragenlijst in te vullen en op te sturen voor de meeloopochtend, KABK afdeling fotografie Questionnaire to be filled in and send in before the introduction morning, KABK department of Photography Stuur

Nadere informatie

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Bullying among Students with Autism Spectrum Disorders in Secondary

Nadere informatie

Find Neighbor Polygons in a Layer

Find Neighbor Polygons in a Layer Find Neighbor Polygons in a Layer QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0

Nadere informatie

1. In welk deel van de wereld ligt Nederland? 2. Wat betekent Nederland?

1. In welk deel van de wereld ligt Nederland? 2. Wat betekent Nederland? First part of the Inburgering examination - the KNS-test Of course, the questions in this exam you will hear in Dutch and you have to answer in Dutch. Solutions and English version on last page 1. In welk

Nadere informatie

De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim

De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim De Relatie tussen Werkdruk, Pesten op het Werk, Gezondheidsklachten en Verzuim The Relationship between Work Pressure, Mobbing at Work, Health Complaints and Absenteeism Agnes van der Schuur Eerste begeleider:

Nadere informatie

DE VERLEDEN TOEKOMENDE TIJD

DE VERLEDEN TOEKOMENDE TIJD 1 Grammatica les 12 THE FUTURE PAST TENSE DE VERLEDEN TOEKOMENDE TIJD 12.1 FUTURE PAST Als je over het verleden praat, maar iets wilt vertellen over wat toen in de toekomst was, gebruik je ook de Future,

Nadere informatie

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

How to install and use dictionaries on the ICARUS Illumina HD (E652BK) (for Dutch go to page 4) How to install and use dictionaries on the ICARUS Illumina HD (E652BK) The Illumina HD offers dictionary support for StarDict dictionaries.this is a (free) open source dictionary

Nadere informatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and Lichamelijke factoren als voorspeller voor psychisch en lichamelijk herstel bij anorexia nervosa Physical factors as predictors of psychological and physical recovery of anorexia nervosa Liesbeth Libbers

Nadere informatie

WWW.EMINENT-ONLINE.COM

WWW.EMINENT-ONLINE.COM WWW.EMINENT-OINE.COM HNDLEIDING USERS MNUL EM1016 HNDLEIDING EM1016 USB NR SERIEEL CONVERTER INHOUDSOPGVE: PGIN 1.0 Introductie.... 2 1.1 Functies en kenmerken.... 2 1.2 Inhoud van de verpakking.... 2

Nadere informatie

Workflow en screenshots Status4Sure

Workflow en screenshots Status4Sure Workflow en screenshots Status4Sure Inleiding Het Status4Sure systeem is een ICT oplossing waarmee de transportopdrachten papierloos door het gehele proces gaan. De status kan gevolgd worden door de logistieke

Nadere informatie

Ius Commune Training Programme 2015-2016 Amsterdam Masterclass 16 June 2016

Ius Commune Training Programme 2015-2016 Amsterdam Masterclass 16 June 2016 www.iuscommune.eu Dear Ius Commune PhD researchers, You are kindly invited to attend the Ius Commune Amsterdam Masterclass for PhD researchers, which will take place on Thursday 16 June 2016. During this

Nadere informatie

Interactive Grammar leert de belangrijkste regels van de Engelste spelling en grammatica aan.

Interactive Grammar leert de belangrijkste regels van de Engelste spelling en grammatica aan. Interactive Grammar Interactive Grammar leert de belangrijkste regels van de Engelste spelling en grammatica aan. Doelgroep Interactive Grammar Het programma is bedoeld voor leerlingen in de brugklas van

Nadere informatie

ATOS Viewer for Dental Frameworks User Manual

ATOS Viewer for Dental Frameworks User Manual ATOS Viewer for Dental Frameworks User Manual www.dentwise.eu Inhoud Content NEDERLANDS... 2 1. Installatie... 2 2. Algemene Functies... 2 3. Afstanden Meten... 3 4. Doorsneden Maken... 4 5. Weergave Aanpassen...

Nadere informatie

9 daagse Mindful-leSs 3 stappen plan training

9 daagse Mindful-leSs 3 stappen plan training 9 daagse Mindful-leSs 3 stappen plan training In 9 dagen jezelf volledig op de kaart zetten Je energie aangevuld en in staat om die batterij op peil te houden. Aan het eind heb jij Een goed gevoel in je

Nadere informatie

CHRISTELIJKE SCHOLENGEMEENSCHAP VINCENT VAN GOGH TTO. Tweetalig onderwijs Havo VWO

CHRISTELIJKE SCHOLENGEMEENSCHAP VINCENT VAN GOGH TTO. Tweetalig onderwijs Havo VWO CHRISTELIJKE SCHOLENGEMEENSCHAP VINCENT VAN GOGH TTO Tweetalig onderwijs Havo VWO Open dag 8 februari 2014 Inhoud Tweetalig onderwijs: ontdek de wereld! Wat is tto? Toelatingseisen Informatie voor ouders

Nadere informatie

Alle opgaven tellen even zwaar, 10 punten per opgave.

Alle opgaven tellen even zwaar, 10 punten per opgave. WAT IS WISKUNDE (English version on the other side) Maandag 5 november 2012, 13.30 1.30 uur Gebruik voor iedere opgave een apart vel. Schrijf je naam en studentnummer op elk vel. Alle opgaven tellen even

Nadere informatie

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar Sekseverschillen in Huilfrequentie en Psychosociale Problemen bij Schoolgaande Kinderen van 6 tot 10 jaar Gender Differences in Crying Frequency and Psychosocial Problems in Schoolgoing Children aged 6

Nadere informatie

Graphic Design. Keuzevak GD1. Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl)

Graphic Design. Keuzevak GD1. Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl) Graphic Design 1 Graphic Design Keuzevak GD1 Raul Martinez-Orozco (r.d.martinez.orozco@hro.nl / raul@thecombine.nl) Graphic Design 2 Expectations Attendance, creativity, motivation and a professional attitude

Nadere informatie

Non Diffuse Point Based Global Illumination

Non Diffuse Point Based Global Illumination Non Diffuse Point Based Global Illumination Karsten Daemen Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr.

Nadere informatie

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen tussen Leeftijdsgroepen Differences in the Use of Memory Strategies and Learning Styles between Age Groups Rik Hazeu Eerste begeleider:

Nadere informatie

Intermax backup exclusion files

Intermax backup exclusion files Intermax backup exclusion files Document type: Referentienummer: Versienummer : Documentatie 1.0 Datum publicatie: Datum laatste wijziging: Auteur: 24-2-2011 24-2-2011 Anton van der Linden Onderwerp: Documentclassificatie:

Nadere informatie

Things to do before you re 11 3/4

Things to do before you re 11 3/4 Counting Crows 1 Things to do before you re 11 3/4 Lees de tekst en beantwoord de vragen. - Maak deze zin af: De schrijver van de tekst vindt dat kinderen - Welke dingen heb jij wel eens gedaan? Kruis

Nadere informatie

Systeem Wand Samenstellings Applicatie. Cabinet configuration tool. Nederlandse handleiding

Systeem Wand Samenstellings Applicatie. Cabinet configuration tool. Nederlandse handleiding Systeem Wand Samenstellings Applicatie Cabinet configuration tool Nederlandse handleiding 1 Handleiding bylsma wand configuratie tool... 2 1.1 Disclaimer... 2 2 Wand samenstellen... 2 2.1 Applicatie lay-out...

Nadere informatie

Leading in Learning -> studiesucces. Ellen Bastiaens Programmamanager Leading in Learning 13 juni 2012

Leading in Learning -> studiesucces. Ellen Bastiaens Programmamanager Leading in Learning 13 juni 2012 Leading in Learning -> studiesucces Ellen Bastiaens Programmamanager Leading in Learning 13 juni 2012 Implementatie van matchingsinstrument Matching na de poort wordt aan de poort Vooropleiding Bachelor

Nadere informatie

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English Handleiding beheer lijst.hva.nl See page 11 for Instruction in English Maillijsten voor medewerkers van de Hogeschool van Amsterdam Iedereen met een HvA-ID kan maillijsten aanmaken bij lijst.hva.nl. Het

Nadere informatie

De Technologische Cultuur van Geluidssystemen

De Technologische Cultuur van Geluidssystemen De Technologische Cultuur van Geluidssystemen De Technologische Cultuur van G eluidssystemen Cultuur ontwikkeling technologie Voorbeeld: luidsprekertechnologie & line arrays Technologie cultuur & gedrag

Nadere informatie

Main language Dit is de basiswoordenschat. Deze woorden moeten de leerlingen zowel passief als actief kennen.

Main language Dit is de basiswoordenschat. Deze woorden moeten de leerlingen zowel passief als actief kennen. Lesbrief Les 1.1: On my way Main language Dit is de basiswoordenschat. Deze woorden moeten de leerlingen zowel passief als actief kennen. Nouns: train, tram, bus, car, bike, plane, boat, underground, stop,

Nadere informatie

Researchcentrum voor Onderwijs en Arbeidsmarkt The role of mobility in higher education for future employability

Researchcentrum voor Onderwijs en Arbeidsmarkt The role of mobility in higher education for future employability The role of mobility in higher education for future employability Jim Allen Overview Results of REFLEX/HEGESCO surveys, supplemented by Dutch HBO-Monitor Study migration Mobility during and after HE Effects

Nadere informatie

1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen):

1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen): Uitwerking Huiswerkopgave Inleiding Modelleren Hoofdstuk 3 1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen): tube=[cap:{open,close},hand:{l,r,none}]

Nadere informatie

Functioneel Ontwerp / Wireframes:

Functioneel Ontwerp / Wireframes: Functioneel Ontwerp / Wireframes: Het functioneel ontwerp van de ilands applicatie voor op de iphone is gebaseerd op het iphone Human Interface Guidelines handboek geschreven door Apple Inc 2007. Rounded-Rectangle

Nadere informatie

Homework assignment 7 (Intensionality)

Homework assignment 7 (Intensionality) Homework assignment 7 (Intensionality) Semantiek 2013 Solutions Opgave 1 Bekijk de volgende zinnen: A. Lewis Carroll is Charles Dodgson, en Tina ontmoette Charles Dodgson. B. Lewis Carroll is Charles Dodgson,

Nadere informatie

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education *3745107457* Cambridge International Examinations Cambridge International General Certificate of Secondary Education DUTCH 0515/03 Paper 3 Speaking Role Play Card One 1 March 30 April 2015 Approx. 15 minutes

Nadere informatie

Interaction Design for the Semantic Web

Interaction Design for the Semantic Web Interaction Design for the Semantic Web Lynda Hardman http://www.cwi.nl/~lynda/courses/usi08/ CWI, Semantic Media Interfaces Presentation of Google results: text 2 1 Presentation of Google results: image

Nadere informatie

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education Cambridge International Examinations Cambridge International General Certificate of Secondary Education DUTCH 0515/03 Paper 3 Speaking Role Play Card One For Examination from 2015 SPECIMEN ROLE PLAY Approx.

Nadere informatie

De Relatie tussen Betrokkenheid bij Pesten en Welbevinden en de Invloed van Sociale Steun en. Discrepantie

De Relatie tussen Betrokkenheid bij Pesten en Welbevinden en de Invloed van Sociale Steun en. Discrepantie De Relatie tussen Betrokkenheid bij Pesten en Welbevinden en de Invloed van Sociale Steun en Discrepantie The Relationship between Involvement in Bullying and Well-Being and the Influence of Social Support

Nadere informatie

Maillijsten voor medewerkers van de Universiteit van Amsterdam

Maillijsten voor medewerkers van de Universiteit van Amsterdam See page 11 for Instruction in English Maillijsten voor medewerkers van de Universiteit van Amsterdam Iedereen met een UvAnetID kan maillijsten aanmaken bij list.uva.nl. Het gebruik van de lijsten van

Nadere informatie

De Samenhang tussen Dagelijkse Stress en Depressieve Symptomen en de Mediërende Invloed van Controle en Zelfwaardering

De Samenhang tussen Dagelijkse Stress en Depressieve Symptomen en de Mediërende Invloed van Controle en Zelfwaardering De Samenhang tussen Dagelijkse Stress en Depressieve Symptomen en de Mediërende Invloed van Controle en Zelfwaardering The Relationship between Daily Hassles and Depressive Symptoms and the Mediating Influence

Nadere informatie

Aim of this presentation. Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market

Aim of this presentation. Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market Aim of this presentation Give inside information about our commercial comparison website and our role in the Dutch and Spanish energy market Energieleveranciers.nl (Energysuppliers.nl) Founded in 2004

Nadere informatie

Socio-economic situation of long-term flexworkers

Socio-economic situation of long-term flexworkers Socio-economic situation of long-term flexworkers CBS Microdatagebruikersmiddag The Hague, 16 May 2013 Siemen van der Werff www.seo.nl - secretariaat@seo.nl - +31 20 525 1630 Discussion topics and conclusions

Nadere informatie

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 11

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 11 QUICK GUIDE B Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 11 Version 0.14 (July 2015) Per May 2014 OB10 has

Nadere informatie

Stichting NIOC en de NIOC kennisbank

Stichting NIOC en de NIOC kennisbank Stichting NIOC Stichting NIOC en de NIOC kennisbank Stichting NIOC (www.nioc.nl) stelt zich conform zijn statuten tot doel: het realiseren van congressen over informatica onderwijs en voorts al hetgeen

Nadere informatie

3D boommodellering uit niet-gecalibreerde beelden. Jan Van Doorslaer

3D boommodellering uit niet-gecalibreerde beelden. Jan Van Doorslaer 3D boommodellering uit niet-gecalibreerde beelden Jan Van Doorslaer 23 mei 2011 ii Voorwoord Vooraleer we starten met deze thesis zou ik graag nog even de tijd nemen om enkele personen te bedanken en het

Nadere informatie

LCA, wat kan je er mee. Sustainability consultant gaasbeek@pre sustainability.com

LCA, wat kan je er mee. Sustainability consultant gaasbeek@pre sustainability.com LCA, wat kan je er mee Anne Gaasbeek Anne Gaasbeek Sustainability consultant gaasbeek@pre sustainability.com PRé Consultants PRé is pionier i van LCA sinds 1990; ontwikkelaar van Ecoindicator and ReCiPe

Nadere informatie

Security Les 1 Leerling: Marno Brink Klas: 41B Docent: Meneer Vagevuur

Security Les 1 Leerling: Marno Brink Klas: 41B Docent: Meneer Vagevuur Security Les 1 Leerling: Klas: Docent: Marno Brink 41B Meneer Vagevuur Voorwoord: In dit document gaan we beginnen met de eerste security les we moeten via http://www.politiebronnen.nl moeten we de IP

Nadere informatie

SPX Model A-360 Azimuth Antenna Rotor Model 1 & 2

SPX Model A-360 Azimuth Antenna Rotor Model 1 & 2 Gauke Boelensstraat 108 NL-9203 RS Drachten The Netherlands Tel: +31 (0) 512 354 126 GSM: +31 (0) 650 882 889 Fax: +31 (0) 847 187 776 www.rfhamdesign.com E-mail: info@rfhamdesign.com Model A-360 Azimuth

Nadere informatie

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education *0535502859* DUTCH 0515/03 Paper 3 Speaking Role Play Card One 1 March 30 April 2010 No Additional

Nadere informatie

NEDERLANDS. Display Instructies. Knoppen. Geeft afwisselend Tijd, Datum en Temperatuur weer, kan ook ingesteld worden op enkel tijd

NEDERLANDS. Display Instructies. Knoppen. Geeft afwisselend Tijd, Datum en Temperatuur weer, kan ook ingesteld worden op enkel tijd NEDERLANDS Het ziet eruit als een simpel blokje hout, maar maak een geluid (knip met je vingers, kuch, klap in je handen, of tip op de bovenkant) en het geeft onmiddelijk en afwisselend tijd, datum en

Nadere informatie

Knelpunten in Zelfstandig Leren: Zelfregulerend leren, Stress en Uitstelgedrag bij HRM- Studenten van Avans Hogeschool s-hertogenbosch

Knelpunten in Zelfstandig Leren: Zelfregulerend leren, Stress en Uitstelgedrag bij HRM- Studenten van Avans Hogeschool s-hertogenbosch Knelpunten in Zelfstandig Leren: Zelfregulerend leren, Stress en Uitstelgedrag bij HRM- Studenten van Avans Hogeschool s-hertogenbosch Bottlenecks in Independent Learning: Self-Regulated Learning, Stress

Nadere informatie

Free Electives (15 ects)

Free Electives (15 ects) Free Electives (15 ects) Information about the Master RE&H (and the free electives) can be found at the following page: http://www.bk.tudelft.nl/en/about-faculty/departments/real-estate-and-housing/education/masterreh/free-electives/

Nadere informatie

Next-Generation Youth Care If we knew what we are doing, we wouldn t call it innovation!

Next-Generation Youth Care If we knew what we are doing, we wouldn t call it innovation! Next-Generation Youth Care If we knew what we are doing, we wouldn t call it innovation! Paul Louis Iske Professor Open Innovation & Business Venturing, Maastricht University Internationaal Instituut voor

Nadere informatie

Houdt u er alstublieft rekening mee dat het 5 werkdagen kan duren voordat uw taalniveau beoordeeld is.

Houdt u er alstublieft rekening mee dat het 5 werkdagen kan duren voordat uw taalniveau beoordeeld is. - Instructie Deze toets heeft als doel uw taalniveau te bepalen. Om een realistisch beeld te krijgen van uw niveau,vragen we u niet langer dan één uur te besteden aan de toets. De toets bestaat uit twee

Nadere informatie

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL PIR DC-SWITCH DC Passive infra-red Detector Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL Please read this manual before operating your DETECTOR PIR DC-Switch (PDS-10) De PDS-10 is een beweging

Nadere informatie

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education *7261263430* DUTCH 0515/03 Paper 3 Speaking Role Play Card One 1 March 30 April 2011 No Additional

Nadere informatie

Mondeling tentamen Havo - ERK niveau B1 / B1 +

Mondeling tentamen Havo - ERK niveau B1 / B1 + Mondeling tentamen Havo - ERK niveau B / B + Het mondeling voor Engels Havo duurt 5 minuten en bestaat uit een gesprek met je docent waarin de volgende onderdelen aan de orde komen: *Je moet een stukje

Nadere informatie

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten Difference in Perception about Parenting between Parents and Adolescents and Alcohol Use of Adolescents

Nadere informatie

Voorbeelden van machtigingsformulieren Nederlands Engels. Examples of authorisation forms (mandates) Dutch English. Juli 2012 Versie 2.

Voorbeelden van machtigingsformulieren Nederlands Engels. Examples of authorisation forms (mandates) Dutch English. Juli 2012 Versie 2. Voorbeelden van machtigingsformulieren Nederlands Engels Examples of authorisation forms (mandates) Dutch English Voorbeelden machtigingsformulieren standaard Europese incasso Examples of authorisation

Nadere informatie

Van ader tot ader= Een risico-analyse van de bloedtransfusieketen. Jos Hoofs

Van ader tot ader= Een risico-analyse van de bloedtransfusieketen. Jos Hoofs Van ader tot ader= Een risico-analyse van de bloedtransfusieketen Jos Hoofs Doctoraal scriptie Beleid en Beheer Faculteit der Gezondheidswetenschappen Universiteit Maastricht November, 2001 1 e beoordelaar

Nadere informatie

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior Martin. W. van Duijn Student: 838797266 Eerste begeleider:

Nadere informatie

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education *2942209982* UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education DUTCH 0515/03 Paper 3 Speaking Role Play Card One 1 March 30 April 2012 15 minutes

Nadere informatie