59
Faculteit Toegepaste Wetenschappen Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: Prof. dr. ir. H. Bruneel Algoritmen voor het vergelijken van 3D-breuklijnen en oppervlakken door Davy Hollevoet Promotor: prof. dr. ir. W. Philips Co-promotor: dr. ir. Patrick De Smet Thesisbegeleider: ir. J. De Bock Afstudeerwerk ingediend tot het behalen van de graad van licentiaat in de informatica, optie: numerieke informatica Academiejaar 2006–2007

Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Faculteit Toegepaste Wetenschappen

Vakgroep Telecommunicatie en Informatieverwerking

Voorzitter: Prof. dr. ir. H. Bruneel

Algoritmen voor het vergelijken van

3D-breuklijnen en oppervlakken

door Davy Hollevoet

Promotor: prof. dr. ir. W. Philips

Co-promotor: dr. ir. Patrick De Smet

Thesisbegeleider: ir. J. De Bock

Afstudeerwerk ingediend tot het behalen van de graad van licentiaat

in de informatica, optie: numerieke informatica

Academiejaar 2006–2007

Page 2: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Legal notice

Het beeldmateriaal gebruikt in deze thesis is eigendom van het Nationaal Instituut voorCriminalistiek en Criminologie (NICC/INCC, Vilvoordsesteenweg 100, 1120 Brussel,http://nicc.fgov.be/). Het gebruik en/of de verdere verspreiding van dit beeldmateri-aal is enkel toegelaten mits voorafgaandelijke schriftelijke toestemming van het NICC.

The image material used in this MSc thesis is the sole property of the Belgian Nation-al Institute of Forensic Science (NICC/INCC, Vilvoordsesteenweg 100, 1120 Brussels,http://nicc.fgov.be/). This image material may not be used and/or (re-)distributed with-out a written authorization obtained from this institute.

i

Page 3: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Toelating tot bruikleen

De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delenvan de scriptie te kopieren voor persoonlijk gebruik. Elk ander gebruik valt onder debeperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting debron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit dit afstudeerwerk.

Davy Hollevoet 4 juni 2007

ii

Page 4: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Dankwoord

Graag zou ik iedereen willen bedanken die heeft bijgedragen tot de verwezenlijking vandit eindwerk, in het bijzonder dank ik:

mijn promotor prof. dr. ir. W. Philips, co-promotor dr. ir. Patrick De Smet enthesisbegeleider ir. J. De Bock voor het scheppen van de mogelijkheid dit onderzoekte verrichten;

mijn ouders, zussen en vrienden voor de morele steun.

iii

Page 5: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Algoritmen voor het vergelijken van 3D-breuklijnen en oppervlakken

doorDavy Hollevoet

Afstudeerwerk ingediend tot het behalen van de graad van licentiaat in de informatica,optie: numerieke informatica

Academiejaar 2006–2007

Universiteit GentFaculteit Toegepaste Wetenschappen

Promotor: prof. dr. ir. W. PhilipsCo-promotor: dr. ir. Patrick De Smet

Samenvatting

De forensische wetenschap is zo boeiend omdat ze te leen gaat bij quasi alle algemenewetenschapstakken. In deze thesis wordt nagegaan hoe computers kunnen ingezet wordenbij een zeer specifieke taak: bepalen of twee fragmenten van een breekmes afkomstig zijnvan dezelfde breuk, gebruik makend van de topografische kenmerken van de breukopper-vlakken. De basistechniek die hiervoor ingezet zal worden, is de kruiscorrelatie. Er wordtgetoond dat een eenvoudige matchstrategie niet werkt door het benaderende karakter vande voorbewerkingen die op de data werden uitgevoerd. Op basis van deze vaststellingenworden er andere technieken voorgesteld die gebruik maken van meerdere kleine templatesin plaats van een grote template bij het kruiscorreleren. Tenslotte wordt er een uitbrei-ding voor de normalized cross-correlation voorgesteld, die een van de voorbewerkingenoverbodig maakt en betere matchresultaten oplevert.

Trefwoorden: breukoppervlak, matching, kruiscorrelatie.

iv

Page 6: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Algorithms for comparing 3D fracture lines andsurfacesDavy Hollevoet

Supervisor(s): Wilfried Philips, Patrick De Smet, Johan DeBock

Abstract— Forensic science is very interesting because it borrows tech-niques from many other branches of science. In this thesis, we have exam-ined how computers can be used for a very specific task that could be usedin forensic investigations: to determine whether or not a broken off seg-ment of a utility knife belongs to a given knife. A technique that looks fortopological similarities between fracture surfaces usingcross-correlation isproposed and evaluated.

Keywords—fracture surface, matching, cross-correlation

I. I NTRODUCTION

FORENSIC science is very interesting because it uses tech-niques from almost allgeneral sciences. Computer science

is most certainly one of them. In this thesis, the assistanceofcomputers has called in to work on a very specific task that couldbe used in forensic investigations: to determine whether ornota broken off segment of a utility knife belongs to a given knife.

Fig. 1. Schematic representation of a utility knife and the facture surfaces

Figure 1 shows a schematic representation of a broken seg-mented utility knife. The two gray areas are the subject of thisthesis: the fracture surfaces that are formed when a segmentofthe knife is broken off the rest of the blade. Figure 2 shows anexample of a scan of such a fracture surface.

Fig. 2. Example of a fracture surface

It’s reasonable to expect that if two fracture surfaces belongtogether, there will some kind of topological similarity betweenboth surfaces. A clearly visible example of that is shown in fig-ure 3. One could say that there is a large correlation betweenthetwo surfaces. This interpretation, together with the rectangularform of the scan data, suggests that the cross-correlation tech-nique could be used to test the similarity between two surfaces.

x

y

50 100 150 200 250 300

100

150

200

250

300

x

y

50 100 150 200 250 300

50

100

150

200

250

Fig. 3. Visible similarities between two surfaces

II. M ATCHING STRATEGY

A. Simple strategy

The most obvious way to use the cross-correlation technique([1],[2]) as a method to determine the similarity between scanA andB, is to use scanA as a big template and to calculate thecorrelation between the template and the image, being scanB.If there is a match betweenA andB, then the maximum corre-lation coefficient should be high. So when scanA is comparedto Bi, the correlationCk that yields the biggest correlation co-efficient, indicates thatA andBk form a pair. However, whenthis approach was tested, the distinction between scanpairs thatactually match together and pairs that do not, was not alwaysvisible. Of a testrun that delivered 9 pairs, only 4 were correctand in most cases the difference between the largest and second-largest correlation coefficient was rather small.

The explanation for this disappointing result can be found inthe preprocessing steps. To reduce the effect of mis-alignmentof the knife fragment in the scanner, a few corrections needed tobe done. Several assumptions and approximations were made tospeed up these calculations. One could now search to improvethe preprocessing steps, such that the negative impact on thecorrelation result is reduced. Instead of this, an other techniquethat can cope with these approximations will be used: analysisof these preprocessing steps showed that the negative effect onthe correlation can be reduced if smaller templates are used.

B. Multi-template strategy

When an imageB is cross-correlated with such a small tem-plateT taken from imageA, the location(dx, dy) of the maxi-mum on the correlation map implies the translation(dx, dy) ofthe template relative to imageB, such that the template is mostsimilar to the image on that coordinates. Combined with the lo-cation(tx, ty) of templateT in imageA, the translation(τx, τy)between imagesA andB can be calculated (shown on fig. 4).Since there is no guaranty that the global maximum correspondsto the correct translation parameters, a (limited) number of localmaxima must also be taken into account.

If several of these (correct and incorrect) implied translationsare gathered after cross-correlating imageB with multiple tem-

Page 7: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Fig. 4. Deduction of translationτ betweenA andB

plates, a so called “votemap” can be constructed. For every vec-tor (τxi, τyi), the pixel on coordinates(τxi, τyi) is incrementedwith the magnitude of the correlation coefficient that implied thevector. Every non-zero pixel represents a vote for the translationrelated to it. If scanA andB belong together, it is expected thata large number of the implied(τxi, τyi) are (nearly) identical,since they all imply a translation ofA relative toB and onlyone can be correct. Figure 5 shows two such votemaps. In a), aclear peak can be seen, which suggests that the two surfaces thatwere compared, form a pair. The second panel does not featurea peak, which suggests a non-match.

100200

300400

500

5

10

15

0

1

2

3

4

5

dx

a)

dy

scor

e

100200

300400

500

24

68

1012

140

1

2

3

4

5

dx

b)

dy

scor

e

Fig. 5. Votemap for match and non-match

To reduce the information contained in a votemap to a num-ber, the “maximum area” has to be found. This is the area ofgiven size (depending of the expected accuracy) in which a max-imum of votes is contained. The amount of votes in that max-imum area now represents a degree of similarity (calledκ) be-tween the two fracture surfaces that were compared. Figure 6shows the results in terms ofκi for comparison between a scanA and scansBi.

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

Fig. 6. κi for scanA compared toBi using 30 templates.BF152 clearlymatchesA

A second proposed technique uses, unlike the first one, theinformation regarding the position of templateT in scanA. IfscansA andB form a matching pair, then the positions inBwhere templates taken from scanA match best will be locatedrelatively to eachother in the exact same way as the templatesthemselves (cf. fig. 7). This leads to the idea that one couldlook for a collection of maxima found on the correlation maps,such that they form a graph that resembles the graph formed by(upperleft corners of) the templates.

Fig. 7. Fundamental idea behind the graph matching technique

Figure 8 shows an example output of this graph matchingtechnique. Since the algorithm that searches the best matchinggraph requires an exponential execution time, this approach willonly be suitable for a small number of templates.

y

FM4

500 1000 1500 2000 2500

10

20

30

40

50

60

y

M2

500 1000 1500 2000 2500

10

20

30

40

50

60

70

Fig. 8. Example output of the graph matching

III. L EVELED CROSS-CORRELATION

Finally, an extension for the normalized cross-correlation isintroduced. It uses a least-squares fitted plane instead of acon-stant plane to normalize the cross-correlation. Using thisvariantobsoletes one of the preprocessing steps and improves matchquality.

IV. CONCLUSIONS

The purpose of this thesis was to find a method to deter-mine whether or not two fracture surfaces of utility knife frag-ments form a matching pair. The proposed techniques use cross-correlation as fundamental technique. Testing shows that thealgorithms perform very good on testdata.

REFERENCES

[1] K. Briechle and U. D. Hanebeck, “Template matching usingfast normalizedcross correlation,” 2001.

[2] Lisa Gottesfeld Brown, “A survey of image registration techniques,”ACMComput. Surv., vol. 24, no. 4, pp. 325–376, 1992.

Page 8: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Inhoudsopgave

1 Inleiding 1

2 Beschrijving van de testdata 22.1 Situering en dataformaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Over overeenkomsten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Voorbewerking van de data . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3.1 Hellings- en krommingscorrectie . . . . . . . . . . . . . . . . . . . . 42.3.2 Normaalcorrectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Matchstrategie 103.1 Eenvoudige matchstrategie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.1 Beperking van het zinvol gebied . . . . . . . . . . . . . . . . . . . . . 103.1.2 Evaluatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 Effect van de voorbewerkingen . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.1 Krommings- en hellingscorrectie . . . . . . . . . . . . . . . . . . . . 123.2.2 Normaalcorrectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.3 Gevolg voor templatestrategie . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Multitemplate correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3.1 Verdere interpretatie van correlatiemaps . . . . . . . . . . . . . . . . 153.3.2 Correleren met meerdere templates . . . . . . . . . . . . . . . . . . . 183.3.3 Votemap matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3.4 Graph matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.5 Template strategieen . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Leveled cross-correlation 294.1 Normalized cross-correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Uitbreiding naar leveled cross correlation . . . . . . . . . . . . . . . . . . . 304.3 Berekenen van leveled cross-correlation . . . . . . . . . . . . . . . . . . . . . 32

4.3.1 Berekenen van een kleinste kwadraten-vlak . . . . . . . . . . . . . . 324.3.2 Berekenen van LCC . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.4 Motivatie voor het gebruik van LCC . . . . . . . . . . . . . . . . . . . . . . 34

5 Testresultaten 355.1 Testdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 Templaterooster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2.1 Normalized cross-correlation . . . . . . . . . . . . . . . . . . . . . . . 355.2.2 Leveled cross-correlation . . . . . . . . . . . . . . . . . . . . . . . . . 36

vii

Page 9: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

5.3 Random templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.4 Blinde test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6 Besluit 44

Appendices 44

A Ondersteunend bewijs 45

viii

Page 10: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Lijst van figuren

