Puntenwolken uit foto's

https://geodelta.com/uploads/Omnibase-Screenshot-11_19_2024-10_24_20-PM.png

Meten in foto's vereist dat hetzelfde punt in meerdere foto's wordt gedetecteerd. Door dat te doen voor iedere pixel ontstaat een hele dichte set aan metingen: een puntenwolk. Deze techniek heet Dense Matching.

en camera is een passief meetsysteem waarbij gereflecteerd zon- of kunstlicht door foto’s wordt geregistreerd. In tegenstelling tot laserscanning, dat een actief meetsysteem is, is bij foto’s een extra verwerkingsstap nodig om uit de foto’s puntenwolken te creëren. Dat gebeurt door corresponderende punten in overlappende foto’s te vinden, waarna de X,Y,Z-coördinaten van de betreffende objectpunten worden berekend.

In digitale beelden kan het vinden van corresponderende punten automatisch worden gedaan met image matching technieken, ook wel Structure from Motion (SfM) genoemd. De drie belangrijkste methoden zijn: (1) Area-based (ABM), (2) Feature-based (FBM) en (3) Semi-Global Matching (SGM). ABM en FBM zijn lokale methoden.

Lokale Methoden

Bij lokale methoden worden eerst kleine beeldvensters met voldoende contrast of textuur – target patches – in het ene beeld opgespoord. Het opsporen en gebruik van zulke beeldvensters met distinctive points is belangrijk om een betrouwbare match te krijgen. Het corresponderende punt in de overlappende foto is bij benadering bekend uit de positie en stand van de camera tijdens de opname van de foto’s en globale informatie over de lokale hoogteverschillen.

Een van de manieren om bij ABM corresponderende punten te vinden is door het target patch pixel voor pixel te schuiven over een zoekvenster in het andere beeld – search patch – en voor elk pixel een similariteitsmaat te berekenen (Figuur 1). Vaak wordt kruiscorrelatie gebruikt die waarden aanneemt tussen -1 en +1. Het pixel met de hoogste similariteitswaarde is het corresponderende punt. In een vervolgberekening kan de ligging van dit punt met subpixel-nauwkeurigheid worden bepaald. Een nadeel van kruiscorrelatie en andere statistische maten is dat er weinig verschil mag zijn in opnamehoeken; de overlappende foto’s moeten min of meer parallel aan elkaar zijn.

9

Figuur 1 - Schuiven van een venster van de ene foto (target patch) over een zoekvenster in de andere foto (search patch); voor elk pixel wordt een similariteitswaarde berekend (R). Alleen voor de pixels waar R groter is dan een drempelwaarde staat deze in groen aangegeven.

Een speciale ABM methode is matching gebaseerd op de kleinste kwadraten methode – Least-Squares Matching (LSM) – die grote verschillen in opnamehoeken tussen de twee foto’s aankan en zeer nauwkeurig is. Nadeel is dat de onderlinge ligging van de corresponderende punten op enkele pixels nauwkeurig bekend moet zijn. Hierdoor is deze methode vooral geschikt om de ligging van de corresponderende punten in zeer nauwkeurige x,y-beeldcoördinaten vast te leggen nadat met een andere methode een grovere match is gevonden.

Bij FBM worden de grijswaarden niet direct gebruikt voor het berekenen van de similariteit. Eerst worden de grijswaarden in beide vensters omgerekend naar features waarvoor de eerste of tweede afgeleiden van de grijswaarden nodig zijn. De afgeleiden worden berekend met digitale differentiatie-operatoren (Figuur 2). Vervolgens worden de waarden van de features van een punt in het target patch vergeleken met die van de features van punten in het zoekvenster. Het punt waarvan de features het beste overeenkomen is het gezochte punt. Vaak wordt daarna LSM toegepast om de nauwkeurigheid van de X,Y,Z-coördinaten te verhogen.

2

Figuur 2 - FBM: met digitale operatoren (links) worden grijswaarden van de foto éénmaal (midden) of tweemaal (rechts) gedifferentieerd; uit de afgeleiden worden features berekend.

