GithubHelp home page GithubHelp logo

ctsoc-ewaste's Introduction

IEEE CTSoc 2020 Remote Internship Project- Object detection for E-waste in Indian context

Introduction to the problem

E-waste, or electronic waste, encompasses electrical and electronic equipment that’s outdated, unwanted, or broken. E-waste contains a laundry list of chemicals that are harmful to people and the environment, like: mercury, lead, beryllium, brominated flame retardants, and cadmium, i.e. stuff that sounds as bad as it is. When electronics are mishandled during disposal, these chemicals end up in our soil, water, and air. Thus the detection of E-waste is an essential step to work on further steps of safely disposing and recycling this waste to minimize its impact on the environment.

Project Goals

Object detection for consumer E-waste in Indian Context.

Dataset

Data Collection

The datasets mentioned below were combined to form the dataset used for this project:

Annotation

  • All images manually labelled using the abelling tool labelImg
  • Classes: battery, bulb, keyboard, laptop, mobile phone, monitor, mouse

Data Preparation

  • Train/Test split- 693 : 198 : 99 (train : valid : test)
  • Preprocessing steps: Auto-Orient
  • Augmentation: Flip (Horizontal, Vertical); Rotation; Shear; Brightness; Exposure; Brightness; Crop
  • Size of dataset before augmentation: 990 images
  • Size of dataset after augmentation: 2376 images

[ Processing done via Roboflow ]

The final dataset used can be found here

For further details on the dataset go here

Implementation

Phase 1: Few Shot Training

Few-shot learning (FSL), is a type of machine learning problems where the training dataset contains limited information.

Common practice for machine learning applications is to feed as much data as the model can take to enable the model to predict better. However, few-shot learning aims to build accurate machine learning models with less training data. As the dimension of input data is a factor that determines resource costs (e.g. time costs, computational costs etc.), one can reduce data analysis/machine learning (ML) costs by using few-shot learning.

  • You can find the Model here

Phase 2: TF2.0 Object Detection (Roboflow)

Creating accurate machine learning models capable of localizing and identifying multiple objects in a single image remains a core challenge in computer vision. The TensorFlow Object Detection API is an open source framework built on top of TensorFlow that makes it easy to construct, train and deploy object detection models.

Tensorflow provides a collection of detection models pre-trained on the COCO 2017 dataset. These models can be useful for out-of-the-box inference. The model used for our implementations is EfficientDet D0 512x512.

  • You can find the Model here

Phase 3: Optimizations in TF2.0 Roboflow Implementation

  • momentum_optimizer: Momentum or Stochastic Gradient Decent with momentum is method which helps accelerate gradients vectors in the right directions, thus leading to faster converging. It is one of the most popular optimization algorithms and many state-of-the-art models are trained using it

  • adam_optimizer: Adam is a replacement optimization algorithm for stochastic gradient descent for training deep learning models. Adam combines the best properties of the AdaGrad and RMSProp algorithms to provide an optimization algorithm that can handle sparse gradients on noisy problems.

  • Replacing momentum_optimizer with adam_optimizer in the model trained.

For further details on the implementation and optimization click here

Results

Instead of using only the gradient of the current step to guide the search, momentum accumulates the gradient of the past steps to determine the direction to go. While momentum accelerates our search in direction of minima, RMSProp impedes our search in direction of oscillations.

Adam or Adaptive Moment Optimization algorithms combines the heuristics of both Momentum and RMSProp.

While both the models were able to detect objects from images of electronic devices that comprise of E-waste, in terms of efficiency the models compared here

Resources

ctsoc-ewaste's People

Contributors

prabindh avatar rdassi 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.