Automatic GCP Detection on UAV images
2021-10-01, 13:30–14:00, Aconcagua

A new small open-source project is introduced in this presentation. The Find-GCP project can be used to automatize the measurement of the Ground Control Points (GCP) coordinates on images. It can be used in close photogrammetry tasks. The markers and their unique IDs are detected on the the photos using the ArUco open-source library which is part of the OpenCV contrib package. The output is compatible with OpenDroneMap (ODM) and VisualSfM, two well-known open source project. Beside the command line tool, there are some utilities in this project to generate ArUco markers, visually check the results and more.

This project comes from the Geo4All Lab of the Budapest University of Technology and Economics.

Ground Control Points (GCP) are used to improve the accuracy of orthophotos and point clouds generated from images made by Unmanned Aerial Vehicles (UAV). GCPs are marked on the field and the coordinates are measured in a Coordinate Reference System (CRS) and are used to georeference the products of the photogrammetric process.

There are open-source projects to process UAV images, the most known among them is probably the OpenDroneMap (ODM). Unfortunately there are no modules or tools to automatize the detection of GCP markers on the images. Our small project tries to fill this gap.
It is a time-consuming task to collect the image coordinates of GCPs because of the usual large forward and side overlapping (~80%), one GCP may be visible on eight-ten images. Using unique markers for each CGP they can be found by a software. There have not been such widely used solutions for open-source programs so far. We hope the presented solution can be part of the workflow with ODM and other open-source software.

We have used ArUco codes for indoor navigation and movement detection for few years. ArUco is an open-source library (part of the OpenCV contrib package) developed for augmented reality applications. These squared markers have a wide black border and an inner binary matrix. The unique pattern of the binary matrix is identified by an integer ID.
We have made tests and our experiences are also presented, for example we realized that black and grey markers are better in sunshine to reduce the burnt in effect of white areas.

The source code of the Find-GCP project is available on GitHub.

Authors and Affiliations

Zoltan Siki
Budapest University of Technology and Economics




Software/Project development


2 - Basic. General basic knowledge is required.

Language of the Presentation


I am a land surveyor, GIS expert, teacher and programmer

OSGeo Charter member
Head of GeoForAll Lab Budapest
OSGeo advocate
Founder of OS projects (GeoEasy, Ulyxes, Find-GCP)
Organizer of Hungarian local FOS4G events
FOSS4G/FOSS4G Europe speaker, committee member