Drone Face Tracking

Face classifier with drone navigation logic, tested on random people in the park.

What it is: Web App (server)
communicating with Drone (client)
Technologies and Frameworks: OpenCV Haar Cascade classifier
for face detection,
Node.js server for drone logic

A server written in Node.js is the brains behind the system. Information flows from the Drone webcam to the server and then back to the Drone.

The server receives a stream of PNG still images from the drone’s webcam in real-time, and runs them through a Haar Cascade face-classifier provided by OpenCV. The classifier identifies all faces in the input frame with bounding boxes to represent their location.

The largest face in the input frame is assumed to be the face to follow. The center point of the largest face (faceCenterX, faceCenterY) is tracked, relative to the screen centerĀ (screenCenterX, screenCenterY), and at each timestamp, the Node.js server instructs the drone to move smoothly in the direction that would reduce the distance between these two points.