Abstract
The application of convolutional neural networks (CNNs) to plant disease recognition is widely considered to enhance the effectiveness of such networks significantly. However, these models are nonlinear and have a high bias. To address the high bias of the single CNN model, the authors proposed an ensemble method of three lightweight CNNs models (MobileNetv2, NasNetMobile and a simple CNN model from scratch) based on a stacking generalization approach. This method has two-stage training, first, we fine-tuned and trained the base models (level-0) to make predictions, then we passed these predictions to XGBoost (level-1 or meta-learner) for training and making the final prediction. Furthermore, a search grid algorithm was used for the hyperparameter tuning of the XGBoost. The proposed method is compared to the majority voting approach and all base learner models (MobileNetv2, NasNetMobile and simple CNN model from scratch). The proposed ensemble method significantly improved the performance of plant disease classification. Experiments show that the ensemble approach achieves higher prediction accuracy (98% for majority voting and 99% for staking method) than a single CNN learner. Furthermore, the proposed ensemble method has a lightweight size (e.g., 10x smaller than VGG16), allowing farmers to deploy it on devices with limited resources such as cell phones, internet of things (IoT) devices, unmanned aerial vehicles (UAVs) and so on.