Giter Club home page Giter Club logo

prvnmali2017 / box-detection-in-warehouse-using-vision-based-ml-engineering Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abhijeetgupta23/box-detection-in-warehouse-using-vision-based-ml-engineering

0.0 0.0 0.0 23.69 MB

This Repo contains a Box Detection Application capable of identifying box containers in conveyor belt pictures.

Home Page: https://hub.docker.com/r/agpsuai23/box_detection_image

Python 0.68% HTML 0.22% Jupyter Notebook 99.03% Dockerfile 0.07%

box-detection-in-warehouse-using-vision-based-ml-engineering's Introduction

Box Detection in Warehouse Conveyor Belts

This Repo contains a Box Detection Application capable of identifying box containers in conveyor belt pictures.



This project has many applications in Warehouse Inventory Management:

  • Accurate Counting: Automatically count boxes on conveyor belts for real-time inventory updates, reducing manual counting errors and delays.
  • Box Type Identification: Differentiate between different types of boxes based on size, shape, or markings, enabling efficient sorting and tracking.
  • Damage Detection: Identify damaged boxes during transportation, allowing for quicker intervention and quality control.

End User Instructions to run the Object Detection Model

In order to use this object detection web application, please follow below instructions
  1. Install Docker
    • Make sure Docker is installed on your system. You can download and install Docker Desktop from the official Docker website.
  2. Pull the Docker Image
    • Open docker desktop, followed by a terminal or command prompt in your system and run:
      docker pull agpsuai23/box_detection_image
    • This command will download the Docker image named agpsuai23/box_detection_image to your local machine.
  3. Run the Docker Container
    • Once the image is pulled, execute the following command:
      docker run -p 8000:8000 agpsuai23/box_detection_image
    • This command starts the container and maps port 8000 of the host to port 8000 of the container, allowing access to the application.
  4. Access the Application
    • Open a web browser and go to: http://localhost:8000/
    • You can now interact with the Box Detection Application through the browser interface.

Project Details

  1. Computer Vision based Data Science & ML
    • Yolo8_Model_Creation.ipynb downloads the dataset from Roboflow, followed by training Yolov8 on train set using transfer learning, validation and test result display. We end up with a mean Average Precision (mAP) of 0.913 (90%+). Finally, the model is saved as best.pt
  2. Software Engineering using FAST API
    • I created a FastAPI web application (main.py) to serve the saved model to customers.
    • Home page (Upload_for_Detection.html) is a basic I/O based UI that lets a user upload a conveyor belt image, and when a button is clicked, the application uses the previously saved Yolo8 model to detect box containers and return the image with labels in a new page. Code can be found in main.py - @app.post("/YOLO_Box_Prediction_Website/")
    • Alternatively, I also created an API functionality that can programmatically accept a conveyor belt image as input to return as output the image with labels saved in local system. Working can be found at main.py - @app.post("/YOLO_Box_Prediction_Service/"). An example of API call can be found in CUSTOM_YOLO_API_call.ipynb
  3. Deployment using Docker Containerization
    • Finally, I deployed this FastAPI based Yolov8 application as a Docker Image (based on Dockerfile) and uploaded it to Docker Hub.
    • All they need to do is to simply install Docker Desktop, pull the image from the hub, run it as a Docker container and finally access the webpage on a browser as localhost:8000
    • Advantage of containerization is that all end users can avoid the hassle of installing packages mentioned in requirements.txt, which are necessary to run the application on their system.

box-detection-in-warehouse-using-vision-based-ml-engineering's People

Contributors

abhijeetgupta23 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.