Body Emotion Recognition

Body Language & Context Emotion Detection

RUN

Body Emotion Recognition detects persons in the frame using YOLOv3, then predicts emotions from both the person's body language and the surrounding scene context using the EMOTIC model (ResNet-18 + Places365 + learned fusion head). Unlike face-only approaches, this tool works even when faces are occluded or turned away.

For each detected person the tool outputs:

  1. Top predicted emotion + confidence
  2. All active emotions (threshold ≥ 50 %)
  3. Valence score (0–10)
  4. Arousal score (0–10)
  5. Dominance score (0–10)
  6. Bounding box coordinates

The 26 emotion categories recognised are:

  1. Affection
  2. Anger
  3. Annoyance
  4. Anticipation
  5. Aversion
  6. Confidence
  7. Disapproval
  8. Disconnection
  9. Disquietment
  10. Doubt / Confusion
  11. Embarrassment
  12. Engagement
  13. Esteem
  14. Excitement
  15. Fatigue
  16. Fear
  17. Happiness
  18. Pain
  19. Peace
  20. Pleasure
  21. Sadness
  22. Sensitivity
  23. Suffering
  24. Surprise
  25. Sympathy
  26. Yearning

Example CSV output:

frame timestamp_world person top_emotion top_confidence valence arousal dominance bbox_x1 bbox_y1 bbox_x2 bbox_y2 tag
0 1714123456789 0 Engagement 62.6 5.87 5.78 7.82 124 40 380 490 0

Source Code