Lokaliseren van lantaarnpalen
- Publicatiecategorie
- Overige algoritmes
- Impacttoetsen
- Veld niet ingevuld.
- Status
- In gebruik
Algemene informatie
Thema
- Ruimte en infrastructuur
- Verkeer
Begindatum
Contactgegevens
Link naar publiekspagina
Verantwoord gebruik
Doel en impact
Het doel van het systeem is het updaten van de registratie van lantaarnpalen. Deze registratie wordt gebruikt voor asset management (o.a. onderhoud) van openbare verlichting. Het systeem detecteert lantaarnpalen in 3D-puntenwolken. Vervolgens berekent het eigenschappen van de lantaarnpalen, zoals de exacte locatie van de onderkant en de top van de lantaarnpaal, en de hoek die deze maakt met de grond.
Afwegingen
Menselijke tussenkomst
Elke gevonden lantaarnpaal (en de bijbehorende fit) is gecheckt door een mens.
De informatie over de gevonden lantaarnpalen die makkelijk te matchen zijn met de bestaande registratie, wordt automatisch opgenomen in deze registratie.
De gevonden lantaarnpalen die niet zo makkelijk te matchen zijn met de bestaande registratie worden nogmaals in meer detail gecheckt door experts, voordat de informatie over deze palen gebruikt wordt.
Niveau van menselijke controle: human-in-command
Risicobeheer
Het systeem is weinig risicovol, omdat de data niet erg gevoelig is en de uitkomsten door mensen worden gecontroleerd voor we ze gebruiken.
Large scale data processing
- Risicobeschrijving: Large scale data processing (segmentatie van alles wat er vanaf de weg te zien is, gevoel onderdeel te zijn van een machine, geautomatiseerd systeem)
- Frequentie: Laag
- Beschrijving van risicobeperking: Communicatie. We leggen uit dat we niet alles gebruiken en dat alles wordt gecontroleerd door mensen.
- Mitigatiestatus: Voltooid
- Waarschijnlijkheid: Laag
- Schaal: Laag
- Ernst: Laag
Location data
- Risicobeschrijving: Location data (weten waar alles is kan misschien behulpzaam zijn voor mensen met kwade bedoelingen)
- Frequentie: Laag
- Mitigatiestatus: Niet gestart
- Waarschijnlijkheid: Laag
- Schaal: Laag
- Ernst: Laag
Non-discriminatie: We verwachten dat het model het beste presteert in gebieden die lijken op de gebieden waarop het model getraind is (in dit geval zelfde vormen lantaarnpalen en uiterlijk van de omgeving). We willen proberen we de impact van (de kwaliteit van) het model gelijk te houden voor verschillende groepen. Daarom is er gekozen voor Amsterdam Oost als locatie voor het trainen van het model, omdat dit stadsdeel een divers straatbeeld en een diverse populatie heeft.
Werking
Gegevens
Naam: 3D puntenwolken
Datasetbeschrijving
De inputdata zijn de 3D puntenwolken gemaakt met een LiDAR-scanner in 2020. De punten hebben x-, y-, z-coördinaten, een kleur en intensiteit.
De punten worden eerst semantisch gesegmenteerd en daarna geclusterd tot individuele lantaarnpalen.
Voor het trainen van het model is een subset van de data gebruikt, van 50 stukjes in Amsterdam Oost. Deze subset is geannoteerd. Dit is deels automatisch gedaan en daarna verbeterd door een mens. De eerste tests zijn verricht in Weesp en de Oosterparkbuurt in Amsterdam Oost. Het uiteindelijke operationele model gebruikt de dataset van heel Amsterdam.
Voor de automatische annotatie gebruiken we ook AHN4 en BGT data om bijvoorbeeld de grond en de locatie van gebouwen vast te stellen.
- Licentie: Gebruiksrecht binnen de gemeente
- Operating
- Persoonlijke gegevens:Geen persoonlijke gegevens
Bron:
Street LiDAR | Cyclomedia
Technische werking
Beschrijving van de systeemarchitectuur:
De eerste stap is de semantische segmentatie van de puntenwolken. Hierbij classificeren we punten in regio’s op basis van hun betekenis. We bepalen of iets onderdeel van een lantaarnpaal is of niet. Hiervoor gebruiken we RandLA-Net (QingyongHu/RandLA-Net (github.com)).
De volgende stap is de clustering van alle punten die tot lantaarnpalen behoren. We gebruiken hiervoor connected-component labeling. We verwijderen ruis en komen uiteindelijk tot stukjes puntenwolk die tot een individuele lantaarnpaal behoren.
Voor elk gevonden cluster gebruiken we prinicipal component analysis om een fit te maken voor elke lantaarnpaal. Uit deze fit kunnen we gemakkelijk de eigenschappen van de paal afleiden.
De code voor deze laatste twee stappen is te vinden op onze github: Amsterdam-AI-Team/Urban_PointCloud_Analysis
Prestatie
- Prestatie eerste stap in dataverwerking (semantische segmentatie met RandLA-Net): de intersection-over-union voor de lantaarnpalenklasse is 82.
- Prestatie tweede stap (identificeren van individuele lantaarnpalen): een aanzienlijk deel (ongeveer een derde) van de gevonden lantaarnpalen zijn in werkelijkheid geen lantaarnpalen (false positives). Deze worden er door mensen uitgehaald (zie kopje ‘menselijk toezicht’).
Prestatie derde stap (fit per lantaarnpaal): in 91 procent van de gevallen was de fit correct en in de overige 9 procent is door een mens gecorrigeerd.