SlideShare a Scribd company logo
A Framework for Scene Recognition Using
Convolutional Neural Network as Feature
Extractor and Machine Learning Kernels as
Classifier
Tahmid Abtahi, Aniket Badhan and Sri Harsha
Department of Computer Science & Electrical Engineering
University of Maryland, Baltimore County
{abtahi1,yh02299,ksrihar1}@umbc.edu
Frame work
Why?
-Scene recognition is
valuable in computer vision
-Autonomous navigation
-DataSet ?
- VGG set
-Three category
-High way
-Open Country
-Streets
-678 Images
Convolutional Neural Network (CNN) –
Feature Extractor
Why Feature Extraction ?
-Data Dimensionality Reduction
10 x times in propsed case
--Key Feature Extraction
Algorithm :Convolution
Pseudo Code Convolution:
for Patch_x_axis_movement{
initialize sum =0;
for Patch_y_axis_movement{
calculate dot product (Patch, Filter);
}
result_convolution (x,y) = Dot product;
}
Convolution Operation calculation
Data size Filter size Stri
de
Number of Patch Addition op
per patch
Multiplicati
on op. per
patch
Total op Order
nxn mxm 1 (n-m+1)x (n-m+1) m-1 m m(m-1) (n-
m+1)2
O(n3)
64x64 9x9 1 56x56 = 3136 8 9 2,25,792
Algorithm : Max Pool, ReLU
Pseudo Code Maxpool:
for Patch_x_axis_movement{
for Patch_y_axis_movement{
calculate Max (Patch);
}
result_maxpool (x,y) = Dot product;
}
Pseudo Code ReLU:
update F = max(0, x)
Maxpool Operation calculation
Data size Patch size Factor Number of Patch Comparision op per
patch
Total op Order
nxn mxm m (n/m)x (n/m) m-1 (m-1) (n/m)2 O(n2)
56x56 7x7 7 8x8=64 6 384
Linear Rectification Operation calculation
Data size op per element Total op Order
nxn 1 n2 O(n2)
8x8 1 64
1x Convolution
1/588x Maxpool
1/3528x times ReLU
Implementation and Result
Communication dominating computation
10x dimensionality Reduction
Pre Work
- Training CNN in MatConvNet
--Creating matlab Prototype for
cross checking checking results
Perceptron
• Algorithm for supervised learning of binary classifiers
• Function that maps its inputs x to an output value f(x)
• w is the vector of real valued weights
• f(x) is the output
• m is the no. of inputs to the perceptron
• b is the bias
Pseudo code
Parallel Implementation
• In the training phase, One vs All is implemented for each
output class. This process can be done in parallel, with each
processor handling divided output classes.
• While testing , the test data is divided amongst the processors,
and each processor will report its local accuracy to the Master
node. In the Master node, it will use MPI Reduce to sum the
received local accuracy value and return the final accuracy and
the accuracy percentage.
Results
Results
Results
Varying the Training and keeping the Testing Data size as constant and Processor count as 4
SVM Classifier
• Support Vector Machines (also popularly known as SVM or Support Vector
Networks) are supervised learning models with associated learning algorithms that
analyze data used for classification.
• Used for binary Classification
SVM One versus All
• From the above discussion on SVM, it’s clear that the above model of
SVM can be used for binary classification only, i.e., it can separate
only two classes.
• So, for classification of data points with more than 2 possible outputs,
the above model would fail.
• Hence, to overcome this, there is an enhancement in SVM which is
SVM OVA (One versus All).
• In this model, one output class is separated from the other output
classes and hence, the name One Versus All.
A Framework for Scene Recognition Using Convolutional Neural Network as Feature Extractor and Machine Learning Kernels as Classifier
A Framework for Scene Recognition Using Convolutional Neural Network as Feature Extractor and Machine Learning Kernels as Classifier
Parallel Implementation
• The training phase will be implementation of OVA for each output class.
This process can be done in parallel, with each processor handling
divided output classes.
• For the testing phase, the number of test data points can be divided
amongst the processor, and each processor can report its local accuracy
to the Master node.
• The Master node will use MPI Reduce to sum the received local accuracy
and report the final accuracy and the accuracy percentage.
• In the implementation, all the processors do work, including the master
node, which ensures load balancing as the tasks are the same.
Results
Results
Increasing the Training Data size and keeping the Testing Data
size and Number of Processors as constant
Comparison Between SVM and Perceptron
• SVM includes the factor (1/input number) in weight calculation.
• This helps in getting better accuracy as any input which has noise can
not have much impact on the weight values.
• Also, Lambda is used as an hyper-parameter in weight calculation,
which takes care of the over-fitting and under-fitting.
• Accuracy obtained using Perceptron is comparatively lesser than SVM,
taking almost the same time for computation
Training Data Size Testing Data Size Number of Processors Time Required for SVM
Time
Required for
Perceptron Accuracy for SVM Accuracy for Perceptron
4000 1000 1 0.658 0.617 75.5 72.19
4000 1000 2 1.255 1.283 75.5 72.19
4000 1000 3 1.772 1.955 75.5 72.19
4000 1000 4 2.408 2.366 75.5 72.19
4000 1000 5 2.966 3.035 75.5 72.19
4000 1000 6 3.769 4.11 75.5 72.19
4000 1000 7 5.567 6.987 75.5 72.19
4000 1000 8 8.016 8.037 75.5 72.19
Future Scope
• Task Level Parallel Implementation of SVM and Perceptron
• Increasing the Data Size and Output Classes and use the prepared
framework for advanced scene recognition
• Comparing the results of PCA (Principal Component Analysis) with
CNN and compare which gives the better accuracy.
• Implementing other ML Kernels such as Logistic Regression, k-NN,
etc.
• CNN – GO DEEP
Questions?

