Answered by:
Questions about the error codes of face tracking failed

Question
-
Hi.
I am using face tracking sdk to do some face tracking, and there are some tracking failures. I outputed the tracking status by using IFTResult::GetStatus method. The return values are several situations:
first: FT_ERROR_FACE_DETECTOR_FAILED.
second: FT_ERROR_EVAL_FAILED.
third: FT_ERROR_USER_LOST.
fourth: FT_ERROR_HEAD_SEARCH_FAILED.
So, I would like to know about all the 4 kinds of tracking failed, could anybody give me any suggestions/ideas/information?
Any information is appreciated. Thanks in advance!
- Edited by yusiyang Monday, September 23, 2013 12:51 AM
Saturday, September 21, 2013 10:18 AM
Answers
-
These are not HARD errors but status results of the call. Depending on the function call you are making and the error you get will dictate the conditions that created that state. As the developer, how you want to handle that would be up to you. Review the samples provided in the toolkit will give you sample code on the common scenario's.
Face Tracking uses depth, color and sometimes skeletal. If you are using Skeletal "hint" points, are you getting valid neck and head joints? How close are you to the camera, depth has a near mode which you can enable to allow you to get to 50cm of the sensor, but by default this is 80cm if not configured. Are you facing the camera directly?
If the samples are not actively tracking, you may need to look at the environmental conditions you are in. Is there a lot of IR interference that is causing a lot of depth noisy?
Carmine Sirignano - MSFT
- Marked as answer by Carmine Si - MSFTMicrosoft employee Monday, September 30, 2013 5:39 PM
Tuesday, September 24, 2013 6:08 PM
All replies
-
As per the FaceTrackLib.h file:
// Face Tracking Error Codes #define FT_FACILITY 0xFAC // FT facility error code // Face Tracking facility error code #define FT_ERROR_INVALID_MODELS MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 1) // Returned when the face tracking models loaded by the tracking engine have incorrect format #define FT_ERROR_INVALID_INPUT_IMAGE MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 2) // Returned when passed input image is invalid #define FT_ERROR_FACE_DETECTOR_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 3) // Returned when face tracking fails due to face detection errors #define FT_ERROR_AAM_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 4) // Returned when face tracking fails due to errors in tracking individual face parts #define FT_ERROR_NN_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 5) // Returned when face tracking fails due to inability of the Neural Network to find nose, mouth corners and eyes #define FT_ERROR_UNINITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 6) // Returned when uninitialized face tracker is used #define FT_ERROR_INVALID_MODEL_PATH MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 7) // Returned when a file path to the face model files is invalid or when the model files could not be located #define FT_ERROR_EVAL_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 8) // Returned when face tracking worked but later evaluation found that the quality of the results was poor #define FT_ERROR_INVALID_CAMERA_CONFIG MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 9) // Returned when the passed camera configuration is invalid #define FT_ERROR_INVALID_3DHINT MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 10) // Returned when the passed 3D hint vectors contain invalid values (for example out of range) #define FT_ERROR_HEAD_SEARCH_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 11) // Returned when the system cannot find the head area in the passed data based on passed 3D hint vectors or region of interest rectangle #define FT_ERROR_USER_LOST MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 12) // Returned when the user ID of the subject being tracked is switched or lost so we should call StartTracking on next call for tracking face #define FT_ERROR_KINECT_DLL_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 13) // Returned when Kinect DLL failed to load #define FT_ERROR_KINECT_NOT_CONNECTED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 14) // Returned when Kinect sensor was not detected in the system
Carmine Sirignano - MSFT
- Proposed as answer by Carmine Si - MSFTMicrosoft employee Monday, September 23, 2013 10:05 PM
Monday, September 23, 2013 10:05 PM -
As per the FaceTrackLib.h file:
// Face Tracking Error Codes #define FT_FACILITY 0xFAC // FT facility error code // Face Tracking facility error code #define FT_ERROR_INVALID_MODELS MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 1) // Returned when the face tracking models loaded by the tracking engine have incorrect format #define FT_ERROR_INVALID_INPUT_IMAGE MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 2) // Returned when passed input image is invalid #define FT_ERROR_FACE_DETECTOR_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 3) // Returned when face tracking fails due to face detection errors #define FT_ERROR_AAM_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 4) // Returned when face tracking fails due to errors in tracking individual face parts #define FT_ERROR_NN_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 5) // Returned when face tracking fails due to inability of the Neural Network to find nose, mouth corners and eyes #define FT_ERROR_UNINITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 6) // Returned when uninitialized face tracker is used #define FT_ERROR_INVALID_MODEL_PATH MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 7) // Returned when a file path to the face model files is invalid or when the model files could not be located #define FT_ERROR_EVAL_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 8) // Returned when face tracking worked but later evaluation found that the quality of the results was poor #define FT_ERROR_INVALID_CAMERA_CONFIG MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 9) // Returned when the passed camera configuration is invalid #define FT_ERROR_INVALID_3DHINT MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 10) // Returned when the passed 3D hint vectors contain invalid values (for example out of range) #define FT_ERROR_HEAD_SEARCH_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 11) // Returned when the system cannot find the head area in the passed data based on passed 3D hint vectors or region of interest rectangle #define FT_ERROR_USER_LOST MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 12) // Returned when the user ID of the subject being tracked is switched or lost so we should call StartTracking on next call for tracking face #define FT_ERROR_KINECT_DLL_FAILED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 13) // Returned when Kinect DLL failed to load #define FT_ERROR_KINECT_NOT_CONNECTED MAKE_HRESULT(SEVERITY_ERROR, FT_FACILITY, 14) // Returned when Kinect sensor was not detected in the system
Carmine Sirignano - MSFT
Yes, those are the meanings of the errors, I also found those. I would like to know, to avoid these 4 errors, to make sucessful tracking, what points I need to care about. About this aspect, could you give me any suggestions?
Thank you in advance!
Tuesday, September 24, 2013 1:09 AM -
These are not HARD errors but status results of the call. Depending on the function call you are making and the error you get will dictate the conditions that created that state. As the developer, how you want to handle that would be up to you. Review the samples provided in the toolkit will give you sample code on the common scenario's.
Face Tracking uses depth, color and sometimes skeletal. If you are using Skeletal "hint" points, are you getting valid neck and head joints? How close are you to the camera, depth has a near mode which you can enable to allow you to get to 50cm of the sensor, but by default this is 80cm if not configured. Are you facing the camera directly?
If the samples are not actively tracking, you may need to look at the environmental conditions you are in. Is there a lot of IR interference that is causing a lot of depth noisy?
Carmine Sirignano - MSFT
- Marked as answer by Carmine Si - MSFTMicrosoft employee Monday, September 30, 2013 5:39 PM
Tuesday, September 24, 2013 6:08 PM