We always hear your face say everything. Your emotions on your face says everything. Microsoft’s did a great job to identify these expressions,these emotions with Microsoft Cognitive Service.
Microsoft Cognitive service is an umbrella which has various APIs to help us intelligently.
Emotion API is one of them to determine the the expression or emotion in a image.
With the help of this Emotion service we can easily identify the emotion like happy, sad, fear,surprise etc. The best part of this API is that it detect all the faces in an image and provides the emotion collection object. Another good thing about this API is it is easy to use you just need to pass the image and rest other thing is handle by API itself.
Now, I am very sure you are curious to know more and want to implement it at your end. I am trying to share basic steps how you can use this in your project. just wanted to share that I am using MVC C# in my example .
In my example, I tried to upload an image and passing that image to API and according to API result showing the result. so Let’s begin with step by step
Step1 :- First & for most important step is register for this API and grab your subscription key. To get this you have to register on https://www.microsoft.com/cognitive-services/
Once you registered you can get the subscription key from my account. As you notice in the snap below in free trial we have 30,000 transaction per month & 20 per minutes API calling facility.
Once you got the key the next step is implement it in your project.
Step 2:- You can implement this via API URL or Nuget package manager in visual studio. Just to update you that Microsoft’s Oxford team is working on this so the namespace name is Project oxford.
In my project , I successfully installed nuget package manager
Step 3:- Once the Emotion package installed in your project simply create the object of Service API and call.
Pass the image steam or required parameters as per the documentation. As you can see in below image, I have created a new object of EmotionServiceClient & passing subscription parameter to avail it.
Once my object is Created, I am calling RecognizeAsync method in and passing the uploaded file stream. This Recognize Asynch method.
The best part is it return Emotion’s array by determining the number of faces. but in current, code I am just interested in determining the emotion of single face. So, I did code accordingly.
Step 4:- To capture all the emotion’s score I have created a EmotionScore class as you can see below.
Step 5:- Once Everything setup just run the page and upload image.when you upload the image you will get emotion collection to play. See below snap in which I tried the same.
I tried with several expression (Thanks to my little champ“Aayush” to help me out with his cute expressions).
As mentioned above you can use API URL as well to call it.
I hope you may like this new face expression API. For more information you can visit following sites
Different samples https://www.microsoft.com/cognitive-services/en-us/SDK-Sample
Please, feel free to share your inputs.
Happy coding !!