WIN1201-27 Food Recognition


 

Bipandeep Kaur

Role in project : 

  • Machine Learning Engineer
  • Acquired knowledge of TensorflowLite model of the algorithm based on python.

Bio:

  • I am currently pursuing a Post-Graduate Diploma in Wireless Information Networking at Fleming College.
  • Completed Masters in Electronics and Telecommunication Engineering from Punjab India.
  • Successfully done six months of technical training in Automation and Control Systems from Chandigarh, India.
  • Gained skills in technical languages like HTML, PLC, Python, Java.

Nixon Albuke

Role in project : 

  • Leading the communication practices with the sponsor , mentor and interaction with the team.
  • Played a major role in the development of  the android application and testing the app.
bio:
  • Graduated with a bachelor’s degree in Electronics and Telecommunication Engineering from St. Francis Institute of Technology, Mumbai.
  • Total 4 years of work experience in “Quick Heal Technology LTD” as SOC Analyst.
  • Worked on a different Network security domains and have hands-on experience on Ransomware analysis, IDS/IPS, Firewall, Firewall Basic Rules & File Integrity Monitor.
  • Gained skill’s in technical languages like Python, Java, C & C++ along with their programming environment.

Srushti Raut

Role in Project: Project Engineer

  • Created an accurate training dataset by performing ground truth labelling by annotating the images using Labelimg Tool.
  • Created mean shift Algorithm for image segmentation.

Bio:

  • I am currently pursuing  a Post-Graduate diploma in Wireless Information Networking at Fleming College.
  • Successfully completed my B.Tech in Electronics Engineering.
  • Possess basic knowledge of programming languages such as C, Python.
  • Sound Understanding  of Machine Learning algorithm.

Yash Raval

Role in the project: Team leader
  • Knowledgeable python programmer with good troubleshooting skills.
  • Familiar with various types of machine learning algorithms with a major focus on Deep Learning.
  • Good interpersonal communication skills with the ability to manage & lead the team.
bio:
  • Graduated from Gujarat Technological Engineering with a Bachelor’s in Electronics & Communication Engineering.
  • Currently in the last semester for Wireless Information Networking post-graduate program at Fleming College.
  • Currently working as a Data Analyst at Fleming College.

Team Name:

Quad Squad

Team Members Names:

Bipandeep Kaur, Nixon Albuke, Srushti Raut, Yash Raval

Program of Study:

Wireless Information Networking

Mentor Name:

Maryam Shafiei Sabet

Project Name:

Food Recognition

Sponsor Name:

Parisa Pouladzadeh



Sponsor Organisation:

Fleming College


Brief Description Of Project:

Nowadays, buzz words like Machine Learning and Artificial Intelligence are being used in every industry that we can think of. It has become the 21st-century thing that is revolutionizing everything around us. Following this very idea, we have developed an algorithm using TensorFlow’s Mobilenet V2 that has the capability to recognize numerous fruits presented to the model. This allowed us to provide a proof of concept that Deep Learning objection detection models can be used for the detection of food items with good accuracy. In the future, the sponsor can grow this algorithm to incorporate nutrition facts and more food items.

Project Objective:

  • The objective of this project was to design a Deep Learning model consisting of a Convolutional Neural network fruit image recognition algorithm that detects the certain types of fruits with white background by considering their shape, colour and size.
  • The algorithm successfully detects : red apple, banana, green grapes, lychee, orange, pineapple and strawberry.
  • In order to get the desired outcome the algorithm was divided into 4 main parts:
  1. Image Segmentation: Partitioning a digital image into several segments, to locate objects and boundaries to separate the fruits on a plate. The aim of segmentation is to simplify an image, which makes it simpler to analyze.
  2. Image Classification: Detecting if the fruit is present or not in the picture and then classify the type of fruit.
  3. Ground Truth Label: Data labelling to create a highly accurate training dataset.
  4. Object detection: Determine the types of fruits, whether it one single fruit or multiple different fruits in a picture.

Project Innovation:

  • Everything used in our project has come from completely open-source sources. From images required to train the algorithm itself to TensorFlow objection detection from GitHub.
  • Used Google Colab (another open-source platform) as an innovative approach for training the algorithm instead of a dedicated GPU that zeroed down the cost of production.
  • Accurate detection of multiple fruit images with high accuracy.

Challenges & Solutions:

How did the team use creativity to work through the obstacles and challenges encountered?

There were many different challenges faced in the course of the project around the year which we have tackled together as one team using the creativity of the team to work on the project by researching, reading papers on different methods which can be implemented for overcoming the obstacles and challenges encountered together.

We encountered the following obstacles below

  • System usage and compatibility problem.
    • There was much software that required high RAM configuration and the latest version of O.S for installation and working as they were not compatible with the old version of O.S.
    • We had to upgrade our system O.S to the latest version for the smooth working of the required installed software.

 

  • Software Compatibility with the new version.
    • We faced a challenge in using a detection method that was not compatible with the latest version.
    • It crashed the software completely on using it.
    • Eg: the Faster RCNN implementation method uses an older version of Keras which is not compatible with new software.​

 

  • Python installation was successful on every system, but the training of the model took a long time.
    • The requirement was to have a good GPU (Graphics Processing Unit).
    • We lacked the GPU as we had our personal laptops.
    • We made use of Google Colab which has an in-build GPU required for TensorFlow training.
    • It is a cloud-based notebook that provides computing power on a GPU in Colab. In this notebook, you will connect to a GPU, and then run some basic Tensor Flow operations on both the CPU and a GPU, observing the speedup provided by using the GPU.

 

  • Downloading the Fruit for an image from the internet was a challenge to get more than 500 images of 10 different fruit each.
    • Used different links and websites for downloading the images.

 

  • Transferring of images.
    • Moving the data between Google drive and the personal computer is time-consuming.
    • The images were of large size due to bulk image content.

Project Results or Progress:

  1. Successfully created an algorithm for fruit detection
  2. Researched four different algorithms used for image segmentation to understand the basics.
  3. Downloaded more than 100 images of different fruits (Red Apple, Grapes, Strawberry, Banana, Pineapple, and Orange) with the specification of a white background.
  4. Created database for training, testing, and validation using the above fruits.
  5. The second result achieved by us was the implementation of Convolutional Neural Networks.
  6. We used an annotation technique based on LabelImg (written in python) for ground truth labeling.
  7. Again, we did modifications for multiple detections of all 10 fruits using the Object Detection technique.
  8. Successfully trained and tested MobileNet V2 using Tensorflow Object Detection API.

Lessons Learned:

  • Deep Learning algorithms like CNN and RCNN using python.
  • Efficiently using TensorFlow’s Object Detection API.
  • Ground Truth Labelling of Images for better detection.
  • Pre-processing of Ground Truth Labelled data.
  • Developing the training algorithm for Mobilenet V2.
soft skills:
  • Time Management
  • Managerial Skills
  • Leadership skills
  • Ability to work remotely

Short Video: