Robotics Researcher / VFX Artist

Face Detection For Mobile Robots

This is the project I started working on for the completion of my masters degree. The goal of the project was to examine existing face detection systems in order to optimize them for the use on Unmanned Aerial Vehicles (UAV) platforms. The resulting system is a package for Robotics Operating System (ROS), which allows for it to be easily integrated with other robotics systems. For the detection itself, I made use of the OpenCV boosting cascade detection. In addition to the simple detection, I applied the Lucas-Kanade Optical flow to track detected faces from previous frames in order to make the system more consistent. For easy use with other ROS packages, the settings of the detection system can be changed over the ROS rqt_reconfigure set-up. After the detection, the package publishes the coordinates of the detected faces to a ROS-topic, so that they can be accessed by other nodes. The code for the face detection package can be found on my Github page. The following is a list of included Features:

Face Detection OpenCV

Face Detection Dlib

Optical Flow Tracking

CUDA Support

ROS rqt interface

The following video shows the face detection with tracking. Green boxes are detected faces, while blue boxes represent faces which have been tracked from a previous frame. The little dots indicate the direction of the tracking.

This video shows a simplified version of the system which only makes use of face detection.

The interface allows for changes to all of the significant variables in the program.

The system is still under development, and I am providing regular updates as well as fixes. Some of the features planned include: