Ahila Priyadharshini Et Al - 2019 - Maize Leaf Disease Classification Using Deep Convolutional Neural Networks
Ahila Priyadharshini Et Al - 2019 - Maize Leaf Disease Classification Using Deep Convolutional Neural Networks
https://doi.org/10.1007/s00521-019-04228-3 (0123456789().,-volV)(0123456789().
,- volV)
ORIGINAL ARTICLE
Received: 1 August 2018 / Accepted: 9 May 2019 / Published online: 17 May 2019
Springer-Verlag London Ltd., part of Springer Nature 2019
Abstract
Crop diseases are a major threat to food security. Identifying the diseases rapidly is still a difficult task in many parts of the
world due to the lack of the necessary infrastructure. The accurate identification of crop diseases is highly desired in the
field of agricultural information. In this study, we propose a deep convolutional neural network (CNN)-based architecture
(modified LeNet) for maize leaf disease classification. The experimentation is carried out using maize leaf images from the
PlantVillage dataset. The proposed CNNs are trained to identify four different classes (three diseases and one healthy
class). The learned model achieves an accuracy of 97.89%. The simulation results for the classification of maize leaf
disease show the potential efficiency of the proposed method.
123
8888 Neural Computing and Applications (2019) 31:8887–8895
recognition using volumetric representation. Recently, component analysis (PCA) is a dimensionality reduction
convolutional neural networks (CNNs) are widely used for algorithm that can be used to significantly speed up the
plant leaf disease classification such as tomato [8], rice [9] feature learning algorithm. Whitening makes the features
and cucumber leaf [10]; Ferreria et al. [11] used CNNs for less correlated with each other by giving all the features the
weed detection in soybean crops. So far, no research works same variance which reduces the training period.
have explored the use of deep neural network for the Let yð1Þ ; yð2Þ ; yð3Þ ; . . .; yðnÞ be the maize leaf images
classification of diseases in maize leaf. In this research from the PlantVillage P dataset. First, compute the covari-
work, we have used the LeNet architecture for classifying ance matrix of y, y using Eq. 1.
diseases in maize leaf. The aim of our work is to study the X 1X m
potential efficiency of LeNet architecture in automated y¼ ðyðiÞ ÞðyðiÞ ÞT ð1Þ
disease classification for maize leaf images by varying m i¼0
various parameters such as kernel size and depth of the P
Next, compute eigenvectors of y and stack them to
convolutional layers.
the columns of U as shown in Eq. 2. Here, u1 represents the
In maize, the leaf is affected by bacterial and fungal P
top eigenvector of y, u2 represents the second eigen-
diseases. Northern leaf blight and gray leaf spot are the
vector and so on.
bacterial diseases, whereas common rust is a fungal dis- 2 3
ease. The motivation for developing the deep network j j j
model for maize leaf disease is to support the farmers to U ¼ 4 u1 u2 . . . un 5 ð2Þ
detect the maize leaf disease in an early stage by digital j j j
camera in an accurate and efficient manner. Extraction of To make the input features uncorrelated with each other,
effective features for identifying diseases in maize leaf ðiÞ
compute yrot ¼ U T yðiÞ . The covariance matrix of yrot
images is a critical and challenging task. But deep net-
results in diagonal matrix whose diagonal elements are k1,
works like LeNet can automatically extract the features
k2… kn. Here, k1, k2… kn be the corresponding eigenvalues
from the raw inputs in a systematic way. The learned
of eigenvector matrix U. Now PCA-whitened data are
features are reckoned as the superior level abstract depic-
computed according to Eq. 3.
tion of inferior level raw healthy and unhealthy maize leaf
yrot;i
images. Also, deep learning-based model is considered as YPCA Whitening;i ¼ p ð3Þ
one of the best classifications in pattern recognition tasks to ki
improve the analytical results. So we develop a LeNet- The PCA-whitened images are shown in Fig. 1.
based deep network model to classify the maize leaf
diseases. 2.2 LeNet architecture
123
Neural Computing and Applications (2019) 31:8887–8895 8889
123
8890 Neural Computing and Applications (2019) 31:8887–8895
123
Neural Computing and Applications (2019) 31:8887–8895 8891
Sometimes, a pooling layer is inserted in between succes- We know that the first convolutional layer extracts low-
sive convolutional layers in CNN. The function of the level features such as edges, lines, curves and corner. The
pooling layer is to gradually reduce the spatial size of the next level of convolutional layers learns the global fea-
representation. This reduces the amount of parameters and tures. The way the features are learnt by the CNN is
computation in the network, and hence, it controls over- through a training process called back-propagation. The
fitting. Also, pooling layers make the CNN to be translation back-propagation learning algorithm consists of four dis-
invariant. The pooling layer operates independently on tinct sections, namely the forward pass, the loss function,
every layer of the input and resizes it spatially, using the the backward pass and the weight update.
pooling operation. The most common form of a pooling During the forward pass, the CNN takes the training
layer is with filter of size 2 9 2 applied with a stride of 2 image and passes it through the whole network. Initially,
down-samples every depth slice in the input by 2 along all of the weights or filter values are randomly initialized.
both width and height, discarding 75% of the activations The CNN, with its current randomly initialized weights,
[13]. will not be able to look for the low-level features, and thus,
Spatial pooling can be of different types: max, min, the CNN will not be able to make any reasonable conclu-
average, sum, etc. For spatial pooling, spatial neighbor- sion about what the classification might be. This goes to the
hood of 2 9 2 window is defined and largest element from loss function part of back-propagation. A loss function can
the feature map is taken within that window if it is max be defined in many different ways, but a common one is
pooling as depicted in Fig. 5. Average value is taken for MSE (mean squared error). In this proposed work, we are
average pooling and so on. Max pooling gives better results using soft margin loss as defined in Eq. 7.
for two reasons: (1) It reduces computation for upper layers
1 X
K
by elimination non-maximal values, and (2) it provides a J ð:Þ ¼ logð1 þ eok tk Þ ð7Þ
form of translation variance. Since it provides additional K k¼1
robustness to position, max pooling is a ‘‘smart’’ way of where K represents the total number of classes,
reducing the dimensionality of intermediate representations
[14]. ok 2 ½1; 1; the output of the CNN
tk 2 f1; 1g; target response desired.
2.2.3 Fully connected layers The loss will be extremely high for the first few training
images as expected. We need our CNN to predict the label
The term ‘‘fully connected’’ implies that every neuron in which is the same as the training label. To achieve this
the previous layer is connected to every neuron on the functionality, we want to minimize the amount of the loss.
current layer. Their activations can hence be computed Considering the minimization of the loss as an optimization
with a matrix multiplication followed by a bias offset. The problem in calculus, we wish to find out which inputs
number or neurons in the last fully connected layer is same (weights in our case) most directly contribute to the loss of
as the number of classes to be predicted. Since the default the network. So we need to perform a backward pass
LeNet architecture is designed for digit recognition [5], the through the network, which determines the weights that
output layer is of size 10. In our work, we carried out a contribute most to the loss and finding ways to adjust them
four-class problem, and thus, the size of the output layer is so that the loss decreases. After the backward pass, we
4 as depicted in Fig. 2. update the weight as shown in Eq. 8. This is the stage
Most of the features from convolutional layers and where the weights of the filters are updated, so that they
subsampling layers are good for the classification, but the change in the opposite direction of the gradient.
combination of those features might be even better. So the
fully connected layer combines all the features extracted oJ ðwÞ
wkþ1 ¼ wk þ g ð8Þ
from the previous convolutional and subsampling layers. owk
The final fully connected layer is using the softmax acti- where wkþ1 is the updated weight, wk is the old weight, g is
vation function. The softmax function is a more general- oJ ðwÞ
the learning rate and
is defined as follows.
owk
ized logistic activation function which is used for
multiclass classification. oJ ðwÞ oJ ðwÞ oo oZd1 oYd1 oZ2 oY2
¼ ... X
owk oo oYd oYd1 owd1 oY ow2
ðwÞ
where oJoo is the rJ ð:Þ, X is the input to the CNN and the
other terms are termed as rðnetÞ.
123
8892 Neural Computing and Applications (2019) 31:8887–8895
Table 1 Details of maize leaf images in PlantVillage dataset function reaches a threshold. Now, the network should
Class No. of images
have been trained well enough so that the weights of the
layers are tuned correctly.
Common rust 1192
Gray leaf spot 513
Northern leaf blight 985 3 Experimental results and discussion
Healthy 1162
The proposed CNN model is applied to maize leaf disease
recognition problem. The experimentation is carried out
The process of forward pass, loss function, backward
using PlantVillage dataset [12]. The dataset consists of four
pass and weight update is for single iteration. The process
different classes. Among them, one class consists of
is repeated for a fixed number of iterations or till the loss
Fig. 6 Sample images from PlantVillage dataset: a common rust, b gray leaf spot, c northern leaf blight, d healthy
123
Neural Computing and Applications (2019) 31:8887–8895 8893
123
8894 Neural Computing and Applications (2019) 31:8887–8895
Table 6 Performance measure for the balanced dataset with different depths and kernel sizes
Train–test ratio (%) Classwise classification accuracy (%)
Depth: C1@6,C2@16 Depth: C1@10,C2@20
Kernel: 3 9 3 Kernel: 5 9 5 Kernel: 7 9 7 Kernel: 3 9 3 Kernel: 5 9 5 Kernel: 7 9 7
Table 8 Comparison of our proposed method with other methods The performance measure of our proposed method
compared with those reported in the literature [1, 2, 15] is
Method Classification accuracy %
shown in Table 8. Experimental results show that the
GA-SVM [1] 92.82 proposed methodology can effectively recognize the maize
Artificial neural network classifier [2] 94.4 diseases.
Support vector machine [15] 89.6 In [1, 2, 15], the experiments are carried out with lesser
Our proposed methodology 97.89 number of images only and those images were collected
from various sources. In our work, we have used images
only from the PlantVillage dataset. We have carried out the
the depth. Also slight increase in the depth gives more data augmentation and worked with a total of 4365 images.
accurate results. Highest accuracies are shown in bold. The
architecture yielding highest accuracy is shown in Fig. 2,
and the corresponding parameters of our proposed method
are shown in Table 7.
123
Neural Computing and Applications (2019) 31:8887–8895 8895
123