More Related Content

PPTX
Bio-inspired Algorithms for Evolving the Architecture of Convolutional Neural...
PPTX
Deep Learning - CNN and RNN
PPTX
CNN and its applications by ketaki
PPTX
Convolutional Neural Network and Its Applications
PDF
Deep learning
PPTX
Convolutional Neural Network and RNN for OCR problem.
PPT
Cnn method
PDF
Offline Character Recognition Using Monte Carlo Method and Neural Network
Bio-inspired Algorithms for Evolving the Architecture of Convolutional Neural...
Deep Learning - CNN and RNN
CNN and its applications by ketaki
Convolutional Neural Network and Its Applications
Deep learning
Convolutional Neural Network and RNN for OCR problem.
Cnn method
Offline Character Recognition Using Monte Carlo Method and Neural Network

What's hot (20)

PDF
ujava.org Deep Learning with Convolutional Neural Network
PDF
Neural Network as a function
PPTX
Deep Learning - RNN and CNN
PDF
HardNet: Convolutional Network for Local Image Description
ODP
Convolutional Neural Networks
PPTX
Convolutional neural networks
PPTX
Tutorial on convolutional neural networks
PPTX
Machine Learning - Convolutional Neural Network
PPTX
Neuroevolution and deep learing
PPTX
Review on cs231 part-2
PDF
Introduction to Convolutional Neural Networks
PPTX
Introduction to CNN
PPTX
convolutional neural network (CNN, or ConvNet)
PDF
PR095: Modularity Matters: Learning Invariant Relational Reasoning Tasks
PPTX
Convolutional Neural Networks
PPTX
Convolutional neural network from VGG to DenseNet
PPTX
Convolutional neural network
PPTX
Convolutional neural networks deepa
PDF
Modern Convolutional Neural Network techniques for image segmentation
ujava.org Deep Learning with Convolutional Neural Network
Neural Network as a function
Deep Learning - RNN and CNN
HardNet: Convolutional Network for Local Image Description
Convolutional Neural Networks
Convolutional neural networks
Tutorial on convolutional neural networks
Machine Learning - Convolutional Neural Network
Neuroevolution and deep learing
Review on cs231 part-2
Introduction to Convolutional Neural Networks
Introduction to CNN
convolutional neural network (CNN, or ConvNet)
PR095: Modularity Matters: Learning Invariant Relational Reasoning Tasks
Convolutional Neural Networks
Convolutional neural network from VGG to DenseNet
Convolutional neural network
Convolutional neural networks deepa
Modern Convolutional Neural Network techniques for image segmentation
Ad

