Sim2Real refers to techniques that can be used to transfer knowledge from one environment (e.g in simulation) to another (e.g. real world). While Sim2Real has been applied to various fields such as object recognition, human pose estimation etc. it has never been applied to recognizing human social signals. We want to deliver a high accuracy machine learning model to our supervisor Angelica Lim (angelica@sfu.ca) that can accurately recognize the following 3 facial expressions: Angry, Crying and Happy.
To generate the synthetic data, go to open UnitySimulationCode by Unity version 2020.1.12f1. Once the project is created and loaded, you will be presented with the Unity Editor interface. From the top menu bar, open Window -> Package Manager. Click on the + sign at the top-left corner of the Package Manager window and then choose the option Add package from git URL.... Enter the address com.unity.perception and click Add. After these operations you shouldn't have any issue for running the code. Now, open Hierarchy -> TutorialScene -> Simulation Scenario. Under Inspector -> ForegroundObjectPlacementRandomizer GUI you should find the Prefabs list, this is where you put different human models for generating data. The current avaiable models are:
- Angry:
black_female_angry_Pivotblack_male_angry_Pivotold_caicasian_female_angry_Pivotold_caicasian_male_angry_Pivotyoung_asian_female_angry_Pivotyoung_asian_male_angry_Pivot - Happy:
black_female_happy_Pivotblack_male_happy_Pivotold_caicasian_female_happy_Pivotold_caicasian_male_happy_Pivotyoung_asian_female_happy_Pivotyoung_asian_male_happy_Pivot - Crying:
black_female_happy_Pivotblack_male_happy_Pivotold_caicasian_female_happy_Pivotold_caicasian_male_happy_Pivotyoung_asian_female_happy_Pivotyoung_asian_male_happy_PivotIf you do not have Unity Simulation member, you can still generate the data by using your local machine. Under Simulation Scenario -> Inspector -> Fixed Length Scenario -> Constants -> Total Iterations has a default value of 50. It means it will generate 50 images after we clicked the Play button on top of the Unity editior. Change this value based on your requirement. You can find the path for the result under Console
All of our trained models are saved in this link
Go to
MachineLearningCode -> baselineML and open .ipynb files by Google Colab. Follow the documentation we have wrote in the code.
Go to
MachineLearningCode -> end_to_end_ML and open .ipynb files by Google Colab. Follow the documentation we have wrote in the code.