top of page

Autonomous drones with on-board AI object recognition

Updated: Jan 24

Unmanned Aerial Vehicles (UAVs), commonly known as drones, have become indispensable for inspecting buildings and other structures. These devices help detect damages, identify problems, and track inventory. Among the many objects that benefit from drone inspections are power lines, wind turbines, and telecom towers—places that are typically hard, costly, or even impossible for humans to access.


One of our clients at Apptimia manufactures drones specifically optimized for telecom tower inspections. These towers require regular upkeep, traditionally done by skilled workers who must climb up for a closer look. Drones simplify this task by scanning the tower and generating a 3D model from photos, enabling remote inspections.


However, there’s a challenge: a qualified pilot is still needed to operate the drone. The pilot must locate the object of interest, maneuver close to it, and maintain the drone’s position to collect optimal photos.


Our contribution to the project was developing software that autonomously detects telecom towers and creates a flight plan, eliminating the need for a pilot. While AI-based object recognition seems like an obvious solution, it’s crucial for all AI detection to be performed on-board, as the drone can’t send data to the cloud for analysis. Read our story about how we created autonomous drones with on-board AI object recognition.


We addressed this by training a neural network to generate a flight plan based on visual input, making the drone fully autonomous. This article will focus on leveraging available data to automate the creation of a flight plan.


The first step in creating a flight plan is determining the tower's location, which involves pinpointing its position. For this, you need two key details: the tower's direction and the coordinates where that direction was measured.


Our hardware setup for installation on a drone frame includes:


  • CubePilot Cube Orange Flight Controller with PX4 autopilot software

  • Nvidia Jetson Orin computer, which has enough processing power to run the object detection model

  • GPS module connected to the autopilot

  • Sony camera connected to the Jetson Orin to capture visual data


Our software primarily operates on the Jetson Orin.

Drone autopilot board
Test hardware setup

We kicked off the project with an object detection model. We opted for YOLOv5s, which runs at 43 FPS on the Jetson Orin—sufficiently fast for real-time object recognition.


Training the network was our first major task. To do this, we compiled a dataset from images captured during a drone flight around the tower.

Telecom tower tagged for AI training
Sample tagged photo used for neural network training

Our dataset featured various tower types, including monopole and self-supported structures. Besides marking the tower's center, we also annotated other critical elements like antennas, crucial for later stages of the flight plan creation.


The model was trained using 6,000 images, achieving an impressive mean Average Precision (mAP) of 0.74.

Table showing AI model accuracy
AI model training precision results

Telecom tower in a drone video stream
Detection an a test video stream

By leveraging the drone's orientation and location data, we can accurately pinpoint the tower's position. The more data points we collect, the higher the precision of our results.


Diagram how triangulation works
Locating object for inspection using triangulation

This approach allowed us to develop a flight plan creator that guides the drone to five predetermined locations. At each location, the drone rotates around its axis to determine the tower's direction, using its built-in compass.

Drone flight plan
Example of the created flight plan

Using the complete set of information—namely, the coordinates of the drone and the directions in which it detected the towers—we can estimate the tower's coordinates and calculate the radius of error.

Map showing location of telecom tower
Estimation of tower location based on triangulations

Based on this data, the software generates a flight plan with waypoints and uploads it to the Cube Orange autopilot for execution.


This project is one of several UAV initiatives we've undertaken for our US clients at Apptimia. For more details, get in touch with us!

Maciej K., Senior Software Engineer at Apptimia

bottom of page