Similar to A Framework for Scene Recognition Using Convolutional Neural Network as Feature Extractor and Machine Learning Kernels as Classifier (20)

PPTX
Wits presentation 6_28072015
PDF
Hand Written Digit Classification
PPTX
DeepLearning
PDF
物件偵測與辨識技術
PPTX
cnn.pptx
PPTX
Introduction to Computer Vision and its Applications
PPTX
iNews: Final Presentation
PPTX
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
PPT
i i believe is is enviromntbelieve is is enviromnt7.ppt
PPTX
Introduction to Convolutional Neural Network.pptx
PDF
"Demystifying Deep Neural Networks," a Presentation from BDTI
PPTX
Deep learning requirement and notes for novoice
PPT
PPT-3.ppt
PPT
MAchine learning
PPT
Machine Learning Machine Learnin Machine Learningg
PPTX
How Machine Learning Helps Organizations to Work More Efficiently?
PDF
Unsupervised Computer Vision: The Current State of the Art
PPTX
Dp2 ppt by_bikramjit_chowdhury_final
PPTX
2018 03 25 system ml ai and openpower meetup
Wits presentation 6_28072015
Hand Written Digit Classification
DeepLearning
物件偵測與辨識技術
cnn.pptx
Introduction to Computer Vision and its Applications
iNews: Final Presentation
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
i i believe is is enviromntbelieve is is enviromnt7.ppt
Introduction to Convolutional Neural Network.pptx
"Demystifying Deep Neural Networks," a Presentation from BDTI
Deep learning requirement and notes for novoice
PPT-3.ppt
MAchine learning
Machine Learning Machine Learnin Machine Learningg
How Machine Learning Helps Organizations to Work More Efficiently?
Unsupervised Computer Vision: The Current State of the Art
Dp2 ppt by_bikramjit_chowdhury_final
2018 03 25 system ml ai and openpower meetup
Ad

Recently uploaded (20)

PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
web development for engineering and engineering
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
composite construction of structures.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Foundation to blockchain - A guide to Blockchain Tech
Embodied AI: Ushering in the Next Era of Intelligent Systems
UNIT 4 Total Quality Management .pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Operating System & Kernel Study Guide-1 - converted.pdf
additive manufacturing of ss316l using mig welding
Lecture Notes Electrical Wiring System Components
web development for engineering and engineering
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
composite construction of structures.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Mechanical Engineering MATERIALS Selection
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS

