6 Replies Latest reply on Apr 13, 2017 2:13 PM by Intel Corporation

    Cannot get the pose, landmarks and expressions for more than one face using the JAVA API

    Andre.Pereira

      I am not able to process face poses, landmarks, expressions when using the JAVA API. In C# I am able to get these from multiple users but when using the Java library I can't. I am using the libpxcclr.jni64.dll and libpxcclr.java.jar files provided in the 2016 R3 SDK. Can someone help me with this?

       

      Also, I don't have the option of using the IR mode in faceConfig.SetTrackingMode as the PXCMFaceConfiguration.TrackingModeType does not contain that enumeration.

       

      I have to use Java in my project and this is the only missing piece for what I need to implement. I would really appreciate some help in solving this problem.

       

      Thank you!

      Andre Pereira

       

      Below follows the code of how I initialize the sense manager:

       

              PXCMSenseManager senseMgr = PXCMSenseManager.

              pxcmStatus sts = senseMgr.EnableFace(null);

              PXCMFaceModule faceModule = senseMgr.QueryFace();       

              sts = senseMgr.EnableStream(PXCMCapture.StreamType.STREAM_TYPE_COLOR, cWidth,

              // Retrieve the input requirements

              sts = pxcmStatus.PXCM_STATUS_DATA_UNAVAILABLE;

              PXCMFaceConfiguration faceConfig = faceModule.CreateActiveConfiguration();

              faceConfig.SetTrackingMode(PXCMFaceConfiguration.TrackingModeType.FACE_MODE_COLOR);

              faceConfig.strategy = PXCMFaceConfiguration.TrackingStrategyType.STRATEGY_CLOSEST_TO_FARTHEST;

             

              faceConfig.landmarks.maxTrackedFaces = 2;

              faceConfig.pose.maxTrackedFaces = 2;

              faceConfig.detection.maxTrackedFaces = 2;

             

              PXCMFaceConfiguration.ExpressionsConfiguration econfiguration = faceConfig.QueryExpressions();

              econfiguration.properties.maxTrackedFaces = 2;

              econfiguration.EnableAllExpressions();

             

              faceConfig.detection.isEnabled = true;

              faceConfig.pose.isEnabled = true;

              faceConfig.landmarks.isEnabled = true;

              econfiguration.Enable();

             

              faceConfig.ApplyChanges();

              faceConfig.Update();

              sts = senseMgr.Init();