Achtergrond
De bouwsector is verantwoordelijk voor een substantieel deel van het grondstoffengebruik en produceert een heleboel afval. Om de milieu-impact van de sector te verminderen is het implementeren van circulaire oplossingen van cruciaal belang. Een oplossing is om gebouwelementen een tweede leven te geven, door ze te hergebruiken. Het inventariseren van de aanwezige gebouwelementen en hun exacte aantallen is daarin een belangrijke eerste stap. Deze inventarisatie is echter een tijdrovend proces, zeker als het om grote aantallen elementen gaat. Hoe kan dit proces vergemakkelijkt worden? En is dit mogelijk met betaalbare middelen? Voor het antwoord op deze vragen voerde Buildwise twee cases uit in samenwerking met Rotor vzw in het kader van de projecten DigitalDeconstruction en FCRBE, beide gesteund door Interreg North-West Europe.
Wat?
In een eerste case werd onderzocht of het exterieur van een gebouwencomplex snel kan worden verwerkt tot een digitaal gebouwmodel, en hoe dit kan worden bewerkstelligd met betaalbare en mobiele apparatuur. In deze tweede case wordt gekeken of het verkregen digitale model vervolgens kan worden gebruikt om automatische tellingen van elementen op uit te voeren met behulp van kunstmatige intelligentie (Artificial Intelligence, hierna afgekort tot ‘AI’). Het einddoel van de cases is het testen van de mogelijkheid om snelle, accurate tellingen te verrichten van elementen met potentieel voor hergebruik.
Telling van elementen met AI
In de eerste case zagen we dat fotogrammetrie en 360-graden camera’s ingezet kunnen worden om snel digitale gebouwmodellen van middelhoge kwaliteit te genereren. Op basis van fotogrammetrie kunnen – na correcte schaling – reeds allerhande afstanden, oppervlakken en volumes van het digitale gebouwmodel worden bepaald. Wat louter op basis van fotogrammetrie echter niet zonder meer kan, is het maken van verdergaande inventarisaties, zoals het tellen van individuele elementen. In samenwerking met Rotor vzw werd bekeken of AI kon worden ingezet om deze tellingen alsnog mogelijk te maken. Specifiek werd gekeken naar de mogelijkheid tot het automatisch tellen van de op deze locatie talrijk aanwezige kasseien, die veel potentieel hebben voor hergebruik.
Allereerst bleek dat het gebruik van 360-gradenfoto’s hiertoe niet ideaal is. Zonder aanpassing is op dergelijke foto’s namelijk ook de voet van de driepoot zichtbaar die werd gebruikt om de foto’s te maken, en die het zicht op de te herkennen kasseien dus gedeeltelijk blokkeert. Het gebruik van een kleinere driepoot zou dit probleem verminderen, echter dit heeft dan weer het nadeel dat de driepoot makkelijk om kan waaien als er wind staat, wat funest zou zijn voor de 360-gradencamera die erop gemonteerd is. Als oplossing voor deze case werd de driepoot door middel van zogeheten masking uit het digitale model verwijderd:Buioddkk
Gaat het daarom niet aanvullend om het verkrijgen van een compleet digitaal gebouwmodel en eerder uitsluitend om het verkrijgen van een foto van oppervlakken waarin elementen moeten worden gekwantificeerd, dan ligt het gebruik van een reguliere camera meer voor de hand. Om de automatische AI-tellingen mogelijk te maken, werden allereerst voorbeeldfoto’s van kasseien gelabeld. Dit is een techniek waarin handmatig op foto’s wordt aangegeven waar elke kassei op de foto staat, zoals te zien in deze video:
Zoals uit de video blijkt, gaat het handmatig labelen van dergelijke foto’s met flink wat tijd gepaard. Er zijn echter ook mogelijkheden om dit proces te versnellen. Een voorbeeld daarvan is pseudolabeling. Daarmee is het mogelijk om een paar foto’s te labelen, daar alvast een AI-netwerk van te laten leren, en dit netwerk nieuwe foto’s automatisch van labels te laten voorzien. De zo verkregen automatische labels zullen dan niet altijd correct zijn, maar het achterliggende idee is dat het handmatig corrigeren van deze fouten nog altijd sneller gaat dan alles helemaal handmatig te labelen. Na het labelen van de foto’s is de volgende stap om het netwerk te ‘trainen’. Dit is een proces waarin het netwerk op basis van de voorbeelden zelf leert om de gewenste objecten te herkennen, in dit geval de kasseien. Voor deze case werd een licht neuraal netwerk gebruikt, waardoor de kwaliteit van de herkenningen echter vermindert, maar dat dan weer als voordeel heeft dat het met een redelijke snelheid kan worden gebruikt op betaalbare mini-pc’s en zelfs op de betere smartphones. Voor het met AI automatisch herkennen van objecten is dus niet per definitie een snelle workstation pc nodig, wat het gebruik vergemakkelijkt.
Als voorbeeld van het resultaat van de AI-herkenningen zijn er in de foto hieronder twee rode kaders aangegeven op de grond met kasseien. In de foto’s daaronder is te zien hoe de kasseien in de kaders automatisch zijn herkend en op basis daarvan gekwantificeerd kunnen worden:
Als we goed kijken dan zien we dat de telling in het rechter vierkant niet 100 % perfect is. Zonder aanpassingen herkent het netwerk namelijk alleen die kasseien die visueel zichtbaar zijn op de foto. Daardoor werden er rechtsonder in het rechtervierkant kasseien niet herkend, omdat ze bedekt zijn met sterke begroeiing. Wil men een schatting laten maken van de kasseien die op de foto’s niet goed zichtbaar zijn, dan kan daarvoor als oplossing een script worden geschreven. Een duidelijk voordeel van het gebruikte netwerk is dat het afhankelijk van de beschikbare rekenkracht in staat is om de kasseien zeer snel te herkennen en te kwantificeren, ook als er verschillen zijn in het legpatroon. Het nadeel is zogezegd dat zonder nadere aanpassingen sommige kasseien ongeteld kunnen blijven door begroeiing of andere typen van bedekkingen.
Conclusies van deze case in het kort
- Gaat het louter om het maken van tellingen op grondoppervlakken, dan ligt het gebruik van een reguliere camera meer voor de hand dan een 360-gradencamera, omdat in het laatste geval de driepoot van de camera digitaal uit de foto´s moet worden verwijderd.
- Automatische AI-tellingen van elementen zoals kasseien zijn mogelijk gebleken in deze case en kunnen wegens hun hoge snelheid een tijdsbesparing opleveren en daarnaast potentieel nauwkeuriger zijn dan handmatige tellingen.
- Er zijn stappen mogelijk om de inzetbaarheid van AI-tellingen verder te verbeteren. Ten eerste door het beschikbaar maken van AI-netwerken die veelvoorkomende elementen kunnen tellen. Ten tweede door verhoging van het gebruiksgemak door de AI-netwerken af te stellen voor gebruik op betaalbare mobiele apparatuur zoals smartphones en tablets.
In detail:
Voor het mogelijk maken van de tellingen van de kasseien moest allereerst de driepoot uit de 360-gradenfoto’s worden verwijderd door middel van masking. Daar waar het uitsluitend gaat om het vastleggen van een grondoppervlak, concluderen we dat het meer voor de hand ligt om daarvoor plaatsvervangend een reguliere camera te gebruiken.
Met het getrainde AI-netwerk konden de op de foto’s duidelijk zichtbare kasseien nauwkeurig worden geteld. Voor de deels of geheel bedekte kasseien zijn er twee mogelijkheden. De eerste mogelijkheid is het uitvoeren van een handmatige telling op die delen waarin de kasseien niet goed zichtbaar zijn. Een tweede mogelijkheid is het gebruik van een script dat de herkenningen analyseert, en op basis van enkele rule sets alsnog een schatting maakt van het aantal kasseien dat niet is herkend in de voorgaande stap. Het directe voordeel van een automatische telling van kasseien was vrij evident in deze case: de vorm van het oppervlak en de legpatronen van de kasseien waren her en der onregelmatig van vorm, wat het maken van een accurate handmatige schatting van het aantal kasseien bemoeilijkt. De herkenning van het AI-netwerk komt hier dan ook van pas, omdat dit het aantal kasseien nauwkeurig kan bepalen. Dit kan onafhankelijk van de vorm van het oppervlak of het gebruikte legpatroon, met daarbij de voornoemde beperkingen voor niet of deels zichtbare kasseien. Een volgende potentiële stap is het beschikbaar maken van AI-netwerken die veelvoorkomende elementen kunnen tellen. Daarnaast kan het gebruik van AI-netwerken worden vergemakkelijkt door de automatische tellingen mogelijk te maken op mobiele en betaalbare hardware, zoals een reguliere smartphone of tablet.
Deze case werd mede mogelijk gemaakt door ondersteuning van de volgende projecten: