An advanced computer vision application that analyzes facial expressions to infer personality traits. This project uses OpenCV and facial landmark detection to interpret emotional patterns and map them to personality dimensions.
This application is for educational purposes only. The personality traits inferred by this system are not scientifically validated. Real personality assessment requires professional psychological evaluation.
- 📸 Live webcam capture or video file analysis
- 👁️ Real-time facial expression detection
- 📊 Dynamic visualization of emotion patterns
- 🧠 Mapping to Big Five personality traits (Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism)
- 🔮 Approximate MBTI personality type inference
- 💾 Save and export analysis results
- Python 3.7+
- OpenCV for image/video processing
- MediaPipe for facial landmark detection
- PyQt5 for the graphical user interface
- Matplotlib for data visualization
- NumPy for numerical operations
Install the required dependencies:
pip install -r requirements.txtNote: For dlib installation, you might need to install additional system dependencies depending on your operating system.
- Install the required dependencies
- Run the main script:
python main.py- Face Detection: OpenCV detects faces in video frames
- Expression Analysis: Facial landmarks are detected and analyzed to infer emotions
- Personality Mapping: Emotional patterns are mapped to personality traits using rule-based heuristics
- Visualization: Results are displayed in an interactive graphical interface
This application uses two personality models:
- Openness: Appreciation for art, emotion, adventure, unusual ideas, curiosity, and variety of experience
- Conscientiousness: Tendency to be organized and dependable, show self-discipline, act dutifully, aim for achievement, and prefer planned rather than spontaneous behavior
- Extraversion: Energy, positive emotions, surgency, assertiveness, sociability and talkativeness
- Agreeableness: Tendency to be compassionate and cooperative rather than suspicious and antagonistic towards others
- Neuroticism: Tendency to experience unpleasant emotions easily, such as anger, anxiety, depression, and vulnerability
- Extraversion (E) vs. Introversion (I): Where you focus your attention
- Sensing (S) vs. Intuition (N): How you take in information
- Thinking (T) vs. Feeling (F): How you make decisions
- Judging (J) vs. Perceiving (P): How you deal with the outer world
- Facial expressions don't perfectly correlate with personality traits
- Environmental factors affect facial expressions
- Cultural differences in expressing emotions aren't fully accounted for
- The simplified model doesn't account for personality complexity
- Your name here
This project is licensed under the MIT License - see the LICENSE file for details.