This is a Vehicle Number Plate Detection App built using React.js for the front-end, Streamlit for the backend, and YOLO (You Only Look Once) for object detection. The app allows users to upload images, detects vehicle number plates, reads the extracted text and keeps count of the vehicle. The application is containerized using Docker for easy deployment and scalability.
- User-Friendly Interface: Navigation bar, image upload form, and result display for an intuitive user experience.
- Number Plate Detection: Detects vehicle number plates from uploaded images using the YOLO model.
- Text Extraction: Reads the detected number plates using Optical Character Recognition (OCR).
- Responsive Front-End: Built with React.js for a smooth and interactive user experience.
- Scalable Deployment: Packaged with Docker for portability and ease of deployment.
- Backend Powered by Streamlit: Handles image processing and OCR tasks efficiently.
- Frontend: React.js
- Backend: Streamlit (Python)
- Containerization: Docker
- Machine Learning: YOLO v3
- OCR: Tesseract OCR
- Computer Vision: OpenCV, PyTorch
- Node.js and npm (or yarn)
- Python (3.8 or above)
- Docker Desktop installed on your system
Follow these steps to set up and run the project locally:
git clone https://github.com/techy4shri/IMAGE-DETECTION.git
cd IMAGE-DETECTION
Ensure Node.js is installed:
npm install # or yarn install
Ensure Python is installed:
pip install -r requirements.txt
-
Build the Docker images:
docker-compose build
-
Start the application:
docker-compose up
The app will be accessible at http://localhost:80 (frontend) and Streamlit backend.
-
Run the Streamlit backend:
streamlit run app.py
-
Start the React.js frontend:
npm start
Access the frontend at http://localhost:3000.
- Access the app in your web browser.
- Use the upload form to select an image from your local machine.
- The app processes the image, highlights detected vehicle number plates, and extracts the text.
- Results, including the processed image and text, will be displayed.
The project includes:
- Frontend Dockerfile: Defines the React.js container.
- Backend Dockerfile: Defines the Streamlit container.
- docker-compose.yml: Orchestrates the services and environment configurations.
- Improve detection accuracy using YOLOv5 or YOLOv7.
- Integrate real-time video detection for live number plate recognition.
- Optimize OCR logic for better text accuracy.
- Add support for a database to store detected results.
- Deploy the app to cloud platforms like AWS or Azure.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! If you find bugs or want to add new features:
- Fork this repository.
- Create a new branch (git checkout -b feature-branch).
- Commit your changes (git commit -m "Add some feature").
- Push to the branch (git push origin feature-branch).
- Open a Pull Request.
- GitHub: techy4shri
- LinkedIn: Garima Shrivastav
If you like this project, don’t forget to star ⭐ the repository! You can also sponser this project to help me maintain and develop it further!