2.1 Gestileerde weergave van breekmes en breukoppervlakken . . . . . . . . . . 32.2 Classificatie van breukoppervlakken in twee types . . . . . . . . . . . . . . . 32.3 Voorbeeldscan van een breukoppervlak . . . . . . . . . . . . . . . . . . . . . 32.4 Zichtbare overeenkomst tussen twee scanfragmenten . . . . . . . . . . . . . 42.5 Breukprofielen met zichtbare overeenkomsten . . . . . . . . . . . . . . . . . 52.6 Een typische scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.7 (Niet-)lineaire shear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.8 Boven- en ondercontouren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.9 Schatting van de helling annex kromming . . . . . . . . . . . . . . . . . . . 72.10 Voor en na de hellings- en krommingscorrectie . . . . . . . . . . . . . . . . . 72.11 Ontstaan van normaalfouten bij het inscannen . . . . . . . . . . . . . . . . 82.12 Hellingsverschil bij echte scandata . . . . . . . . . . . . . . . . . . . . . . . 82.13 Benadering van de ideale normaalcorrectie . . . . . . . . . . . . . . . . . . . 82.14 Voor en na normaalcorrectie . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Beperkte overeenkomst van het oppervlak . . . . . . . . . . . . . . . . . . . 113.2 Beperking van het correlatiegebied . . . . . . . . . . . . . . . . . . . . . . . 113.3 Partiele overlap van scans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.4 Slechte correctie door een te eenvoudig model . . . . . . . . . . . . . . . . . 133.5 Slechte correctie door contourgebreken . . . . . . . . . . . . . . . . . . . . . 133.6 Extra slechte correctie door contourgebreken . . . . . . . . . . . . . . . . . 143.7 Kromming voor en na correctie . . . . . . . . . . . . . . . . . . . . . . . . . 143.8 Het parabool-registratie probleem . . . . . . . . . . . . . . . . . . . . . . . . 143.9 Effect van de benaderend normaalcorrectie . . . . . . . . . . . . . . . . . . . 153.10 Maximale correlatiecoefficient in functie van de templategrootte . . . . . . . 153.11 Afleiding van translatie τ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.12 Een duidelijk maximum in de correlatiemap . . . . . . . . . . . . . . . . . . 173.13 Een minder duidelijk maximum . . . . . . . . . . . . . . . . . . . . . . . . . 173.14 Votemap voor match en niet-match . . . . . . . . . . . . . . . . . . . . . . . 193.15 Votemap met gemaskeerde piek . . . . . . . . . . . . . . . . . . . . . . . . . 203.16 Selectie van het maximumgebied uit een votemap . . . . . . . . . . . . . . . 213.17 Gelijkenis tussen template- en matchposities . . . . . . . . . . . . . . . . . . 223.18 Het idee achter graph matching . . . . . . . . . . . . . . . . . . . . . . . . . 233.19 Voor en na geometrische consistentie-filter . . . . . . . . . . . . . . . . . . . 243.20 Templaterooster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.21 Grafische interface met match . . . . . . . . . . . . . . . . . . . . . . . . . . 273.22 Grafische interface met niet-match . . . . . . . . . . . . . . . . . . . . . . . 28

ix

Page 11: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

4.1 Het idee achter normalized cross-correlation . . . . . . . . . . . . . . . . . . 304.2 Het idee achter leveled cross-correlation . . . . . . . . . . . . . . . . . . . . 314.3 Berekening van af , bf en cf . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.1 Vergelijkend resultaat voor F148 . . . . . . . . . . . . . . . . . . . . . . . . 395.2 Vergelijkend resultaat voor F155 . . . . . . . . . . . . . . . . . . . . . . . . 395.3 Vergelijkend resultaat voor F18 . . . . . . . . . . . . . . . . . . . . . . . . . 405.4 Vergelijkend resultaat voor F154 . . . . . . . . . . . . . . . . . . . . . . . . 405.5 De twee scans voor de blinde test . . . . . . . . . . . . . . . . . . . . . . . . 415.6 Resultaat van matching mbv. een templategridstrategie. . . . . . . . . . . . 425.7 Graphmatch tussen M2 en FM4 . . . . . . . . . . . . . . . . . . . . . . . . . 425.8 Graphmatch tussen M22 en FM6 . . . . . . . . . . . . . . . . . . . . . . . . 43

x

Page 12: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Lijst van tabellen

3.1 Maximale complete-correlatiecoefficienten . . . . . . . . . . . . . . . . . . . 11

5.1 Lijst met de testbestanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2 Resultaten van een vergelijkingstest met templaterooster . . . . . . . . . . . 375.3 Vergelijking van matchscores bekomen met NCC en LCC . . . . . . . . . . 375.4 Resultaten van een vergelijkingstest met 25 random templates . . . . . . . . 38

xi

Page 13: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 1

Inleiding

Tegenwoordig is de forensische wetenschap razend populair in de media. Programma’szoals CSI: Crime Scene Investigation worden massaal bekeken en geımiteerd. Hoewel heter in de werkelijkheid helemaal anders aantoe gaat, blijft deze wetenschapstak bijzonderinteressant. Er wordt gebruik gemaakt van methodes en technieken uit allerlei algemenewetenschappen om sporen te verzamelen die als bewijsmateriaal kunnen dienen. Zoalsoveral tegenwoordig is het gebruik van computers hierbij niet meer weg te denken. In dezethesis wordt nagegaan hoe zo’n computer kan gebruikt worden bij een zeer specifieke taak:bepalen of twee fragmenten van een breekmes afkomstig zijn van hetzelfde lemmet of niet.Het kan interessant zijn om deze vraag te beantwoorden als bijvoorbeeld op de “plaatsdelict” een mesfragment teruggevonden wordt, en een persoon in verdenking in het bezitblijkt te zijn van een breekmes. Hierbij zal gebruik gemaakt worden van kenmerken van debreukoppervlakken die ontstaan als een mesfragment afbreekt van de rest van het lemmet.Het probleem wordt dan in essentie een puzzelprobleem.

In de literatuur is er aanzienlijk wat terug te vinden over puzzelproblemen. Het gaatvan puzzelen op de klassieke manier met puzzelstukken in oa. [1] en [4], over algemenepuzzelproblemen en technieken zoals in [8], [6] of [9], naar zeer specifieke toepassingenzoals bijvoorbeeld het reconstrueren van archeologische vondsten in [5].

Bij het maken van deze thesis werd in eerste instantie de literatuur die voor handen isbestudeerd en werd daarna getracht deze technieken toe te passen op het probleem van debreekmesfragmenten. Na veel proberen en falen werd een techniek uitgedacht die gebruikmaakt van de zgn. kruiscorrelatie om gelijkenissen op te sporen.

In hoofdstuk 2 wordt eerst de testdata bekeken, waarna er een paar voorbewerkingengeformuleerd worden waaraan deze data onderworpen zal worden. Daarna kan het feitelijkematchen beginnen in hoofdstuk 3, waarin er verschillende matchstrategieen beschrevenworden. Vervolgens wordt in hoofdstuk 4 een variant op de normalized cross-correlationingevoerd, met het oog op het verbeteren van de matchkwaliteit. Tenslotte wordt inhoofdstuk 5 de technieken uit de voorgaande hoofdstukken getest met een aantal scansvan verschillende breukoppervlakken.

1

Page 14: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 2

Beschrijving van de testdata

2.1 Situering en dataformaat

Op figuur 2.1 is schematisch een gebroken breekmes weergegeven. Figuuronderdeel b)toont het gebied waarvan a) een deelopname is. Bij het afbreken van een mesfragmentvan de rest van het lemmet ontstaan er twee breukoppervlakken, op de figuur weergegevenals de twee grijze gebieden. De donkergrijze stroken stellen de twee kanten voor van deinkeping die aanwezig is in het lemmet om het afbreken van het fragment te vergemakke-lijken. Bij het opmeten van het breukoppervlak in een scanner levert deze inkepingsrandonvermijdelijk ook meetwaarden, dus op elke scan zal deze rand zichtbaar zijn. Dit gege-ven zorgt meteen voor een natuurlijke classificatie van de verschillende breukoppervlakken:het verste breukoppervlak op fig. 2.1 zal bij het digitaliseren een scan opleveren van Type1 op figuur 2.2, terwijl het andere oppervlak een scan van Type 2 als resultaat heeft. Hetis duidelijk dat het trachten te matchen van twee scans van hetzelfde type niet erg zinvolis. Tijdens het maken van deze thesis werd aanzienlijk wat tijd besteed aan het zoekennaar een manier om van verschillende scans automatisch te bepalen tot welke klasse zebehoren, echter zonder betrouwbare resultaten. De classificatie werd bijgevolg telkensmanueel uitgevoerd.

Op figuur 2.3 is een voorbeeld gegeven van de data waarmee gewerkt zal worden. Hetgeproduceerde formaat van de scanner die voor het digitaliseren van de breukoppervlak-ken gebruikt werd, is een rechthoekig rooster van meetwaarden. Elke pixelwaarde is degeregistreerde diepte van het breukoppervlak, gemeten op een vaste afstand van 4 of 2µm van de buurpixels. Het dataformaat van de scanneroutput maakt een duidelijk onder-scheid tussen geldige meetwaarden en pixels waarvoor geen meting is geregistreerd, omdatbijvoorbeeld de op te meten diepte buiten het meetbereik viel.

2.2 Over overeenkomsten

Het breken van een breekmes zorgt ervoor dat er twee breukoppervlakken ontstaan. Het isredelijk om te veronderstellen (en nodig om iets zinvols te kunnen verrichten) dat de tweeontstane oppervlakken gelijkenissen zullen vertonen. Op figuur 2.4 staan twee scanfrag-menten afgebeeld, afkomstig uit scans van twee breukoppervlakken die bij dezelfde breukzijn ontstaan. De twee paar gebieden aangeduid met een rechthoek vertonen duidelijkeovereenkomsten, wat het vermoeden dat de twee oppervlakken samenhoren, ondersteunt.

2

Page 15: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 2.1: Gestileerde weergave van breekmes en breukoppervlakken

Figuur 2.2: Classificatie van breukoppervlakken in twee types

Figuur 2.5 toont een compilatie van profielen van breukoppervlakken (zijaanzicht van eenstrook meetwaarden): de curves a) en c) zijn afkomstig uit scans van twee breukopper-vlakken die bij elkaar horen. Aan de hand van curve b) (de geınverteerde versie van a))zijn de overeenkomsten tussen a) en c) nog beter zichtbaar. Men kan spreken van eengrote (negatieve) correlatie tussen de twee profielen.

Gecombineerd met de specifieke vorm van de scandata (een rechthoekige afbeelding)leidt deze interpretatie tot het idee om naar overeenkomsten te zoeken met behulp vancorrelatietechnieken. In de context van beeldverwerking wordt de zgn. kruiscorrelatievaak gebruikt om in afbeeldingen gebieden te zoeken die overeenkomen met een gegeventemplate [2]. Dit wordt oa. gebruikt bij het registeren van twee of meerdere afbeeldingen[3]. Het probleem dat bekeken wordt in deze thesis kan ook opgevat worden als een

Figuur 2.3: Voorbeeldscan van een breukoppervlak

3

Page 16: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

x

y

50 100 150 200 250 300

100

150

200

250

300

x

y

50 100 150 200 250 300

50

100

150

200

250

Figuur 2.4: Zichtbare overeenkomst tussen twee scanfragmenten

registratievraagstuk. Hoe goed kunnen twee breukoppervlakscans met elkaar geregistreerdworden en kan hieruit bepaald worden of ze afkomstig zijn van hetzelfde mes?

2.3 Voorbewerking van de data

Om een gedigitaliseerd breukoppervlak te kunnen gebruiken bij correlatieberekeningen,moet het eerst onderworpen worden aan een paar voorbewerkingen.

2.3.1 Hellings- en krommingscorrectie

Op figuur 2.6 staat nogmaals een typisch voorbeeld van de scans waarmee gewerkt zalworden. Zoals te zien op de assen is deze afbeelding niet proportioneel weergegeven. Hetvoordeel van deze voorstellingswijze is dat het probleem dat in deze sectie behandeld zalworden, extra duidelijk wordt.

4

Page 17: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 20 40 60 80 100 120 140 160 180−1

0

1

2

3

4

5

6x 10

4

x

za

c

b

Figuur 2.5: Breukprofielen met zichtbare overeenkomsten

x

y

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

50

100

150

200

250

300

350

400

Figuur 2.6: Een typische scan

Als eerste is er te zien dat de lengterichting van het ingescande breukoppervlak eenhoek vormt met de x-as. Dit wordt veroorzaakt door de onvermijdelijk onnauwkeurigeplaatsing van het mesfragment in de scanner: aangezien in dit concreet geval de afstandtussen twee meetpunten (pixels) amper 2 µm bedraagt, is een kleine afwijking al genoeg omzichtbaar te zijn op een voorstelling zoals figuur 2.6. Een tweede vaststelling is dat diezelfdelengterichting een kromming vertoont. De oorzaak hiervan is wellicht minstens tweevoudig:het lemmet van het breekmes vertoont “van nature” al een bepaalde kromming, en bij hetafbreken van het mesfragment wordt het afgebroken deel extra vervormd door de relatiefgrote kracht die er op uitgeoefend wordt.

