CompanyRemote

Real-Time Emotion Detection System

Project-Based

Description

I need a Python application that captures video from a USB webcam on an NVIDIA Jetson board and, in real time, identifies the face on-screen, classifies the emotion with DeepFace, and overlays the label plus confidence percentage on the live feed. The pipeline must sustain smooth performance on the Jetson GPU, so please profile and, where possible, accelerate the face-detection and preprocessing stages (TensorRT, cuDNN-enabled OpenCV, or other proven optimisations are welcome).

Every inference event should be written to a log (CSV or lightweight database) with a timestamp, the detected emotion, and its confidence. When the same negative emotion (sad, angry, fearful, disgust) is observed repeatedly over a configurable window, an alert must fire—initially an on-screen banner and a console message are enough, but leave hooks so I can later plug in email or MQTT notifications.

For visibility, wrap the system in a small dashboard built with Streamlit or Flask. The dashboard should:

• stream the annotated video, • show the latest emotion and confidence, • display a rolling chart or table of recent detections, and • expose simple sliders or text fields to adjust alert thresholds without restarting the app.

Acceptance criteria • Runs on Jetson Xavier NX / Nano with a USB webcam at ≥15 FPS. • Correctly logs and timestamps every detection. • Dashboard operates from the same device over localhost:8501 or an equivalent port. • Code, requirements.txt, and installation steps are fully documented in a README.

Hand over the complete, commented source code plus a short demo video or GIF proving the real-time performance. Budget: INR 37500–75000 Skills: PHP, Python, Linux, Software Architecture, OpenCV, Computer Vision, Deep Learning, Streamlit

Skills

StreamlitLinuxPythonSoftware ArchitecturePHPComputer VisionDeep LearningEmotionOpenCVFlask

Want AI to find more roles like this?

Upload your CV once. Get matched to relevant assignments automatically.

Try personalized matching