Texture classification using convolutional neural network optimized with whale optimization algorithm
Research Article
Texture classification using convolutional neural network optimized
with whale optimization algorithm
Ujjawal Dixit1 · Apoorva Mishra2
· Anupam Shukla3 · Ritu Tiwari1
© Springer Nature Switzerland AG 2019
Abstract
Texture classification is an active area of research in the field of pattern recognition. Convolutional neural networks (CNNs)
have a remarkable capability of recognizing patterns and are one of the most efficient deep learning techniques. But,
finding the optimal values of the different hyperparameters of the CNN is a major challenge. Nature-inspired algorithms
(NIAs) are the meta-heuristic algorithms well-known for their optimizing capability. Whale optimization algorithm (WOA)
is a recent nature-inspired algorithm (NIA) that is inspired by the hunting behaviour of the humpback whales. In this
paper, we propose a novel deep learning technique for texture recognition using a CNN optimized through WOA. We
apply WOA at the two different levels in the CNN: In the convolutional layer (for optimizing the values of the filters), and
in the fully-connected layer (for optimizing the values of the weights and biases). For examining the performance of our
technique, we apply it to the following three benchmark texture datasets: Kylberg v1.0, Brodatz, and Outex_TC_00012.
Our model performs better than the most of the existing methods for the Kylberg and the Outex_TC_00012 datasets
and gives competitive results for the Brodatz dataset. It is evident from the results that our model has the potential for
application in the field of texture recognition.
Keywords Convolutional neural network · Whale optimization algorithm · Pattern recognition · Texture classification ·
Deep learning
1 Introduction
1.1 CNN
Deep Learning for the past few years has evolved as one of
the important pillars while developing models based on
machine learning. CNN is one of the models which have
performed exceptionally well for image classification and
pattern recognition tasks [1, 2]. The following sub-sections
help in introducing the fundamentals of texture recognition, CNN, and NIA and also discuss the contributions of
the paper and its organization.
CNN is a biologically inspired technique for classification.
It generally deals with the image classification and pattern recognition tasks. The architecture of a simple CNN is
represented by Fig. 1 as shown below.
The working of a typical CNN is explained as follows.
The data in the input layer is being processed by the convolutional layer with the help of filters/kernels to generate
feature maps which signify the raw features. The pooling
layer performs a downsampling operation which reduces
the dimensionality of the feature map. The processed features from the ReLU units are supplied to the fully connected layer (FCL) which enables classification of the data.
* Apoorva Mishra, | 1Soft Computing and Expert System Laboratory, ABV-IIITM, Gwalior, Gwalior,
India. 2Department of Computer Science Engineering, Bennett University, Greater Noida, India. 3Indian Institute of Information Technology,
Pune, Pune, India.
SN Applied Sciences (2019) 1:655 | https://doi.org/10.1007/s42452-019-0678-y
Received: 1 January 2019 / Accepted: 28 May 2019 / Published online: 31 May 2019
Vol.:(0123456789)
Research Article
SN Applied Sciences (2019) 1:655 | https://doi.org/10.1007/s42452-019-0678-y
and “spots.” The convolution operation plays a crucial role
in determining the neighbouring properties. Hence, the
techniques which are based on the convolutional operation can be helpful in the classification of the textures. CNN
is one such technique which helps in identifying the local
neighbourhood properties during the feature extraction
phase. In this paper, we have utilized this property of the
CNN to excel over the texture databases.
1.3 Nature inspired algorithm
Fig. 1 Basic CNN model
Output layer generally consists of the soft-max approximation which facilitates the multiclass classification (if
needed).
1.2 Texture classification
Texture is the atomic quantity for the characterization of
an object which helps in its identification. Various images
such as medical, agricultural, aerial, satellite and others
have been identifiable due to the presence of texture in
them. Hence, textures play a key role in distinguishing
objects in such images. In the textile industry as well, textures play an important role. Hence, the correct classification of texture could be very useful in such fields and
forms the motivation for conducting the current research.
In the recent years, textures have been widely used in the
content-based image retrieval systems as well. The common methods which are used for texture classification are
namely parametric statistical model-based methods, structural methods, empirical second order statistical methods
and various other transform methods. Deep learningbased techniques for the classification of texture have
been proposed in [3–6].
There is also a major class of classification approaches
based on the local properties of texture. These approaches
use local operators to identify the local properties of texture and classify them according to those properties. Also,
the local neighbourhood properties are the dominant
reasons for the overall appearance of a texture or a pattern, and so, any local operation on exploiting the neighbourhood properties helps in identifying the texture. The
common local properties which are exploited are “edges”
Vol:.(1234567890)
NIAs are the meta-heuristic algorithms which have the
remarkable capability to solve optimization problems
concerning the constrained environment. Most of these
problems are NP-hard in nature and cannot be solved
using the traditional deterministic algorithms. NIAs have
been proven to be an excellent method to address these
complex optimization problems, and have been applied
to solve many such problems. Over the past few decades,
various NIAs have been developed taking inspiration
from the processes that occur in nature; WOA is one such
recently developed algorithm [7]. Recently, NIAs have
been applied to the fields of medical image classification,
robot path planning, financial and industrial optimization,
etc. through hybridization with various existing machine
learning techniques [8].
1.3.1 Whale optimization algorithm
WOA is an NIA that imitates the behaviour of humpback
whales [7]. WOA has been hybridized with the various
machine learning algorithms like SVM, ANN, etc. [9–12].
WOA consists of the following two phases [7].
I.
II.
Encircling Prey (Exploration Phase) and,
Bubble-Net Attacking (Exploitation Phase)
The basic WOA can be mathematically represented as
follows [7].
⃗ = 2a
���⃗ ⋅ ⃗r − a⃗
A
(1)
C⃗ = 2 ⋅ ⃗r
(2)
⃗ = ||C⃗ ⋅ X⃗ ∗ (t) − X(t)
⃗ ||
D
|
|
(3)
⃗
⃗ + 1) = X⃗ ∗ (t) − A
⃗⋅D
X(t
(4)
⃗ = ||C⃗ ⋅ X⃗rand − X⃗ ||
D
|
|
(5)
⃗
⃗ + 1) = X⃗rand − A
⃗⋅D
X(t
(6)
SN Applied Sciences (2019) 1:655 | https://doi.org/10.1007/s42452-019-0678-y (...truncated)