Om van deze twee verstoringen van de data af te raken, moeten er correcties door-gevoerd worden. In de eerste plaats een rotatie rond de z-as om de helling te corrigerenen vervolgens een krommingscorrectie. Aangezien het bij de corrigerende rotatie gaat omkleine hoeken (≈ 0.5°) en een grote te verdraaien dataset, kan dit snel benaderd wordenmet een afschuiving (shear). Het bijkomende voordeel van deze aanpak is dat ineens ookde krommingscorrectie kan uitgevoerd worden door gebruik te maken van een niet-lineaire

5

Page 18: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 2.7: (Niet-)lineaire shear

0 2000 4000 6000 8000 10000

100

200

300

400

x

y

Figuur 2.8: Boven- en ondercontouren

shear. Op figuur 2.7 deel a) staat hoe de hellingscorrectie zou kunnen uitgevoerd wordenmet een lineaire afschuiving. Het is duidelijk dat na deze ingreep de kromming nog steedsaanwezig zal zijn. Op paneel b) staat het idee achter de niet-lineaire shear. Door de ko-lommen van pixels te verschuiven over een afstand die afhankelijk is van de kromming vande scan (ipv. een rechte op a)), wordt zowel de helling als de kromming ineens weggewerkt.Het mag duidelijk zijn dat deze aanpak erg benaderend is, maar aangezien de helling ende kromming relatief klein zijn, zal de fout die gemaakt wordt dat normaliter ook zijn.

Schatting van helling en kromming

Hetgeen nog nodig is om bovenstaand idee uit te kunnen voeren, is de stippellijn opfiguur 2.7 b): de helling annex kromming van de scan van het breukoppervlak. De tevinden kromme kan gemodelleerd worden als een parabool die de horizontale contourenvan het breukoppervlak volgt. Om de vormparameters van die parabool te vinden, kanhet volgende toegepast worden:

Door voor elke waarde voor x te bepalen welke de kleinste en grootste waarde voory is, zodat deze pixel een geldig meetpunt voorstelt, ontstaan de zgn. onder- enbovencontouren (fig. 2.8, resp. grijs en zwart).

Vervolgens wordt door beide contouren afzonderlijk een parabool gefit, met behulpvan een iteratief herwegende kleinste kwadraten-methode. Door meerdere keren teherwegen kan het effect van het stuk van de contouren dat overeenkomt met de snij-dende kant van het mes (rechthoek op fig. 2.8) samen met andere onregelmatighedengeelimineerd worden.

Van de twee bekomen parabolen wordt vervolgens diegene met de kleinste krommingweerhouden. De redenering hierachter is dat storingen in de contouren er meestal

6

Page 19: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000x

y

Figuur 2.9: Schatting van de helling annex kromming

x

y

a)

2000 4000 6000 8000 10000

100

200

300

400

x

y

b)

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

100

200

300

400

Figuur 2.10: Voor en na de hellings- en krommingscorrectie

voor zullen zorgen dat de gefitte parabool een grotere buiging heeft, aangezien dieafwijkingen niet op maar naast de ideale parabool zullen liggen. Bijgevolg wordt devoorkeur gegeven aan de parabool met de kleinste kromming, in de hoop dat die danafkomstig is van de (onder- of boven-) kant met het minste “contourruis”.

Het resultaat van deze stappen is te zien op figuur 2.9. De stippellijn (verschoven naarbeneden voor deze afbeelding) stelt de verkozen parabool voor. De grijze curve onder derechte lijn is de afstand tussen de bovencontour en de geschatte kromming. Op figuur2.10 staat een voorbeeld van het uiteindelijke resultaat van de voorbewerking beschrevenin deze sectie. Paneel a) toont de data zoals verkregen van de scanner en b) toont de datana hellings- en krommingscorrectie.

2.3.2 Normaalcorrectie

Een tweede datavertekening wordt ook veroorzaakt door de onvermijdelijk onnauwkeurigeplaatsing van het breekmesfragment in de scanner. Deze keer is er een afwijking in demeetrichting, zoals geıllustreerd op figuur 2.11. Het breukoppervlak, dat voor deze voor-stelling werd herleid tot plat vlak, wordt opgemeten in de richting van de pijlen. Hierbijwijkt de feitelijke positionering van het mesfragment (volle lijnen) af van de ideale plaat-sing ervan (stippellijnen). Het gevolg is dat het opgemeten vlak een normaal n zal hebbendie niet evenwijdig is aan de z-as, zijnde de opmeetrichting.

In werkelijkheid zijn de breukoppervlakken verre van vlak, maar de opgemeten data-punten vertonen wel dezelfde vertekening. Op figuur 2.12 zijn twee overeenkomstige frag-menten weergegeven, afkomstig uit twee scans die ontstaan zijn bij dezelfde breuk. Op

7

Page 20: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 2.11: Ontstaan van normaalfouten bij het inscannen

0 50 100 1500

10

20−10

−8

−6

−4

−2

0

2

4

6

8

x 104

xy

z

x

y0 500 1000 1500

0

20

40

60

80

x

y

0 500 1000 1500

0

20

40

60

80

Figuur 2.12: Hellingsverschil bij echte scandata

de rechterpanelen is te zien dat de fragmenten inderdaad overeenkomen. Het linkerdeelvan de figuur toont het verschil in helling tussen de twee breukfragmenten, veroorzaaktdoor de onnauwkeurige plaatsing. Het zal net zoals in de vorige sectie nodig zijn om dezeafwijkingen te corrigeren om tot een betere matching te kunnen komen.

Een mogelijke methode hiervoor is een rotatie uitvoeren op de data, zodanig dat denormaal op het oppervlak evenwijdig met de z-as komt te staan (fig. 2.13, deel a)). Na dezerotatie zou de bekomen verzameling datapunten moeten herbemonsterd worden om terugtot de interpixel-afstand te komen waarmee vertrokken werd. Een snellere benaderingvoor deze twee stappen is een kleinste kwadraten-vlak door de datapunten fitten en danhet verschil nemen tussen dat vlak en de scandata, zoals getoond op fig. 2.13, deel b).

Op figuur 2.14 staat hetzelfde paar fragmenten als op fig. 2.12, eenmaal voor en eenkeer na deze voorgestelde ingreep. Het is duidelijk dat er een grotere correlatie is tussendeze twee gecorrigeerde scanfragmenten.

Figuur 2.13: Benadering van de ideale normaalcorrectie

8

Page 21: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 50 100 1500

10

20−10

−8

−6

−4

−2

0

2

4

6

8

x 104

xy

z

0 50 100 1500

10

20−8

−6

−4

−2

0

2

x 104

xy

z

Figuur 2.14: Voor en na normaalcorrectie

9

Page 22: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 3

Matchstrategie

3.1 Eenvoudige matchstrategie

Nadat de voorbewerkingen uit het vorige hoofdstuk zijn uitgevoerd, kan er op zoek gegaanworden naar gelijkenissen met behulp van correlatietechnieken, zoals hierboven al voor-gesteld. Het is te verwachten dat, als twee breukoppervlakken samenhoren, er een grotecorrelatie tussen hun respectievelijke scans zal zijn. Een eenvoudige matchtechniek zou erbijgevolg uit bestaan twee scans volledig met elkaar te kruiscorreleren, aangezien niet opvoorhand geweten is hoeveel de twee scans tegenover elkaar moeten verschoven wordenom te kunnen matchen. Het maximum van de resulterende correlatiemap (de matrix metcorrelatiecoefficienten), zou dan hoog moeten zijn als de twee scans effectief bij elkaarhoren. (cf. sectie 4.1 over de normalized cross-correlation)

3.1.1 Beperking van het zinvol gebied

Figuur 3.1 toont aan dat het deel Sia van het ingescande oppervlak A, dat afkomstig is vande inkeping in het lemmet, niet zal overeenkomen (tenminste, niet op de zelfde manier alsde rest Sra van oppervlak A) met het corresponderend deel Sib van scan b. Het is bijgevolgduidelijk dat het in de correlatieberekening betrekken van deze pixels (waarvan a priorigeweten is dat ze nergens mee zullen overeenkomen), de correlatiecoefficienten negatiefzou beınvloeden. Hetzelfde geldt dan uiteraard ook voor datapixels die ronduit ongeldigzijn: de rand rond de scanwaarden die geldige metingen voorstellen, zal ook buiten deberekeningen moeten gelaten worden. Aangezien enkel rechthoekige gebieden eenvoudigmet elkaar kunnen gecorreleerd worden, krimpt op figuur 3.2 het gebied b, dat bekomenwerd door uit a de meetwaarden van de inkeping buiten spel te zetten, in tot c, een gebieddat enkel geldige pixels bevat die overeenkomsten kunnen vertonen bij het vergelijken vantwee scans.

3.1.2 Evaluatie

Om deze eenvoudige matchtechniek te testen, werd het volgende experiment uitgevoerd:uit elke scan i van de breukoppervlakken van Type 1 werd manueel het gebied ci geselec-teerd dat overeenkomt met de rechthoek c op figuur 3.2. Daarna werd elke scan j van Type2 in z’n geheel (aj in de geest van figuur 3.2) gekruiscorreleerd met de eerder geselecteerdegebieden ci.

10

Page 23: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.1: Beperkte overeenkomst van het oppervlak

Figuur 3.2: Beperking van het correlatiegebied

In tabel 3.1 staan de resultaten van deze proef. De verschillende rijen stellen de scansvan Type 1 voor, de kolommen komen overeen met scans van Type 2. Elk tabelelementtij stelt de maximale correlatiecoefficient voor, die verkregen werd bij het berekenen vande kruiscorrelatie tussen ci en aj . De getalwaarden die vetjes zijn weergegeven, zijn debehaalde “scores” voor koppels die effectief bij elkaar horen. De met grijs aangeduidegetallen zijn de rijmaxima.

Het ontbreken van getallen in de eerste kolom valt alvast op. Dit komt omdat BG1maar een gedeeltelijke scan is van het breukoppervlak in kwestie. Bijgevolg vormen deverschillende gebieden ci (stukken uit volledige scans) een groter oppervlak dan aBG1.Het blindelings aannemen dat ci volledig verenigbaar is met een even groot gebied uit aj

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM8BG - 0.227 0.384 0.118 0.242 0.169 0.144 0.163 0.231 0.144

F144 - 0.813 0.639 0.453 0.636 0.507 0.298 0.502 0.551 0.432F155 - 0.664 0.642 0.623 0.545 0.403 0.350 0.389 0.363 0.348F148 - 0.511 0.453 0.482 0.413 0.345 0.296 0.326 0.372 0.314F154 - 0.188 0.378 - 0.642 0.727 0.596 0.734 0.665 0.720F16 - -0.128 0.320 -0.204 0.215 0.949 0.714 0.759 0.607 0.874F18 - -0.058 0.312 -0.170 0.254 0.842 0.689 0.718 0.630 0.826F12 - 0.379 0.148 0.373 0.337 0.271 0.201 0.284 0.214 0.273F13 - -0.046 0.355 -0.188 0.286 0.818 0.629 0.747 0.855 0.806F14 - 0.206 0.286 -0.133 0.354 0.491 0.358 0.497 0.507 0.659

Tabel 3.1: Maximale complete-correlatiecoefficienten

11

Page 24: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.3: Partiele overlap van scans

zorgt in dit specifieke geval dus voor problemen: de breukoppervlakken BG1 en BG zijnafkomstig van dezelfde breuk, maar worden in de resultaten van deze test niet met elkaargelinkt. Hier lijkt gemakkelijk een correct werkende arm aan te passen door de rollen vanBG en BG1 om te keren. Hoewel cBG niet correspondeert met een deel van aBG1, is datwel het geval voor cBG1 en aBG. Deze eenvoudige “oplossing” wordt echter waardeloosals zowel scan i als j maar gedeeltelijke scans zijn van twee breukoppervlakken, die nietvolledig maar enkel gedeeltelijk overlappen, zoals op afgebeeld op figuur 3.3.

Een tweede vaststelling is dat het maximum van een rij niet altijd het getal is datvetjes weergegeven wordt: blijkbaar scoort een vergelijking tussen scan i en j niet altijdhet hoogst als die twee ook effectief samenhoren. Van de acht koppels (als we BG en BG1buiten beschouwing laten) die deze test voorstelt, zijn er maar vier die effectief correctzijn. Dat amper de helft van de testfragmenten correct gelinkt worden, is behoorlijk pover,net zoals de overtuiging waarmee de wel correct gekoppelde scans het halen van anderecombinaties.

De oorzaak van de vaak tegenvallende score is veelvuldig:

Het is mogelijk dat er tijdens het breken of tijdens het verder behandelen van eenmes(fragment) stukjes materiaal van het breukoppervlak afslijten. Vooral structurendie uitsteken tegenover hun omgeving zullen hiervoor kwetsbaar zijn. Op plaatsenwaar er zo’n materiaalerosie is opgetreden zal de gelijkenis tussen de overeenkomstigebreukoppervlakscans kleiner zijn. Doordat de correlatie tussen de twee breukopper-vlakken berekend wordt met een maximaal aantal meetpunten, zal ook het effectvan die degeneratie maximaal zijn.

