Return to site

3D dak-modellen uit luchtfoto’s

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

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 gebruiken 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 worden automatisch de overeenkomstige pixels tussen deze foto’s gevonden. 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).

Stereo-luchtfoto en disparity-map

Figuur 1. Stereo-luchtfoto en disparity-map

Puntenwolk van het gebouw uit luchtfoto

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 zou zijn 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. Wat nog een 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 worden op basis van de oorspronkelijke luchtfoto de vlakken met een gelijke kleur bepaald. In een tweede stap worden deze kleurvlakken gecombineerd 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.

Bepalen van 3D dakvlakken uit stereo-luchtfoto's

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 gebruik maken van een laptop met een Intel i7 2.8GHz quadcore processor. In een gemiddelde gemeente in Nederland staan ongeveer 25.000 gebouwen waardoor we zo zelfs op een normale laptop binnen twee uur een hele gemeente kunnen verwerken.

Luchtfoto van rijtjeshuizen in Nederland

Figuur 4. Luchtfoto van rijtjeshuizen

3D dakmodellen van rijtjeshuizen

Figuur 5. 3D dakmodellen

Conclusie

De ontwikkelde methode om 3d dak-modellen te genereren is bruikbaar om grote aantallen gebouwen efficiënt te verwerken. Doordat de methode alleen gebruik maakt van stereo-luchtfoto’s en gebouwcontouren kunnen we ook dak-modellen genereren als er geen LiDAR-data beschikbaar is of als deze veroudert is. 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 READAAR bezig om binnen Nederland deze methode te integreren met haar bestaande 3D dak-modellen uit LiDAR-data. Deze combinatie biedt het voordeel van beide methodes: de meest recente en accurate data over daken.

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly