Cookie instellingen

  • Wij plaatsen functionele cookies, waarmee wij het gebruik van de website kunnen meten.

nlen
Terug naar overzicht

3D dakmodellen uit luchtfoto’s door stereo matching

Bij Readar gebruiken we 3D dakmodellen als input voor onze asbestinventarisaties en diverse dataproducten over gebouwen. Op dit moment genereren we dakmodellen uit LiDAR data (in Nederland het AHN). Maar wat als de LiDAR data niet up-to-date zijn? Of als de data helemaal niet beschikbaar zijn? Kunnen we dan de jaarlijkse (stereo) luchtfoto’s gebruiken? Tijdens zijn master thesis bij Readar en de TU Delft onderzocht Martijn Vermeer dit. Hij ontwikkelde een zeer efficiënte methode om 3D dakmodellen direct uit luchtfoto’s te genereren met behulp van stereo matching.

Stereo Matching

Een bekende techniek om 3D informatie uit stereo-luchtfoto’s te halen is stereo matching. In het GEO-vakgebied gebruiken we dan meestal software die in één keer alle luchtfoto’s in een groot aaneengesloten gebied verwerkt tot een enorme puntenwolk. Dit is een inefficiënt en duur proces als we slechts geïnteresseerd zijn in een paar gebouwen verspreid over het land.

Daarom hebben we voor deze toepassing een gerichtere aanpak. We gebruiken de gebouwcontour om de 2 beste afbeeldingen uit de database met stereo-luchtfoto’s te selecteren. Hieruit wordt alleen het deel waar het gebouw op staat geknipt. Deze twee afbeeldingen noemen we het stereopaar  (zie figuur 1).

Vervolgens vinden we automatisch de overeenkomstige pixels tussen deze foto’s . De verschuiving van de pixels tussen de twee afbeeldingen vormt de zogeheten disparity-map. Objecten dicht bij de camera hebben een grotere verschuiving dan objecten verder weg. Op deze manier geeft de disparity informatie over de diepte en kunnen we voor elke pixel in de disparity-map de hoogte berekenen. De disparity-map wordt zo omgezet in een 3D puntenwolk van het gebouw (zie figuur 2).

Figuur 1. Stereo-luchtfoto en disparity-map

Figuur 2. Puntenwolk van het gebouw berekend op basis van de stereo-luchtfoto

Bepalen 3D dakvlakken

De tweede uitdaging is om de dakvlak contouren te bepalen. De meest voor de hand liggende aanpak is om direct de puntenwolk te gebruiken. Als we voor elk punt de normaalvector bepalen, kunnen we de punten hierop groeperen om alle afzonderlijke dakvlakken te vinden. Het nadeel hiervan is dat zo de kleurinformatie niet wordt gebruikt. Een nog groter probleem is dat puntenwolken uit luchtfoto’s vaak te veel ruis bevatten om de normaalvectoren nauwkeurig te bepalen.

Daarom gebruiken we een aanpak die bestaat uit twee stappen. Eerst bepalen we de vlakken met een gelijke kleur basis van de oorspronkelijke luchtfoto. Vervolgens combineren we deze kleurvlakken op basis van de hoogtedata, om zo de complete 3D-dakvlakken te vinden. De dakvlakken worden omgezet in polygonen die samen het 3D dakmodel vormen. Dit proces is zichtbaar in figuur 3.

Figuur 3. Bepalen van 3D dakvlakken uit stereo-luchtfoto’s

Resultaten

In figuur 4 is een luchtfoto te zien van een gebied met rijtjeshuizen. Met bovenstaande methode zijn in dit gebied 93% procent van de dakvlakken groter dan 1m2 gedetecteerd (zie figuur 5). Dakvlakken die niet worden gedetecteerd zijn vooral de kleinere dakvlakken en dakvlakken in de schaduw. In de schaduw is het contrast lager, waardoor het lastiger is om overeenkomstige pixels in het stereopaar te vinden. Bovendien zijn de grenzen tussen kleurvlakken moeilijker te detecteren in de schaduw. Het is in de schaduw moeilijk te zien waar een dakvlak begint en eindigt.

De gemiddelde verwerkingstijd voor één gebouw is een kwart seconde, ofwel 14.400 gebouwen per uur, waarbij we gebruikmaken van een laptop met een Intel i7 2.8GHz quadcore processor. In een gemiddelde gemeente in Nederland staan ongeveer 25.000 gebouwen. Hierdoor kunnen we zelfs op een normale laptop binnen twee uur een hele gemeente verwerken.

Figuur 4. Luchtfoto van rijtjeshuizen

Figuur 5. 3D dakmodellen

Conclusie

De ontwikkelde methode om 3D dakmodellen te genereren is bruikbaar om grote aantallen gebouwen efficiënt te verwerken. Doordat de methode alleen gebruikmaakt van stereo-luchtfoto’s en gebouwcontouren, kunnen we ook dakmodellen genereren als er geen LiDAR-data beschikbaar zijn of als deze verouderd zijn. Het grootste deel van de dakvlakken wordt betrouwbaar bepaald, maar in gebieden met veel schaduw is er ruimte voor verbetering. Om dit nadeel te ondervangen is Readar bezig om binnen Nederland deze methode te integreren met haar bestaande 3D-dakmodellen uit LiDAR-data. Deze combinatie biedt het voordeel van beide methodes: de meest recente en accurate data over daken.