Hostname: page-component-74656f9884-rdgjk Total loading time: 0 Render date: 2026-11-09T08:02:53.584Z Has data issue: false hasContentIssue false

Potato Disease Classification Using Convolution Neural Networks

Published online by Cambridge University Press:  01 June 2017

D. Oppenheim*
Affiliation:
Department of Industrial Engineering and Management, Ben-Gurion University of the Negev, Beer Sheva, Israel
G. Shani
Affiliation:
Department of Software and Information Systems Engineering, Ben-Gurion University of the Negev, Beer Sheva, Israel
*

Abstract

Many plant diseases have distinct visual symptoms which can be used to identify and classify them correctly. This paper presents a potato disease classification algorithm which leverages these distinct appearances and the recent advances in computer vision made possible by deep learning. The algorithm uses a deep convolutional neural network training it to classify the tubers into five classes, four diseases classes and a healthy potato class. The database of images used in this study, containing potatoes of different shapes, sizes and diseases, was acquired, classified, and labelled manually by experts. The models were trained over different train-test splits to better understand the amount of image data needed to apply deep learning for such classification tasks.

Figure 0

Figure 1 Examples of visual symptoms on potato diseases: (a) Black Scurf disease - irregular, black, scab-like marks on the skin of the tuber. (b) Silver Scurf disease - circular or irregular, tan to silvery gray lesions on the tuber’s skin. (c) Common Scab disease - circular brown rough areas, with irregular margins which can coalesce into larger areas. (d) Black Dot disease - tiny black dots on the skin of the tuber (magnified in top left corner). (5) Uninfected tuber.

Figure 1

Figure 2 Examples of diseased potato patches before and after the transformation to grayscale. (a)–(c), (g) and (h) are the original RGB images from each class. (d)-(f), (i) and (j) are the same images after the conversion to grayscale, using Matlab’s rgb2gray function.

Figure 2

Table 1 Train and test set division.

Figure 3

Figure 3 A simplified model of the CNN used.

Figure 4

Figure 4 Results of the experiment. Top plot shows the accuracy of each training set (colored and dotted graphs) according to the epoch number. The bottom plot show the smoothed results.

Figure 5

Table 2 Best performing model accuracy results for each train-test set

Figure 6

Figure 5 A confusion matrix of the CNN trained on 90% of the dataset and tested on the remaining 10%. Rows represent the actual classes of an image. Columns represent the CNN’s class prediction. Each cell in the matrix represent the percentage of images of the row’s class that were classified to the column’s class.