NAOqi PeoplePerception - Overview | API
ALGazeAnalysis allows you to analyze the direction of the gaze of a detected person, in order to know if he/she is looking at the robot. It also detects whether the person’s eyes are open or close.
By detecting the face of a person and studying its orientation, it is possible to detect whether or not this person is looking at the robot.
First a scoring value, called LookingAtRobotScore, is computed for each person in the detected population. This score, between 0 and 1, describes the confidence in the fact that the person is looking at the robot. It is stored in the memory key PeoplePerception/Person/<ID>/LookingAtRobotScore. Then this score is compared to a threshold value:
It is possible to change the threshold value by changing the Tolerance of the gaze analysis, using the function ALGazeAnalysisProxy::setTolerance() (Threshold = 1-Tolerance). The current value of the Tolerance can be retrieved with function ALGazeAnalysisProxy::getTolerance().
This result is added to the description of the people in the ALMemory by filling the key PeoplePerception/Person/<ID>/IsLookingAtRobot.
The raw head angles are also available through the key PeoplePerception/Person/<ID>/HeadAngles. The gaze direction relative to the face plane are available through PeoplePerception/Person/<ID>/GazeDirection. The “opening degree” of both eyes is given by PeoplePerception/Person/<ID>/EyeOpeningDegree.