Skip to content

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.

License

Notifications You must be signed in to change notification settings

alexbytesback/Sign2Text-Nepali-Sign-Language-to-Text-Translation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ–οΈ Sign2Text - Nepali Sign Language to Text Translator

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.

πŸ“š Table of Contents

πŸš€ Introduction

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.

🌟 Features

  • πŸ” 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.

πŸ› οΈ Tech Stack

Frontend

  • React 🌐
  • TypeScript ✍️
  • Next.js πŸš€
  • Tailwind CSS 🎨

Backend

  • Python 🐍
  • TensorFlow 🧠
  • OpenCV πŸ“·

πŸ—‚οΈ Project Structure

.
β”œβ”€β”€ 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

Installation

Backend

  1. Clone the repository:
    https://github.com/alexbytesback/Sign2Text-Nepali-Sign-Language-to-Text-Translation.git
  2. Navigate to the Backend directory:
    cd Sign2Text/Backend
  3. Create a virtual environment and activate it:
    python -m venv venv
    source venv/bin/activate   # On Windows use `venv\Scripts\activate`
  4. Install the required dependencies:
    pip install -r requirements.txt
  5. Run the Data Collection Program:
    python data_collection.py
  6. Run the Model Program:
    python model.py
  7. Finally, run the main Program:
  python main.py

Frontend

  1. Navigate to the Frontend directory:
    cd Sign2Text/Frontend/apps/web
  2. Install the required dependencies:
    yarn install
  3. Start the development server:
    yarn dev

πŸ’» Usage

  1. Run the main.py and flask_server.py from the backend directory.
  2. Navigate to frontend directory and then run npm run dev or yarn dev.
  3. Open your browser and navigate to http://localhost:3000.
  4. Use the interface to interact with the sign language translator by clicking 'Get Started' button.
  5. The application will display the recognized text from your NSL gestures in real-time.

🀝 Contributing

We welcome contributions to improve Sign2Text. To contribute:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature/your-feature-name
  3. Make your changes and commit them:
    git commit -m 'Add some feature'
  4. Push to the branch:
    git push origin feature/your-feature-name
  5. Open a pull request.

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Meet our Team

  • Prashant - Project Lead, Backend Developer, Web Developer
  • Prastuti - Data Collection and Dataset Management
  • Aananta - AI/ML Specialist
  • Anupam - Data Science Specialist
  • Chadani - Frontend Developer

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published