暫無描述

valapil 0d1b948a3d Update 'README.md' 2 年之前
00_clip_video.py 645d16540e Python files 2 年之前
02_process_offset.py 645d16540e Python files 2 年之前
03_process_data.py 645d16540e Python files 2 年之前
04_get_expression.py 645d16540e Python files 2 年之前
05_wilcoxon.py 645d16540e Python files 2 年之前
06_causality.py f98fe06fca Upload files to '' 2 年之前
07_causality_results.py f98fe06fca Upload files to '' 2 年之前
Config.json 9f0058fa59 Config file 2 年之前
README.md 0d1b948a3d Update 'README.md' 2 年之前
RelevantIntervalSelection.py 7dbb0d986e Upload files to '' 2 年之前
TSGeneration.py 5145d3832d Synthetic data 2 年之前
TSPerformanceMeasure.py 9720ea551b Upload files to '' 2 年之前
TimeSeriesClass.py 7a2f8ea2f6 Extra modules 2 年之前
VARModels.py 3c2d604b80 Upload files to '' 2 年之前
offset.csv db842c0889 offset values (for this particular experiment) 2 年之前
run_slurm.py 13a7de9003 Update 'run_slurm.py' 2 年之前
slurm.sh 7f5ac94ce2 Update 'slurm.sh' 2 年之前

README.md

CausalityExperiment

This is a psycology experiment to see the causal relationship between emotions when two subjects interact. The experiment shows the analysis of situations and emotions established by one subject that brings the other subject to mimic the emotions.

Process data

Change all paths in config and python files.

1. Clip video: The video of subject 1 and 2 are not synchronised. Therefore, 00_clip_video.py is used to clip the video at start and stop when clap is heard. This is in this case optional as offset values are provided.

2. Extract Action Units: Install OpenFace 2.0. This is used to extract AU (Action Units) from each frames of the videos. To extract and save the files, open terminal and go to the directory where OpenFace is installed. Then execute:

./bin/FeatureExtraction -f "/home/path_to_video_file/clipped_video_file.mp4"

The extracted data will be stored in the OpenFace directory inside the folder processed. We are interested in the .csv file.

3. Process offset: For this experiment the start and end in offset.csv file is extracted using 02_process_offset.py to slice the data.

4. Process data: This offset values are used in 03_process_data.py to complete the data processing.

Extract features

5. Get expressions: With 04_get_expression.py, the expressions are extracted from the processed data based on the combination of AU activation listed below.

  • HappinessUpper: AU06
  • HappinessLower: AU25, AU12
  • SurpriseUpper: AU01, AU05, AU02
  • SurpriseLower: AU26
  • AngerUpper: AU04, AU05, AU07
  • AngerLower: AU17, AU23
  • DisgustLower: AU09, AU25, AU10
  • FearUpper: AU01, AU04, AU05, AU02
  • FearLower: AU25, AU20
  • SadnessUpper: AU04, AU01
  • SadnessLower: AU15, AU17

Analysis and results

  • Wicoxon test: The 05_wilcoxon.py firstly normalizes the data. The test shows the percentage of each emotion detected throughout the experiment. The analysis also compares the amount of emotion activation in objective(o), respectful(a) and contempt(g) cases.

  • Causality test: Firstly, the 07_causality.py calculates the relevant intervals between two pairs. High correlation means high relevance. Then Granger Causality is used to find the direction of influence. Finally, the causality_results.py is used to summarize the results.

For running Causality test on all pairs, utilize slurm if available. The run_slurm.py and slurm.sh files could be used for this.

References

Read the paper here https://ieeexplore.ieee.org/document/9425581