The study of human emotions
Our team has come up with 2 products to showcase; a smart home calendar and a smart measuring jug. The smart measuring jug is not just a measuring or weighing machine but a jug that connects to a phone application that has an online shared cloud with various recipes. It can help users to learn cooking and also for those on special diets to be able to prepare their meals faster with more convenience. There are digital weighing machines that could help guide the cooking process faster but our version is a jug to include drinks recipe and even added in speakers to provide music and voice instructions. This is all part of making cooking more fun and interesting whereby the music can really change the mood of the user.
Facial Emotion Recognition
For the smart home calendar, we are making a simplified version of an affective computer which can detects the emotion of the user through facial recognition. It then sends information to other applications it is connected to and plays music which can help the mood or recommend shows that are suitable. It can also send reminders and has a to-do list on the screen which is connected from the user’s phone application. I am focusing on working on the facial expression recognition via the “opencv” library. I looked up several algorithms from open source libraries and tried ‘Support Vector Machine’. I first had to train it by uploading a bunch of images labelled with their own emotions and then forming a model which then the algorithm classsifies the points into linear regressions, polynomials or even hyper-planes. It then detects 68 points from the user’s face and find vectors from a centre of gravity point. From the array of 68 points, it inputs this information into the trained model and tries to predict what is the emotion that corresponds to such points. It may seem easy to explain on theory but in actual fact, there are a lot of factors into play such as lighting, angles and even depth of facial expressions. So, it is important to train the model with sufficient number of images and really select a standardised set of images that can help to train the model well. However, time is not on my side and I do not have sufficient time to retrieve that large number of reliable data. This resulted in my model to be not accurate and my predictions are often inconsistent. However, that is a challenge I have learnt from machine learning and it helped me to gained first hand understanding of the issues which could help in my future projects.