GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - DeepPythonist/EmotionTracker: AI-powered real-time emotion detection desktop app using DeepFace. Track emotions via webcam with privacy-focused local processing, analytics dashboard, and CSV export.

BranchesTags
Open more actions menu

Latest commit

 

History

25 Commits
25 Commits

Folders and files

NameName
Last commit message
Last commit date
core
core
 
 
ui
ui
 
 
utils
utils
 
 
.gitignore
.gitignore
 
 
LICENSE.txt
LICENSE.txt
 
 
PRIVACY.txt
PRIVACY.txt
 
 
README.md
README.md
 
 
demo.gif
demo.gif
 
 
logo.png
logo.png
 
 
main.py
main.py
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

Emotion Tracker Logo

Emotion Tracker

A professional Python desktop application for real-time facial emotion detection using DeepFace. The application analyzes user emotions via webcam and stores data as time-series CSV files with comprehensive analytics.

šŸŽ„ Demo Video

Emotion Tracker Demo

Watch the demo GIF above

Features

  • Real-time Emotion Detection: Uses DeepFace for accurate emotion recognition
  • Interactive GUI: Three-tab interface (Control, Monitor, Analytics)
  • Performance Optimized: Processes every 3rd frame to reduce CPU load
  • Data Storage: Automatically saves daily CSV files with timestamps
  • Visual Analytics: Pie charts and statistics for emotion analysis
  • Privacy-Focused: All data stored locally, no internet transmission

Requirements

  • Python 3.11+ (tested with Python 3.11.1)
  • Webcam access
  • Internet connection (for initial DeepFace model download)
  • macOS 11.0+ / Windows 10+ / Ubuntu 18.04+

Installation

  1. Clone this repository:

    git clone https://github.com/DeepPythonist/EmotionTracker.git
    cd EmotionTracker
  2. Create virtual environment:

    conda create -n emotiontracker python=3.10
    conda activate emotiontracker
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the application:

    python main.py

Usage

Control Tab

  • Click START to begin emotion detection
  • Click STOP to stop recording
  • Monitor status and frame count

Monitor Tab

  • View current detected emotion in large text
  • See confidence level with progress bar
  • Track session statistics and top emotions

Analytics Tab

  • Select date from dropdown to view historical data
  • View emotion distribution pie chart (if matplotlib available)
  • Review summary statistics
  • Monitor current session emotions

Data Storage

  • CSV files are automatically created in the data/ directory
  • File naming format: emotions_YYYY-MM-DD.csv
  • Columns: timestamp,emotion,confidence
  • Data is appended continuously during recording sessions

Performance Optimization

The application implements several optimization techniques:

  • Processes every 3rd frame (not every frame)
  • Uses enforce_detection=False for better edge case handling
  • Implements frame skipping when processing takes >100ms
  • Resizes frames to 640x480 before processing
  • Caches DeepFace model on first load
  • Uses threading to separate UI from processing

Error Handling

  • Camera not found: Shows error dialog, disables START button
  • DeepFace import error: Shows installation instructions
  • No face detected: Skips frame silently
  • Low confidence (<0.5): Marks as "uncertain"

Project Structure

EmoNet/
ā”œā”€ā”€ main.py                    # Main application
ā”œā”€ā”€ requirements.txt           # Dependencies
ā”œā”€ā”€ README.txt                # Installation guide
ā”œā”€ā”€ PRIVACY.txt               # Privacy policy
ā”œā”€ā”€ LICENSE.txt               # MIT License
ā”œā”€ā”€ core/                     # Core modules
│   ā”œā”€ā”€ camera_handler.py
│   ā”œā”€ā”€ emotion_detector.py
│   └── data_manager.py
ā”œā”€ā”€ ui/                       # UI components
│   ā”œā”€ā”€ main_window.py
│   ā”œā”€ā”€ monitor_tab.py
│   └── analytics_tab.py
ā”œā”€ā”€ utils/                    # Utility modules
│   └── config.py
└── data/                     # Data storage folder

Technical Details

  • CPU Usage: <15% on modern i5 processors
  • RAM Usage: <500MB
  • Detection Latency: <2 seconds per processed frame
  • UI Responsiveness: No freezing during processing

Dependencies

  • deepface==0.0.79
  • opencv-python==4.8.1.78
  • pandas>=2.0.0,<2.2.0
  • matplotlib>=3.7.0,<3.9.0
  • seaborn>=0.12.0,<0.14.0
  • pillow>=9.0.0,<11.0.0
  • tensorflow>=2.13.0,<2.16.0
  • numpy>=1.21.0,<2.0.0

Support

If you have any issues:

  • Email: [email protected]
  • GitHub: https://github.com/DeepPythonist/EmotionTracker

License

MIT License - See LICENSE.txt for details.

This project is provided for educational and research purposes.

About

AI-powered real-time emotion detection desktop app using DeepFace. Track emotions via webcam with privacy-focused local processing, analytics dashboard, and CSV export.

Topics

deepfacemachine-learningopencvtkinter

Resources

Readme
MIT license
Activity

Stars

37 stars

Watchers

0 watching

Forks

2 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Ɨ600. No cookies required.