Om mismatches bij ABM en FBM op te sporen wordt gekeken of de punten voldoende goed liggen op een vooraf gedefinieerd oppervlak dat met een wiskundig model wordt beschreven. De punten die niet (bij benadering) op dat oppervlak liggen worden als foute matches verwijderd. Deze check op globale consistentie wordt uitgevoerd als laatste stap en vormt geen onderdeel van de matching zelf.

De lokale methoden zijn snel en zeer nauwkeurig en worden daarom vooral toegepast bij de nauwkeurige co-registratie van overlappende foto’s. Zij zijn minder geschikt voor het vervaardigen van dichte puntenwolken om de volgende redenen:

  • In gebieden met weinig textuur of gering contrast kunnen geen of onbetrouwbare matches worden gevonden; de puntdichtheid is hier laag met als gevolg een heterogene verdeling van punten wat voor veel toepassingen ongunstig is
  • In gebieden met repetitieve patronen treden foutieve matches op (Figuur 3)
  • Bij occlusie en hoge gebouwen (plotselinge hoogtesprongen) is het onmogelijk of moeilijk om matches te vinden
3

Figuur 3 - Repeterende patronen, zoals uitgelijnde parkeervakken, leiden tot meerduidigheid met mismatches tot gevolg.

Semi-global Matching (SGM)

De idee van global matching is dat matching en globale consistentie, in tegenstelling tot lokale methoden, zijn geïntegreerd en dus tegelijkertijd worden uitgevoerd. Het was allang bekend dat global matching dichte puntenwolken oplevert, maar implementatie leek ondoenlijk wegens hoge berekeningstijden en geheugengebruik. Met de toenemende vraag naar dichte puntenwolken werd het vinden van een oplossing steeds knellender. Rond 2010 leidde de combinatie van toename in computerkracht en de ontwikkeling van een slimme manier om global matching te reduceren van een 2D-probleem tot een quasi 1D-probleem tot een snelle opkomst van dense image matching technieken gebaseerd op semi-global matching (SGM). Hierbij worden niet alle pixels in de overlap van de foto’s gebruikt maar alleen pixels die liggen op 8 of 16 symmetrisch paden in de overlap (Figuur 4). Hierdoor wordt een goede benadering van global matching verkregen terwijl de methode snel is.

4

Figuur 4 - Semi-global matching waarbij 8 symmetrische paden worden gebruikt. De richtingen van de paden komen overeen met rijen, kolommen en de twee diagonalen van de digitale foto.

Hoe breng je lokale matches en globale consistentie in één wiskundige formule bij elkaar zodat ze tegelijkertijd kunnen worden uitgevoerd? Dit kan door de lokale similariteitswaarden over de paden bij elkaar op te tellen en van de som strafpunten af te trekken wanneer naburige pixels weliswaar matchen maar hun hoogteverschillen groot zijn vergeleken met het vooraf gedefinieerde model van het oppervlak.

SGM is een algemene methode en kan op veel manieren worden geïmplementeerd. Het is thans onderdeel van een tiental commerciële fotogrammetrische softwarepakketten, vaak als afzonderlijke module van een groter pakket. De hoge mate van detail die in een fotogrammetrische puntenwolk gecreëerd met SGM bereikt kan worden, is te zien in Figuur 5.

5

Figuur 5 - Een puntenwolk van een bebouwd gebied vervaardigd met semi-global matching uit overlappende foto’s opgenomen vanuit een drone. Merk op de goede reconstructie van het witte gebouwtje met nauwelijks contrast en textuur.

Image matching is net als laserscanning een niet selectieve meettechniek. Ongewenste objecten moeten worden verwijderd en dat kan automatisch met digitale filters worden gedaan. Maar deze filtertechnieken werken nooit perfect en een arbeidsintensieve visuele check is altijd nodig.

De geometrische kwaliteit van puntenwolken uit Dense Matching is sterk afhankelijk van de kwaliteit van de gebruikte invoerdata. Het is belangrijk dat alle lensvertekeningsparameters goed worden toegepast en dat de juiste stand posities van de beelden wordt gebruikt. Doordat veel software prioriteit legt bij verwerkingssoftware en mooie resultaten, is de geometrische kwaliteit van dit soort puntenwolken sterk wisselend. Dat is met name het geval bij oppervlakten met weinig textuur en bij puntenwolken die over hele grote gebieden worden berekend. Een goede kwaliteitscontrole is daarom belangrijk.

Meer artikelen