Introduction
-
We present a customized CenterNet model with DenseNet-77 for features computation to improve the detection and classification accuracy of the plant diseases while minimizing the training and testing time complexity.
-
Our method provides accurate localization of the affected portion of plant leaves due to the robustness of the CenterNet model.
-
Our method achieves improved classification accuracy of plant leaves diseases due to the power of the CenterNet model to tackle the over-fitted model training data.
-
We proposed a computationally efficient technique for plant leaves disease detection as CenterNet employs one stage object detection framework.
-
Extensive experimentation has been carried out in comparison to other latest plant disease detection approaches on a standard PlantVillage database that is diverse in terms of distortions like blurriness, chrominance, intensity variations, high-density noise, rotational, and scaling variations to exhibit the robustness of the presented approach.
Related work
References | Method | Performance | Advantage | Limitation |
---|---|---|---|---|
[27] | A framework named k-FLBPCM along with SVM was used for crop disease classification | Accuracy = 98.63% | The work assisted to enhance classification accuracy for plants with similar morphological textures | Detection accuracy degrades for the distorted samples |
[28] | The DLQP approach with the SVM classifier was introduced to categorize the various plant diseases | Accuracy = 96.53% | This work is robust to detect the plant leaf disease classification under intense scale and angle variations in input samples | Classification performance needs further improvements |
[29] | Harris method was used along with the GLCM approach for features computation while the SVM classifier was employed for tea plant disease classification | Accuracy = 98.5% | The approach is capable of detecting the affected leaves portion from the complex background | This method suffers from a high computational cost |
[2] | The LBP algorithm together with the SVM classifier was employed for plant disease classification | Accuracy = 95% | The model has better generalization power | Classification performance degrades over noisy samples |
[30] | The key points were computed via employing GLCM and LBP descriptors, while the classification of plant disease was performed with the SVM | Accuracy = 98.2% | The framework can locate the diseased plant portion from the suspected samples under the presence of intense light variations | Results are reported for a small dataset |
[31] | The HOG approach with the RF classifier was employed to categorize the diseased plant samples into various classes | Accuracy = 70.14% | The work is computationally efficient | Performance needs further improvement |
[32] | The K-means clustering, GLCM methods along with SVM classifier were utilized to classify turmeric leaf diseases | Accuracy = 91% | The work can locate the diseased leaves of plants from the blurry samples | Classification performance degrades for samples having huge brightness variations |
[36] | A DL-based method named FSL was introduced to detect and classify plant disease | Accuracy = 91.4% | The approach requires less training data | Results are reported for a small dataset |
[37] | A CNN-based architecture was presented to localize and categorize the tomato crop disease | Accuracy = 91.2% | The technique is computationally efficient | This method suffers from the issue of over-fitting over a small number of classes |
[38] | A mobile-app-based technique employing a DL-based model namely ResNet50 was utilized to classify the various maize crop diseases | Accuracy = 99% | The model has better generalization power | This method may not work well for all mobile phones due to processing power and battery consumption requirements |
[39] | A custom Faster-RCNN model was introduced for classifying tomato crop diseases | mAP = 97.18% | The work is robust to the presence of noise and distortions in suspected samples | This approach is economically inefficient |
[40] | The DL framework namely AlexNet along with the KNN classifier was used to classify the tomato leaves as being healthy or affected | Accuracy = 76.1% | The work can identify the affected region from low-intensity images | This approach is slow and time-consuming |
[41] | A deep Siamese network together with KNN classifier was used for plant disease classification | Accuracy = 96% | The technique has improved the classification accuracy for samples with complex backgrounds | This method is suffering from the problem of over-fitting for a large-size dataset |
[42] | A CNN-based framework employing a residual network was introduced for deep features computation and classification | Accuracy = 98% | The work is robust to noisy samples | This method is computationally expensive |
[43] | A DL-based framework using LeNet was utilized to extract the key points and classify the samples into healthy and affected classes | Accuracy = 94.8% | The work requires less training data | This framework is not robust for noisy images |
[44] | Employed a lightweight CNN for tomato leaf disease classification | Accuracy = 97.15 | This work is Computationally efficient | Only evaluated for tomato leaf disease classification and not robust to real-world scenarios |
[45] | AlexNet, GoogleNet, DenseNet201, ResNet50, and ResNet101 along with the SVM classifier were used for plant leaf disease classification | Accuracy = 97.56% | The work is robust to plant disease classification under the presence of light variations | The approach is suffering from a high computational cost |
Proposed method
Annotations
CenterNet
Custom CenterNet
Model parameters | Value |
---|---|
No of epochs | 30 |
Value of learning rate | 0.001 |
Selected batch size | 8 |
The threshold for the confidence score | 0.2 |
The threshold for the unmatched region | 0.5 |
Feature extraction using DenseNet-77
Layer | Densenet-77 | ||||
---|---|---|---|---|---|
Size | Stride | ||||
ConL 1 | \(7\times 7 conv\) | 2 | |||
PoolL 1 | \(3\times 3\) \(max\_pooling\) | 2 | |||
DB 1 | \(\left[\begin{array}{c}1\times 1 conv\\ 3\times 3 conv\end{array}\right]\times 6\) | 1 | |||
TL | ConL 2 | \(1\times 1 conv\) | 1 | ||
PoolL 2 | \(2\times 2\) \(avg\_pooling\) | 2 | |||
DB 2 | \(\left[\begin{array}{c}1\times 1 conv\\ 3\times 3 conv\end{array}\right]\times 12\) | 1 | |||
TL | ConL 3 | \(1\times 1 conv\) | 1 | ||
PoolL 3 | \(2\times 2\) \(avg\_pooling\) | 2 | |||
DB 3 | \(\left[\begin{array}{c}1\times 1 conv\\ 3\times 3 conv\end{array}\right]\times 12\) | 1 | |||
TL | ConL 4 | \(1\times 1 conv\) | 1 | ||
PoolL 4 | \(2\times 2\) \(avg\_pooling\) | 2 | |||
DB 4 | \(\left[\begin{array}{c}1\times 1 conv\\ 3\times 3 conv\end{array}\right]\times 6\) | 1 | |||
Classification_layer | \(7\times 7\) \(avg\_pooling\) | ||||
Fully connected layer | |||||
SoftMax |
Heatmap head
Dimension head
Offset head
Multi-loss function
Detection process
Experiment and results
Dataset
Class No | Class Name | Cause of disease | Training samples | Validation samples | Test samples |
---|---|---|---|---|---|
Apple | |||||
1 | Scab | Fungus | 441 | 126 | 63 |
2 | Black_Rot | Fungus | 435 | 124 | 62 |
3 | Cedar_Rust | Fungus | 192 | 55 | 28 |
4 | Healthy | – | 1151 | 329 | 165 |
Blueberry | |||||
5 | Healthy | – | 1051 | 300 | 151 |
Cherry | |||||
6 | Healthy | – | 598 | 171 | 85 |
7 | Powdery_Mildew | Fungus | 736 | 210 | 106 |
Maize | |||||
8 | Common_Rust | Fungus | 835 | 238 | 119 |
9 | Healthy | – | 813 | 233 | 116 |
10 | Northern_Leaf_Blight | Fungus | 690 | 197 | 98 |
11 | Gray_leaf_spot | Fungus | 360 | 102 | 52 |
Grape | |||||
12 | Black Rot | Fungus | 826 | 236 | 118 |
13 | Black_Measles | Fungus | 968 | 277 | 138 |
14 | Healthy | – | 296 | 85 | 42 |
15 | Leaf_Blight | Fungus | 753 | 215 | 108 |
Orange | |||||
16 | Huanglongbing | Bacteria | 3855 | 1101 | 551 |
Peach | |||||
17 | Bacterial Spot | Bacteria | 1608 | 459 | 230 |
18 | Healthy | – | 252 | 72 | 36 |
Pepper Bell | |||||
19 | Bacterial_Spot | Bacteria | 698 | 199 | 100 |
20 | Healthy | 1034 | 297 | 147 | |
Potato | |||||
21 | Early_Blight | Fungus | 700 | 200 | 100 |
22 | Healthy | – | 107 | 30 | 15 |
23 | Late_Blight | Infection | 700 | 200 | 100 |
Raspberry | |||||
24 | Healthy | – | 260 | 74 | 37 |
Soybean | |||||
25 | Healthy | – | 3563 | 1018 | 509 |
Squash | |||||
26 | Powdery_Mildew | Fungus | 1285 | 367 | 183 |
Strawberry | |||||
27 | Healthy | – | 319 | 91 | 46 |
28 | Leaf_Scorch | Fungus | 776 | 222 | 111 |
Tomato | |||||
29 | Bacterial_Spot | Bacteria | 1488 | 426 | 213 |
30 | Early_Blight | Fungus | 700 | 200 | 100 |
31 | Healthy | – | 1114 | 318 | 159 |
32 | Late_Blight | Infection | 1336 | 382 | 191 |
33 | Leaf_Mold | Fungus | 667 | 190 | 95 |
34 | Septoria_leaf_Spot | Fungus | 1240 | 354 | 177 |
35 | Spider_Mites | Mite | 1174 | 335 | 167 |
36 | Target_Spot | Fungus | 984 | 280 | 140 |
37 | Mosaic_Virus | Virus | 262 | 74 | 37 |
38 | Yellow_Leaf | Virus | 3750 | 1071 | 536 |
Evaluation metrics
Performance evaluation of plant disease localization
Class wise performance
Class_Name | Precision | Recall | F1-Score |
---|---|---|---|
Apple_Scab | 0.992 | 0.982 | 0.987 |
Apple_Black_Rot | 0.991 | 0.993 | 0.992 |
Apple_Cedar_Rust | 0.994 | 0.980 | 0.987 |
Apple_Healthy | 1 | 1 | 1 |
Blueberry_Healthy | 1 | 1 | 1 |
Cherry_Healthy | 1 | 1 | 1 |
Cherry_Powdery_Mildew | 0.982 | 0.984 | 0.983 |
Maize_Common_Rust | 0.996 | 0.987 | 0.991 |
Maize_Healthy | 1 | 1 | 1 |
Maize_Northern_Leaf_Blight | 0.991 | 0.990 | 0.990 |
Maize_Gray_leaf_spot | 0.992 | 0.981 | 0.986 |
Grape_Black Rot | 0.992 | 0.980 | 0.986 |
Grape_Black_Measles | 0.982 | 0.981 | 0.981 |
Grape_Healthy | 1 | 1 | 1 |
Grape_Leaf_Blight | 0.999 | 0.987 | 0.993 |
Orange_Huanglongbing | 0.994 | 0.981 | 0.987 |
Peach_Bacterial Spot | 0.998 | 0.980 | 0.989 |
Peach_Healthy | 1 | 1 | 1 |
PepperBell_Bacterial_Spot | 0.994 | 0.985 | 0.989 |
PepperBell_Healthy | 1 | 1 | 1 |
Potato_Early_Blight | 0.988 | 0.982 | 0.985 |
Potato_Healthy | 1 | 1 | 1 |
Potato_Late_Blight | 0.989 | 0.982 | 0.985 |
Raspberry_Healthy | 1 | 1 | 1 |
Soybean_Healthy | 1 | 1 | 1 |
Squash_Powdery_Mildew | 0.993 | 0.989 | 0.991 |
Strawberry_Healthy | 1 | 1 | 1 |
Strawberry_Leaf_Scorch | 0.996 | 0.991 | 0.993 |
Tomato_Bacterial_Spot | 0.992 | 0.973 | 0.982 |
Tomato_Early_Blight | 0.991 | 0.980 | 0.985 |
Tomato_Healthy | 1 | 1 | 1 |
Tomato_Late_Blight | 0.991 | 0.975 | 0.983 |
Tomato_Leaf_Mold | 0.989 | 0.983 | 0.986 |
Tomato_Septoria_leaf_Spot | 0.992 | 0.991 | 0.991 |
Tomato_Spider_Mites | 0.994 | 0.976 | 0.985 |
Tomato_Target_Spot | 0.993 | 0.984 | 0.988 |
Tomato_Mosaic_Virus | 0.989 | 0.980 | 0.984 |
Tomato_Yellow_Leaf | 0.996 | 0.972 | 0.984 |
Evaluation of DenseNet-77
Parameters | Inception V4 | VGG-16 | ResNet-50 | ResNet-101 | ResNet-152 | DenseNet-121 | DenseNet-77 |
---|---|---|---|---|---|---|---|
No of total model parameters (Million) | 41.2 | 119.6 | 23.6 | 42.5 | 58.5 | 7.1 | 6.2 |
Training loss | 0.0102 | 0.5069 | 6.238e−04 | 4.1611e−04 | 2.4844e−04 | 5.6427e−04 | 6.442e−04 |
Test loss | 0.0686 | 0.6055 | 0.02177 | 0.02082 | 0.0246 | 0.0159 | 0.0085 |
Train time accuracy | 99.74% | 83.86% | 99.99% | 99.99% | 100% | 100% | 100% |
Test time accuracy | 98.08% | 81.83% | 99.59% | 99.66% | 99.59% | 99.75% | 99.983% |
Execution time (s) | 4042 | 1051 | 1583 | 2766 | 4366 | 2165 | 1067 |
Comparison with other DL-based object detection techniques
Base | mAP | IOU | Test time (sec/img) | |
---|---|---|---|---|
Two-stage models | ||||
Fast-RCNN | VGG-16 | 0.85 | 0.870 | 0.25 |
Faster-RCNN | VGG-16 | 0.88 | 0.893 | 0.25 |
Faster-RCNN | ResNet-101 | 0.97 | 0.977 | 0.23 |
One-stage models | ||||
YOLOv3 | DarkNet-53 | 0.83 | 0.852 | 0.28 |
SSD | ResNet-101 | 0.81 | 0.837 | 0.36 |
RetinaNet | ResNet-101 | 0.92 | 0.902 | 0.38 |
Proposed custom CenterNet | DenseNet-77 | 0.99 | 0.993 | 0.21 |