Keras is a profound and easy to use library for Deep Learning Applications. Image Classification is a task that has popularity and a scope in the well known “data science universe”.
All the given models are available with pre-trained weights with ImageNet image database (www.image-net.org). For solving image classification problems, the following models can be chosen and implemented as suited by the image dataset. Note that all the listed models are compatible with backend frameworks like Theano, Tensorflow, CNTK etc.
1 Xception
It translates to “Extreme Inception”. Proposed by the creator of Keras, this is an extension of the inception model and like MobileNet it has replaced the normal modules with depth wise separable convolution modules. But the catch here is that the convolutions are at the extreme end of the spectrum. With a size of 91MB, it is one of the smallest weighted models in the list. It works with Tensorflow framework only. By many experimental studies, it was shown that Xception showed optimally better results when compared to InceptionV3.
2 VGG16 and VGG19:
This is a keras model with 16 and 19 layer network that has an input size of 224X224. It was introduced by Visual Geometry Group of the University of Oxford. This model emerged as a result of the win for the ‘VGG team’ at a competition. It was further improvised and we got in the best-performing Image Classification results: the 16 layers and the 19 layer models namely VGG16 and VGG19. The two models are compatible with Keras and Caffe toolbox and are readily available repositories available for reference. The combined product of VGG16 and VGG19 is referred to as VGGNet. The famous publication “K. Simonyan, A. Zisserman Very Deep Convolutional Networks for Large-Scale Image Recognition arXiv technical report, 2014” depicts the aims and objectives of this project.
3 ResNet50
The ResNet architecture is another pre-trained model highly useful in Residual Neural Networks. ResNet50 is the variant with 50 layers. In residual learning, the network learns the residuals of the input layer. It has shown that training residual networks are much easier than trying a Convoluted Neural Network (CNN). It is a result of the Microsoft team that won the ILSRVC competition in 2015. It has allowed the Deep Learning Scientists to create deeper layers and reducing vanishing gradients. For more understanding refer to the research paper: “Deep Residual Learning for Image Recognition Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun Microsoft Research” .
4 InceptionV3
It can be easily implemented using Tensorflow and Keras. It is a huge scale image recognition system and can be used in transfer learning problems. With its rich feature representations, it is able to classify images into nearly 1000 object based categories. It is a 48 layer network with an input size of 299×299. It has been improved from the InceptionV2 and has installed upgrades like the new Label Smoothing, Factorized 7×7 convolutions etc.
5 DenseNet
DenseNet is relatively new and is considered to be the chronological extension of ResNet. It also introduces the Densely Connected Neural Networks that helps us to get deeper insights, efficient and accurate trainings and outputs. Like others, it also reduces the number of parameters and enables us to reuse the already initialized features. DenseNet is a simpler and effective model especially for feature concatenation when compared to other architectures.
6 MobileNet
Proposed by Google, this model is only compatible with the Tensorflow framework. It is most suitable for mobile based and embedded applications. It uses depth wise separable convolutions. Its major advantage is that it reduces the number of parameters in the neural network. Now the new MobileNetV2 wrapper is also available in the keras.applications package. It also improves the performance of mobile models and can handle multiple tasks at the same time. It is the smallest model with 16MB of size.
7 NASNet
Neural Architecture Search Network Model comes with 2 input sized models that are NASNetMobile with size 331X331 and NASNetLarge with 224X224. Based on Reinforcement Learning algorithms NASNet is capable of producing small-scale networks. With high accuracy based on the previous observations for the NASNetLarge model, it is definitely a state of the art model for image classification. It is most suitable for CNN based projects and also for the ones working with the Tensorflow environment. Also, refer the research paper for further details” Learning Transferable Architectures for Scalable Image Recognition“.
Finally,
The above-mentioned models are the most used and effective means of classifying your images dataset for its applications in deep learning. These models not only help improve the efficiency and accuracy of our results but also provides us with easier ways to carry out image classification in our Deep Learning projects.
Kishore Balasubramanian says
Best Model to classify retina images
Bhanu says
NASNetMobile with size 224X224 and NASNetLarge with 331X331.
Please update