Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Based Presentation Control System

This project is a presentation controller built using Python, OpenCV, MediaPipe, Scikit-learn, and SpeechRecognition. It allows users to control presentation slides using either hand gestures or voice commands, providing a touch-free presentation experience.

Key Features

  1. Control presentation slides using hand gestures
  2. Control slides using voice commands such as “next” and “previous”
  3. Real-time hand tracking and gesture recognition
  4. Random Forest model trained on a custom hand gesture dataset
  5. Live webcam feedback with gesture prediction and confidence score

File Structure

  • Model.ipynb – Jupyter notebook used to extract MediaPipe hand landmarks and train a gesture recognition model using Random Forest.
  • gesture_model.pkl – Saved trained model (exported via Joblib).
  • presentation_control.py – Main script to run either hand gesture or voice command mode for controlling slides.

Hand Gesture Mode

  1. Detects hand landmarks using MediaPipe.
  2. Extracts (x, y) positions of 21 landmarks and classifies the gesture using a Random Forest model.
  3. If "next" gesture is detected with high confidence for a duration, it sends a (next slide).
  4. If "previous" gesture is detected, it sends a (previous slide).

Voice Command Mode

  1. Listens to your microphone using the SpeechRecognition library.
  2. Recognizes voice commands like "next" or "previous".
  3. Triggers respective key presses to control the slides.

How to Run

python Final.py

Then, input either 0 (hand gesture mode) or 1 (voice command mode) when prompted.

Requirements

  • Python
  • OpenCV
  • MediaPipe
  • Scikit-learn
  • SpeechRecognition
  • PyAutoGUI
  • NumPy
  • Joblib

Install Dependencies

pip install opencv-python mediapipe numpy scikit-learn joblib pyautogui SpeechRecognition 

Dataset

The dataset for training gestures was created manually using MediaPipe landmarks extracted from the webcam feed. The trained model is included as gesture_model.pkl.

Future Enhancements

  • Support for more gestures (e.g., start/pause slideshow)
  • Improved voice intent recognition (e.g., "go back one slide")
  • GUI interface for better usability

Tip

You can use your own hand gesture dataset to personalize this system. Make sure to capture two clear hand gestures—one for "next" and one for "previous". Once your data is ready, run the Model.ipynb notebook with your dataset to train and export a new model.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages