{"id":26751204,"url":"https://github.com/jk4e/mediapipe-custom-hgr","last_synced_at":"2025-03-28T12:17:22.749Z","repository":{"id":257613114,"uuid":"858214899","full_name":"jk4e/mediapipe-custom-hgr","owner":"jk4e","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-19T14:29:49.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T00:28:55.489Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jk4e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T14:07:44.000Z","updated_at":"2024-09-17T15:11:25.000Z","dependencies_parsed_at":"2024-09-17T19:04:21.074Z","dependency_job_id":null,"html_url":"https://github.com/jk4e/mediapipe-custom-hgr","commit_stats":null,"previous_names":["jk4e/mediapipe-custom-hgr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jk4e%2Fmediapipe-custom-hgr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jk4e%2Fmediapipe-custom-hgr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jk4e%2Fmediapipe-custom-hgr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jk4e%2Fmediapipe-custom-hgr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jk4e","download_url":"https://codeload.github.com/jk4e/mediapipe-custom-hgr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246026107,"owners_count":20711581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-28T12:17:21.464Z","updated_at":"2025-03-28T12:17:22.344Z","avatar_url":"https://github.com/jk4e.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MediaPipe Custom Hand Gesture Recognition Model\n\nA collection of Jupyter Notebooks for training, evaluation, and visualization of MediaPipe Gesture Recognition Tasks. The MediaPipe Gesture Recognizer task enables real-time hand gesture recognition, providing recognized hand gesture results along with landmarks of detected hands. You can customize your own gesture recognition models using MediaPipe Model Maker and train them on your own datasets.\n\n## Notebooks\n\n### `mp_hgr_model_maker.ipynb`\n\nA notebook for training a custom model locally. Includes an easy-to-follow, step-by-step guide to train your first model. Learn how to train a custom model with your own dataset.\n\n### `mp_hgr_3d_visualisation.ipynb`\n\nAn interactive 3D visualization of hand landmarks (keypoints). Simply drop an image of a hand, and the notebook will return an interactive 3D plot of the extracted hand landmarks.\n\n### `mp_hgr_model_evaluation.ipynb`\n\nAn advanced evaluation notebook to better understand your trained model and identify areas for improvement in model accuracy.\n\n## Getting Started\n\n### Prerequisites\n- Git\n- conda-forge, Miniconda or Anaconda (recommended for beginners)\n\n### Setup Instructions\n\n1. Clone this repository:\n   ```\n   git clone https://github.com/jk4e/mediapipe-custom-hgr.git\n   cd mediapipe-custom-hgr\n   ```\n\n2. Set up a conda environment:\n   ```\n   conda create --name mp_hgr_env python=3.11 pip\n   conda activate mp_hgr_env\n   ```\n\n3. Install the required dependencies:\n   ```\n   pip install -r requirements.txt\n   ```\n\n4. Launch Jupyter Lab or Jupyter Notebook:\n   ```\n   jupyter lab\n   ```\n\n5. Open the desired notebook and follow the instructions within each notebook.\n\n### Troubleshooting\n- Make sure your conda environment is activated before running any commands.\n- For more information on conda environments, visit the [conda documentation](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html).\n\n\n\n## Requirements\n\n- Python 3.10+\n- Jupyter Notebook or Jupyter Lab (Jupyter Extension for Visual Studio Code)\n- see `requirements.txt`\n\n## MediaPipe Gesture Recognition\n\n- [Gesture recognition task guide](https://ai.google.dev/edge/mediapipe/solutions/vision/gesture_recognizer)\n- [Hand gesture recognition model customization guide](https://ai.google.dev/edge/mediapipe/solutions/customization/gesture_recognizer)\n\n### ⚠️ Important Note on MediaPipe Model Maker Installation\n\nAs of August 2024:\n\n- The latest version of [MediaPipe Model Maker](https://pypi.org/project/mediapipe-model-maker/) (current version 0.2.1.4) cannot be installed on Windows or Silicon-based macOS.\n- For more details, see issues: [How to install mediapipe_model_maker 0.2.1.4 in Windows? #5545](https://github.com/google-ai-edge/mediapipe/issues/5545) or [ Windows Support #1206 ](https://github.com/tensorflow/text/issues/1206)\n\n#### Workarounds:\n\n1. Use a machine with Linux\n2. Set up WSL2 (Windows Subsystem for Linux) on a Windows machine\n   - See [Install WSL](https://learn.microsoft.com/en-us/windows/wsl/install) for instructions\n3. Use Google Colab, a free cloud-based Jupyter notebook environment\n   - Google Colab provides access to GPU resources and pre-installed libraries\n\n#### When is MediaPipe Model Maker needed?\n\n- This package is required if you want to train custom models with your own dataset.\n- If you don't need to train or customize a model, you can simply install the [MediaPipe package](https://pypi.org/project/mediapipe/)\n  - See the [Guide for Python](https://ai.google.dev/edge/mediapipe/solutions/setup_python) for installation instructions.\n  - So if you run `pip install -r requirements.txt`, first edit the `requirements.txt` and remove `mediapipe-model-maker` from the install list.\n\n\n## Related Notebooks/Code examples:\n\n- [Code example: Gesture Recognizer with MediaPipe Tasks](https://colab.research.google.com/github/googlesamples/mediapipe/blob/main/examples/gesture_recognizer/python/gesture_recognizer.ipynb#scrollTo=L_cQX8dWu4Dv) (Run in Colab)\n- [Hand gesture recognition model customization guide](https://ai.google.dev/edge/mediapipe/solutions/customization/gesture_recognizer) (Run in Colab)\n\n\n## Related Repository:\n\n- [Custom Hand Gesture Recognition Models (HGR)🖐️ with YOLOv8🚀 and MediaPipe👋 - Streamlit App](https://github.com/jk4e/my-hgr): Streamlit app with MediaPipe and Ultralytics YOLOv8 hand gesture recognition (HGR) demos using custom trained models.\n- [Hands Model Zoo](https://github.com/jk4e/hands-model-zoo): A collection of pretrained models for hand gesture recognition (HGR) tasks.\n\n\n## Helpful Resources\n\n- [Customizing a gesture recognition model with MediaPipe](https://www.samproell.io/posts/ai/asl-detector-with-mediapipe-wsl/)\n\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Disclaimer\n\nThis project is for educational purposes only.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjk4e%2Fmediapipe-custom-hgr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjk4e%2Fmediapipe-custom-hgr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjk4e%2Fmediapipe-custom-hgr/lists"}