Bij het opmeten van het oppervlak ontstaan er onvermijdelijk meetfouten. Vooralin de buurt van de inkeping en de randen blijken er veel punten bovendien “onmeet-baar” te zijn.

Het grootste aandeel is echter te verklaren vanuit het sterk benaderende karaktervan de uitgevoerde voorbewerkingen.

3.2 Effect van de voorbewerkingen

3.2.1 Krommings- en hellingscorrectie

De manier waarop deze eerste afwijking, veroorzaakt door de onnauwkeurige plaatsing inde scanner, wordt gecorrigeerd, is maar een benaderende techniek. Hoewel de methodevaak goed werkt (dwz., met een relatief kleine fout), zal het toch voorkomen dat er eenrelatief grote fout gemaakt wordt om verschillende en elkaar versterkende redenen. Figuur2.9 is een geval waarbij de correctie betrekkelijk goed werkt; de curve in stippellijn die degeschatte kromming weergeeft, volgt mooi de bovencontour van de scandata. De afwijking

12

Page 25: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 500 1000 1500 2000 2500 3000 3500 4000 4500x

y

Figuur 3.4: Slechte correctie door een te eenvoudig model

0 1000 2000 3000 4000 5000 6000x

y

Figuur 3.5: Slechte correctie door contourgebreken

die toch optreedt tussen die twee staat uitgezet in het grijs onderaan de figuur. We stellenvast dat deze fout (in trend) behoorlijk constant blijft. Dit is duidelijk zichtbaar niet hetgeval op figuur 3.4: de fout vertoont vanaf x = 3750 een stijgende trend. Blijkbaar heerster over deze data een complexere afwijking, die onvoldoende correct gecorrigeerd wordtdoor in te spelen op het huidige afwijkingsmodel.

Vaak is het ook zeer moeilijk om een goede schatting van de afwijking te maken door-dat de contouren van de scan teveel gebreken bevatten. Op figuur 3.5 is te zien datzowel de boven- als ondercontour van deze scan van redelijk slechte kwaliteit zijn, watde nauwkeurigheid van de schatting van de afwijking zeker niet ten goede zal komen. Inhet geval van figuur 3.6 is het nog erger: het algoritme dat de kromming schat, kiest deverkeerde contour. Het was beter geweest om de bovencontour te gebruiken, maar aange-zien de gebreken van de ondercontour er voor zorgen dat de berekende kromming kleineris, wordt (ten onrechte) voor die schatting gekozen in plaats van de curve gefit door debovencontour.

Zeer eenvoudig gemodelleerd blijft er na de correctie nog altijd een (hopelijk kleinere)parabolische afwijking over (fig. 3.7). Doordat twee scans elk een andere residuele afwij-king vertonen, ontstaan er problemen bij de eenvoudige matchmethode uit 3.1. Figuur3.8 tracht dit te illustreren. Er wordt met een extreem voorbeeld getoond dat de gemid-delde afstand tussen twee parabolen met verschillende parameters groter wordt naarmatede lengte waarover de overeenkomst moet gemaakt worden, toeneemt. Na de imperfec-

13

Page 26: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000x

y

Figuur 3.6: Extra slechte correctie door contourgebreken

Figuur 3.7: Ideale situatie en kromming voor en na correctie.

te correctie zullen alle datapunten die in de ideale situatie dezelfde ordinaat hebben (dehorizontale lijnen op fig. 3.7.a), op een parabool liggen. Doordat de datadragende pa-rabolen van verschillende scan verschillende vormparameters hebben, komt het probleemuit figuur 3.8 roet in het eten gooien als er gecorreleerd wordt met volledige scans. Delengte waarover de twee paraboolvormen moeten geregistreerd worden is dan maximaal,en daarmee ook de fout.

3.2.2 Normaalcorrectie

In sectie 2.3.2 werd een tweede soort afwijking gecorrigeerd. De benodigde rotatie diede normaal van het oppervlak evenwijdig met de z-as moest maken, werd er benaderddoor een verschil met een kleinste kwadraten-vlak. Op figuur 3.9 staat getekend watde gevolgen hiervan zijn. Stel dat op lijnstuk A de aangeduide punten loodrecht naarbeneden werden opgemeten. Door van deze datapunten de kleinste kwadraten-benaderingaf te trekken, worden ze geprojecteerd op de vierkanten op lijnstuk A′. De werkelijke

Figuur 3.8: Het parabool-registratie probleem

14

Page 27: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.9: Effect van de benaderend normaalcorrectie

lx breedte template

l y hoo

gte

tem

plat

e

100 200 300 400 500 600 700 800 900 1000 1100

5

10

15

20

Figuur 3.10: Maximale correlatiecoefficient in functie van de templategrootte

afstand d tussen de meetwaarden wordt hierdoor verminderd tot d′. Het gevolg is dat eeningescande breukoppervlak “inkrimpt” na deze bewerking. Hoewel het verschil tussen d end′ beperkt blijft bij de normaalcorrectie van de breukoppervlakken, kan het effect hiervanbehoorlijk oplopen, gezien de hoge scanresolutie en de daaruit volgende grote afmetingenvan de scandata. Bij het kruiscorreleren van twee volledige scans is het effect van dezetekortkoming dus maximaal.

3.2.3 Gevolg voor templatestrategie

Het blijkt dat de distorsie veroorzaakt door beide correcties afhankelijk is van de lengtevan de templates waarmee gecorreleerd wordt. Het meest logische gevolg dat hieruitkan getrokken worden, is dat er beter gecorreleerd kan worden met kleinere templates,aangezien die minder nadelig effect zullen ondervinden.

Het volgende experiment bevestigt dit vermoeden: op figuur 3.10 staat uitgezet voorelke (lx, ly) hoe groot de maximale correlatiecoefficient was na het correleren met eenrandom template van grootte lx × ly (witter is hoger). Het valt op dat naarmate degrootte van de template toeneemt, de kleur van de figuur inderdaad donkerder wordt.Aangezien blijkbaar veel hogere ogen kunnen gegooid worden qua correlatiemaxima metkleinere templates, dringt een alternatieve templatestrategie zich op.

3.3 Multitemplate correlation

3.3.1 Verdere interpretatie van correlatiemaps

Stel dat er op aangeven van de voorgaande vaststelling een kruiscorrelatie wordt berekendtussen een kleine template T afkomstig uit scan A en de volledige data van scan B, endat A en B scans zijn van breukoppervlakken die ontstaan zijn bij dezelfde breuk. Danzal onder redelijke omstandigheden (voldoende overeenkomst tussen T en het correspon-

15

Page 28: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.11: Afleiding van translatie τ voor A tegenover B

derende gebied uit B, etc.) de correlatiecoefficient die overeenkomt met de translatie vanT tegenover B zodat T op die positie past, hoog zijn. Deze verschuiving van T tegenoverB bepaalt samen met de coordinaten van T in A de relatieve plaatsing van A en B die decorrecte matching voorstelt. Figuur 3.11 toon wat hieronder in woorden staat:

Stel:

Een template T werd op coordinaten (tx, ty) uit scan A gekozen

De kruiscorrelatie tussen T en scan B levert een maximum op coordinaten (dx, dy)

Dan impliceert deze piek een translatie τ van scan A tegenover B gegeven door de para-meters (τx, τy) = (tx − dx, ty − dy).

Zoals eerder al vermeld zal, onder redelijke omstandigheden, de correlatiecoefficientdie correspondeert met de correcte plaatsing van T tegenover B, relatief hoog zijn. Ditis het geval voor de correlatiemap afgebeeld op figuur 3.12: er is een duidelijk af te lezenmaximum op de coordinaten waar template T past op B. Het tegenovergestelde van heteerderbeweerde is echter niet geldig: een hoge correlatiecoefficient betekent niet noodza-kelijk dat de translatie die erdoor wordt gesuggereerd correct is. Op figuur 3.13 is zo’ncorrelatiemap afgebeeld. Hoewel er zeker een globaal maximum kan gevonden worden,is er niets dat garandeert dat precies die coefficient overeenkomt met de te achterhalentranslatieparameters. Het is zeer goed mogelijk dat een ander (bijgevolg lokaal) maximumeigenlijk een hogere appreciatie zou moeten krijgen, maar door omstandigheden toch wordt

16

Page 29: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

dxdy

200 400 600 800 1000 1200

1020304050

Figuur 3.12: Een duidelijk maximum in de correlatiemap

dx

dy

200 400 600 800 1000 1200 1400 1600 1800 2000 2200

10203040

Figuur 3.13: Een minder duidelijk maximum

gedomineerd door het globale maximum. Mogelijke invullingen van deze “omstandighe-den” zijn

De template beslaat juist een gebied waar het breukoppervlak sterk geerodeerd is.De bijgevolg minder grote correlatie komt hierdoor minder sterk te staan tegenovereen correlatiecofficient op een andere plaats.

Doordat het gebruik van kleinere templates minder meetpunten in de berekeningenbetrekt en er zodoende voor zorgt dat zo’n gebied minder kenmerken bevat, kan hetgebeuren dat een template op meer dan een plaats goed past. Dit en het vorige puntversterken elkaar.

Toevallig (bij automatische of zelfs bij manuele selectie) wordt een template gekozendie geen tegenhanger heeft in de andere scan. Dit kan voorkomen als er een gebieddicht bij de (inkepings)rand wordt gekozen, of in het geval dat de scans partieel over-lappen en er een template wordt gekozen uit een gebied dat niet gemeenschappelijkis. In dit geval zal er weliswaar geen geldig maximum zijn, maar dat belet niet dathet ongeldige maximum toch translatieparameters suggereert.

Samengevat zijn er drie scenario’s die optreden bij het berekenen van de kruiscorrelatietussen een kleine template T uit A en een volledige scan B:

Het globaal maximum wordt teruggevonden op coordinaten die verband houden metde correcte translatieparameters van A tegenover B.

Niet het globaal maar een lokaal maximum impliceert de juiste verschuiving.

De correlatiecoefficient die het bij het rechte eind zou hebben, wordt gewoonweg nietherkend als maximum.

De hierboven opgesomde scenario’s zijn nog altijd in de veronderstelling dat naar over-eenkomsten gezocht wordt tussen twee scans A en B die effectief bij elkaar horen. Als ernu andere scans C en D in de vergelijking met A betrokken worden, dan ontstaan er nogbijkomende moeilijkheden. Het blijkt helemaal niet moeilijk (niet-triviale) templates tekiezen uit scans C en D die hoge correlatiecoefficienten opleveren bij het vergelijken metscan A. Het feit dat deze pieken, die enkel wijzen op een lokale, “toevallige” overeenkomst

17

Page 30: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

tussen A en C of D, vaak gemakkelijk hoger scoren dan het maximum dat bekomen wordttijdens het vergelijken van A en B zelf, zal het probleem er niet eenvoudiger op maken.

3.3.2 Correleren met meerdere templates

Tot nu toe werd er een belangrijk aspect van kruiscorrelatieberekeningen consequent eenondergeschikte rol toebedeeld: de translatieparameters die afgeleid kunnen worden uit depositie van een correlatiecoefficient. Alle moeilijkheden hierboven opgesomd indachtig kaner besloten worden dat louter afgaan op de grootte van de correlatiecoefficienten niet werk-baar is en dat een belangrijker rol toekomt aan de eerst genegeerde translatieparameters.

Bij de eenvoudige matchtechniek uit sectie 3.1 werd een gebied c (cf. fig. 3.2) afkomstiguit scan A als een grote template gebruikt om de gelijkenis tussen scans A en B te metenaan de hand van de grootte van de maximale correlatiecoefficient. Als die grote templatenu ingewisseld wordt voor N kleine templates die dan telkens afzonderlijk gebruikt wordenom een correlatieberekening uit te voeren, dan is het resultaat hiervan N correlatiemapsCoi. Elk van die matrices correlatiecoefficienten heeft een (bij berekeningen bijvoorbeelddoor een drempelwaarde gelimiteerd) aantal lokale maxima mij die met een overtuigingevenredig aan hun waarde een verschuiving van hun voortbrengende template opperen, endaarmee, wegens de vaststelling uit de vorige sectie, ook een translatie van A tegenoverB. Het is nu redelijk te verwachten dat, als A en B scans zijn van breukoppervlakken diebij elkaar horen, vele aanwijzingen gegeven door de maxima van de correlatiemaps, zullenwijzen in de richting van de correcte translatie van A tegenover B.

Het lijkt echter onvermijdelijk dat

de eensgezindheid over de precieze locatie van de vaak aangewezen translatievectorniet zo groot zal zijn. De verklaring hiervoor ligt voornamelijk in de fouten diegemaakt zijn bij het inscannen en het voorbewerken van de meetdata.

