Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door...

125
Meten op vlakke structuren door middel van gerectificeerde foto’s FACULTEIT INDUSTRIELE INGENIEURSWETENSCHAPPEN CAMPUS DE NAYER Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent VRIJSEN Masterproef ingediend tot het behalen van de graad van master of Science in de industriële wetenschappen: bouwkunde, afstudeerrichting landmeten Academiejaar 2013-2014

Transcript of Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door...

Page 1: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

Meten op vlakke structuren door middel van gerectificeerde foto’s

FACULTEIT INDUSTRIELE INGENIEURSWETENSCHAPPEN

CAMPUS DE NAYER

Promotor: Dr. Ir. Arch. Bjorn Van Genechten

Vincent VRIJSEN

Masterproef ingediend tot het behalen van

de graad van master of Science in de

industriële wetenschappen: bouwkunde,

afstudeerrichting landmeten

Academiejaar 2013-2014

Page 2: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 3: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

Meten op vlakke structuren door middel van gerectificeerde foto’s

Promotor: Dr. Ir. Arch. Bjorn Van Genechten

Vincent VRIJSEN

Academiejaar 2013-2014

Masterproef ingediend tot het behalen van

de graad van master of Science in de

industriële wetenschappen: bouwkunde

afstudeerrichting landmeten

Page 4: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 5: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

III Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Woord vooraf

Een masterproef dient de ultieme weergave te zijn van een gedegen onderzoek na

een vruchtbare studentenperiode. Met onderhavig werkstuk probeer ik het bewijs te

leveren van deze stelling.

Alhoewel dit werk een individuele realisatie is, wilt dit niet zeggen dat ik deze scriptie

had kunnen voltooien zonder de hulp en steun van verschillende personen.

Om deze reden had ik graag mijn promotor Dr. Ir. Arch. Bjorn Van Genechten

bedankt voor zijn geduld, tijd en wijze raad doorheen het academiejaar, alsmede

voor het aanreiken van een uitermate interessant onderwerp.

Het Departement Architectuur, Stedenbouw en Ruimtelijke Ordening aan de KU

Leuven dank ik voor het ter beschikking stellen van landmeetkundig materiaal om de

muur van het Kasteel Arenberg in te meten.

Verder nog mijn oprechte waardering voor Campus De Nayer, waar ik een erg leerrijk

masterjaar mocht volgen.

Ten slotte had ik graag mijn familie en vrienden bedankt, niet enkel voor de financiële

geruststelling, maar vooral voor hun onvoorwaardelijke en morele steun doorheen

mijn studentencarrière.

Ontzettend veel dank allemaal!

© 2014, Vincent Vrijsen

Page 6: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 7: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

V Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Abstract

Het gedetailleerd opmeten van een façade of muur kan voor een landmeter

behoorlijk veel tijd vragen. Indien we echter details kunnen lokaliseren in een foto

van deze gevel, dan heeft dit onmiskenbaar een aantal voordelen, waarvan het

tijdsaspect zeker niet het onbelangrijkste is. Ook krijgen we een visuele weergave

van de werkelijkheid achter de opmeting. Nadelig is echter dat foto’s van nature

vervormingen bevatten, waardoor erop meten niet onmiddellijk mogelijk lijkt.

In deze scriptie wordt er stap voor stap gekeken hoe de inherente

perspectiefvervorming van een foto kan gecorrigeerd worden zodat er toch

rechtstreeks op kan gemeten worden. Dit noemt men de rectificatie van een foto.

Daarenboven wordt er naar automatisatie gestreefd. Hierdoor kunnen ook lange

muren of bijvoorbeeld façades in een lintbebouwing, die normaal in meerdere foto’s

dienen gefotografeerd te worden, opgemeten worden. Deze automatisatie bestaat

erin dat de foto’s met onderlinge overlapping, automatisch georiënteerd worden ten

opzichte van elkaar zodat uiteindelijk één grote foto ontstaat. Deze nieuwe foto kan

dan op haar beurt gerectificeerd worden door middel van minimum 4 controlepunten

zoals vereist bij een projectieve transformatie.

Aan de hand van de technische softwareomgeving MATLAB wordt er

probleemoplossend gezocht naar een methode om stapsgewijs foto’s voor te

bereiden teneinde er vervolgens ogenblikkelijk op te meten. Ook wordt er dieper

ingegaan op de nauwkeurigheid van deze ontwikkelde methode.

Trefwoorden: rectificatie, automatisatie, MATLAB

Page 8: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 9: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

VII Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Abstract (English)

The detailed measurement of a facade or a wall may require a considerable amount

of time for a surveyor. Searching for details in a photograph taken of this facade

could save the surveyor a huge amount of time as it is more intuitive. However,

photographs contain certain distortions that make it impossible to directly take

measurements.

In this thesis, we investigate how the inherent perspective distortion of photographs

can be corrected in order to be able to measure onto them directly. This is a process

called rectification.

Besides this, the thesis aims to automate a process that can even handle a larger

amount of photographs with certain overlap, for example a large wall that only fits

onto multiple photos. This automation step will try to automatically orient the

overlapping photographs and stitch them together into one large photograph. This

photograph can then be rectified using the projective transformation method using at

least the necessary 4 control points.

By using a numerical computing environment like MATLAB a method is developed to

prepare the photos in such a way that it will be possible to measure directly on them.

An extensive review is done on the accuracy of this developed method.

Keywords: rectification, automation, MATLAB

Page 10: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 11: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

IX Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Summary

When a facade is measured by a surveyor, it is well known that this professional

activity requires a lot of time. This is due to mounting a total station and precise

measuring on the wall. This survey results in a large set of points.

This thesis discloses an alternative method which in the first place will save much

time, but will also provide the surveyor with more freedom as he or she will not have

to perform all measurements on-site. This alternative method consists of a technique

to measure directly onto an image, called image rectification. However, this

technique requires certain conditions to be met which will be elaborated in the thesis.

For example, the façade has to be a flat.

There is an huge issue though. Measuring is not possible on every photo. Before

anyone can measure directly on a photograph, the photo has to be undistorted in a

way that the image becomes a scaled version of reality. Getting rid of this

perspective distortion is called rectification. A well-known example of this kind of

distortion is a picture taken, standing at the base of a skyscraper while looking at the

entire building. This will result in a picture where the building seems to be wider at

the base than it is at the top while this building actually is as wide at the bottom as it

is at the top. This phenomenon is called perspective distortion. As said before, to

get rid of this kind of distortion rectification has to be used.

When a measurement is done on a photograph, the accuracy of this measurement

will not be the same as the accuracy of a measurement directly on the façade. For

this reason, the accuracy of this alternative method will be investigated throughout

the thesis.

The literature study is split into two main parts. The first part of the literature study

consists of rectification theories. As said before, rectifying a photo is used to be able

to measure onto this photo. There are quite some rectification models like the

differential rectification model, the polynomial model, etc. In this thesis the model

used is the projective transformation model.

The second part deals with the relation between two pictures. Instead of rectifying

multiple images of a facade separately (e.g. a very long wall), it might be interesting

to stitch these images together in advance and rectify this new image at once. When

a photograph is taken from a facade and subsequently when the photographer

Page 12: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

X Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

moves a little bit to another direction, he takes a second picture. This will result in two

pictures that overlap each other. In this overlapping region there are objects

(corners, lines, points, ..) that are in common in both images. Based on the

corresponding features between images, the transformation that maps one image

onto the other can be computed.

It is quite important when images need to be transformed (in order to measure onto

them directly in a later stage) that these images themselves are not distorted. Images

taken with a digital camera do possess radial or tangential distortions, a method to

correct them is by using a camera calibration. Therefore a whole chapter is dedicated

to this calibration.

After the theories are framed in the literature study chapter, the methodology is

discussed. In this chapter the theories need to be applied to solve the problems

stated before. Like the previous chapter (literature study), this chapter is also split

into two parts. First the relation between two pictures is tackled. There has to be an

algorithm to find features between these two images. Once these are found, it will be

possible to calculate the relation between these images as a homography. An

homography is an 3-by-3 matrix which can undistort one image to make the distortion

correspond to the distortion of the other picture. This can be easily explained using

two images (Figuur 0-1) as an example. The left and right image are photos of the

same wall, taken with a bit of overlap.

Figuur 0-1: Left Image and right image

Page 13: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

XI Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

After some features have been found in both images, the homography can be

calculated. This homography can now undistort the left image in such a way that it

has the same perspective distortion as the right image. The pictures below (Figuur

0-2) are the same left picture as above before and after the perspective distortion.

Figuur 0-2: Before and after projective distortion

When two images (Figuur 0-2) have the same distortion, it is possible to stitch them

together like the left picture below (Figuur 0-3).

Figuur 0-3: Two (left) and seven (right) images stitched together

Once two or more (see right picture Figuur 0-3) are stitched together, it is possible to

rectify these pictures, thus making it possible to measure onto these images. In order

to make this projective transformation (rectification) it is necessary to have a

minimum of 4 control points (in x- and y-coordinates), these can be measured for

example with a total station.

Page 14: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

XII Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

In the following chapter, the suggested process is implemented into MATLAB.

MATLAB is a numerical computing environment and very useful due to the variation

of functions, algorithms and easily to understand coding. For example, the picture

below shows a function in MATLAB, where two images are projected as one

composite image and the relation between features visible as a yellow line.

Figuur 0-4: Composite function in MATLAB

After the code has been implemented, there is an extensive chapter with an example

of the usage of the MATLAB code. The accuracy and application use of the

developed code is handled in another chapter.

In the conclusion, advantages and some shortcomings of the method described in

this thesis are explained.

Page 15: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

XIII Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Inhoudsopgave

Woord vooraf .............................................................................................................. III

Abstract ...................................................................................................................... V

Abstract (English) ..................................................................................................... VII

Summary ................................................................................................................... IX

Inhoudsopgave ........................................................................................................ XIII

Verklarende woordenlijst ............................................................................................. 2

Lijst van figuren ........................................................................................................... 3

Probleemstelling ................................................................................................... 5 1.

Literatuurstudie .................................................................................................. 11 2.

2.1. Inleiding ........................................................................................................ 11

2.1.1. Relatie tussen foto en werkelijkheid: rectificatie .................................... 11

2.1.2. Relatie tussen 2 foto’s onderling: overeenkomstige punten ................... 11

2.2. Rectificatie .................................................................................................... 12

2.2.1. Inleiding ................................................................................................. 12

2.2.2. Projectieve rectificatieprocedure ............................................................ 15

2.2.3. Resampling technieken ......................................................................... 22

2.3. Overeenkomsten tussen foto’s ..................................................................... 27

2.3.1. Inleiding ................................................................................................. 27

2.3.2. Features ................................................................................................ 28

2.3.3. Feature detectie ..................................................................................... 28

2.3.4. Feature descriptie .................................................................................. 30

2.3.5. Feature matching ................................................................................... 30

2.3.6. Algoritmen ............................................................................................. 32

2.4. Bestaande software...................................................................................... 39

2.4.1. PhoToPlan ............................................................................................. 39

2.4.2. Hugin ..................................................................................................... 39

Camera kalibratie ............................................................................................... 41 3.

3.1. Lens correctie door middel van Adobe Photoshop ....................................... 41

Page 16: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

XIV Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

3.2. Lens correctie door middel van Camera Calibration Toolbox in MATLAB ... 42

3.2.1. Intrinsieke parameters ........................................................................... 43

3.2.2. Extrinsieke parameters ......................................................................... 44

3.2.3. Toepassing camera kalibratie ............................................................... 45

3.2.4. Kalibratiestap ........................................................................................ 46

Methodologie ..................................................................................................... 53 4.

4.1. De relatie tussen foto’s onderling ................................................................. 53

4.2. De relatie tussen een foto en de werkelijkheid ............................................ 54

MATLAB ............................................................................................................ 57 5.

5.1. Inleiding ....................................................................................................... 57

5.2. MATLAB code: ontleding ............................................................................. 57

5.2.1. Eerste stap: Automatische rectificatie met behulp van SURF ............... 57

5.2.2. Tweede stap: Samenplakken van getransformeerde foto’s .................. 60

5.2.3. Derde stap: rectificatie van samengeplakte foto’s ................................. 62

5.3. MATLAB functies ontleding ......................................................................... 64

