Template matching algorithme

Wiskunde is niet alleen een vak op school. Kom je ergens in de praktijk (bijvoorbeeld tijdens je werk) een wiskundig probleem tegen dan kun je hier om hulp vragen.
Plaats reactie
pixebility
Vast lid
Vast lid
Berichten: 77
Lid geworden op: 20 okt 2010, 14:37

Template matching algorithme

Bericht door pixebility » 20 mar 2014, 13:51

Hallo allemaal,

Ik wil graag weten hoe template algoritmen werken. Bij template matching zoek je aan de hand van een Template T naar een vergelijkend gebied in een afbeelding I wat resulteert in een resultaat matrix R. In R zal de positie van de match en de resulterende score staan.
Hieronder is één van de mogelijke algoritmen om dit te bereiken weergegeven.

De x en y variabelen zullen de kolommen en rijen in de afbeelding aanduiden lijkt mij. Maar wat betekend x' en y' in het onderstaande algoritme?



Andere algoritmen zijn te vinden op:
http://docs.opencv.org/doc/tutorials/im ... ching.html

arie
Moderator
Moderator
Berichten: 3917
Lid geworden op: 09 mei 2008, 09:19

Re: Template matching algorithme

Bericht door arie » 20 mar 2014, 19:13

x' en y' zijn de coördinaten binnen je template.
Je template leg je boven op je image I, waarbij x en y de indices zijn van de linker bovenhoek van je template. Je verschuift je template als een window over je image.
Voor elke positie van je template (x, y) op je image bereken je vervolgens de overeenkomst van elk pixel met in het template (x', y') met de pixel van de image (x + x', y + y').
De kwadraten van al die verschillen tel je bij elkaar op en die geven je resultaatwaarde R(x, y).

Voorbeeld:

Template:
1 2 3
6 5 4
Waardoor de afmetingen zijn x' = 2 en y' = 3

Image:
12 34 56 78 90
13 24 35 46 68
22 33 44 55 66
85 49 33 27 11

R(0, 0): leg je template met linksbovenhoek op image(0, 0) en bereken de som:
R(0, 0) = (1 - 12)^2 + (2 - 34)^2 + (3 - 56)^2 + (6 - 13)^2 + (5 - 24)^2 + (4 - 35)^2

R(1, 2): leg je template met linksbovenhoek op image(1, 2) en bereken de som:
R(1, 2) = (1 - 35)^2 + (2 - 46)^2 + (3 - 68)^2 + (6 - 44)^2 + (5 - 55)^2 + (4 - 66)^2

Als R(p, q) = 0 heb je een perfecte match van je template met je image locatie.
Hoe lager R, hoe beter je template op die plek op je image past.

pixebility
Vast lid
Vast lid
Berichten: 77
Lid geworden op: 20 okt 2010, 14:37

Re: Template matching algorithme

Bericht door pixebility » 21 mar 2014, 09:30

Arie bedankt weer! Je weet het elke keer weer goed uit te leggen. Wat ik zelf inmiddels had bedacht is dat x' en y' relatief zijn aan x en y. Als ik je goed begrepen heb klopt dat inderdaad. Het kwadrateren deed ik blijkbaar nog niet goed ik had eerst de opsomming gedaan en daarna pas het kwadrateren.

Plaats reactie