Freak Detector β Real-Time Gesture-Controlled Meme Player
Freak Detector is a real-time computer-vision system that detects facial + hand gestures and instantly plays a meme (GIF / video / image) based on your reaction.
Powered by MediaPipe, OpenCV, and Python, this project tracks your face and hands live through your webcam and responds with the perfect meme.
Features
Face Gestures
| Gesture | Description | Meme |
|---|---|---|
| π Tongue out + head shake | Shake head sideways while sticking tongue out | freaky-orca.gif |
| π’ Head nod | Quick up-down movement | ishowspeed.gif |
| π Idle stare | Looking straight at the camera, no movement | monkeytruth.jpg |
Hand Gestures
| Gesture | Description | Meme |
|---|---|---|
| π€² Rubbing palms together | Hands close, moving back and forth | freaky-sonic.mp4 |
| π© Both hands on head | βOh noβ reaction | ishowspeed-wow.gif |
| βοΈ One finger up | Index finger raised | monkeyrealize.jpeg |
| π€ Hand on chin | Thinking pose | monkeythink.jpg |
| π Thumbs up | Positive gesture | thumbsupmonkey.png |
How It Works
The system uses: MediaPipe FaceMesh
- Tracks 468 facial landmarks
- Detects mouth/tongue, head motions, eye direction, and idle behavior
MediaPipe Hands
- Tracks 21 landmarks per hand
- Detects gestures like:
- rubbing palms (oscillation tracking)
- one-finger-up
- hands on head
- thumbs up
- hand on chin proximity
- hand convergence (two-hand gestures)
OpenCV
- Webcam capture
- Frame rendering
- GIF/image/video playback side-by-side with webcam
Custom Gesture Engine
- Gesture cooldown
- Sustained detection
- Priority system (so only the correct meme plays)
Output Display
The screen is split into two parts:
+---------------------------+---------------------------+
| Webcam | Meme/GIF/Video |
+---------------------------+---------------------------+
Whenever a gesture is detected, the right side updates instantly.
Project Structure
/freak-detector
βββ freakdetector.py
βββ /memes
β βββ freaky-orca.gif
β βββ freaky-sonic.mp4
β βββ ishowspeed.gif
β βββ ishowSpeed-wow.gif
β βββ monkeyrealize.jpeg
β βββ monkeythink.jpg
β βββ monkeytruth.jpg
β βββ thumbsupmonkey.png
Installation
1οΈβ£ Clone the repository
git clone https://github.com/your-username/freak-detector.git
cd freak-detector2οΈβ£ Install Python dependencies
pip install opencv-python mediapipe pillow numpy(You may need pip install opencv-contrib-python if using older OpenCV).
python freakdetector.pyMake sure your webcam is enabled.
The right side of the window will change whenever a gesture is detected.
Customization
You can easily:
β Add new gestures
β Replace memes in the /memes/ folder
β Adjust gesture sensitivity
β Change cooldown times
β Add speech or audio reactions
Just edit the gesture detector functions or the filepath constants.
Requirements
- Python 3.10+
- OpenCV
- MediaPipe
- Pillow
- Webcam (720p recommended)
Contributing
Pull requests are welcome!
If you'd like to add:
- More gesture types
- Meme packs
- A GUI
- Multi-person support
Feel free to fork and contribute.
License
This project is open-source under the MIT License.
Have Fun Freaking Out!
This project reacts to your emotions in real-time β let the memes fly