{"id":23688818,"url":"https://github.com/prasukj7-arch/visual_text","last_synced_at":"2026-02-05T10:32:55.190Z","repository":{"id":269191951,"uuid":"906680731","full_name":"Prasukj7-arch/Visual_text","owner":"Prasukj7-arch","description":"The project uses computer vision and machine learning to translate sign language gestures into text, MediaPipe detects handprints, and Random Forest Classifier predicts characters in real time. It recognizes all 26 letters of the English alphabet, providing an intuitive interface to improve communication for people who need to use sign language.","archived":false,"fork":false,"pushed_at":"2024-12-26T16:56:52.000Z","size":85343,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T09:07:22.727Z","etag":null,"topics":["computer-vision","english-alphabet-recognition","hand-gesture-recognition","human-computer-interaction","machine-learning","mediapipe","random-forest-classifier","real-time-prediction","sign-language-translation"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Prasukj7-arch.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,"zenodo":null}},"created_at":"2024-12-21T15:39:36.000Z","updated_at":"2024-12-26T17:26:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d0b0c0e-63e6-495b-b63d-0bf4d950220e","html_url":"https://github.com/Prasukj7-arch/Visual_text","commit_stats":null,"previous_names":["prasukj7-arch/visual_text"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Prasukj7-arch/Visual_text","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasukj7-arch%2FVisual_text","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasukj7-arch%2FVisual_text/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasukj7-arch%2FVisual_text/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasukj7-arch%2FVisual_text/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prasukj7-arch","download_url":"https://codeload.github.com/Prasukj7-arch/Visual_text/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prasukj7-arch%2FVisual_text/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29119232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T09:40:36.738Z","status":"ssl_error","status_checked_at":"2026-02-05T09:36:49.977Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["computer-vision","english-alphabet-recognition","hand-gesture-recognition","human-computer-interaction","machine-learning","mediapipe","random-forest-classifier","real-time-prediction","sign-language-translation"],"created_at":"2024-12-30T00:18:56.923Z","updated_at":"2026-02-05T10:32:55.184Z","avatar_url":"https://github.com/Prasukj7-arch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sign-to-Text Translation Tool\n\n## Objective\n\nThe **Sign-to-Text Translation Tool** bridges the communication gap by translating hand sign language into readable text. It assists mute individuals by converting hand gestures into alphabets (A-Z) with high accuracy.\n\n---\n\n## Project Overview\n\nThis project is divided into four main components for modularity and clarity:\n\n1. **Data Preparation (`data.pickle`)**  \n   Handles structured storage of dataset information.\n2. **Image Collection (`images_collection.py`)**  \n   Facilitates systematic data collection for training models.\n3. **Training Classifier (`train_classifier.py`)**  \n   Processes data, trains a RandomForest model, and evaluates its performance.\n4. **Inference Classifier (`inference_classifier.py`)**  \n   Performs real-time hand gesture recognition.\n\n---\n\n## Components\n\n### 1. Data Preparation\n- **File Structure:**  \n  A `data.pickle` file stores a dictionary with:  \n  - **`data`:** The primary dataset for training.  \n  - **`labels`:** Classification labels.  \n- **Purpose:**  \n  Acts as a compact representation of the dataset and its attributes for seamless processing.\n\n---\n\n### 2. Image Collection\n- **Purpose:**  \n  Captures image datasets for recognizing alphabets (A-Z).  \n- **Key Features:**  \n  - Creates a `data` folder with subfolders for each alphabet (A-Z).  \n  - Captures 100 images per alphabet using a webcam (configurable).  \n  - Prompts user interaction to start/stop data collection.  \n- **Dependencies:**  \n  Requires `OpenCV` and `os` libraries.\n\n---\n\n### 3. Training Classifier\n- **Workflow:**  \n  1. Preprocesses data by extracting and normalizing hand landmarks.  \n  2. Trains a **RandomForestClassifier** using the processed data.  \n  3. Saves the trained model as `model.pickle`.  \n- **Key Requirements:**  \n  - Python libraries: OpenCV, Mediapipe, Scikit-learn, Pickle.  \n  - Clear, labeled gesture images.  \n  - A functional webcam for testing.  \n- **Steps to Run:**  \n  1. Place the dataset in the `./data` folder.  \n  2. Execute the script and select:  \n     - Option 1: Preprocess Data  \n     - Option 2: Train Classifier  \n     - Option 3: Real-Time Detection  \n  3. Press `Esc` to exit detection.\n\n---\n\n### 4. Inference Classifier\n- **Purpose:**  \n  Performs real-time hand gesture recognition using the trained model.  \n- **Key Features:**  \n  - **Model Loading:** Loads `model.pickle` for predictions.  \n  - **Hand Tracking:** Uses Mediapipe to detect 21 hand-knuckle landmarks.  \n  - **Prediction:** Classifies gestures into alphabets (A-Z).  \n  - **Visualization:** Displays results with bounding boxes and predictions.  \n- **Dependencies:**  \n  - Libraries: OpenCV, Mediapipe, Numpy, Pickle.  \n  - Hardware: Webcam for real-time input.  \n- **Usage:**  \n  Run the script and interact using the \"q\" key to quit.\n\n---\n\n## Challenges Faced\n\n- Managing and integrating multiple components of the project.  \n- Ensuring precise hand landmark detection and consistent datasets.  \n- Overcoming inaccuracies to achieve a final accuracy of 99%.\n\n---\n\n## Future Enhancements\n\n- Expand support to recognize complete words and phrases.  \n- Improve processing speed and accuracy.  \n- Extend functionality to integrate with robotic systems for automated communication.\n\n---\n\n## Hand-Landmark Example\n\n### Sign Language Alphabet Representation\n![Hand Landmark](https://img.freepik.com/premium-vector/hand-gesture-language-alphabet_23-2147881973.jpg)\n\n### Mediapipe Hand Landmarks\n![Mediapipe Hand Landmarks](https://mediapipe.dev/images/mobile/hand_landmarks.png)\n\n---\n\n## Additional Learning\n\n- **OpenCV:** A library for computer vision and image processing.  \n  [Learn more](https://www.youtube.com/watch?v=7irSQuL24qY)  \n- **Mediapipe:** Framework for building ML-based pipelines for hand tracking.  \n  [Learn more](https://www.youtube.com/watch?v=VDCdWwldlx4)  \n- **Hand Landmark Model:** Detects 21 key points for precise gesture recognition.  \n  [More info](https://google.github.io/mediapipe/solutions/hands.html)\n\n---\n\n## References\n\n- [Face Detection, Face Mesh, OpenPose, Holistic, Hand Detection Using Mediapipe](https://www.youtube.com/watch?v=VDCdWwldlx4)  \n- [Introduction to OpenCV](https://www.youtube.com/watch?v=7irSQuL24qY)\n\n---\n\n## Folder Structure\n\n```plaintext\nSign-to-Text/\n│\n├── data/                      # Dataset for training\n├── models/                    # Saved trained models (e.g., model.pickle)\n├── images_collection.py       # Script for collecting image datasets\n├── train_classifier.py        # Script for training the model\n├── inference_classifier.py    # Real-time recognition script\n├── data.pickle                # Preprocessed dataset\n└── README.md                  # Project documentation\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasukj7-arch%2Fvisual_text","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprasukj7-arch%2Fvisual_text","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasukj7-arch%2Fvisual_text/lists"}