maxima (zowel lokaal als globaal) waar ongeweten ten onrechte belang aan gehechtwordt, compleet foutieve translatievectoren aanduiden.

Horen A en B echter niet bij elkaar, dan zullen alle maxima van de verschillende votemapsin een nonsensrichting wijzen. Het onderscheid tussen het al dan niet overeenkomen vanA en B zal gemaakt moeten worden aan de hand van de mate waarin een translatievec-toromgeving aangeduid wordt door de stemmen die klinken vanuit de correlatiemaxima.

3.3.3 Votemap matching

Stemaggregatie op een votemap

Een zogenaamde “votemap” ontstaat als er een synthese wordt gemaakt van alle datadie uit de maxima van de correlatiemaps kan gepuurd worden. Voor elk maximum mij

uit de correlatiemap Coi bekomen door een kruiscorrelatie tussen template Ti en scanB, wordt de geımpliceerde verschuiving τ van A tov. B berekend, en op de coordinaten(τxij , τyij) in de votemap wordt de huidige “votewaarde” vermeerderd met de waarde vanhet desbetreffende correlatiemaximum.

De hamvraag bij het opstellen van deze votemap is welke strategie gevolgd moet wordenbij het al dan niet in rekening brengen van correlatiemaxima. Idealiter moet enkel hetglobaal maximum weerhouden worden, maar aangezien het voorkomt dat niet het globaal

18

Page 31: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

100200

300400

500

5

10

15

0

1

2

3

4

5

dx

a)

dy

scor

e

100200

300400

500

24

68

1012

140

1

2

3

4

5

dx

b)

dy

scor

e

Figuur 3.14: Votemap voor a) een match en b) een niet-match

maar een lokaal maximum de correcte translatie aanduidt, zal dit een foute strategie zijn.In het waarschijnlijk zeldzaam maar mogelijk scenario dat alle globale maxima verkeerdzijn, zou deze aanpak een verkeerd resultaat geven. Het lijkt dus onvermijdelijk om ookde pieken die minder hoog scoren ook in de votemap op te nemen.

De meest eenvoudige aanpak is om alle maxima die een bepaalde threshold (eventueelafhankelijk van het globaal maximum) overstijgen als stem op de votemap te plaatsen.Dit geeft in een concreet geval van twee scans die bij elkaar horen aanleiding tot deel a)van figuur 3.14. Er is duidelijk een piek te zien die overeen zal komen met de correctetranslatievector. Bij het vergelijken van twee scans die niet bij elkaar horen, werd deel b)van figuur 3.14 bekomen. Deze keer is er geen duidelijke piek en dus ontstaat de neiging omte besluiten dat er geen eensgezindheid is over de translatieparameters. Dit is duidelijkverkeerd aangezien de piek op de votemap maar ontstaat doordat een aantal maximaafkomstig uit de correlatiemaps telkens exact dezelfde verschuiving τ bepalen. Gezien devoordien al opgemerkte beperkte nauwkeurigheid kan het voorkomen dat er telkens eenafwijking zit op de geımpliceerde translatievector, en dat er hierdoor geen accumulatievan stemmen is en er dus ook geen piek ontstaat. Figuur 3.15 illustreert dit probleem:beide panelen tonen de votemap afkomstig van het vergelijken van twee scans die bij elkaarhoren. Op deel a) is er een piek te zien, die de correcte translatievector aanduidt. Paneelb) toont dezelfde votemap, maar zodanig aangepast dat alle stemmen die op a) aandeelhadden in de piek, naast elkaar kwamen te liggen.

Kwantitatieve vergelijking van votemaps

Er kan nu gezocht worden naar een manier waarop uit zo’n votemap compactere informatiekan gehaald worden over hoe goed de vergelijking tussen twee scans A en B gelukt is.Door de opmerkingen hierboven is het duidelijk dat de strategie die voor de hand lag,zal falen. Kortweg het maximum uit de votemap halen en de waarde ervan of het aantalstemmen erin als overtuigingskracht nemen, kan falen in gevallen waarin er louter doornauwkeurigheidstekortkomingen geen piek gevormd wordt. Het zal zeker gewenst zijn datook deze gevallen correct opgevangen worden.

Er zal dus een gebied moeten gezocht worden waarin er een maximum aan stemmen

19

Page 32: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

100200

300400

500

5

10

15

200

0.5

1

1.5

2

dx

a)

dy

scor

e

100200

300400

500

5

10

15

200

0.5

1

1.5

2

dx

b)

dy

scor

e

Figuur 3.15: Votemap met a) een duidelijke piek en b) een gemaskeerde piek

valt. Een van de vele manieren waarom dit kan gebeuren is als volgt:

Voor een op voorhand bepaalde parameter k wordt op de votemap gezocht naar hetgebied van afmetingen k × k waarin de som van alle stemmen het hoogst is.

Eens dat zgn. maximumgebied im gevonden is, kan het zijn dat er meerdere maximavan een votemap in vallen, wat uiteraard niet gewenst is: er kan maar een maximumper template de correcte translatieparameters aanduiden. Per correlatiemap wordtdan van alle stemmen die in im vallen, enkel diegene weerhouden die best past(afstandsgewijs) bij de stemmen afkomstig uit de andere correlatiemaps. De scoreiκs voor im is dan gelijk aan de som van de waarden van de stemmen die nietgeschrapt werden.

Door de vorige stap kan de score voor im zodanig gedaald zijn dat er een nieuw maxi-mumgebied jm met score jκs ontstaat, dus deze procedure moet herhaald wordentotdat dit zich niet meer voordoet.

Het aantal stemmen dat geteld word in het ultieme maximumgebied wordt κ ge-noemd.

Op figuur 3.16 staat een fragment uit de votemap bekomen bij het vergelijken van tweescans die afkomstig zijn van dezelfde breuk. Het gebied geselecteerd door de rechthoekkomt overeen met een maximumgebied in de votemap. Het is effectief zo dat er meerderestemmen afkomstig van een correlatiemap in dat gebied liggen (meerdere keren hetzelfdesymbool), dus er werd een keuze gemaakt. Op basis van de afstand tot de andere symbolen,werden de stemmen in de ellipsen weerhouden en hun waarden worden opgeteld om tot κs

te komen. κ zelf krijgt de waarde 6.Op deze manier wordt een gebied gevonden met zoveel mogelijk stemmen en een zo

groot mogelijke som van stemwaarden, allemaal afkomstig van een verschillend correla-tiemap en dus ook template. Hoe hoger deze waarde κ, hoe meer stemmen er voor (bijbenadering) eenzelfde translatie klonken, en dus hoe beter scan A en B bij elkaar horen.Door deze aanpak behalen a) en b) op figuur 3.15 dezelfde κ-waarde voor een redelijkewaarde voor parameter k.

20

Page 33: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

−12 −10 −8 −6 −4 −2 0 2 4 6−15

−10

−5

0

5

10

15

20

25

30

dx

dy

Figuur 3.16: Selectie van het maximumgebied uit een votemap

Stel dat er een breukoppervlakscan A gegeven is, en dat er in een verzameling β vanscans moet gezocht worden naar Bm, het breukoppervlak dat onstaan is bij dezelfde breukals A. Als het vergelijken van A en Bi een waarde κi oplevert die groter is dan κj dieop de analoge manier bekomen werd, dan werden er bij het vergelijken van A en Bi meereensgezinde stemmen gevonden. Hoe groter κi (begrensd door het aantal templates) enhoe groter het verschil tussen κi en κj , hoe meer zekerheid dat Bi en niet Bj bij A hoort.

21

Page 34: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.17: Gelijkenis tussen template- en matchposities

3.3.4 Graph matching

Bij de aanpak hierboven met het berekenen van de geımpliceerde translaties τij , de vo-temaps en de maximumgebieden werd terug een handige informatiebron genegeerd. Insectie 3.3.1 werd bepaald hoe zo’n τi berekend kan worden: de coordinaten (dx, dy) vaneen maximum op een correlatiemap werden verminderd met de coordinaten (tx, ty) vande template op de scan waaruit die genomen werd. Deze ingreep zorgt er voor dat ereen extra variabele verdwijnt: de ligging van templates tegenover elkaar. In de komendealternatieve aanpak zal deze informatie wel gebruikt worden.

Als scan A en B effectief bij elkaar horen, dan zullen templates gekozen uit A overeen-komen met gebieden uit B die op dezelfde manier tegenover elkaar liggen als de templatesin A zelf (fig. 3.17). Zoals hierboven al gebruikt, suggereren de maxima mij uit de corre-latiemap Coi verschuivingen voor Ti tegenover B. De correlatiepieken die corresponderenmet de correcte verschuiving voor de verschillende templates (telkens hoogstens een percorrelatiemap) zullen dus ook op dezelfde manier tegenover elkaar gelegen zijn als de tem-plates zelf.

Op figuur 3.18 staat welke templates uit A gekozen werden en hoe ze tegenover elkaargeplaatst staan. De punten op B duiden aan waar volgens de maxima afkomstig uit de5 correlatiemaps de bijhorende template thuishoort. Er kan nu gezocht worden naar depunten (telkens een per correlatiemap) die ongeveer (de onnauwkeurigheid indachtig) opdezelfde manier tegenover elkaar liggen als de linkerbovenhoeken van de uit A gekozentemplates. Als er zo’n deelverzameling van punten op B kan gevonden worden (op fig.3.18 verbonden met stippellijn), dan passen A en B volgens templates Ti, i = 1..5 bijelkaar. Het kan echter voorkomen dat er bijvoorbeeld voor template T1 geen geldig corres-ponderend gebied in B kan gevonden worden. Dan zal het beter zijn om maar een graafvan vier toppen te zoeken, dan een foutief punt als vijfde te nemen.

Algoritme

Er werden uit scan A n templates gekozen, met de coordinaten van de linkerbovenhoekhi, i = 1..n, verzameld in H. Na het correleren van B met Ti ontstaan er n correlatiemapsCoi waarop een verzameling Mi van pi maxima mik, k = 1..pi te vinden waren.

Het idee is om voor i = 1..n de indexen si te zoeken zodanig dat de verzameling Γn

van punten misi qua onderlinge ligging zo goed mogelijk op (de relatieve ligging van de

22

Page 35: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.18: Het idee achter graph matching

punten van) de verzameling H lijkt. Aangezien er echter rekening mee moet gehoudenmet de mogelijkheid dat er voor een zekere Ti gewoonweg geen geldige piek gevonden werden dat er dus eigenlijk geen si zou moeten gezocht worden, zal nodig zijn om ook Γn−1,Γn−2, etc. te bepalen, waarbij telkens minder dan n punten gezocht worden.

Geometrische consistentieEen van de voorwaarden die moeten vervuld zijn alvorens het koppel miu en mjv

in aanmerking kan komen om deel uit te maken van Γw, w ≤ n, is dat de afstandtussen die twee punten ongeveer gelijk moet zijn aan de afstand tussen hi en hj . Opbasis hiervan valt al een aanzienlijke hoeveelheid combinaties van twee punten weg.

Een tweede criterium is het verschil in abscis tussen twee punten: als hi na hj

komt gesorteerd op x-component, dan zal dit ook het geval moeten zijn (binnen eenbepaalde marge) voor miu en mjv, wil deze combinatie consistent zijn.

Alle bogen eiu,jv tussen knopen miu en mjv die voldoen aan beide consistentievoor-waarden, worden toegevoegd aan verzameling E.

Figuur 3.19 a) toont de verbindingslijnen tussen alle mogelijke paren (miu,mjv).Deel b) van de figuur toont de koppels die overblijven na filtering met bovenstaandecriteria. De drie punten die het best overeenkomen met de punten uit H (nietgetoond) zijn verbonden met een stippellijn.

Construeren van complete grafenOp basis van deze informatie kan er nu gezocht worden naar alle mogelijke deelverza-melingen van E die een complete graaf KI vormen. In zo’n KI is immers elk koppeltoppen consistent verklaard geweest in de vorige stap, waardoor er enkel combinatiesvan punten genomen worden die volledig mogelijk zijn.

23

Page 36: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

0 500 1000 1500 2000 25000

10

20

30

40

50

60

dx

dy

a)

0 500 1000 1500 2000 2500 30000

10

20

30

40

50

60

dx

dy

b)

Figuur 3.19: Voor en na geometrische consistentie-filter

Het zoeken van al deze complete grafen gebeurt aan de hand van het volgendealgoritme:

1. buildgraph(k,Bvk, s)2. 3. fori|(∃i)(eki,lj ∈ E)4. 5. sk := i6. B = l|(∃j)((eki,lj ∈ E) ∧ (sl = j))7. if k < n8. buildgraph(k + 1, Bvk ∩B, s)9. else10. uitvoer 11. 12. if k < n13. buildgraph(k + 1, Bvk \ k, s)14. else15. uitvoer 16.

