Translations of this page?:


1. General ROS Package Info

Arturo Bajuelos
ROS Package
ROS Stack:
Learns and recognizes faces
GPLv2, LGPLv2.1
face recognition,
computer vision,

2. Package Summary

The qbo_face_recognition package is part of the qbo_face_vision stack, and contains an implementation of node that learns and recognizes a face. It also contains another node used for “demo” purposes, in which one can ask the robot to identify or learn the face he is detecting via voice commands.

3. Nodes

3.1 qbo_face_recognition

3.1.1 Algorithm

You can decide wheter to use one of these two algorithms:

  1. Bags of Word with SVM classifiers;
  2. PCA image and euclidian distance;

3.1.2 ROS Services

/qbo_face_recognition/recognize (qbo_face_msgs::RecognizeFace)

Given an image, returns the name of the person and a bool (recognized) that indicates if the person was recognized by the node.

/qbo_face_recognition/recognize_with_stabilizer (qbo_face_msgs::RecognizeFace)

The same API as the recognize service. Given an image, returns the name of the person and a bool (recognized) that indicates if the person was recognized by the node. This service also uses a stabilizer to provide a more accurate face recognition. The stabilizer attributes can be changed via the node's ROS parameters.

/qbo_face_recognition/get_name (qbo_face_msgs::GetName)

This service simply returns the last recognized person's name, as well as the “recognized” bool. Basically, it replicates the output of the previous recognize or recognize_with_stabilizer service.

/qbo_face_recognition/teach (qbo_face_msgs::Teach)

Given a path to a folder of folders with names and images, the service loads the image, retrains the classifiers and stores the new images in the main working folder. After the successful execution of this service, the bool “taught” is set to true and the qbo_face_recognition node is ready to recognize the new faces

3.1.3 ROS Parameters

/qbo_face_recognition/faces_path (string, default: PKG_PATH/faces/faces_db)

Path of the working folder with faces images and training files.

/qbo_face_recognition/uptate_path (string, default: PKG_PATH/faces/new_faces)

Path of the folder in which new faces are stored, used by the teach service.

/qbo_face_recognition/recognition_type (int, default: 1)

Type of recognition: 0 - PCA with SVM, 1 - BAG of Words with SVM. Default is Bags of Word with SVM

qbo_face_recognition/stabilizer_threshold (int, default: 4)

The threshold limit at which the stabilizer will consider a correct identification.

/qbo_face_recognition/stabilizer_max (int, default: 7)

The maximum value of the stabilizer

/qbo_face_recognition/num_of_desc_per_face_ (int, default: 50)

Number of SURF descriptors to be extracted per face image

/qbo_face_recognition/bow_certainty_threshold (double, default: 0.05)

Certainty of the SVM classifiers. This values must be in the interval (0,1]

/qbo_face_recognition/descriptors_match_threshold (double, default: 0.23)

SURF descriptors match threshold

/qbo_face_recognition/linear_kernel (bool, default: false)

Number of SURF descriptors to be extracted per face image

/qbo_face_recognition/pca_dimension (int, default: 40)

Dimension of the PCA, i.e., the number of eigenvalues used by the PCA algorithmn

/qbo_face_recognition/pca_image_height (int, default: 100)

Height of the face image used by the PCA face recognition algorithm

3.2 qbo_face_recognition_demo

This node let's you interact with the qbo_face_recognition launched in the Qbo, via voice commands. You can ask the robot what is your name or teach him so that he can recognize you afterwards

4. How to install

Install the deb package qboros-electric-qbo-face-vision using the Synaptic or executing the following command:

 sudo apt-get install qboros-electric-qbo-face-vision

5. How to use

5.1 Run qbo_face_recognition node

You can either run qbo_face_recognition node directly:

rosrun qbo_face_recognition qbo_face_recognition

Or use the launcher “qbo_face_recognition.launch” located in “launch/” folder, in which you can set the values to the parameters:

roslaunch qbo_face_recognition qbo_face_recognition.launch

5.2 Run the face recognition demo

Running the face recognition demo can be more user friendly, if you want to interact naturally and intuitively with qbo_face_recognition node.

If you want to launch all the necessary nodes to run this demo, you can use the launcher “qbo_face_recognition_demo.launch” located in the “launch” folder:

roslaunch qbo_face_recognition qbo_face_recognition_demo.launch
You could leave a comment if you were logged in.
qbo_apps/ros_pack/qbo_face_recognition.txt · Last modified: 2012/11/23 09:28 by arturobajuelos