Software Archive
Read-only legacy content

FaceExpression Enumeration

Brennon_W_
Beginner
627 Views

Hi,

I am trying to execute the enumeration against the FaceExpression object - it would appear that there are only about 8 implemented at the moment when I send a query to ExpressionData.QueryExpression.

I note 22 items that should be recognised - is this just a case of them not being implemented yet?

Thanks for your help.

 

Cheers

0 Kudos
11 Replies
Colleen_C_Intel
Employee
627 Views

Can you include your code please? (And which 8 are you getting?)

0 Kudos
Brennon_W_
Beginner
627 Views

Hi Colleen,

I have the following method that creates a Dictionary entry for each element that as per the document, should be resolved:

        private void BuildExpressionLibrary()
        {
            //Brow Movements
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_BROW_LOWERER_RIGHT, @"Brow_Lowerer_Right");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_BROW_LOWERER_LEFT, @"Brow_Lowerer_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_BROW_RAISER_RIGHT, @"Brow_Raiser_Right");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_BROW_RAISER_LEFT, @"Brow_Raiser_Left");
                        
            //Mouth Movements
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_MOUTH_OPEN, @"Mouth_Open");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_SMILE, @"Smile");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_KISS, @"Kiss");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_TONGUE_OUT, @"Tongue_Out");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_PUFF_LEFT, @"Puff_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_PUFF_RIGHT, @"Puff_Right");

            //Head Movement
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_TURN_LEFT, @"Head_Turn_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_TURN_RIGHT, @"Head_Turn_Right");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_UP, @"Head_Up");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_DOWN, @"Head_Down");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_TILT_LEFT, @"Head_Tilt_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_HEAD_TILT_RIGHT, @"Head_Tilt_Right");

            //Eye Movement
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_UP, @"Eyes_Up");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_DOWN, @"Eyes_Down");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_TURN_LEFT, @"Eyes_Turn_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_TURN_RIGHT, @"Eyes_Turn_Right");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_CLOSED_LEFT, @"Eyes_Closed_Left");
            this.ExpressionDictionary.Add(PXCMFaceData.ExpressionsData.FaceExpression.EXPRESSION_EYES_CLOSED_RIGHT, @"Eyes_Closed_Right");
            


        }

 

I never get any of the head or eye movement data, or the two PUFF items.

 

Cheers 

0 Kudos
Colleen_C_Intel
Employee
627 Views

So the different 'language' types return different groups out of the 22 - at least 2 of them definitely return the puff and some of the eyes.
Can you quickly use the samples page and try the various face ones and you may have to mix and match to see what they're doing differently than you. 

0 Kudos
AndreCarlucci
Beginner
627 Views

Hi Brennon,

I have some working code getting the eyes movement. Check it out here: https://github.com/andrecarlucci/SharpSenses/blob/master/SharpSenses.RealSense/RealSenseCamera.cs

0 Kudos
Brennon_W_
Beginner
627 Views

Hi Andre,

Thanks for the link to your project - really appreciate you sharing all that hard work.

I will progress with some further work on RS over the next few weeks and will dive a little further into your implementation.

Just to note, I see that your library requires 64bit. Any reasons for that? I only raise this as usage of the library in WPF or Store app scenarios may create small issues as the design surfaces of both platforms are 32bit only. (Had the same problem when I consulted on the Xbox one launch).

Thanks again,

 

Cheers 

0 Kudos
AndreCarlucci
Beginner
627 Views

Hi Brennon,

The libraries provided by Intel are either x86 or x64 so I had to pick to one to create a nuget package. 

You could easy change the code to work with x86, just swap the dlls with the ones you have in your SDK installation dir.

I'm working in a AnyCpu version of the library, also with some support for Javascript and Windows Store Apps using SignalR, but without an AnyCpu version of the original c# dll I don't know if it would be possible to support both architectures out of the box.

More details here: https://software.intel.com/en-us/forums/topic/549031 ;

 

0 Kudos
AndreCarlucci
Beginner
627 Views

Hi Brennon,

Just to let you know: the latest version of SharpSenses supports x86 or x64.

Cheers :)

https://github.com/SharpSenses/SharpSenses

0 Kudos
Brennon_W_
Beginner
627 Views

Hi Andre,

Thanks for the update!

Cheers

0 Kudos
Brennon_W_
Beginner
627 Views

Hi Andre,

Just wanted to ask if you are you working to adapt the library to R3?

Also, perhaps you have a license somewhere, but I couldn't find it. Can you point me to it when you get a chance please.

Thanks for your help.

Cheers

Brennon

0 Kudos
Brennon_W_
Beginner
627 Views

Don't mind me Andre, Im an idiot. Just found the LICENSE file.

Still, let me know if you are working on R3. I must say that I really like your implementation much better than how I've implemented it.

Cheers

0 Kudos
Mona_J_1
Beginner
627 Views

Are all the expressions mentioned in the SDK website supported? I can't get the head expressions to work. Here's my extended post on that:

https://software.intel.com/en-us/forums/topic/560883

 

 

0 Kudos
Reply