WEBEYE: A Deep Learning based image classification activity

Mohammed Ahmed, Oriental Institute of Science and Technology, Bhopal, MP India, Electronics and Communication
Author Profile

Summary

The activity is about raising interest in Deep learning and its wonderful applications in the real world. Google-based Image classification and Image search are hugely popular. With this exercise, the following learning outcomes are expected
1) Students will be able to understand the utility of deep learning in real-world scenarios
2) Students will be able to make use of Pretrained networks like Googlenet
3) Students will be able to create a simple Image Classification network

Keywords: Deep learning, Image Classification, GoogleNet, Matlab, Simulink

The activity is for beginners who do not have an prior idea about Deep learning but working knowledge of MATLAB/ SIMULINK operation and code running. 10 different images are pasted on a lab wall with proper lighting. A webcam( which here we are calling the webeye) connected to a PC with MATLAB/SIMULINK installed is used to point to each of the images where the Deep learning Image classification code using Googlenet as the pretrained Network will suggest a prediction for the image. The students can play around by changing images and by using different pre-trained networks and analysing the performance of detection. They can replicate the same practical using the Google Lens application and compare the performance of the two systems. Finally, post this activity students will be given an introductory session on the Deep learning toolbox wherein they will try to create their own simple image classification network


Learning Goals

With this exercise, the following learning outcomes are expected
1) Students will be able to understand the utility of deep learning in real-world scenarios
2) Students will be able to make use of Pretrained networks like Googlenet
3) Students will be able to create a simple Image Classification network

The image classification has been done by invoking the pre-trained deep convolutional neural network GoogLeNet using the Deep Learning toolbox and a simple webcam for image input.
The activity through its image classification demonstration allows the students to have a greater understanding of Visual data analysis, as they can take this activity forward to extract further defining features from the images as well. Models can be developed which can perform unmanned classification, facial recognition etc. Students will enhance their critical thinking skills to ascertain and judge the performance of various pre-trained networks and create and compare their self created networks.
The students will be required to submit a writeup about the activity and the comparative analysis of various networks

Context for Use

1) The activity is targetted for students of UG Course in Engineering preferably in domains of Computer Science, IT or Electronics and Communication.
2) The activity can be done as a lab with access to Laptops/ Desktops with MATLAB/Simulink but every student should be able to perform the activity
individually.
3) The activity can be an hour long activity based on the strength of the class. We can play around with the number of images to curtail the length of the activity.
4) The students should have a working knowledge of MATLAB/ Simulink. Introduction to the Deep learning toolbox and commands like calling Pretrained networks will be explained briefly during the activity
5) A brief know-how of what Deep learning will be beneficial but it's not compulsory. The objective of the activity is to raise interest in the field and to show its widespread applications.
6) The activity will be a part of the Deep learning training we are providing as a part of Syllabus as well as Project work. The activity can be altered with a different setting where instead of images students can pick any random images from the surrounding using webcam and perform classification. Also, once they are aware of how to create their own network, they can develop a trained facial recognition system as a part of their project activity.

Description and Teaching Materials

The activity is about raising interest in Deep learning and its wonderful applications in the real world. Google-based Image classification and Image search are hugely popular. The activity is for beginners who do not have prior experience in Deep learning but a working knowledge of MATLAB/ SIMULINK operation and code running. 10 different images are pasted on a lab wall with proper lighting. A webcam( which here we are calling the webeye) connected to a PC with MATLAB/SIMULINK installed is used to point to each of the images where the Deep learning Image classification code using Googlenet as the pretrained Network will suggest a prediction for the image. The students can play around by changing images and by using different pre-trained networks and analysing the performance of detection. They can replicate the same practical using the Google Lens application and compare the performance of the two systems. Finally, post this activity students will be given an introductory session on the Deep learning toolbox wherein they will try to create their own simple image classification network . The MATLAB code for invoking webcam and using Pretrained Google Net has been taken from the official MATHWORKS site and the links for the same have been mentioned in the resources section( Ref 1 and 2). The MATLAB code for creating a self trained network also has been used from the MATHWORKS site and listed as Ref 3. The comparison from other networks can be done on the basis of the comparison of various networks as mentioned in ref 4




Teaching Notes and Tips

Students should have a working knowledge of MATLAB and its editor windows, running, compiling code etc. If now, please allow them to have a refresher on MATLAB on RAMP https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted

Assessment

The students are required to present a write up report reflecting following points
1) List of Pretrained Networks used
2) Best performing network as per your analysis

References and Resources

Ref 1: https://in.mathworks.com/help/deeplearning/ug/classify-images-from-webcam-using-deep-learning.html
Ref 2: https://in.mathworks.com/help/deeplearning/gs/try-deep-learning-in-10-lines-of-matlab-code.html
Ref 3: https://in.mathworks.com/help/deeplearning/gs/create-simple-image-classification-network-using-deep-network-designer.html
Ref 4: https://in.mathworks.com/help/deeplearning/ug/pretrained-convolutional-neural-networks.html