Niharmahesh
commited on
Commit
•
7ff600a
1
Parent(s):
31a3df3
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# ASL Recognition Model
|
2 |
+
|
3 |
+
This project provides an open-source implementation of an American Sign Language (ASL) Recognition Model. The model leverages machine learning and computer vision techniques to recognize ASL hand signs from images.
|
4 |
+
|
5 |
+
## Features
|
6 |
+
|
7 |
+
- **Hand Landmark Detection**: Utilizes MediaPipe to accurately detect 21 hand landmarks in images.
|
8 |
+
- **Feature Extraction**: Calculates angles between all pairs of landmarks to form a 420-dimensional feature vector.
|
9 |
+
- **Vector Calculation**: Computes vectors between each pair of landmarks.
|
10 |
+
- **Angle Computation**: Uses the arccosine of normalized vector components to derive angles.
|
11 |
+
- **Model Input**: The extracted angles serve as input features for the Random Forest model, which classifies the ASL sign.
|
12 |
+
|
13 |
+
## Technical Stack
|
14 |
+
|
15 |
+
- **Python**: Core programming language.
|
16 |
+
- **OpenCV**: For image processing and manipulation.
|
17 |
+
- **MediaPipe**: For detecting hand landmarks.
|
18 |
+
- **Scikit-learn**: Provides the Random Forest model for classification.
|
19 |
+
- **Streamlit**: Facilitates an interactive user interface for real-time recognition.
|
20 |
+
|
21 |
+
## Supported Alphabets
|
22 |
+
|
23 |
+
The model currently works for the following ASL alphabets:
|
24 |
+
- A, B, C, E, F, G, H, I, J, K, L, O, Q, R, S, W, Y
|
25 |
+
|
26 |
+
The model does not support or may not work correctly for:
|
27 |
+
- D, M, N, P, T, U, V, X, Z
|
28 |
+
|
29 |
+
## Usage
|
30 |
+
|
31 |
+
1. Upload an image of an ASL sign through the Streamlit interface.
|
32 |
+
2. The model processes the image and provides the top 5 predictions along with visualizations of detected hand landmarks.
|
33 |
+
|
34 |
+
## Contribution
|
35 |
+
|
36 |
+
We welcome contributions to improve the model's accuracy and expand its alphabet coverage. Feel free to fork the repository, submit issues, or create pull requests.
|
37 |
+
|
38 |
+
## License
|
39 |
+
|
40 |
+
This project is open-source and available under the [MIT License](LICENSE).
|
41 |
+
|
42 |
+
## Acknowledgments
|
43 |
+
|
44 |
+
Thanks to the contributors of MediaPipe and Scikit-learn for their powerful libraries that made this project possible.
|