File size: 4,557 Bytes
77caf24
 
 
 
 
 
 
 
 
 
1f4e4ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
---
title: Sign Language Interpreter
emoji: "๐ŸคŸ"
colorFrom: indigo
colorTo: blue
sdk: streamlit
sdk_version: "1.24.0"
app_file: simple_sign_interpreter.py
pinned: false
---
# ๐ŸคŸ  Sign Language Interpreter

A real-time sign language recognition system built with Python, MediaPipe, TensorFlow, and Streamlit. This application can detect and interpret sign language gestures in real-time using computer vision and machine learning.

## ๐ŸŒŸ Features

- **Real-time Hand Detection**: Uses MediaPipe for accurate hand landmark detection
- **Sign Language Recognition**: Supports 29 gestures including:
  - Numbers: 1, 2, 4, 5, 6, 7, 8
  - Letters: A-X (excluding E)
- **Live Webcam Processing**: Real-time gesture recognition through webcam
- **Interactive Web Interface**: Built with Streamlit for easy use
- **Adjustable Confidence**: Configurable detection confidence threshold
- **Optimized Performance**: Fast response with temporal prediction smoothing

## ๐Ÿš€ Quick Start

### Prerequisites
- Python 3.8+
- Webcam
- Git

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/yourusername/ai-sign-language-interpreter.git
cd ai-sign-language-interpreter
```

2. **Install dependencies**
```bash
pip install -r requirements.txt
```

3. **Run the application**
```bash
streamlit run simple_sign_interpreter.py
```

4. **Open your browser** and navigate to `http://localhost:8501`

## ๐ŸŽฏ Usage

1. **Start the application** using the command above
2. **Allow camera access** when prompted by your browser
3. **Click "START"** to begin webcam capture
4. **Show hand gestures** to the camera
5. **Adjust confidence threshold** using the sidebar slider for better detection
6. **View real-time predictions** in the "Current Sign" panel

## ๐Ÿ“ Project Structure

```
ai-sign-language-interpreter/
โ”œโ”€โ”€ simple_sign_interpreter.py    # Main Streamlit application
โ”œโ”€โ”€ sign_utils.py                 # Core prediction and landmark detection
โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ sign_model.tflite        # Trained TensorFlow Lite model
โ”‚   โ””โ”€โ”€ labels.txt               # Class labels for gestures
โ”œโ”€โ”€ requirements.txt             # Python dependencies
โ”œโ”€โ”€ .gitignore                  # Git ignore file
โ””โ”€โ”€ README.md                   # Project documentation
```

## ๐Ÿ”ง Technical Details

### Architecture
- **Frontend**: Streamlit web interface
- **Computer Vision**: MediaPipe for hand landmark detection
- **Machine Learning**: TensorFlow Lite for gesture classification
- **Real-time Processing**: Optimized prediction pipeline with temporal smoothing

### Model Information
- **Input**: 63-dimensional hand landmark features (21 landmarks ร— 3 coordinates)
- **Output**: 29 sign language gesture classes
- **Format**: TensorFlow Lite (.tflite) for optimized inference
- **Performance**: Real-time processing at 30+ FPS

### Key Components

1. **MediaPipeLandmarksModel**: Handles hand detection and landmark extraction
2. **SignLanguagePredictor**: Manages model inference and prediction smoothing
3. **Streamlit Interface**: Provides user-friendly web interface

## ๐ŸŽ›๏ธ Configuration

### Adjustable Parameters
- **Detection Confidence**: Minimum confidence for hand detection (default: 0.5)
- **Tracking Confidence**: Minimum confidence for hand tracking (default: 0.5)
- **Prediction Threshold**: Minimum confidence for gesture prediction (default: 0.5)
- **Buffer Size**: Number of frames for prediction smoothing (default: 8)

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- **MediaPipe** for hand landmark detection
- **TensorFlow** for machine learning framework
- **Streamlit** for the web interface
- **OpenCV** for computer vision utilities

## ๐Ÿ“ž Support

If you encounter any issues or have questions:
1. Check the [Issues](https://github.com/kris07hna/SIGN-LANG-INTREPRETOR/issues) page
2. Create a new issue with detailed description
3. Include system information and error messages

## ๐Ÿ”ฎ Future Enhancements

- [ ] Support for more sign language gestures
- [ ] Multi-hand gesture recognition
- [ ] Sign language sentence formation
- [ ] Mobile app version
- [ ] Real-time translation to multiple languages