Isprs Archives XLVIII 4 W1 2022 209 2022
Isprs Archives XLVIII 4 W1 2022 209 2022
Isprs Archives XLVIII 4 W1 2022 209 2022
Free and Open Source Software for Geospatial (FOSS4G) 2022 – Academic Track, 22–28 August 2022, Florence, Italy
1 Department of Geodesy and Surveying, Faculty of Civil Engineering, Budapest University of Technology and Economics,
Műegyetem rkp. 3., H-1111 Budapest, Hungary - (hrutka.bence, siki.zoltan, takacs.bence)@emk.bme.hu
KEY WORDS: Land registry maps, point cloud techniques, voxels, building detection, RANSAC, segmentation, classification,
region enlargement.
ABSTRACT:
In the recent years, point cloud technologies, such as Unmanned Aerial Vehicles (UAV), Terrestrial Laser Scanners (TLS), Aerial
Laser Scanners (ALS), let alone Mobile Mapping Systems (MMS), have come into the focus of attention and have been a subject of
considerable public concern in mapping. Thanks to these new techniques, experts can survey large areas with sufficient and
homogenous accuracy with high resolution. It comes from this that there are several areas where the point clouds can be used. One of
the possible applications of point clouds is updating land registry maps. Many countries worldwide face the issue that a significant
part of their large-scale land registry maps are outdated and inaccurate. One of these countries is Hungary, where more than eighty
percent of digital cadastre maps were digitised using analogous maps in a scale range of 1:1000 – 1:4000. In this paper, a novel
processing queue is presented to find the footprints of the building. Our solution is based on primarily well-known algorithms
(RANSAC, DBSCAN) implemented in open-source Python packages. An automated flow was developed, composed of simple
processing steps, to cut the point cloud into wall and roof segments and vectorise the wall points under roofs into building footprints.
The algorithms and Python programs were tested in villages where detached houses are typical. Tests were made on three study areas
in Hungary and we achieved well-promising results.
* Corresponding author
regions and their boundaries. From the separated roof points or without nadir images. To reach the required ten centimetres
Level of Detail 2 (LOD2) 3D model of buildings was generated or even better accuracy, not more than two centimetres of
(Li et al., 2019). Ground Sample Distance (GSD) is required.
Point clouds generated with UAV photogrammetry are also
used to create 3D urban models. To detect building classes the
combination of image and point cloud segmentation can be
used. The boundaries of roofs can be determined from the
semantic segmentation of the orthophoto. Using this result as a
mask on the segmented point cloud 3D model of urban areas
can be generated (Özdemir and Remondino, 2018).
With the help of the presented methods study data can be
generated for Machine Learning and Deep Learning algorithms.
There are several prepared datasets which can be used to train,
and with the help of it, classify ALS (Özdemir et al., 2019) and
MMS (Zou et al., 2021) point clouds.
There have been several efforts so far to detect objects in
images or point clouds. Our approach concentrates on a very
specific area to find building footprints on a fully automated
way for cadastre mapping with enhanced accuracy (below 0.1
m). Majority of the previous works stopped to find the roofs
either in orthophotos or in the point clouds.
To support automatic data processing of point clouds, a wide Figure 1. Grid flight mission for one of the test areas.
range of open-source software available, such as
OpenDroneMap (ODM)/WebODM (OpenDronMap To improve the accuracy of the three-dimensional
Development Team, 2020), CloudCompare (CloudCompare reconstruction from the UAV images Ground Control Points
Development Team, 2022), QGIS (Cutts and Graser, 2018), not (GCPs) were used. The residuals at the GCPs are below one
to mention many open-source libraries, like Open3D (Zhou et centimetre processing the images by OpenDroneMap.
al., 2018), SciPy (Virtanen et al., 2020) and Scikit-learn The input data of our investigations is the point cloud of the
(Pedregosa et al., 2011). Python programs were created for each study area. It might as well come from LiDAR observations if
processing step, sometimes alternative solutions to a specific there are enough points on the walls of the buildings. However,
problem, and we make it available for the community under an in this study only photogrammetric point clouds have been
open-source license (GPL). tested.
We took our measurements in villages where one or two-story
detached buildings are typical. For those small settlements, 2.2 Pre-processing of point clouds
small or medium Unmanned Aerial Vehicles (UAVs) can be
satisfactory considering the limited flight time with a few Pre-classification of large-scaled point cloud is necessary to
batteries. prepare raw point cloud data. After some noise removal, e.g.,
statistical outlier one, a subsampling could be the next step. For
our specific investigation, the points on the roof and on the
2. MATERIALS AND METHODS walls are of great importance. Usually, you get a way more
points on the roofs than on the walls. A voxel-based down
2.1 Fieldworks sampling can be used to significantly reduce the number of
points on the roofs.
There are some essential aspects need to be taken into Separation of the roof and wall points from other points can be
consideration when planning and executing flights. Making done using relative heights. Thus, we created a normalised point
oblique images is vital to have enough points on the walls of the cloud by subtracting the ground height from the elevation of the
buildings. The best result could be achieved with double grid points. This is done in three steps. The first one uses the Cloth
mission and oblique camera at 25-30 degrees. Another key Simulation Filter (CSF) algorithm (Zhang et al., 2016) to
point worth mentioning is to fly in seasons when the vegetation separate ground and non-ground points with high efficiency. In
is leafless not to hide buildings. the second step a Digital Terrain Model (DTM) is generated
During our tests, three campaigns were carried out with from the ground points with the help of GDAL (Rouault et al.,
different flight parameters (Figure 1), just to name but a few, 2022). Finally, by computing vertical differences of the point
different oblique angles, single and double grid missions, with cloud from the DTM a Normalised Digital Surface Model
(nDSM) is generated (Figure 2). Filtering points by normalised point clouds. Thanks to RANSAC the noise and vegetation are
elevations (e.g. Z > 0.3 m) in the nDSM, ground and low filtered out.
vegetation can also be masked. With this simplification, the size
of the original point cloud can be reduced by nearly 70-80%
without losing relevant data of buildings.
2.3 Point cloud segmentation Figure 6. nDSM (left) before and after RANSAC filtering
(right).
In the point clouds generated from images taken by UAVs, the
majority of the points are on the roofs. This can be attributed to
the specialties of the data collection method. Therefore, roofs Not all planes found by sequential RANSAC are part of the
and walls should be treated separately. Thanks to the roofs. The normal vectors of the planes are used to cancel non-
normalization, a rough filtering can be performed using the roof parts (the angle of the normal from the horizontal direction
relative elevations of the non-ground points (Figure 4). It can be between 0-60 degrees). The filtered voxels are combined into
stated with full confidence that those points which are below a one point cloud yielding the roof points (Figure 6).
specific relative height (2.5 m, for instance) cannot be In the next step of the algorithm, the roofs are clustered by
considered as roof points. On the other hand, points above the applying the Density-Based Spatial Clustering of Applications
same limit can be either roof points or points on other features, with Noise (DBSCAN) (Ester et al., 1996.). DBSCAN searches
as well. This way, cars, roofs, and other non-relevant features for core samples with high density which are expanded by
can be eliminated efficiently. selecting the neighbouring patches. The primary advantage of
DBSCAN is that it is not needed to predefine the number of
clusters.
Using the lower part of the normalised point cloud (below a
given relative height) the wall points can be separated. First, we
tried to separate wall points like roof points applying sequential
RANSAC planes, but the varying density of the point cloud
made it difficult to find acceptable RANSAC parameters for all
the situations. Then, the normal vectors are calculated at each
point taking into account using the surrounding points in a
certain radius and/or using a k-Nearest Neighbour (KNN)
method. If the direction of the normal vector is close to
horizontal, the point can be considered as a wall point in a
Figure 4. Normalised point cloud filtered by elevation, left vertical part of the point cloud. Segmenting the points by the
above 2.5m, right below 2.5m. estimated normal directions gives many false wall points, too,
on the vegetation, on cars, etc. These false points could be
dropped away by considering the roof polygons.
Assumed that the building roofs consist of planar surfaces, the A further process of wall suspicious points is made using the
processing can be simplified to find those points that are fitting convex hull of each clustered roof. The wall points can be
a plane in a certain threshold. Sequential RANSAC (Fisher and filtered by bounding polygons. Before cropping wall points it is
Bolles, 1982) offers an efficient solution to this problem. worthwhile to scale up the size of the roof polygons (Figure 7).
Instead of applying RANSAC for the whole area, the point This way point cloud of the walls can be separated by roof
cloud was subdivided into voxels (Figure 5) to increase the clusters.
efficiency of the algorithm. Voxel size can be set to between At the end of the segmentation, we have several small point
0.5-3 meters. The sequential RANSAC is applied to these clouds for each building, that contains wall and roof points
smaller blocks finding planar surfaces. Not only one but even separately (Figure 8).
more significant planes can be detected in one voxel. Another
advantage of voxelization is that the processes can be
parallelized, which makes the processing more efficient on large
Figure 7. Roof and wall points (left), roof clusters (middle) and bounding polygon of the roof clusters (right).
Figure 10. Intersection of the lines in every combination (red points) and the finding real edges by checking the density of the
points in a buffer rectangle.
Using the methods presented in the study, Python scripts were Statistical measure of the
created and added into our public GitHub repository results [cm]
(https://github.com/zsiki/pc_utils). To run these scripts Mean 22
automatically a bash script was also created. Thus, the
processing was done effectively on each test area. Table 1. Minimum 4
shows the size of the point clouds at different processing steps. Maximum 48
Median 21
Test Number of points
Std. dev. 11
areas Original nDSM Roof Wall Table 2. Statistical result of automatically founded corners
Barnag 451 686 787 81 310 287 40 095 996 2 057 479 compare to a manually created map of Barnag test area.
Üllő 115 526 471 47 113 079 25 429 088 1 825 643
Sződ 221 225 187 67 547 734 38 776 948 2 226 676 5. CONCLUSION
Table 1. Size of the point clouds at the different steps, nDSM The main purpose of our study was to find building footprints
without ground points. from point clouds in order to update old and inaccurate large-
scale maps with the help of open-source solutions. The
processing of point clouds was moved to mainly 3D. After noise Photogrammetry, Remote Sensing and Spatial Information
filtering, as a pre-processing step, the original point cloud was Sciences XLIII-B1-2 (B1): 33–37.
separated into two parts: ground and non-ground points with the https://doi.org/10.5194/isprs-archives-XLIII-B1-2020-33-2020.
help of a CSF algorithm. Using these results nDSM was
generated and filtered by height. During the main process we Hrutka, B.P., Siki Z., Takács b., 2021: AUTOMATED
have developed solutions where parallel processing can be used PROCESSING of POINT CLOUDS to UPDATE LAND
to speed up the processing of huge point clouds. In addition to REGISTRY MAPS. In International Archives of the
the combination of voxelization and sequential RANSAC, a Photogrammetry, Remote Sensing and Spatial Information
DBSCAN algorithm was also applied to separate the roof Sciences - ISPRS Archives. Vol. 46.
points. To get the wall points of these roof clusters a crop was https://doi.org/10.5194/isprs-archives-XLVI-4-W2-2021-77-
performed by the bounding polygon of roofs. Thus, the wall 2021.
points were generated from the rest of the non-ground points
which were filtered by height and normal direction. Finally, to Kedzierski, M., Fryskowska, A., Wierzbicki, D., Nerc. P., 2016:
find building footprint in each wall cluster sequential RANSAC CHOSEN ASPECTS OF THE PRODUCTION OF THE
lines was used. BASIC MAP USING UAV IMAGERY. ISPRS - International
Small Python codes were created for each step of the Archives of the Photogrammetry, Remote Sensing and Spatial
processing. Some cases we have alternative solutions for the Information Sciences XLI-B1 (July): 873–77.
same processing step, for example segmenting the wall points https://doi.org/10.5194/isprsarchives-XLI-B1-873-2016.
from the normalised point clouds. The Python codes published
on GitHub are experimental, several parameters of the Kurczynski, Z., Bakuła, K., Karabin, M., Markiewicz, J. S.,
processing can be changed by the user from the command line Ostrowski, W., Podlasiak, P., Zawieska, D., 2016: The
or JSON configuration file to make the process more flexible Possibility of Using Images Obtained from the Uas in Cadastral
and of course more difficult to use. Works. International Archives of the Photogrammetry, Remote
Sensing and Spatial Information Sciences - ISPRS Archives
2016-Janua (July): 909–15.
REFERENCES https://doi.org/10.5194/isprsarchives-XLI-B1-909-2016.
Barnes, G.,Volkmann, W., Sherko, R., Kelm, K., 2014. Drones Kurdi, F. T., Gharineiat, Z., Campbell, G., Awrangjeb, M., Dey,
for Peace: Part 1 of 2 Design and Testing of a UAV-Based E. K., 2022: Automatic Filtering of Lidar Building Point Cloud
Cadastral Surveying and Mapping Methodology in Albania in Case of Trees Associated to Building Roof. REMOTE
Paper Prepared for Presentation at The World Bank Conference SENSING 14 (2). https://doi.org/10.3390/rs14020430.
on Food and Poverty, 1–28.
Li, M., Rottensteiner, F., Heipke, C., 2019: Modelling of
CloudCompare Development Team, 2022. CloudCompare Buildings from Aerial LiDAR Point Clouds Using TINs and
Software. Version 2.12.1 Kyiv. https://www.danielgm.net/cc/ Label Maps. ISPRS Journal of Photogrammetry and Remote
(6 June 2022). Sensing 154 (May): 127–38.
https://doi.org/10.1016/j.isprsjprs.2019.06.003.
Cutts, A., Graser, A., 2018: Learn QGIS 4th Edition. PacktPub
ISBN 978-1-78899-742-3. Nex, F., Armenakis, C., Cramer, M., Cucci, D. A., Gerke, M.,
Honkavaara, E., Kukko, A., Persello, C., Skaloud, J., 2022:
Ester, M., Kriegel, H. P., Sander, J., and Xiaowei, Xu., 1996. A UAV in the Advent of the Twenties: Where We Stand and What
Density-Based Algorithm for Discovering Clusters in Large Is Next. ISPRS Journal of Photogrammetry and Remote Sensing
Spatial Databases with Noise. 184 (October 2021): 215–42.
https://www.osti.gov/biblio/421283 (6 June 2022). https://doi.org/10.1016/j.isprsjprs.2021.12.006.
Fischler, M.A., Bolles, R.C., 1981: Random sample consensus: OpenDroneMap Develpoment Team, 2020. A command line
A paradigm for model fitting with applications to image toolkit to generate maps, point clouds, 3D models and DEMs
analysis and automated cartography. Communications of the from drone, balloon or kite images. OpenDroneMap/ODM
ACM, 24(6), 381-395. GitHub Page 2020. https://github.com/OpenDroneMap/ODM
(6 June 2022).
Gevaert, C. M., Persello C., Sliuzas R., Vosselman G., 2020:
Monitoring Household Upgrading in Unplanned Settlements Özdemir, E., Remondino F., 2018: Segmentation of 3D
with Unmanned Aerial Vehicles. International Journal of Photogrammetric Point Cloud for 3D Building Modeling.
Applied Earth Observation and Geoinformation 90 (September International Archives of the Photogrammetry, Remote Sensing
2019): 102117. https://doi.org/10.1016/j.jag.2020.102117. and Spatial Information Sciences - ISPRS Archives 42
(4/W10): 135–42. https://doi.org/10.5194/isprs-archives-XLII-
Grilli, E., MennaF., Remondino F., 2017: A Review of Point 4-W10-135-2018.
Clouds Segmentation and Classification Algorithms.
International Archives of the Photogrammetry, Remote Sensing Özdemir, E., Remondino, F., Golkar, A., 2019: AERIAL
and Spatial Information Sciences - ISPRS Archives 42 (2W3): POINT CLOUD CLASSIFICATION WITH DEEP
339–44. https://doi.org/10.5194/isprs-archives-XLII-2-W3-339- LEARNING AND MACHINE LEARNING ALGORITHMS.
2017. The International Archives of the Photogrammetry, Remote
Sensing and Spatial Information Sciences XLII-4/W18
He, G. B., Li, L. L., 2020: RESEARCH AND APPLICATION (4/W18): 843–49. https://doi.org/10.5194/isprs-archives-XLII-
OF LIDAR TECHNOLOGY IN CADASTRAL SURVEYING 4-W18-843-2019.
AND MAPPING. The International Archives of the
Šafář, V., Potůčková, M., Karas, J., Tlustý, J., Štefanová, E.,
Jančovič, M., Žofková, D. C., 2021: The Use of Uav in
Cadastral Mapping of the Czech Republic. ISPRS International
Journal of Geo-Information 10 (6).
https://doi.org/10.3390/ijgi10060380.
Shao, J., Zhang, W., Shen, A., Mellado, N., Cai, S., Luo, L.,
Wang, N., Yan, G., Zhou, G., 2021: Seed Point Set-Based
Building Roof Extraction from Airborne LiDAR Point Clouds
Using a Top-down Strategy. Automation in Construction 126
(February): 103660.
https://doi.org/10.1016/j.autcon.2021.103660.
Zhang, W., Qi, J., Wan, P., Wang, H., Xie, D., Wang, X., Yan,
G., 2016: An Easy-to-Use Airborne LiDAR Data Filtering
Method Based on Cloth Simulation. Remote Sensing 8 (6): 1–
22. https://doi.org/10.3390/rs8060501.
Zhou, Q. Y., Park, J., Koltun, V., 2018. Open3D: A Modern
Library for 3D Data Processing.
http://arxiv.org/abs/1801.09847 (6 June 2022).
Zou, Y., Weinacker, H., Koch, B., 2021: Towards Urban Scene
Semantic Segmentation with Deep Learning from LiDAR Point
Clouds: A Case Study in Baden-Wurttemberg, Germany.
REMOTE SENSING 13 (16).
https://doi.org/10.3390/rs13163220.