Skip to content

Harshulagarwal/WasteBot

 
 

Repository files navigation

WasteBot

WasteBot was researched and developed by us during January - November 2019 as a Capstone project at Thapar Institute of Engineering and Technology.

Robotic Arm

This prototype uses deep learning, image processing, and some electronics to segregate solid waste into three different categories - Biodegradable, Recyclable, and Non-Recyclable waste.

After going through various failed approaches during our course, we selected to go with transfer learning with VGG-16 as it gave an accuracy of 85.49%. We also observed, more the complex algorithm we chose for transfer learning (For example, ResNet-34, ResNet-50, DenseNet) more bad the model got. So ideal approach looked to use neural network with lesser layers.

Next thing was to handle large computations on Raspberry Pi. As the RAM on Pi is extremely limited (1 GB), idea was to do all the processing on seperate device and only use Pi to control the Robot. This also introduced us to tons of new things to take control of during implementation of Socket Programming. To optimize the time taken to transfer a file and prevent that file to encounter errors during working with OpenCV, we had to choose a non-conventional way of file transfer.

The trained model .hdf5 file can be viewed here. This file is of 520MB. Using this model, the predictions on the image received are made, and the prediction is sent back to the Raspberry Pi which based on the prediction controls the motors of the robot.

The video explaining the prototype can be viewed here in this repository

Developers

References

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 72.0%
  • Python 28.0%