De lijnen 4-11 worden uitgevoerd voor elke mogelijke i waarvoor er een boog inE die vertrekt vanuit mki. Op lijn 6 wordt voor elke iteratie de verzameling Bbepaald, van indices l zodanig dat mlj bereikbaar is vanuit mki en waarvoor debijhorende j gelijk is aan de eerder vastgelegde sl (enkel van toepassing op l < k).B is telkens de verzameling van indices l waarvoor er minstens een element van Ml

bereikbaar is vanuit mki of waarvoor mlslbereikbaar is vanuit mki als sl al vastligt.

De inhoud van B komt dus overeen met de indices van de Mi die kunnen bereiktworden vanuit mki, rekening houdend met eventueel vooraf vastgelegde waardenvoor sl. De Bvk die samen met k als input geleverd werd, staat voor de verzamelingvan indices i waarvoor Mi bereikbaar is vanuit m(k−1)s(k−1)

, m(k−2)s(k−2)... en m1s1 ,

terug rekening houdend met de si, i < k die al vastgelegd werden. De doorsnede

24

Page 37: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

B ∩ Bvk wordt Bvk+1, die meegegeven wordt aan de recursieve oproep op lijn 8.Als alle sk vastgelegd zijn (dit zal telkens zo zijn als k = n) dan bestaat er voor elkkoppel (i, j) van indices uit Bvn, een boog eisi,jsj ∈ E. Er is met ander woorden eencomplete graaf gevonden, bestaande uit bogen in E.

De code op lijnen 12-15 zorgt er voor dat er geen punt uit Mk hoeft opgenomen teworden in de geconstrueerde grafen. Op deze manier worden ook complete grafenmet graad kleiner dan n geconstrueerd.

Merk op dat dit algoritme een uitvoeringstijd vraagt die exponentieel is in het aantaltemplates. Het zal dus niet geschikt zijn voor een groot aantal templates.

Bepaling van Γn, Γn−1, ...Het resultaat van vorige stap is een aantal complete grafen. Nu moet er voor elke kbepaald worden welke graaf van k toppen de k punten met elkaar verbindt die quaonderlinge ligging het meest op de punten in H (afkomstig van de templateposities)lijken. Er wordt voor elke graaf gezocht naar de translatie Tk voor de verbonden pun-ten die de totale kwadratische afstand εk tussen de punten misi en hi minimaliseert.Per aantal toppen wordt vervolgens die graaf onthouden die de kleinste overblijvendefout maakt. Dit is dan van alle grafen van graad k degene die het best “lijkt” op depunten uit verzameling H.

De reden waarom hier meerdere grafen onthouden worden, is omdat het moeilijk isom te beslissen wat “beter” is: een graaf met n toppen en een fout van εn, of eengraaf met n− 1 toppen en een fout εn−1 < εn. Op basis van verschillende grafen ende respectievelijke fouten kan een gebruiker bekijken wat de gevolgen zijn voor defout als er meer of minder punten in beschouwing genomen worden. Het kan gezienworden als een primitieve vorm van sensibiliteitsanalyse.

Graph matching als gelijkenistest

Het is te verwachten dat als deze methode wordt toegepast op twee scans A en B dieeffectief afkomstig zijn van dezelfde breuk, dat er dan complete grafen zullen gevondenworden die een vorm hebben die betrekkelijk goed lijkt op de vorm van H. Wat er moetverwacht worden als A en B niet bij elkaar horen is minder duidelijk. In dat geval liggende maxima van de correlatiemaps verspreid, zonder dat er een deelverzameling is die destructuur van H volgt. Door dit gebrek aan structuur zullen er minder combinaties vantwee pieken uit twee correlatiemaps consistent zijn. De bogen die wel door die filter rakenzullen minder grote complete grafen vormen.

Tenslotte kan nagegaan worden of de translatieparameters Tk voor de grafen overeen-komen met de verschuiving die bekomen werd met de votemapmethode (het zwaartepuntvan alle stemmen in het maximumgebied). Als scans A en B effectief bij elkaar horen zaldit het geval zijn.

3.3.5 Template strategieen

Tot nu toe werd gesproken over correleren met kleine templates en over hoe er compacteinformatie uit deze multitemplate technieken kan gedistilleerd worden. Hoe die templatesdan uiteindelijk gekozen worden uit scan A is nog niet aan bod gekomen. Hier wordt eenniet-exhaustief overzicht gegeven van templatestrategieen die mogelijk zijn.

25

Page 38: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 3.20: Templaterooster

Templaterooster

Een eerste mogelijkheid is om hetzelfde gebied te nemen als bij het eenvoudig matcht-echniek uit 3.1 (gebied c op fig. 3.2), maar het deze keer onder te verdelen in n × mdeeltemplates van dezelfde grootte (cf. fig. 3.20). Op deze manier wordt toch het volledi-ge zinvolle oppervlak in de berekening meegenomen, maar kan een template waarvan dematching niet klopt genegeerd worden door de votemaptechniek. Het aantal templates zalbij deze templatestrategie typisch relatief hoog liggen, waardoor de graph match-methodeonwerkbaar wordt wegens de exponentiele uitvoeringstijd.

Manuele selectie

Waar de graph match-techniek bijvoorbeeld wel kan gebruikt worden is bij een interactieveaanpak waarbij een gebruiker manueel een paar interessante, feature-rijke gebieden uit scanA selecteert als template. Na de berekening van de correlatiemaps en -maxima kan dezegraph matching er dan op los gelaten worden. De gevonden grafen kunnen vervolgensterug aangeboden worden aan de gebruiker die dan aan de hand daarvan beslist of scansA en B al dan niet bij elkaar horen.

Er werd als onderdeel van deze thesis een gebruikersinterface gemaakt waarmee ditmogelijk is. Figuren 3.21 en 3.22 tonen twee screenshots van deze applicatie. Op de eerstefiguur gaat het om twee scans die bij elkaar horen. In het bovenste luik staat scan Awaaruit de templates gekozen werden (aangeduid met witte rechthoeken). Het onderstegedeelte toont B en de maxima afkomstig van de correlatiemaps (witte punten). Er iste zien dat de grootst mogelijke graaf gevonden werd (onderste paneel) en dat die quastructuur sterk overeenkomt met de graaf op het bovenste paneel, wat het bij elkaar horenvan de twee scans dus bevestigt.

Op figuur 3.22 werd er maar een graaf gevonden van 3 toppen (onderste paneel),hoewel er 5 templates gekozen werden. Bovendien komt de gevonden graaf niet overeenmet de corresponderende graaf (deelgraaf in dit geval, aangezien enkel de relevante puntenverbonden werden) op het bovenpaneel. Op basis van deze templates kan er dus nietgesproken worden van een match tussen deze twee scans.

Gerichte automatische templateselectie

In plaats manueel op zoek te gaan naar gebieden die interessant zijn om als template tegebruiken, zou dit automatisch kunnen gebeuren. Dit zou het onderwerp kunnen zijn vanverder onderzoek.

26

Page 39: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

500 1000 1500 2000

10

20

30

40

50

60

70

500 1000 1500 2000 2500

10

20

30

40

50

60

70

Figuur 3.21: Grafische interface met match

Random templates

Een strategie die at random templates kiest uit een scan is ook mogelijk. Daarbij kaneen template grootte vast gekozen zijn, of ook afhangen van toeval. Deze techniek is watcontroversieler omdat er geen garantie is dat niet alle templates toevallig zo gekozen zijndat ze een slecht resultaat opleveren. Intuıtief zal deze templatestrategie werken als ermaar genoeg templates gekozen worden. Wat precies “genoeg” is, is moeilijk te bepalen.

27

Page 40: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

500 1000 1500 2000

10

20

30

40

50

60

70

500 1000 1500 2000 2500

10

20

30

40

50

60

70

Figuur 3.22: Grafische interface met niet-match

28

Page 41: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 4

Leveled cross-correlation

4.1 Normalized cross-correlation

De normalized cross-correlation techniek is af te leiden uit het volgende basisprobleem:

argminu,v

dF,T (u, v) =∑

(x,y)∈ΩT

[F (u+ x, v + y)− T (x, y)]2 (4.1)

met ΩT = 0...lx × 0...ly, het gebied waarover T gedefinieerd is. In woorden wordter gezocht naar de verschuiving (u, v) van template T tegenover afbeelding F die hetkwadratisch verschil tussen die twee over ΩT minimaliseert. Door het kwadraat uit tewerken en te veronderstellen dat

∑F (u+x, v+ y)2 net zoals

∑T (x, y)2 constant is, kan

het probleem omgezet worden in

argmaxu,v

c(u, v) =∑ΩT

F (u+ x, v + y)T (x, y) (4.2)

Het voornaamste probleem met (4.2) als maat voor gelijkenis tussen template en afbeeldingis dat ze niet invariant is voor intensiteitsveranderingen van F (cf. [7]). Om deze en anderemoeilijkheden en onhandigheden te verhelpen wordt liever gebruik gemaakt van

γ(u, v) =

∑ΩT

[F (u+ x, v + y)− F u,v][T (x, y)− T ]√∑ΩT

[F (u+ x, v + y)− F u,v]2∑

ΩT[T (x, y)− T ]2

(4.3)

metF u,v :=

∑(x′,y′)∈ω(u,v)

F (x′, y′), ω(u, v) = (u+ x, y + v)|(x, y) ∈ ΩT

waarbij F en T verminderd worden met een (lokaal in het geval van F ) gemiddelde F u,v

en T . γ(u, v) is hierbij de zgn. correlatiemap waarover in deze thesis gesproken wordt. In[7] wordt een algoritme gegeven waarmee uitdrukking (4.3) efficient kan berekend wordenin het frequentiedomein, wat het dus een aanvaardbaar snel alternatief voor formule 4.2maakt.

29

Page 42: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

24

68

24

68

−2

0

2

4

6

x

a) F

y

z

24

68

24

68

−2

0

2

4

6

x

b) T

y

z

24

68

24

68

−2

0

2

4

6

x

c) F -F

y

z

24

68

24

68

−2

0

2

4

6

x

d) T -T

y

z

NCC

Figuur 4.1: Het idee achter normalized cross-correlation

4.2 Uitbreiding naar leveled cross correlation

Figuur 4.1 toont nog eens de werkwijze van normalized cross-correlation. Deel a toont hetdeel van de afbeelding F waarover gesommeerd wordt in formule (4.3) voor een vaste (u, v)(zijnde ω(u, v)), en template T . Van beide datasets wordt de gemiddelde z-waarde afge-trokken, zoals aangegeven in formule (4.3) door F u,v en T . Tussen de twee deelresultaten,afgebeeld als c en d, worden vervolgens de correlatie berekend.

In wezen wordt er voor alle koppels (u, v) telkens een vrijheidsgraad van Fω(u,v) afge-nomen, in de vorm van het wegnemen van F u,v, de gemiddelde waarde van F over ω(u, v).Hetzelfde wordt toegepast op template T , met het verschil dat die niet afhankelijk is van(u, v) en dat dit dus op voorhand berekenbaar is.

Het inzicht dat het gemiddelde nemen van zo’n 2D-dataset eigenlijk overeenkomt methet fitten van een 0de-graads oppervlak (een constant vlak) door de data, kan leiden tothet idee om dat te veralgemenen. In de plaats van de normalisering te beperken tot hetverschil nemen met een constante, zou het kunnen uitgebreid worden tot iets van hogere

30

Page 43: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

24

68

24

68

−2

0

2

4

6

x

a) F

y

z

24

68

24

68

−2

0

2

4

6

x

b) T

y

z

24

68

24

68

−2

0

2

4

6

x

c) F -pa,b,c,F

y

z

24

68

24

68

−2

0

2

4

6

x

d) T -pa,b,c,T

y

z

LCC

Figuur 4.2: Het idee achter leveled cross-correlation

orde:γl(u, v) =

∑[F (u+ x, v + y)− Fl][T (x, y)− Tl]√∑

[F (u+ x, v + y)− Fl]2∑

[T (x, y)− Tl]2(4.4)

met bijvoorbeeld

Fl := aF (u, v)x+ bF (u, v)y + cF (u, v) (4.5)Tl := aTx+ bT y + cT (4.6)

In dit geval wordt Fω(u,v) voor alle koppels (u, v) beroofd van drie vrijheidsgraden, dit keerin de vorm van het verschil tussen de data en het kleinste kwadraten-vlak erdoor, op iedere(u, v) gegeven door de parameters aF (u, v), bF (u, v) en cF (u, v). Terug geldt dat de kleinstekwadraten-vlakparameters voor Tl onafhankelijk zijn van (u, v). Op figuur 4.2 staat ditidee nog eens uitgezet. Het deel van de afbeelding F dat correspondeert met ω(u, v) ende template (te zien op deel a en b) worden verminderd met een kleinste kwadraten-vlakom c en d te vormen, waarmee dan de correlatiecoefficient op (u, v) berekend wordt.

31

Page 44: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Figuur 4.3: Berekening van af , bf en cf

