Portable
Cataract
Detection and
Grading System
Review 2
INDEX
Sr no. Content Pg no.
1 System Architecture 8
2 Ensemble Learning 9
Methods
3 CNN Architecture 13
4 Mathematical 31
Explanation of CNN
5 Working of MobileNet 39
6 Overview of Object 44
Detection
7 Features of YOLO 49
1
LITERATURE SURVEY
1) Title : MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
● Authors : Marco Andreetto
● Aim / Problem statement of the paper and Objectives of the paper :
The paper aims to introduce a new class of efficient neural network models called MobileNets, which are
specifically designed for mobile and embedded vision applications. The paper proposes a novel network
architecture and two hyper-parameters that allow model developers to create small, low latency models that
can be easily matched to the resource restrictions of their application.
● Methodology adopted in the paper :
The paper proposed a streamlined architecture of CNN by making use of Depthwise and Pointwise
Convolution techniques to make it light weight. The paper also introduces two hyper-parameters, width
multiplier and resolution multiplier, which allow model developers to create smaller and more efficient
MobileNets that can be easily matched to the resource restrictions of their application.
2
LITERATURE SURVEY
● Key findings :
1. The proposed MobileNets architecture, which uses depth-wise separable convolutions, is an
efficient and effective way to build lightweight deep neural networks for mobile and embedded vision
applications.
2. The width multiplier and resolution multiplier hyper-parameters allow model developers to create
smaller and more efficient MobileNets that can be easily matched to the resource restrictions of their
application.
3. MobileNets outperform popular models in terms of size, speed, and accuracy, making them a
compelling choice for mobile and embedded vision applications.
● Inferences from the paper:
The research paper introduces the MobileNets architecture, incorporating depth-wise separable
convolutions to construct lightweight deep neural networks. The insights and methodologies
presented in the paper offer valuable perspectives on the design of lightweight neural networks.
3
LITERATURE SURVEY
2) Title: A comprehensive review on ensemble deep learning: Opportunities and challenge
● Authors : Ammar Mohammed, Rania Kora
● Aim / Problem statement of the paper and Objectives of the paper :
To explores the opportunities and challenges of combining ensemble methods with deep learning to improve
predictive accuracy in machine learning.
● Methodology adopted in the paper :
Data Sampling, Bagging, Boosting, Stacking, Meta learning, voting method, Ensemble deep learning.
● Key findings:
Reducing the bias and the variance of models is one of the key factors determining the success of the
learning process.
Proved that merging the output of different classification algorithms might decrease the generalization error
without increasing the variance of the model.
4
LITERATURE SURVEY
Gaps/Limitations:
The diversity can be achieved by training different baseline deep learning architectures
over several data samples.
The diversity, however, is limited by the computation cost and the availability of
suitable data to be sampled.
Inferences from the paper:
Proving a deep, detailed and thorough understanding of Ensemble Learning, its types,
various opportunities and also challenges
5
LITERATURE SURVEY
3) Title : Object Detection through Modified YOLO Neural Network
● Authors : Tanvir Ahmad,Yinglong Ma,Muhammad Yahya, Belal Ahmad
● Aim / Problem statement of the paper and Objectives of the paper :
Aim of the research paper is to propose a modified YOLO neural network for object detection that
improves the accuracy and speed of detection.
● Methodology adopted in the paper :
The paper proposes three key improvements for object detection: a modified loss function that
considers confidence scores and localization errors, an inception structure model using diverse
convolutional filters to extract features, and the addition of a spatial pyramid pooling layer to handle
objects at different scales.
● Key findings :
The modified YOLO neural network achieved an accuracy of 65.6% and 58.7% on the Pascal VOC 2007
and 2012 datasets, respectively. This is an improvement over the original YOLO neural network and
other state-of-the-art object detection methods. The modified YOLO neural network is faster than the
original YOLO neural network, with a detection time of 0.11 seconds compared to 0.14 seconds.
6
LITERATURE SURVEY
● Gaps and limitations :
The proposed modified YOLO neural network is evaluated on benchmark datasets, which may not fully
represent real-world scenarios where objects are found in different lighting conditions.
● How it helped :
This paper helped me to understand how YOLO object detection method can be used to detect object
which might help me in detecting the iris of the eye and capturing the eye image automatically
Updated Block Diagram 7
System Architecture 8
9
Why Ensemble Learning?
● enhance predictive accuracy and robustness.
● effective at reducing overfitting, improving
generalization.
Ensemble Learning Methods:
● Bagging
● Boosting
Ensemble Learning Method: 10
Bagging D
…
d1 d2 d3 dn
c1 c2 c3
… cn
C*
Ensemble Learning Method:
11
Boosting D1 D2 D3 Dn
1 4 2 an-3
D
1 w1
3
6
6
7
3
7 … an-2
an-1
2 w2 7 3 5 an
3 w3
4 w4
5
6
w5
w6 M1 M2 M3 … Mn
7 w7
8 w8
9 w9
. .
. .
. .
n wn M*
12
Difference between Bagging and Boosting
Bagging Boosting
Data Partition is Random Mis-classified data is given higher importance
Goal is to reduce the variance in the model Goal is to increase the prediction accuracy in the model
Uses random sub-space Uses gradient descent model
Uses Weighted or average function Uses Weighted majority vote fuction
CNN Architecture 13
14
What are the Core Layers of a CNN?
● Input
● Convolution Layer
● ReLu Layer
● Pool Layer
● Fully Connected Layer
15
What is a Stride?
Stride simply refers to the step size we take
when we
slide our kernel the input image.
Using Stride of
1
16
Use of Stride?
● Stride controls the size of the Convolution
Layer output.
● Using a larger Stride produce less overlap in
kernels.
17
ReLU
● ReLU is the Activation Function of Choice
● It simply changes all the negative values to 0
while leaving the positives values
unchanged.
18
Example of ReLU on an Image
.
19
Pooling
● Pooling, also known as subsampling or downsampling
of the Feature Map.
● The purpose of this reduction is to reduce the number
of parameters needed to train, while retaining the
most parameters important features.
● There are 3 types of Pooling we can apply, Max,
Average
and Sum.
20
Example of Max pooling
21
● pooling has the effect of reducing the
dimensionality (width and height) of the
previous layer by half and thus removing 3⁄4
or 75% of the activations seen in the previous
layer.
● Makes our model more invariant to small to
minor transformations or distortions in our
input image
22
The Fully Connected (FC) Layer
● The FC Layer outputs the class probabilities,
where each class is assigned a probability.
● All probabilities must sum to 1, e,g (0,2, 0.5,
0.3)
23
Soft Max
The activation function used to produce these
probabilities is the Soft Max Function as it turns
the outputs of the FC layer (last layer) into
probabilities.
Example:
● Lets say the output of the last FC layer was [2,
1, 1]
○ Applying the softmax softmax softmax
‘squashes’ these real value numbers into
24
Image Features?
Image Features are simply interesting areas of an image.
Examples:
● Edges
● Colors
● Patterns/Shapes
25
What are Convolutions?
● It is a mathematical term to describe the process of
combining two functions to produce a third
function.
● This third function output is called a Feature Map
● Convolution is a action of using a filter or kernel that
is applied to the input image
26
The Convolution Process
● Convolutions are executed by sliding the filter or
kernel over the input image.
● This sliding process is a simple matrix multiplication
or dot product.
27
Example of Input matrix
28
29
Applying out kernel/ filter
30
Applying out kernel/ filter [Sliding]
31
Mathematical Explanation
Let’s consider an image of size 5X5 size and 3 filters
(since each filter will be used for each color channel:
RGB) of 3X3 size.
32
Formulas
Convolution Layer:
Output size=[(i - f +2×padding)/stride]+1
Max Pooling layer
Output size=[(i - f )/stride]+1
Updated Block Diagram 33
34
35
36
The final step is to flatten our matrix and feed the values to fully
connected layer.
37
What is Kernel?
● The kernel is nothing but a filter that is used to
extract the features from the images.
● Kernel is a matrix that moves over the input
data , performs the dot product with the sub-
region of input data and gets the output as the
matrix of dot products.
38
39
MobileNet.
● MobileNet is a family of lightweight deep neural
network architectures designed for efficient use
on mobile and embedded devices.
● Introduced by Researchers at Google in 2017
● It uses only 10-15% parameters of the
traditional CNN
Core Components are:
● Depthwise separable convolution
● Pointwise convolution
40
Traditional CNN
Feature
Input Image
Map
Kernel
41
Input Image
3*(3*3)=27
Concatenated
(Depthwise 42
Convolution)
43
Conclusion
● 432 v/s 75
● Which is
75/432 * 100 = 17%
● Even with lesser parameters MobileNet provides
equal accuracy
44
Object Detection (Iris Tracker)
● To track the iris whenever the camera is turned
on
And to capture the image automatically when
iris is
detected
● The captured eye image will be saved as
"eye_detected_image.jpg" in the current
working directory.
● And later on fed to the CNN model to get
classification results
How Object Detection is carried out? 45
1) Two-Stage Detector:
Detection process involves two steps.
● First Step (Region Proposal):
○ Uses regional design networks to create region of
interest(ROI’s) with high probability of being an
object.
● Second Step (Object Detection):
○ Performs final classification and regression of
bounding box of the objects.
46
2) One-Stage Detector:
● Detection as Regression:
○ Object detection is treated as a simple regression
problem that takes input.
○ Learns probability classes and bounding box
coordinates directly.
47
YOLO
● YOLO stands for “You Only Look Once”.
● Performs real-time object detection using Convolutional Neural
Network(CNN).
● Used to predict different probability classes and boundary fields
simultaneously.
Concepts
● Single pass processing : processes the entire image in a single run
making it faster and more suitable for real-time applications.
● Grid System : divides the input image into grid and predicts bounding
boxes and class probabilities for each grid cell.
● Bounding box : outline that highlights an object in an image with
attributes such width, height and class.
● Intersection over Union (IOU) : measures the extent of overlap
between the predicted bounding box and the ground truth bounding
[Link] value ranges from 0 to 1 where 0 means no overlap and 1
means complete overlap between predicted and ground truth
48
Intersection Over Union
49
Why YOLO?
Speed – This algorithm has improved speed for real-
time object detection.
High Accuracy – This technique gives accurate
outcomes with minimal background errors.
Learning Ability – The excellent learning ability of this
algorithm allows it to learn object representations and
apply them in object detection.