Output

Now that we explained how to get the detection results, we'll now explain how the result variable is organized.

If no faces are detected

the variable is empty. More precisely, it is an array with zero element. (ie, printed as [ ] in python)

If N faces are detected

then the variable structure consists of two fields: [ [ TimeStampField ] [ Face_info_0 , Face_info_1, . . . , Face_info_N-1, Time_Filtered_Reco_info ] ]

with:

  • TimeStampField = [ TimeStamp_seconds, Timestamp_microseconds ]. This field is the time stamp of the image that was used to perform the detection.
  • Face_info = [ ShapeInfo, ExtraInfo ]. For each detected face, we have one Face_info field.

    ShapeInfo = [ 0, alpha, beta, sizeX, sizeY ]. alpha and beta represent the face's location in terms of camera angles - sizeX and sizeY are the face's size in camera angle

    ExtraInfo = [ Reco_info_0, Reco_info_1, ..., Reco_info_M ]

    with Reco_info_0 = [ faceID, score_reco, face_label, left_eye_points, right_eye_points, left_eyebrow_points, right_eyebrow_points, nose_points, mouth_points ]

    and

    - faceID the ID number for the face

    - score_reco the score returned by the rocognition process (the higher the better)

    - face_label the name of the recognized face

    - xxxx_eye_points = [ eyeCenter_x, eyeCenter_y, noseSideLimit_x, noseSideLimit_y, earSideLimit_x, earSideLimit_y, topLimit_x, topLimit_y, bottomLimit_x, bottomLimit_y, midTopEarLimit_x, midTopEarLimit_y, midTopNoseLimit_x, midTopNoseLimit_y ]

    - xxxx_eyebrow_points = [ noseSideLimit_x, noseSideLimit_y, center_x, center_y, earSideLimit_x, earSideLimit_y ]

    - nose_points = [ bottomCenterLimit_x, bottomCenterLimit_y, bottomLeftLimit_x, bottomLeftLimit_y, bottomRightLimit_x, bottomRightLimit_y ]

    - mouth_points = [ leftLimit_x, leftLimit_y, rightLimit_x, rightLimit_y, topLimit_x, topLimit_y, bottomLimit_x, bottomLimit_y, midTopLeftLimit_x, midTopLeftLimit_y, midTopRightLimit_x, midTopRightLimit_y, midBottomRightLimit_x, midBottomRightLimit_y, midBottomLeftLimit_x, midBottomLeftLimit_y ]

    ...all these coordinates are given in camera angles.

  • Time_Filtered_Reco_info can be equal to

    [] if there is nothing new

    [ 2 face_label ] if there is one face recognized

    [ 3 [ face_label_0, ..., face_label_P ] ] if there are several recognized faces

    [ 4 ] if a face has been detected for more than 8 seconds without being recognized. Getting this result is a suggestion to learn this face if desired.





Copyright © 2010 Aldebaran-Robotics - All rights reserved