5.3.1. detectSURFFeatures( ........................................................................... 64

5.3.2. extractFeatures( .................................................................................... 65

5.3.3. matchFeatures( ..................................................................................... 66

5.3.4. Estimate Geometric Transformation ...................................................... 66

5.3.5. maketform( ............................................................................................ 68

5.3.6. imtransform( .......................................................................................... 68

5.3.7. cp2tform( ............................................................................................... 69

Voorbeeld: Kasteel Arenberg ............................................................................. 71 6.

Inleiding ............................................................................................................. 71

6.1. Foto’s muur .................................................................................................. 71

6.2. Inmeten buitenmuur Kasteel Arenberg ........................................................ 73

6.2.1. Resultaat in geocentrische coördinaten ................................................ 73

6.2.2. Resultaat in verticaal vlak...................................................................... 73

6.2.3. Gemiddeld resultaat van beide metingen .............................................. 74

6.3. Toepassing MATLAB op Kasteel Arenberg ................................................. 74

6.3.1. Eerste stap: Automatische rectificatie met behulp van SURF ............... 76

Page 17: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

XV Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

6.3.2. Tweede stap: Samenplakken van getransformeerde foto’s ................... 79

6.3.3. Derde stap: rectificatie van samengeplakte foto’s.................................. 81

6.4. Nauwkeurigheidscontrole ............................................................................. 83

6.4.1. Rectificatie a.d.h.v. 4 controlepunten ..................................................... 84

6.4.2. Rectificatie a.d.h.v. 6 controlepunten ..................................................... 87

Conclusie ........................................................................................................... 91 7.

Bijlagen .............................................................................................................. 93 8.

8.1. MATLAB code .............................................................................................. 93

8.1.1. Eerste stap: Automatische rectificatie met behulp van SURF ................ 93

8.1.2. Tweede stap: Samenplakken van getransformeerde foto’s ................... 95

8.1.3. Derde stap: rectificatie van samengeplakte foto’s.................................. 96

8.2. Specificaties totaalstation: Sokkia SRX 3 ..................................................... 97

8.3. Resultaat gevelmeting (x-y-z coördinaten) ................................................... 98

8.4. Transformatie één vlak (x-y coördinaten) ................................................... 100

8.5. Gemiddeld resultaat in één vlak (x-y coördinaten) ..................................... 102

8.6. Gevelmeting westermuur Kasteel Arenberg, Leuven ................................. 103

Referenties ....................................................................................................... 105 9.

Page 18: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

2 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Verklarende woordenlijst

- CCD (Charge-Coupled Device): een chip om elektromagnetische straling om

te zetten in elektrische lading. Bijvoorbeeld in een camera: zet opgevangen

licht om in een elektrisch signaal dat op zijn beurt wordt omgezet naar een

digitaal signaal.

- EXIF (Exchangeable image file format): is een metadata-specificatie voor

afbeeldingsbestanden uit onder andere digitale camera’s. Deze kunnen

bijvoorbeeld informatie meegeven van het toestel zelf, de brandpuntsafstand,

ISO-waarde, …

- DHM (Digitaal Hoogtemodel): is een digitale weergave van een oppervlak met

oppervlaktetopografie van het maaiveld.

- Brandpuntsafstand: de brandpuntsafstand van een objectief is de afstand

tussen het midden van de lens en de plaats waar de invallende lichtstralen

samenkomen.

- GSD (Ground Sample Distance): is de overeenkomstige afstand tussen de

pixels in een foto en de afstand op de grond of basis.

- MATLAB: Software uitgegeven door Mathworks, gebruikt voor wiskundige

toepassingen zoals functies, matrices, statistiek, …

- Toolbox: een uitbreiding op MATLAB, gebruikt voor specifieke toepassingen.

Bijvoorbeeld; Image Processing Toolbox.

Page 19: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

3 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Lijst van figuren

Figuur 0-1: Left Image and right image ...................................................................... X

Figuur 0-2: Before and after projective distortion ....................................................... XI

Figuur 0-3: Two (left) and seven (right) images stitched together ............................. XI

Figuur 0-4: Composite function in MATLAB ............................................................. XII

Figuur 1-1: Foto muur Kasteel Arenberg ..................................................................... 6

Figuur 1-2: Gerectificeerde foto muur Kasteel Arenberg ............................................. 7

Figuur 1-3: Linker- en rechterfoto ................................................................................ 8

Figuur 1-4: Vervormde linker foto (links) & samengeplakte foto (rechts) ..................... 9

Figuur 1-5: Voorbeeld meerdere samengevoegde foto's ........................................... 10

Figuur 2-1: Veelterm rectificatiemethode: hogere orde veeltermen ........................... 13

Figuur 2-2: Foto van de westertoren van Kasteel Moritzburg (Hemmleb &

Wiedemann, 1997) .................................................................................................... 14

Figuur 2-3: Ontwikkeld resultaat van Kasteel Moritzburg (Hemmleb & Wiedemann,

1997) ......................................................................................................................... 14

Figuur 2-4: Differentiële rectificatiemethode (Mayr & Heipke, 1988) ......................... 15

Figuur 2-5: Tonvormige distorsie (Johnson & Farid, 2006) ....................................... 16

Figuur 2-6: Speldenkussen-vervorming (Johnson & Farid, 2006) ............................. 17

Figuur 2-7: Tangentiële distorsie (Sinha, 2010) ......................................................... 17

Figuur 2-8: Werkelijk vlak x & foto-vlak x' (Hartley & Zisserman, 2004) .................... 20

Figuur 2-9: Overgang van werkelijke naar coördinaten in het vlak en vice versa

(Johnson & Farid, 2006) ............................................................................................ 22

Figuur 2-10: Dichtste buren interpolatietechniek (SeaDAS, 2013) ............................ 23

Figuur 2-11: Bilineaire interpolatietechniek (SeaDAS, 2013) .................................... 24

Figuur 2-12: Bi-kubische convolutietechniek (SeaDAS, 2013) .................................. 25

Figuur 2-13: Dichtste bureninterpolatie ..................................................................... 26

Figuur 2-14: Bi-lineaire interpolatie ............................................................................ 26

Figuur 2-15: Bi-kubische interpolatie ......................................................................... 26

Figuur 2-16: Detectie van vlakken, randen en hoeken (Szeliski, 2010) ..................... 29

Figuur 2-17: Gaussiaanse filter met toenemende variantie (Sinha, 2010) ................. 35

Figuur 2-18: Octaven + schaalniveau's (Sinha, 2010) ............................................... 36

Figuur 2-19: 2D dataset ............................................................................................. 37

Figuur 2-20: 2D dataset fitting m.b.v. RANSAC ......................................................... 38

Figuur 2-21: PhoToPlan binnen AutoCAD ................................................................. 39

Figuur 2-22: Aanduiden van horizontale en verticale lijnen binnen Hugin ................. 40

Figuur 3-1: Instellingen Adobe Photoshop ................................................................ 42

Figuur 3-2: Gridreferentieframe ................................................................................. 44

Page 20: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

4 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 3-3: Ingelezen foto's van het schaakbordpatroon .......................................... 45

Figuur 3-4: Geschatte hoekpunten (rode kruisjes) na aanduiden van de vier uiterste

hoekpunten (groene kruisjes) ................................................................................... 46

Figuur 3-5: Extrinsieke parameters - world-centered (camera-referentieframe) ....... 47

Figuur 3-6: Extrinsieke parameters - camera-centered ............................................. 48

Figuur 3-7: Initiële reprojectiefout ............................................................................. 48

Figuur 3-8: Hoekpunten opnieuw geprojecteerd op de foto's a.d.h.v. momentele

parameters ................................................................................................................ 49

Figuur 3-9: Kleinere reprojectiefout ........................................................................... 49

Figuur 3-10: Radiale distorsie component ................................................................ 50

Figuur 3-11: Tangentiële distorsie component .......................................................... 50

Figuur 3-12: Complete distorsie component ............................................................. 51

Figuur 3-13: Originele (links) en gecorrigeerde (rechts) foto in grijstinten ................ 52

Figuur 6-1: Voortbeweging van kleine fouten ............................................................ 72

Figuur 6-2: Alternatief inperking voortbeweging kleine fouten .................................. 72

Figuur 6-3: Foto 1 ..................................................................................................... 75

Figuur 6-4: Foto 2 ..................................................................................................... 75

Figuur 6-5: Foto 3 ..................................................................................................... 76

Figuur 6-6: Overeenkomstige features m.b.v. SURF algoritme ................................ 77

Figuur 6-7: Overeenkomstige punten na verwijderen van uitschieters m.b.v. RANSAC

.................................................................................................................................. 77

Figuur 6-8: Getransformeerde Foto 2 ....................................................................... 78

Figuur 6-9: Getransformeerde Foto 3 ....................................................................... 79

Figuur 6-10: Foto's dienen samengevoegd te worden in Stap 2 ............................... 79

Figuur 6-11: Selectietool in MATLAB voor het aanduiden van een overeenkomstig

punt ........................................................................................................................... 80

Figuur 6-12: Samengevoegde foto's (Stap 2) ........................................................... 81

Figuur 6-13: Selectietool voor het aanduiden van controlepunten ............................ 82

Figuur 6-14: Gerectificeerd geheel ........................................................................... 82

Figuur 6-15: Ingemeten punten met gerectificeerde foto in AutoCAD ....................... 83

Figuur 6-16: Samengevoegde foto's uit Stap 2 ......................................................... 84

Figuur 6-17: Gerectificeerde foto aan de hand van 4 controlepunten ....................... 85

Figuur 6-18: Samengevoegde foto's uit Stap 2 ......................................................... 87

Figuur 6-19: Gerectificeerde foto a.d.h.v. 6 controlepunten ...................................... 88

Page 21: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

5 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Probleemstelling 1.

Het opmeten van een gevel is een activiteit die een landmeter ongetwijfeld zal

tegenkomen bij het uitoefenen van zijn beroep. Hiervoor stelt hij traditioneel zijn

meettoestel op en meet punten in op deze muur. Het resultaat is een groot aantal

ingemeten punten met een nauwkeurigheid afhankelijk van het toestel en de

accurate werking van de landmeter. De opmeting verloopt bijna volledig on-site,

waarmee bedoeld wordt dat de landmeter zijn werk quasi volledig verricht op de

plaats waar de gevel zich bevindt.

Over dit inmeten kunnen enkele bemerkingen gemaakt worden. Om te beginnen zal

de tijd, die de landmeter nodig heeft om on-site punten in te meten, behoorlijk

oplopen. Is het mogelijk om deze tijd in te korten, bijvoorbeeld door achteraf bij de

verwerking bepaalde ingrepen te doen? Een andere bemerking is dat wanneer de

landmeter een punt heeft vergeten in te meten op de gevel, hij dit punt opnieuw ter

plaatse zal moeten inmeten.

Derhalve werpt zich de vraag op of er een mogelijkheid bestaat om dezelfde taak

efficiënter uit te voeren, zonder dat dit de nauwkeurigheid van de bekomen resultaten

in een belangrijke mate aantast. Met andere woorden, wij willen op zoek gaan naar

een methode die toelaat om de omschreven taak eveneens uit te voeren en dit met

een zo groot mogelijke nauwkeurigheid.

Een alternatief voor het traditionele opmeten zou kunnen zijn dat er rechtstreeks op

een foto van de gevel gemeten wordt. Vanzelfsprekend zal dit de prestatietijd

inkorten. Een punt aanduiden op een foto is relatief vlug gebeurd, terwijl het inmeten

ter plaatse, waarbij er talloze punten moeten ingemeten worden, veel langer duurt.

Ook kan een punt, dat de landmeter vergeten is in te meten, achteraf nog

teruggevonden worden. Nog een opmerkelijk voordeel ten opzichte van het

traditioneel inmeten: de muur is visueel zichtbaar op een foto. Dit is niet het geval

wanneer er enkel punten van de muur worden ingemeten. Maar natuurlijk zal een

kritische landmeter zich afvragen of dit alternatief wel voldoende nauwkeurig is.

Er kan niet zo maar op elke foto gemeten worden. Hiervoor dient een foto

“voorbereid” te worden. Om de foto voor te bereiden zodat er op gemeten kan

worden, moet er aan een aantal voorwaarden voldaan zijn.

Voordat het echte werk kan beginnen moet een belangrijke kanttekening gemaakt

worden. Wanneer een foto met een digitale camera wordt gemaakt, komen er op

Page 22: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

6 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

deze foto meestal distorsies voor. Radiale en tangentiele distorsies kunnen

bijvoorbeeld voor zorgen dat een object meer bol van vorm lijkt dan het in

werkelijkheid is. Dit type distorsie kan dus best vermeden worden. Door middel van

een camera kalibratie kunnen deze vervormingen ongedaan gemaakt worden.

Onderstaande foto (Figuur 1-1) geeft een lange gevel weer. Hierop rechtstreeks

meten gaat niet, omdat er vanuit het standpunt van de fotograaf niet loodrecht op de

muur wordt gekeken. In een dergelijk geval spreekt men van een foto met

perspectiefvervorming. Denk hierbij aan een foto getrokken aan de voet van een

wolkenkrabber kijkend naar de top van het hoge gebouw, waarbij het lijkt alsof het

gebouw spitser wordt. In werkelijkheid wordt het gebouw niet smaller maar toont de

foto een beeld van het gebouw waarin perspectiefvervorming optreedt.

Figuur 1-1: Foto muur Kasteel Arenberg

Zoals later in deze masterproef zal blijken kan deze vervorming worden teniet

gedaan door de foto te rectificeren. Dit wil zeggen dat de foto op zo’n manier wordt

vervormd waardoor het lijkt alsof de foto loodrecht voor de muur is genomen.

Hierdoor zijn de verhoudingen in de foto dezelfde als deze in werkelijkheid. Als

bovendien ook nog juist geweten is welke verhouding deze foto ten aanzien van de

werkelijke muur heeft, kan er wél op de foto gemeten worden alsof er rechtstreeks op

de muur gemeten wordt. Een gerectificeerde foto van bovenstaande muur zal er dan

als volgt uitzien (Figuur 1-2).

Page 23: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

7 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 1-2: Gerectificeerde foto muur Kasteel Arenberg

Het is echter niet altijd mogelijk om rechtstreeks op bovenstaande foto te meten.

Omdat we in casu te maken hebben met een lange gevel, zal de resolutie van de

desbetreffende foto niet hoog genoeg zijn om verschillende objecten (bijvoorbeeld

bakstenen) te kunnen onderscheiden. Het kan ook gebeuren dat een object (in ons

geval de lange gevel) niet in één stuk op één enkele foto past.

Hiervoor moet het samenplakken van foto’s een oplossing kunnen bieden. Er worden

verscheidene foto’s van de gevel gemaakt die dicht genoeg bij de gevel zijn

vastgelegd zodat de resolutie hoog genoeg is (bakstenen kunnen nu bijvoorbeeld wel

worden onderscheiden). Vervolgens worden de foto’s samengeplakt, maar ze zullen

enkel exact samen kunnen worden gevoegd wanneer hun perspectiefvervorming

juist overeenkomt.

Op onderstaande foto’s kan duidelijk visueel afgeleid worden dat beide foto’s niet

dezelfde perspectiefvervorming hebben. Ter illustratie hiervan hoeven we maar naar

de dakgoot in beide foto’s te kijken. Deze lopen niet gealigneerd. Dit is al een

indicatie dat beide foto’s niet zomaar prompt samen kunnen geplakt worden.

Page 24: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

8 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 1-3: Linker- en rechterfoto

De oplossing voor dit probleem is de ene foto zo te vervormen dat deze overeenkomt

met de vervorming van de andere foto.

Ter voorbeeld werd bovenstaande linker foto (Figuur 1-3) vervormd zodat deze

dezelfde vervorming krijgt als de bovenstaande rechterfoto (Figuur 1-3). Dit resulteert

in onderstaande linker afbeelding (Figuur 1-4). Wanneer bovenstaande rechter

afbeelding en onderstaande linker afbeelding samen worden geplakt zal onderstaand

resultaat (rechts) ontstaan (Figuur 1-4).

Page 25: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

9 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 1-4: Vervormde linker foto (links) & samengeplakte foto (rechts)

Wanneer dit nu wordt gedaan met meerdere foto’s, zoals op onderstaande foto

(Figuur 1-5) kan de gehele muur wel worden weergegeven in één enkele

samengeplakte foto. Wanneer deze samengeplakte foto wordt gerectificeerd (zodat

er kan opgemeten worden) is het eerder vermeldde probleem, namelijk een te lage

resolutie wanneer slechts één foto wordt genomen van de muur, van de baan.

Later zal bovendien blijken dat er een minimum van 4 punten op de muur gekend

moeten zijn, best zo goed mogelijk verspreid over de muur, om deze samengeplakte

foto te rectificeren. De vraag die tenslotte gesteld zal worden, is wat de

nauwkeurigheid zal zijn wanneer er op dit uiteindelijke resultaat wordt gemeten.

Page 26: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

10 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 1-5: Voorbeeld meerdere samengevoegde foto's

In deze masterproef zullen we de verschillende aspecten van de probleemstelling

gedetailleerd behandelen. Zo zal er dieper worden ingegaan op de voorwaarden tot

oplossing van het probleem, de methode van de rectificatie, het belichten van het

“automatisch” vervormen van foto’s en andere aspecten die komen kijken bij het

opmeten van gevels door middel van rectificatie. Bovendien tonen we aan dat de

voorgestelde werkwijze de nauwkeurigheid van meting niet ernstig in het gedrang

brengt.

Samenvatting onderzoeksvraag: Is het mogelijk om in plaats van op de traditionele

manier muren in te meten, de muur vast te leggen aan de hand van foto’s, waarna op

deze foto’s nauwkeurig kan gemeten worden? Hierbij wordt getracht de verschillende

foto’s aan de hand van algoritmen automatisch ten opzichte van elkaar te

positioneren waarbij er een minimum van 4 gekende controlepunten nodig blijken om

het geheel te rectificeren en zodoende klaar te maken om er rechtstreeks op te

kunnen meten.

Page 27: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

11 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Literatuurstudie 2.

2.1. Inleiding

2.1.1. Relatie tussen foto en werkelijkheid: rectificatie

Wanneer een lange gevel wordt vastgelegd met een camera, verspreid over

verscheidene foto’s, dan is het mogelijk om elke foto apart te rectificeren. Dit

betekent dat elke foto van perspectiefvervorming wordt ontdaan. Vervolgens worden

alle foto’s aan elkaar geplakt, zodat de lange gevel zichtbaar wordt op één grote foto.

Wanneer een vlakke structuur (bijvoorbeeld een lange gevel) wordt vastgelegd met

behulp van een camera, ontstaat er een relatie tussen de foto en de realiteit, een

zogenaamde homografie. Deze homografie is een 3x3 matrix. Dit betekent dat de

relatie tussen elke foto en de realiteit kan berekend worden. In huidige

literatuurstudie zal getoond worden dat, teneinde deze homografie uit te rekenen,

men minimum vier controlepunten dient te kennen op de vlakke structuur in de foto.

Zodra deze punten gekend zijn, kan vervolgens de foto gerectificeerd worden.

De manier van werken waarbij per foto minimum 4 controlepunten gekend moeten

zijn, zal het werk van de landmeter niet noodzakelijk verminderen. Denk bijvoorbeeld

aan een lange muur waarvan 10 foto’s genomen moeten worden. Hierdoor dienen

nog steeds (minimum) 10 keer 4 controlepunten ingemeten te worden.

In onderhavige literatuurstudie proberen wij ook hiervoor een oplossing aan te reiken.

Er zal een apart deel worden gewijd aan rectificatie. Hierbij worden verschillende

rectificatiemethoden en de berekening van een homografie uit de doeken gedaan.

2.1.2. Relatie tussen 2 foto’s onderling: overeenkomstige

punten

Er bestaat niet enkel een homografie tussen foto en werkelijkheid. Ook bij foto’s

onderling, waartussen een overlappende zone zichtbaar is, bestaat een homografie.

Page 28: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

12 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

In deze wetenschap zal het mogelijk zijn om een foto dermate te transformeren dat

de perspectiefvervorming ervan gelijk wordt aan deze van de andere foto.

Voorwaarde is wel dat er voldoende overlap bestaat tussen beide foto’s. Wanneer

beide foto’s dezelfde perspectiefvervorming hebben, kunnen die foto’s samen

geplakt worden tot één grotere foto.

De berekening van deze homografie dient te gebeuren aan de hand van

overeenkomstige punten in de overlappende zone tussen beide foto’s. Het

lokaliseren van deze overeenkomstige punten tussen twee foto’s kan manueel

gebeuren, maar ook automatisch aan de hand van algoritmen.

In een tweede deel van deze literatuurstudie wordt er dieper ingegaan op het

vaststellen en het lokaliseren van overeenkomstige punten tussen foto’s. Op het

einde van dit hoofdstuk zal tevens kort de bestaande software worden toegelicht.

In een volgende hoofdstuk tenslotte zullen de methodologie, de procedures en

werkwijzen van deze masterproef, uit de doeken worden gedaan.

Huidig hoofdstuk wordt dus onderverdeeld in:

2.2 Rectificatie

2.3 Overeenkomsten tussen foto’s

2.4 Bestaande software

2.2. Rectificatie

2.2.1. Inleiding

Het ontdoen van perspectiefvervorming oftewel het rectificeren van foto’s kan tot

gevolg hebben dat er op een foto gemeten kan worden, en bovendien in ware

schaal. Geometrische metingen uitvoeren op een foto bespaart immers veel tijd en

kosten ten opzichte van veldwerk. Er bestaan verscheidene methoden (Hartley &

Zisserman, 2004) om afbeeldingen te rectificeren. Niet alle methoden zijn evenwel

even bruikbaar voor elke situatie.

Om een rectificatie te voltrekken wordt er in de literatuur een eerste indeling gemaakt

(Hemmleb & Wiedemann, 1997). Zo is er de parametrische benadering en de niet-

parametrische benadering. De parametrische benadering berust op interne en

externe oriëntatieparameters, terwijl de niet-parametrische benadering berust op

Page 29: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

13 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

gekende controlepunten in het vlak. In onze masterproef opteerden wij voor de

laatste benadering, precies omdat deze gebaseerd is op controlepunten en het

eerder vernoemde tijdsvoordeel oplevert. Binnen de niet-parametrische benadering

kunnen een viertal belangrijke rectificatiemethoden onderscheiden worden: de

projectieve rectificatiemethode, de veeltermrectificatiemethode, de ontwikkelbare

rectificatiemethode en tenslotte de differentiële rectificatiemethode.

2.2.1.1. Projectieve rectificatiemethode

Wanneer er gewerkt wordt in één vlak is een projectieve rectificatiemethode het

meest geschikt. Daar er in dit eindwerk initieel in één vlak wordt gewerkt werd aan

deze methode de voorkeur gegeven. Bijgevolg zal deze methode en de daarbij

horende procedure later uitvoerig besproken worden.

2.2.1.2. Veelterm rectificatiemethode

De veelterm rectificatiemethode wordt vaak toegepast bij satelliet- en luchtfotografie

en wordt meestal berekend aan de hand van grondcontrolepunten (GCP’s). Wanneer

in het vlak oneffenheden voorkomen is de veelterm rectificatiemethode meer

geschikt dan de projectieve rectificatiemethode. Deze veeltermmethode zal echter

verschillende voorwaarden en/of problemen met zich meebrengen. Wanneer gebruik

wordt gemaakt van een hogere graadveelterm, zal het aantal controlepunten stijgen

net zoals de kans op oscillaties in de veelterm. Wanneer voldoende controlepunten

beschikbaar zijn, kunnen gebogen vlakken met deze methode beschreven worden.

Figuur 2-1: Veelterm rectificatiemethode: hogere orde veeltermen1

1 www.esri.com : polynomial transformation

Page 30: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

14 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.2.1.3. Ontwikkelbare rectificatiemethode

Wanneer ontwikkelbare oppervlakken gerectificeerd dienen te worden, biedt de

ontwikkelbare rectificatiemethode oplossingen. Deze methode wordt vaak gebruikt

om een gebogen object als een vlakke structuur voor te stellen, en zal het dus

mogelijk maken om kegels of cilinders te beschrijven aan de hand van x-, y-, z-

coördinaten van controlepunten. Ter voorbeeld de westertoren van Moritzburg te

Halle (Duitsland), gefotografeerd (Figuur 2-2) en digitaal gerectificeerd (Figuur 2-3).

(Hemmleb & Wiedemann, 1997)

Figuur 2-2: Foto van de westertoren van Kasteel Moritzburg (Hemmleb & Wiedemann, 1997)

Figuur 2-3: Ontwikkeld resultaat van Kasteel Moritzburg (Hemmleb & Wiedemann, 1997)

Page 31: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

15 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.2.1.4. Differentiële rectificatiemethode

Als bovenstaande methoden niet geschikt zijn, kan de rectificatie nog gebeuren met

de differentiële rectificatiemethode (Mayr & Heipke, 1988). Hierbij wordt het

oppervlak van het te beschrijven model in een geometrische beschrijving gegoten,

zoals bijvoorbeeld een digitaal oppervlaktemodel (DTM), zoals weergegeven in

onderstaande afbeelding.

Figuur 2-4: Differentiële rectificatiemethode (Mayr & Heipke, 1988)

2.2.2. Projectieve rectificatieprocedure

Doordat we het in deze masterproef voornamelijk hebben over het opmeten van

vlakke gevels zal het minder interessant zijn om een veelterm rectificatie-,

ontwikkelbare rectificatie- of differentiële rectificatiemethode te gebruiken. Er wordt

gewerkt met de projectieve rectificatiemethode, welke vlakke structuren correct kan

rectificeren met een minimum van 4 controlepunten. Dit is erg interessant, doordat

een beperkt aantal controlepunten toch een accurate rectificatie kan afleveren.

Bij het rectificeren van een afbeelding aan de hand van de projectieve

rectificatiemethode dient de volgende procedure doorlopen te worden (Van

Genechten, 2010):

1. De camera kalibreren

2. De foto’s nemen

3. Controlepunten inmeten

Page 32: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

16 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

4. Controlepunten aanduiden op de foto

5. De homografie berekenen aan de hand van de controlepunten in de foto

en in werkelijkheid

6. De foto rectificeren aan de hand van de berekende homografie

Met deze zes stappen zal in huidige literatuurstudie het rectificeren van een foto

worden uitgelegd.

2.2.2.1. Het kalibreren van de camera

Wanneer foto’s worden genomen met een camera zullen er vervormingen in de foto

optreden. Deze zijn grotendeels te wijten aan de lens. De meest voorkomende

distorsies zijn radiale- en tangentiële distorsies.

2.2.2.1.1. Radiale distorsie

Radiale distorsies kunnen op hun beurt opgedeeld worden in twee soorten

1. Ton-distorsie

Tonvormige distorsie (Figuur 2-5) kan voorgesteld worden als lijnen die zich weg

bewegen van het centrum van de lens wanneer een foto wordt gemaakt van een

onvervormd grid. Een veelgebruikte soort lens die opzettelijk gebruik maakt van dit

distorsie-effect is de ‘Fisheye lens’.

Figuur 2-5: Tonvormige distorsie (Johnson & Farid, 2006)

Page 33: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

17 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2. Speldenkussen-distorsie

Speldenkussen-distorsie (Figuur 2-6) daarentegen zorgt ervoor dat de lijnen van het

onvervormde grid meer naar binnen worden weergegeven ten opzichte van het

centrum van de lens.

Figuur 2-6: Speldenkussen-vervorming (Johnson & Farid, 2006)

Het is mogelijk dat beide, zowel ton- als speldenkussen-distorsie optreden, wat leidt

tot een meer complexere vervorming.

2.2.2.1.2. Tangentiële distorsie

Tangentiële distorsie zal een kleiner aandeel hebben in de vervormingen dan radiale

distorsie. Desalniettemin mag deze vervorming niet verwaarloosd worden.

Tangentiële distorsie komt voor wanneer de lens niet perfect parallel geplaatst is ten

opzichte van het beeldvlak (sensor), zoals in onderstaande figuur (Figuur 2-7) wordt

voorgesteld.

Figuur 2-7: Tangentiële distorsie (Sinha, 2010)

Page 34: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

18 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.2.2.1.3. Ontdoen van vervormingen

Er zijn nu twee mogelijkheden om de hierboven beschreven vervormingen te

minimaliseren of te verwijderen. Ten eerste kunnen er aan de hand van de lens, die

gebruikt wordt om foto’s vast te leggen, verbeteringen aangebracht worden. De

kwaliteit van de lens is een belangrijke factor, vervormingsafwijkingen op duurdere

(kwaliteitsvolle) lenzen zijn immers kleiner.

Ten tweede blijkt dat ook de brandpuntafstand een invloed op vervormingen. Uit

lenstesten uitgevoerd door ‘Digital Photography Review’ blijkt dat de Sigma 18-

200mm F/3.5-6.3 DC OS lens, die later in deze masterproef bij het praktijkvoorbeeld

zal gebruikt worden, kleine vervormingen vertoont bij verschillende

brandpuntsafstanden. Hierna wordt de vervorming weergegeven, uitgedrukt in

percentage vervorming langsheen de korte en lange zijde van de genomen foto.

Een overzicht2

Brandpuntsafstand Korte zijde Lange zijde Soort vervorming

18 mm 1.8% 0.22% Tonvormige distorsie

28 mm 1.38% -0.75% Speldenkussendistorsie

39 mm -2.03% -0.89% Speldenkussendistorsie

50 mm -1.93% -0.73% Speldenkussendistorsie

80 mm 1.48% 0.5% Speldenkussendistorsie

135 mm 1.25% -0.39% Speldenkussendistorsie

200 mm 1.16% -0.34% Speldenkussendistorsie Tabel 1: Vervormingen in percentage per brandpuntsafstand

Bij de toepassing in ons praktijkvoorbeeld gaven we uiteindelijk de voorkeur aan een

brandpuntsafstand van 50mm. Testen met verschillende brandpuntafstanden leerden

ons dat 50mm in ons voorbeeld het juiste evenwicht bood inzake beeldhoek. Met het

50mm-objectief is de beeldhoek het best vergelijkbaar met wat we normaal met

eigen ogen zien.

Uit bovenstaande leerden we dus dat we hoe dan ook rekening moeten houden met

vervormingen te wijten aan de instellingen van de camera (de brandpuntsafstand).

Een manier om deze vervormingen te verwijderen is softwarematig. De verschillende

distorsies kunnen immers berekend worden door een camera kalibratie. Hierop wordt

in het volgend hoofdstuk 3 uitgebreid ingegaan.

2 http://www.dpreview.com/lensreviews/sigma_18-200_3p5-6p3_os_n15/3

Page 35: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

19 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.2.2.2. De foto nemen

Het maken van de foto’s is ook gebonden aan enkele voorwaarden. Zo wordt de lens

best loodrecht en de camera parallel ten opzichte van het vlak (bijvoorbeeld de

gevel) gehouden. Dit om initieel perspectiefvervormingen reeds zo veel mogelijk te

vermijden. Immers, wanneer er veel perspectiefvervorming in een foto optreedt en de

foto gerectificeerd wordt (de perspectiefvervorming verwijderd), gaat er informatie uit

de foto verdwijnen of wordt er minder correcte informatie bijgemaakt door middel van

bijvoorbeeld interpolatie. Dit is respectievelijk het geval bij compressie van pixels en

het uitrekken van pixels (zie ook 2.2.3).

Dus is het gebruik van een camera met een hogere resolutie aan te raden. Want hoe

meer pixels er in een foto zijn, hoe meer informatie er over het gefotografeerde

object bekend is.

2.2.2.3. Controlepunten inmeten

Om te weten waar bepaalde objecten op een foto dan tevens in de realiteit precies

terug te vinden zijn, worden punten gebruikt die in een welbepaald coördinatenstelsel

(bijvoorbeeld het cartesisch stelsel) gekend zijn. Dit zijn de zogenaamde

controlepunten.

De controlepunten dienen in x- en y-coördinaten in het vlak uitgedrukt te worden. In

werkelijkheid blijkt dit meestal niet overeen te stemmen, doordat een vlak (zoals

bijvoorbeeld een gevel) vaak niet volledig “vlak” is, maar oneffenheden laat zien

waardoor alle punten dus niet altijd perfect in één vlak liggen.

Een mogelijkheid om dit euvel te verhelpen bestaat erin om punten met een

theodoliet of totaalstation in te meten in x-, y-, z-coördinaten en vervolgens een fictief

vlak te creëren dat het beste doorheen deze punten zal gaan. Vervolgens kunnen in

dit bepaald vlak de x- en y-coördinaten nodig voor de berekening bepaald worden.

Aan de hand van de kleinste kwadratenmethode (eFunda, 2000) kan een best

passend vlak bepaald worden. Bij deze methode wordt het beste vlak gekozen door

de som van de kwadratische afstand van ieder punt tot het vlak te minimaliseren. Of

anders geschreven:

∑[ ( )]

Page 36: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

20 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Vergelijking 2-1

Zoals een paar stappen later zal blijken, zijn er minimum 4 controlepunten nodig om

de rectificatie te voltooien.

2.2.2.4. Controlepunten aanduiden op de foto

De aanduiding van de controlepunten op de foto is nodig om zodoende in een

volgende stap de relatie tussen de controlepunten op de foto en de controlepunten in

het werkelijke vlak vast te leggen door middel van een homografie. Er dient

opgemerkt te worden dat controlepunten best uitgespreid zijn over de vlakke

structuur, vastgelegd in de foto. De controlepunten representeren immers deze

vlakke structuur (bijvoorbeeld een muur). Des te verder de punten uiteen liggen, des

te beter deze structuur zal voorgesteld worden.

Figuur 2-8: Werkelijk vlak x & foto-vlak x' (Hartley & Zisserman, 2004)

De relatie tussen het werkelijke vlak en het vlak in de perspectief vervormde foto is

hierboven grafisch weergegeven (Figuur 2-8) en dient berekend te worden aan de

hand van de homografie.

2.2.2.5. De homografie berekenen

Om van het foto-vlak over te gaan naar het werkelijke vlak is er een projectieve

transformatie nodig. Een projectieve transformatie wordt, zoals reeds eerder vermeld,

ook wel een homografie genoemd. Ter verduidelijking (Hartley & Zisserman, 2004):

Page 37: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

21 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

(

) [

] (

)

Vergelijking 2-2

Of korter genoteerd

Vergelijking 2-3

Met

Een vlak in een foto is een perspectiefvervorming van het vlak in de werkelijke

wereld. Om deze perspectiefdistorsie “ongedaan te maken” moet bovenstaande

theorie toegepast worden. Er moet dus een inverse transformatie berekend worden

en toegepast worden op de desbetreffende foto om het werkelijke vlak te verkrijgen.

Vergelijking 2-4

Wanneer alle punten in de foto een projectieve transformatie ondergaan hebben, dan

zal als resultaat een nieuwe foto bekomen worden met geometrisch correcte

afmetingen, dit doordat de coördinaten in het vlak van de foto worden

getransformeerd naar coördinaten in de werkelijke wereld.

2.2.2.6. De foto rectificeren a.d.h.v. de berekende homografie

Om homografie H op te lossen, middels de projectieve rectificatiemethode, zijn er

minimum 4 bekende punten nodig in het werkelijke vlak. Homografie H kan steeds

vermenigvuldigd worden met een constante (niet nul) zonder dat de projectieve

transformatie verandert. Hierdoor wordt de homografie aanzien als een homogene

matrix en heeft 8 vrijheidsgraden, alhoewel dat deze homografie negen elementen

bevat (Dubrofsky, 2007). Bij elk overeenkomstig punt (x- en y-coördinaten) zijn er

twee vergelijkingen op te stellen, namelijk:

Page 38: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

22 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Vergelijking 2-5

Vergelijking 2-6

(Hartley & Zisserman, 2004)

Uit deze vergelijkingen kunnen, voor de 4 punten, alle onbekenden berekend worden

waarna homografie H bekend is. Als de inverse van H berekend is en toegepast

wordt op de gehele foto, zal het effect van perspectief vervorming verdwijnen en het

werkelijke vlak worden getoond.

Figuur 2-9: Overgang van werkelijke naar coördinaten in het vlak en vice versa (Johnson & Farid, 2006)

Bovenstaande afbeelding (Figuur 2-9) laat zien hoe de transformatie van werkelijke

coördinaten naar coördinaten in de foto gebeuren door middel van homografie H. Zo

is ook de transformatie van coördinaten in de foto naar werkelijke coördinaten

mogelijk met een transformatie aan de hand van H-1.

2.2.3. Resampling technieken

Wanneer een afbeelding wordt getransformeerd, in ons geval gerectificeerd, dan

worden alle pixels in de originele afbeelding geprojecteerd naar een andere locatie in

de vervormde outputafbeelding.

Men zal dan opmerken dat het centrum van een pixel in de nieuwe afbeelding over

het algemeen niet meer overeenstemt met het centrum van een pixel in de originele

(‘input’) afbeelding. Hiervoor werd resampling (SeaDAS, 2013) in het leven

Page 39: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

23 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

geroepen. Resampling is een interpolatieproces waarbij pixels in de originele

afbeelding aan de basis liggen voor nieuwe pixelwaarden in de outputafbeelding. Er

bestaan verschillende soorten interpolatietechnieken om pixels nieuwe waarden te

geven. Drie voorname resampling methoden, zijnde ‘dichtste-buren interpolatie’,

‘bilineaire interpolatie’ en ‘bi-kubische convolutie’ worden verder besproken. Hierbij

worden tevens ook hun voor- en nadelen opgesomd, met het oog op later gebruik in

deze masterproef.

2.2.3.1. Dichtste-buren interpolatie

Bij de dichtste-buren interpolatie (Engels: nearest neighbour interpolation) krijgt elke

pixel in de outputafbeelding de pixelwaarde van het dichtste centrum van een pixel in

de inputafbeelding. Onderstaande afbeelding verduidelijkt deze redenering.

Figuur 2-10: Dichtste buren interpolatietechniek (SeaDAS, 2013)

Een groot voordeel van deze methode is dat het relatief eenvoudig en snel werkt,

waarbij geen nieuwe pixelwaarden dienen berekend te worden. In verhouding met

bijvoorbeeld bi-kubische convolutie werkt deze methode dan ook sneller. Er dient wel

opgemerkt te worden dat er pixelwaarden verloren zullen gaan terwijl anderen

worden gedupliceerd. Een bijkomend nadeel is ook dat foto’s minder scherp kunnen

ogen, precies omdat er geen nieuwe pixelwaarden worden berekend.

2.2.3.2. Bilineaire interpolatie

Bij de bilineaire interpolatietechniek worden nieuwe pixelwaarden berekend door de

gewogen waarden van vier omliggende pixels.

Page 40: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

24 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-11: Bilineaire interpolatietechniek (SeaDAS, 2013)

De berekende waarde P’ in bovenstaande afbeelding kan dan beschreven worden

volgens volgende vergelijking

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

( )

Vergelijking 2-7

Een groot voordeel ten opzichte van vorige techniek is dat extreme pixelwaarden

worden uitgebalanceerd. Hierdoor zal ook de afbeelding scherper ogen dan bij de

dichtst-burenmethode. Helaas verliest deze methode contrast vergeleken met de

dichtste-burenmethode. Ook kan het feit, dat er nieuwe pixelwaarden worden

berekend die initieel niet aanwezig waren in de originele afbeelding, als een nadeel

gezien worden.

2.2.3.3. Bi-kubische convolutie

Bij deze techniek wordt een nieuwe pixelwaarde berekend aan de hand van 16

omringende pixels. De berekeningsmethode wordt duidelijk aan de hand van

onderstaande afbeelding.

Page 41: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

25 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-12: Bi-kubische convolutietechniek (SeaDAS, 2013)

De berekening is complexer dan deze bij voorgaande technieken. Eerst worden de

gemiddelden gemaakt voor de 4 pixels per horizontale lijn. Vervolgens worden met

deze vier nieuwe waarden één nieuwe waarde berekend. De vergelijking voor

pixelwaarde P’ in bovenstaande afbeelding kan als volgt worden opgesteld:

( ) ( ) ( ( ) ( ) ( ) ) ( ) ( )

( )( ( ) ( ) ) ( ) ( ( ) ( )

( ) )

Vergelijking 2-8

Net zoals vorige techniek worden extreme pixelwaarden uitgebalanceerd. Bij deze

methode wordt een scherper beeld gecreëerd ten opzichte van bilineaire interpolatie.

Nadelig is weer het contrast, deze is minder vergeleken met de dichtste-

burenmethode. Ook worden, net zoals bij bilineaire methode, nieuwe pixelwaarden

berekend die nog niet aanwezig waren in de originele afbeelding. Door de grotere

berekeningen zal deze methode ook trager werken dan de dichtste-burenmethode.

Het visueel vergelijken van de drie verschillende technieken zal bovenstaande

berekeningen en voor- en nadelen verduidelijken.

Page 42: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

26 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-13: Dichtste bureninterpolatie

Figuur 2-14: Bi-lineaire interpolatie

Figuur 2-15: Bi-kubische interpolatie

De drie resampling-technieken hebben allen voordelen en nadelen. Er is dus geen

‘beste’ of ‘slechtste’ methode. Afhankelijk van de toepassing zal de ene methode

meer geschikt zijn dan de andere. Na afweging werd uiteindelijk in dit werk

geopteerd voor de bilineaire interpolatietechniek, voornamelijk om het scherp

beeldresultaat, de gewogen nieuwe pixelwaarden en de snellere berekeningen (t.o.v.

de bi-kubische interpolatietechniek).

Page 43: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

27 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.3. Overeenkomsten tussen foto’s

2.3.1. Inleiding

In deze paragraaf bekijken we hoe twee foto’s, die een overlappende zone vertonen,

worden gekoppeld zodat de beide foto’s ten opzichte van elkaar kunnen georiënteerd

worden. Denk ter illustratie hierbij aan het aaneenplakken van een panoramafoto.

Deze bestaat ook uit verschillende aparte foto’s die samen één geheel vormen.

Een relatie vinden tussen twee foto’s kan aan de hand van overeenkomstigheden

tussen foto’s. Vervolgens kunnen de foto’s aan de hand van deze

overeenkomstigheden aan elkaar worden gekoppeld. De overeenkomstige punten,

randen of lijnen in de foto’s kunnen handmatig aangeduid worden.

Eenmaal de overeenkomstige punten, randen of lijnen in beide foto’s teruggevonden

zijn, kan met deze informatie ook een homografie worden berekend. Deze

homografie beschrijft dan de overgang van punten van het ene fotovlak naar het

andere fotovlak. Het resultaat zal zijn dat, aan de hand van deze homografie, één

foto zo wordt getransformeerd, dat deze in hetzelfde fotovlak komt te liggen als de

tweede foto. Dit resulteert op zijn beurt in twee foto’s, maar wel met dezelfde

perspectiefvervorming!

Als nu twee foto’s een vlakke structuur, zoals een lange muur, vastleggen met een

bepaalde overlappende zone en er manueel overeenkomstige punten op aangeduid

worden, kan de relatie (homografie) tussen de twee vlakken uitgerekend worden.

Vervolgens is het mogelijk, nadat het ene fotovlak naar het andere fotovlak wordt

getransformeerd (waarna ze dus dezelfde perspectief vervorming hebben), om de

beide foto’s samen te plakken tot één foto. Wanneer de foto’s op de juiste plaats ten

opzichte van elkaar opéén geplakt zijn, wordt één lange foto van deze muur

getoond, waarbij het lijkt alsof er slechts één foto werd genomen. In werkelijkheid

werden er dus twee foto’s gemaakt.

Dit is een correcte manier van werken. Maar het manueel zoeken en aanduiden van

overeenkomstige punten, lijnen of randen zal veel tijd in beslag nemen. Dit kan

geautomatiseerd gebeuren. Het koppelen van afbeeldingen kan echter ook gebeuren

aan de hand van features.

Page 44: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

28 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.3.2. Features

Een feature kan het best omschreven worden als een stukje informatie in een foto.

Een feature kan bijvoorbeeld een specifiek object zijn in de foto zelf, zijnde punten,

randen of meer complexere structuren. We proberen hierbij features te vinden die

interessant of relevant zijn om te gebruiken bij latere berekeningen of algoritmen. Met

behulp van deze kleine stukken informatie in één foto kunnen weer overeenkomstige

stukjes informatie in de andere foto aangeduid worden om uiteindelijk een koppeling

te maken tussen beide foto’s.

De methode om overeenkomstige features te vinden en te koppelen kan opgedeeld

worden in 3 stappen (Szeliski, 2010)

1. Feature detectie: een interessant punt identificeren

2. Feature beschrijving: een feature vector (descriptor) beschrijft de zone

rond een interessant punt

3. Feature koppeling (matching): het besluiten of features tussen twee

foto’s overeenkomstig zijn of niet.

Wanneer tussen twee beelden slechts een geringe beweging bestaat, zoals

bijvoorbeeld tussen twee frames in een video, zal de laatste stap tracking worden

genoemd in plaats van matching. Hierbij wordt er slechts in een kleine radius

omheen het gedetecteerde feature gezocht.

2.3.3. Feature detectie

Feature detectie wordt toegepast om pixels, of de buurt rond pixels te onderzoeken

om zo’n interessant stukje informatie, een feature, te lokaliseren. Echter, de detectie

van een feature in verschillende foto’s zal niet voor elke stukje informatie even

gemakkelijk gaan. Ter verduidelijking volgende afbeelding.

Page 45: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

29 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-16: Detectie van vlakken, randen en hoeken (Szeliski, 2010)

We kunnen de omgeving rond elke feature voorstellen als een klein venster

waardoor we kijken. Zoals in bovenstaande afbeelding (Figuur 2-16) zichtbaar, zijn er

onder elke foto drie vensters weergegeven. Niet alle drie de vensters kunnen met

dezelfde nauwkeurigheid herkend worden. Het linker venster (volledig lichtblauwe

lucht), onder de respectievelijke foto’s, bevindt zich in een effen vlak. Als ditzelfde

venster een beetje naar links, rechts, boven of onder beweegt, zal er zichtbaar

weinig kleur- of textuurverandering in een bepaalde richting kunnen worden

gedetecteerd. Dit venster zal dus het moeilijkste gelokaliseerd kunnen worden. Het

middelste venster geeft een rand (van een schaduw op sneeuw) weer, waarbij geen

verandering wordt gedetecteerd wanneer het venster zal verschuiven in de richting

parallel aan de rand van de schaduw. Als laatste is een hoek (van de berg)

weergegeven. Hier wordt in elke richting verandering vastgesteld, waardoor dit

venster het beste te lokaliseren zal zijn in de beide foto’s.

Voor de detectie van features bestaan er vele algoritmen. Voor randdetectie zijn

enkele bekende algoritmen (Shirahatti, 2005):

- Robert’s randdetector

- Prewitt’s randdetector

- Sobel randdetector

- Frie Chen randdetector

- Canny randdetector

Ook voor hoekdetectie bestaan er menige algoritmen. Enkele voorbeelden:

- Harris hoekdetector

Page 46: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

30 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

- Smallest Univalue Segment Assimilating Nucleus (SUSAN) hoekdetector

- Förstner hoekdetector

- Wang and Brady hoekdetector

In ons praktijkvoorbeeld werd er geen enkele van deze voorbeelden weerhouden,

omdat het algoritme dat uiteindelijk gebruikt werd (SURF), de detectie verricht, maar

daarenboven andere voordelen biedt. Hierop komen we later terug.

2.3.4. Feature descriptie

Elke regio rond een gedetecteerde feature wordt geconverteerd in een compacte en

stabiele (invariante) vector en wordt een descriptor genoemd. Zo zal een descriptor

worden vergeleken met de descriptoren uit een andere foto, dit met het oog op een

match, besproken in volgende paragraaf.

2.3.5. Feature matching

Een gepast algoritme dient gezocht te worden om het matchen van features zo snel

(en dus efficiënt) mogelijk te laten verlopen. Om pixels, die hetzelfde object

voorstellen, in twee foto’s met elkaar te matchen, bestaan er vele soorten algoritmen.

De simpelste manier is om alle overeenkomstige paren van features in foto’s te

vergelijken op potentiële matching.

In deze masterproef zal er dieper worden ingegaan op de bekendste en meest

gebruikte algoritmen: Sum of Absolute Differences (SAD), Sum of Squared

Differences (SSD) en Normalized Cross Correlation (NCC). Andere algoritmen zijn

bijvoorbeeld Zero-mean Sum of Absolute Differences (ZSAD), Locally scaled Sum of

Absolute Differences (LSAD), Zero-mean Sum of Squared Differences (ZSSD),

Locally scaled Sum of Squared Differences (LSSD), Zero-mean Normalized Cross

Correlation (ZNCC), Sum of Hamming Distances (SHD).

2.3.5.1. Sum of Absolute Differences (SAD)

Dit algoritme (Roma, et al., 2002) is gebaseerd op het zoeken van ongelijkheden

tussen pixelwaarden. Hierbij wordt de overeenkomst gemeten tussen twee ‘blokken’

pixels in twee afbeeldingen. Dit betekent dat het absolute verschil tussen elke pixel

in de ene afbeelding en de overeenkomstige pixel in de andere afbeelding wordt

vergeleken. Deze verschillen worden vervolgens opgeteld. De resultante zal nul zijn

wanneer de twee afbeeldingen exact matchen.

Page 47: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

31 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Of anders geschreven

∑ ( ) ( )

( )

Vergelijking 2-9: Som van het absoluut verschil tussen twee pixels

Waarbij de pixel in de eerste afbeelding I1(i,j) en de matchende pixel in de tweede

afbeelding I2(x+i,y+j) is.

2.3.5.2. Sum of Squared Differences (SSD)

Dit algoritme (Roma, et al., 2002) werkt volgens een andere methode. Hierbij wordt

het gekwadrateerde verschil genomen tussen twee overeenkomstige pixels en

gesommeerd voor elke overeenkomstige pixel. Ook deze resultante zal nul zijn

wanneer de twee afbeeldingen exact matchen.

Of anders geschreven:

∑ [ ( ) ( )]

( )

Vergelijking 2-10: Som van het gekwadrateerd verschil tussen twee pixels

Waarbij opnieuw de pixel in de eerste afbeelding I1(i,j) en de matchende pixel in de

tweede afbeelding I2(x+i,y+j) is.

2.3.5.3. Normalized Cross Correlation (NCC)

Normalized Cross Correlation (Roma, et al., 2002) is complexer dan SAD en SSD

doordat er gebruikt wordt gemaakt van meerdere vermenigvuldigingen, delingen en

kwadraten.

∑ ( ) ( )( )

√∑ ( ) ∑ ( )( ) ( )

Vergelijking 2-11: Genormaliseerde kruiscorrelatie

Waarbij de pixel in de eerste afbeelding I1(i,j) en de matchende pixel in de tweede

afbeelding I2(x+i,y+j) is.

Page 48: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

32 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.3.6. Algoritmen

Er zijn verscheidene algoritmen om features te detecteren, te beschrijven en te

matchen, zoals in vorige paragrafen reeds besproken. Op enkele algoritmen wordt

echter dieper ingegaan, namelijk op SIFT en op SURF. Deze algoritmen blijken

uitermate geschikt om features te herkennen op foto’s die bijvoorbeeld een andere

belichting of schaalverandering vertonen. Verder zullen we ook zullen we hier even

dieper ingaan op het RANSAC-algoritme. Dit algoritme zal in het geval van deze

masterproef minder correcte data (uitschieters) negeren bij het berekenen van een

homografie.

2.3.6.1. SIFT: Scale-invariant feature transform

Scale-invariant feature transform (Lowe, 1999) (Lowe, 2004) is, zoals de naam al

doet vermoeden, een herkenningsalgoritme waarbij de features niet enkel

onveranderlijk zijn aan schaalwijziging, maar ook aan translatie of rotatie. Tevens is

het ook gedeeltelijk invariant aan belichtingsverschillen in een afbeelding. Vooraleer

het SIFT-algoritme was bedacht, vormden schaalveranderingen en

belichtingsverschillen tussen foto’s met overeenkomstigheden een groot probleem.

De SIFT methode werkt niet rechtstreeks met de afbeelding zelf, maar vervangt de

foto door een grote verzameling van feature-vectoren, waarvan ieder dus invariant is

aan bovenvermelde transformaties.

De berekening om de features te bekomen aan de hand van SIFT kan opgedeeld

worden volgens de hoger besproken stappen, namelijk feature detectie en feature

descriptie (Lowe, 2004). Het volledige algoritme wordt in dit eindwerk niet uit de

doeken gedaan. .Dit zou ons te ver afleiden van de essentie van dit werk. Er wordt

echter wel stapsgewijs uitgelegd hoe dit algoritme opgebouwd wordt.

1. Feature detectie

a. Zoeken van extrema in eeen scale space

Vooreerst wordt er een karakteristieke schaal gezocht voor een

welbepaalde feature. Met andere woorden, er wordt gezocht over alle schalen

en locaties in de afbeelding. Dit gebeurt efficiënt aan de hand van een

Page 49: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

33 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

‘Difference of Gaussians’3 functie om op deze wijze ‘interessante’ punten (die

invariant zijn aan schaal en oriëntatie) te vinden.

b. Lokalisatie van sleutelpunten

Van elk bekomen ‘interessant’ punt uit bovenstaande stap wordt de

locatie en schaal in een model gegoten. Vervolgens worden sleutelpunten

geselecteerd gebaseerd op hun stabiliteit.

2. Feature descriptie

a. Toewijzen van een oriëntatie

Aan elk sleutelpunt worden een of meerdere oriëntaties toegewezen op

basis van een lokale vectorrichting. Vanaf nu worden alle operaties toegepast

op de data (van de foto) waaraan de oriëntatie, schaal en locatie zijn

toegewezen. Hierdoor zullen de operaties invariant zijn aan deze

transformaties.

b. Sleutelpunt descriptie

De lokale vectoren worden gemeten in de buurt van elk sleutelpunt,

waarna deze worden voorgesteld, zodat verandering van belichting en lokale

distorsies toegelaten worden.

2.3.6.2. SURF: Speeded-Up Robust Features

SURF oftewel Speeded-Up Robust Features (Bay, et al., 2008) is net zoals SIFT een

schaal- en rotatie invariante detector en descriptor. SIFT en SURF hebben qua

methode vele raakvlakken (Oyallon & Rabin, 2013). SURF werkt echter volgens een

beter algoritme qua robuustheid en repetitiviteit. Dit leidt tot een snellere berekening.

Door de berekeningsmethoden tot hun essentie te vereenvoudigen kan winst worden

gemaakt op verscheidene vlakken.

Om overeenkomsten tussen twee afbeeldingen te vinden, dienen er drie stappen

doorlopen te worden. Vooreerst dienen “interessante punten” gevonden te worden op

kenmerkende plaatsen. Deze plaatsen kunnen hoeken of randen zijn, maar het kan

3 Het verschil tussen een geblurde versie van een originele afbeelding met een minder geblurde versie

ervan.

Page 50: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

34 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

ook een blob 4 zijn. Bij deze interessante punten is repetitiviteit erg belangrijk.

Hiermee wordt de betrouwbaarheid bedoeld waarmee deze zelfde interessante

punten kunnen gevonden worden onder andere omstandigheden (andere belichting,

rotaties, etc.).

Vervolgens wordt de buurt rond elk interessant punt voorgesteld als een feature

vector. Deze vector wordt berekend aan de hand van intensiteitsveranderingen, moet

te onderscheiden zijn van andere vectoren en moet goed weerstand bieden tegen

ruis, detectiefouten en geometrische vervormingen.

Als derde en laatste stap worden twee gevonden vectoren in verschillende foto’s

‘gematched’. De matching is veelal gebaseerd op een afstand tussen de vectoren,

zoals bijvoorbeeld de Euclidische afstand5. Ook de dimensie van de descriptor is van

belang. Het rekenen met een lage dimensie (bijvoorbeeld 36-dimensionale vector)

zal sneller, maar minder nauwkeurig zijn dan descriptors met hogere dimensies

(bijvoorbeeld 128-dimensionale vector). SURF tracht hier een gulden middenweg te

vinden tussen nauwkeurigheid en snelheid.

Terwijl SURF’s detector sneller is en goed bestand tegen herhaalbaarheid, is

bovendien de descriptor van SURF sneller en meer onderscheidend in zijn werk.

Laat dit laatste nu het meest overtuigend argument zijn waarom er in deze

masterproef wordt gekozen voor SURF in plaats van een andere soort algoritme

zoals bijvoorbeeld de vaak gebruikte Harris hoekdetectie.

Met de Harris hoekdetectie wordt een hoek niet altijd gedetecteerd wanneer een foto

wordt genomen vanuit twee verschillende standpunten. Aan de hand van SURF

worden echter geen hoeken gedetecteerd, maar regio’s rond bepaalde punten, wat

een grotere kans geeft om succesvol overeenkomstige punten te vinden.

De detector is gebaseerd op de Hessiaan6. Dit zorgt er mede voor dat er slechts drie

optellingen nodig zijn om de som van de intensiteiten binnen een rechthoekige regio

rond een interessant punt te berekenen, ongeacht zijn grootte. Gedetecteerde

interessante punten krijgen een rotatie en schaal invariante descriptor mee. Om

schaalinvariantie te garanderen, wordt een foto op verschillende schalen

geanalyseerd. Dit gebeurt door gebruik te maken van schaalniveau’s (‘scale

space’).

4 Punten met dezelfde eigenschappen en hierdoor erg op elkaar gelijken, worden beschouwd in een

‘blob-regio’ te liggen. 5 De kortste verbindingsafstand

6 Matrix van tweede-orde partiële afgeleiden van een functie met meerdere variabelen

Page 51: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

35 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Een scale space kan verklaard worden met het voorbeeld van een persoon die voor

het eerst in een bepaalde ruimte komt en er op zoek gaat naar een bepaald

voorwerp. Wanneer deze persoon binnenkomt in de ruimte ‘scant’ hij de hele ruimte.

Naar mate hij meer details in de deze ruimte bekijkt, zal hij zijn focus verleggen,

zoals bijvoorbeeld naar het voorwerp dat hij zoekt. Een scale space werkt op

dezelfde manier. Echter wordt de ruimte hierbij weergegeven aan de hand van

meerdere schalen. Deze schalen worden gecreëerd door een Gaussiaanse filter toe

te passen met toenemende variantie, wat resulteert in een foto waarbij een steeds

waziger beeld wordt weergeven. Ter illustratie een “ludiek” katje, waarbij de blur

(wazigheid) toeneemt in de foto’s van links naar rechts en boven naar onder.

Figuur 2-17: Gaussiaanse filter met toenemende variantie (Sinha, 2010)

Er wordt bij SURF niet enkel gewerkt met verschillende schaalniveau’s, maar ook

met octaven. Elke octaaf bestaat uit een constant aantal schaalniveau’s. Per nieuwe

octaaf verdubbelt de filter in grootte (voorbeeld 6-12-24-48). Ter verduidelijking

onderstaande afbeelding van het katje, waarbij de Gaussiaanse filter van boven naar

onder toeneemt, met toenemende octaven van links naar rechts.

Page 52: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

36 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-18: Octaven + schaalniveau's (Sinha, 2010)

2.3.6.3. RANSAC

Het RANSAC algoritme (Fischler & Bolles, 1981) zal weliswaar geen features

detecteren, maar wordt in deze scriptie nog gebruikt om bepaalde data in een set te

verwerpen. Daarom hierover een woordje uitleg.

RANSAC (Random Sample Consesus) is een algoritme ontwikkeld door Martin A.

Fischler en Robert C. Bolles. Het doel van dit algoritme is een benadering te vinden

om een groot aantal uitschieters aan te kunnen in een dataset. Wanneer bijvoorbeeld

van onderstaande puntendata (Figuur 2-19) een best passende rechte wordt

gecreëerd aan de hand van de kleinste kwadraten methode, zal dit leiden tot een

slechte fit. Dit komt doordat er ook rekening wordt gehouden met verschillende

uitschieters (outliers). De kleinste kwadratenmethode werkt immers enkel goed

wanneer er gewerkt wordt zonder uitschieters (dus enkel inliers).

Page 53: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

37 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 2-19: 2D dataset7

Het RANSAC algoritme zal de uitschieters wèl kunnen onderscheiden van de inliers

waardoor een beter resultaat zal bekomen worden. Het algoritme is een iteratief

proces waarbij verschillende stappen kunnen onderscheiden worden (Fischler &

Bolles, 1981)

1. Selecteer willekeurig een minimum aan punten nodig om een model

op te stellen

2. Stel een hypothetisch model voor

3. Bereken het aantal inliers en outliers binnen een bepaalde tolerantie

voor dat model

4. Wanneer het aantal inliers, in verhouding tot het totaal aantal punten,

een bepaalde vooraf vastgelegde drempel overschrijdt, wordt het

model berekend aan de hand van deze inliers.

5. Indien niet voldaan aan vorige stap, herhaal vanaf stap 1.

Het aantal iteraties wordt hoog genoeg gekozen, zodat er een bepaalde zekerheid

(bijvoorbeeld een zekerheid van 0,99) bestaat dat de set geen outliers bevat.

Het resultaat van het doorlopen van de vijf stappen van het RANSAC algoritme,

toegepast op de bovenstaande dataset (Figuur 2-19), leidt tot onderstaand figuur

(Figuur 2-20). Hierbij valt op dat er een goede fit bekomen wordt. De kleinste

7 http://www.visual-experiments.com/2012/04/22/ransac-js/

Page 54: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

38 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

kwadratenmethode zou hier geen goede fit geven, wat met RANSAC in dit geval dus

wel het geval is.

Figuur 2-20: 2D dataset fitting m.b.v. RANSAC8

RANSAC wordt niet enkel gebruikt om functies te fitten door een bepaalde dataset.

Het kan ook gebruikt worden om een homografie te berekenen, gebaseerd op punten

die in twee verschillende foto’s overeenkomen. Zo zal RANSAC via de vijf stappen

eerst een willekeurig aantal overeenkomstige punten selecteren. Aan de hand van

deze punten wordt dan een homografie berekend. Vervolgens wordt er met deze

berekende homografie gekeken hoeveel in- en outliers er zijn. Hiermee wordt

bedoeld hoeveel punten tussen beide foto’s wel of niet overeenkomen aan de hand

van de berekende homografie. Vertrekkende van een vooraf bepaalde zekerheid zal

er, wanneer er niet voldaan werd aan deze zekerheid, terug vanaf de eerste stap

worden begonnen. Dit wordt herhaald tot de verlangde zekerheid bereikt is.

Doordat verschillende uitschieters niet worden meegenomen in de berekening van

de homografie tussen twee genomen foto’s lijkt RANSAC een uiterst goede ‘filter van

slechte overeenkomsten’, beter dan de kleinste kwadratenmethode. Hierdoor blijkt

RANSAC een beter algoritme om in deze masterproef toe te passen.

8 http://www.visual-experiments.com/2012/04/22/ransac-js/

Page 55: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

39 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2.4. Bestaande software

Om de werking van rectificaties, overeenkomstige punten of homografieën juist te

interpreteren is het nuttig om reeds bestaande software te bekijken.

2.4.1. PhoToPlan

Een bekende landmeetkundige software is PhoToPlan 9 van Kubit Software.

PhoToPlan werkt binnen AutoCAD10 en bied de mogelijkheid om digitale foto’s te

corrigeren (door middel van rectificatie) waarna in AutoCAD kan gemeten worden op

de foto’s. Dit lijkt op het eerste zicht erg interessant. Nadelig is echter dat er per foto

voldoende controlepunten (minimum vier) of voldoende referentielengtes moeten

worden opgegeven om de rectificatie te kunnen voltrekken.

In deze masterproef dient er bovendien een bijkomstige stap gezet te worden. We

willen namelijk weten of het mogelijk is om foto’s reeds aan elkaar te voegen voordat

het geheel wordt gerectificeerd.

Figuur 2-21: PhoToPlan binnen AutoCAD

2.4.2. Hugin

Hugin 11 is een opensource panorama software, gespecialiseerd in het

aaneenplakken van foto’s. Hugin is in tegenstelling tot PhoToPlan geen kant en klaar

9 http://nl.kubit-software.com/CAD/Products/PhoToPlan_Camera/CAD_photogrammetry.php

10 Autodesk CAD-software

11 http://hugin.sourceforge.net

Page 56: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

40 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

landmeetkundige software, maar het bezit wel goede toepassingen, die aansluiten bij

deze vereist voor huidige masterproef.

Het is onder meer mogelijk om een foto te rectificeren aan de hand van verticale en

horizontale lijnen binnen een foto, maar helaas niet aan de hand van coördinaten van

controlepunten. Ook is het mogelijk om in Hugin te werken met het SIFT algoritme,

onder de benaming ‘autopano-sift-C’12, om overeenkomstige punten in overlappende

foto’s te vinden. Dit algoritme dient wel apart geïnstalleerd te worden in Hugin omdat

het algoritme gepatenteerd is.

Figuur 2-22: Aanduiden van horizontale en verticale lijnen binnen Hugin

Testen met software geven een goed beeld van de mogelijkheden. Zo zal

uiteindelijke blijken dat in deze masterproef het beste van beide werelden,

PhoToPlan en Hugin, dient gecombineerd te worden. Dit aan de hand van een

vergelijkbare rectificatieprocedure als deze in PhoToPlan en een stitching-methode

gelijkend op deze van Hugin.

In hoofdstuk 5 zal bovendien blijken dat de methode in deze masterproef wordt

opgebouwd in een MATLAB omgeving. Dit heeft als voordeel dat, in tegenstelling tot

commerciële software als PhoToPlan, de volledige broncode dient gemaakt te

worden. Hierdoor is de werking ervan volledig gekend.

12

http://hugin.sourceforge.net/docs/manual/Hugin_Preferences.html#Control_Point_Detectors

Page 57: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

41 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Camera kalibratie 3.

Doordat foto’s genomen met een digitale camera verscheidene vervormingen

vertonen zoals reeds uitgelegd in paragraaf 2.2.2.1, kunnen deze foto’s op

verschillende manieren gecorrigeerd worden waardoor radiale en tangentiele

distorsies worden teniet gedaan. We bekijken correcties door middel van Adobe

Photoshop en door middel van de Camera Calibration Toolbox in MATLAB.

3.1. Lens correctie door middel van Adobe

Photoshop13

Om te begrijpen hoe vervormingen in een afbeelding optreden en hoe deze kunnen

verwijderd worden, kan er gebruik gemaakt worden van Adobe Photoshop.

Voor dit werk gebruikten wij de Adobe Creative Suite 6 versie van Photoshop om

foto’s te corrigeren.

Via Filter – Lens Corrections (of snel toets Shift+Ctrl+R) kan, nadat een afbeelding is

ingeladen, deze gecorrigeerd worden. De foto’s werden vastgelegd aan de hand van

een Canon EOS450D cameratoestel in combinatie met een Sigma 18-200 mm F3.5-

6.3 DC lens.

Nadat de correcte instellingen zijn aangevinkt, worden correcties dadelijk toegepast

op de afbeelding. Hierbij wordt er ook rekening gehouden met de instellingen die op

de camera werden gebruikt wanneer de foto werd getrokken. Deze gegevens zijn

belangrijk om de juiste vervormingen te kennen. Hiervoor zal Photoshop de EXIF-

metagegevens 14 achterhalen die nodig zijn om de camera en lens te herkennen

waarmee de foto’s zijn gemaakt. In Photoshop worden standaard enkel profielen

weergegeven die overeenkomen met de camera en de lens waarmee de foto is

vastgelegd. Deze lensprofielen geven dus de vervormingen snel weer aan de hand

van het gekende cameramodel en lens. Het cameratype hoeft hiervoor volgens

Adobe niet exact overeen te stemmen. Photoshop selecteert dan ook automatisch

13

http://helpx.adobe.com/nl/photoshop/using/correcting-image-distortion-noise.html 14

Exchangeable image file format: geeft metadata specifiek voor vastgelegde foto’s a.d.h.v. een fotocamera, bijvoorbeeld merk/model van de camera, camera instellingen, etc.

Page 58: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

42 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

een overeenkomend subprofiel voor de geselecteerde lens op basis van

brandpuntsafstand en diafragmagetal15.

Figuur 3-1: Instellingen Adobe Photoshop

Bovenstaande afbeelding (Figuur 3-1) toont de gekozen instellingen. Aan de hand

van deze gekozen instellingen en de EXIF-metadata die Photoshop uit de foto afleidt,

zal vervolgens de foto gecorrigeerd worden. De te verwachten vervormingen zullen

in dezelfde ordegrootte liggen als de waarden in Tabel 1: Vervormingen in

percentage per brandpuntsafstand’ (pag. 18).

3.2. Lens correctie door middel van Camera

Calibration Toolbox in MATLAB

Doordat niet elke camera en lens exact dezelfde zijn, zelfs niet wanneer het

hetzelfde model betreft, is het interessanter om een complete camera kalibratie te

voltrekken in plaats van een relatief eenvoudige lens correctie in Adobe Photoshop.

Hierdoor zal er juist geweten zijn hoe een foto zal vervormen met bijbehorende

parameters. Met behulp van de Camera Calibration Toolbox (Bouguet, 2001),

15

De diameter van de intreepupil gedeeld door brandpuntsafstand

Page 59: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

43 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

ontwikkeld door Jean-Yves Bouguet in MATLAB, kan een camerakalibratie gedaan

worden door enkel gebruik te maken van een schaakbordpatroon. De techniek om de

camera te kalibreren is veelal gebaseerd op het werk, ‘Flexible Camera Calibration

By Viewing a Plane From Unknown Orientations’, van Zhengyou Zhang (Zhang,

1999). Het intrinsieke camera model is sterk gelijkend op deze gebruikt door Heikkilä

en Sliven in ‘A Four-step Camera Calibration Procedure with Implicit Image

Correction’ (Heikkilä & Silvén, 1997).

3.2.1. Intrinsieke parameters

- Focal length (fc): de brandpuntsafstand. Deze wordt uitgedrukt in pixels (niet

in milimeters) en wordt opgeslagen in een 2x1 vector. Dit betekent dus dat

fc(1) en fc(2) de brandpuntsafstand zijn, uitgedrukt in respectievelijk

horizontale en verticale pixels. Er kan opgemerkt worden dat beide

componenten qua waarde vrij dicht bijeen leunen. De verhouding fc(2)/fc(1)

geeft dan de zogenaamde beeldverhouding, waarbij deze verhouding

verschillend is van 1 wanneer de pixels in het CCD niet perfect vierkant zijn.

Daarom werkt de Toolbox ook met niet-vierkante pixels.

- Principal point (cc): de coördinaten van het principal point worden ook

opgeslagen in een vector met grootte 2x1

- Skew coëfficiënt (alpha_c): geeft de hoek gedefinieerd tussen de x en y pixel

assen van de sensor

- Distorsie: radiale en tangentiele distorsie in de afbeelding, opgeslagen in een

5x1 vector.

Aan de hand van bovenstaande parameters kan cameramatrix KK opgesteld worden.

Deze cameramatrix beschrijft de relatie tussen de pixel x- en y-coördinaat en de

vervormde x- en y-coördinaat door volgende lineare vergelijking.

[

] [

]

Met cameramatrix KK;

[ ( ) ( ) ( )

( ) ( )

]

Waarbij fc de focal lengte is, alpha_c de skew coëfficiënt is en cc het principal point

is.

Page 60: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

44 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

3.2.2. Extrinsieke parameters

De extrinsieke parameters zorgen voor de transformatie van het gridreferentieframe

naar het camerareferentieframe . De onderstaande afbeelding (Figuur 3-2) toont het

gridreferentieframe op het kalibratiegrid. XXc is een coördinaatvector in het

camerareferentieframe, en XX een coördinatenvector van hetzelfde punt maar in het

gridreferentieframe. Figuur 3-5 toont dan weer het camera-referentieframe.

Figuur 3-2: Gridreferentieframe

Als XXc = [Xc,Yc,Zc] en XX = [X,Y,Z] dan kan de relatie tussen beide

referentieframes geschreven worden als

Waarbij Rc en Tc respectievelijk de rotatiematrix en de translatievector van de

desbetreffende afbeelding zijn. Om beter te kunnen begrijpen wat zo’n vector nu

inhoudt: de translatievector is de coördinaatvector vanuit de oorsprong in het

camerareferentieframe. Wanneer de coördinaten van een punt gekend zijn in het

camerareferentieframe, dan kunnen deze geprojecteerd worden op in het vlak van

het beeld.

Page 61: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

45 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

3.2.3. Toepassing camera kalibratie

Aan de hand van het fotograferen van een schaakbord of een afbeelding van een

schaakbordpatroon is het mogelijk om een volledige kalibratie uit te voeren. Zo

dienen verschillende foto’s gemaakt te worden van dat schaakbord, waarbij het bord

in verschillende oriënteringen wordt gehouden. Na meerdere testen met de toolbox

blijkt het erg belangrijk dat het bord op de verscheidene foto’s telkens op andere

posities terug te vinden is. Om de werking juist te kunnen begrijpen wordt deze

hierna uitgelegd aan de hand van een aantal stappen.

3.2.3.1. Afbeeldingen inlezen

Nadat de toolbox geïnstalleerd is en de grafische interface van de toolbox is

opgestart, dienen de afbeeldingen ingelezen te worden in het geheugen van

MATLAB. Vooreerst zijn de juiste foto’s geselecteerd op basis van hun

bestandsnamen.

Figuur 3-3: Ingelezen foto's van het schaakbordpatroon

3.2.3.2. Hoekpunten zoeken

Vervolgens dienen alle hoekpunten van het schaakbordrooster afgeleid te worden.

Dit wordt gedaan door de (uiterste) hoekpunten van het schaakbord manueel in elke

foto ongeveer op de juiste plaats aan te duiden. Het is belangrijk dat de

venstergrootte in het oog wordt gehouden, de instelling staat standaard op 5 pixels

(wintx=winty=5). Dit betekent dat het te vinden hoekpunt wordt aangeduid binnen

een venster van 11x11 pixels (2 maal de vensterbreedte + middelste pixel). Een

algoritme om hoekpunten te herkennen is het Harris Corner Detection, reeds kort

besproken in hoofstuk 2. Nadat de 4 hoekpunten zijn aangeduid, dient ook

Page 62: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

46 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

opgegeven te worden hoeveel schaakbordvakjes er juist tussen de verschillende

aangeduide hoeken zitten. Ook wordt de waarde van dX en dY, zijnde de grootte van

elke vakje, ingegeven. Standaard in een schaakbord zijn de verschillende vakjes

3cm groot, dus dient 0,30 (m) of 30 (mm) ingegeven te worden als waarde.

Vervolgens kunnen alle vakjes worden geschat, waarbij de rode kruisjes dicht

aangesloten dienen te zijn aan een kruispunt van vakjes (Figuur 3-4). Indien dit niet

het geval is, is de radiale distorsie te groot en dienen er andere stappen ondernomen

te worden. Na de schatting worden alle roosterhoeken automatisch vastgelegd en

getoond.

Figuur 3-4: Geschatte hoekpunten (rode kruisjes) na aanduiden van de vier uiterste hoekpunten (groene

kruisjes)

3.2.4. Kalibratiestap

Aan de hand van de kalibratiefunctie van de toolbox wordt de procedure opgestart.

Deze bestaat uit twee stappen: Eerste initialisatie en niet-lineaire optimalisatie.

1. De initialisatiestap berekent een closed-form oplossing voor de

kalibratieparameters zonder rekening te houden met distorsie. Zoals reeds in de

theorie besproken kunnen parameters uit EXIF-metadata gehaald worden. Echter

worden bij de initialisatiestap geen EXIF-metadata gebruikt maar worden de

parameters berekend, een zogenaamde closed-form oplossing.

2. De niet-lineaire optimalisatiestap zorgt voor het minimaliseren van de

reprojectiefout voor alle kalibratieparameters. Hierbij wordt de reprojectiefout

berekend aan de hand van alle 129 parameters. Namelijk 9 intrinsieke parameters

(focal length, principal point, distorsie coëfficiënten) en 6x20 extrinsieke parameters.

Page 63: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

47 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Deze optimalisatiestap wordt berekend door een iteratieve berekening van de

Jacobi-matrix 16. We gaan niet dieper in op deze stap, wat ons te ver zou doen

afwijken van het uiteindelijke doel van deze masterproef.

Na de kalibratiestap kunnen de reprojectiefout (pixel error) en de extrinsieke

parameters (world-centered of camera-centered) visueel worden weergegeven.

Hieruit blijkt dat de spreiding van de reprojectiefout nog erg verspreid geplot wordt.

Dit komt doordat de hoeken in sommige foto’s niet helemaal correct werden

gevonden. Maar de hoekpunten van elke vakje in elke foto kunnen steeds terug

geprojecteerd worden op een foto aan de hand van de momentele intrinsieke en

extrinsieke parameters. Op onderstaande figuren worden de extrinsieke parameters

getoond in een 3D plot, waarbij in de eerste afbeelding (Figuur 3-6) het schaakbord

ten opzichte van de camerastandpunten visueel kunnen geplaatst worden.

In Figuur 3-5 is het camerareferentieframe zichtbaar. Deze wordt beschreven door

Oc (oorsprong) en Xc,Yc,Zc. Dit toont hoe de genomen foto’s ten opzichte van de

camera vastgelegd zijn.

Figuur 3-5: Extrinsieke parameters - world-centered (camera-referentieframe)

16

De matrix van de eerste-orde partiële afgeleide van een functie

Page 64: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

48 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 3-6: Extrinsieke parameters - camera-centered

Figuur 3-7: Initiële reprojectiefout

Na de herberekening van de hoekpunten zullen de hoeken van de vakken van het

schaakbord opnieuw en correcter berekend en gezocht worden. De reprojectiefout

(pixel error) zal dan ook kleiner zijn (Figuur 3-9): de twee waarden zijn de

standaarddeviatie van deze reprojectiefout in respectievelijk x en y richting. De

reprojectiefout is een geometrische fout overeenkomende met het verschil tussen

een geprojecteerd punt en een gemeten punt. Het geeft dus aan hoe dicht een punt

wordt geprojecteerd ten opzichte van de werkelijke plaats van het punt. (Hartley &

Zisserman, 2004)

Page 65: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

49 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 3-8: Hoekpunten opnieuw geprojecteerd op de foto's a.d.h.v. momentele parameters

Figuur 3-9: Kleinere reprojectiefout

3.2.4.1. Distorsie visualiseren

Het is mogelijk om het complete distorsiemodel te visualiseren, ook is het mogelijk

om enkel de tangentiele of radiale component van dit model te laten tonen. Op

onderstaande afbeeldingen worden de specifieke componenten en het compleet

distorsie model getoond specifiek voor de door ons uitgevoerde camerakalibratie. In

elke afbeelding geven de blauwe pijlen de effectieve vervorming van de pixels weer,

Page 66: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

50 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

terwijl centraal het kruisje en het cirkeltje respectievelijk het centrum van de foto en

het principal point aanduiden. Uit de afbeeldingen valt af te leiden dat pixels, in het

complete distorsiemodel, in de linkerbovenhoek tot 50 pixels verplaatsen.

Figuur 3-10: Radiale distorsie component

Uit de bovenstaande afbeelding met het radiale distorsiemodel valt dus af te leiden

dat er speldenkussendistorsie optreedt, zie ook paragraaf 2.2.2.1.

Figuur 3-11: Tangentiële distorsie component

Page 67: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

51 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Ook valt op te merken dat de tangentiele component een kleiner, maar een niet te

verwaarlozen aandeel heeft, zoals reeds op voorhand werd verwacht.

Figuur 3-12: Complete distorsie component

3.2.4.2. Resultaat parameters

De parameters werden reeds besproken in ‘Intrinsieke parameters’ paragraaf 3.2.1.

Camerakalibratie resultaten na optimalisatie (met onzekerheid tussen haakjes):

- Focal Length: fc = [ 9375.03925 9406.38601 ] ± [ 34.88465 35.59036 ]

- Principal point: cc = [ 1983.75190 1138.40659 ] ± [ 33.60817 42.60885 ]

- Skew: alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000

± 0.00000 degrees

- Distortion: kc = [ 0.21198 0.65191 -0.01749 -0.00754 0.00000 ] ± [

0.02084 0.31366 0.00272 0.00217 0.00000 ]

- Pixel error: err = [ 1.19862 1.33565 ]

Opmerking: de numerieke fouten zijn bij benadering drie maal de standaardafwijking

(ter referentie).

Page 68: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

52 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

3.2.4.3. Afbeeldingen corrigeren

Nu het distorsiemodel, eigen aan het toestel en de lens, bekend is kan elke foto

ontdaan worden van de distorsie. Aan de hand van de functie Undistort Image

(zwart-wit) of Undistort Color Image (kleur), wordt elke afbeelding apart gecorrigeerd

aan de hand van de bovenvernoemde berekende intrinsieke en extrinsieke

parameters. Ter illustratie onderstaande afbeelding (Figuur 3-13).

Wanneer de afbeeldingen worden gebruikt om objecten te herkennen aan de hand

van het Speeded-Up Robust Features algoritme, is het in principe niet nodig om

gebruik te maken van kleuren in afbeeldingen. En dus mag de afbeelding in

grijsschalen worden gecorrigeerd. Indien dit toch in kleur dient te gebeuren beschikt

de toolbox over Undistort Color Image.

Figuur 3-13: Originele (links) en gecorrigeerde (rechts) foto in grijstinten

Page 69: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

53 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Methodologie 4.

In het tweede hoofdstuk zijn de belangrijkste begrippen en theorieën gekaderd. In

onderhavig hoofdstuk wordt dit alles toegepast om het uiteindelijke doel van dit

eindwerk te bereiken. Het hoofdstuk hierna zal deze toepassing worden

geïmplementeerd in een softwaretoepassing.

De te volgen stappen in dit hoofdstuk zijn:

1. De relatie tussen de foto’s onderling

2. De relatie tussen de foto’s en de werkelijkheid.

Deze indeling wordt in dit hoofdstuk aangehouden doordat deze respectievelijk

verwijzen naar de theorie van ‘Overeenkomstigheden tussen foto’s’ en ‘Rectificatie’

in het tweede hoofdstuk.

Wanneer een lange gevel dient ingemeten te worden, en de landmeter op een

alternatieve wijze wil te werk gaan zoals in hoofdstuk 1 besproken, dan worden

verscheidene foto’s van de gevel vastgelegd, waarbij een zekere overlap tussen de

foto’s verzekerd is. Voldoende overlap is nodig om overeenkomsten tussen twee

foto’s te vinden. Hoe kleiner de overlap, des te minder nauwkeurig kunnen

overeenkomsten worden berekend.

Zoals reeds in het vorige hoofdstuk aangehaald kan distorsie in foto’s softwarematig

worden verwijderd. Er is gekozen om met foto’s te werken die ontdaan zijn van

distorsie aan de hand van de Camera Calibration Toolbox.

Een belangrijke voorwaarde om met de hiernavolgende methode te kunnen werken,

is dat de gevel uit één vlak bestaat. Doordat slechts één vlak wordt gerectificeerd, is

het onmogelijk om in de gevel te werken met diepe inspringende of met

verscheidene vlakken in eenzelfde foto.

4.1. De relatie tussen foto’s onderling

De vastgelegde en softwarematig gecorrigeerde foto’s vertonen ten opzichte van

elkaar overlappende delen. Er zijn dus overeenkomstige punten tussen verschillende

foto’s. Aan de hand van deze overeenkomstigheden kan de relatie tussen de foto’s

berekend worden.

Page 70: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

54 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Indien er een set punten in een afbeelding is gevonden en overeenkomstige punten

in een andere afbeelding, kan een projectieve transformatie matrix berekend worden.

Deze matrix beschrijft de relatie tussen beide afbeeldingen. Deze projectieve

transformatie wordt ook een homografie genoemd.

Kan deze homografie enkel aan de hand van twee foto’s worden berekend? De

methode loopt als volgt: eerst dienen overeenstemmende features gevonden te

worden. Dit kan bijvoorbeeld door de methoden gezien in de literatuurstudie (Harris

Corner Detection, SIFT, SURF, …). Aan de hand van de coördinaten van deze

overeenstemmende punten kan vervolgens de homografie berekend worden

(Kleinste kwadraten methode, RANSAC, …). Zoals hoger gemotiveerd, geven wij

hier de voorkeur aan de SURF- en RANSAC-methode.

Als alle foto’s in relatie staan tot elkaar, zal het mogelijk zijn om al deze foto’s samen

te smelten tot een grote foto, waarna in een volgende stap de relatie tussen deze

samengestelde foto en een werkelijk vlak wordt berekend.

4.2. De relatie tussen een foto en de werkelijkheid

Zoals reeds besproken in de literatuurstudie is de relatie tussen punten in het

werkelijke vlak en punten op een afbeelding ook beschreven door een homografie.

De berekening van deze homografie verloopt echter enigszins anders dan de

berekening van de relatie tussen foto’s onderling. Er worden met behulp van een

totaalstation vier punten van de gevel ingemeten. Om een zo goed mogelijk resultaat

te bekomen zijn de vier punten zo goed mogelijk verspreid, bijvoorbeeld in de uiterste

hoeken van de muur.

Dit levert een set van vier punten op, gekend in x- en y-coördinaten. Wanneer de vier

overeenkomstige punten in de foto worden aangeduid zijn de punten ook bekend in

de foto (dus in pixel-coördinaten). Wanneer de coördinaten in het vlak van de foto

gekend zijn en in het werkelijk vlak, kan zoals gezien in vorig hoofdstuk de

homografie H berekend worden.

Vergelijking 4-1

met

Page 71: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

55 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

(

) [

] ( )

Vergelijking 4-2

dan

Vergelijking 4-3

Vergelijking 4-4

en

( )

Vergelijking 4-5

( )

Vergelijking 4-6

dit leidt tot

[

]

[

]

Vergelijking 4-7

Het oplossen van bovenstaande vergelijking leidt tot het vinden van alle elementen

van de homografie.

Page 72: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

56 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Nu de homografie bekend is tussen de foto van de gevel en de werkelijke gevel is

het mogelijk om rechtstreeks op de foto te meten: eerst wordt de virtueel

samengeplakte foto uit vorige paragraaf gerectificeerd aan de hand van de

berekende homografie. Hierdoor wordt er vanuit het standpunt van de “fotograaf”

loodrecht op de muur gekeken. De foto bevat nu geen perspectiefvervorming meer.

Zodoende zal de foto met de correcte schaal (want deze is nu gekend) in AutoCAD

kunnen geladen worden om hierop te meten.

Page 73: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

57 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

MATLAB 5.

5.1. Inleiding

Nu de theorie en de uitvoeringsstrategie zijn besproken in de vorige hoofdstukken,

kan de implementatie gebeuren. Er is gekozen om dit in MATLAB 17 (oorspronkelijk

noemde het MATrix LABoratory) te verrichten omdat een eventuele overgang van

MATLAB code naar een programmeertaal als C of C++ eenvoudiger is. Bovendien is

MATLAB een gemakkelijke wiskundige programmeeromgeving door zijn groot aantal

functies en bibliotheken.

In dit eindwerk zal de implementatie in verscheidene delen worden uitgezet. De

complete, zelf ontwikkelde code kan in bijlage 8.1: “MATLAB code” terug gevonden

worden. In een volgende paragraaf zal deze code stap voor stap verklaard worden.

5.2. MATLAB code: ontleding

In onderstaande paragrafen zal de code in MATLAB in detail worden uitgelegd met

verantwoording waarom een bepaalde functie of algoritme gebruikt werd.

5.2.1. Eerste stap: Automatische rectificatie met behulp

van SURF

In het eerste MATLAB bestand (.m file) worden twee foto’s geladen. Belangrijk op te

merken is, dat er een bepaalde minimale overlapping is tussen de twee foto’s

(Mohamed Mansoor Roomi, et al., 2010). Indien dit niet het geval is, kunnen er ook

geen overeenkomstige punten gedetecteerd worden. De SURF detectie methode

levert hierbij het beste resultaat (Harding & Robertson, 2009) ten opzichte van

andere detectiemethoden. Dit was dus één van de redenen waarom er geopteerd

werd om te werken met SURF detectiepunten in MATLAB.

%Inlezen eerste afbeelding org_afbeelding1 = imread('1.JPG'); figure(1), imshow(org_afbeelding1); title('Afbeelding 1'); afbeelding1 = rgb2gray(double(org_afbeelding1)/255);

17

www.mathworks.com

Page 74: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

58 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

%Inlezen tweede afbeelding org_afbeelding2 = imread('2.JPG'); figure(2), imshow(org_afbeelding2); title('Afbeelding 2'); afbeelding2 = rgb2gray(double(org_afbeelding2)/255);

Vervolgens worden SURF features gedetecteerd. Hiervoor is het nodig dat beide

foto’s in grijstinten worden afgedrukt. De detectSURFFeatures( is een implementatie

op het Speeded-Up Robust Features algoritme (zie hoofdstuk 2.3.6.2) zal als

uitkomst SURF punten geven. Deze bevatten informatie omtrent de gedetecteerde

punten in de foto in grijstinten.

%features detecteren (descriptors) in afbeelding 1 en afbeelding 2 %aan de hand van SURF punten_Afb1 = detectSURFFeatures(afbeelding1); punten_Afb2 = detectSURFFeatures(afbeelding2);

De stap extractFeatures(afbeelding , SURF punten) geeft descriptoren als resultaat

samen met hun overeenkomstige locatie in de afbeelding. Deze functie berekent dus

de descriptoren aan de hand van omringende pixels rond een SURFpunt.

%features extracten [features_afb1 validPtsIn] = extractFeatures(afbeelding1, punten_Afb1,

'SURFSize', 128); [features_afb2 validPtsOut] = extractFeatures(afbeelding2, punten_Afb2,

'SURFSize', 128);

matchFeatures( geeft een X-maal-2 matrix terug met X aantal features, die

overeenkomen tussen de twee featuresets van de eerste en de tweede afbeelding.

Hierbij wordt de matching gedaan aan de hand van Sum of Squared Differences (zie

ook 2.3.5.2).

%features matchen aan de hand van hun descriptors index_pairs = matchFeatures(features_afb1, features_afb2);

Vervolgens worden de locaties van de overeenkomstige punten in elke foto

achterhaald.

%plaatsbepaling van overeenkomstige punten Afbeelding1_gematched_punten = validPtsIn(index_pairs(:,1)); Afbeelding2_gematched_punten = validPtsOut(index_pairs(:,2));

Page 75: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

59 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Met de functie cvexShowMatches wordt een composietbeeld gegenereerd waarbij de

overeenkomstige punten in beide foto’s worden getoond. Deze stap is louter visueel

interessant.

%Overeenkomstige punten met elkaar vergelijken aan de hand van een %composietbeeld (een afbeelding rood, ander cyaan). cvexShowMatches(afbeelding1,afbeelding2,Afbeelding1_gematched_punten, ... Afbeelding2_gematched_punten, 'Punten in afbeelding 1', ... 'Punten in afbeelding 2'); title('Composietbeeld: Overeenkomstige punten in de twee afbeeldingen (met

uitschieters)');

Er dient nu een transformatiematrix berekend te worden aan de hand van de

corresponderende punten in beide afbeeldingen. Dit kan met een

GeometricTransformEstimator( functie. Dit verloopt met behulp van het RANdom

SAmpling Consensus (RANSAC) algoritme, zoals in hoofdstuk 2.3.6.3 theoretisch

besproken. Hierbij worden ook uitschieters verwijderd teneinde een goede

transformatiematrix te berekenen.

%Transformatiematrix berekenen te worden a.d.h.v. corresponderende punten %in beide afbeeldingen. Dit m.b.v. Geometric Transform Estimator (RANSAC) geometrische_transform_benadering = vision.GeometricTransformEstimator; geometrische_transform_benadering.Method = 'Random Sample Consensus

(RANSAC)'; geometrische_transform_benadering.Transform = 'Projective'; geometrische_transform_benadering.NumRandomSamplingsMethod = 'Desired

confidence'; geometrische_transform_benadering.MaximumRandomSamples = 100000; geometrische_transform_benadering.DesiredConfidence = 99.999;

geometrische_transform_benadering.InlierPercentage = 99.999;

Vervolgens kan de transformatie van de tweede naar de eerste afbeelding berekend

worden, zodat de eerder vernoemde homografie gekend is.

[transformatie_matrix inlierIdx] = step(geometrische_transform_benadering,

... Afbeelding2_gematched_punten.Location,

Afbeelding1_gematched_punten.Location);

Vervolgens worden nog eens met de functie cvexShowMatches( de overeenkomstige

punten getoond, dit met behulp van een composietbeeld waarbij de uitschieters dit

keer verwijderd zijn.

Page 76: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

60 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

%Overeenkomstige punten met elkaar vergelijken a.d.h.v. een composietbeeld %waarbij de uitschieters verwijderd zijn. cvexShowMatches(afbeelding1,afbeelding2,... Afbeelding1_gematched_punten(inlierIdx),... Afbeelding2_gematched_punten(inlierIdx),... 'Punten in afbeelding 1',...'Punten in afbeelding 2'); title('Overeenkomstige punten in de twee afbeeldingen (uitschieters

verwijderd)');

Om de tweede afbeelding nu juist te transformeren met behulp van de imtransform(-

functie, is het nodig dat de transformatiematrix (berekend met behulp van het

RANSAC algoritme) in een bepaalde structuur wordt gegoten. Dit is een TFORM

structuur (een multidimensionale transformatie structuur). Zodoende wordt een

projectieve transformatiestructuur gecreëerd.

%Afbeelding 2 wordt nu geprojecteerd naar afbeelding1 tform = maketform('projective',double(transformatie_matrix));

homografie = tform.tdata.T toont de projectieve transformatiematrix.

homografie = tform.tdata.T

Tenslotte transformeert imtransform( de tweede afbeelding volgens de berekende

transformatiematrix, zodat deze in het zelfde vlak als de eerste afbeelding wordt

weergegeven.

rect_afb2 = imtransform(org_afbeelding2,tform);

imshow( en imwrite( tonen en schrijven respectievelijk de afbeelding weg naar een

bepaalde locatie op de computer.

%Tonen en wegschrijven gerectificeerde afbeelding figure, imshow(rect_afb2) imwrite(rect_afb2,'gerect_afbeelding1.png','png')

5.2.2. Tweede stap: Samenplakken van getransformeerde

foto’s

Deze stap is een handige hulp om de verschillende foto’s, die getransformeerd

werden in de stap 1, aan elkaar te rijgen.

Page 77: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

61 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Eerst worden twee afbeeldingen ingeladen in MATLAB via de imread( functie. Om tot

een juist resultaat te komen is het natuurlijk nodig dat er punten zijn die in beide

foto’s hetzelfde zijn. Maar dit zou normaal geen probleem mogen zijn, omdat er in de

eerste stap immers overlap vereist was.

%Inlezen eerste afbeelding afbeeldingL = imread('1.JPG'); %figure(1), imshow(afbeeldingL); %title('Linkse Foto');

%Inlezen tweede afbeelding afbeeldingR = imread('B.png'); %figure(2), imshow(afbeeldingR); %title('Rechtse Foto');

cpselect( zal een nieuw venster openen waarna er in beide foto één overeenkomstig

punt dient aangeduid te worden.

%één punt selecteren om beide foto's samen te voegen [puntL puntR] = cpselect(afbeeldingL, afbeeldingR, 'wait', true);

Vervolgens zal er, aan de hand van de x- en y- coördinaten van de aangeduide

punten in beide afbeeldingen, een grote zwarte achtergrond gecreëerd worden

waarop vervolgens de eerste en de tweede foto kunnen worden ingeplakt, dit op de

correcte plaats op deze zwarte achtergrond.

%coordinaten in linker foto puntL_x = puntL(1,1); puntL_y = puntL(1,2);

%coordinaten in rechter foto puntR_x = puntR(1,1); puntR_y = puntR(1,2);

%punt van de eerste foto in te plakken fit1_rect_x = 1; fit1_rect_y = 1;

%punt waar de tweede foto wordt ingeplakt fit2_rect_x = round(puntL_x - puntR_x); fit2_rect_y = round(puntL_y - puntR_y);

%zwarte achtergrond waar beide foto's op komen samen_x = size(afbeeldingL,2)+size(afbeeldingR,2)-(size(afbeeldingL,2)- ... abs(fit2_rect_x)); samen_y = size(afbeeldingL,1)+size(afbeeldingR,1)-(size(afbeeldingL,1)- ... abs(fit2_rect_y)); foto_samen = uint8(zeros(samen_y,samen_x));

Page 78: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

62 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Vervolgens wordt er op een tweesprong gestoten. Ofwel wordt de linkerfoto lager

dan de rechterfoto ingeplakt. Ofwel wordt deze linkerfoto hoger ingeplakt dan de

rechterfoto. Hiervoor wordt een if-else-voorwaarde gebruikt. Beide foto’s worden op

deze manier correct ingeplakt op de zwarte achtergrond.

if fit2_rect_y <= 0 %als afbeelding 2 hoger komt t.o.v. afbeelding 1

%eerste foto ingeplakt foto_samen(fit1_rect_y+abs(fit2_rect_y):fit1_rect_y+abs(fit2_rect_y)+

... size(afbeeldingL,1)-1 , fit1_rect_x:fit1_rect_x+ ... size(afbeeldingL,2)-1, 1 : 3) = afbeeldingL(1:1+ ... size(afbeeldingL,1)-1,1:1+size(afbeeldingL,2)-1,1:3); %tweede foto ingeplakt foto_samen(fit1_rect_y:fit1_rect_y+size(afbeeldingR,1)-1 , ... fit2_rect_x:fit2_rect_x+size(afbeeldingR,2)-1, 1 : 3) = ... afbeeldingR(1:1+size(afbeeldingR,1)-1,1:1+size(afbeeldingR,2)-

1,1:3);

else %als afbeelding 2 lager komt t.o.v. afbeelding 1

%eerste foto ingeplakt foto_samen(fit1_rect_y:fit1_rect_y+size(afbeeldingL,1)-1 , ... fit1_rect_x:fit1_rect_x+size(afbeeldingL,2)-1, 1 : 3) = ... afbeeldingL(1:1+size(afbeeldingL,1)-1,1:1+size(afbeeldingL,2)-

1,1:3); %tweede foto ingeplakt foto_samen(fit1_rect_y+abs(fit2_rect_y):fit1_rect_y+abs(fit2_rect_y)+

... size(afbeeldingR,1)-1 , fit2_rect_x:fit2_rect_x+ ... size(afbeeldingR,2)-1, 1 : 3) = afbeeldingR(1:1+ ... size(afbeeldingR,1)-1,1:1+size(afbeeldingR,2)-1,1:3); end

Als laatste wordt opnieuw de foto getoond met imshow( en weggeschreven op de

harde schijf met imwrite( met een gekozen bestandsnaam en extensie.

%tonen en wegschrijven van nieuwe foto imshow(foto_samen) imwrite(foto_samen,'test.png','png')

5.2.3. Derde stap: rectificatie van samengeplakte foto’s

Nadat met behulp van de tweede stap de verschillende foto’s samen zijn gebracht is

het nu enkel nog zaak om deze gehele foto te rectificeren. Hiervoor is het nodig dat

Page 79: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

63 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

er (bijvoorbeeld met een totaalstation) nauwkeurig minimum vier punten op de muur

of het vlak worden bepaald. Zoals hoger reeds gemotiveerd zal het beste resultaat

worden bekomen wanneer de punten gespreid zijn over het gehele vlak.

Als eerst wordt de samengeplakte foto (uit de tweede stap) ingelezen in MATLAB.

%Samengeplakte foto inlezen afbeelding = imread('samengeplakte_foto.png');

Vervolgens dienen de coördinaten van de (minimum) 8 onbekenden ingelezen te

worden. Hiervoor dienen in het .m bestand de (minimum) 4 punten (in x- en y-

coördinaten) ingegeven te worden die met het totaalstation werden opgemeten.

%Werkelijke coorinaten ingeven punten_werkelijk = [5.412 7.444; 36.654 7.498; 6.69 0.854; 35.124 2.633]

Dan wordt met behulp van de cpselect( functie een nieuw venster geopend. Hierop

dienen de vier punten aangeduid te worden in de foto die overeenkomen met de

werkelijke coördinaten.

%Coorinaten van pixels in de linker foto juist aanduiden! [punten_pixels puntenR] = cpselect(afbeelding, afbeelding, 'wait', true);

Aan de hand van de coördinaten aangeduid op de foto’s (in pixels) en de coördinaten

in werkelijkheid (in meters) kan vervolgens de transformatie berekend worden. Ook

kan, ter controle, een onbekend punt worden berekend door de werkelijke waarde in

te voeren.

t_proj = cp2tform(punten_pixels,punten_werkelijk,'projective'); t_pros = t_proj.tdata.Tinv;

%Elementen van projectieve transformatie A = t_pros(1,1); B = t_pros(2,1); C = t_pros(3,1); D = t_pros(1,2); E = t_pros(2,2); F = t_pros(3,2); G = t_pros(1,3); H = t_pros(2,3); I = t_pros(3,3);

%Hier coordinaten van onbekend punt ingeven: x,y x = 1.8969 ;

Page 80: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

64 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

y = 6.2846 ;

%Coordinaten in pixels: u,v u = (A*x + B*y + C)/(G*x + H*y + I) v = (D*x + E*y + F)/(G*x + H*y + I)

Ten slotte wordt de gerectificeerde foto getoond en weggeschreven.

%rectificeren van de gehele foto & tonen + wegschrijven rect_img = imtransform(afbeelding,t_proj); rect_img = rect_img(end:-1:1,:,:); imshow(afbeelding), figure, imshow(rect_img); imwrite(rect_img,'gerectificeerd_geheel.png','png')

5.3. MATLAB functies ontleding

Om de werking van de belangrijkste MATLAB functies goed te begrijpen en om de

verschillende parameters van de functies te kennen, worden in deze paragraaf de

verschillende MATLAB functies ontleed. Voor een nog meer uitgebreide verklaring

kan steeds de ingebouwde bibliotheek van MATLAB of de website van de Computer

Vision System Toolbox18 in MATLAB worden geraadpleegd.

5.3.1. detectSURFFeatures(

Zoals eerder werd verklaard, vindt deze functie SURF features aan de hand van het

Speeded-Up Robust Features (SURF) algoritme. POINTS = detectSURFFeatures(I)

geeft een SURFPoints object terug, waarbij deze informatie bevat omtrent de

gedetecteerde SURF features in een afbeelding. In MATLAB werkt deze functie

enkel met grijswaarden. Hiervoor werd in de MATLAB code gewerkt met de

rgb2grey( functie. Dit zet de afbeelding om naar een afbeelding in grijswaarden.

De functie kan worden gepersonaliseerd door middel van 3 parameters.

1. MetricTreshold

Deze parameter specifieert de drempelwaarde om de sterkte van de features aan te

geven. Hoe hoger het getal, des te strenger deze drempelwaarde. Deze waarde mag

niet negatief zijn en staat standaard op 1000. Uit testen blijkt dat het verlagen van

deze waarde zorgt voor het detecteren van meer blobs.

18

http://www.mathworks.nl/help/vision/index.html

Page 81: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

65 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

2. NumOctaves

Deze parameter kan enkel integers bevatten (gehele getallen) en geeft het aantal

octaven weer gebruikt voor het SURF algoritme. De aanbevolen waarde bevindt zich

tussen 1 en 4. Standaard wordt voor deze waarde 3 genomen. Een meer uitgebreide

uitleg over octaven werd besproken in 2.3.6.2.

3. NumScalesLevels

Ook deze parameter kan enkel gehele getallen bevatten en geeft het aantal

schaalniveaus aan die per octaaf dient berekend te worden. Aanbevolen dient te

waarde tussen 3 en 6 te zitten. De waarde moet wel groter zijn als 3. Daarom wordt

als standaard 4 genomen. Een verdere uitleg over schaalniveaus kan terug

gevonden worden in paragraaf 2.3.6.2.

5.3.2. extractFeatures(

Deze functie geeft featurevectoren, ook bekend als de eerder besproken

descriptoren, terug in een M-maal-N matrix. De descriptoren zijn afgeleid van de

pixels rondom een interessant punt. Met M het aantal featurevectoren met elke

descriptor van de lengte N. Tevens geeft de functie validatiepunten terug

corresponderend met een descriptor.

Ook bij deze functie kunnen 3 parameters ingesteld worden

1. Method

Dit is de methode waarmee gewerkt wordten kan ingesteld worden op ‘Block’, ’SURF’

of ‘Auto’. Standaard staat deze op ‘Auto’. Echter doordat er in een vorige stap in de

MATLAB code met SURFPoints gewerkt is, zal MATLAB automatisch ‘SURF’

gebruiken.

2. Blocksize

Blocksize is niet van toepassing bij gebruik van SURF.

3. SURFsize

Deze parameter is wel van toepassing voor SURF. SURFsize is een integer ingesteld

op 64. Dit is de lengte van de featurevector (of descriptor) en eerder in 2.3.6.2

Page 82: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

66 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

besproken als de dimensie van een descriptor. Het is interessant om deze waarde

van 64 naar 128 te veranderen. De nauwkeurigheid van bij elkaar horende

descriptoren zal toenemen. Deze toename zal echter ten koste gaan van de

berekeningssnelheid.

5.3.3. matchFeatures(

Als input worden twee M-maal-N matrices gegeven, berekend met de

extractFeatures( functie voor twee verschillende afbeeldingen. Hierbij wordt

nagegaan welke features uit beide matrices waarschijnlijk bij elkaar passen.

Er zijn twee parameters die ingesteld kunnen worden

1. Metric

Deze parameter specifieert de matching methode, mogelijke methoden zijn reeds

besproken in 2.3.5.

‘SAD’: som van de absolute verschillen (zie ook 2.3.5.1)

‘SSD’: som van de gekwadrateerde verschillen (zie ook 2.3.5.2)

‘normxcorr’: genormaliseerde kruiscorrelatie (zie ook 2.3.5.3)

In de MATLAB toepassing van dit eindwerk is er gekozen om te werken met de som

van de gekwadrateerde verschillen

MatchTreshold

Dit is een waarde tussen 0 en 100 waarbij een drempelwaarde wordt gespecifieerd

om de best bijeen horende features te selecteren. Deze waarde geeft dus het

percentage weer waarbij een feature wordt verwijderd wanneer dit percentage afwijkt

van een perfecte match. Standaard wordt deze in MATLAB als 1% vastgelegd.

5.3.4. Estimate Geometric Transformation

GeometricTransformEstimator( komt uit de Computer Vision Toolbox in MATLAB. De

functie wordt gebruikt om een transformatiematrix te berekenen die overeenkomt met

puntparen tussen de twee foto’s. Zo’n puntpaar refereert naar een punt in de eerste

afbeelding en zijn overeenkomstig punt in de andere afbeelding.

Page 83: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

67 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Aan de hand van RANSAC of kleinste kwadraten methode kunnen uitschieters

verwijderd worden om zodoende de transformatiematrix correct te berekenen.

Voor deze functie zijn er weer een aantal parameters die gedefinieerd moeten

worden.

1. Transform

Er is de keuze uit drie transformatietypen

Non-reflective similarity

Affine

Projective

In dit geval wordt er natuurlijk gewerkt met het ‘projective’ transformatietype.

2. ExcludeOutliers

Deze instelling kan op True of False gezet worden, waarbij uitschieters worden

verwijderd uit de punten opgegeven via de input. In het geval van de MATLAB code

zal deze op True worden gezet (door default).

3. Method

RANdom SAmple Consensus (RANSAC)

Least Median of Squares (kleinste kwadraten methode)

Er wordt gekozen voor de RANSAC methode. De werking ervan werd eerder

uitgelegd in de literatuurstudie.

4. AlgebraicDistanceThreshold

Dit is de bovenwaarde om de afstand tot een punt te vinden en wordt gebruikt

wanneer het transformatietype ‘Projective’ is en de methode ‘RANSAC’. Omdat er

standaard 2,5 wordt gebruikt, was in het deze masterproef interessant om de waarde

strenger te nemen (1,5), teneinde een nauwkeuriger resultaat te bekomen

5. NumRandomSamplingsMethod

Wanneer ExcludeOutliers op ‘True’ staat en de methode ‘RANSAC’ is, dan kan het

aantal random samplings worden gespecifieerd. Wanneer de parameter ‘Desired

confidence’ actief is, kan een te behalen percentage en een maximum aantal worden

Page 84: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

68 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

opgegeven. Dit met behulp van respectievelijk de parameters DesiredConfidence

(default waarde: 99) en MaximumRandomSamples (default waarde: 1000).

6. Inlierpercentage

Hier kan het percentage puntenparen opgegeven worden die beschouwd moeten

worden als inliers om de random sampling te stoppen. Indien de waarde niet wordt

veranderd, zal MATLAB deze op 75% instellen.

5.3.5. maketform(

Deze functie creëert een TFORM transformatiestructuur. Dit is een speciale vorm die

gebruikt kan worden in onder andere volgende functie: imtransform(. Hierbij dient ook

het transformatietype opgegeven te worden.

Er kan een parameter opgegeven worden voor deze functie:

1. Transformationtype

Deze kan ingsteld worden als;

‘Affine’

‘Projective’

‘Custom’

‘Box’

‘Composite’

In het geval van de MATLAB code wordt er gebruik gemaakt van een projectieve

transformatiestructuur, hierdoor wordt er een TFORM structuur gecreëerd van een N-

dimensionale projectieve transformatie.

5.3.6. imtransform(

Deze functie transformeert een afbeelding volgens de in vorige functie gedefinieerde

TFORM. Doordat er nieuwe pixelwaarden worden berekend bij deze stap dient er

ook een gepaste interpolatietechniek opgegeven te worden. Zo kan er gekozen

worden voor ‘nearest’ (dichtste-buren interpolatie), ‘bicubic’ (bi-kubische convolutie)

of ‘bilineair’ (bi-lineaire interpolatie). Zie voor verdere uitleg 2.2.3 ‘Resampling

Page 85: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

69 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

technieken’. Er is gekozen om met bi-lineaire interpolatie te werken, dewelke ook

standaard wordt gebruikt indien er geen specifieke techniek wordt opgegeven.

Er zijn een aantal parameters in te stellen bij deze functie, waarbij onder andere

volgende parameters interessant zijn

1. Size

Hier kan het aantal rijen en kolommen van de afbeelding in de output vastgelegd

worden.Standaard zal de outputafbeelding de gehele foto omvatten waarbij dezelfde

schaal wordt behouden van de inputafbeelding.

2. FillValues

Hier kan een waarde opgegeven worden voor de pixels in de output afbeelding

waarvan hun locatie buiten de grenzen van de input afbeelding vallen. Zoals op de

gerectificeerde afbeeldingen van het Kasteel Arenberg, te zien is, worden deze pixels

opgevuld met code 0: zwart.

5.3.7. cp2tform(

De naam van deze functie doet het al vermoeden, cp2tform neemt controlepunten en

gebruikt deze om een transformatie uit te rekenen.

Hierbij is het nodig dat het transformatietype als parameter wordt gedefinieerd

1. Transformationtype

'nonreflective similarity' (2 paar controlepunten)

'similarity' (3 paar controlepunten)

'affine' (3 paar controlepunten)

'projective' (4 paar controlepunten)

'polynomial' (ORDER=2) ( 6 paar controlepunten)

'polynomial' (ORDER=3) (10 paar controlepunten)

'polynomial' (ORDER=4) (15 paar controlepunten)

'piecewise linear' (4 paar controlepunten)

'lwm' ( 6 paar controlepunten)

In dit geval is een ‘projective’ transformatie nodig. Hiervoor is het nodig, zoals

hierboven genoteerd, dat er minimum 4 paar controlepunten worden opgegeven

teneinde de projectieve transformatie uit te kunnen rekenen. Wanneer er meer dan 4

Page 86: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

70 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

paar wordt opgegeven, wordt er aan de hand van de kleinste kwadraten methode

een oplossing berekend.

Page 87: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

71 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Voorbeeld: Kasteel Arenberg 6.

6.1. Inleiding

Om de MATLAB code toe te passen op en te vergelijken met een voorbeeld in de

realiteit, is er gekozen om een bestaande muur volledig in te meten met een

totaalstation en zodoende de accuraatheid van de techniek te evalueren. Er werd

gebruikt gemaakt van een Sokkia SRX 319, een toestel waarmee reflectorloos kan

gemeten worden met een nauwkeurigheid van 3mm ± 2ppm. In paragraaf 8.2:

‘Specificaties totaalstation: Sokkia SRX 3’ kan een uitgebreide technische

specificatie van het toestel teruggevonden worden.

Voor een goede toepassing dienden we een rechte, lange muur te hebben. Hiervoor

is een buitenmuur van het Kasteel van Arenberg te Heverlee gekozen en ingemeten

aan de hand van een honderdtal punten om zodoende voldoende verspreiding te

hebben, dit met het oog op controlepunten in een later stadium.

In dit hoofdstuk wordt eerst het vastleggen van de foto’s en het resultaat van de

meetcampagne uitgebreid besproken, vervolgens wordt de eigen ontwikkelde

MATLAB code toegepast op het voorbeeld.

6.1. Foto’s muur

Aan de hand van een Canon EOS 450D (camera) en een Sigma 18-200mm f/3.5-6.3

DC OS (lens) zijn verschillende foto’s van de muur gemaakt in hoge resolutie

(4272px bij 2848px). Zoals reeds eerder besproken werden de foto’s vastgelegd met

een brandpuntsafstand van 50 millimeter.

Bij het vastleggen van foto’s dienen dezelfde instellingen gebruikt te worden als de

instellingen waarbij de camerakalibratie werd voltrokken. Ook dienen de foto’s op

ongeveer dezelfde afstand tot de muur getrokken. Immers, wanneer de muur wordt

vastgelegd vanuit één positie, zullen pixels die overeenkomen met een regio op de

muur, die het verst verwijderd is van de fotograaf, een hogere Ground Sample

Distance hebben. Dit wil zeggen dat de pixels overeenkomen met een grotere

19

www.sokkia.eu

Page 88: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

72 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

afstand op de muur. Door vanuit verschillende posities steeds even ver van de muur

de foto’s te maken, wordt er gewerkt met een constante Ground Sample Distance.

We wijzen erop dat twee foto’s overeenkomsten moeten hebben in overlappende

zones, waaruit een homografie kan berekend worden. Met deze homografie kan één

foto zo getransformeerd worden waardoor deze dezelfde perspectiefvervorming heeft

als de andere foto. Wanneer er verscheidene foto’s worden gemaakt, verspreid over

één gevel, wordt de perspectiefvervorming van de ene foto dus steeds gebaseerd op

de vorige. Dit wordt geïllustreerd op onderstaande afbeelding (Figuur 6-1). Hierbij

wordt de perspectiefdistorsie van foto 2 gebaseerd op foto 1. Foto 3 op die van foto

2, etc. Hieruit blijkt dat wanneer fouten plaats zouden vinden, deze voortbewegen

vanuit de meeste rechtse foto en steeds verder uitbreiden naar foto 5 toe.

Figuur 6-1: Voortbeweging van kleine fouten

Dit kan op een eenvoudige manier opgelost worden, door vanuit de middelste foto te

beginnen werken. Hierdoor zullen kleine fouten zich minder ver kunnen

voortbewegen, zoals in onderstaande afbeelding getoond (Figuur 6-2). Deze

methode van werken werd in deze masterproef dan ook gebruikt.

Figuur 6-2: Alternatief inperking voortbeweging kleine fouten

Page 89: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

73 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

6.2. Inmeten buitenmuur Kasteel Arenberg

6.2.1. Resultaat in geocentrische coördinaten

De westelijke muur van het Kasteel van Arenberg werd ingemeten vanuit twee

standpunten in een lokaal assenstelsel. Er is gekozen om standplaats 1 met de

coördinaten 1000m, 1000m, 10m in respectievelijk X,Y en Z-as vast te leggen. Na

inmeten van standplaats 2 en vereffening (nadat ook standplaats 1 werd ingemeten

vanuit standplaats 2) kunnen beide standplaatsen gelokaliseerd worden volgens

volgende coördinatentabel.

Standplaats 1 1000,000m 1000,000m 10,000m

Standplaats 2 1000,000m 1017,980m 9,971m

Tabel 2: Coördinaten standplaats

Er is gekozen om zo veel mogelijk punten op de gevel vanuit twee standplaatsen in

te meten. Wanneer een punt immers minder nauwkeurig, of per ongeluk verkeerd

werd ingemeten, dan zal dit dadelijk opgemerkt worden. In bijlage 8.3: ‘Resultaat

gevelmeting (x-y-z coördinaten)’ zijn de metingen vanuit beide opstelpunten terug te

vinden zijn.

6.2.2. Resultaat in verticaal vlak

Omdat er in deze masterproef in één vlak wordt gewerkt, worden de rechtstreeks

ingemeten geocentrische coördinaten getransformeerd tot X,Y-coördinaten in één

vlak. Hierdoor worden de ingemeten punten in een nieuw coördinatenstelsel

gegoten.

Eerst wordt met behulp van de kleinste kwadraten methode (2.2.2.3) een loodrecht

vlak bepaald doorheen de punten opgemeten op de muur. De bekomen x- en y-

waarden geven respectievelijk de breedte en de hoogte van de muur weer. De

RMSE waarde (Root-Mean-Square Error) is de afstand tot dit vlak en geeft dus een

indicatie hoe ver het punt verwijderd is van het berekende vlak.

De transformatie is uitgevoerd met de tekensoftware van Pythagoras BVBA. Nadat

de coördinatenlijst is ingeladen zullen de punten zichtbaar zijn, waarbij vanboven af

op de muur wordt gekeken. Wanneer nu een best passende rechte wordt gefit door

Page 90: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

74 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

de verschillende punten, zal dit gebeuren aan de hand van de kleinste kwadraten

methode20. Wordt er verondersteld dat het vlak van de muur loodrecht onder deze

gecreëerde best passende loopt, dan kan er eenvoudig een nieuw coördinatenstelsel

gecreëerd worden waarbij de afstand van elk punt tot aan dit vlak bepaald wordt.

Deze afstand is de RMSE van elk punt.

In bijlage 8.4: ‘Transformatie één vlak (x-y coördinaten)’ worden de nieuwe x- en y-

waarden weergegeven, gevolgd door de RMSE-waarde. Er dient opgemerkt te

worden dat ook de x- en y-waarde een translatie hebben ondergaan waarbij de

laagste waarde in x- en y-richting als waarde 0 wordt gekozen. Alle andere punten

krijgen net dezelfde translatie met het verschil van de laagste waarde tot nul.

6.2.3. Gemiddeld resultaat van beide metingen

Doordat de gevel vanuit twee opstelpunten is ingemeten, kan gecontroleerd worden

of de verschillende metingen wel correct zijn gebeurd. Indien het verschil onder een

bepaalde drempelwaarde ligt (bijvoorbeeld 5mm), dan zal er hoogstwaarschijnlijk

geen foutieve meting gebeurd zijn. Vervolgens zal dan het gemiddelde van beide

metingen de nauwkeurigheid ten goede komen. In bijlage 8.5: ‘Gemiddeld resultaat

in één vlak (x-y coördinaten)’ de nieuwe gemiddelde metingen (begonnen vanaf

puntnummer 1000). Omdat er vanuit twee verschillende opstelpunten werd gemeten

kan het ook zijn dat sommige punten zichtbaar waren vanuit de ene standplaats

maar niet vanuit de andere. Deze punten kregen een puntnummer vanaf 2000 mee.

Om deze reden wordt er best gewerkt met de puntennummers vanaf 1000, deze zijn

immers gecontroleerd en correct gelokaliseerd.

6.3. Toepassing MATLAB op Kasteel Arenberg

In dit voorbeeld worden drie foto’s van de muur aan het Kasteel Arenberg stap voor

stap voorbereid, zodat meten op deze foto’s mogelijk wordt. Vervolgens wordt er in

een volgende paragraaf (6.4) gekeken hoe nauwkeurig deze methode is wanneer

gebruik wordt gemaakt van de minimaal vereiste 4 controlepunten. Ook wordt

vergeleken in welke mate de nauwkeurigheid stijgt wanneer meer controlepunten

worden gebruikt.

Onderstaande foto’s (Figuur 6-3, Figuur 6-4 & Figuur 6-5) worden gebruikt om de

toepassing te analyseren. Tussen de verschillende foto’s bestaat er onderling een

20

Pythagoras CAD+GIS V12.27 Referentie Gids p. 150

Page 91: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

75 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

bepaalde overlapzone. Deze zone is zoals eerder vermeld nodig zodat er

overeenkomstige features tussen twee foto’s kunnen gevonden worden. Ook kan er

opgemerkt worden dat de verschillende foto’s reeds gekalibreerd zijn a.d.h.v. de

Camera Calibration Toolbox.

Figuur 6-3: Foto 1

Figuur 6-4: Foto 2

Page 92: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

76 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-5: Foto 3

De toepassing wordt uitgevoerd aan de hand van de 3 uitgewerkte stappen in

MATLAB. In een volgende paragrafen 6.4.1 en 6.4.2 wordt er respectievelijk voor 4

en 6 controlepunten bekeken hoe nauwkeurig de toepassing is en hoe de

nauwkeurigheid toeneemt wanneer er meer controlepunten worden gebruikt.

6.3.1. Eerste stap: Automatische rectificatie met behulp

van SURF

Twee foto’s, waartussen een overlappende zone bestaat, worden in MATLAB

ingelezen. Vervolgens worden er overeenkomstige features gezocht met behulp van

het SURF algoritme. Een groot aantal features worden gevonden, dit wordt visueel

weergegeven in onderstaande afbeelding (Figuur 6-6). Het betreft een

composietbeeld waarbij beide foto’s samen, maar in een andere kleur (rood of

cyaan) worden weergegeven. Corresponderende features zijn verbonden aan de

hand van een gele lijn.

Page 93: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

77 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-6: Overeenkomstige features m.b.v. SURF algoritme

Na het doorlopen van het RANSAC algoritme worden enkel features overgehouden

die aan strenge voorwaarden (bijvoorbeeld 99,9% gewenste zekerheid, zie 5.3)

voldoen. Dit is visueel weergegeven in onderstaande afbeelding (Figuur 6-7). Aan de

hand van deze overeenkomstige features kan nu een homografie uitgerekend

worden.

Figuur 6-7: Overeenkomstige punten na verwijderen van uitschieters m.b.v. RANSAC

Eens de homografie (3x3 matrix) bekend is, ligt de relatie tussen beide foto’s vast.

Page 94: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

78 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

[

]

Vergelijking 6-1: Homografie

Nu kan de Foto 2 een projectieve transformatie ondergaan zodat de

perspectiefdistorsie voor beide foto’s (Foto 1 & Foto 2) dezelfde is.

Figuur 6-8: Getransformeerde Foto 2

Doordat er nu niet met slechts twee foto’s wordt gewerkt, maar met drie foto’s moet

deze stap nog een keer doorlopen worden waarbij Foto 3 nog dient getransformeerd

te worden naar Foto 2. Hieruit wordt onderstaande foto bekomen.

Page 95: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

79 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-9: Getransformeerde Foto 3

6.3.2. Tweede stap: Samenplakken van getransformeerde

foto’s

Nu wordt er verder gegaan met originele Foto 1, getransformeerde Foto 2 (Figuur

6-8) en getransformeerde Foto 3 (Figuur 6-9). De perspectiefvervorming in de drie

foto’s is nu dezelfde, maar de foto’s dienen nog samen gevoegd te worden.

Figuur 6-10: Foto's dienen samengevoegd te worden in Stap 2

Aan de hand van een selectietool om controlepunten aan te duiden, wordt er in beide

afbeeldingen één overeenkomstig punt aangeduid.

Page 96: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

80 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-11: Selectietool in MATLAB voor het aanduiden van een overeenkomstig punt

Het vinden van een overeenkomstig punt gebeurd manueel.

Ook automatisatie bij deze stap zou kunnen. Zoals in vorige stap (Stap 1) uitgelegd

zijn er een groot aantal overeenkomstige punten gevonden tussen beide

afbeeldingen met het SURF algoritme. Een van de gevonden features (best een zo

goed mogelijke) zou hier ook als overeenkomstig punt kunnen dienen.

Er is echter gekozen om de verschillende stappen van deze masterproef duidelijk in

MATLAB op te delen om een gestructureerde redenering op te bouwen. Om deze

reden wordt er manueel een punt gekozen.

Het resultaat is dan een nieuwe foto die de drie vorige foto’s omvat (Figuur 6-12).

Page 97: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

81 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-12: Samengevoegde foto's (Stap 2)

6.3.3. Derde stap: rectificatie van samengeplakte foto’s

In de derde en laatste stap wordt met behulp van minimaal vier opgemeten punten

de samengevoegde foto (Figuur 6-12) gerectificeerd. De vier of meer punten zijn best

zo veel mogelijk verspreid over de verschillende hoeken van de foto om een zo

accuraat mogelijk resultaat te bekomen.

Controlepunten X Y

1020 22,712 7,437

1032 41,096 7,442

1048 40,519 2,657

1040 20,286 4,635 Tabel 3: 4 controlepunten

Aan de hand van de coördinaten van deze punten (in meter), en de coördinaten van

de punten in de foto (in pixels) kan de foto gerectificeerd worden zodat de muur

zonder perspectief distorsie geprojecteerd wordt.

In MATLAB worden de X- en Y-coördinaten van de 4 punten ingegeven en opnieuw

wordt er een selectietool gestart waar de 4 punten manueel moeten aangeduid

worden op de foto zelf (Figuur 6-13).

Page 98: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

82 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-13: Selectietool voor het aanduiden van controlepunten

Als resultaat wordt er een gerectificeerde afbeelding (Figuur 6-14) bekomen zonder

perspectief distorsie.

Figuur 6-14: Gerectificeerd geheel

Page 99: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

83 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Een mogelijkheid om rechtstreeks op de foto te meten, is door dit finale resultaat met

correcte schaal in AutoCAD te laden zoals in Figuur 6-15. Dit is mogelijk doordat de

coördinaten van de vier punten zowel gekend zijn in X en Y-richting als in pixels.

Figuur 6-15: Ingemeten punten met gerectificeerde foto in AutoCAD

6.4. Nauwkeurigheidscontrole

Een belangrijk onderdeel van deze masterproef is natuurlijk om te weten hoe

accuraat deze techniek nu is. Logischerwijs zal er een nauwkeurigheidsverlies zijn

ten opzichte van het traditioneel punt per punt inmeten, maar de vraag is hoe beperkt

dit verlies blijft.

Aan de hand van de gerectificeerde foto’s van Kasteel Arenberg wordt er bekeken

hoeveel de berekende coördinaten afwijken van de coördinaten die ingemeten

werden in de meetcampagne.

Punt X (m) Y (m)

1020 22,711 7,437

1021 23,761 7,433

1025 30,373 7,434

1026 30,610 5,447

1027 29,096 5,444

1032 41,096 7,442

1035 41,108 5,437

1040 20,286 4,635

1042 30,114 4,564

1047 35,106 2,653

1048 40,518 2,657 Tabel 4: gemeten coördinaten

Wanneer de gemeten (met totaalstation) coördinaten nu opnieuw worden gemeten in

de foto (in AutoCAD) dan kan aan de hand van deze verschillen worden gekeken wat

Page 100: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

84 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

de nauwkeurigheid van deze methode is. In volgende paragrafen wordt dit gedaan

voor respectievelijk 4 en meerdere (6) controlepunten.

6.4.1. Rectificatie a.d.h.v. 4 controlepunten

In vorige paragraaf werd reeds uitgelegd hoe een foto wordt gerectificeerd aan de

hand van 4 controlepunten. Onderstaande afbeelding is dus de foto uit stap 2 (nog

niet gerectificeerd.

Figuur 6-16: Samengevoegde foto's uit Stap 2

Controlepunten X Y

1020 22,712 7,437

1032 41,096 7,442

1048 40,519 2,657

1040 20,286 4,635 Tabel 5: Vier controlepunten

Wanneer bovenstaande foto (Figuur 6-16) nu gerectificeerd wordt aan de hand van

bovenstaande 8 coördinaten (Tabel 5), wordt de gehele foto getransformeerd door

onderstaande homografie.

[

]

Vergelijking 6-2: Homografie a.d.h.v. 4 controlepunten

Dit resulteert in onderstaande, gerectificeerde, foto (Figuur 6-17).

Page 101: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

85 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-17: Gerectificeerde foto aan de hand van 4 controlepunten

Wanneer nu de punten die gemeten werden (Tabel 4) opnieuw worden gezocht in de

foto, dan worden volgende coördinaten bekomen (Tabel 6).

Punt X (m) Y (m)

1020a 22,707 7,440

1021a 23,753 7,424

1025a 30,328 7,398

1026a 30,605 5,439

1027a 29,104 5,429

1032a 41,082 7,447

1035a 41,096 5,429

1040a 20,279 4,633

1042a 30,116 4,567

1047a 35,087 2,704

1048a 40,521 2,680 Tabel 6: berekende coördinaten a.d.h.v. 4 controlepunten

Om goed te kunnen inschatten hoe nauwkeurig er gewerkt wordt kan het verschil

gemaakt worden tussen de gemeten (totaalstation) en de berekende (op foto

aangeduide) waarden.

Verschil ∆ X ∆ Y

1020 - 1020a 0,004 0,003

1021 - 1021a 0,008 -0,009

1025 - 1025a 0,045 -0,036

1026 - 1026a 0,005 -0,008

1027 - 1027a -0,008 -0,015

1032 - 1032a 0,014 0,005

Page 102: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

86 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

1035 - 1035a 0,012 -0,008

1040 - 1040a 0,007 -0,002

1042 - 1042a -0,002 0,003

1047 - 1047a 0,019 0,051

1048 - 1048a -0,003 0,023 Tabel 7: Verschil tussen gemeten en berekende coördinaten a.d.h.v. 4 controlepunten

Bovenstaande tabel geeft het verschil tussen de gemeten en berekende coördinaten.

Aan de hand van deze relatieve verschilwaarde kan een eerste conclusie getrokken

worden. Hierbij liggen 68,27% van deze berekende punten binnen de straal van 1,4

cm rond het origineel opgemeten punten in de X-richting en 2,2 cm in de Y-richting.

Voor 95,45% is dit respectievelijk 3 cm en 4,7 cm.

Analyse X Y

σ 0,014 0,022

2 keer σ 0,030 0,047

3 keer σ 0,047 0,073

minimum -0,008 -0,036

maximum 0,045 0,051 Tabel 8: Analyse tussen gemeten en berekende coördinaten a.d.h.v. 4 controlepunten

Er kan opgemerkt worden dat er enkele hoge waarden ten opzichte van anderen.

Kijk hierbij bijvoorbeeld naar de waarde van puntnummer 1025a of 1047a. De reden

hiervoor is terug te vinden wanneer we de afstand van elk punt tot aan het

dichtstbijzijnde controlepunt bekijken. Hoe verder het te berekenen punt afgelegen is

van een controlepunt, des te minder nauwkeurig zal het te berekenen punt zijn.

Afstand tot dichtstbijzijnde cp (m)

tot 1020a 0,005

tot 1021a 1,041

tot 1025a 7,617

tot 1026a 8,142

tot 1027a 6,700

tot 1032a 0,015

tot 1035a 2,013

tot 1040a 0,007

tot 1042a 7,941

tot 1047a 5,432

tot 1048a 0,024 Tabel 9: Afstand van berekend punt tot dichtstbijzijnde controlepunt

Page 103: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

87 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

De enige manier om te controleren of deze redenering effectief klopt is door meer

controlepunten te gebruiken. In volgende paragraaf worden net dezelfde stappen

doorlopen, maar met zes controlepunten in plaats van vier.

6.4.2. Rectificatie a.d.h.v. 6 controlepunten

Figuur 6-18: Samengevoegde foto's uit Stap 2

Controlepunten X (m) Y (m)

1020 22,712 7,437

1025 30,373 7,434

1032 41,096 7,442

1048 40,519 2,657

2006 32,296 2,648

1040 20,286 4,635 Tabel 10: Zes controlepunten

[

]

Vergelijking 6-3: Homografie aan de hand van 6 controlepunten

Page 104: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

88 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Figuur 6-19: Gerectificeerde foto a.d.h.v. 6 controlepunten

Punt X (m) Y (m)

1020b 22,721 7,448

1021b 23,761 7,441

1025b 30,348 7,412

1026b 30,61 5,432

1027b 29,117 5,434

1032b 41,09 7,448

1035b 41,101 5,42

1040b 20,275 4,626

1042b 30,117 4,552

1047b 35,081 2,66

1048b 40,519 2,656 Tabel 11: berekende coördinaten a.d.h.v. 6 controlepunten

Verschil ∆ X ∆ Y

1020 - 1020b -0,010 -0,011

1021 - 1021b 0,000 -0,008

1025 - 1025b 0,025 0,022

1026 - 1026b 0,000 0,015

1027 - 1027b -0,021 0,010

1032 - 1032b 0,006 -0,006

1035 - 1035b 0,007 0,017

1040 - 1040b 0,011 0,009

1042 - 1042b -0,003 0,012

1047 - 1047b 0,025 -0,007

1048 - 1048b -0,001 0,001 Tabel 12: Verschil tussen gemeten en berekende coördinaten a.d.h.v. 6 controlepunten

Page 105: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

89 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

We merken dadelijk op, wanneer dezelfde foto wordt gerectificeerd aan de hand van

meer (zes) controlepunten, dat de verschilwaarden tussen de gemeten en berekende

punten is gedaald.

Analyse X Y

σ 0,014 0,012

2 keer σ 0,027 0,022

3 keer σ 0,043 0,030

minimum -0,021 -0,011

maximum 0,025 0,022 Tabel 13: Analyse tussen gemeten en berekende coördinaten a.d.h.v. 6 controlepunten

Hierbij liggen 68,27% van deze berekende punten binnen de straal van 1,4 cm in de

X-richting en 1,2 cm in de Y-richting. Vooral in de Y-richting is een sterke stijging op

te merken (bijna 10mm beter). Voor 95,45% is dit respectievelijk 2,7cm en 2,2 cm. En

voor 99,73% 4,3cm en 3,0cm.

Afstand tot dichtstbijzijnde cp (m)

tot 1020b 0,015

tot 1021b 1,050

tot 1025b 0,033

tot 1026b 2,016

tot 1027b 2,361

tot 1032b 0,009

tot 1035b 2,022

tot 1040b 0,014

tot 1042b 2,881

tot 1047b 2,785

tot 1048b 0,001 Tabel 14: Afstand van berekend punt tot dichtstbijzijnde controlepunt

Page 106: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

90 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Page 107: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

91 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Conclusie 7.

In onderhavige masterproef onderzochten we een alternatief voor het traditioneel on-

site inmeten van een vlakke structuur (in casu een lange gevel). De vraag die we ons

stelden was of er hierdoor aan efficiëntie (tijdsaspect) kon gewonnen worden, zonder

dat er wezenlijk aan nauwkeurigheid diende ingeboet te worden.

In eerste instantie kwamen we tot de conclusie dat het fotograferen van de vlakke

structuur als een waardig alternatief kan beschouwd worden. Dit alternatief biedt een

aantal wezenlijke voordelen. Vooreerst kan het traditionele on-site inmeten

aanzienlijk in tijd beperkt worden, los van de klimatologische omstandigheden waarin

er soms moet gewerkt worden. Zo zullen slechts een aantal controlepunten

ingemeten moeten worden, terwijl op de traditionele manier alle nodige punten on-

site moeten ingemeten worden. Ook zal achteraf punten aanduiden op een foto veel

sneller verlopen dan on-site inmeten met het totaalstation. Bovendien krijgt men,

samen met het uiteindelijk meetresultaat, ook een duidelijke visuele voorstelling van

de vlakke structuur.

Maar, om het fotograferen als een geldig en volwaardig alternatief te kunnen

beschouwen, dienen er belangrijke randvoorwaarden vervuld te worden. De kwaliteit

van het toestel en voornamelijk van de lens speelt een belangrijke rol, zoals

aangetoond in huidig proefschrift. Ook de brandpuntsafstand en de instellingen

inzake fotoresolutie mogen niet zomaar over het hoofd worden gezien. De plaats

waar de landmeter zich opstelt, ten opzichte van de vlakke structuur, is, zoals hoger

besproken, niet te veronachtzamen.

Met behulp van MATLAB ontwikkelden we een code waardoor we uiteindelijk een

foto kregen, dat het resultaat was van een rectificatie en het samenvoegen van

meerdere foto’s. Hierbij werd er vertrokken van minstens 4 controle punten. Op het

uiteindelijk resultaat kan er vervolgens verder gemeten worden.

Vervolgens onderzochten we de nauwkeurigheid van de voorgestelde, alternatieve

methode. Zowel in het traditioneel opmeten als in deze alternatieve methode zijn de

ingemeten (controle-)punten afhankelijk van de nauwkeurigheid van het totaalstation.

Bij de methode in deze masterproef kwam er echter nog meer bij kijken. Zo hangt de

nauwkeurigheid zeker ook af van het aantal controlepunten op de muur, waarvan er

minimaal vier nodig zijn. Wij toonden aan dat wanneer er meer controlepunten

worden ingemeten, dit de nauwkeurigheid deed stijgen. Ook mag het belang van het

aanduiden van deze controlepunten op de foto niet uit het oog verloren worden. Het

Page 108: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

92 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

minder accuraat aanduiden ervan resulteert al snel in een groot verlies aan

nauwkeurigheid!

Wij beklemtonen eveneens het belang van de fotoresolutie. De nauwkeurigheid

wordt immers beperkt door de afstand die overeen komt per pixel. Indien

bijvoorbeeld één pixel in de finaal gerectificeerde foto van een gevel overeenkomt

met 1 cm op de gevel, zal de nauwkeurigheid nooit beter kunnen worden dan deze

één centimeter. In het geval van de meting op het Kasteel van Arenberg, is de

Ground Sample Distance gelijk aan 3,63 mm voor foto’s op een afstand van

ongeveer 35 meter van de muur getrokken.

Uit de toepassing op het Kasteel van Arenberg kan geconcludeerd worden dat de

nauwkeurigheid niet gelijk is aan het traditioneel volledig opmeten met behulp van

het totaalstation. En dit is ook logisch, doordat in het voorgestelde alternatief een

gehele muur nu afhankelijk is van slechts een aantal (minimum vier) controlepunten.

Wij toonden echter aan dat, wanneer er meerdere controlepunten worden aangeduid

op de muur (in onze toepassing namen we er 6), dit de accuraatheid ten goede komt.

In het voorbeeld met zes controlepunten is er een verbetering van ongeveer 10% in

de X-richting en bijna de helft in de Y-richting in vergelijking met de minimum vereiste

vier controlepunten. Een standaardafwijking van respectievelijk 1,4 cm en 1,2 cm kan

en mag natuurlijk niet zomaar over het hoofd gezien worden. De toepassing

ontwikkeld in deze masterproef zal dus niet moeten gebruikt worden voor vlakken

waar punten op millimeter-niveau exact bepaald dienen te worden. Ook mag niet

vergeten worden dat het gebruikte toestel ook maar een nauwkeurigheid van +-3mm

garandeert. Maar in de andere gevallen kan de voorgestelde toepassing als een

waardig alternatief beschouwd worden.

Tenslotte en alhoewel er in de MATLAB-code steeds in deelprojecten wordt gewerkt,

bewijst deze masterproef dat automatisatie van het gehele proces zeker mogelijk is.

Zo is het mogelijk dat foto’s worden ingeladen en automatisch aan elkaar worden

geplakt zonder een tussenstap. Het zal echter steeds nodig blijven om de

controlepunten aan te duiden in de samengeplakte foto om deze correct te

rectificeren. Doordat de overgang van MATLAB code naar bijvoorbeeld een

programmeertaal als C eerder eenvoudig is, kan er naar een meer doorgedreven

automatisatie gestreefd worden. Dit zou het opmeten van een gevel in een CAD

toepassing wel uiterst interessant maken!

Page 109: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

93 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Bijlagen 8.

8.1. MATLAB code

8.1.1. Eerste stap: Automatische rectificatie met behulp

van SURF

%Inlezen eerste afbeelding org_afbeelding1 = imread('1.JPG'); figure(1), imshow(org_afbeelding1); title('Afbeelding 1'); afbeelding1 = rgb2gray(double(org_afbeelding1)/255);

%Inlezen tweede afbeelding org_afbeelding2 = imread('2.JPG'); figure(2), imshow(org_afbeelding2); title('Afbeelding 2'); afbeelding2 = rgb2gray(double(org_afbeelding2)/255);

%features detecteren (descriptors) in afbeelding 1 en afbeelding 2 %aan de hand van SURF punten_Afb1 = detectSURFFeatures(afbeelding1); punten_Afb2 = detectSURFFeatures(afbeelding2);

%features extracten [features_afb1 validPtsIn] = extractFeatures(afbeelding1, punten_Afb1,

'SURFSize', 128); [features_afb2 validPtsOut] = extractFeatures(afbeelding2, punten_Afb2,

'SURFSize', 128);

%features matchen aan de hand van hun descriptors index_pairs = matchFeatures(features_afb1, features_afb2);

%plaatsbepaling van overeenkomstige punten Afbeelding1_gematched_punten = validPtsIn(index_pairs(:,1)); Afbeelding2_gematched_punten = validPtsOut(index_pairs(:,2));

%Overeenkomstige punten met elkaar vergelijken aan de hand van een %composietbeeld (een afbeelding rood, ander cyaan). cvexShowMatches(afbeelding1,afbeelding2,Afbeelding1_gematched_punten, ... Afbeelding2_gematched_punten, 'Punten in afbeelding 1', ... 'Punten in afbeelding 2'); title('Composietbeeld: Overeenkomstige punten in de twee afbeeldingen (met

uitschieters)');

%Transformatiematrix berekenen te worden a.d.h.v. corresponderende punten %in beide afbeeldingen. Dit m.b.v. Geometric Transform Estimator (RANSAC) geometrische_transform_benadering = vision.GeometricTransformEstimator; geometrische_transform_benadering.Method = 'Random Sample Consensus

(RANSAC)';

Page 110: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

94 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

geometrische_transform_benadering.Transform = 'Projective'; geometrische_transform_benadering.NumRandomSamplingsMethod = 'Desired

confidence'; geometrische_transform_benadering.MaximumRandomSamples = 100000; geometrische_transform_benadering.DesiredConfidence = 99.999;

geometrische_transform_benadering.InlierPercentage = 99.999;

[transformatie_matrix inlierIdx] = step(geometrische_transform_benadering,

... Afbeelding2_gematched_punten.Location,

Afbeelding1_gematched_punten.Location);

%Overeenkomstige punten met elkaar vergelijken a.d.h.v. een composietbeeld %waarbij de uitschieters verwijderd zijn. cvexShowMatches(afbeelding1,afbeelding2,... Afbeelding1_gematched_punten(inlierIdx),... Afbeelding2_gematched_punten(inlierIdx),... 'Punten in afbeelding 1',...'Punten in afbeelding 2'); title('Overeenkomstige punten in de twee afbeeldingen (uitschieters

verwijderd)');

%Afbeelding 2 wordt nu geprojecteerd naar afbeelding1 tform = maketform('projective',double(transformatie_matrix));

homografie = tform.tdata.T rect_afb2 = imtransform(org_afbeelding2,tform);

%Tonen en wegschrijven gerectificeerde afbeelding figure, imshow(rect_afb2) imwrite(rect_afb2,'gerect_afbeelding1.png','png')

Page 111: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

95 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.1.2. Tweede stap: Samenplakken van getransformeerde

foto’s

%Inlezen eerste afbeelding afbeeldingL = imread('1.JPG'); %figure(1), imshow(afbeeldingL); %title('Linkse Foto');

%Inlezen tweede afbeelding afbeeldingR = imread('B.png'); %figure(2), imshow(afbeeldingR); %title('Rechtse Foto');

%één punt selecteren om beide foto's samen te voegen [puntL puntR] = cpselect(afbeeldingL, afbeeldingR, 'wait', true);

%coordinaten in linker foto puntL_x = puntL(1,1); puntL_y = puntL(1,2);

%coordinaten in rechter foto puntR_x = puntR(1,1); puntR_y = puntR(1,2);

%punt van de eerste foto in te plakken fit1_rect_x = 1; fit1_rect_y = 1;

%punt waar de tweede foto wordt ingeplakt fit2_rect_x = round(puntL_x - puntR_x); fit2_rect_y = round(puntL_y - puntR_y);

%zwarte achtergrond waar beide foto's op komen samen_x = size(afbeeldingL,2)+size(afbeeldingR,2)-(size(afbeeldingL,2)- ... abs(fit2_rect_x)); samen_y = size(afbeeldingL,1)+size(afbeeldingR,1)-(size(afbeeldingL,1)- ... abs(fit2_rect_y)); foto_samen = uint8(zeros(samen_y,samen_x));

if fit2_rect_y <= 0 %als afbeelding 2 hoger komt t.o.v. afbeelding 1

%eerste foto ingeplakt foto_samen(fit1_rect_y+abs(fit2_rect_y):fit1_rect_y+abs(fit2_rect_y)+

... size(afbeeldingL,1)-1 , fit1_rect_x:fit1_rect_x+ ... size(afbeeldingL,2)-1, 1 : 3) = afbeeldingL(1:1+ ... size(afbeeldingL,1)-1,1:1+size(afbeeldingL,2)-1,1:3); %tweede foto ingeplakt foto_samen(fit1_rect_y:fit1_rect_y+size(afbeeldingR,1)-1 , ... fit2_rect_x:fit2_rect_x+size(afbeeldingR,2)-1, 1 : 3) = ... afbeeldingR(1:1+size(afbeeldingR,1)-1,1:1+size(afbeeldingR,2)-

1,1:3);

else %als afbeelding 2 lager komt t.o.v. afbeelding 1

Page 112: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

96 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

%eerste foto ingeplakt foto_samen(fit1_rect_y:fit1_rect_y+size(afbeeldingL,1)-1 , ... fit1_rect_x:fit1_rect_x+size(afbeeldingL,2)-1, 1 : 3) = ... afbeeldingL(1:1+size(afbeeldingL,1)-1,1:1+size(afbeeldingL,2)-

1,1:3); %tweede foto ingeplakt foto_samen(fit1_rect_y+abs(fit2_rect_y):fit1_rect_y+abs(fit2_rect_y)+

... size(afbeeldingR,1)-1 , fit2_rect_x:fit2_rect_x+ ... size(afbeeldingR,2)-1, 1 : 3) = afbeeldingR(1:1+ ... size(afbeeldingR,1)-1,1:1+size(afbeeldingR,2)-1,1:3); end

%tonen en wegschrijven van nieuwe foto imshow(foto_samen) imwrite(foto_samen,'test.png','png')

8.1.3. Derde stap: rectificatie van samengeplakte foto’s

%Samengeplakte foto inlezen afbeelding = imread('samengeplakte_foto.png');

%Werkelijke coordinaten ingeven punten_werkelijk = [5.412 7.444; 36.654 7.498; 6.69 0.854; 35.124 2.633]

%Coordinaten van pixels in de linker foto juist aanduiden! [punten_pixels puntenR] = cpselect(afbeelding, afbeelding, 'wait', true);

t_proj = cp2tform(punten_pixels,punten_werkelijk,'projective'); t_pros = t_proj.tdata.Tinv;

%Elementen van projectieve transformatie A = t_pros(1,1); B = t_pros(2,1); C = t_pros(3,1); D = t_pros(1,2); E = t_pros(2,2); F = t_pros(3,2); G = t_pros(1,3); H = t_pros(2,3); I = t_pros(3,3);

%Hier coordinaten van onbekend punt ingeven: x,y x = 1.8969 ; y = 6.2846 ;

%Coordinaten in pixels: u,v u = (A*x + B*y + C)/(G*x + H*y + I) v = (D*x + E*y + F)/(G*x + H*y + I)

%rectificeren van de gehele foto & tonen + wegschrijven rect_img = imtransform(afbeelding,t_proj); rect_img = rect_img(end:-1:1,:,:); imshow(afbeelding), figure, imshow(rect_img); imwrite(rect_img,'gerectificeerd_geheel.png','png')

Page 113: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

97 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.2. Specificaties totaalstation: Sokkia SRX 3

Opmerking: de meetafstand en –nauwkeurigheid hangt mede af van het gemeten

object (kleur, textuur,..), situaties en condities waaronder gemeten wordt.

De nauwkeurigheid van het gebruikte toestel bedraagt 3mm + 2ppm*afstand

wanneer er gemeten wordt tussen een afstand van 0,3 tot 200 meter. Voor deze

masterproef werden geen afstanden groter dan maximumwaarde gemeten. Voor

hogere waarden gelden immers lagere nauwkeurigheden.

Page 114: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

98 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.3. Resultaat gevelmeting (x-y-z coördinaten)

Dit is het resultaat van een meetcampagne waarbij de volledige westermuur van het

Kasteel van Arenberg in kaart werd gebracht. De gevelmeting gebeurde vanuit twee

standplaatsen, waarbij vanuit standplaats 1 en standplaats 2 respectievelijk vanaf

puntnummer 100 en puntnummer 200 gebruikt werd gemaakt.

Standplaats 1 1000,000m 1000,000m 10,000m

Standplaats 2 1000,000m 1017,980m 9,971m

Puntnummer X (m) Y (m) Z (m) Puntnummer X (m) Y (m) Z (m)

100 983,679 980,340 17,938 200 983,673 980,334 17,935

101 983,607 981,396 17,935 201 983,600 981,390 17,934

102 983,594 981,481 15,896 202 983,586 981,474 15,889

103 983,665 980,263 15,909 203 983,660 980,252 15,907

104 983,426 984,477 17,948 204 983,419 984,474 17,945

105 983,354 985,525 17,949

106 983,338 985,675 15,912 206 983,331 985,671 15,913

107 983,423 984,354 15,916 207 983,416 984,353 15,912

108 983,129 989,053 17,966 208 983,122 989,049 17,964

109 983,056 990,105 17,968 209 983,049 990,098 17,969

110 983,049 990,185 15,933 210 983,042 990,178 15,923

111 983,130 988,997 15,935 211 983,124 988,994 15,933

112 982,844 993,641 17,983 212 982,837 993,638 17,980

113 982,783 994,692 17,984 213 982,778 994,691 17,985

114 982,766 994,813 15,930 214 982,760 994,808 15,927

115 982,858 993,557 15,928 215 982,842 993,539 15,920

116 982,589 998,224 18,000 216 982,584 998,219 17,997

117 982,530 999,242 18,001 217 982,523 999,247 18,000

118 982,528 999,327 15,939 218 982,523 999,320 15,934

119 982,599 998,161 15,942 219 982,598 998,159 15,941

120 982,292 1002,965 18,025 220 982,288 1002,962 18,025

121 982,213 1004,014 18,022 221 982,209 1004,013 18,020

122 982,210 1004,216 16,006 222 982,203 1004,211 16,000

123 982,292 1002,898 16,006 223 982,290 1002,898 16,010

124 981,850 1009,574 18,021 224 981,847 1009,576 18,023

125 981,778 1010,626 18,024 225 981,774 1010,624 18,020

126 981,782 1010,863 16,040 226 981,777 1010,861 16,030

127 981,873 1009,352 16,028 227 981,869 1009,345 16,036

128 981,469 1015,677 18,025 228 981,467 1015,679 18,026

129 981,408 1016,729 18,021 229 981,408 1016,728 18,023

130 981,405 1016,846 16,015 230 981,403 1016,845 16,010

131 981,480 1015,668 16,018 231 981,479 1015,665 16,017

Page 115: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

99 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

132 981,178 1021,348 18,029 232 981,178 1021,348 18,030

133 981,143 1022,400 18,031 233 981,141 1022,397 18,030

134 981,134 1022,397 16,021 234 981,132 1022,397 16,021

135 981,166 1021,357 16,026 235 981,171 1021,363 16,023

136 983,507 982,906 15,149 236 983,503 982,894 15,145

137 983,234 987,324 15,178 237 983,229 987,314 15,174

138 982,938 991,937 15,087 238 982,932 991,955 15,082

139 982,686 996,450 15,149 239 982,679 996,442 15,149

140 982,461 1000,530 15,224 240 982,454 1000,546 15,222

141 982,118 1005,821 15,234 241 982,117 1005,811 15,226

142 981,822 1010,374 15,155 242 981,820 1010,358 15,150

143 981,531 1014,996 15,205 243 981,530 1014,991 15,204

144 983,514 982,832 12,983 244 983,577 981,554 14,826

245 983,509 982,826 12,978

246 983,267 986,924 12,229

147 983,281 986,934 11,495 247 983,275 986,929 11,491

148 983,134 989,237 13,155 248 983,126 989,235 13,153

149 983,154 989,25 10,588 249 982,624 998,033 13,205

150 982,631 998,034 13,212 250 981,709 1012,548 13,236

151 982,651 998,034 10,636 251 981,751 1012,554 10,677

152 981,748 1012,123 13,237 252 981,555 1015,353 13,240

153 981,553 1015,362 13,242 253 981,223 1020,769 13,244

154 981,224 1020,772 13,245 254 981,139 1022,605 13,246

155 981,258 1020,772 10,701 255 981,214 1022,575 10,695

Page 116: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

100 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.4. Transformatie één vlak (x-y coördinaten)

Om met coördinaten in één vlak (x- en y-coördinaten) te kunnen werken, is het nodig

om een transformatie van bovenstaande x-y-z-coördinaten uit te voeren. Vervolgens

werden er een best passend vlak door alle gemeten punten op de gevel gefit. Dit

resulteert in onderstaande x en y-waarden. di is dan RMSE (root-mean-square error)

en geeft een indicatie hoe ver het punt gelegen is van dit berekende vlak.

Standplaats 1 Standplaats 2

Puntnummer X (m) Y (m) di (m) Puntnummer X (m) Y (m) di (m)

100 0,088 7,350 0,018 200 0,082 7,347 0,012

101 1,144 7,347 0,010 201 1,138 7,346 0,003

102 1,229 5,308 0,002 202 1,222 5,301 0,006

103 0,011 5,321 0,000 203 0,000 5,319 0,006

104 4,225 7,360 0,016 204 4,222 7,357 0,009

105 5,273 7,361 0,008

106 5,423 5,324 0,001 206 5,419 5,325 0,006

107 4,102 5,328 0,006 207 4,101 5,324 0,001

108 8,801 7,378 0,003 208 8,797 7,376 0,010

109 9,853 7,380 0,012 209 9,846 7,381 0,019

110 9,933 5,345 0,014 210 9,926 5,335 0,021

111 8,745 5,347 0,005 211 8,742 5,345 0,011

112 13,389 7,395 0,009 212 13,386 7,392 0,016

113 14,440 7,396 0,006 213 14,439 7,397 0,011

114 14,561 5,342 0,016 214 14,556 5,339 0,022

115 13,305 5,340 0,000 215 13,287 5,332 0,017

116 17,972 7,412 0,014 216 17,967 7,409 0,009

117 18,990 7,413 0,017 217 18,995 7,412 0,010

118 19,075 5,351 0,020 218 19,068 5,346 0,015

119 17,909 5,354 0,020 219 17,907 5,353 0,019

120 22,713 7,437 0,005 220 22,710 7,437 0,001

121 23,762 7,434 0,010 221 23,761 7,432 0,014

122 23,964 5,418 0,001 222 23,959 5,412 0,008

123 22,646 5,418 0,001 223 22,646 5,422 0,001

124 29,322 7,433 0,036 224 29,324 7,435 0,038

125 30,374 7,436 0,044 225 30,372 7,432 0,048

126 30,611 5,452 0,025 226 30,609 5,442 0,030

127 29,100 5,440 0,026 227 29,093 5,448 0,030

128 35,425 7,437 0,046 228 35,427 7,438 0,048

129 36,477 7,433 0,043 229 36,476 7,435 0,043

130 36,594 5,427 0,039 230 36,593 5,422 0,041

131 35,416 5,430 0,035 231 35,413 5,429 0,037

132 41,096 7,441 0,007 232 41,096 7,442 0,007

133 42,148 7,443 0,036 233 42,145 7,442 0,034

Page 117: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

101 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

134 42,145 5,433 0,027 234 42,145 5,433 0,025

135 41,105 5,438 0,004 235 41,111 5,435 0,001

136 2,654 4,561 0,002 236 2,642 4,557 0,003

137 7,072 4,590 0,003 237 7,062 4,586 0,008

138 11,685 4,499 0,019 238 11,703 4,494 0,023

139 16,198 4,561 0,003 239 16,190 4,561 0,004

140 20,278 4,636 0,026 240 20,294 4,634 0,020

141 25,569 4,646 0,005 241 25,559 4,638 0,003

142 30,122 4,567 0,015 242 30,106 4,562 0,018

143 34,744 4,617 0,025 243 34,739 4,616 0,027

144 2,580 2,395 0,005 244 1,302 4,238 0,010

245 2,574 2,390 0,001

246 6,672 1,641 0,006

147 6,682 0,907 0,021 247 6,677 0,903 0,014

148 8,985 2,567 0,013 248 8,983 2,565 0,005

149 8,998 0,000 0,034 249 17,781 2,617 0,038

150 17,782 2,624 0,045 250 32,296 2,648 0,004

151 17,782 0,048 0,065 251 32,302 0,089 0,046

152 31,871 2,649 0,017 252 35,101 2,652 0,020

153 35,110 2,654 0,019 253 40,517 2,656 0,017

154 40,520 2,657 0,018 254 42,353 2,658 0,045

155 40,520 0,113 0,052 255 42,323 0,107 0,118

Page 118: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

102 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.5. Gemiddeld resultaat in één vlak (x-y coördinaten)

Nadat de verschillende punten in één vlak werden uitgedrukt, en dit vanuit twee

standpunten, kan vervolgens de gemiddelde waarde genomen worden van beide

metingen. Omdat er vanuit twee verschillende opstelpunten werd gemeten, waren

sommige punten zichtbaar vanuit de ene standplaats maar niet vanuit de andere.

Deze punten kregen een puntnummer vanaf 2000 mee. Om deze reden wordt er

best gewerkt met de puntennummers vanaf 1000, deze zijn immers gecontroleerd

vanuit twee standplaatsen en dus correct gelokaliseerd.

Puntnummer X (m) Y (m) Puntnummer X (m) Y (m)

1001 0,085 7,349 1030 36,594 5,425

1002 1,141 7,347 1031 35,415 5,430

1003 1,226 5,305 1032 41,096 7,442

1004 0,006 5,320 1033 42,147 7,443

1005 4,224 7,359 1034 42,145 5,433

1006 5,421 5,325 1035 41,108 5,437

1007 4,102 5,326 1036 2,648 4,559

1008 8,799 7,377 1037 7,067 4,588

1009 9,850 7,381 1038 11,694 4,497

1010 9,930 5,340 1039 16,194 4,561

1011 8,744 5,346 1040 20,286 4,635

1012 13,388 7,394 1041 25,564 4,642

1013 14,440 7,397 1042 30,114 4,565

1014 14,559 5,341 1043 34,742 4,617

1015 13,296 5,336 1044 6,680 0,905

1016 17,970 7,411 1045 8,984 2,566

1017 18,993 7,413 1046 17,782 2,621

1018 19,072 5,349 1047 35,106 2,653

1019 17,908 5,354 1048 40,519 2,657

1020 22,712 7,437 2001 5,273 7,361

1021 23,762 7,433 2002 2,574 2,39

1022 23,962 5,415 2003 6,672 1,641

1023 22,646 5,420 2004 8,998 0,000

1024 29,323 7,434 2005 17,782 0,048

1025 30,373 7,434 2006 32,296 2,648

1026 30,610 5,447 2007 32,302 0,089

1027 29,097 5,444 2008 35,101 2,652

1028 35,426 7,438 2009 42,353 2,658

1029 36,477 7,434 2010 42,323 0,107

2011 40,520 0,113

Page 119: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

103 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

8.6. Gevelmeting westermuur Kasteel Arenberg,

Leuven

Bijgevoegd de meting met aanduiding van de verschillende ingemeten punten met

coördinatenlijst. Achter de meting zijn gerectificeerde foto’s geplaatst om de

verschillende punten juist te kunnen lokaliseren.

Page 120: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

104 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Page 121: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

105 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Referenties 9.

Bay, H., Ess, A., Tuytelaars, T. & Van Gool, L., 2008. SURF: Speeded Up Robust

Features. Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp.

346-359.

Bouguet, J.-Y., 2001. Camera Calibration Toolbox for Matlab. [Online]

Available at: http://www.vision.caltech.edu/bouguetj/calib_doc/index.html

Dubrofsky, E., 2007. Homography Estimation, The University of Britisch Columbia

(Vancouver): sn

eFunda, 2000. Least Squares Method. [Online]

Available at: http://www.efunda.com/math/leastsquares

[Geopend oktober 2013].

Fischler, M. A. & Bolles, R. C., 1981. Random Sample Consensus: A Paradigm for

Model Fitting with Applications to Image Analysis and Automated Cartography. SRI

International, pp. 381-395.

Harding, P. & Robertson, N., 2009. A Comparison of Feature Detectors with Passive

and Task-Based Visual Saliency. SCIA '09 Proceedings of the 16th Scandinavian

Conference on Image Analysis, pp. 716 - 725.

Harris, C. & Stephens, M., 1988. A combined corner and edge detector. Fourth Alvey

Vision Conference, p. p. 147–151.

Hartley, R. & Zisserman, A., 2004. Multiple View Geometry in Computer Vision,

Second Edition. Cambridge: Cambridge University Press.

Heikkilä, J. & Silvén, O., 1997. A Four-step Camera Calibration Procedure with

Implicit Image Correction, University of Oulu: Infotech Oulu and Department of

Electrical Engineering.

Hemmleb, M. & Wiedemann, A., 1997. Digital Rectification and Generation of

Orthoimages in Architectural Photogrammetry. y. International Archives of

Photogrammetry and Remote Sensing, pp. p. 261-267.

Page 122: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

106 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Izumiya, S., Katsumi, H. & Yamasaki, T., 1998. The rectifying developable and the

spherical. Geometry and topology of caustics-Caustics, Issue Banach, pp. 137-149.

Johnson, M. K. & Farid, H., 2006. Metric measurements on a plane from a single

image, Dartmouth College: Department of Computer Science.

Lowe, D., 1999. Object Recognition from Local Scale-Invariant Features.

International Conference on Computer Vision, pp. p. 1150-1157.

Lowe, D. G., 2004. Distinctive Image Features from Scale-Invariant Keypoints.

International journal of computer vision, pp. p. 91-110.

Mayr, W. & Heipke, C., 1988. A Contribution to Digital Orthophoto Generation.

International Archives of Photogrammetry and Remote Sensing, Volume 27, Part

B11-IV, pp. 430-439.

Mohamed Mansoor Roomi, S., Manojkumar, V. & Senthilarasi, M., 2010. Pan

Correction through Overlap Estimation in a Multi-Camera Environment. Journal of

Computer Science 6 (9), pp. 985-993.

Oyallon, E. & Rabin, J., 2013. An analysis and implementation of the SURF method,

and its, sl: sn

Roma, N., Santos-Victor, J. & Tomé, J., 2002. A comparative analysis of cross-

correlation matching algorithms using a pyramidal resolution approach, sl: Instituto

Superior Técnico.

SeaDAS, O., 2013. BEAM Help - Resampling Methods. [Online]

Available at: http://seadas.gsfc.nasa.gov/

[Geopend oktober 2013].

Shirahatti, N., 2005. Edge detection algorithms. [Online]

Available at: http://vision.sista.arizona.edu/nvs/research/image_analysis/edge.html

[Geopend oktober 2013].

Sinha, U., 2010. SIFT: Scale Invariant Feature Transform. [Online]

Available at: http://www.aishack.in/2010/05/sift-scale-invariant-feature-transform/

[Geopend oktober 2013].

Page 123: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

107 Meten op vlakke structuren door middel van gerectificeerde foto’s

KU Leuven: Campus De Nayer Vincent Vrijsen

Sinha, U., 2010. Two major physical defects in cameras. [Online]

Available at: http://www.aishack.in/2010/07/two-major-physical-defects-in-cameras/

[Geopend oktober 2013].

Stockman, G., 2009. Point/feature matching methods, Michigan State University: sn

Szeliski, R., 2010. Computer Vision: Algorithms and Applications. sl:sn

Van Genechten, B., 2010. Manual ImageMap, sl: sn

Zhang, Z., 1999. Flexible Camera Calibration By Viewing a Plane From Unknown

Orientations. One Microsoft Way, Redmond, Microsoft Research.

© Copyright KU Leuven

Zonder voorafgaande schriftelijke toestemming van zowel de promotor(en) als de auteur(s) is overnemen, kopiëren, gebruiken of realiseren van deze uitgave of gedeelten ervan verboden. Voor aanvragen tot of informatie i.v.m. het overnemen en/of gebruik en/of realisatie van gedeelten uit deze publicatie, wend u tot KU Leuven Campus De Nayer, Jan De Nayerlaan 5, B-2860 Sint-Katelijne-Waver, +32 15 31 69 44 of via e-mail [email protected].

Voorafgaande schriftelijke toestemming van de promotor(en) is eveneens vereist voor het aanwenden van de in deze masterproef beschreven (originele) methoden, producten, schakelingen en programma’s voor industrieel of commercieel nut en voor de inzending van deze publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden.

Page 124: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent
Page 125: Meten op vlakke structuren door middel van gerectificeerde …...Meten op vlakke structuren door middel van gerectificeerde foto’s Promotor: Dr. Ir. Arch. Bjorn Van Genechten Vincent

FACULTEIT INDUSTRIELE INGENIEURSWETENSCHAPPEN CAMPUS DE NAYER (@Thomas More)

Jan De Nayerlaan 5 2860 SINT-KATELIJNE-WAVER, België

tel. + 32 15 31 69 44 [email protected]

www.iiw.kuleuven.be