-
Notifications
You must be signed in to change notification settings - Fork 85
Added Gesture Control with OpenVINO #393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added Gesture Control with OpenVINO #393
Conversation
adrianboguszewski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @vijaykr458
We're very close to merge it, just please look at the following comments:
- update the dir name to "palm_pilot" and update all the paths in this PR
Is it possible to run your app on Linux? Have you tried it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds a comprehensive gesture control system with OpenVINO as part of Google Summer of Code 2025. The system provides real-time hand gesture recognition using MediaPipe models running on OpenVINO inference, supporting multiple application modes including PowerPoint control, media player control, browser navigation, and racing game controls.
Key changes include:
- Complete gesture recognition pipeline with palm detection, hand landmarks, and gesture classification
- Modern PyQt6-based GUI with configuration management and live video preview
- Multi-modal application system supporting different interaction paradigms
- Performance benchmarking tools with device-specific optimization
- Cross-platform installation and deployment scripts
Reviewed Changes
Copilot reviewed 24 out of 33 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
src/gui_main.py |
Main PyQt6 GUI application with real-time video, mode switching, and configuration dialogs |
src/gesture_engine.py |
Core gesture processing engine with OpenVINO model management and rendering |
src/openvino_models.py |
OpenVINO model manager with device selection and compilation |
src/hand_landmark.py |
Hand detection and landmark processing with MediaPipe-style algorithms |
src/config_manager.py |
Configuration management system with JSON persistence and validation |
src/application_modes.py |
Application mode manager for different gesture interaction contexts |
src/game_controller.py |
Two-handed racing game controller with steering wheel simulation |
src/volume_controller.py |
System volume control using Windows pycaw library |
src/benchmark_dialog.py |
Performance benchmarking tools with device configuration |
utils/demo_utils.py |
Utility functions for video processing and OpenVINO watermarks |
setup/*.sh |
Cross-platform installation and run scripts |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Adrian Boguszewski <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Adrian Boguszewski <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
adrianboguszewski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please verify on a fresh machine if it works, because I get "No module named PyQt6. Make sure all required modules are in the src/ directory"
I haven’t really tested it yet. the whole application was developed on windows — pyautogui is cross-platform, so it should work fine for normal modes like ppt, browser, media player, or any other custom mode. however, some parts use windows-only apis: |
I installed it on a fresh machine, and it runs. I am not sure how that error came, |
adrianboguszewski
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we also update pywin32? Version 306 is very old and thus limiting the python version (I cannot use python 3.13)
added Gesture Control with OpenVINO
This project is a part of Google Summer of Code 2025