Welcome to Sign2Text! π This innovative project translates Nepali Sign Language (NSL) into text. Developed for a hackathon challenge, this solution combines machine learning, computer vision, and web technologies to deliver Nepali sign language translations.
Sign2Text bridges the communication gap between the deaf community and the wider public by converting NSL gestures into readable text. Using advanced machine learning models trained on NSL gestures, our project features a user-friendly web interface for seamless interaction.
- π Real-time Sign Language Recognition: Translate NSL gestures to text instantly using your webcam.
- π» User-friendly Interface: A sleek and responsive web interface built with React and Tailwind CSS.
- βοΈ Scalable Backend: Robust backend powered by OpenCV and TensorFlow for efficient model inference and data handling.
- π§ Custom Dataset Support: Easily extend the model with new gestures by updating the dataset.
- React π
- TypeScript βοΈ
- Next.js π
- Tailwind CSS π¨
- Python π
- TensorFlow π§
- OpenCV π·
.
βββ Backend
βΒ Β βββ NotoSansDevanagari-Regular.ttf
βΒ Β βββ data_collection.py
βΒ Β βββ flask_server.py
βΒ Β βββ main.py
βΒ Β βββ model.py
βΒ Β βββ my_functions.py
βΒ Β βββ requirements.txt
βββ Frontend
βΒ Β βββ apps
βΒ Β βΒ Β βββ web
βΒ Β βΒ Β βββ @
βΒ Β βΒ Β βΒ Β βββ components
βΒ Β βΒ Β βΒ Β βββ magicui
βΒ Β βΒ Β βΒ Β βββ blur-fade.tsx
βΒ Β βΒ Β βΒ Β βββ cool-mode.tsx
βΒ Β βΒ Β βΒ Β βββ dock.tsx
βΒ Β βΒ Β βΒ Β βββ shimmer-button.tsx
βΒ Β βΒ Β βΒ Β βββ shine-border.tsx
βΒ Β βΒ Β βΒ Β βββ shiny-button.tsx
βΒ Β βΒ Β βΒ Β βββ sparkles-text.tsx
βΒ Β βΒ Β βΒ Β βββ text-reveal.tsx
βΒ Β βΒ Β βββ app
βΒ Β βΒ Β βΒ Β βββ common
βΒ Β βΒ Β βΒ Β βΒ Β βββ Background.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ CTA.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Collapse.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Dropdown.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Form.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Headline.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ItemGrid.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ ItemTeam.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Timeline.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ WidgetWrapper.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ types.d.ts
βΒ Β βΒ Β βΒ Β βββ components
βΒ Β βΒ Β βΒ Β βΒ Β βββ Banner.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ BlurFade.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ CallToAction.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ CallToAction2.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Contact.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Content.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ FAQBox.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ FeaturesSection.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Footer.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Howitworks.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Logo.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ NavBar.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Sign2TextHeader.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SparklesText.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Steps.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Team.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ TeamSection.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ TechUsed.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ TextReveal.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ document.tsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ logo.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ logo1.svg
βΒ Β βΒ Β βΒ Β βΒ Β βββ sendPredictionRequest.tsx
βΒ Β βΒ Β βββ config.ts
βΒ Β βΒ Β βββ favicon.ico
βΒ Β βΒ Β βββ globals.css
βΒ Β βΒ Β βββ hooks
βΒ Β βΒ Β βΒ Β βββ UseOnClickOutside.tsx
βΒ Β βΒ Β βΒ Β βββ axiosInstance.js
βΒ Β βΒ Β βΒ Β βββ useCollapse.tsx
βΒ Β βΒ Β βΒ Β βββ useWindowSize.tsx
βΒ Β βΒ Β βββ layout.jsx
βΒ Β βΒ Β βββ page.tsx
βΒ Β βΒ Β βββ svgs
βΒ Β βΒ Β βββ logo.svg
βΒ Β βββ components.json
βΒ Β βββ next-env.d.ts
βΒ Β βββ next.config.js
βΒ Β βββ package-lock.json
βΒ Β βββ package.json
βΒ Β βββ pnpm-lock.yaml
βΒ Β βββ pnpm-workspace.yaml
βΒ Β βββ postcss.config.js
βΒ Β βββ tailwind.config.js
βΒ Β βββ theme.config.tsx
βΒ Β βββ tsconfig.json
βΒ Β βββ turbo.json
βΒ Β βββ yarn.lock
βββ README.md
- Clone the repository:
https://github.com/alexbytesback/Sign2Text-Nepali-Sign-Language-to-Text-Translation.git
- Navigate to the
Backend
directory:cd Sign2Text/Backend
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the required dependencies:
pip install -r requirements.txt
- Run the Data Collection Program:
python data_collection.py
- Run the Model Program:
python model.py
- Finally, run the main Program:
python main.py
- Navigate to the
Frontend
directory:cd Sign2Text/Frontend/apps/web
- Install the required dependencies:
yarn install
- Start the development server:
yarn dev
- Run the
main.py
andflask_server.py
from the backend directory. - Navigate to frontend directory and then run
npm run dev or yarn dev
. - Open your browser and navigate to
http://localhost:3000
. - Use the interface to interact with the sign language translator by clicking 'Get Started' button.
- The application will display the recognized text from your NSL gestures in real-time.
We welcome contributions to improve Sign2Text. To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Prashant - Project Lead, Backend Developer, Web Developer
- Prastuti - Data Collection and Dataset Management
- Aananta - AI/ML Specialist
- Anupam - Data Science Specialist
- Chadani - Frontend Developer