A Framework for Scene Recognition Using Convolutional Neural Network as Feature Extractor and Machine Learning Kernels as Classifier

  • 1. A Framework for Scene Recognition Using Convolutional Neural Network as Feature Extractor and Machine Learning Kernels as Classifier Tahmid Abtahi, Aniket Badhan and Sri Harsha Department of Computer Science & Electrical Engineering University of Maryland, Baltimore County {abtahi1,yh02299,ksrihar1}@umbc.edu
  • 2. Frame work Why? -Scene recognition is valuable in computer vision -Autonomous navigation -DataSet ? - VGG set -Three category -High way -Open Country -Streets -678 Images
  • 3. Convolutional Neural Network (CNN) – Feature Extractor Why Feature Extraction ? -Data Dimensionality Reduction 10 x times in propsed case --Key Feature Extraction
  • 4. Algorithm :Convolution Pseudo Code Convolution: for Patch_x_axis_movement{ initialize sum =0; for Patch_y_axis_movement{ calculate dot product (Patch, Filter); } result_convolution (x,y) = Dot product; } Convolution Operation calculation Data size Filter size Stri de Number of Patch Addition op per patch Multiplicati on op. per patch Total op Order nxn mxm 1 (n-m+1)x (n-m+1) m-1 m m(m-1) (n- m+1)2 O(n3) 64x64 9x9 1 56x56 = 3136 8 9 2,25,792
  • 5. Algorithm : Max Pool, ReLU Pseudo Code Maxpool: for Patch_x_axis_movement{ for Patch_y_axis_movement{ calculate Max (Patch); } result_maxpool (x,y) = Dot product; } Pseudo Code ReLU: update F = max(0, x) Maxpool Operation calculation Data size Patch size Factor Number of Patch Comparision op per patch Total op Order nxn mxm m (n/m)x (n/m) m-1 (m-1) (n/m)2 O(n2) 56x56 7x7 7 8x8=64 6 384 Linear Rectification Operation calculation Data size op per element Total op Order nxn 1 n2 O(n2) 8x8 1 64 1x Convolution 1/588x Maxpool 1/3528x times ReLU
  • 6. Implementation and Result Communication dominating computation 10x dimensionality Reduction Pre Work - Training CNN in MatConvNet --Creating matlab Prototype for cross checking checking results
  • 7. Perceptron • Algorithm for supervised learning of binary classifiers • Function that maps its inputs x to an output value f(x) • w is the vector of real valued weights • f(x) is the output • m is the no. of inputs to the perceptron • b is the bias
  • 9. Parallel Implementation • In the training phase, One vs All is implemented for each output class. This process can be done in parallel, with each processor handling divided output classes. • While testing , the test data is divided amongst the processors, and each processor will report its local accuracy to the Master node. In the Master node, it will use MPI Reduce to sum the received local accuracy value and return the final accuracy and the accuracy percentage.
  • 12. Results Varying the Training and keeping the Testing Data size as constant and Processor count as 4
  • 13. SVM Classifier • Support Vector Machines (also popularly known as SVM or Support Vector Networks) are supervised learning models with associated learning algorithms that analyze data used for classification. • Used for binary Classification
  • 14. SVM One versus All • From the above discussion on SVM, it’s clear that the above model of SVM can be used for binary classification only, i.e., it can separate only two classes. • So, for classification of data points with more than 2 possible outputs, the above model would fail. • Hence, to overcome this, there is an enhancement in SVM which is SVM OVA (One versus All). • In this model, one output class is separated from the other output classes and hence, the name One Versus All.
  • 17. Parallel Implementation • The training phase will be implementation of OVA for each output class. This process can be done in parallel, with each processor handling divided output classes. • For the testing phase, the number of test data points can be divided amongst the processor, and each processor can report its local accuracy to the Master node. • The Master node will use MPI Reduce to sum the received local accuracy and report the final accuracy and the accuracy percentage. • In the implementation, all the processors do work, including the master node, which ensures load balancing as the tasks are the same.
  • 20. Increasing the Training Data size and keeping the Testing Data size and Number of Processors as constant
  • 21. Comparison Between SVM and Perceptron • SVM includes the factor (1/input number) in weight calculation. • This helps in getting better accuracy as any input which has noise can not have much impact on the weight values. • Also, Lambda is used as an hyper-parameter in weight calculation, which takes care of the over-fitting and under-fitting. • Accuracy obtained using Perceptron is comparatively lesser than SVM, taking almost the same time for computation Training Data Size Testing Data Size Number of Processors Time Required for SVM Time Required for Perceptron Accuracy for SVM Accuracy for Perceptron 4000 1000 1 0.658 0.617 75.5 72.19 4000 1000 2 1.255 1.283 75.5 72.19 4000 1000 3 1.772 1.955 75.5 72.19 4000 1000 4 2.408 2.366 75.5 72.19 4000 1000 5 2.966 3.035 75.5 72.19 4000 1000 6 3.769 4.11 75.5 72.19 4000 1000 7 5.567 6.987 75.5 72.19 4000 1000 8 8.016 8.037 75.5 72.19
  • 22. Future Scope • Task Level Parallel Implementation of SVM and Perceptron • Increasing the Data Size and Output Classes and use the prepared framework for advanced scene recognition • Comparing the results of PCA (Principal Component Analysis) with CNN and compare which gives the better accuracy. • Implementing other ML Kernels such as Logistic Regression, k-NN, etc. • CNN – GO DEEP

Editor's Notes

  • #7: Temporary output file of convolution Id Result 4 -71.435791 4 -76.951523 4 -78.251266 4 -85.814285 0 -88.926094 0 -92.253456