ALFaceDetection API

NAOqi Vision - Overview | API | Tutorial


Namespace : AL

#include <alproxies/alfacedetectionproxy.h>

Event list

Methods

bool ALFaceDetectionProxy::clearDatabase()

Remove all learned faces from the database.

Returns:true if the operation succeeded
void ALFaceDetectionProxy::enableRecognition(const bool& enable)

Enables/disables the face recognition process. The remaining face detection process will be faster if face recognition is disabled. Face recognition is enabled by default.

Parameters:
  • enable – True/False
void ALFaceDetectionProxy::enableTracking(const bool& enable)

Enables/disables face tracking. Enabling tracking usually allows you to follow a face even if the corresponding person is not facing the camera anymore. However, it can lead to more false detections. When active, only one face at a time will be detected.

Parameters:
  • enable – True/False
bool ALFaceDetectionProxy::forgetPerson(const std::string& name)

Delete from the database all learned faces corresponding to the specified person.

Parameters:
  • name – The name of the person to forget
Returns:

true if the operation succeeded

bool ALFaceDetectionProxy::isTrackingEnabled()

Returns whether tracking is enabled. Tracking is enabled by default.

Returns:True/False
bool ALFaceDetectionProxy::learnFace(const std::string& name)

Learn a new face and add it in the database under the specified name.

Parameters:
  • name – The name of the person to learn
Returns:

true if the operation succeeded

bool ALFaceDetectionProxy::reLearnFace(const std::string& name)

Use in a new learning process the latest images where a face has been wrongly recognized. In details, when a face is recognized a serie of few images before and after the recognition are kept in memory in a rolling buffer for 7 seconds. If this method is called, these images are going to feed the learning stage in order to associate the correct name to this face.

Parameters:
  • name – The name of the person to learn
Returns:

true if the operation succeeded

Note

if two different persons are recognized in less than 7 seconds, only the first one can be relearned.

void ALFaceDetectionProxy::subscribe(const std::string& name, const int& period, const float& precision)

Subscribes to ALFaceDetection with the specified parameters. This causes the module to start writing information to ALMemory in “FaceDetected”. This can be accessed in ALMemory using ALMemoryProxy::getData().

Parameters:
  • name – Name to identify the subscriber
  • period – Refresh period (in milliseconds)
  • precision – Precision of the extractor (not relevant here, value not taken into account).
void ALFaceDetectionProxy::subscribe(const std::string& name)

Subscribes to ALFaceDetection. This causes the module to start writing information to ALMemory in “FaceDetected”. This can be accessed in ALMemory using ALMemoryProxy::getData().

Parameters:
  • name – Name to identify the subscriber
void ALFaceDetectionProxy::unsubscribe(const std::string& name)

Unsubscribes to ALFaceDetection. This causes the module to stop writing information to ALMemory in “FaceDetected”.

Parameters:

Events

Event: "FaceDetected"
callback(std::string eventName, AL::ALValue value, std::string subscriberIdentifier)

Raised when one or several faces are currently being detected.

Parameters:
  • eventName (std::string) – “FaceDetected”
  • value – Informations related to the detected faces. Please refer to ALFaceDetection for details.
  • subscriberIdentifier (std::string) –