Download - Image classification using cnn
![Page 1: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/1.jpg)
image classification using cnn[no math version]
@debarko
Practo
![Page 2: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/2.jpg)
whoamiDebarko De
Practo
Talk : twitter/debarko
Code : github/debarko
Practo : [email protected] to expectWhy use CNN and not regular image processing
How to easily build one for your tasks
How you can implement
This is NOT a tutorial for any of the libraries involved
Where to study more?
We will NOT be talking maths… This is strictly applications of CNN talk
![Page 3: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/3.jpg)
AgendaFeatures
Problem statement & Impact
Trainable Feature Extractors
What is a CNN
Transfer Learning
Libraries
Projects
Fanciness
References
![Page 4: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/4.jpg)
![Page 5: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/5.jpg)
![Page 6: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/6.jpg)
![Page 7: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/7.jpg)
![Page 8: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/8.jpg)
![Page 9: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/9.jpg)
![Page 10: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/10.jpg)
![Page 11: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/11.jpg)
Problem Statement & Impact
![Page 12: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/12.jpg)
Hand Crafted Feature Extractor
Simple classifiers
Trainable FeatureExtractor
Trainable Classifiers
![Page 13: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/13.jpg)
CNN
![Page 14: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/14.jpg)
if x input then y output
![Page 15: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/15.jpg)
x * W = y’
![Page 16: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/16.jpg)
W is kernel/filter
![Page 17: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/17.jpg)
y != y’
![Page 18: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/18.jpg)
E = f(Y,Y’)
![Page 19: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/19.jpg)
CNN
![Page 20: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/20.jpg)
Convolution Layer(Dot Product)
1 0 10 1 01 0 1Kernel
![Page 21: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/21.jpg)
Pooling Layer(Max, Mean, Avg)
![Page 22: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/22.jpg)
Gradient Descent
![Page 23: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/23.jpg)
Why now?
2006 DeepNet paper [Link]
Computational power
Libraries
Lot of data → Imagenet
GPU Power
![Page 24: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/24.jpg)
![Page 25: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/25.jpg)
![Page 26: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/26.jpg)
![Page 27: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/27.jpg)
# Create first network with Kerasfrom keras.models import Sequentialfrom keras.layers import Denseimport numpy
![Page 28: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/28.jpg)
# Create first network with Kerasfrom keras.models import Sequentialfrom keras.layers import Denseimport numpy
# fix random seed for reproducibilityseed = 7numpy.random.seed(seed)
![Page 29: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/29.jpg)
# Create first network with Kerasfrom keras.models import Sequentialfrom keras.layers import Denseimport numpy
# fix random seed for reproducibilityseed = 7numpy.random.seed(seed)# load pima indians datasetdataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
![Page 30: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/30.jpg)
# Create first network with Kerasfrom keras.models import Sequentialfrom keras.layers import Denseimport numpy
# fix random seed for reproducibilityseed = 7numpy.random.seed(seed)# load pima indians datasetdataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")# split into input (X) and output (Y) variablesX = dataset[:,0:8]Y = dataset[:,8]
![Page 31: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/31.jpg)
# create modelmodel = Sequential()
![Page 32: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/32.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))
![Page 33: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/33.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))
![Page 34: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/34.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))
![Page 35: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/35.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))# Compile modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
![Page 36: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/36.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))# Compile modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])# Fit the modelmodel.fit(X, Y, nb_epoch=150, batch_size=10)
![Page 37: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/37.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))# Compile modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])# Fit the modelmodel.fit(X, Y, nb_epoch=150, batch_size=10)# evaluate the modelscores = model.evaluate(X, Y)
![Page 38: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/38.jpg)
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))# Compile modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])# Fit the modelmodel.fit(X, Y, nb_epoch=150, batch_size=10)# evaluate the modelscores = model.evaluate(X, Y)print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
![Page 39: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/39.jpg)
Entire Code
![Page 40: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/40.jpg)
# Create first network with Kerasfrom keras.models import Sequentialfrom keras.layers import Denseimport numpy
# fix random seed for reproducibilityseed = 7numpy.random.seed(seed)# load pima indians datasetdataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")# split into input (X) and output (Y) variablesX = dataset[:,0:8]Y = dataset[:,8]
# create modelmodel = Sequential()model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))model.add(Dense(8, init='uniform', activation='relu'))model.add(Dense(1, init='uniform', activation='sigmoid'))# Compile modelmodel.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])# Fit the modelmodel.fit(X, Y, nb_epoch=150, batch_size=10)# evaluate the modelscores = model.evaluate(X, Y)print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
![Page 41: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/41.jpg)
VGGNet
![Page 42: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/42.jpg)
Layer 1
Layer 2
Layer 3
Layer 4
Layer 5
Visual Geometry Group ImageNet
![Page 43: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/43.jpg)
![Page 44: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/44.jpg)
Few projects that you guys can easily work on
Review sentiment analysis on Practo / Zomato / Flipkart
Customer Conversion Analysis based on behavioural data
Inventory Stocking based on Search queries w.r.t location
Auto analysis and tagging of Support calls
Transcribe audio based on audio in phone calls and create tickets automatically
Any data understanding which can be spread out in a visual format or any time series data
![Page 45: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/45.jpg)
![Page 46: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/46.jpg)
![Page 47: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/47.jpg)
![Page 48: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/48.jpg)
![Page 51: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/51.jpg)
References
Basic Upto Speed Slideshow
Basic Lingo Catchup video for CNN
CS231n → Defacto & Best Online Course Work for CNNs
CS231n Assignments → http://cs231n.github.io/
Follow
@karpathy @drfeifei
Book
Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms 1st Edition by Nikhil Buduma
![Page 52: Image classification using cnn](https://reader034.vdocuments.us/reader034/viewer/2022042604/589ae5191a28abee708b5a81/html5/thumbnails/52.jpg)
धन्यवाद
twitter.com/debarko