Please note: The algorithm descriptions in English have been automatically translated. Errors may have been introduced in this process. For the original descriptions, go to the Dutch version of the Algorithm Register.

Locating lampposts

The purpose of the system is to update the register of lampposts. This register is used for asset management (including maintenance) of public lighting.
Last change on 23rd of July 2026, at 8:20 (CET) | Publication Standard 1.0
Publication category
Other algorithms
Impact assessment
Field not filled in.
Status
In use

General information

Theme

  • Space and Infrastructure
  • Traffic

Begin date

2022-07

Contact information

Algoritmen@amsterdam.nl

Responsible use

Goal and impact

The purpose of the system is to update the register of lampposts. This register is used for asset management (including maintenance) of public lighting. The system detects lampposts in 3D point clouds. It then calculates the properties of the lampposts, such as the exact location of the base and the top of the lamppost, and the angle it forms with the ground. 

Considerations

Field not filled in.

Human intervention

Every lamppost found (and its corresponding match) has been checked by a human. 


Information about the lampposts found that can be easily matched to the existing register is automatically incorporated into that register. 


The lampposts found that are not so easily matched with the existing records are checked again in more detail by experts before the information about these lampposts is used.


Level of human oversight: human-in-command

Risk management

The system involves little risk, as the data is not particularly sensitive and the results are checked by people before we use them. 


Large-scale data processing


  • Risk description: Large-scale data processing (segmentation of everything visible from the road, the feeling of being part of a machine, an automated system)
  • Frequency: Low
  • Description of risk mitigation: Communication. We explain that we do not use all the data and that everything is checked by humans.
  • Mitigation status: Completed
  • Probability: Low
  • Scale: Low
  • Severity: Low


Location data


  • Risk description: Location data (knowing where everything is could potentially be useful to people with malicious intent)
  • Frequency: Low
  • Mitigation status: Not started
  • Probability: Low
  • Scale: Low
  • Severity: Low


Non-discrimination: We expect the model to perform best in areas similar to those on which it was trained (in this case, the same types of lampposts and the appearance of the surroundings). We aim to ensure that the impact of (the quality of) the model remains consistent across different groups. For this reason, Amsterdam East was chosen as the location for training the model, as this district has a diverse streetscape and a diverse population.

Operations

Data

Name: 3D point clouds


Dataset description

The input data consists of 3D point clouds generated using a LiDAR scanner in 2020. The points have x, y and z coordinates, as well as a colour and intensity.

The points are first semantically segmented and then clustered into individual lampposts. 


A subset of the data, comprising 50 locations in Amsterdam East, was used to train the model. This subset has been annotated; this was done partly automatically and then refined by a human. The initial tests were carried out in Weesp and the Oosterpark neighbourhood in Amsterdam East. The final operational model uses the dataset covering the whole of Amsterdam. 


For automatic annotation, we also use AHN4 and BGT data to determine, for example, the ground and the location of buildings.


  • Licence: Right of use within the municipality
  • Operating
  • Personal data: No personal data


Source:

Street LiDAR | Cyclomedia

Technical design

Description of the system architecture:

The first step is the semantic segmentation of the point clouds. In this process, we classify points into regions based on their meaning. We determine whether something is part of a lamppost or not. For this, we use RandLA-Net (Qingyong Hu/RandLA-Net (github.com)). 


The next step is to cluster all the points belonging to lampposts. We use connected-component labelling for this. We remove noise and ultimately arrive at sections of the point cloud that belong to an individual lamppost. 


For each cluster identified, we use principal component analysis to fit a model for each lamppost. From this fit, we can easily derive the characteristics of the lamppost. 

The code for these last two steps can be found on our GitHub: Amsterdam-AI-Team/Urban_PointCloud_Analysis 


Performance

  • Performance of the first step in data processing (semantic segmentation with RandLA-Net): the intersection-over-union for the lamppost class is 82. 
  • Performance of the second step (identifying individual lampposts): a significant proportion (around a third) of the lampposts detected are not actually lampposts (false positives). These are manually removed (see the ‘human supervision’ section).


Performance of the third step (fit per lamppost): in 91 per cent of cases, the fit was correct, and in the remaining 9 per cent, it was corrected by a human.

Link to code base

https://github.com/Amsterdam-AI-Team/Urban_PointCloud_Analysis

Similar algorithm descriptions

  • The aim of LAA is to improve the quality of address data in the Basic Register of Persons so that public bodies can perform their public duties based on accurate information.
    Last change on 17th of September 2025, at 11:53 (CET) | Publication Standard 1.0
    Publication category
    Impactful algorithms
    Impact assessment
    DPIA
    Status
    In use
  • The aim of LAA is to improve the quality of address data in the Basic Register of Persons so that public bodies can perform their public duties based on accurate information.
    Last change on 17th of November 2025, at 9:57 (CET) | Publication Standard 1.0
    Publication category
    Impactful algorithms
    Impact assessment
    Field not filled in.
    Status
    In use
  • Checks are made on the name and Chamber of Commerce number of the grant applicant provided with the grant applications, the Chamber of Commerce numbers from the (internal) Misuse and improper use register (M&O register) and the Chamber of Commerce numbers from the (external) bankruptcy register.
    Last change on 24th of October 2024, at 8:04 (CET) | Publication Standard 1.0
    Publication category
    Other algorithms
    Impact assessment
    Field not filled in.
    Status
    In use
  • The aim of LAA is to improve the quality of address data in the Basic Registration of Persons (BRP). This will enable public bodies to carry out their public duties based on accurate information.
    Last change on 4th of March 2026, at 10:42 (CET) | Publication Standard 1.0
    Publication category
    Impactful algorithms
    Impact assessment
    Field not filled in.
    Status
    In use
  • The council (acting on its behalf: ParkerenDelft B.V.) uses scanning vehicles to carry out parking checks. The scanning vehicle uses an image recognition algorithm to 1) recognise number plates and 2) check the parking rights database to see whether the vehicle is authorised to park there. Enforcement officers also have handheld scanners which they use to carry out checks. 
    Last change on 14th of July 2026, at 14:35 (CET) | Publication Standard 1.0
    Publication category
    Impactful algorithms
    Impact assessment
    DPIA, AIIA
    Status
    In use