/Objection_detection_mobilnet

This project belongs image recolonization and object detection using single convolution network. The project is integrated using PaaS on cloud and link/ demo is provided in desciption.

Primary LanguageCSSMIT LicenseMIT

Objection Detection (using mobilnet)

Object detection is a computer technology related to computer vision and image processing that deals with detecting instances of the semantic objects of a certain class (such as humans, buildings, or cars) in digital images and videos. MobilenetSSD is an object detection model that computes the bounding box and category of an object from an input image. This Single Shot Detector (SSD) object detection model uses Mobilenet as backbone and can achieve fast object detection optimized for mobile devices.

Issues Badge GitHub contributors Python 3.9 License Badge GitHub last commit

Windows Visual Studio Code Jupyter Pycharm Colab Spyder Streamlit

LinkedIn Badge Github Badge Gmail Badge Facebook Badge Instagram Badge


πŸ”§ Overview:

  • The SSD architecture is a single convolution network that learns to predict bounding box locations and classify these locations in one pass. Hence, SSD can be trained end-to-end. By using SSD, we only need to take one single shot to detect multiple objects within the image, while regional proposal network (RPN) based approaches such as R-CNN series that need two shots, one for generating region proposals, one for detecting the object of each proposal. Thus, SSD is much faster compared with two-shot RPN-based approaches.
  • Mobilenet SSD takes a (3,300,300) image as input and outputs (1,3000,4) boxes and (1,3000,21) scores. Boxes contains offset values (cx,cy,w,h) from the default box.

img1

  • Create virtual environment python -m venv VIRTUAL_ENV_NAME and activate it .\VIRTUAL_ENV_NAME\Scripts\activate.
  • Install necessary library for this project from the file requirements.txt or manually install by pip.
    pip install -r requirements.txt
    
    To create project library requirements, use below command,
    pip freeze > requirements.txt
    
  •   # Below are the clsses that model can detect live
      CLASSES = ["background", "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow",
              "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"]
  • Run app.py python file
    python run app.py
    

πŸ’‘ Demo

πŸ”– Output -

ObjectionDetection_KunalK.mp4

πŸ”– Directory Structure

    .                                           # Root directory
    β”œβ”€β”€ ssd                                     # Model directory
    β”‚   β”œβ”€β”€ MobileNetSSD_deploy.caffemodel      # MobileNetSSD Model
    β”‚   └── MobileNetSSD_deploy.prototxt.txt    # prototype data file
    β”œβ”€β”€ static                                  # Website data
    β”‚   β”œβ”€β”€ css                                 # Css effect files
    β”‚   β”œβ”€β”€ downloads                           # Resultant files
    β”‚   β”œβ”€β”€ fonts                               # Fonts files
    β”‚   β”œβ”€β”€ img                                 # Static images
    β”‚   β”œβ”€β”€ js                                  # Javascript effect files
    β”‚   β”œβ”€β”€ uploads                             # Upload files for object dettection
    β”œβ”€β”€ templates                               # Template directory
    β”‚   β”œβ”€β”€ index.html                          # Index page
    β”‚   β”œβ”€β”€ error_404.html                      # Error page
    β”œβ”€β”€ Aptfile                                 # Apt-based dependencies (Heroku: compile + runtime)
    β”œβ”€β”€ Procfile                                # App init (init: app + server: gunicorn)
    β”œβ”€β”€ app.py                                  # Application main file
    β”œβ”€β”€ classes.py                              # Object detection handler with model and classes
    β”œβ”€β”€ requirements.txt                        # Project requirements library with versions
    β”œβ”€β”€ README.md                               # Project README file
    └── LICENSE                                 # Project License file

☁️ Live Application

Live Aplication is running on heroku cloud platform, you can access from below.

Live App


πŸ“± Connect with me

You say freak, I say unique. Don't wait for an opportunity, create it.

Let’s connect, share the ideas and feel free to ping me...

kunalkolhe3 kunalkolhe3 kunal.kolhe.98 kunalkolhe333 kkunalkkolhe kunalkolhe333