A brief understanding of Convolutional Neural Network (CNN) in deep Learning
Do you use Facebook? Have your friends automatically tagged photos on your wallpaper? Do you know Facebook uses Convolutional Neural Networks (CNN) for automatic tagging algorithms? Today, we are going to discuss the Convolutional Neural network and its procedure and applications.
Convolutional Neural Networks(CNN) are special kinds of multilayer neurons having learnable weights and biases. The three objectives of CNN are to classify visual context, identify and recognize objects within their boundary, and gather recognized objects into clusters.
In today’s time, CNN is widely used in deep learning in different sectors. The discovery of CNN is considered a great blessing to humankind and scientific progress in information technology for solving real-world problems. CNN is used in computer vision such as image classification, image segmentation, face recognition, image and object detections, etc. For instance, Amazon uses CNN for its products recommendation to Customers, Google for search engine through among users’ photos, Pinterest for their home feed personalization and Instagram for their search infrastructures, and even sentiment analysis in Facebook.
Caption: Elephant picture with its array
(Source: medium.com)
We, human beings, our brains classify visual pictures based on their identifiable features. For example — usually four legs or trunks in elephants, flying wings in birds, etc. However, Computer classifies images by looking for lower levels such as edges, and curves and then building up more abstract concepts through series of convolutional layers.
In CNN, image classification takes an input image, processes it, and classifies it under certain categories. It sees an input image as an array of pixels where it depends on the image resolution.
Caption: illustration of Dog image recognization in neural network
(Source: TowardsDataScience.com)
According to image resolution, it will see height(h) × width(w) × dimension(d). Let’s consider, we have a color JPG image having size 500×500. The size of the array will be 500×500×3. Where, height =500, width=500 and RGB value=3.The computer is assigned a value from 0 to 255 to each of their numbers. It describes the intensity of pixels at each point. We gave the computer this array of numbers which describes the possibility of the image being a certain class. (For example- 0.80 for elephant,0.05 for House,0.04 for Boat, 0.01 for cat 0.9 for tree etc.)
In CNN models to train and test, each input image will pass through a series of convolution layers with filters, Pooling, fully connected layers, and finally apply SoftMax function to classify an object with probabilistic values between 0 and 1.
The following figure shows a complete flow of CNN to process an image and classifies the object based on values.
Caption: Complete CNN architecture (Source: medium.com)
Today, we are going to see an image classification demo on Deep-CNN. Deep CNN is software designed by Deepmind Creation company which is one of the AI, Machine Learning Company in Nepal. Deep-CNN works under the Convolutional Neural Network(CNN) principle. Deep CNN uses deep learning model analyzes the input visual pixel image, extracts their features and detects respective image with their classification. The cloud API classifies the images with different classes with different accuracy. Finally, The API will send the result to our devices. We can also use our own model.
Deep-CNN has classified input images with their probability of being a respective image which we can see below.
Caption: Image classification on Deep-CNN using API (Source: deep-cnn.com)
In above result, Deep-CNN has identified and predicted our input image with the 40% probability to be daisy flower, around 15% icket fence,8% birdhouse and 5% pinwheel. Furthermore, you can also upload your image on a deep-cnn demo page and will get your result.
