{"id":17281994,"url":"https://github.com/anmol-singh-jaggi/sign-language-recognition","last_synced_at":"2025-04-14T10:04:22.101Z","repository":{"id":80247438,"uuid":"61648176","full_name":"Anmol-Singh-Jaggi/Sign-Language-Recognition","owner":"Anmol-Singh-Jaggi","description":":v: :ok_hand: :fist: :camera: Sign Language Recognition using Python","archived":false,"fork":false,"pushed_at":"2021-10-12T22:59:31.000Z","size":1796,"stargazers_count":132,"open_issues_count":3,"forks_count":42,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-14T10:04:13.986Z","etag":null,"topics":["image-processing","logistic-regression","machine-learning","nearest-neighbor","opencv","python","sign-language","support-vector-machine"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Anmol-Singh-Jaggi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-06-21T16:07:37.000Z","updated_at":"2025-03-17T01:12:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"50ca072b-14e3-452d-9e78-5c365fb98c17","html_url":"https://github.com/Anmol-Singh-Jaggi/Sign-Language-Recognition","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anmol-Singh-Jaggi%2FSign-Language-Recognition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anmol-Singh-Jaggi%2FSign-Language-Recognition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anmol-Singh-Jaggi%2FSign-Language-Recognition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Anmol-Singh-Jaggi%2FSign-Language-Recognition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Anmol-Singh-Jaggi","download_url":"https://codeload.github.com/Anmol-Singh-Jaggi/Sign-Language-Recognition/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248860298,"owners_count":21173342,"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":["image-processing","logistic-regression","machine-learning","nearest-neighbor","opencv","python","sign-language","support-vector-machine"],"created_at":"2024-10-15T09:47:26.452Z","updated_at":"2025-04-14T10:04:22.069Z","avatar_url":"https://github.com/Anmol-Singh-Jaggi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sign Language Recognition\n\n![MIT License](https://img.shields.io/badge/license-MIT-green.svg)\n[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/Anmol-Singh-Jaggi)\n\nRecognize [American Sign Language (ASL)](https://en.wikipedia.org/wiki/American_Sign_Language) using Machine Learning.  \nCurrently, the following algorithms are supported:\n - [K-Nearest-Neighbours](https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm)\n - [Logistic Regression](https://en.wikipedia.org/wiki/Logistic_regression)\n - [Support Vector Machines](https://en.wikipedia.org/wiki/Support_vector_machine)\n\nThe [training images](https://drive.google.com/drive/folders/0Bw239KLrN7zoNkU5elZMRkc4TU0?resourcekey=0-mkP6SVgwEJFmIYd2xotVug) were retrieved from a video, filmed at `640x480` resolution using a smartphone camera.\n\n**Setup:**\n - Install **`Python3`** (last tested on Python3.7).\n - Install [pipenv](https://pipenv.readthedocs.io/en/latest/).\n - In the project root directory, execute `pipenv sync`.\n\n**Usage:**\n\nYou can directly start classifying new images using the pre-trained models (the `.pkl` files in `data/generated/output/\u003cmodel_name\u003e/`) trained using the above dataset:\n\n      python predict_from_file.py \u003cmodel-name\u003e\n\nNote that the pre-generated model files do not contain the file for `knn` due to its large size.  \nIf you want to use `knn`, then download it separately from [here](https://drive.google.com/drive/folders/0Bw239KLrN7zoZ0dNZHFhdlI5ZFU?resourcekey=0-bME2qAFVHS_lKv7WgO-tLQ) and place it in `data/generated/output/knn/`.  \nThe models available by default are `svm` and `logistic`.\n\nThe above workflow can be executed using *`run_quick.sh`*.\n\n---------------------------------------------------------\n\nHowever, if you wish to use your own dataset, do the following steps:  \n 1. Put all the training and testing images in a directory and update their paths in the config file *`code/common/config.py`*.  \n    (Or skip to use the default paths which should also work).  \n    Optionally, you can generate the images in real-time from webcam - `python capture_from_camera.py`.\n 2. Generate image-vs-label mappings for all the training images - `python generate_images_labels.py train`.\n 3. Apply the image-transformation algorithms to the training images - `python transform_images.py`.\n 4. Train the model - `python train_model.py \u003cmodel-name\u003e`. Model names can be `svm`/`knn`/`logistic`.\n 6. Generate image-vs-label mapping for all the test images - `python generate_images_labels.py test`.\n 7. Test the model - `python predict_from_file.py \u003cmodel-name\u003e`.  \n    Optionally, you can test the model on a live video stream from a webcam - `python predict_from_camera.py`.  \n    (If recording, then make sure to have the same background and hand alignment as in the training images.)\n\nAll the python commands above have to be executed from the `code/` directory.  \nThe above workflow can be executed using *`run.sh`*.\n\n**To-Do:**\n - Improve the command-line-arguments input mechanism.\n - ~~Add progress bar while transforming images.~~\n - ~~Add logger.~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanmol-singh-jaggi%2Fsign-language-recognition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanmol-singh-jaggi%2Fsign-language-recognition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanmol-singh-jaggi%2Fsign-language-recognition/lists"}