Conception and development of an Unmanned Aerial Vehicle (UAV) able to safely interact with human users, by following them autonomously, is presented in this work. Face detection is accomplished by a Haar cascade classifier. Once a face is detected, it is tracked with the help of a Kalman Filter (KF), and an estimation of the relative position with respect to the face is obtained at a high rate. A linear controller is used to validate the proposed vision scheme and for regulating the aerial robot position in order to keep a constant distance to the mobile target, employing as well the extra available information from the embedded vehicle sensors. The proposed system was extensively tested, using a commercial inexpensive quadrotor connected via wireless to a ground station running under the Robot Operative System (ROS), through different conditions. The proposed overall system shows a good performance even under disadvantageous conditions as outdoor flight, being robust against illumination changes, image noise and the presence of several faces on the same image.
The drone is able to autonomously interact with the human user by detecting his face and following it to keep a constant distance.
Overall system description. The drone communicates wirelessly with a ground station composed by a computer running ROS. Three main ROS nodes are executed in the ground station; the drone's driver, the face detection using OpenCV and the control node.
The algorithm is robust against false positive detections and the presence of other faces in the scene.
From real world to image coordinates transformation. The distance to the face is estimated using the average size of a human face.
[J6] D. Mercado, P. Castillo and R. Lozano. Visual Detection and Tracking with UAVs, Following a Mobile Object. Advanced Robotics. doi: 10.1080/01691864.2019.1596834. [download]