The unmanned aerial vehicles have been gaining increasing attention during the past
decade. Besides their original field of application, the military, their commercial and scientific
use is now expanding as well. Due to their fairly low retail prices, they have become
accessible to a wide range of people. The most common commercial use of drones is aerial
photography, therefore most of them are equipped with at least one camera. Some of the
manufacturers of these remotely-controlled drones also provide application programming
interfaces (API) for software developers to create augmented reality games. The presence
of the API and the cheap hardware also make these drones a suitable platform for research
related to image processing and autonomous aerial vehicles.
The aim of this project is to develop a PC application using the API of a Parrot AR.Drone
2.0 quadcopter that enables the drone to detect, and follow a pedestrian autonomously.
In order to achieve this, various tasks had to be solved, which are presented in this MSc.
thesis. First, the structure of the drone is introduced. After this the image processing
problems related to both camera calibration and pedestrian detection are described. The
document presents and compares four types of human detection algorithms. Two are based
on colour-based segmentation, where the constraint is that the pedestrian has to wear an
unicolour T-shirt. After this, the use of a Histogram of Oriented Gradients descriptor-based
detection method is described. In this case no constraint is needed regarding the
appearance of the pedestrian. As a fourth type, the latter is combined with optical flow
calculations to present an algorithm more suitable for pedestrian tracking and following.
The image processing topics are followed up by the description of the drone's motion control
system. This includes the design of various controllers along with plant identifications, and
the calculation of the reference signals based on the camera image. The developed PC
application is also introduced briefly. The application was written in C#, and it's also
using third party libraries, such as the Emgu CV, a .NET wrapper for the widely-known
OpenCV image processing library. The end of the document also presents images and
videos showing the autonomous operation.