Minimaliseren van outliers binnen hoogtemodellen gecreëerd op basis van luchtfoto's Dries Vlaeminck
Promotor: prof. dr. ir. Wilfried Philips Begeleider: Koen Douterloigne Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen
Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: prof. dr. ir. Herwig Bruneel Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2011-2012
Faculteit Ingenieurswetenschappen en Architectuur Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: prof. dr. ir. Herwig Bruneel
Minimaliseren van outliers binnen hoogtemodellen gecre¨ eerd op basis van luchtfoto’s
door Dries Vlaeminck
Promotor: prof. dr. ir. Wilfried Philips Thesisbegeleider: ir. Koen Douterloigne
Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Academiejaar 2011–2012
VOORWOORD
i
Voorwoord Waar luchtfotografie vroeger gebruik maakte van vliegtuigen om een gebied in kaart te brengen, is er met de komst en commercialisatie van UAV’s een goedkoop alternatief ontstaan. Met deze UAV’s kan men beelden maken die veel meer detail bevatten, waardoor het opmeten van objecten veel nauwkeuriger is geworden dan voorheen. Sinds het begin van de 20ste eeuw was karteren aan de hand van luchtfoto’s het exclusief domein van de fotogrammetrie. Toch is in de laatste tien jaar, vooral onder impuls van technieken uit de computer vision technieken, de verwerking van luchtfoto’s in een stroomversnelling terecht gekomen. De manuele procedures uit de fotogrammetrie worden meer en meer vervangen door geautomatiseerde technieken zoals de SIFT- en SURF-technieken. In deze scriptie onderzoeken we hoe de accuraatheid van deze automatische processen getest kan worden en eventueel kan worden verbeterd door outliers te detecteren op basis van de originele beelden. De doelstelling van deze scriptie is dan ook een algoritme te ontwikkelen dat gebruik maakt van de intrinsieke eigenschappen van luchtfoto’s en op een automatische manier de outliers identificeert. Deze scriptie is tot stand kunnen komen met de hulp en steun van verschillende mensen. Ik had graag mijn begeleider Koen bedankt, die mij veel constructieve feedback bezorgde en altijd bereid was om, zelfs in de vroege avond, mij te ontvangen om uitleg te geven. Ik dank ook mijn promotor, prof. dr. ir. Wilfried Philips, om dit onderwerp beschikbaar te stellen voor deze scriptie. Vervolgens dank ik mijn ouders, die mij altijd blijven steunen en dankzij wie ik de vele jaren heb kunnen studeren. Ook had ik graag mijn twee beste vrienden Daan en Tamara bedankt voor het vele herlezen en het luiden van het herinneringsklokske wanneer nodig. Tot slot wens ik ook de firma Orbit Geospatial Technologies te bedanken om het mij mogelijk te maken deze scriptie tot een goed einde te brengen, mijn collega’s voor het nalezen van deze scriptie en in het bijzonder Johan Bonne, die mij ingewijd heeft in de wonderlijke wereld van de fotogrammetrie.
Dries Vlaeminck, mei 2012
TOELATING TOT BRUIKLEEN
ii
Toelating tot bruikleen
“De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef te kopi¨eren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef”
Dries Vlaeminck, mei 2012
Minimaliseren van outliers binnen hoogtemodellen gecre¨ eerd op basis van luchtfoto’s door Dries Vlaeminck Faculteit Ingenieurswetenschappen Vakgroep Telecommunicatie en InformatieVerwerking (TELIN) Voorzitter: Prof. Dr. Ir. Herwig Bruneel Promotor: prof. dr. ir. Wilfried Philips Scriptiebegeleiders: ir. Koen Douterloigne
Masterproef ingediend tot het behalen van de academische graad van Master in de Ingenieurswetenschappen: Computerwetenschappen optie Software-Ontwikkeling Academiejaar 2011–2012
Samenvatting Het onderzoek in deze scriptie spitst zich toe op het detecteren van outliers in hoogtemodellen gegenereerd op basis van luchtfoto’s. Door terug te keren naar het originele beeldmateriaal waarop de punten gebaseerd zijn, proberen we outliers te detecteren met behulp van de correlatie tussen de beelden. We evalueren twee bestaande algoritmes, namelijk de Genormaliseerde CrossCorrelatie en Mutual Information, en formuleren zelf ook een nieuw correlatie algoritme op basis van het bestaande SURF-algoritme.
Trefwoorden Outlier detectie, Cross-Correlatie, Mutual Information, SURF
Minimizing Outliers In Digital Elevation Models Based With Aerial Photography Dries Vlaeminck Supervisor(s): Wilfried Philips, Koen Douterloigne Abstract— This article describes a method for detecting outliers in Digital Elevation Models, which were created based on aerial photography. The correlation of the image data extracted from the original photographs, on which the 3D-points are based, is used to detect possible outliers. An overview of several correlation algorithms and the test results are described in this document. Keywords— Outlier detection, Cross-Correlation, Mutual Information, SURF
I. I NTRODUCTION
A
ERIAL photography has been the subject of many studies in the last 100 years. Before computers were introduced, the processing of aerial data was the sole domain of photogrammetry. The creation of accurate height models was a long and difficult manual labour. However, as with most scientific development, the arrival of computers was the catalyst for an explosion of new image processing techniques. In the last 10 years, the development and commercialisation of Unmanned Aerial Vehicles (UAV) has provided us with cheap and effective means to generate not only more data, but also aerial photos with greater detail. With the easy availability of data and computerized techniques, generating high density height models from the photos has become an automatic procedure. However, a lot of questions arise with these automated procedures, when there is no more manual evaluation. In this abstract, we will address one of these questions: How can we detect possible outliers in the models? II. 3D
DATA
A. Creating 3D data from aerial photos Using frameworks as Bundler [1], 3D data is generated by first determining distinctive features in the photos and trying to match these features between those that overlap. Several feature detection algorithms have been developed: Harris corner detection [4], SIFT [2], SURF [3], et al. These techniques are scale, rotation and translation invariant, but SIFT and SURF are particularly useful as they also create invariant descriptors for the features. Bundler uses SIFT for both the detection and the matching of features. Following the matching of the features, a Bundle Block Adjustment (BBA) is performed in order to create the correct orientation for each photograph. After determining the orientations for all the photos, 3D points can be created by calculating the intersection of the rays which connect the projection centres of the photographs with the matched features. A bi-product of these calculations is a low density point cloud, spanning the area covered in the overlap
between photos. B. Outliers Outliers are 3D points which have a substantial deviation from the neighbouring points. They can be caused by incorrect matching between features or the use of features which are located on moving objects. The resulting 3D points will in some cases cause a big difference in height compared to their neighbouring points, but in other cases the height error will be minimal and the detection of these outliers will be more difficult. However, we suggest instead of only inspecting the coordinates of the 3D points and try to separate outliers based on local extrema, we return to the data from which the points were originally generated: the photographic material. III. E XTRACTING THE ORIGINAL IMAGE DATA Knowing the orientation of the photos after processing them with Bundler or other orientation software, we can determine the projection of the 3D points on the original images using the colinearity-equation: x = −c
R11 (X − X0 ) + R21 (Y − Y0 ) + R31 (Z − Z0 ) R13 (X − X0 ) + R23 (Y − Y0 ) + R33 (Z − Z0 )
(1)
y = −c
R12 (X − X0 ) + R22 (Y − Y0 ) + R32 (Z − Z0 ) R13 (X − X0 ) + R23 (Y − Y0 ) + R33 (Z − Z0 )
(2)
with (x, y) the resulting position on the image, (X, Y, Z) the coordinates of the 3D point, (X0 , Y0 , Z0 ) the coordinates of the projection center for the photo in which the point is projected, c the focal distance of the lens and R the rotation-matrix for the photo. After determining the projection on the image, we extract a 250 by 250 pixels sub-image from the original photo, simultaneously compensating for the κ rotation of the photo. We only use photo’s for which the extraction is located within the bounds of the image. By including an existing DEM in our calculations, we also exclude the photo’s in which the projection of the 3D point is blocked by objects or buildings. IV. C ALCULATING THE CORRELATION The result of the projection on the images, is a set of image extractions for each 3D point. to quantify the correlation between the images, we need a way to compare these image extractions. A. Normalised Cross-Correlation A first correlation technique which was evaluated for this purpose, is the Normalized Cross-Correlation as specified in [5].
This technique compares two images on a pixel-by-pixel basis, using the covariance between the pixel values of the two images σLR and their respective standard deviations σL , σR . Given 2 grayscale images both containing N pixels, we can calculate the Normalized Cross-Correlation ρLR by: ρLR =
1 σLR . N σL σR
(3)
Using this formula, the resulting correlation is a coefficient in the interval [-1,1]. When two images are really similar, the correlation reaches a maximum. For our purposes, we will consider two extractions as equal, when the resulting correlation coefficient is greater than or equal to 0.6. B. Mutual Information The second correlation technique which was evaluated, is the Mutual Information technique introduced by [6]. This technique utilizes the entropy of the individual images in relations with the conditional entropy between two images. As a first step in the algorithm, a 256 by 256 matrix is constructed, mapping the number of pixels on each possible grayscale pixel value. The pixel value of extraction A determines the column, the pixel value of B the row. After constructing this histogram matrix, we divide the matrix in 16 by 16 buckets, in order to create a robust comparison between the images and obtain a fast correlation equation. Given N the number of buckets, HAB (x, y) the number of pixels with value x in extraction A and y in extraction B, HA (x) the number of pixels with value x in extraction A, HB (y) the number of pixels with value y in extraction B, the Mutual Information coefficient is determined by: M I(A, B) =
N N HAB (x, y) 1 ∑∑ . HAB (x, y). log (4) N x=1 y=1 HA (x)HB (y)
Two images are considered equal using the MI-technique, when the resulting coefficient is greater than the average of the individual entropies: M I(A, B) >
E(A) + E(B) 2
(5)
C. SURF-based correlation For the purpose of creating a robust and invariant correlation, we also introduce a new correlation technique, namely the SURF-correlation coefficient. The basis of this technique, is the consideration that when two extractions are similar, a SURFdetection and -matching of features between these two images should result in a similar spread of the matched points on each image, as illustrated in Figure 1. Using the invariant properties of SURF, we should be able to obtain a technique that is robust and affine invariant. In order to create a correlation factor based on these matches, we divide the extractions in 4 quadrants. When two matched features are located in different quadrants, they will result in a lower correlation coefficient between the images. Also, we need to add a weight-function to the possible difference in quadrants
Fig. 1. Result of the SURF-detection and -matching
for the matched points, in order to put a factor on the location of the matches. Points that are located close to the border of the quadrant should not have the same effect as points in the middle. For this, we use a 2-dimensional Gaussian function to quantize the location of the matches in the quadrant: 0 [A] ) ( (yA −yA0 )2 (xA −xA0 )2 G(A, i) = (6) + 2 2 e− 2σx 2σy [B] in which (xA , yA ) represents the position of the match in image extraction A (resp. B), (xA0 , yA0 ) is the center of the quadrant in extraction A (resp. B) and σx , σy is the standard deviation of the width resp. height, which is in this instance the half of the quadrant width resp. height. The first case [A] denotes the situation where the quadrant in extraction A is equal to the quadrant in B. The second case [B] denotes the resulting Gaussian factor when the two quadrants differ. The resulting SURF-correlation for N matched features between two image extractions A and B is specified by:
SU RF (A, B) = 1 −
N 1 ∑ [P (A, i) + P (B, i)] N i=1
(7)
For our matching purposes, we will consider a SURFcorrelation coefficient of 0.8 as a minimum for a successful correlation between two images. V. R ESULTS Initially, we tested the correlation algorithms on a set of three distinct points, which are illustrated in Figure 2. The first test case was a ground control point on a roadside, the second was the corner of a building which was measured using stereographic measurement and the last test case was a 3D-point that was purposely measured incorrect. If the correlation algorithms perform as we would like, the resulting correlation should return a good result for the first two test cases and the identification of an outlier in the third test case. All the possible combinations between the extractions of the image data were evaluated and the results are illustrated in Table I. From these results, we can derive that all three algorithms correctly identify the first point as a good 3D-point. The corner of the building however, causes more differences between the image extractions and this results in a negative identification of the point as an outlier by the NCC-algorithm.
False-negative False-positive Correctly detected
NCC 25% 0% 75%
MI 15.7% 0.3% 84%
SURF-correlation 17.7% 1.6% 80.7%
TABLE II OVERVIEW
OF THE CORRELATION RESULTS FOR A LARGER TEST CASE .
We can conclude from the current results that all three correlation algorithms have their merits, but perhaps a better correlation method could be created by combining the algorithms. Further research into this matter could provide a good outlier detection in the future. R EFERENCES
Fig. 2. Two extractions (of the many) for each distinct test case.
Ground Control Corner of building Outlier
NCC 100% 41% 16%
MI 100% 100% 60%
SURF-correlation 100% 70% 30%
TABLE I OVERVIEW OF THE CORRELATION RESULTS ON THREE DISTINCT TEST CASES .
For the third test case on the other hand, the NCC algorithm and SURF-correlation algorithm correctly identify the point as an outlier, but the MI-algorithm does not perceive enough difference in the overall histogram, which results in a false positive. After these initial tests, we performed some further evaluations of the algorithms on a subset of 300 points extracted from a point cloud generated by Bundler. The results of these tests can be consulted in Table II. We can clearly derive from the results that the NCC-algorithm is more restrictive than the other two algorithms. The results of these test cases would indicate that the MI-algorithm is the best choice for determining outliers. However, the initial test cases indicated that this algorithm is potentially to lenient in certain situations. Also, we need to consider if it would not be better to be more conservative and remove too many points, even false-negatives, than too few. For certain purposes, it is better to have a more rough DEM than risk outliers. VI. C ONCLUSIONS We have potentially identified a way to determine outliers in a DEM. The extraction of original image data seems to be a good starting point to identify potential outliers. Two existing correlation algorithms were evaluated and a new SURF-correlation algorithm was presented.
[1] N. Snavely, Bundler: Structure from Motion (SfM) for Unordered Image Collections, http://phototour.cs.washington.edu/bundler/, 2010 [2] David G. Lowe Distinctive Image Features from Scale-Invariant Keypoints, Int. J. Comput. Vision, November 2004 [3] H. Bay, A. Ess, T. Tuytelaars, L. Van Gool, Speeded-Up Robust Features (SURF), Comput. Vis. Image Underst., June 2008 [4] C. Harris, M. Stephens, A Combined Corner and Edge Detection, Proceedings of The Fourth Alvey Vision Conference, 1988 [5] T. Luhmann, S. Robson, S. Kyle, I. Harley, Close Range Photogrammetry: Principles, Methods and Applications, Whittles Publishing, 2006 [6] W.M.III Wells, P. Viola, H. Atsumi, S. Nakajima, R. Kikinis, Multi-Modal Volume Registration by Maximization of Mutual Information, 1995
INHOUDSOPGAVE
v
Inhoudsopgave Voorwoord
i
Toelating tot bruikleen
ii
Overzicht
iii
Extended abstract
iv
Verklarende woordenlijst
xii
1 Inleiding
1
1.1
Evolutie van de luchtfotografie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Toepassingsgebieden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Probleem- en doelstelling 2.1
2.2
2.3
5
Outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.1
3D-punten uit foto’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.2
Outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Literatuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2.1
Fotogrammetrische technieken
. . . . . . . . . . . . . . . . . . . . . . . .
8
2.2.2
Structure from motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.3
Smoothing the data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Beschrijving van de testdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3.1
Testterrein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3.2
UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3.3
Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
INHOUDSOPGAVE
vi
3 Voorgestelde oplossingsmethode
18
3.1
Herprojectie van 3D-punten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.2
Extractie van het beeldmateriaal . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.3
Snijden met het DEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4 Genormaliseerde cross-correlatie en Mutual Information
24
4.1
Genormaliseerde cross-correlatie (NCC) . . . . . . . . . . . . . . . . . . . . . . .
24
4.2
Resultaten van het NCC-algoritme . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.2.1
Grondcontrolepunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.2.2
Hoekpunt van een gebouw . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.2.3
Fout op repetitief patroon . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.3
Mutual Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.4
Resultaten van het MI-algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.4.1
Grondcontrolepunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.4.2
Hoekpunt van een gebouw . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.4.3
Fout op repetitief patroon . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
5 Correlatie op basis van SURF
34
5.1
Waarom SURF? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.2
Werking van het algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.2.1
SURF-matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
5.2.2
Indeling in kwadranten en evaluatie . . . . . . . . . . . . . . . . . . . . .
36
Resultaten van het SURF-correlatie algoritme . . . . . . . . . . . . . . . . . . . .
38
5.3.1
Grondcontrolepunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.3.2
Hoekpunt van een gebouw . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.3.3
Fout op repetitief patroon . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3
6 Resultaten
43
6.1
Individuele testcases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
6.2
Globale testcase: Voshol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
6.2.1
Classificatie van de 3D-punten . . . . . . . . . . . . . . . . . . . . . . . .
45
6.2.2
Het NCC-algoritme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
6.2.3
Het MI-algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
6.2.4
Het SURF-correlatie algoritme . . . . . . . . . . . . . . . . . . . . . . . .
48
INHOUDSOPGAVE
6.2.5 6.3
vii
Vergelijking van de 3 algoritmes . . . . . . . . . . . . . . . . . . . . . . .
49
Conclusies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
7 Toekomstig onderzoek
52
7.1
Aanpassingen algoritmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
7.2
Aanpassingen beeldmateriaal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
8 Conclusie
54
A Beeld-extracties
56
A.1 Grondcontrolepunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
A.2 Hoek van gebouw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
A.3 Fout in repetitief patroon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
B Tabellen met resultaten
58
B.1 Grondcontrolepunt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
B.1.1 NCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
B.1.2 MI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
B.1.3 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
B.2 Hoek van een gebouw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
B.2.1 NCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
B.2.2 MI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
B.2.3 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
B.3 Fout in een repetitief patroon . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
B.3.1 NCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
B.3.2 MI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
B.3.3 SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
C Orbit Geospatial Technologies
74
C.1 Bedrijfsprofiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
C.2 De mensen
75
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3 Grondlegger Eurotronics/Orbit GT
. . . . . . . . . . . . . . . . . . . . . . . . .
75
C.4 Product- en dienstenassortiment op vier domeinen . . . . . . . . . . . . . . . . .
76
C.4.1 De overheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
C.4.2 De openbare veiligheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
INHOUDSOPGAVE
C.4.3 Mapping Industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
77
LIJST VAN FIGUREN
ix
Lijst van figuren 1.1
’Boston, as the Eagle and the Wild Goose See it’ (1860). . . . . . . . . . . . . . .
2
1.2
Puntenwolk van een erts-ophoping. . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1
Relatie tussen 3D-punt en de projectie op de camera. . . . . . . . . . . . . . . . .
6
2.2
Puntenwolk gegenereerd door Bundler [Sna10] met outliers. . . . . . . . . . . . .
8
2.3
Beweging van een detail waaruit 3D-punten gegenereerd worden. . . . . . . . . .
9
2.4
Feature gebaseerde technieken kunnen verkeerde matches opleveren. . . . . . . .
9
2.5
Ortho-foto van het testterrein in Lokeren. . . . . . . . . . . . . . . . . . . . . . .
17
2.6
De Microdrones MD4-1000 uitgerust met Canon 550D camera. . . . . . . . . . .
17
3.1
2 soorten van radiale vervorming: de tonvormige vervorming (links) en kussenvormige vervorming (rechts). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
19
Projectie van 3D-punt op foto’s zonder κ-correctie (stippelijn) en met (rode begrenzing). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.3
Het DEM van het testterrein gebruikt binnen deze scriptie. . . . . . . . . . . . .
22
3.4
Line-of-sight naar een 3D-punt wordt geblokkeerd door een gebouw. . . . . . . .
23
4.1
Grafische voorstelling van de resultaten van de NCC berekeningen op beeldextracties van een controlepunt. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Grafische voorstelling van de resultaten van de NCC berekeningen op beeldextracties van een hoekpunt van een gebouw. . . . . . . . . . . . . . . . . . . . .
4.3
27
Grafische voorstelling van de resultaten van de NCC berekeningen op beeldextracties van een foutief 3D-punt. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
26
28
Grafische voorstelling van de resultaten van de MI-berekeningen op beeld-extracties van een controlepunt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
LIJST VAN FIGUREN
4.5
x
Grafische voorstelling van de resultaten van de MI berekeningen op beeld-extracties van een hoekpunt van een gebouw. . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.6
Voorbeeld van vals-positief resultaat voor Mutual Information. . . . . . . . . . .
32
4.7
Grafische voorstelling van de resultaten van de MI berekeningen op beeld-extracties van een foutief 3D-punt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.1
Resultaat van het SURF-algoritme op twee beeld-extracties. . . . . . . . . . . . .
36
5.2
Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeld-extracties van een controlepunt. . . . . . . . . . . . . . . . . . . . . . . . .
39
5.3
Resultaat van het SURF-algoritme op 2 beeld-extracties van een hoek. . . . . . .
39
5.4
Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeld-extracties van een hoekpunt van een gebouw. . . . . . . . . . . . . . . . . .
40
5.5
Resultaat van het SURF-algoritme op 2 beeld-extracties van een foutief 3D-punt.
41
5.6
Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeld-extracties van een foutief 3D-punt. . . . . . . . . . . . . . . . . . . . . . . .
42
6.1
Foute 3D-punten in puntenwolk volgens bestaande DEM. . . . . . . . . . . . . .
45
6.2
Classificatie van 3D-punten met behulp van het NCC-algoritme.
. . . . . . . . .
47
6.3
Classificatie van 3D-punten met behulp van het MI-algoritme. . . . . . . . . . . .
49
6.4
Classificatie van 3D-punten met behulp van het SURF-correlatie algoritme. . . .
50
LIJST VAN TABELLEN
xi
Lijst van tabellen 6.1
6.2
Overzicht van de resultaten voor de individuele testen met % kans dat het om een goed 3D-punt gaat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Overzicht van de testresultaten globale testcase. . . . . . . . . . . . . . . . . . . .
51
B.1 De resultaten van de genormaliseerde cross-correlatie berekeningen op beeldextracties van een controlepunt. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
B.2 De resultaten van de MI berekeningen op beeld-extracties van een controlepunt. .
59
B.3 De resultaten van de SURF-correlatie berekeningen op beeld-extracties van een controlepunt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
B.4 De resultaten van de NCC berekeningen op beeld-extracties voor de hoek van een gebouw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
B.5 De resultaten van de MI berekeningen op beeld-extracties voor de hoek van een gebouw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
B.6 De resultaten van de SURF-correlatie berekeningen op beeld-extracties voor de hoek van een gebouw. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
B.7 De resultaten van de NCC berekeningen op beeld-extracties voor een fout 3D-punt. 66 B.8 De resultaten van de MI berekeningen op beeld-extracties voor een fout 3D-punt.
68
B.9 De resultaten van de SURF-correlatie berekeningen op beeld-extracties voor een fout 3D-punt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
VERKLARENDE WOORDENLIJST
Verklarende woordenlijst • ALSM Airborne Laser Swath Mapping • ASIFT Affine-invariant Scale-Invariant Feature Transform • CCD Charge-Coupled Device • DEM Digital Elevation Model • DoG Difference-of-Gaussian • DSM Digital Surface Model • DTM Digital Terrain Model • FAIR-SURF Fully Affine-InvaRiant SURF • GIS Geografische InformatieSysteem • GSD Ground Sample Distance • HTOL Horizontal Take-Off and Landing • LIDAR Light Detection and Ranging • MI Mutual Information • NCC Normalized Cross Correlation • SFM Structure From Motion • SIFT Scale-Invariant Feature Transform • SURF Speeded Up Robust Feature • TIN Triangulated Irregular Network • VTOL Vertical Take-Off and Landing • UAV Unmanned Aerial Vehicle
xii
INLEIDING
1
Hoofdstuk 1
Inleiding Geografische InformatieSystemen (GIS) maken de laatste jaren een enorme opmars binnen zowel private bedrijven als de academische sector. Deze systemen berusten op geografische data en de correctheid van deze systemen is dan ook voor een groot deel afhankelijk van de nauwkeurigheid van deze data. Wanneer men werkt met hoogtemodellen spreekt men van ‘outliers’ wanneer fouten binnen het hoogtemodel een duidelijke deviatie ten opzichte van de omliggende punten geven. Het is dus van groot belang voor de correctheid van de data dat men tracht de aanwezigheid van outliers te minimaliseren binnen deze data en specifiek de 3D-modellen. Deze scriptie zal zich toespitsen op deze problematiek.
1.1
Evolutie van de luchtfotografie
Hoewel de eerste luchtfoto’s dateren uit de tweede helft van de 19e eeuw (figuur 1.1), kwam het gebruik ervan pas in een stroomversnelling rond de Eerste Wereldoorlog. Zowel de luchtvaart als de luchtfotografie kenden een versnelde ontwikkeling naar aanleiding van beide Wereldoorlogen. Luchtfoto’s werden initieel aangewend bij het maken van kaarten. Waar voorheen enkel landmeters een hoogtemodel konden opmeten, zorgde de ontwikkeling van de fotogrammetrie voor de mogelijkheid hoogtemodellen te cre¨eren op basis van luchtfoto’s. Een vernieuwende technologie die de laatste jaren voor een grote versnelling in data inwinning heeft gezorgd, is de introductie van Unmanned Aerial Vehicles (UAV). De initi¨ele ontwikkelingen binnen dit gebied kwamen voort uit militaire toepassingen. De private en academische sectoren pikten al snel in op deze ontwikkelingen: van Vertical Take-Off and Landing (VTOL) toestel-
1.1 Evolutie van de luchtfotografie
2
Figuur 1.1: ’Boston, as the Eagle and the Wild Goose See it’ (1860).
len, zoals de Microdrones MD4-1000, Aibotix X6 of Asctec Falcon, tot Horizontal Take-Off and Landing (HTOL) toestellen, zoals de Gatewing X100 of Lehman Aviation LFPV. Het commercialiseren van UAV’s heeft ervoor gezorgd dat er meer dan ooit een groot aanbod is van data.
Ground Sample Distance
Luchtfoto’s genomen vanuit vliegtuigen en deze vanuit UAV’s ver-
schillen in de nauwkeurigheid waarmee hoogtemodellen op basis van deze luchtfoto’s gemaakt kunnen worden. De mate waarin detail wordt herkend, kan afgeleid worden uit de Ground Sample Distance (GSD). Deze maat duidt aan met hoeveel werkelijke vierkante centimeter een pixel in het beeld overeenkomt. Bij klassieke luchtfotografie vliegen de toestellen op een hoogte van ongeveer 1,5 km boven het grondoppervlak, wat met de huidige camera’s een GSD van ongeveer 10 cm2 per pixel oplevert. UAV’s vliegen echter op een veel lagere hoogte dan gewone vliegtuigen. Hun vlieghoogte kan vari¨eren van 30 meter tot 750 meter. Een beperkende factor van UAV’s is de kwaliteit van de camera die ze in staat zijn mee te nemen. In optimale omstandigheden wordt een GSD bereikt van 1 cm2 , wat een veel betere detailherkenning en nauwkeurigheid van metingen oplevert.
Aanvullende technologie Begin jaren ’50 ontstond het concept van Light Detection and Ranging (LIDAR). Met deze techniek is het mogelijk om de afstand tot een bepaald punt op te meten en andere eigenschappen af te leiden uit de reflectie van het licht. Deze technologie
1.2 Toepassingsgebieden
3
evolueerde verder door de introductie van lasers tot een hedendaags systeem dat van een bepaald gebied miljoenen 3D-punten kan cre¨eren, bijvoorbeeld toegepast bij Airborne Laser Swath Mapping (ALSM).
Het gebruik van LIDAR-technieken is echter beperkt door het gewicht van de toestellen. Een groot deel van de commerci¨ele UAV’s zijn niet in staat een zware payload mee te nemen tijdens een vlucht. De Microdrone MD4-1000 is bijvoorbeeld beperkt tot 1.2 kg payload. Dit betekent dat de camera en andere toestellen samen niet meer mogen wegen dan 1.2 kg om de veiligheid en stabiliteit van het toestel niet in gedrang te brengen. Hierdoor zijn het grootste deel van de UAV’s aangewezen op fotogrammetrische en computer vision technieken.
1.2
Toepassingsgebieden
Over de jaren heen zijn er verschillende toepassingsgebieden ontstaan waarbij het genereren van 3D-punten nodig was. In de volgende paragrafen geven we hier enkele voorbeelden van. Hoogtemodellen
Wanneer men de correcte ori¨entatie van verschillende overlappende foto’s
kent, is het mogelijk, door het correct verbinden van een punt in twee of meer foto’s, een 3D-punt van een detail te genereren (zie Sectie 2.2). De densiteit van deze 3D-punten is afhankelijk van de GSD die geleverd wordt door de foto’s. Het is dan ook meteen duidelijk dat de densiteit van 3D-punten in een hoogtemodel op basis van klassieke luchtfoto’s veel lager is dan de densiteit van foto’s genomen door laagvliegende UAV’s, waarvan een voorbeeld te zien is in Figuur 1.2. Binnen hoogtemodellen dient een onderscheid gemaakt te worden tussen DSM en DTM. Men spreekt van een DSM bij hoogtemodellen waarbij zowel het aardoppervlak als alle objecten op dit oppervlak in rekening gebracht worden. Een strikt DTM daarentegen zal vegetatie, huizen en dergelijke niet weergeven en stelt dus enkel het effectieve aardoppervlak voor. Beide termen worden vaak generiek benoemd als Digital Elevation Model (DEM).
Orthofoto’s Orthofoto’s worden aangewend om objecten en terrein in te meten op een 2Dgerectificeerde foto. Wanneer men luchtfoto’s neemt, is het vaak de bedoeling om zo verticaal mogelijke foto’s te verkrijgen, tenzij men oblieke foto’s wenst, zoals bijvoorbeeld in Figuur 1.1.
1.2 Toepassingsgebieden
4
Figuur 1.2: Puntenwolk van een erts-ophoping.
Om de foto’s hun verticale eigenschap te geven, moeten deze foto’s gecorrigeerd worden naar het reli¨ef in het gebied. Wanneer er voor het onderliggende gebied enkel een DTM ter beschikking is, kunnen gerectificeerde foto’s gemaakt worden door de geori¨enteerde foto’s te projecteren op het grondoppervlak. Als van een gebied een volledig DSM beschikbaar is (met bijvoorbeeld de correcte 3D-representatie van gebouwen), kan een juiste projectie van de foto op de oppervlakken gemaakt worden. Zo bekomt men een ‘true’ orthofoto, waarop geen zij-aanzichten van structuren te zien zijn en gebouwen zowel aan hun basis als bovenaan de correcte grootte hebben.
Volumeberekeningen Tot voor kort werden volumes, bijvoorbeeld van erts ophopingen of in steengroeves, ofwel bepaald door landmeters die ter plaatse punten opmeten, ofwel door laserscanners die een puntenwolk cre¨eren van een gebied. Dankzij het automatisch genereren van hoogtemodellen op basis van luchtfoto’s en de grotere nauwkeurigheid van UAV foto’s, beseft men meer en meer dat de oude technieken om volumes te berekenen aangevuld of vervangen kunnen worden door modellen uit luchtfoto’s (cfr. ‘Will photogrammetry make laser scanning obsolete?’ [Pfe12]).
Tot slot van deze inleiding, geven we nog een kort overzicht van het vervolg van deze scriptie. In Hoofdstuk 2 tonen we aan hoe outliers ontstaan en geven we een overzicht van de bestaande technieken. Hoofdstuk 3 spitst zich toe op het extraheren van beeldmateriaal van de 3D-punten. In Hoofdstuk 4 zullen we twee bestaande algoritmes bespreken om deze extracties te evalueren. Hoofdstuk 5 zal handelen over het nieuw algoritme dat binnen deze scriptie ontwikkeld werd. De resultaten van de verschillende algoritmes worden weergegeven in Hoofdstuk 6. Hoofdstuk 7 zal enkele mogelijkheden voorstellen voor toekomstig onderzoek, waarna we in Hoofdstuk 8 de conclusie van deze scriptie zullen maken.
PROBLEEM- EN DOELSTELLING
5
Hoofdstuk 2
Probleem- en doelstelling Hoogtemodellen worden steeds vaker gemaakt door zich te baseren op geori¨enteerde foto’s. Waar vroeger hoogtemodellen beperkt waren in densiteit, doordat de punten manueel werden ingemeten, hebben de ontwikkelingen binnen computervisie naast een automatisering van het proces, ook een grotere densiteit van 3D-punten voortgebracht. Deze automatisering roept echter vaak vragen op: hoe kunnen we de correctheid van de gegenereerde punten controleren? Maakt een 3D-punt deel uit van het DTM of is er een object geregistreerd dat niet gewenst is? Dit brengt ons bij het concept van ‘outliers’, dat we zullen bespreken in Sectie 2.1. Hierna zullen we de bestaande technieken bespreken in Sectie 2.2, gevolgd door een beschrijving in Sectie 2.3 van de testdata die gebruikt werd binnen deze scriptie.
2.1
Outliers
2.1.1
3D-punten uit foto’s
De ori¨entaties van foto’s worden vastgelegd aan de hand van 6 parameters, zoals ook ge¨ıllustreerd in Figuur 2.1: • Drie parameters bepalen de positie van het projectiecentrum van de foto (X, Y, Z) • Drie parameters bepalen de rotatie rond de assen: ω bepaalt de rotatie rond de X-as, ϕ de rotatie rond de Y-as en κ de rotatie rond de Z-as
De basis voor het opmeten van 3D-punten uit geori¨enteerde foto’s werd gelegd in de fotogrammetrie, met name door de colineariteits-vergelijking. Deze vergelijking geeft aan hoe een 3D-punt
2.1 Outliers
6
Figuur 2.1: Relatie tussen 3D-punt en de projectie op de camera.
geprojecteerd wordt op de beeldsensor van de camera. Stel hiervoor dat: • (x, y): de co¨ordinaten van de projectie op de beeldsensor • (X, Y, Z): de 3D-co¨ordinaten van het punt dat geprojecteerd wordt • (X0 , Y0 , Z0 ): de co¨ordinaten van het projectiecentrum van de foto • Rij : het (i,j)-element in de rotatiematrix van de projectie • c: de brandpuntsafstand Aan de hand van deze variabelen wordt de colineariteits-vergelijking gedefinieerd: x = −c
R11 (X − X0 ) + R21 (Y − Y0 ) + R31 (Z − Z0 ) R13 (X − X0 ) + R23 (Y − Y0 ) + R33 (Z − Z0 )
(2.1)
y = −c
R12 (X − X0 ) + R22 (Y − Y0 ) + R32 (Z − Z0 ) R13 (X − X0 ) + R23 (Y − Y0 ) + R33 (Z − Z0 )
(2.2)
Binnen deze vergelijking wordt gebruik gemaakt van de rotatiematrix van een foto. Deze rotatiematrix kan opgesteld worden op verschillende manieren, afhankelijk van de volgorde waarin de rotatiehoeken in rekening gebracht worden. Binnen de software gebruikt voor deze scriptie,
2.1 Outliers
werd deze opgesteld zoals vermeld in [Kra93]: cos ϕ cos κ − cos ϕ sin κ sin ϕ Rωϕκ = cos ω sin κ + sin ω sin ϕ cos κ cos ω cos κ − sin ω sin ϕ sin κ − sin ω cos ϕ sin ω sin κ − cos ω sin ϕ sin ω cos κ + cos ω sin ϕ sin κ cos ω cos ϕ
7
(2.3)
Om deze rotatiematrix te bekomen, wordt eerst de rotatie rond de X-as (ω) in rekening gebracht, gevolgd door de rotatie rond de hergedefinieerde Yω -as en als laatste de rotatie rond de Zωϕ -as. Andere vormen van de rotatiematrix kunnen bekomen worden door de rotaties in een andere volgorde in rekening te brengen, maar het uiteindelijke resultaat is steeds hetzelfde. De vergelijking hierboven geeft aan hoe uit een 3D-punt de projectie op een foto kan worden gevonden. De colineariteits-vergelijking vormt ook de basis voor het berekenen van de ori¨entaties van foto’s door middel van de blokvereffening of Bundle Block Adjustment. Voor verdere informatie hierover, verwijzen we door naar sectie 2.2.
2.1.2
Outliers
Onder het concept ‘outlier’ verstaan we fouten binnen het hoogtemodel die een duidelijke deviatie ten opzichte van de omliggende punten geven. Een voorbeeld hiervan is weergegeven in Figuur 2.2. Op de figuur zien we een puntenwolk, waar in het midden een T-kruising te zien is. Links is de baan gescheiden van een stuk gras door een beek. Rechts kunnen we een parking herkennen, met een rechthoekig gebouw waar een rij bomen achter staat. Het is intu¨ıtief snel duidelijk dat de punten die zweven boven de baan fouten zijn binnen het gegenereerde hoogtemodel. Toch kunnen deze punten mathematisch correct zijn en kleine residu-waarden geven in de bundel-vereffening. Hierdoor zijn ze moeilijk te detecteren bij het automatisch genereren van 3D-punten.
Outliers kunnen hun oorsprong vinden in verschillende ‘fouten’. Zoals reeds eerder vermeld, worden 3D-punten gecre¨eerd door eenzelfde detail in verschillende foto’s te identificeren. Doorheen deze details worden als het ware lijnen getrokken vanuit het projectiecentrum van de foto en de pixel die het detail bevat. Het snijden van deze twee lijnen, of toch het benaderende punt waarin de twee stralen elkaar het dichtst kruisen, geeft een 3D-punt voor dat detail. Het is dan ook belangrijk aan te geven dat hoe meer foto’s hetzelfde detail bevatten, hoe correcter de benadering van het 3D-punt.
2.2 Literatuur
8
Outliers vinden vaak hun oorsprong in een foute detectie en matching van details waarop de 3D-generatie gebaseerd wordt. Enkele voorbeelden hiervan zijn: • het bewegen van een detail doorheen de verschillende foto’s (bijvoorbeeld een bewegende auto of takken van een boom) zoals in Figuur 2.3 • verkeerd selecteren van details in een repetitief patroon (bijvoorbeeld een onderbroken lijn van een fietspad) • slechte matches die geen grote fout voortbrengen ten opzichte van hun omgeving (zoals bijvoorbeeld in Figuur 2.4)
2.2 2.2.1
Literatuur Fotogrammetrische technieken
Relatieve ori¨ entatie De basis voor de ontwikkeling van de bundel-vereffening werd gelegd in de theorie rond de relatieve ori¨entatie van twee foto’s. Een voorbeeld van deze techniek wordt voorgesteld in [WD00] als ‘Analytical Relative Orientation’. Hierbij gaat men als volgt te werk: 1. Men neemt de X-as als basis voor beide projectiecentra 2. De ωL , ϕL , κL , XL en YL van de linker foto worden gelijk gesteld aan 0
Figuur 2.2: Puntenwolk gegenereerd door Bundler [Sna10] met outliers.
2.2 Literatuur
9
Figuur 2.3: Beweging van een detail waaruit 3D-punten gegenereerd worden.
Figuur 2.4: Feature gebaseerde technieken kunnen verkeerde matches opleveren.
3. Men neemt ZL van de linker foto gelijk aan de brandpuntsafstand van de foto 4. Ten slotte wordt XR van het rechtse projectcentrum gelijk gesteld aan basisafstand (afstand tussen de twee projectiecentra op de X-as) b Hierdoor zijn er nog vijf vrijheidsgraden die bepaald moeten worden voor de rechtse foto, namelijk ωR , ϕR , κR , YR en ZR . Om deze te kunnen bepalen, hebben we objectpunten (3D-punten) nodig die kunnen waargenomen worden in zowel de linker als de rechter foto. Door gebruik te maken van de colineariteits-vergelijking, bekomen we per foto een vergelijking voor zowel de x-co¨ordinaat als de y-co¨ordinaat, wat 4 bekenden zijn. Maar omdat de 3D-punten vaak nog niet gekend zijn, voegt ieder gemeenschappelijk punt ook drie onbekenden toe aan de vergelijking,
2.2 Literatuur
10
namelijk de (X,Y,Z)-co¨ordinaten van het punt. Het meten van een gemeenschappelijk punt, legt dus over het geheel een vrijheidsgraad vast. Aangezien we begonnen zijn met vijf vrijheidsgraden, zijn er minimaal vijf gemeenschappelijke punten nodig om de ori¨entatie van de rechtse foto te kunnen bepalen ten opzichte van de linkse foto. Wanneer er meer punten gebruikt worden, zal een verbeterde uitkomst bekomen worden door gebruik te maken van de kleinste kwadraten methode (zie [Kra93] pg 384 - 386). Verdere uitwerking van de vergelijkingen en berekening van de uitkomst vallen buiten het bestek van deze scriptie. Deze techniek geeft ook het belang aan van het vinden van correcte, gemeenschappelijke details. Wanneer de details niet correct zijn, zal de uitkomst van de vergelijking nooit correct zijn en kan er geen goede ori¨entatie gevonden worden tussen de twee foto’s.
Bundle Block Adjustment Verder bouwend op de relative ori¨entatie tussen twee foto’s, werd een techniek ontwikkeld die een vereffening maakt voor een aantal foto’s, ook wel een blok van foto’s genoemd. Voor een blokvereffening kan men al dan niet gebruik maken van grondcontrolepunten. Wanneer er geen grondcontrolepunten ter beschikking zijn, wordt gesproken van een vrije vereffening. Het resultaat van die vereffening is dan ook niet gegeorefereerd. Onder georefereren verstaan we het defini¨eren van de co¨ordinaten in de fysieke ruimte of de werkelijke 3D-co¨ordinaten (zoals bijvoorbeeld GPS-co¨ordinaten). Om de foto’s te georefereren, moeten er grondcontrolepunten bepaald worden en moet een transformatie naar deze co¨ordinaten berekend worden. Andere technieken, zoals die beschreven in [Kra93] nemen de grondcontrolepunten in rekening tijdens het berekenen van de vereffening en de foto’s zijn meteen ook gegeorefereerd. In tegenstelling tot de relatieve ori¨entatie tussen twee foto’s, kunnen we bij een blokvereffening de foto’s niet vastleggen op een bepaalde afstand van elkaar of op een bepaalde as. Dit zorgt ervoor dat we per foto zes onbekenden hebben: de co¨ordinaten van het projectiecentrum (X, Y, Z) en de ori¨entatieparameters van de foto (ω, ϕ, κ). Maar omdat we hier spreken over een blok van foto’s, is er overlap met meerdere foto’s, zodat deze parameters correct kunnen worden bepaald door gemeenschappelijke punten van verschillende foto’s. Hoe de matrix voor het oplossen van deze vergelijkingen opgebouwd wordt, valt opnieuw buiten het bestek van deze scriptie, maar kan gevonden worden in [Kra93]. Er zijn echter twee aandachtspunten die van groot belang zijn voor deze scriptie:
2.2 Literatuur
11
1. Het resultaat van de blokvereffening is, voor een groot deel, afhankelijk van een goede initi¨ele waarde van de 3D-co¨ordinaten voor de gemeenschappelijke details. Een slechte schatting van deze co¨ordinaten in het begin kan ervoor zorgen dat de blokvereffening geen resultaat geeft. 2. De blokvereffening maakt gebruik van de kleinste kwadraten methode. Dit betekent dat de fouten als het ware uitgemiddeld worden over het volledige blok. Vooral dit laatste punt verdient de nodige aandacht. De blokvereffening geeft namelijk per objectpunt de uiteindelijke residu-waarden van de vereffening. Toch geven deze niet altijd duidelijk aan of er fouten zijn. De fout wordt verspreid over het blok door de correcties op de projectiecentra en ori¨entaties tijdens de vereffening. Dit zorgt er voor dat de blokvereffening een goed resultaat kan produceren en toch nog kleine fouten toelaat op de uiteindelijke 3D-punten. Ook het snijden van twee lijnen door een verkeerd detail (bijvoorbeeld een onderbroken lijn van een fietspad) kan een 3D-punt geven dat onder of boven de grond gelegen is, en toch een kleine residu-waarde heeft in de uiteindelijke vereffening. Dit kan beperkt worden door hetzelfde detail van een 3D-punt in meerdere foto’s te gaan bepalen, wat een basisprincipe is van deze scriptie.
2.2.2
Structure from motion
Hoewel de technieken voor het genereren van hoogtemodellen en 3D-punten reeds lang toegepast werden binnen de fotogrammetrie, heeft de komst van computers en de ontwikkeling van computer visie technieken de theorie als het ware opnieuw uitgevonden. Waar vroeger de selectie van punten in de overlap tussen foto’s manueel moest worden gemaakt, werden binnen de computer vision technologie automatische procedures ontwikkeld om overeenkomstige punten tussen foto’s te vinden. Een eerste stap bestond er in om ‘interessante’ punten te gaan detecteren.
Feature gebaseerde technieken Sinds enkele jaren werden reeds verschillende soorten punt-detectie technieken ontwikkeld. Alle technieken zijn zoals kan verwacht worden translatie invariant. Dit betekent dat een XYbeweging van een detail binnen de verschillende foto’s geen invloed heeft op het al dan niet matchen van de punten. Verdere ontwikkelingen zorgden voor rotatie-invariantie zoals de Harris puntdetectie [HS88], terwijl anderen schaal-invariantie in rekening brachten zoals de HarrisLaplace, Hessian-Laplace en Difference-of-Gaussian (DoG) detectie algoritmes [MS01, MS04].
2.2 Literatuur
12
SIFT Een mijlpaal in puntdetectie algoritmes kwam er echter met de publicatie van de paper rond Scale-Invariant Feature Transform (SIFT)[Low04]. Deze techniek was zowel translatie-, rotatieals schaal-invariant. Daarbij werd naast het detecteren van de punten, ook het concept ge¨ıntroduceerd van vectori¨ele beschrijvingen van punten, waardoor het vergelijken van punten herleid wordt naar het berekenen van een afstand tussen twee punten in een hoogdimensionale vectorruimte. Het algoritme zal vooral punten detecteren op plaatsen waar een groot verschil is in contrast, zoals de randen van objecten. Binnen de SIFT-methode worden de features gedetecteerd door te zoeken naar lokale minima en maxima in de DoG functie. Deze isoleren regio’s of ‘blobs’ in de foto’s waar er een groot verschil in contrast aanwezig is. Er wordt binnen het SIFT-algoritme ook een filtering gemaakt om punten te vermijden langs de rand van een lijn of op plaatsten waar er een lager contrast is. Voor het matchen van punten tussen verschillende afbeeldingen, dient enkel gebruik gemaakt te worden van de berekende descriptoren van de punten. Hiervoor wordt de Euclidische afstand tussen descriptoren berekend en wordt gezocht naar de beste match binnen de andere foto met behulp van een alternatieve vorm van het K-D boom algoritme, genaamd het Best-bin-first zoekalgoritme [BL97]. Hoewel het SIFT-algoritme een openbaring was voor het automatisch detecteren en matchen van punten, is het algoritme heel rekenintensief. Een variant van dit algoritme werd ontwikkeld om de rekentijd van het algoritme in te perken en het algoritme ook robuuster te maken ten opzichte van vervormingen, namelijk het Speeded-Up Feature Transform (SURF) algoritme [BETVG08]. SURF Net als de SIFT-techniek is het SURF-algoritme een punt-detectie methode die features detecteert door te zoeken naar zogenaamde ‘blobs’. Na het detecteren van de features, volgt de stap die een invariante beschrijving (descriptor) hiervan genereert, die dan op een later tijdstip gebruikt kan worden om de features te matchen. Het doel van het algoritme was de rekenintensiviteit die het SIFT-algoritme met zich meebracht te beperken, alsook het algoritme beter te laten omgaan met beeldtransformaties. Of dit al dan niet geslaagd is, staat nog steeds ter discussie (zie bijvoorbeeld [BSP06]). Binnen het SURF-algoritme worden de punten gedetecteerd door gebruik te maken van de FastHessian Detector. Deze detector is gebaseerd op een benadering van de Hessian matrix voor
2.2 Literatuur
13
een gegeven punt in het beeld. Voor de aanmaak van de invariante descriptor, wordt gebruik gemaakt van 2D Haar wavelet decompositie om de omringende pixels in rekening te brengen. Zoals aangegeven in [BSP06] resulteert het gebruik van SURF meestal in minder gedetecteerde punten, maar de rekentijd is veel kleiner en de verhouding tussen correcte en foutieve matches is beter bij de SURF-techniek dan wanneer het SIFT-algoritme wordt gebruikt. De kortere rekentijd is ook een van de hoofdredenen waarom SURF door zeer veel triangulatie-software die grote hoeveelheden data verwerken wordt gebruikt. Bundler Bundler is een open-source structure-from-motion framework. De techniek berekent de cameracalibratie op basis van een gegeven (ongeordende) set van foto’s en gedetecteerde en gematchte punten. Het algoritme maakt daarbij ook een 3D-reconstructie met een klein aantal punten van hetgeen in de foto’s zichtbaar is. Hiervoor maakt Bundler gebruik van een incrementele blokvereffening waarvan de optimalisatie gebaseerd is op Sparse Bundle Adjustment (SBA) [LA09]. Bundler implementeert zelf geen punt-detectie of -matching algoritmes. Er bestaan wel pakketten, zoals bijvoorbeeld het SFMTookit, die gebruik maken van het SIFT-algoritme om de initi¨ele detectie en matching uit te voeren voordat Bundler het blok vereffent. Opmerking: wanneer er bijvoorbeeld te weinig of slechte matches komen uit de berekeningen met het SIFT-algoritme (door bijvoorbeeld grote affiene transformaties tussen de beelden of slechte belichting), zullen ook de resultaten van Bundler hier een negatief effect door ondervinden. Dit resulteert in een minder accurate 3D-reconstructie van de beelden. Ook het al dan niet georefereren dient achteraf te gebeuren, aangezien Bundler geen ondersteuning biedt om grondcontrolepunten te gebruiken in de blokvereffening. PMVS2 Nadat de 3D-punten geconstrueerd werden met Bundler, kan eventueel in een volgende stap de densiteit van het hoogtemodel vergroot worden door gebruik te maken van PMVS2. Dit software pakket heeft als input de set van foto’s met hun overeenkomstige ori¨entaties. Daarna genereert het programma de 3D-reconstructie van de beelden als volgt: 1. Een initi¨ele set van punten in ieder beeld wordt gedetecteerd. 2. De punten tussen de verschillende beelden worden gematcht om een eerste set van 3Dpunten te genereren.
2.2 Literatuur
14
3. De set van punten wordt vergroot op basis van deze eerste set en de slechte matches worden eruit gefilterd. 4. Drie filters om mogelijke outliers te verwijderen worden toegepast. Het resultaat van deze stappen is een puntenwolk die een groot aantal 3D-punten bevat. De data is echter niet zo ‘glad’ als we ons inbeelden. Doordat de data beperkt is in de beelden, kunnen slechts een beperkt aantal punten gegenereerd worden. Deze punten worden veelal herleid tot vlakken. Dit gladder maken van de 3D-reconstructies heet ‘smoothing the data’.
2.2.3
Smoothing the data
Hoewel puntenwolken accuraat kunnen zijn en een werkelijke representatie zijn van hetgeen in de foto’s te zien is, blijft het toch voor de menselijke waarnemer aangenamer om de 3Dreconstructies te zien als vlakken. Een baanvak kan voorgesteld worden door 20.000 3D-punten, maar ´e´en vlak is nog steeds veel duidelijker dan die 20.000 punten. Deze vorm van abstractie wordt bereikt door de data om te vormen naar een goede benadering ervan. Er zijn verschillende technieken die de verzameling van 3D-punten benaderen door er een abstractie van te maken. Men kan bijvoorbeeld gebruik maken van het voortschrijdend gemiddelde van punten, dit binnen een set van punten die geen extrema vertonen. De abstractie van al deze punten kan dan voorgesteld worden door een vlak dat in de hoekpunten gedefinieerd wordt door het resultaat van de berekeningen van het voortschrijdend gemiddelde. Een andere techniek is het berekenen van het zogenaamde Triangulated Irregular Network model (TIN). Dit is een netwerk van niet overlappende driehoeken dat wordt geconstrueerd uit 3Dpunten, wat een vectori¨ele representatie geeft van een terrein. Er zijn verschillende varianten van deze techniek, bijvoorbeeld de Delaunay triangulatie. Een mogelijke beperking is echter dat een overhellende rots niet voorgesteld kan worden omdat de driehoeken elkaar niet mogen overlappen. De TIN-modellen zijn echter niet aangewezen om gebruikt te worden bij hele grote puntenwolken, omdat dit een overhead zal geven van berekeningen. Het hoofddoel van al deze technieken is om een voor de gebruiker betere visuele representatie te maken van een puntenwolk. Vaak zullen ze aanleiding geven tot het uitfilteren van outliers (bijvoorbeeld door het detecteren van extrema binnen een extractie van punten), maar ook correcte punten kunnen hierdoor verdwijnen (bijvoorbeeld punten op een kabel boven de grond). Er is dus nog ruimte voor verbeterde detectie van outliers.
2.3 Beschrijving van de testdata
2.3
15
Beschrijving van de testdata
Alle testdata gebruikt binnen deze scriptie werd voorzien door Orbit Geospatial Technologies. Zowel de data van de UAV als de software om de data te verwerken stond volledig ter onze beschikking.
2.3.1
Testterrein
De firma Orbit Geospatial Technologies is een offici¨ele reseller van Microdrones voor de hele Benelux. Zelf hebben ze een Microdrones MD4-200 en MD4-1000 ter beschikking. Omdat ze zelf zowel de vluchtplannings- als de verwerkingssoftware maken, voeren ze regelmatig testvluchten uit boven het eigen terrein en de omliggende bedrijfsterreinen in Lokeren. Figuur 2.5 geeft een overzicht van het terrein.
Er zijn verschillende soorten uitdagingen in de foto’s genomen boven dit terrein: hoogteverschillen tussen de gebouwen, de aanwezigheid van gras en bomen, beweging van auto’s in de straat, repetitieve patronen in de daken en op de grond, ... Dit zorgt voor een dataset van foto’s die een goede diversiteit biedt.
2.3.2
UAV
De UAV die gebruikt werd voor de testvluchten, is de Microdrones MD4-1000 (weergegeven in Figuur 2.6). Dit is een VTOL toestel dat tijdens een automatische vlucht (de piloot hoeft enkel op te stijgen tot een hoogte van 3m en te landen) een voorgeprogrammeerde vlucht uitvoert en op voorgeprogrammeerde locaties foto’s neemt. De camera is bevestigd op een APS-mount, die zowel de roll als de pitch beweging van de UAV compenseert. Dit om de camera zo goed mogelijk gericht te houden zoals deze geprogrammeerd werd. Toch moet aangegeven worden dat deze compensatie niet altijd op tijd gebeurt en dat de compensatie niet altijd toereikend is op het moment dat de foto’s worden genomen.
Voor de testvluchten wordt de UAV geprogrammeerd om een vlucht uit te voeren op een hoogte van 60 meter. Hierdoor verkrijgen we een GSD die 1 cm2 bedraagt. De overlap tussen de foto’s bedraagt 80% binnen eenzelfde strip en 60% tussen de strips onderling. Tijdens de vlucht haalt
2.3 Beschrijving van de testdata
16
de UAV een snelheid van 2 m/s en wordt een foto genomen om de 5.2 seconden. Al deze gegevens worden automatisch berekend door de vluchtplanningssoftware en dienen enkel ingeladen te worden in de UAV voordat de vlucht gestart wordt.
2.3.3
Camera
De camera’s die gebruikt worden tijdens de vluchten zijn vrij te kiezen. Er zijn wel beperkingen op gewicht (maximale payload van 1.2 kg) en de UAV moet ook de camera kunnen aansturen om foto’s te nemen (wat soms een aanpassing van de elektronica inhoudt). De foto’s die gebruikt worden binnen deze scriptie werden genomen met behulp van de Canon 550D camera. Deze camera neemt foto’s op een resolutie van 5184 x 3456, waarbij de focus manueel op oneindig gezet werd. De beelden worden door de camera in JPG-formaat opgeslagen en deze worden vervolgens bij inladen in het Orbit GIS systeem omgezet naar een eigen multiresolutie-formaat (omi).
2.3 Beschrijving van de testdata
Figuur 2.5: Ortho-foto van het testterrein in Lokeren.
Figuur 2.6: De Microdrones MD4-1000 uitgerust met Canon 550D camera.
17
VOORGESTELDE OPLOSSINGSMETHODE
18
Hoofdstuk 3
Voorgestelde oplossingsmethode Zoals reeds aangegeven in Hoofdstuk 2, kunnen fouten in hoogtemodellen ontstaan doordat verkeerde features met elkaar verbonden worden of doordat details, die werden verbonden, bewegen doorheen de verschillende foto’s. Om dit soort outliers te detecteren, kunnen we het fotomateriaal waarop de 3D-punten gebaseerd zijn opsporen in de originele foto’s. Na extractie van het beeld rond de punten wordt bepaald of het 3D-punt al dan niet als outlier zal worden beschouwd. In dit hoofdstuk zullen we in Sectie 3.1 nagaan hoe we een 3D punt moeten herprojecteren naar de foto’s, waarna we in Sectie 3.2 de effectieve extractie van beeldmateriaal bespreken. Tot slot gaan we in Sectie 3.3 nog even in op de interactie met het DEM.
3.1
Herprojectie van 3D-punten
Als eerste stap in het extraheren van het beeld moeten we bepalen wat de projectie van het 3Dpunt is op de foto’s. Deze projectie wordt bepaald door gebruik te maken van de colineariteitsvergelijking (zie Sectie 2.1.1). Voor een gegeven 3D-punt hebben we 3 co¨ordinaten (X, Y, Z). Gezien we binnen deze scriptie werken met foto’s die reeds geori¨enteerd zijn, hebben we ook voor iedere foto in het blok de overeenkomstige positie- en ori¨entatie-parameters (X0 , Y0 , Z0 , ω, ϕ, κ). We kunnen deze parameters gebruiken in vergelijkingen 2.1, 2.2 en 2.3 en kunnen zo voor ieder 3D-punt in iedere foto de corresponderende (x, y) beeldco¨ordinaten te berekenen.
De co¨ ordinaten die resulteren uit de colineariteits-vergelijking houden echter geen rekening met vervorming van de lens. Deze vervorming kan worden opgedeeld in 3 soorten, namelijk radiale vervorming, tangenti¨ele vervorming en affiene vervorming [LRKH06]. Deze vervormingen
3.1 Herprojectie van 3D-punten
19
Figuur 3.1: 2 soorten van radiale vervorming: de tonvormige vervorming (links) en kussenvormige vervorming (rechts).
dienen in rekening gebracht te worden wanneer we een goede projectie van 3D-punten naar beeldco¨ordinaten willen berekenen. Hiervoor gebruiken we de technieken zoals aangebracht in [LRKH06].
Stel dat: • K1 , ..., Kn : de vervorming parameters zoals gedefinieerd door Brown [Bro71]. • r′ : de afstand tussen het brandpunt en de projectie die resulteerde uit de colineariteitsvergelijking. ′ ) wordt dan gegeven door: De radiale vervorming (∆rrad ′ ∆rrad = K1 r′3 + K2 r′5 + K3 r′7 + ...
(3.1)
Met deze formule kunnen we de radiale correctie berekenen voor zowel de x-co¨ordinaat (∆x′rad ) ′ ) ten opzichte van de co¨ ordinaten die volgen uit de colineariteitsals de y-co¨ordinaat (∆yrad
vergelijking (x′ , y ′ ):
′ ∆rrad r′ ∆r′ = y ′ rad r′
∆x′rad = x′
(3.2)
′ ∆yrad
(3.3)
Radiale vervorming wordt opgedeeld in twee soorten vervorming: tonvormig en kussenvormig (zie Figuur 3.1). Een combinatie van beide is eveneens mogelijk.
3.2 Extractie van het beeldmateriaal
20
Een kleinere fout wordt veroorzaakt doordat de lens niet perfect uitgelijnd is. Dit wordt de tangenti¨ele distortie genoemd. De tangenti¨ele correcties (x′tan , ytan ) worden gegeven door: ∆x′tan = P1 (r′2 + 2x′2 ) + 2P2 x′ y ′
(3.4)
′ ∆ytan = P2 (r′2 + 2y ′2 ) + 2P1 x′ y ′
(3.5)
Hierbij zijn (P1 , P2 ) de tangenti¨ele vervorming parameters zoals gedefinieerd in [Bro71].
Tot slot wordt affiene vervorming niet in rekening gebracht, aangezien deze in digitale camera’s enkel plaats vindt wanneer de lichtgevoelige elementen op het CCD eerder rechthoekig zijn dan vierkant. Bij hedendaagse camera’s is deze vervorming daardoor verwaarloosbaar klein.
We kunnen de volledige projectie van een 3D-punt bepalen door het samenvoegen van de formules 3.2, 3.3, 3.4 en 3.5 voor de co¨ordinaten (x′ , y ′ ) berekend met behulp van de colineariteitsvergelijking, wat ons de volgende formules oplevert voor de beeldco¨ordinaten (xim , yim ):
3.2
xim = x′ + x′
′ ∆rrad + P1 (r′2 + 2x′2 ) + 2P2 x′ y ′ r′
(3.6)
yim = y ′ + y ′
′ ∆rrad + P2 (r′2 + 2y ′2 ) + 2P1 x′ y ′ r′
(3.7)
Extractie van het beeldmateriaal
Nu we in staat zijn pixelco¨ordinaten voor de projectie van het 3D-punt op onze foto te berekenen, kunnen we een extractie van het beeld maken rond deze pixel. Deze extractie zullen we gebruiken om het punt tussen de verschillende foto’s te vergelijken. De dimensie van de extractie uit de beelden die we zullen gebruiken bij deze beeldvergelijking werd vastgelegd op 250 x 250 pixels. In werkelijkheid kijken we dan naar een oppervlakte van ongeveer 2,5 meter op 2,5 meter. Een eerste beperking die werd ingevoerd, is dat de extractie volledig binnen het beeld gelegen moet zijn. De uiteindelijke extractie mag de begrenzing van onze foto’s niet overschrijden, zoals bijvoorbeeld punten op de rand van de foto’s.
Bij het nemen van de extractie van het beeld, moeten we rekening houden met de ori¨entatie van de camera. De camera wordt onder de UAV gemonteerd op een mount die de roll (ω) en pitch (ϕ) beweging van de UAV probeert te compenseren. Wanneer deze goed werkt, hoeven we enkel
3.3 Snijden met het DEM
21
(X,Y,Z)
Figuur 3.2: Projectie van 3D-punt op foto’s zonder κ-correctie (stippelijn) en met (rode begrenzing).
rekening te houden met het verschil in rotatie rond de Z-as of κ-rotatie. Om deze rotatie te compenseren, defini¨eren we een extractie van 250 op 250 pixels rond de projectie. De begrenzing rond het punt zullen we daarna roteren rond de projectie (x′ , y ′ ) met een hoek −κ. Het resultaat hiervan geeft ons de geroteerde extractie van de beelden en zal zo het onderlinge verschil in κ-rotatie tussen de foto’s zoveel mogelijk neutraliseren, zoals weergegeven met de rode begrenzing in Figuur 3.2.
3.3
Snijden met het DEM
Naast de initi¨ele beperking van de beeld-extracties met betrekking tot het overschrijden van de beeldrand, proberen we ook rekening te houden met het al dan niet zichtbaar zijn van een 3D-punt in de foto’s. Hiervoor maken we gebruik van het DEM. Om het DEM te bepalen, zouden we eventueel alle 3D-punten in een TIN-model kunnen verwerken. Maar gezien de beperkingen van het TIN-model, zoals bijvoorbeeld het niet-overlappen van driehoeken, hebben we in deze scriptie ervoor geopteerd om manueel een hoogtemodel van het testterrein te modelleren. De straten en gebouwen werden stereografisch gekarteerd, waarvan men het resultaat kan zien in Figuur 3.3.
3.3 Snijden met het DEM
22
Figuur 3.3: Het DEM van het testterrein gebruikt binnen deze scriptie.
We berekenen de lijn tussen het 3D-punt en de projectie op de plaat van de camera. Deze lijn geeft ons een aantal snijpunten met het DEM. Indien er ´e´en of meer snijpunten tussen het DEM en de lijn aanwezig zijn die hoger liggen dan het 3D-punt, is dit punt mogelijk niet zichtbaar in de foto waarop het geprojecteerd wordt. De extractie in de foto wordt dan ook niet gebruikt in de verwerking. Dit wordt ge¨ıllustreerd in Figuur 3.4, waar een huis de projectie van een 3D-punt op de foto belemmert. Een punt is zichtbaar in de foto als het binnen de line-of-sight valt van de foto.
3.3 Snijden met het DEM
Figuur 3.4: Line-of-sight naar een 3D-punt wordt geblokkeerd door een gebouw.
23
GENORMALISEERDE CROSS-CORRELATIE EN MUTUAL INFORMATION
24
Hoofdstuk 4
Genormaliseerde cross-correlatie en Mutual Information Nu we in staat zijn de extracties van de beelden rond het geprojecteerde punt te bepalen, is er nood aan een manier om deze verschillende beelden te vergelijken. Hiervoor bestaan verschillende soorten beeld-matching technieken. Binnen deze scriptie worden twee van deze technieken onderzocht en ge¨evalueerd: de genormaliseerde cross-correlatie co¨effici¨ent en de mutual information co¨effici¨ent. Deze technieken berusten, om de evaluatie uit te voeren, op ´e´en enkele waarde per pixel, in plaats van ´e´en waarde per kleurband. Hiervoor zetten we de beelden om naar grijswaarden voordat de evaluatie met deze algoritmes plaatsvindt. We beginnen dit hoofdstuk in Sectie 4.1 met het bespreken van het genormaliseerde crosscorrelatie algoritme. De resultaten van dit algoritme worden dan in Sectie 4.2 verder toegelicht. In Sectie 4.3 gaan we in op het Mutual Information algoritme, waarvan de resultaten in Sectie 4.4 besproken worden.
4.1
Genormaliseerde cross-correlatie (NCC)
De gebruikte cross-correlatie berekening is een genormaliseerde cross-correlatie [LRKH06]. Deze berekening vertrekt van twee beelden met hetzelfde aantal pixels en maakt gebruik van de covariantie tussen de pixelwaarden van twee beelden (σLR ) en hun respectievelijke standaard deviaties (σL , σR ).
4.2 Resultaten van het NCC-algoritme
25
De standaard deviatie (σL , σR ) van de pixelwaarden, in een beeld dat N pixels bevat, wordt gegeven door:
√ σ=
∑N
i=1 (p(i)
− µ)2
N
(4.1)
waarbij p(i) de pixelwaarde van pixel i is en µ de gemiddelde pixelwaarde over heel het beeld.
De covariantie tussen de twee beelden berekenen we met volgende formule: ∑N [(pL (i) − µL )(pR (i) − µR )] σLR = i=1 N −1
(4.2)
Hierbij staan (pL (i), pR (i)) voor de pixelwaarde van pixel i in het linkse resp. rechtse beeld en is (µL , µR ) de gemiddelde pixelwaarde van het linkse resp. rechtse beeld.
Met behulp van de formules 4.1 en 4.2 wordt de genormaliseerde cross-correlatie co¨effici¨ent gedefinieerd als: ρLR =
1 σLR . N σL σR
(4.3)
Wanneer de twee beelden die met elkaar vergeleken worden heel erg op elkaar lijken, nadert deze functie naar 1. In [LRKH06] wordt gesuggereerd dat een goed correlatie-resultaat zich tussen 0.5 en 0.7 situeert. Dit is voornamelijk toegespitst op het vergelijken van een template met een deel van een ander beeld. Voor onze toepassing beschouwen we een correlatie-resultaat ≥ 0.6 als correct. Om de beeld-extracties te vergelijken, werd in een eerste fase de werking van de ontwikkelde algoritmes getest op een manuele selectie van punten. Deze selectie bevatte naast een aantal goede 3D-punten ook een aantal 3D-punten die met opzet foutief werden ingegeven.
4.2
Resultaten van het NCC-algoritme
Om de algoritmes te testen, werden drie testcases opgesteld: een grondcontrolepunt, een correct punt op de hoek van een gebouw en een fout die ge¨ıntroduceerd werd door een verkeerd verbindingspunt te meten op een repetitief patroon. De beeld-extracties kunnen teruggevonden worden in de Appendix (A).
4.2.1
Grondcontrolepunt
Een grondcontrolepunt is een punt dat door een landmeter opgemeten werd en dat nauwkeurig is tot op ongeveer drie centimeter. We kunnen dus stellen dat het 3D-punt, dat zo werd bepaald
4.2 Resultaten van het NCC-algoritme
26
Genormaliseerde Cross−Correlatie
●
● ●
●
●
●
●
●
●
●
●
0.0
NCC
7 6 5
Extractie B
●
0.5
1.0
● ●
●
● ●
● ●
●
●
●
●
● ●
●
●
●
−0.5
4 3
−1.0
2 1 0
1
2
3
4
5
6
Extractie A
Figuur 4.1: Grafische voorstelling van de resultaten van de NCC berekeningen op beeld-extracties van een controlepunt.
zeker en vast een correct 3D-punt is. De beeld-extracties van dit punt kunnen ingekeken worden in Appendix A.1. De resultaten van het NCC-algoritme worden weergegeven in Appendix B.1.1 en op een grafiek in Figuur 4.1. In de grafiek worden de resultaten van het NCC-algoritme voor iedere combinatie van beeld-extracties weergegeven, waarbij de Z-waarde de uiteindelijke correlatie-co¨effici¨ent voorstelt. Wanneer de punten een groene kleur krijgen, wordt de beeld-extracties als gelijk beschouwd (dus groter dan 0.6). Als de correlatie-co¨effici¨ent kleiner is, zullen de punten rood gekleurd worden. De grafische voorstelling van de resultaten geeft duidelijk weer dat wanneer we alle beeldextracties onderling met elkaar vergelijken, de genormaliseerde cross-correlatie telkens een positief resultaat geeft.
4.2.2
Hoekpunt van een gebouw
Een hoekpunt van een gebouw geeft soms aanleiding tot beelden die veel verschil vertonen, doordat de grond in het ene beeld niet zichtbaar is in het andere. De grafiek in Figuur 4.2 laat zien dat er bij het evalueren van de beeld-extracties met behulp
4.2 Resultaten van het NCC-algoritme
27
Genormaliseerde Cross−Correlatie
●
●
● ● ● ●
● ●
●
●
● ●
●
●
●
●
●
8
0.5
1.0
● ●
●
●
● ● ● ● ● ● ● ● ●
● ●
●
●
●
6
0.0
NCC
7
Extractie B
●
5
−0.5
4 3
−1.0
2 1 0
1
2
3
4
5
6
7
Extractie A
Figuur 4.2: Grafische voorstelling van de resultaten van de NCC berekeningen op beeld-extracties van een hoekpunt van een gebouw.
van het NCC-algoritme een probleem opduikt. Hoewel de hoek een goed 3D-punt is, kan het NCC-algoritme niet overweg met grote verschillen in perspectief omdat het algoritme gevoelig is aan verschillen in overeenkomstige pixels tussen de 2 beelden. Dit is een gekend probleem bij gebruik van cross-correlatie, waardoor het algoritme bijvoorbeeld ook heel gevoelig is voor een verschil in rotatie tussen twee identieke beelden.
4.2.3
Fout op repetitief patroon
Als laatste testcase werd een punt ingemeten op een parking. Deze parking vertoonde een stippellijn-patroon als afbakening van parkeerplaatsen, wat voor bijvoorbeeld het SURF-algoritme verkeerde matching van features kan geven. Om de detectie van deze fouten uit te testen, hebben we manueel een verkeerde feature ingemeten en daarvan de 3D-co¨ordinaat berekend met behulp van Spatial Intersection [Kra93].
De resultaten van het NCC-algoritme op de beeld-extracties van dit punt, zoals ze te zien zijn in Figuur 4.3, geven aan dat er geen goede correlatie is tussen de beelden en het dus een
4.3 Mutual Information
28
Genormaliseerde Cross−Correlatie
● ●● ● ● ● ● ● ● ●● ● ● ● ●● ●● ● ● ● ●● ● ● ● ● ● ●● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
12 10
0.0
NCC
● ●
8
●
Extractie B
0.5
1.0
●
−0.5
6 4
−1.0
2 0 0
2
4
6
8
10
Extractie A
Figuur 4.3: Grafische voorstelling van de resultaten van de NCC berekeningen op beeld-extracties van een foutief 3D-punt.
foutief 3D-punt betreft. Ook correcte punten kunnen hier een slecht resultaat geven, doordat er een perspectief verschil wordt veroorzaakt door de auto’s die er rond staan. Zoals bij de hoek van een gebouw, zou het NCC-algoritme mogelijk goede 3D-punten op deze manier als foutief kunnen klasseren.
4.3
Mutual Information
Het is duidelijk dat het NCC-algoritme geen ´e´enduidige oplossing biedt. Het algoritme is ook te strikt en zeer onderhevig aan translaties of rotaties van de beelden. Een algoritme dat robuuster is ten opzichte van deze veranderingen in beelden, werd voor het eerst ge¨ıntroduceerd in [WVH+ 95]: Mutual Information (MI). MI is een techniek die een indicatie geeft van de gemeenschappelijke informatie in 2 beelden. De techniek maakt gebruik van de entropie van de individuele beelden en de conditionele entropie tussen de 2 beelden.
4.3 Mutual Information
29
Voordat we deze berekeningen kunnen uitvoeren, moeten we eerst de overeenkomstige pixelwaarden uitzetten in een matrix. Hiervoor gaat men als volgt te werk: • Een matrix met 256 rijen en 256 kolommen wordt aangemaakt (grootte van de beeldextracties). • Alle waarden van de matrix worden op nul gezet. • Iedere pixel in het linker en het rechter beeld wordt overlopen: de pixelwaarde uit het linker beeld geeft ons de kolom-positie, de pixelwaarde uit het rechter beeld geeft ons de rij-positie. • Telkens als we op een (x,y)-positie komen, wordt de variabele op die positie met 1 verhoogd. Dit geeft een snelle manier om de entropi¨en voor beide beelden te berekenen. Om het proces nog te versnellen en robuuster te maken, zullen we de matrix onderverdelen in ‘buckets’. Per beeld zullen we de mogelijke grijswaarden onderverdelen in 16 buckets.
Dit geeft de matrix, die we initieel hebben geconstrueerd, een 16x16 verdeling. Per bucket worden alle waarden opgeteld, zodat bijvoorbeeld kolom 1 in de matrix het aantal pixels aangeeft waarbij in beeld A de pixelwaarde tussen 0 en 16 ligt. Als laatste stap wordt het aantal pixels in iedere bucket gedeeld door het aantal pixels in het beeld, om zo te normaliseren. Wanneer deze stappen doorlopen zijn, kunnen we op een eenvoudige manier de MI berekenen tussen beide beelden. Stel dat: • N: het aantal buckets die gebruikt worden. • HA (i) =
∑N
k=1 bucket(i, k):
het aantal pixels in beeld A met grijswaarden die onder bucket
i vallen. • HB (j) =
∑N
k=1 bucket(k, j):
het aantal pixels in beeld B met grijswaarden die onder bucket
j vallen. • HAB (i, j) = het aantal pixels waarbij in beeld A de bucket gelijk is aan i en in beeld B de bucket gelijk is aan j. Dan kunnen we de Mutual Information co¨effici¨ent defini¨eren als: 1 ∑∑ HAB (x, y) M I(A, B) = . HAB (x, y). log N HA (x)HB (y) N
N
x=1 y=1
(4.4)
4.4 Resultaten van het MI-algoritme
30
Of dit resultaat een goede of een slechte beeldmatching voorstelt, wordt bepaald aan de hand van de individuele entropie van de beelden. De entropie van de beelden apart stelt als het ware de hoeveelheid informatie voor die in het beeld zit. De MI-co¨effici¨ent geeft aan hoeveel informatie de beelden gemeenschappelijk hebben.
Wanneer beelden een goede overeenkomst hebben, moet de MI-co¨effici¨ent groter zijn dan de gemiddelde entropie: M I(A, B) >
E(A) + E(B) 2
(4.5)
met E(A) de entropie van beeld A en E(B) de entropie van beeld B. Als hieraan voldaan is, worden de 2 beelden als gelijk beschouwd.
4.4
Resultaten van het MI-algoritme
Net zoals bij de NCC-techniek, hebben we het MI-algoritme in eerste instantie ge¨evalueerd ten opzichte van een beperkt aantal testcases. Hieronder geven we de resultaten van de drie testcases die ook bij het NCC-algoritme ge¨evalueerd werden.
4.4.1
Grondcontrolepunt
Het MI-algoritme geeft voor het controlepunt een goed resultaat. Er is namelijk zeer weinig variatie in kleur en inhoud tussen de beelden, waardoor de hoeveelheid overeenstemmende pixels groot is. Dit zorgt ervoor dat alle resultaten van de controle met het MI-algoritme positief zijn, zoals te zien is in Figuur 4.4.
4.4.2
Hoekpunt van een gebouw
In tegenstelling tot de evaluatie met de NCC-techniek, geeft het MI-algoritme ook bij de beeldextracties voor de hoek van het gebouw een positief resultaat. Hoewel de beelden enige variatie vertonen en daardoor bij het NCC-algoritme een slecht resultaat geven, is het verschil voor het MI-algoritme niet groot. Het MI-algoritme beschouwt dan ook alle vergelijkingen tussen de beelden onderling als identiek. We moeten er wel voor zorgen dat het MI-algoritme niet t´e robuust wordt. Het algoritme gaat namelijk geen rekening houden met de overeenkomst van de pixels op vlak van locatie, maar
4.4 Resultaten van het MI-algoritme
31
Mutual Information
● ● ● ● ●
●
0.8
●
● ● ●
● ●
● ● ●
● ●
● ●
●
0.6
●
MI
7 0.4
6 5
Extractie B
1.0
● ●
●
●
●
●
●
0.2
4 3
0.0
2 1 0
1
2
3
4
5
6
Extractie A
Figuur 4.4: Grafische voorstelling van de resultaten van de MI-berekeningen op beeld-extracties van een controlepunt.
enkel met het aantal pixels met een bepaalde waarde. Dit is een mogelijk probleem om bij repetitieve patronen toch de foute punten te gaan herkennen.
4.4.3
Fout op repetitief patroon
Hoewel de extracties genomen zijn voor een verkeerd punt, worden toch een aantal beelden als gelijk aanvaard. Een voorbeeld hiervan wordt weergegeven in Figuur 4.6. We kunnen zien dat deze twee beelden geen identieke beelden zijn, maar omdat de verdeling van de pixelwaarden vrijwel gelijk is (zeker als deze omgevormd worden tot grijswaarden), wordt dit door het MIalgoritme toch als correct gezien. De resultaten voor alle combinaties van beelden, geven in 19% van de gevallen een positief resultaat, zoals weergegeven in Figuur 4.7.
4.4 Resultaten van het MI-algoritme
32
Mutual Information
●
8 7
0.4
6
Extractie B
1.0 0.8
● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ●● ● ● ● ● ●
MI
0.6
●
●
●
5
0.2
4 3
0.0
2 1 0
1
2
3
4
5
6
7
Extractie A
Figuur 4.5: Grafische voorstelling van de resultaten van de MI berekeningen op beeld-extracties van een hoekpunt van een gebouw.
Voorlopige conclusies Uit de resultaten tot op dit punt, kunnen we afleiden dat het MI-algoritme een betere evaluatiefunctie zal bieden dan de NCC-techniek. Het NCC-algoritme is zeer onderhevig aan affiene veranderingen en rotaties in de beelden.
Toch zijn er situaties waarbij het MI-algoritme er niet in zal slagen om 2 verschillende beelden
Figuur 4.6: Voorbeeld van vals-positief resultaat voor Mutual Information.
4.4 Resultaten van het MI-algoritme
33
Mutual Information
●
1.0
●●
0.4
MI
0.6
●
● ● ● ● ● ● ●● ● ● ●● ● ● ● ● ● ●● ● ●● ● ● ●●●● ● ● ● ● ●● ● ●● ● ●●● ● ● ●● ● ● ● ●● ●● ●● ● ● ●
●
8
●
6
0.2
●●
12 10
Extractie B
0.8
●
4
0.0
2 0 0
2
4
6
8
10
Extractie A
Figuur 4.7: Grafische voorstelling van de resultaten van de MI berekeningen op beeld-extracties van een foutief 3D-punt.
te detecteren, zoals blijkt uit het voorbeeld in Figuur 4.6. Het probleem bij het MI-algoritme, is dat er geen rekening gehouden wordt met de spatiale inhoud van de beelden. Men zou als het ware dezelfde pixels in een tegenovergestelde volgorde kunnen plaatsen of willekeurig door elkaar, toch zou het MI-algoritme de beelden nog steeds als overeenstemmend bestempelen.
Om deze problemen op te lossen, gaan we op zoek naar een algoritme dat het robuuste karakter van het MI-algoritme combineert met de spatiale inhoud van de beelden. Een mogelijke oplossing hiervoor werd gevonden met behulp van de SURF-detectie en matching.
CORRELATIE OP BASIS VAN SURF
34
Hoofdstuk 5
Correlatie op basis van SURF In dit hoofdstuk bespreken we de ontwikkeling van een nieuw correlatie algoritme. In Sectie 5.1 lichten we eerst toe waarom geopteerd werd voor het SURF-algoritme. Sectie 5.2 legt uit hoe het SURF-algoritme gebruikt kan worden om de correlatie tussen 2 beelden te bepalen. Ten slotte worden ook voor dit correlatie-algoritme de resultaten weergegeven in Sectie 5.3.
5.1
Waarom SURF?
Het SURF-algoritme werd ontwikkeld om zoveel mogelijk onafhankelijkheid te bekomen ten opzichte van translatie, rotatie en affiene transformaties in de beelden. Het is een algoritme dat, op een robuuste manier, herkenning en matching van features geeft. Het algoritme zou ons een robuuste beeldvergelijking kunnen opleveren, indien we een correlatieberekening hierop zouden baseren.
Ten opzichte van het NCC-algoritme heeft het SURF-algoritme het voordeel dat de matching van de features binnen de beelden invariant is op gebied van rotaties. Ook de affiene vervorming van features zal geen aanleiding geven tot een foute interpretatie van de beelden. Het gebruik van SURF-punten heeft veel gemeenschappelijk met het MI-algoritme, gezien het SURF-algoritme werd ontwikkeld om schaal-, rotatie- en affien-invariant te zijn. We moeten proberen om niet alleen de robuustheid van het MI-algoritme te evenaren, maar ook een manier vinden om de locatie binnen de beelden van de overeenkomstige punten in rekening te brengen. We kunnen dit bereiken door het beeld op te delen in vier kwadranten en de evaluatie van de beelden afhankelijk te maken van de locatie van de overeenkomstige punten in deze kwadranten.
5.2 Werking van het algoritme
5.2
35
Werking van het algoritme
5.2.1
SURF-matching
Een eerste stap binnen het algoritme, is het zoeken naar overeenkomstige features nadat de extracties van de beelden gemaakt zijn. Hiervoor moet bij iedere combinatie van twee beelden een SURF-detectie en -matching procedure worden uitgevoerd. Bij het uitvoeren van het SURF-algoritme, zijn een aantal parameters nodig: • threshold : de minimum-grens voor het detecteren van een lokaal maximum in de beelden. • match-afstand : stelt de maximum-grens in voor de euclidische afstand tussen 2 SURFdescriptoren. • onderscheidingsgrens: heeft als functie de “unieke” punten te identificeren. De afstand naar het best overeenstemmende punt moet zich onderscheiden met deze factor tot de afstand naar het tweede beste punt. In het begin van de ontwikkeling van dit algoritme, werd het algoritme uitgetest met een variabele threshold-parameter. Er werd ge¨ıtereerd tussen de waarden 0.001 en 0.009, waarbij telkens een matching gebeurde op de gedetecteerde punten. Wanneer deze parameter te groot wordt, zijn er minder punten die aan de vereisten voldoen en worden minder features gedetecteerd. Aangezien we hier met vrij kleine beelden werken (250 op 250 pixels), resulteerde dit geregeld in te weinig features om een goede matching te vinden. Om alsnog een zo breed mogelijk spectrum aan punten te vinden, werd de parameter op 0.001 ingesteld.
De beperkte beeldgrootte heeft niet alleen een grote invloed op de detectie, ook bij de matching moeten we onze parameters hiernaar vormen. Omdat we in de beelden een klein gebied bekijken van maximaal 2,5 meter op 2,5 meter, zijn er meestal weinig verschillende soorten details te zien in de beelden. Daarom werd de onderscheidingsgrens verlaagd van 0.7, zoals voorgesteld in de originele paper [BETVG08], naar 0.5 voor onze matching. Ook de match-afstand kan voor onze doelstellingen zeer klein genomen worden. Binnen het gebruikte SURF-algoritme wordt deze afstand initieel op 0.15 gezet, en stapsgewijs met 0.01 vergroot tot maximaal 0.25. Indien er op dat moment nog niet voldoende matches gevonden worden, stopt het algoritme en wordt aangegeven dat een slecht punt gedetecteerd werd. Het
5.2 Werking van het algoritme
36
Figuur 5.1: Resultaat van het SURF-algoritme op twee beeld-extracties.
resultaat van deze matching zijn de punten die met een rood kruis aangeduid werden in Figuur 5.1.
5.2.2
Indeling in kwadranten en evaluatie
Zoals voorheen aangegeven, wensen we een robuuste vergelijking te maken tussen beide beelden op basis van de gematchte punten. We zullen dit doen door de extracties op te delen in vier kwadranten, vergelijkbaar met het MI-algoritme dat de histogram-waarden opdeelde in buckets.
De eerste manier van vergelijken tussen de beelden die getest werd binnen deze scriptie, is een methode die berust op het verschil in aantal punten per kwadrant, ongeacht de locatie van deze punten binnen de kwadranten. Om die correlatie te berekenen, stellen we dat: • Ai : het aantal punten in kwadrant i van beeld-extractie A. • M : het totaal aantal matches in de beelden. • K : het aantal onderverdelingen van de beelden, in ons geval vier. De correlatie-co¨effici¨ent wordt vervolgens gegeven door: SU RF (A, B) = 1 −
K ∑ Ai − Bi i=1
M
(5.1)
Om te kunnen evalueren of de correlatie duidt op een goed of slecht punt, is een minimale grens nodig. In deze eerste fase werd deze grens experimenteel op 0.9 vastgelegd. Dit betekende dat er maximaal 10% van de overeenkomstige features een verschillend kwadrant mochten vertonen.
5.2 Werking van het algoritme
37
Na een initi¨ele evaluatie van het algoritme, werd beslist om ook de locatie binnen het kwadrant in rekening te brengen. Zoals in Hoofdstuk 3 werd aangegeven, is vooral de κ-rotatie van invloed op de verticale beelden. Deze wordt in beperkte mate gecompenseerd bij het extraheren van de beelden, maar toch kan dit nog grote invloed hebben op de SURF-correlatie. Een punt dat dicht bij de begrenzing van de kwadranten ligt, kan bij een kleine rotatie rond de Z-as al snel wisselen van kwadrant. De vraag werd dan ook gesteld of dit soort punten dezelfde invloed mogen hebben als punten die centraal in de kwadranten liggen op de uiteindelijke correlatie.
Om de locatie van de punten in het kwadrant in rekening te brengen, kunnen we verschillende werkwijzen volgen. De enige vereiste is dat punten die in het midden van het kwadrant liggen een grotere factor hebben dan punten die aan de rand van het kwadrant liggen. Hiervoor kunnen we een 2-dimensionale Gauss verdeling gebruiken.
Stel dat: • A : de amplitude. • x0 , y0 : het centrum van het kwadrant. • σx , σy : de standaarddeviatie of spreiding in x resp. y richting. • x, y : de locatie van de pixels binnen het kwadrant. Dan kan het resultaat van de 2-dimensionale Gauss verdeling berekend worden door: ) ( (y−y0 )2 (x−x0 )2 − + 2 2 2σ 2σ
G(x, y) = Ae
x
y
(5.2)
Gezien we werken met een correlatie-co¨effici¨ent tussen 0 en 1, hoeven we geen amplitude toe te passen en stellen we deze gelijk aan 1. De standaarddeviatie kunnen we in principe berekenen aan de hand van de beschikbare data. Om een goede spreiding te bekomen stellen we zowel σx als σy gelijk aan de helft van de breedte van de kwadranten.
Stel: • (xA , yA ) : de positie van het overeenkomstige SURF-punt in beeld-extractie A. • (xA0 , yA0 ) : het centrum van het kwadrant waarin het punt ligt in beeld-extractie A.
5.3 Resultaten van het SURF-correlatie algoritme
38
• σx , σy : de standaarddeviaties, hier gelijk gesteld aan de breedte (resp. hoogte) van de beeld-extractie gedeeld door vier. Dan kunnen we de bijdrage per overeenkomstig SURF-punt defini¨eren als : 0 als kwadrant in beeld A = kwadrant in beeld B ( ) P (A, i) = 2 2 (xA −xA0 ) (y −y ) − + A 2σ2A0 2 2σx y e als de kwadranten verschillen
(5.3)
De SURF-correlatie over de N overeenkomstige punten tussen de 2 beeld-extracties A en B wordt dan gegeven door: SU RF (A, B) = 1 −
N 1 ∑ [P (A, i) + P (B, i)] N
(5.4)
i=1
Tot slot hebben we nog nood aan een begrenzing van de correlatie om aan te geven of een punt al dan niet correct is. De grens of een punt correct is, werd experimenteel vastgelegd op 0.8, wat uit de initi¨ele testen een goede begrenzing bleek te zijn.
5.3
Resultaten van het SURF-correlatie algoritme
Net als bij de twee voorgaande algoritmes, zullen we ook dit algoritme gebruiken om de dries soorten punten te evalueren zoals we in het voorgaande hoofdstuk hebben gedaan.
5.3.1
Grondcontrolepunt
Ook bij dit algoritme geeft het resultaat net zoals bij de twee andere aan dat het hier een correct punt betreft. Er is zeer weinig variatie na de verdeling van het beeld tussen de kwadranten. Als er al een verschil in kwadranten is, dan zijn de punten heel dicht bij de grens van de kwadranten gelegen. De 2D Gauss verdeling zal er echter voor zorgen dat de invloed van deze punten beperkt is. De resultaten van het algoritme zijn weergegeven in Figuur 5.2. Een voorbeeld van een beeldpaar was reeds te vinden in Figuur 5.1.
Binnen de extracties van het hoekpunt zijn er merkelijk minder SURF-overeenkomsten gevonden dan in het voorbeeld met het grondcontrolepunt. Er is natuurlijk ook hier de factor van het grotere verschil tussen de beelden, zoals je kan zien in Figuur 5.3. Ook op de lager gelegen vlakken is weinig detail te vinden en kan het SURF-algoritme weinig ‘blobs’ detecteren, waardoor het SURF-algoritme weinig resultaten geeft.
5.3 Resultaten van het SURF-correlatie algoritme
39
SURF−Correlatie ●
●
●
●
●
● ●
● ●
● ●
● ●
●
●
5
Extractie B
0.6
7 6
0.4
SURF
0.8
1.0
●
●
●
●
●
● ●
●
● ●
● ●
●
0.2
4 3
0.0
2 1 0
1
2
3
4
5
6
Extractie A
Figuur 5.2: Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeldextracties van een controlepunt.
5.3.2
Hoekpunt van een gebouw
Ongeacht het geringe aantal matches kunnen we uit de resultaten afleiden dat het SURFalgoritme, ook in dit geval, de meerderheid van de beeld-extracties als overeenstemmend bestempelt. Dit is ge¨ıllustreerd in Figuur 5.4, waar we kunnen zien dat 70% van de vergelijkingen correct zijn. Dit geeft een iets beter resultaat dan NCC, maar presteert minder goed dan het MI-algoritme.
Figuur 5.3: Resultaat van het SURF-algoritme op 2 beeld-extracties van een hoek.
5.3 Resultaten van het SURF-correlatie algoritme
40
SURF−Correlatie ●
● ●
●
●
●
●
0.6
●
8
●
7 6
●
Extractie B
● ●
0.4
SURF
● ●
●
● ●
●
0.8
1.0
● ●
●
●
● ●
●
●
●
●
● ●
●
●
●
●
5
●
4
0.2
●
3
0.0
2 1 0
1
2
3
4
5
6
7
Extractie A
Figuur 5.4: Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeldextracties van een hoekpunt van een gebouw.
5.3.3
Fout op repetitief patroon
Wanneer we de beeld-extracties van het foutieve 3D-punt vergelijken met behulp van het SURFalgoritme, worden de verschillen snel duidelijk. Een voorbeeld van de SURF-matching op twee dergelijke beelden kan men terugvinden in Figuur 5.5. Ook de resultaten van alle combinaties van de beelden geeft een gelijkaardig resultaat. Slechts 30% van de extracties wordt als correct beschouwd. Dit is niet zo eenduidig als de NCCberekeningen, maar presteert op zich veel beter dan het MI-algoritme voor dit soort beelden. Alle resultaten voor dit punt worden weergegeven in Figuur 5.6.
Voorlopige conclusies Een eerste conclusie die we kunnen trekken uit de individuele testen, is dat het SURF-algoritme robuuster is ten opzichte van verschil in beelden dan het MI-algoritme. Toch worden de eigen-
5.3 Resultaten van het SURF-correlatie algoritme
41
Figuur 5.5: Resultaat van het SURF-algoritme op 2 beeld-extracties van een foutief 3D-punt.
schappen betreffende de locatie van de punten goed in rekening gebracht om fouten, zoals die voorkwamen bij het MI-algoritme, te voorkomen. Een tweede observatie is dat het SURF-algoritme beduidend meer rekentijd vergt dan de andere algoritmes. Hier kunnen we de vraag stellen of dit algoritme dan wel performant genoeg is om te kunnen omgaan met grote puntenwolken. Er zijn nog enkele optimalisaties mogelijk, zoals multithreading bij de berekeningen of cloudberekeningen voor het algoritme. Een mogelijke optimalisatie betreft het op voorhand berekenen van de SURF-punten in de beelden. Zo hoeft enkel de matching te worden uitgevoerd bij het berekenen van de correlatie van twee beelden.
5.3 Resultaten van het SURF-correlatie algoritme
42
SURF−Correlatie
● ● ●
0.6
12 ●
10
●
0.4
SURF
●
●
8
● ●
6
●
0.2
●
4
●
2
●
0.0
●
0
Extractie B
0.8
1.0
●● ●● ● ● ● ● ● ● ● ● ●● ●● ● ● ● ●●● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ●● ● ● ● ●
0 2
4
6
8
10
Extractie A
Figuur 5.6: Grafische voorstelling van de resultaten van de SURF-correlatie berekeningen op beeldextracties van een foutief 3D-punt.
RESULTATEN
43
Hoofdstuk 6
Resultaten In dit hoofdstuk zullen we de resultaten van de verschillende testen bespreken die we hebben uitgevoerd. Sectie 6.1 geeft een kort overzicht van de testen die reeds aangehaald werden in voorgaande hoofdstukken. In Sectie 6.2 bespreken we een grotere testcase, wat ons brengt tot de conclusies in verband met de algoritmes in Sectie 6.3.
6.1
Individuele testcases
De drie testcases die we in de vorige hoofdstukken ge¨ıllustreerd hebben, gaven ons al een eerste inzicht in de werking van de verschillende algoritmes. Een kort overzicht van de performantie van de verschillende algoritmes kan teruggevonden worden in Tabel 6.1, waarin de percentages aangeven of het 3D-punt al dan niet correct is. Uit deze eerste resultaten blijkt dat het NCCalgoritme enkel een goed resultaat geeft als de beelden een hoge graad van gelijkheid hebben. Enige vorm van rotatie of verschil tussen de beelden door hoogteverschillen in het 3D-model geef een negatief resultaat. Het algoritme is dus te beperkend om alle mogelijke soorten 3D-punten te controleren. NCC
MI
SURF-correlatie
Grondcontrolepunt
100%
100%
100%
hoek van gebouw
41%
100%
70%
fout punt
16%
60%
30%
Tabel 6.1: Overzicht van de resultaten voor de individuele testen met % kans dat het om een goed 3D-punt gaat.
6.2 Globale testcase: Voshol
44
Het MI-algoritme daarentegen kan veel beter overweg met verschillen tussen de beelden en zal ook minder invloed ondervinden van een mogelijk rotatie-verschil tussen de beelden. Maar misschien is het algoritme wel t´e robuust, zoals we konden vaststellen in het voorbeeld in sectie 4.4.3. Het SURF-correlatie algoritme biedt een alternatief dat volgens de eerste testen een goede vergelijking maakt tussen de beelden. Zowel het goede punt op de hoek van het gebouw als het foute 3D-punt werden correct ingeschat.
6.2
Globale testcase: Voshol
Aan de hand van de tabellen in Appendix B, kunnen we vaststellen dat per 3D-punt een groot aantal vergelijkingen kan gemaakt worden tussen de beeld-extracites. Voor een punt dat bijvoorbeeld in 8 foto’s zichtbaar is, moeten 36 correlaties berekenend worden. De berekening van het SURF-correlatie algoritme in zijn huidige implementatie binnen het framework van Orbit GIS vergt hiervoor aanzienlijk veel rekentijd. Daarom hebben we ervoor geopteerd om, ter verificatie van de voorgestelde algoritmes in deze scriptie, een ruime subset uit de puntenwolk te testen die gegenereerd werd binnen de IPI onderzoeksgroep met een aangepaste versie van Bundler. De subset situeert zich rond de outliers die reeds in Figuur 2.2 werden weergegeven. Alvorens de testen uit te voeren, werden de punten getoetst ten opzichte van het DEM dat reeds beschikbaar was voor dit gebied. In het DEM werden de gebouwen, de baan en de beek opgemeten, maar niet de lantarenpalen, verkeersborden of objecten op privaat terrein. Ieder punt werd getest ten opzichte van dit DEM. Als de punten in de hoogte meer dan een halve meter afwijken ten opzichte van het beschikbaar DEM, werden ze als outlier geclassificeerd. In Figuur 6.1 hebben we de potenti¨ele outliers aangeduid met een rode kleur, terwijl de goede punten aangeduid werden met een groene kleur. We kunnen de potenti¨ele outliers onderverdelen in drie categori¨en, zoals aangeduid in Figuur 6.1: • Type A: objecten die niet opgenomen werden in het hoogtemodel (zoals de lantaarnpaal en verkeersbord linksonder in de figuur en de omheining en tonnen rechtsonder). • Type B: potentieel verkeerde punten in het gras- en wateroppervlak, maar dit kan mogelijks duiden op elementen zoals struiken of hoog gras. • Type C: de outliers die we ook konden waarnemen in Figuur 2.2.
6.2 Globale testcase: Voshol
45
Figuur 6.1: Foute 3D-punten in puntenwolk volgens bestaande DEM.
Gezien het testen van al deze punten een lange rekentijd vergt (tot enkele minuten per correlatie) en er in de subset 13400 punten zitten, hebben we ervoor geopteerd een selectie te nemen uit deze punten. Alle punten die volgens het DEM outliers zijn, ook de 3D-punten die ontstaan uit objecten die niet in het hoogtemodel zitten, zullen we testen. Daarnaast zullen we ook een 100-tal willekeurige punten kiezen die correct zijn volgens het DEM, om de algoritmes verder te kunnen toetsen.
6.2.1
Classificatie van de 3D-punten
Om de punten te beoordelen, hebben we een nieuwe evaluatie ingevoerd. In plaats van iedere correlatie tussen de verschillende combinaties van beelden in rekening te brengen, proberen we
6.2 Globale testcase: Voshol
46
een aantal opeenvolgende correlaties te vinden. Als we bijvoorbeeld een goede relatie vinden tussen extracties nul en ´e´en, gevolgd door een goede correlatie tussen extracties ´e´en en twee, dan kunnen we stellen dat (0,1,2) een reeks is van opeenvolgende goede correlaties. Wanneer we dan een reeks goede correlaties vinden waarvan het aantal groter of gelijk is aan de helft van het aantal beeld-extracties, classificeren we het 3D-punt als een correct punt. Voor het SURF-algoritme hebben we ook nog een extra optimalisatie ingevoerd. Alvorens het SURF-correlatie algoritme wordt gebruikt op de punten, worden deze gecontroleerd met het NCC-algoritme, wat sneller is. Doordat het NCC-algoritme het meest restrictieve is van de drie algoritmes, zal een positief resultaat hiervan meestal duiden op een correct punt. Wanneer het NCC-algoritme in minder dan 50% van alle combinaties van de beeld-extracties een goede correlatie heeft (≥ 0.6), gebruiken we het SURF-correlatie algoritme om dit al dan niet te bevestigen. Dit is niet dezelfde controle als bij de classificatie die bovenaan vermeld wordt maar is restrictiever.
6.2.2
Het NCC-algoritme
De resultaten van de classificatie volgens het NCC-algoritme van de 3D-punten worden weergegeven in Figuur 6.2. De punten boven het baanoppervlak die we reeds op voorhand konden identificeren (1) worden zoals verwacht allemaal als outliers geclassificeerd. Het NCC-algoritme is hiervoor voldoende restrictief. De 3D-punten die zich op objecten bevinden die niet in het hoogtemodel opgenomen werden maar toch correct kunnen zijn (2), worden ook voor een groot deel als correcte punten ge¨ıdentificeerd door het NCC-algoritme. Niet alle punten in dat deelgebied zullen correct zijn, omdat er ook struikgewas rond is, wat meestal onnauwkeurige 3D-punten oplevert. De 3D-punten die hoger gelegen zijn dan het DEM links onderaan het beeld en vermoedelijk veroorzaakt worden door een lantaarnpaal en verkeersbord (3), worden volledig als outliers beschouwd. Het is mogelijk dat deze outliers veroorzaakt worden doordat de lantaarnpaal, tussen de verschillende beelden, een affiene transformatie maakt. De kijkhoek tussen de verschillende beelden op de lantaarnpaal geeft immers een vrij groot verschil, omdat de UAV op relatief lage hoogte vliegt. Het NCC-algoritme is hiervoor dan ook niet geschikt. We vermoeden dat het MIalgoritme en SURF-correlatie algoritme hier wel enkele punten als correct zullen identificeren. Punten in het wateroppervlak en het gras (4) worden door het NCC-algoritme als foutief beschouwd. Het probleem hierbij is vermoedelijk dat het gras of het water tussen de verschillende foto’s een veranderende reflectie veroorzaakt, wat resulteert in een affiene transformatie tussen
6.2 Globale testcase: Voshol
47
Figuur 6.2: Classificatie van 3D-punten met behulp van het NCC-algoritme.
de verschillende detailbeelden. Ook sommige punten die correct zijn volgens het DEM in het baanoppervlak, worden als outlier ge¨ıdentificeerd. Voor die punten hebben we kunnen vaststellen dat twee naburige punten, waarvan de ene als outlier werd aangeduid en de andere niet, een verschil in Z vertonen van 3 tot 5 cm. Dit kan er op wijzen dat het punt dat volgens het DEM een correct 3D-punt is en door het NCC-algoritme als outlier wordt beschouwd, effectief een outlier is.
6.2 Globale testcase: Voshol
6.2.3
48
Het MI-algoritme
Figuur 6.3 geeft ons de resultaten voor het MI-algoritme. Net zoals bij het NCC-algoritme, worden de outliers boven het baanoppervlak (1) bijna allemaal correct als outliers herkend. Er is ´e´en uitzondering, maar na controle van de Z-waarde van dat punt gaat het hier vermoedelijk toch om een outlier. Hier maakt het MI-algoritme dus een verkeerde inschatting. Het MI-algoritme geeft voor alle punten rechtsonder (2) in de figuur een positief resultaat. Het algoritme is voor deze punten niet restrictief genoeg, gezien die cluster van punten hoogteverschillen vertoont van ongeveer 1.5 m. Van de cluster 3D-punten rond de lantaarnpaal (3) worden toch enkele punten als correct 3Dpunt ge¨ıdentificeerd. Na controle van de Z-waarden van deze punten, bleek inderdaad dat er sommige punten gegenereerd werden die ongeveer een 50 cm hoger liggen dan het DEM en toch correct zijn. Het MI-algoritme maakt hier een betere inschatting dan het NCC-algoritme. Ook het MI-algoritme geeft een negatief resultaat voor de punten in het gras en water (4). Toch moeten we vaststellen dat, na controle van de Z-waarde van deze punten, het hier toch om goede 3D-punten zou kunnen gaan. De punten kunnen immers worden bepaald op het gras dat zich rond de beek bevindt. Het al dan niet correct zijn van deze punten is dus niet duidelijk. Voor de overige punten kunnen we vaststellen dat het MI-algoritme meer punten als correct 3Dpunt beschouwt dan het NCC-algoritme. Gezien deze punten ook binnen ons hoogtemodel als correct ge¨ıdentificeerd zijn, kunnen we besluiten dat het MI-algoritme hiervoor beter presteert dan het NCC-algoritme.
6.2.4
Het SURF-correlatie algoritme
Tot slot geeft Figuur 6.4 de resultaten weer voor de classificatie van de gebruikte set van 3Dpunten met het SURF-correlatie algoritme. In tegenstelling tot de twee voorgaande algoritmes, worden sommige van de punten boven het baanoppervlak (1) toch als correcte 3D-punten ge¨ıdentificeerd. De oorzaak hiervan is het gebrek aan detail binnen de beeld-extracties. De baan biedt immers zeer weinig variatie in contrast op die plaatsten, wat een slechte werking van het SURF-algoritme tot gevolg heeft. Dit gebrek aan detail zorgt er ook voor dat de 3D-punten op de wegbaan, waarvan we weten dat ze correct zijn, op sommige plaatsen een slecht resultaat geven bij gebruik van het SURFcorrelatie algoritme. Andere plaatsen waar veel detail te vinden is, zoals gras oppervlakken (3,4)
6.2 Globale testcase: Voshol
49
Figuur 6.3: Classificatie van 3D-punten met behulp van het MI-algoritme.
en remsporen op de baan geven dan weer goede resultaten. Ook de 3D-punten rechts onderaan het beeld (2) worden voor een groot deel als correcte punten ge¨ıdentificeerd. Een manuele controle van de Z-waarde voor deze punten, alsook die rond de lantaarnpaal (3), toonde aan dat het hier inderdaad toch om correcte 3D-punten zou kunnen gaan, gezien de afwijking van het DEM gering was.
6.2.5
Vergelijking van de 3 algoritmes
Om de resultaten nog even kort samen te vatten, maken we een vergelijking tussen de verschillende algoritmes op basis van het aantal correct ge¨ıdentificeerde punten en het aantal falsepositives of false-negatives. De resultaten hiervan worden weergegeven in Tabel 6.2. Uit deze
6.2 Globale testcase: Voshol
50
Figuur 6.4: Classificatie van 3D-punten met behulp van het SURF-correlatie algoritme.
tabel blijkt dat het NCC-algoritme zoals verwacht het meest restrictief is. Hoewel we een combinatie gemaakt hebben tussen het NCC-algoritme en de SURF-correlatie techniek, wordt toch nog in 1.6% van de gevallen outliers als correct beschouwd. We moeten ook rekening houden met de vereisten voor deze detectie van outliers. Het is misschien aangewezen om een meer restrictief algoritme te gebruiken. In sommige toepassingen is het beter om minder 3D-punten te hebben dan het risico te lopen dat er outliers gebruikt worden.
6.3 Conclusies
51
NCC
MI
SURF-correlation
False-negative
25%
15.7%
17.7%
False-positive
0%
0.3%
1.6%
Correctly detected
75%
84%
80.7%
Tabel 6.2: Overzicht van de testresultaten globale testcase.
6.3
Conclusies
Het NCC-algoritme is zeer beperkend voor punten wanneer er enige variatie tussen de beelden voorkomt. Elementen zoals gras, struiken en water zijn een probleem, alsook objecten die een groot hoogteverschil vertonen ten opzichte van hun directe omgeving.
Het MI-algoritme is een effici¨ent en robuust algoritme, dat een snelle inschatting geeft van een 3D-punt. Vooral punten die een zeer grote afwijking vertonen met de directe omgeving worden vlot gedetecteerd. Het algoritme laat in sommige gevallen echter teveel onderling verschil tussen de beelden toe, wat snel duidelijk werd uit onze initi¨ele testen.
Het SURF-correlatie algoritme is een goed alternatief, maar er moet een beperking worden gelegd op de situatie waarin dit algoritme gebruikt wordt. Wanneer beelden een slechte SURFdetectie en -matching geven, is het niet aangewezen om dit correlatie-algoritme te gebruiken. Vooral beelden waarbij zeer weinig detail of verschil in contrast te vinden is, worden dan beter enkel met het NCC-algoritme gecontroleerd.
We kunnen dus besluiten dat het aangewezen is om een combinatie te maken van het NCCalgoritme met het SURF-correlatie algoritme. Deze combinatie dient echter nog uitgebreid te worden met een extra controle op de hoeveelheid verschil in contrast over het hele beeld. Dit zal mogelijk een beter resultaat geven, en combineert de sterke punten van beide algoritmes.
TOEKOMSTIG ONDERZOEK
52
Hoofdstuk 7
Toekomstig onderzoek In dit hoofdstuk geven we een kort overzicht van mogelijke toekomstige toepassingen en alternatieven. Sectie 7.1 gaat eerst in op de combinatie tussen de verschillende algoritmes, waarna we kort een bedenking maken bij mogelijke alternatieven voor het SURF-correlatie algoritme. Vervolgens formuleren we enkele mogelijke alternatieven voor de gebruikte functie om de locatie in het beeld in rekening te brengen bij het SURF-correlatie algoritme, waarna we afsluiten met het gebruik van beeldmateriaal verkregen uit andere bronnen in Sectie 7.2.
7.1
Aanpassingen algoritmes
Combinatie van de algoritmes
Binnen deze scriptie werd de combinatie tussen het NCC-
algoritme en het SURF-correlatie algoritme voorgesteld. Er werd echter geen controle uitgevoerd op het aantal SURF-punten dat kon gedetecteerd worden en hoe vlot deze gedetecteerde punten de matching procedure doorliepen. Een eerste stap zou zich dus kunnen toespitsen op het beter analyseren van de SURF-detectie en -matching op de beelden. Ook kunnen eventueel andere combinaties gemaakt worden naargelang het soort beelden. Als er bijvoorbeeld een groot hoogteverschil gedetecteerd wordt tussen het 3D-punt dat we controleren en de omliggende punten, is het aangewezen om eerder de eerste controle uit te voeren met het MI-algoritme in plaats van het NCC-algoritme. Alternatieven voor SURF
We hebben voor deze scriptie gebruik gemaakt van het SURF-
algoritme. Zoals echter aangegeven wordt in [BSP06], resulteert het SURF-detectie algoritme algemeen in minder punten dan het SIFT-detectie algoritme. Het zou opportuun zijn om de testen uit te voeren met beide algoritmes, en de resultaten ervan te vergelijken. Het SIFT-
7.2 Aanpassingen beeldmateriaal
53
algoritme kan mogelijk beter presteren op de plaatsen waar te weinig SURF-punten worden gevonden. Er werden ook alternatieven van het SIFT-algoritme en SURF-algoritme ontwikkeld die nog een hogere graad van invariantie garanderen, wat resulteert in een hoger aantal overeenkomstige punten. Voorbeelden hiervan zijn het ASIFT-algoritme en het FAIR-SURF algoritme. Deze algoritmes kunnen een mogelijke oplossing bieden voor 3D-punten die een groot hoogteverschil hebben ten opzichte van de naburige punten. Meer geavanceerde locatie-algoritmes
In de huidige implementatie wordt een 2-dimensionale
Gauss verdeling gebruikt om de plaats van de punten binnen een kwadrant in rekening te brengen. Het is ook mogelijk de opdeling in kwadranten af te stemmen op mogelijke hoogteverschillen ten opzichte van naburige 3D-punten. Dit geeft misschien in het geval van 3D-punten op gebouwen een beter resultaat.
7.2
Aanpassingen beeldmateriaal
Voor deze scriptie hebben we gebruik gemaakt van UAV foto’s die genomen werden op een relatief lage hoogte (75 m). Er zijn echter ook UAV’s die op een grotere hoogte vliegen, zoals bijvoorbeeld het X100 model van Gatewing, met een camera die beperkter is in kwaliteit. Die beelden verschillen in zowel GSD als detectie van features in de beelden. Bij sommige toepassingen worden luchtfoto’s vanuit vliegtuigen gecombineerd met LIDARtechnieken, om naast de luchtfoto’s ook meteen de hoogtemodellen op te stellen. Deze 3Dpunten kunnen getest worden met de besproken algoritmes ten opzichte van de luchtfoto’s die op hetzelfde moment genomen werden.
CONCLUSIE
54
Hoofdstuk 8
Conclusie We zijn deze scriptie gestart met als doel een methode te ontwikkelen om outliers, binnen een hoogtemodel gecre¨eerd op basis van luchtfoto’s, te detecteren. Er is immers vanuit verschillende toepassingsgebieden nood aan hoogtemodellen met een zo groot mogelijke nauwkeurigheidsgraad.
De initi¨ele kennismaking met hoogtemodellen werd gevolgd door een onderzoek naar het ontstaan van outliers. Binnen deze outliers, werden twee grote categori¨en bepaald, namelijk outliers veroorzaakt door het verkeerd verbinden van details tussen twee foto’s en outliers die ontstaan doordat details of objecten bewegen doorheen de opeenvolgende foto’s. Hoe deze fouten kunnen ontstaan, werd besproken in de literatuurstudie, waarin we de verschillende technieken voor de creatie van hoogtemodellen hebben overlopen.
Om de outliers te kunnen identificeren, werd geopteerd om terug te keren naar het originele beeldmateriaal. Hiervoor moesten de 3D-punten ge¨ıdentificeerd worden in de foto’s en diende een extractie van het beeldmateriaal rond deze punten te worden gemaakt.
Nadat de beeld-extracties verkregen werden, was er nood aan een beeldvergelijkingstechniek. Hiervoor werden eerst twee bestaande technieken geanalyseerd: de genormaliseerde cross-correlatie en het Mutual Information algoritme. Beide technieken werden uitgetest op enkele testcases en hieruit bleek dat geen van beide technieken een algemene oplossingsmethode voorzag voor de ge¨ıllustreerde testcases.
CONCLUSIE
55
Een nieuw algoritme werd hierna voorgesteld dat gebruik maakt van het SURF-algoritme voor punt-detectie en -matching, in functie van een locatie afhankelijke evaluatie. Het resultaat is een SURF-correlatie algoritme dat minder onderhevig is aan verschillen in beeld dan het NCCalgoritme, maar toch de nodige beperkingen invoert die binnen het MI-algoritme tot fouten leidden.
Na een korte bespreking van de testresultaten op de eerste testcases, gingen we over tot een grotere test. De 3D-punten werden eerst ge¨evalueerd ten opzichte van een bestaand DEM, waarna alle potenti¨ele outliers en een aantal correcte 3D-punten getest werden met de drie verschillende algoritmes. Omdat het SURF-algoritme minder goed presteerde op vlak van rekentijd, werd deze aangevuld met het effici¨entere NCC-algoritme.
Het resultaat van de testen heeft uitgewezen dat de drie algoritmes in hun huidige vorm hun voor- en nadelen hebben en er geen ´e´enduidige oplossing bestaat voor alle situaties. Verder onderzoek naar combinaties van de drie algoritmes of gebruik van andere technieken kan hier mogelijk een oplossing bieden. Ook verdere optimalisatie van de algoritmes is aangewezen om een grotere hoeveelheid data te kunnen verwerken.
Hoewel we binnen deze scriptie geen algemene oplossing hebben gevonden voor alle soorten punten, zijn we er toch van overtuigd dat verder onderzoek naar deze techniek kan resulteren in een goede outlier detectie vertrekkend vanuit het originele fotomateriaal en dat we desondanks toch hebben aangetoond dat een combinatie van het NCC-algoritme en het SURF-correlatie algoritme zeer goede resultaten kan opleveren.
BEELD-EXTRACTIES
Bijlage A
Beeld-extracties A.1
Grondcontrolepunt
56
A.2 Hoek van gebouw
A.2
Hoek van gebouw
A.3
Fout in repetitief patroon
57
TABELLEN MET RESULTATEN
58
Bijlage B
Tabellen met resultaten B.1 B.1.1
Grondcontrolepunt NCC
Tabel B.1: De resultaten van de genormaliseerde cross-correlatie berekeningen op beeld-extracties van een controlepunt.
Extractie A
Extractie B
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.9400366879899005
1
0
2
0.8019465859772257
1
0
3
0.8776052472275977
1
0
4
0.9344920121910213
1
0
5
0.8411328286771677
1
0
6
0.8181530436776595
1
0
7
0.928902058260784
1
1
2
0.865115928006817
1
1
3
0.9104855766648781
1
1
4
0.9279404461341653
1
1
5
0.8448931968647843
1
1
6
0.8353757990134629
1
1
7
0.893756280590915
1
2
3
0.8804659563843514
1 Vervolg op volgende pagina
B.1 Grondcontrolepunt
59
Tabel B.1 – vervolg van vorige pagina Extractie A
Extractie B
2
4
0.8674449376131927
1
2
5
0.757781944647965
1
2
6
0.7765373956443725
1
2
7
0.7998548034834676
1
3
4
0.934232553830109
1
3
5
0.8238987795042728
1
3
6
0.8365930083615116
1
3
7
0.863169920425
1
4
5
0.8577280880396907
1
4
6
0.8512387573316244
1
4
7
0.9353069997247196
1
5
6
0.885052341953577
1
5
7
0.8317600542607048
1
6
7
0.8092596525837363
1
B.1.2
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
MI
Tabel B.2: De resultaten van de MI berekeningen op beeld-extracties van een controlepunt.
Extractie A
Extractie B
MI co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.9510201796996481
1
0
2
0.6163206751017157
1
0
3
0.711610988865044
1
0
4
0.9102455030600011
1
0
5
0.6542800747074984
1
0
6
0.6046917809293064
1
0
7
0.886684608191758
1
1
2
0.6907405556569102
1
1
3
0.7665047757333057
1 Vervolg op volgende pagina
B.1 Grondcontrolepunt
60
Tabel B.2 – vervolg van vorige pagina Extractie A
Extractie B
1
4
0.9022271249366192
1
1
5
0.6890391249982057
1
1
6
0.6474509057887011
1
1
7
0.8027698456943738
1
2
3
0.6946686978273192
1
2
4
0.7351058989778636
1
2
5
0.557856343375159
1
2
6
0.556139140319831
1
2
7
0.6056510331030357
1
3
4
0.858525840471726
1
3
5
0.580957709082176
1
3
6
0.5845238279066403
1
3
7
0.6842294288175973
1
4
5
0.6923086114426615
1
4
6
0.6667829519869798
1
4
7
0.9381491882789481
1
5
6
0.7096824716804085
1
5
7
0.6552249165049249
1
6
7
0.6053604238867245
1
B.1.3
MI co¨effici¨ent
0 = slechte match, 1 = correct match
SURF
Tabel B.3: De resultaten van de SURF-correlatie berekeningen op beeld-extracties van een controlepunt.
Extractie A
Extractie B
SURF-co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.9939024390243902
1
0
2
1.0
1
0
3
0.9946236559139785
1
0
4
0.9841269841269842
1 Vervolg op volgende pagina
B.2 Hoek van een gebouw
61
Tabel B.3 – vervolg van vorige pagina Extractie A
Extractie B
0
5
0.9843260188087775
1
0
6
0.9849246231155779
1
0
7
0.9959016393442623
1
1
2
0.9865771812080537
1
1
3
0.9855072463768116
1
1
4
1.0
1
1
5
1.0
1
1
6
1.0
1
1
7
0.984375
1
2
3
0.996415770609319
1
2
4
0.9904306220095693
1
2
5
0.9954128440366973
1
2
6
0.9916317991631799
1
2
7
0.9841269841269842
1
3
4
1.0
1
3
5
0.9915966386554622
1
3
6
0.9921568627450981
1
3
7
0.9878787878787879
1
4
5
1.0
1
4
6
0.9680851063829787
1
4
7
1.0
1
5
6
0.9893048128342246
1
5
7
0.9770992366412213
1
6
7
0.98989898989899
1
B.2 B.2.1
SURF-co¨effici¨ent
Hoek van een gebouw NCC
0 = slechte match, 1 = correct match
B.2 Hoek van een gebouw
62
Tabel B.4: De resultaten van de NCC berekeningen op beeld-extracties voor de hoek van een gebouw.
Extractie A
Extractie B
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.7548468448976378
1
0
2
0.5791972022307069
0
0
3
0.4040611508033449
0
0
4
0.33796807806726425
0
0
5
0.6547196991298561
1
0
6
0.6306996883674165
1
0
7
0.5932312228852737
0
0
8
0.4973437354287827
0
1
2
0.6388971708214665
1
1
3
0.3896255920234417
0
1
4
0.310833546497185
0
1
5
0.6293162199776999
1
1
6
0.653150477482361
1
1
7
0.6395194442324957
1
1
8
0.5246102456056425
0
2
3
0.5029172666509025
0
2
4
0.22667846534355615
0
2
5
0.5729348016368845
0
2
6
0.6548745523121279
1
2
7
0.6868088691979145
1
2
8
0.6275929204244954
1
3
4
0.16829451968365164
0
3
5
0.2672883186173855
0
3
6
0.5889869695697705
0
3
7
0.6323009615689262
1
3
8
0.7305439128462122
1
4
5
0.26693982988057346
0
4
6
0.3846732217656806
0
4
7
0.39002112309902237
0 Vervolg op volgende pagina
B.2 Hoek van een gebouw
63
Tabel B.4 – vervolg van vorige pagina Extractie A
Extractie B
4
8
0.3559978584054573
0
5
6
0.547847589418843
0
5
7
0.5023758764336017
0
5
8
0.41396475621051304
0
6
7
0.8767214919679123
1
6
8
0.7222388671958313
1
7
8
0.7550051673469212
1
B.2.2
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
MI
Tabel B.5: De resultaten van de MI berekeningen op beeld-extracties voor de hoek van een gebouw.
Extractie A
Extractie B
MI co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.7042398368347107
1
0
2
0.4972125613079465
1
0
3
0.5452036734744911
1
0
4
0.38988222949974344
1
0
5
0.49920081457139864
1
0
6
0.45901445727283113
1
0
7
0.454432578513443
1
0
8
0.4041097535925615
1
1
2
0.5846959361299844
1
1
3
0.5435980728812885
1
1
4
0.3549269553093501
1
1
5
0.4819374480149989
1
1
6
0.4562681601811832
1
1
7
0.4684982546099926
1
1
8
0.38514306053909786
1
2
3
0.6354928358323352
1 Vervolg op volgende pagina
B.2 Hoek van een gebouw
64
Tabel B.5 – vervolg van vorige pagina Extractie A
Extractie B
2
4
0.3247557426146205
1
2
5
0.43835598858949903
1
2
6
0.474709693584725
1
2
7
0.5056077713550644
1
2
8
0.4577499669545599
1
3
4
0.4013246770159804
1
3
5
0.5001344799382101
1
3
6
0.5649974518447783
1
3
7
0.5528539960563061
1
3
8
0.569838708523566
1
4
5
0.3600722261323412
1
4
6
0.3264492286611145
1
4
7
0.3615173260690877
1
4
8
0.33798666226944657
1
5
6
0.5045736408175756
1
5
7
0.43701468336069205
1
5
8
0.37287741826580834
1
6
7
0.7669139012553117
1
6
8
0.6065803347092702
1
7
8
0.6434759432916207
1
B.2.3
MI co¨effici¨ent
0 = slechte match, 1 = correct match
SURF
Tabel B.6: De resultaten van de SURF-correlatie berekeningen op beeld-extracties voor de hoek van een gebouw.
Extractie A
Extractie B
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
1.0
1
0
2
1.0
1 Vervolg op volgende pagina
B.2 Hoek van een gebouw
65
Tabel B.6 – vervolg van vorige pagina Extractie A
Extractie B
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
0
3
0.9230769230769231
1
0
4
0.0
0
0
5
0.0
0
0
6
0.9
1
0
7
1.0
1
0
8
0.0
0
1
2
0.95
1
1
3
0.9545454545454546
1
1
4
0.8095238095238095
1
1
5
0.85
1
1
6
0.0
0
1
7
0.85
1
1
8
0.0
0
2
3
0.8979591836734694
1
2
4
0.5
0
2
5
0.5909090909090908
0
2
6
0.8
0
2
7
0.9024390243902439
1
2
8
0.9761904761904762
1
3
4
0.6666666666666667
0
3
5
0.76
0
3
6
0.9130434782608696
1
3
7
0.9090909090909091
1
3
8
0.9090909090909091
1
4
5
0.875
1
4
6
0.7
0
4
7
0.85
1
4
8
0.85
1
5
6
0.872093023255814
1 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
66
Tabel B.6 – vervolg van vorige pagina Extractie A
Extractie B
5
7
0.8571428571428572
1
5
8
0.8571428571428572
1
6
7
1.0
1
6
8
1.0
1
7
8
1.0
1
B.3
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
Fout in een repetitief patroon
B.3.1
NCC
Tabel B.7: De resultaten van de NCC berekeningen op beeld-extracties voor een fout 3D-punt.
Extractie A
Extractie B
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
-0.27078656798586836
0
0
2
-0.26781832721717697
0
0
3
-0.07308384297307087
0
0
4
0.17272880548523636
0
0
5
0.3375967144180001
0
0
6
-0.295538579299944
0
0
7
-0.1347529578222165
0
0
8
0.03548637609787841
0
0
9
0.11446319306749854
0
0
10
0.28675902838725725
0
0
11
0.2765442287152479
0
1
2
0.8394728099688484
1
1
3
0.6360187780797449
1
1
4
0.3671729591452224
0
1
5
0.13340445091879813
0
1
6
0.5262239789423342
0 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
67
Tabel B.7 – vervolg van vorige pagina Extractie A
Extractie B
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
1
7
0.39821381776934683
0
1
8
0.26227970006125917
0
1
9
0.06713629115767865
0
1
10
-0.08053084752033304
0
1
11
-0.10759956503874459
0
2
3
0.7028094344825301
1
2
4
0.45217057355534707
0
2
5
0.18800156473994115
0
2
6
0.6038279957034577
1
2
7
0.4445727170674622
0
2
8
0.3175663181703661
0
2
9
0.10861048707473273
0
2
10
-0.04818890925325356
0
2
11
-0.11702671702096705
0
3
4
0.6817014796310936
1
3
5
0.4165789805853691
0
3
6
0.5353563703038201
0
3
7
0.5717601759761535
0
3
8
0.4399292338833638
0
3
9
0.260494629738955
0
3
10
0.10248469736905896
0
3
11
0.005286595735330424
0
4
5
0.675834316799328
1
4
6
0.3609528903919188
0
4
7
0.5028458278127393
0
4
8
0.5686169036813019
0
4
9
0.41397644622333446
0
4
10
0.28159751943459005
0
4
11
0.1916716540547164
0 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
68
Tabel B.7 – vervolg van vorige pagina Extractie A
Extractie B
5
6
0.15118603455115473
0
5
7
0.33402714453336974
0
5
8
0.4776840702535304
0
5
9
0.5557389264099575
0
5
10
0.4019640958675323
0
5
11
0.3259546011176831
0
6
7
0.7157317087038992
1
6
8
0.5170168585358649
0
6
9
0.2953453226814468
0
6
10
0.10229074205913802
0
6
11
0.04961351985885439
0
7
8
0.7181445164607243
1
7
9
0.5003071358937848
0
7
10
0.30081890184925003
0
7
11
0.21144310854852963
0
8
9
0.691261333660832
1
8
10
0.5104493655178531
0
8
11
0.4226584321224699
0
9
10
0.6861789025361115
1
9
11
0.5860724661814297
0
10
11
0.7881239135660146
1
B.3.2
NCC co¨effici¨ent
0 = slechte match, 1 = correct match
MI
Tabel B.8: De resultaten van de MI berekeningen op beeld-extracties voor een fout 3D-punt.
Extractie A
Extractie B
MI co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.25445622226032355
0
0
2
0.22772671405037012
0 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
69
Tabel B.8 – vervolg van vorige pagina Extractie A
Extractie B
MI co¨effici¨ent
0 = slechte match, 1 = correct match
0
3
0.2064240882639673
0
0
4
0.22322498598892068
0
0
5
0.3182885096302056
1
0
6
0.24055436324745863
0
0
7
0.18828411936118603
0
0
8
0.21161651021576308
0
0
9
0.23887124630372064
0
0
10
0.3178162099100905
1
0
11
0.31526308492351784
1
1
2
0.7100083986309381
1
1
3
0.4874997472066393
1
1
4
0.28548689254980186
1
1
5
0.2894727537612105
1
1
6
0.3610332593079116
1
1
7
0.2575911095123642
0
1
8
0.26759962723674496
0
1
9
0.2581031545062106
0
1
10
0.24639218635945306
0
1
11
0.24788888305446782
0
2
3
0.5612884582771465
1
2
4
0.32961574310020647
1
2
5
0.2702123521368142
1
2
6
0.46098618092155713
1
2
7
0.2770775933905964
1
2
8
0.2509816708362771
0
2
9
0.22519467754181324
0
2
10
0.21363857272909803
0
2
11
0.20421744838621847
0
3
4
0.5043308321954336
1 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
70
Tabel B.8 – vervolg van vorige pagina Extractie A
Extractie B
MI co¨effici¨ent
0 = slechte match, 1 = correct match
3
5
0.35262323684410196
1
3
6
0.39735984906483446
1
3
7
0.36383149585246344
1
3
8
0.2987547978931032
1
3
9
0.23044310075159724
0
3
10
0.2018100618635194
0
3
11
0.21037073445121476
0
4
5
0.5481699051915838
1
4
6
0.26831620086949637
0
4
7
0.3175497826422403
1
4
8
0.3916461654105817
1
4
9
0.27210393599396265
0
4
10
0.2264616236374198
0
4
11
0.24177904030693756
0
5
6
0.24860649302608206
0
5
7
0.24599338091541229
0
5
8
0.3621024771283607
1
5
9
0.40742998975275735
1
5
10
0.31628119214905603
1
5
11
0.30379360218650886
1
6
7
0.5610562800767832
1
6
8
0.40468580655836245
1
6
9
0.31611883894286363
1
6
10
0.287664153455933
1
6
11
0.2746368081042036
0
7
8
0.5387535191666968
1
7
9
0.36011025929146895
1
7
10
0.2960534203381115
1
7
11
0.2912141674226606
1 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
71
Tabel B.8 – vervolg van vorige pagina Extractie A
Extractie B
8
9
0.551438743645873
1
8
10
0.3947173506315539
1
8
11
0.3789466666824459
1
9
10
0.5789947147234431
1
9
11
0.5153007448182421
1
10
11
0.776629614120962
1
B.3.3
MI co¨effici¨ent
0 = slechte match, 1 = correct match
SURF
Tabel B.9: De resultaten van de SURF-correlatie berekeningen op beeld-extracties voor een fout 3D-punt.
Extractie A
Extractie B
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
0
1
0.0
0
0
2
0.0
0
0
3
0.6
0
0
4
0.0
0
0
5
0.0
0
0
6
0.0
0
0
7
0.0
0
0
8
0.0
0
0
9
0.0
0
0
10
0.0
0
0
11
0.0
0
1
2
1.0
1
1
3
1.0
1
1
4
0.76
0
1
5
0.8095238095238095
1
1
6
0.9047619047619048
1
1
7
0.8
0 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
72
Tabel B.9 – vervolg van vorige pagina Extractie A
Extractie B
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
1
8
0.6363636363636364
0
1
9
0.6666666666666667
0
1
10
0.7
0
1
11
0.65
0
2
3
0.9411764705882353
1
2
4
0.8181818181818181
1
2
5
0.7333333333333334
0
2
6
0.8839285714285714
1
2
7
0.7536231884057971
0
2
8
0.7441860465116279
0
2
9
0.8153846153846154
1
2
10
0.7419354838709677
0
2
11
0.6551724137931034
0
3
4
0.8656716417910448
1
3
5
0.7857142857142857
0
3
6
0.7571428571428571
0
3
7
0.8085106382978724
1
3
8
0.75
0
3
9
0.7804878048780488
0
3
10
0.72
0
3
11
0.6470588235294117
0
4
5
0.9285714285714286
1
4
6
0.7619047619047619
0
4
7
0.7272727272727273
0
4
8
0.8260869565217391
1
4
9
0.6521739130434783
0
4
10
0.65
0
4
11
0.6
0
5
6
0.74
0 Vervolg op volgende pagina
B.3 Fout in een repetitief patroon
73
Tabel B.9 – vervolg van vorige pagina Extractie A
Extractie B
SURF-correlatie co¨effici¨ent
0 = slechte match, 1 = correct match
5
7
0.7142857142857143
0
5
8
0.8823529411764706
1
5
9
0.8493150684931507
1
5
10
0.7567567567567568
0
5
11
0.7346938775510203
0
6
7
0.8805970149253731
1
6
8
0.6842105263157895
0
6
9
0.4782608695652174
0
6
10
0.5454545454545454
0
6
11
0.55
0
7
8
0.7666666666666666
0
7
9
0.5945945945945945
0
7
10
0.5714285714285714
0
7
11
0.6
0
8
9
0.9079754601226994
1
8
10
0.8764044943820225
1
8
11
0.71875
0
9
10
0.9555555555555556
1
9
11
0.8064516129032258
1
10
11
0.962962962962963
1
ORBIT GEOSPATIAL TECHNOLOGIES
74
Bijlage C
Orbit Geospatial Technologies C.1
Bedrijfsprofiel
Eurotronics is gesticht in 1972 als research and development bedrijf, met als primair doel hardware en software te ontwikkelen om de fotogrammetrische kaartproductie - die destijds nog manueel verliep - te automatiseren. De stichters hadden toen reeds meer dan 10 jaar ervaring in grootschalige kaartproductie. Een van de doelstellingen was de reductie van productiekosten door nieuwe en betere technieken te introduceren in de klassieke fotogrammetrische productie, zodat productiviteit, controle en nauwkeurigheid konden verhoogd worden terwijl kost en productietijd werden gereduceerd.
Met meer dan 35 jaar ervaring in cartografie, fotogrammetrie, landmeten en kaartproductie allerlei, ontwikkelde Eurotronics de eigen tools voor het vervaardigen van kaarten met digitale technieken sinds 1974. Zowel hardware als software werd gebouwd. Een volledig digitale kaartproductie werd reeds bereikt in 1978, een unicum voor die tijd. Door jaren research ontwikkelde Eurotronics verschillende geautomatiseerde processen voor kaartproductie en manipulatie van ruimtelijke databanken. Gespecialiseerde versies van de softwaretools werden gebruikt over de gehele wereld. Door deze evolutie werd de softwareontwikkeling steeds belangrijker, hoewel Eurotronics vandaag nog steeds kaartproducent is. Sinds 1990 kwam de derde generatie GIS software van Eurotronics beschikbaar onder de naam ’GEO-C’, later herdoopt in ’OpenGIS’. Dit systeem was een van de eerste in de wereld dat ruimtelijke informatie opslaat in een relationele databank. Het manipuleren van zeer grote bestanden werd hierdoor mogelijk. Het open formaat van een RDBMS (via de standaard SQL taal) was tegelijk een revolutie voor de GIS wereld.
C.2 De mensen
75
Sinds 1995 werd een vierde generatie GIS Technology ingeleid met de naam ’Orbit’ op basis van de all-new Java-taal. De Orbit gebaseerde oplossingen, zoals Orbit GIS, Strabo en een scala van ’EDL’modules geraakten in een stroomversnelling en Orbit werd marktleider voor de lokale overheid en public safety solutions. Sinds oktober 2010 is het bedrijf, opgericht als Eurotronics, omgedoopt tot Orbit GeoSpatial Technologies (www.orbitgis.com). (Door deze naamswijziging vindt men op offici¨ele documenten nog vaak Eurotronics NV i.p.v. Orbit GT NV).
C.2
De mensen
Orbit GeoSpatial Technologies is een onafhankelijk familiebedrijf. Op heden wordt het beheer geleid door Herman Bonne, Johan Bonne en Peter Bonne, bijgestaan door ingenieurs in software-ontwikkeling, engineering, fotogrammetrische en landmeetkundige diensten, onderzoek, ontwikkeling, en onderwijs.
Johan Bonne (CEO) leidt de fotogrammetrie en onderzoeksafdelingen. Herman Bonne (CFO) is het hoofd van de juridische, HR-en accountdienst. Peter Bonne is VP Business Development, Product en MarCom Manager.
C.3
Grondlegger Eurotronics/Orbit GT
Eurotronics is opgericht door Walter Bonne (Gent 1925-1998). Een technische opleiding leerde hem mechanisch en optisch ontwerp. Tijdens zijn eerste job maakte hij kennis met landmeten en kreeg interesse daarvoor. Hij studeerde in zijn vrije tijd voor landmeter en ging in 1954 dit beroep uitoefenen in toenmalig Belgisch Kongo. Voor Openbare Werken maakte hij daar kennis met de fotogrammetrie en begreep onmiddellijk de grote impact die deze technologie kon hebben. Eenmaal terug behaalde hij het diploma van fotogrammetrisch ingenieur aan het ITC te Delft, en stichtte hij Aero Survey (1962). Hij bleef trouwens les geven aan dat internationale instituut tot 1969. Dit bedrijf werd een van de pioniers voor fotogrammetrie, los van de overheid. In 1971 werd voor de allereerste keer een volledige orthofotobedekking van Belgi¨e gerealiseerd, een prestatie met werelduitstraling. Door de kennis op vele verschillende domeinen - mechanisch en optisch ontwerp, landmeten, fotogrammetrie - concludeerde hij dat de komst van computers de complexe productie van kaarten kon verbeteren. Hij studeerde electronica, stichtte Eurotronics,
C.4 Product- en dienstenassortiment op vier domeinen
76
en startte onderzoek in die richting. In 1978 werd een eerste volledig digitale kaartproductie gerealiseerd, een unicum voor die tijd. Alle factoren in de kaartproductie werden geautomatiseerd : data captatie of gegevensinwinning, processing, interactieve correcties en automatisch uittekenen : allemaal taken die nu vanzelfsprekend lijken.
De ontwikkeling van software nam meer en meer de bovenhand. Midden jaren ’80 werd het ’Mercator’ systeem verkocht over de gehele wereld. In de jaren ’90 kwam er hernieuwde interesse in hardware ontwikkeling hetgeen resulteerde in het analytische fotogrammetrisch instrument ’WB2000’. Dit uniek instrument combineert precisie-optiek en mechanica met electronica en GIS software, en werd in zijn geheel ontwikkeld door Walter Bonne, de laatste 20 jaar bijgestaan door zijn dochter en zoons.
C.4 C.4.1
Product- en dienstenassortiment op vier domeinen De overheid
Effici¨ent gebruik van geo-ruimtelijke technologie verbetert het resource management, de ondersteuning van besluitvorming en de communicatie van de overheid. Orbit omarmt elke afdeling: van ruimtelijke planning, milieu en onderhoud van wegen, tot verkeersmanagement, demografische analyses. Orbit GT biedt tools aangepast voor elke taak binnen de administratie. Bovendien verlaagt de productspecifieke werkwijze de drempel om toegang te krijgen tot geo-ruimtelijke kennis en data voor de gehele administratie.
Producten: het beheer van, civiele diensten, urbanisme, milieu, openbare werken, begraafplaatsen, verkeer, eGovernment, asset inventory management, webservices, ...
C.4.2
De openbare veiligheid
Elke dag zijn politieagenten, brandweerlieden en andere officieren er om ons te dienen en te beschermen. Toegang tot real-time en betrouwbare kritische geo-informatie is dan ook van cruciaal belang voor elke werknemer in de openbare veiligheid. Door middel van een snelle en gemakkelijke toegang tot beslissingsondersteunende geosystemen kunnen zij dankzij Orbit gebruik maken van geogerelateerde informatie in hun voorbereiding, planning en briefing, noodsituaties, debriefing, criminaliteits en verkeerscontrole en -analyses, verkeersmanagement, belemmering en openbare werken management, om gericht patrouilles te sturen, AVL en APL , observatie vanuit
C.4 Product- en dienstenassortiment op vier domeinen
77
de lucht, en nog veel meer.
Public Safety Solutions (politie & brandweer): decision support, rechtshandhaving, misdaadanalyse, verkeersanalyse, ongevallenanalyse, ongevallenregistratie, schetsen, verkeersbordendatabanken, waterstaat, dispatching, mapping, panoramische beelden, verkeersbelemmering, ...
C.4.3
Mapping Industry
Oplossingen: software en hardware ORBIT GeoSpatial Technologies overbrugt de kloof tussen Mobile en Airborne Mapping en voegt geo-ruimtelijke intelligentie en oplossingen toe aan de dagelijkse taak van iedereen en in elk besluitvormingsproces. Gesteund door meer dan 45 jaar ervaring in de fotogrammetrie, cartografie, spatial database management en geo-ruimtelijke processen, garandeert Orbit een effectieve en betaalbare integratie van gespecialiseerde knowhow en een uitzonderlijk flexibele software en hardware architectuur in elk bedrijfsproces.
Mapping Industry Solutions: Strabo software, UAV mapping, Asset Inventory, MoMa Services, Desktop Producten, Server Producten, Web Flex Mapping, Orbit Mobile GeoApps, Fotogrammetrie, Microdrone VTOL UAV, Mobile Mapping, Archeologie en Erfgoed, Veterinary Solutions, voor een algemeen overzicht zie www.orbitgis.com Diensten Orbit GT is naast een software en hardware ontwikkelaar in grote mate een productiebedrijf. Zo werd in 1978 een eerste volledig digitale kaartproductie gerealiseerd door Orbit GT, een unicum voor die tijd. Door de software en hardware aan dit productieproces te koppelen, kon en kan nog steeds op beide vlakken optimale resultaten worden bekomen. Automatisatie en andere GIS processsen worden gekoppeld aan productieopdrachten.
Orbit heeft reeds jaren een hoofdaandeel in de aanmaak en bijhouding van het Grootschalig ReferentieBestand Vlaanderen (GRB-AGIV). Daarnaast produceert Orbit GT reeds talrijke beheerskaarten en topografische kaarten voor private ondernemingen en overheidsopdrachten. Op basis van langdurige samenwerkingscontacten wordt het productieteam van Orbit aangesproken voor diverse karteringsopdrachten door verschillende bedrijven. De drie toepassingdomeinen waar Orbit actief is, worden zoveel als mogelijk opgenomen in productieopdrachten.
BIBLIOGRAPHY
78
Bibliography [BETVG08] H. Bay, A. Ess, T. Tuytelaars, and L. Van Gool. Speeded-up robust features (surf). Comput. Vis. Image Underst., 110(3):346–359, June 2008. [BL97]
J. S. Beis and D.G. Lowe. Shape indexing using approximate nearest-neighbour search in high-dimensional spaces. In Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition (CVPR ’97), CVPR ’97, pages 1000–. IEEE Computer Society, 1997.
[Bro71]
D.C. Brown. Close-range camera calibration. PHOTOGRAMMETRIC ENGINEERING, 37(8):855–866, 1971.
[BSP06]
J. Bauer, N. S¨ underhauf, and P. Protzel. Comparing several implementations of two recently published feature detectors. University of Pennsylvania Law Review, 154(3):477+, January 2006.
[HS88]
C. Harris and M. Stephens. A Combined Corner and Edge Detection. In Proceedings of The Fourth Alvey Vision Conference, pages 147–151, 1988.
[HZ03]
R. Hartley and A. Zisserman. Multiple View Geometry in computer vision. Cambridge University Press, 2003.
[Kra93]
K. Kraus. Photogrammetry, Fundamentals and Standard Processes, volume 1. Ferd. D. Ummlers Verlag, Bonn, 4th edition, 1993.
[LA09]
M.I. A. Lourakis and A.A. Argyros. SBA: A Software Package for Generic Sparse Bundle Adjustment. ACM Trans. Math. Software, 36(1):1–30, 2009.
[Low04]
David G. Lowe. Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vision, 60(2):91–110, November 2004.
BIBLIOGRAPHY
[LRKH06]
79
T. Luhmann, S. Robson, S. Kyle, and I. Harley. Close Range Photogrammetry: Principles, Methods and Applications. Whittles Publishing, 2006.
[MS01]
K. Mikolajczyk and C. Schmid. Indexing based on scale invariant interest points. In Proceedings of the 8th International Conference on Computer Vision, Vancouver, Canada, pages 525–531, 2001.
[MS04]
K. Mikolajczyk and C. Schmid. Scale and affine invariant interest point detectors. International Journal of Computer Vision, 60(1):63–86, 2004.
[MY09]
J.M. Morel and G. Yu. Asift: A new framework for fully affine invariant image comparison. SIAM Journal on Imaging Sciences, 2(2):438–469, 2009.
[Pfe12]
S. Pfeifle. Will photogrammetry make laser scanning obsolete? April 2012.
[PLYP12]
Y. Pang, W. Li, Y. Yuan, and J. Pan. Fully affine invariant surf for image matching. Neurocomput., 85:6–10, May 2012.
[Sna10]
N. Snavely. Bundler: Structure from motion (sfm) for unordered image collections. 2010.
[WD00]
P. Wolf and B. Dewitt. Elements of Photogrammetry with Applications in GIS. McGraw-Hill, 3rd edition, 2000.
[WVH+ 95] W.M. III Wells, P. Viola, Atsumi H., S. Nakajima, and R. Kikinis. Multi-modal volume registration by maximization of mutual information, 1995.