4.3 Berekenen van leveled cross-correlation

4.3.1 Berekenen van een kleinste kwadraten-vlak

Om voor gegeven (u0, v0) het kleinste kwadraten-vlak door de data in ω(u, v) te bere-kenen, moet gezocht worden naar aF , bF en cF die de residuen van het volgende stelselminimaliseren:

aFxi + bF yj + cF = F (xi, yj), (xi, yj) ∈ ω(u0, v0) : (4.7)

Dit kan geschreven worden in matrixvorm als Ma = f , waarbij a = [a b c]T en M = [x y 1](met f := Ξ(F ), cf. appendix A). De oplossing a die er voor zorgt dat ‖Ma − f‖geminimaliseerd wordt, kan bekomen worden met a = Gf , waarbij G := (MTM)−1MT .

Om aF , bF en cF te berekenen voor veranderlijke (u, v) worden de stappen op figuur 4.3gevolgd. Door de rijen van G om te vormen naar een matrix met de inverse van de operatordie Fω(u0,v0)(x, y) heeft omgezet naar vector f (Ξ−1), ontstaan er drie correlatiemaskersGa, Gb en Gc, waarmee aF (u, v), bF (u, v) en cF (u, v) kunnen berekend worden in hetfrequentiedomein. In praktijk zal men dat niet doen met cF , waardoor aF en bF samen ineen beweging kunnen berekend worden.

4.3.2 Berekenen van LCC

In deze sectie wordt er getoond hoe de leveled cross-correlation kan berekend worden. Inplaats van (4.5) wordt er gebruik gemaakt van

Fl := aF (u, v)(x− lx2

) + bF (u, v)(y − ly2

) + cF (u, v) (4.8)

In het vervolg van dit hoofdstuk wordt aF (u, v) afgekort tot aF (en analoog bF en cF ) omde zaken wat duidelijker te maken.

Teller γl

De teller van de te berekenen uitdrukking luidt

T (u, v) =∑ΩT

[F (u+ x, v + y)− aF (x− lx2

)− bF (y − ly2

)− cF ][T (x, y)− aTx− bT y − cT ]

32

Page 45: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hiervan kan de tweede factor op voorhand berekend worden aangezien die onafhankelijkis van (u, v). De te berekenen noemer wordt

T (u, v) =∑

(x,y)∈ΩT

[F (u+ x, v + y)− aF (x− lx2

)− bF (y − ly2

)− cF ]Tl(x, y) (4.9)

Er kan bewezen worden (zie appendix A) dat dit zich laat vereenvoudigen tot

T (u, v) =∑

(x,y)∈Ω(u,v)

F (u+ x, v + y)Tl(x, y)

De teller van de leveled cross-correlation kan dus berekend worden met een kruiscorrelatie,na het verschil tussen T en het kleinste kwadraten-vlak door T berekend te hebben.

Noemer γl

Het kwadraat van de noemer van γl(u, v) (met de reeds berekende Tl terug in gebruikgenomen) luidt

N(u, v) =∑ΩT

[F (u+ x, v + y)− aF (x− lx2

)− bF (y − ly2

)− cF ]2∑

Ω(u,v)

Tl(x, y)2

De eerste factor wordt na uitwerking

F (u, v) =∑

(x,y)∈ΩT

[F (u+ x, v + y)2 + aF [aF (x− lx

2)2 − 2F (u+ x, v + y)(x− lx

2)]

(4.10)

+ bF [bF (y − ly2

)2 − 2F (u+ x, v + y)(y − ly2

)] (4.11)

+ cF [cF − 2F (u+ x, v + y)]]

(4.12)

Op het eerste zicht ontbreken een paar termen uit de som, maar die worden nul doorde symmetrische keuze van (4.8), wat deze niet voor de hand liggende keuze meteen ookverklaart. Van wat overblijft zijn de alle termen eenvoudig te berekenen, met uitzonderingvan

∑F (u+ x, v + y)2

Hiervoor wordt de running sums-techniek gebruikt, zoals voorgesteld voor de nor-malized cross-correlation in [7].

ΩTcF [cF − 2F (u+ x, v + y)]

Vanuit constructie geldt dat cF (u, v) het gemiddelde is van F over ω(u, v). Er geldtdus dat (lx + 1)(ly + 1)cF =

∑F (u+ x, v + y), waardoor de beschouwde term zich

laat vereenvoudigen tot

− [∑F (u+ x, v + y)]2

(lx + 1)(ly + 1)

en hiervoor kan terug de running sums-techniek gebruikt worden.

∑F (u+ x, v + y)(x− lx

2 ) en∑F (u+ x, v + y)(y − ly

2 )Deze twee termen zijn van dezelfde vorm als (4.9) en zijn dus ook berekenbaar meteen kruiscorrelatie.

33

Page 46: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Mogelijk hergebruik bij multitemplate strategieen

Het aantal bijkomende berekeningen nodig om een leveled cross-correlation uit te rekenenis aanzienlijk: bovenop de bewerkingen nodig voor de normalized cross-correlation komennog eens vier kruiscorrelaties (Ga, Gb, X en Y met F ). Als bij een multitemplate strategiemeerdere leveled cross-correlations berekend worden, dan zal de bijkomende uitvoeringstijdtegenover die benodigd voor de normalized cross-correlation des te groter zijn. Het loonthier dus extra de moeite om op te merken dat als er gecorreleerd moet worden met meerderetemplates van dezelfde grootte, er veel aan berekeningen kan bespaard worden. Zo is hetmogelijk om factor (4.12) volledig op voorhand te berekenen, wat een grote besparing kanzijn aangezien deze berekening het meeste tijd vraagt van een leveled cross-correlation.Merk op dat dit hergebruik van tussenresultaten ook kan toegepast worden bij normalizedcross-correlation. Het zal dus sowieso een goed idee zijn om templatestrategieen te volgendie templates met gelijke grootte gebruiken.

4.4 Motivatie voor het gebruik van LCC

In sectie 2.3.2 werd er van de scandata een kleinste kwadraten-vlak afgetrokken om komafte maken met de normaalafwijking. Het gebruik van de leveled cross-correlation maaktdeze stap overbodig door tijdens de kruiscorrelatieberekening deze correctie lokaal toe tepassen. Het voordeel hiervan is dat de vormparameters van het kleinste kwadraten-vlakdan enkel afhangen van de lokale data. Deze berekening zal dus geen last ondervinden vaneventuele aanwezigheid van ruis in andere gebieden, terwijl een globale normaalcorrectiehierdoor wel gestoord zal worden.

34

Page 47: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 5

Testresultaten

5.1 Testdata

In tabel 5.1 staat een lijst van testscans waarmee de methodes in de vorige hoofdstukkenzullen getest worden. Bij elk bestand staat de afkortingscode die zal gebruikt worden in degrafieken en tabellen, samen met het type (1 of 2, zie sectie 2.1) van het breukoppervlak.In de vierde kolom staat telkens de inscanresolutie van het betreffende bestand. Doordatniet alle oppervlakken met dezelfde nauwkeurigheid zijn ingescand, ontstaat er een verge-lijkingsprobleem. Om bijvoorbeeld de oppervlakken uit bestanden BG en FM10 te testenop overeenkomsten, zal de data uit BG moeten onderbemonsterd worden met factor twee.Als extra beproeving voor de te evalueren algoritmen werden de testen uitgevoerd met on-derbemonsterde versies van alle scans. Hierbij werd gebruikt gemaakt van een eenvoudigedichtste-buur herbemonstering, met verkleiningsfactor 4.

5.2 Templaterooster

5.2.1 Normalized cross-correlation

In deze test werden alle breukoppervlakscans van Type 1 (cf. 2.1) vergeleken met allescans van Type 2. Als templatestrategie werd het zgn. templaterooster uit sectie 3.3.5gebruikt. Hierbij werd het gebied dat in aanmerking komt (zie fig. 3.20) onderverdeeld in10×5 rechthoeken van dezelfde grootte. Voor elke vergelijkingscombinatie is in tabel 5.2.1een koppel getallen weergegeven: het eerste getal is κs, de som van alle stemmen in hetgevonden maximumgebied, het getal eronder is κ, het aantal stemmen dat terug gevondenwerd in dat gebied (cf. 3.3.3).

Behalve op de lijn van F18 is er telkens een tabelelement dat duidelijk zowel in stemsomals in stemaantal hoge ogen gooit. Er is dus telkens een sterke indicatie dat de tweedesbetreffende breukoppervlakken afkomstig zijn van dezelfde breuk. Dit blijkt voor alleaangeduide cellen weldegelijk te kloppen na manuele controle. Het ontbreken van eenduidelijke maximum op de rij van F18 doet vermoeden dat dit breukoppervlak geen matchheeft in de beschouwde testset. Aangezien alle andere scans van Type 2 al gekoppeld zijnaan hun tegenganger van Type 1, blijft enkel FM2 over als potentiele partner voor F18.Dit levert echter geen hoge score op zoals bij de andere geverifieerde paren. Na manuelecontrole blijkt inderdaad dat F18 en FM2 niet afkomstig zijn van hetzelfde breekmes.

35

Page 48: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Afkorting Bestandsnaam Type Resolutie (µm)BG breekmes-groot.SUR 1 2F12 final1.2.SUR 1 2F13 final1.3.SUR 1 2F144 final1.44.SUR 1 4F148 final1.48.SUR 1 4F14 final1.4.SUR 1 2F154 final1.54.SUR 1 4F155 final1.55.SUR 1 4F16 final1.6.SUR 1 2F18 final1.8.SUR 1 2BG1 breekmes-groot.1.SUR 2 2F146 final1.46.SUR 2 4F150 final1.50.SUR 2 4F152 final1.52.SUR 2 4F157 final1.57.SUR 2 4FM10 fmesje.10.SUR 2 2FM2 fmesje.2.SUR 2 2FM4 fmesje.4.SUR 2 2FM6 fmesje.6.SUR 2 2FM8 fmesje.8.SUR 2 2

Tabel 5.1: Lijst met de testbestanden

In tabel 5.2.1 zijn tegenstelling tot tabel 3.1 wel scores te vinden voor vergelijkingenmet scan BG1. Herinner dat scan BG1 een partiele scan van een breukoppervlak is,waarbij maar ruwweg 60% aan meetdata van het oppervlak beschikbaar is. Het gevolghiervan is dat hoogstens 60% van de 50 templates gekozen uit een scan van Type 1 kanterug gevonden worden in BG1. Dit blijkt ongeveer te kloppen met de waarde 25 uit detabel.

5.2.2 Leveled cross-correlation

Om tot tabel 5.2.2 te komen werd de bovenstaande test herhaald, maar dit keer werdgebruik gemaakt van de leveled cross-correlation uit hoofdstuk 4. Er is te zien dat hetaantal teruggevonden stemmen in het maximumgebied (onderste rijen van NCC en LCC),indien mogelijk, telkens hoger is bij de leveled cross-correlation. Dit geldt echter niet voorde som van alle stemwaarden, maar het verlies blijft beperkt.

36

Page 49: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM8

BG20.3 1.5 1.4 1.6 1.2 1.3 1.3 1.3 1.3 1.825.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0

F1441.1 29.1 1.3 1.4 1.1 1.3 1.1 1.1 1.3 1.72.0 38.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0

F1551.2 1.4 28.0 1.8 1.6 0.9 1.4 0.9 1.2 1.12.0 2.0 40.0 4.0 3.0 2.0 2.0 2.0 2.0 2.0

F1482.1 1.3 1.4 22.5 1.0 1.2 1.3 1.3 1.8 1.13.0 2.0 2.0 32.0 2.0 2.0 3.0 2.0 3.0 2.0

F1541.4 1.4 1.4 1.2 32.4 1.2 1.3 1.5 1.0 1.72.0 2.0 3.0 2.0 43.0 2.0 2.0 2.0 2.0 3.0

F160.9 1.1 1.1 0.7 1.0 36.8 1.0 1.2 1.0 1.42.0 2.0 2.0 2.0 2.0 47.0 2.0 2.0 2.0 3.0

F180.9 1.3 1.3 1.1 1.0 1.6 0.9 1.3 1.0 1.22.0 2.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0

F121.2 1.3 1.2 1.1 1.2 1.0 1.1 32.5 1.4 0.82.0 3.0 2.0 3.0 2.0 3.0 2.0 47.0 2.0 2.0

F131.5 1.4 1.2 1.1 1.5 1.5 0.9 1.0 40.4 2.12.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 50.0 3.0

F141.2 1.0 1.2 0.9 1.1 0.9 1.2 1.1 0.9 35.82.0 2.0 2.0 2.0 3.0 2.0 2.0 2.0 2.0 50.0

Tabel 5.2: Resultaten van een vergelijkingstest met templaterooster

BG1 F146 F150 F152 F157 FM10 FM4 FM6 FM8

