MiniTomatoNet: a lightweight CNN for tomato leaf disease recognition on heterogeneous FPGA-SoC
摘要
Recognition of leaf diseases in agriculture is considered a significant aspect of ensuring food quantity, quality, and production. In general, crop leaves are susceptible and fragile to various diseases such as leaf mold, target spot, late blight, bacterial spot or early blight of tomato plants. However, these tomato plant diseases are challenging to recognize, and early diagnosis is vital. At the same time, the continuous growth of convolutional neural network (CNN) approaches has significantly assisted plant disease diagnosis, providing a robust mechanism with highly accurate results. On the other hand, the number of unhealthy leaf images collected is often unbalanced, and diagnosing diseases with such an unbalanced data set is complicated. So, numerous models for tomato disease diagnosis based on CNN models have been proposed. However, none overcomes the class imbalance problem and, as a result, does not generate findings with impartial accuracy. This article presents an efficient and robust solution for the heterogeneous PYNQ-Z1 board. Optimization techniques-including loop unrolling, pipelining, array partitioning, and loop flattening-enhance the computation speed across the network’s convolutional, fully connected, and max-pooling layers. The presented CNN approach comprises an 8-layer network termed MiniTomatoNet. This network is characterized by its streamlined structure, possessing only under 23 K parameters with all weights and biases and occupying a memory of 89.51 KB. In addition, the model trains with a re-weighted focal loss function and achieves 97.63% accuracy and 98.51% AUC score; the inference rate speed is 0.068 s per frame, and the power consumption is 2.35 W. Finally, the model is efficient, low power, robust, high accuracy and fast speed, making it a promising solution for diagnosing tomato diseases.