feat(social): facial expression recognition — TRT FP16 emotion CNN (Issue #161) #180
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-jetson/issue-161-emotion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue #161 — Emotion Detection: Facial Expression Recognition
What
7-class real-time facial expression classifier piggybacking on the SCRFD face detection pipeline.
Changes
New message types (
saltybot_social_msgs):Expression.msg— per-face emotion withperson_id,emotion,confidence,scores[7],is_opt_out,sourceExpressionArray.msg— array wrapper with headerNew nodes (
saltybot_social):emotion_node.py— subscribes/social/faces/detections, runs TRT FP16 crop inference, publishes/social/faces/expressions(ExpressionArray) and/social/emotion/context(JSON for LLM)emotion_classifier.py— TensorRT FP16 engine wrapper + 5-point landmark geometry fallback + EMA per-person smoothing + opt-out registryLLM integration (
conversation_node.py):/social/emotion/context; injects emotion hint (e.g.[The person seems sad right now.]) into prompt when speaker shows non-neutral affectConfig / launch:
config/emotion_params.yaml— tuned defaults, includes TRT build commandlaunch/emotion.launch.py— all params overridable from CLIDesign
landmark_fallback=truewhen TRT engine unavailableis_opt_out=True, emotion=""Tests
67/67 passing (
test_emotion_classifier.py): classifier, PersonEmotionTracker, opt-out, landmark heuristic, edge casesCloses #161