NCC20.3 29.1 28.0 22.5 32.4 36.8 32.5 40.4 35.825.0 38.0 40.0 32.0 43.0 47.0 47.0 50.0 50.0

LCC20.3 30.2 29.3 30.0 32.8 35.4 35.7 38.9 36.329.0 42.0 43.0 42.0 44.0 50.0 48.0 50.0 50.0

Tabel 5.3: Vergelijking van matchscores bekomen met NCC en LCC

37

Page 50: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM8

BG14.6 1.0 1.6 1.9 1.2 1.8 0.9 1.2 1.8 1.323.0 3.0 4.0 4.0 3.0 2.0 3.0 3.0 5.0 2.0

F1441.2 15.6 1.9 2.2 1.5 1.6 1.6 1.6 1.6 1.73.0 22.0 4.0 5.0 4.0 2.0 2.0 2.0 2.0 4.0

F1551.2 1.4 16.1 2.1 1.6 1.1 1.4 1.6 1.5 1.03.0 4.0 23.0 5.0 4.0 3.0 3.0 2.0 4.0 3.0

F1481.9 1.7 1.7 16.6 1.3 1.2 1.1 1.5 1.0 1.44.0 4.0 4.0 24.0 4.0 2.0 4.0 4.0 3.0 2.0

F1542.0 1.1 2.4 1.3 9.4 1.4 1.8 1.9 1.3 1.35.0 3.0 6.0 2.0 13.0 3.0 3.0 3.0 3.0 3.0

F161.5 1.3 1.7 0.9 1.3 9.8 1.0 1.1 0.9 1.34.0 3.0 4.0 2.0 3.0 14.0 3.0 2.0 2.0 2.0

F181.8 1.2 1.2 1.2 1.0 1.2 1.0 1.1 1.5 0.95.0 4.0 4.0 3.0 3.0 2.0 2.0 2.0 3.0 3.0

F121.5 1.3 1.8 1.4 1.1 1.9 1.2 13.6 1.7 1.54.0 3.0 4.0 2.0 3.0 2.0 2.0 18.0 4.0 5.0

F131.1 1.0 1.2 1.2 2.0 1.2 1.1 1.3 9.2 1.23.0 3.0 3.0 3.0 6.0 2.0 3.0 2.0 13.0 2.0

F141.5 1.8 1.5 1.3 1.8 1.6 1.2 1.4 1.3 12.05.0 4.0 4.0 3.0 4.0 4.0 3.0 3.0 3.0 18.0

Tabel 5.4: Resultaten van een vergelijkingstest met 25 random templates

5.3 Random templates

In tabel 5.3 staan de resultaten van een vergelijkingstest waarbij een gerandomiseerde tem-platestrategie gebruikt is. Bij het vergelijken van scan A met Bi werd uit A 25 templatesmet een vast gekozen grootte (20% van de hoogte en 10% van de breedte van A). In detabel werden terug de cellen die een match voorstellen, aangeduid in het grijs. Deze keer isde overtuigingskracht van de behaalde scores minder dan in tabel 5.2.1. Dit komt omdater in tegenstelling tot de vorige test, hier geen beperking werd opgelegd aan de afkomstvan templates. In de vorige sectie werd het gebied waaruit een template kon geselecteerdworden, beperkt tot c op figuur 3.2, terwijl hier at random uit gebied a gekozen werd. Hetgevolg is dat er kans is dat een template gekozen wordt dat (een deel van) de inkepingbevat, of voor een deel uit ongeldige pixels bestaat.

Figuren 5.1 tem. 5.4 vergelijken de resultaten behaald bij een random templatestrategiemet respectievelijk 25 en 30 templates. De hoogte van de witte rechthoeken stelt κ voor,en de grijze oppervlakken staan voor κs. Men kan vaststellen dat de pieken die optredenhoger worden als er meer templates gekozen worden, terwijl de andere waarden ongeveergelijk blijven. Figuur 5.4 toont dat deze verhoging echter niet steeds spectaculair hoeft tezijn, aangezien de geschiktheid van de templates nog steeds afhangt van het toeval.

38

Page 51: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

25 templates

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

30 templates

Figuur 5.1: Vergelijkend resultaat voor F148

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

25 templates

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

30 templates

Figuur 5.2: Vergelijkend resultaat voor F155

39

Page 52: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

25 templates

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

30 templates

Figuur 5.3: Vergelijkend resultaat voor F18

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

25 templates

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

scor

e

30 templatesMatchresultaten voor F154

Figuur 5.4: Vergelijkend resultaat voor F154

40

Page 53: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

y

M2

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

100

200

300

x

y

M22

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

50

100

150

200

250

Figuur 5.5: De twee scans voor de blinde test

5.4 Blinde test

Voor deze test werden twee willekeurige breukoppervlakken een tweede maal ingescand.Zonder voorkennis van bij welke andere scan uit tabel 5.1 die twee samenhoren, werdgezocht naar een match met enkel de algoritmen hierboven beschreven. Deze zoektochtkan telkens twee uitkomsten hebben: ofwel is de herscan genomen van een mesfragmentdat een tegenhanger heeft in de testset en zal dit duidelijk worden, ofwel werd er hetmesfragment F18 of FM2 ingescand en zal er geen match gevonden worden.

De twee breukoppervlakken waarvoor een match moet gezocht worden staan afgebeeldop figuur 5.5. Zowel M2 als M22 blijken van Type 1 te zijn, dus er moet enkel gezochtworden naar matches in de set mesjes van Type 2.

Initiele match met templategrid

Eerst werd voor beide breukoppervlakken gezocht naar een tegenganger met behulp vaneen templategridstrategie. Van elke votemap werd het maximumgebied bepaald. Deresultaten hiervan zijn uitgezet op figuur 5.6. De hoogte van de twee pieken laat geen twijfeldat breukoppervlakken M2 en M22 samenhoren met scans FM4 en FM6 respectievelijk.

Bevestiging met graph matching

Om deze duidelijke match toch nog eens te bevestigen op een meer visuele manier, wordtgebruikt gemaakt van de graph matching techniek uit sectie 3.3.4. Hiervoor werden uitM2 en M22 respectievelijk 5 en 4 templates gekozen, waarmee FM4 en FM6 gecorreleerdwerden. Zoals te zien is op figuren 5.7 en 5.8 komen de gevonden complete grafen zowelqua structuur als relatieve ligging op de breukoppervlakken quasi perfect overeen.

Bemerk dat M2 en M22 (mesje2ndtry.SUR en mesje2ndtry.2.SUR) ingescand werden meteen resolutie van 4 µm, in tegenstelling tot FM4 en FM6, die met een fijnere granuleringvan 2 µm gedigitaliseerd werden. Het koppelen van de paren was toch mogelijk ondanksdat verschil.

41

Page 54: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

35

40

45

50

scor

e

Vergelijking met M2

BG1 F146 F150 F152 F157 FM10 FM2 FM4 FM6 FM80

5

10

15

20

25

30

35

40

45

50

scor

e

Vergelijking met M22

Figuur 5.6: Resultaat van matching mbv. een templategridstrategie.

y

FM4

500 1000 1500 2000 2500

20

30

40

50

60

70

80

y

M2

500 1000 1500 2000 2500

10

20

30

40

50

60

70

Figuur 5.7: Graphmatch tussen M2 en FM4

42

Page 55: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

y

FM4

500 1000 1500 2000 2500

10

20

30

40

50

60

y

M2

500 1000 1500 2000 2500

10

20

30

40

50

60

70

Figuur 5.8: Graphmatch tussen M22 en FM6

43

Page 56: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Hoofdstuk 6

Besluit

Het vooropgestelde doel van deze thesis was een methode te bedenken die aan de handvan nauwkeurige metingen van breukoppervlakken kan bepalen welke van die oppervlak-ken ontstaan zijn bij dezelfde breuk. De hoofdtechniek die hierbij gebruikt werd, is dekruiscorrelatie. Eerst werd de data onderworpen aan een tweetal voorbewerkingen, dieer voor moesten zorgen dat de correlatie tussen twee oppervlakken (beter) kon berekendworden. Er werd vastgesteld dat een matchtechniek met een grote template oa. doorgebreken van deze voorbewerkingen niet goed werkt. Daarop werden er alternatieve tech-nieken voorgesteld die gebruik maken van meerdere kleinere templates. Een eerste techniekgebruikt zgn. votemaps om de berekende informatie te bundelen en er werd een algoritmegegeven om een maat van gelijkenis af te leiden uit zo’n votemap. Een tweede tech-niek zoekt in de bekomen verzameling correlatiemaxima naar de best passende completegraaf om zo inzicht te geven in de matchkwaliteit van twee breukoppervlakken. Vervol-gens werd een uitbreiding voor de normalized cross-correlation geıntroduceerd: de leveledcross-correlation. Deze maakt een van de eerder gebruikte voorbewerkingen overbodigen verbetert de matchkwaliteit. Tenslotte werden de voorgestelde algoritmes met succesgetest op een aantal scans van breukoppervlakken. Bij het maken van deze thesis werdvanuit persoonlijke interesse veel aandacht besteed aan een elegante implementatie van devoorgestelde algoritmes.

44

Page 57: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Bijlage A

Ondersteunend bewijs

Gegeven:

T ∈ Rm×n

aX + bY + cI = 0, een kleinste kwadraten benadering voor Tmet Xij := j en Yij := i

Te bewijzen:

∑i,j

(T − aX − bY − cI) •X = 0 (A.1)

∑i,j

(T − aX − bY − cI) • Y = 0 (A.2)

∑i,j

(T − aX − bY − cI) = 0 (A.3)

Bewijs:

Definieer: Ξ : Rm×n → Rmn, A 7→ v|vi+(j−1)m := Aij

Noem t := Ξ(T ), x := Ξ(X), y := Ξ(Y ) en ι := Ξ(I), dan kan (A.1) herschreven wordenals:

< t− ax− by − cι, x >= 0

Aangezien a = [a b c] kan bepaald worden met a = Gt, waarbij G := (MTM)−1MT enM := [x y ι] (zie 4.3.1), kan dit nogmaals herschreven worden als:

< t−M(Gt), x >= 0

< t−M(MTM)−1MT t, x >= 0

< (Imn −M(MTM)−1MT )t, x >= 0

< Kt, x >= 0

Een analoge afleiding voor (A.2) en (A.3) levert < Kt, y >= 0 en < Kt, ι >= 0Wil K nu een operator zijn die een willekeurige vector t afbeeldt op een vector die loodrecht

45

Page 58: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

staat op x, y en ι (K is dan een projectie op het hypervlak loodrecht op x, y en ι), danmoet gelden:

Kx =−→0

Ky =−→0

Kι =−→0

(A.4)

Of korter:KM =

−→0 mn,3

Nu isKM = (Imn −M(MTM)−1MT )M

= M −M(MTM)−1MTM =−→0 mn,3

Merk op dat dit bewijs niet steunt op de specifieke definitie van X en Y ; het zal dus ookgelden zoals toegepast in sectie 4.3.2.

46

Page 59: Algoritmen voor het vergelijken van 3D-breuklijnen en ...lib.ugent.be/fulltxt/RUG01/001/312/184/RUG01-001312184_2010_000… · Algoritmen voor het vergelijken van 3D-breuklijnen en

Bibliografie

[1] Johan De Bock. Computeralgoritmen voor het oplossen van legpuzzels. Master’s thesis,Universiteit Gent, 2003.

[2] K. Briechle and U. D. Hanebeck. Template matching using fast normalized crosscorrelation.

[3] Lisa Gottesfeld Brown. A survey of image registration techniques. ACM Comput.Surv., 24(4):325–376, 1992.

[4] Horst Bunke and Guido Kaufmann. Jigsaw puzzle solving using approximate stringmatching and best-first search. In CAIP ’93: Proceedings of the 5th InternationalConference on Computer Analysis of Images and Patterns, pages 299–308, London,UK, 1993. Springer-Verlag.

[5] David B. Cooper et al. Assembling virtual pots from 3d measurements of their frag-ments. In VAST ’01: Proceedings of the 2001 conference on Virtual reality, archeology,and cultural heritage, pages 241–254, New York, NY, USA, 2001. ACM Press.

[6] Qi-Xing Huang, Simon Flory, Natasha Gelfand, Michael Hofer, and Helmut Pott-mann. Reassembling fractured objects by geometric matching. ACM Trans. Graph.,25(3):569–578, 2006.

[7] J.P. Lewis. Fast Normalized Cross-Correlation. Vison Interface, pages 120–123, 1995.

[8] Georgios Papaioannou, Evaggelia-Aggeliki Karabassi, and Theoharis Theoharis. Re-construction of three-dimensional objects through matching of their parts. IEEETransactions on Pattern Analysis and Machine Intelligence, 24(1):114–124, 2002.

[9] Simon Winkelbach, Markus Rilk, Christoph Schonfelder, and Friedrich M. Wahl. Fastrandom sample matching of 3d fragments. In DAGM-Symposium, pages 129–136, 2004.

47