$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Beschreibung des Datensatzes
Der in dieser Studie verwendete Datensatz stammt aus dem öffentlich zugänglichen Kaggle-Repositorium mit dem Titel Paddy Leaf Diseases Detection Dataset. Es besteht aus 18.545 Bildern von Reisblättern, die in 10 Krankheitsklassen und 1 gesunde Klasse eingeteilt sind. Die Bilder variieren in der Auflösung und wurden unter unterschiedlichen Licht- und Umgebungsbedingungen aufgenommen.
Bildvorverarbeitung
Alle Bilder wurden mit der Funktion tf.image.resize() von TensorFlow auf 224 x 224 Pixel verkleinert. Diese Einheitlichkeit gewährleistet die Kompatibilität mit den Eingabeanforderungen von vortrainierten CNN-Modellen.: Die Pixelwerte wurden mit dem Parameter rescale=1./255 in Keras ImageDataGenerator auf den Bereich [0,1] normalisiert. Augmentation (nur für das Training): Techniken wie horizontales und vertikales Spiegeln, Drehen (± 20°) und Zoomen (bis zu 20 %) wurden mit ImageDataGenerator angewendet, um die Generalisierung zu verbessern.
Bildsegmentierung
Für die Bildsegmentierung wurde ein UNet-Modell eingesetzt, um kranke Blattbereiche von Hintergrundstörungen zu isolieren. Die UNet-Architektur wurde unter Verwendung der funktionalen Keras-API mit Encoder-Decoder-Schichten, Skip-Verbindungen und ReLU-Aktivierung erstellt. Segmentierungsmasken wurden mithilfe der pixelweisen Multiplikation (cv2.bitwise_and) auf Originalbilder angewendet, um nur relevante Merkmale beizubehalten.
Modellarchitektur und Schulung
Die folgenden Modelle wurden als Backbone-Klassifikatoren verwendet: VGG16, ResNet50, InceptionV3, MobileNet, AlexNet und DenseNet121. Vortrainierte Modelle (in ImageNet) wurden mit include_top=False importiert. Es wurde ein benutzerdefinierter Klassifikationskopf hinzugefügt, der aus einer globalen durchschnittlichen Pooling-Schicht, zwei dichten Schichten mit 128 und 64 Neuronen (ReLU-Aktivierung), einer Dropout-Schicht (Rate = 0,4) und einer abschließenden dichten Schicht mit 11 Ausgängen und Softmax-Aktivierung besteht.
Versuchsaufbau
Alle Experimente wurden mit den folgenden Einstellungen durchgeführt: Programmierumgebung: Python 3.11.5 mit TensorFlow und Keras, Ausführungsplattform: Jupyter Notebook, Hardware: Intel Core i5-6300U, 8 GB RAM, Windows 11, Batch-Größe: 32, Epochen: 50, Optimierer: Adam, Lernrate: 0.0001, Verlustfunktion: Kategoriale Kreuzentropie, Aktivierungsfunktionen: ReLU für versteckte Schichten, Softmax für die endgültige Ausgabeschicht.
Bewertungsmetriken
Genauigkeit, Präzision, Abruf und F1-Score wurden mit classification_report von sklearn.metrics berechnet. Die Konfusionsmatrizen wurden mit confusion_matrix und seaborn.heatmap dargestellt. Die Leistung wurde sowohl anhand von nicht segmentierten als auch von UNet-segmentierten Bildern zur vergleichenden Bewertung bewertet.
GUI-Entwicklung
Eine einfache grafische Benutzeroberfläche wurde mit der Tkinter-Bibliothek von Python erstellt. Benutzer können über die GUI ein Blattbild hochladen, das dann durch das trainierte Modell geleitet wird. Die vorhergesagte Krankheitsklasse wird zusammen mit einem Konfidenzwert auf dem Bildschirm angezeigt.
Erstellung von Datensätzen
Der in dieser Studie verwendete Datensatz ist der öffentlich zugängliche Paddy Leaf Diseases Detection-Datensatz von Kaggle36, der insgesamt 18.545 hochauflösende Bilder von Reisblättern umfasst, die in 10 Krankheitsklassen und 1 gesunde Klasse eingeteilt sind. Die Bilder wurden unter unterschiedlichen Lichtverhältnissen und unterschiedlichen Umgebungsbedingungen aufgenommen, was den Datensatz sehr repräsentativ und geeignet für die Erstellung robuster Deep-Learning-Modelle macht. Das Dataset ist ca. 8,33 GB groß und enthält die folgenden Klassen: Tungro, Sheath Blight (SB), Paddy Hispa (PH), Neck Blast (NB), Narrow Brown Spot (NBS), Leaf Scald (LS), Leaf Blast (LB), Healthy, Brown Spot (BS) und Bacterial Leaf Blight (BLB).
Um die Reproduzierbarkeit und effektive Modellbewertung zu gewährleisten, wurde der Datensatz nach dem Zufallsprinzip in Trainings- (80 %) und Test- (20 %) Teilmengen unterteilt, wobei die Klassenverteilung beibehalten wurde. Der Trainingssatz wurde zum Trainieren der Modelle verwendet, während der Testsatz für die Leistungsvalidierung für nicht sichtbare Daten reserviert war. Die Bewertung basierte auf Standard-Klassifizierungsmetriken: Genauigkeit, Präzision, Abruf und F1-Score, die eine umfassende Bewertung der Klassifizierungsfähigkeit jedes Modells ermöglichten. Die Studie verglich sechs Deep-Learning-Modelle: VGG16, ResNet, InceptionV3, MobileNet, AlexNet und DenseNet121, wobei DenseNet121 die beste Leistung für diese Aufgabe lieferte.
Datenverteilung
Die Klassifizierung der Krankheit erfolgte mit Hilfe von Deep-Learning-Modellen, die auf dem Datensatz trainiert wurden. Der Datensatz wurde in zwei Teilmengen unterteilt: einen Trainingssatz und einen Testsatz. Der Trainingssatz wurde verwendet, um das Modell zu lehren, während der Testsatz verwendet wurde, um seine Leistung anhand zuvor nicht gesehener Daten zu bewerten. Eine Zusammenfassung der Bildverteilung über die zehn Krankheitskategorien und die Klasse der gesunden Blätter ist in Tabelle 1 enthalten. Diese Tabelle bietet ein umfassendes Verständnis der visuellen Symptome, die mit jeder Krankheit verbunden sind, und erleichtert das Training und die Bewertung von Klassifikationsmodellen.
Diese Verteilung gewährleistet eine ausgewogene Repräsentation jeder Krankheitskategorie sowohl während der Schulungs- als auch während der Testphase. Der Trainingssatz enthält die meisten Bilder, sodass das Modell die einzigartigen Merkmale jeder Klasse effektiv erlernen kann. Der Testsatz, der aus einer kleineren Teilmenge von Bildern besteht, gewährleistet eine zuverlässige Bewertung der Genauigkeit des Modells und seiner Fähigkeit, auf neue, ungesehene Daten zu verallgemeinern.
Die ausgewogene und vielfältige Verteilung der Bilder über die Kategorien hinweg stellt sicher, dass das Modell über genügend Daten verfügt, um die einzigartigen Muster zu lernen, die mit jedem Krankheitstyp verbunden sind, und gleichzeitig das Risiko einer Überanpassung oder Verzerrung gegenüber einer bestimmten Klasse zu verringern. Diese Datenaufteilung ist unerlässlich, um robuste und zuverlässige Klassifizierungsergebnisse zu erzielen.
Datenbereinigung
In der Vorverarbeitungsphase ist die Bereinigung der Daten unerlässlich, um die Genauigkeit und Effizienz des Klassifizierungsmodells zu verbessern. Die rohen Paddy-Blatt-Bilder enthalten oft unerwünschte Hintergrundelemente wie Erde, nahe gelegene Vegetation oder landwirtschaftliche Werkzeuge, die Rauschen verursachen und die Gesamtleistung des Modells beeinträchtigen können.
Um dies zu erreichen, wurde die Bildsegmentierung unter Verwendung des UNet 37,38-Modells durchgeführt, einer bekannten Convolutional Neural Network-Architektur, die speziell für semantische Segmentierungsaufgaben entwickelt wurde. Das UNET-Modell ist in der Lage, Blattbereiche vom Hintergrund mit hoher Präzision zu segmentieren, wodurch sichergestellt wird, dass nur die relevanten Teile der Bilder für die weitere Verarbeitung beibehaltenwerden 39. Der Segmentierungsprozess ist in Abbildung 1 dargestellt.
Prozess der Segmentierung mit dem UNet-Modell (Abbildung 2): Rohbilder aus dem Datensatz werden in das UNET-Modell eingespeist. Das UNET-Modell besteht aus einem Encoder, der hierarchische Merkmale extrahiert, und einem Decoder, der das Bild rekonstruiert, während der Blattbereich segmentiert wird. Das Modell gibt eine binäre Maske aus, bei der der Blattbereich markiert und der Hintergrund entfernt wird. Die segmentierten Bilder werden weiter verfeinert, indem morphologische Operationen angewendet werden, um glatte Kanten zu gewährleisten und jegliches Restrauschen zu entfernen (Abbildung 3).
Mathematische Formulierung der UNet-Segmentierung: UNet führt eine semantische Segmentierung durch, indem es eine Zuordnung aus dem Eingabebildraum zu einer binären Maske lernt, die den Region of Interest (ROI), d. h. den erkrankten Blattbereich, hervorhebt, während der irrelevante Hintergrund unterdrückt wird. Lassen:
bezeichnen das Eingangs-RGB-Bild der Größe H*W mit C=3 Farbkanälen.
die Ausgabe des trainierten UNet-Modells sein, wobei jeder Pixelwert in M die Wahrscheinlichkeit darstellt, dass dieses Pixel zur erkrankten Blattregion gehört.
Die endgültige binäre Segmentierungsmaske 
wobei τ [0,1] der Segmentierungsschwellenwert ist (üblicherweise auf 0,5 festgelegt).
Das segmentierte Bild
wird dann wie folgt berechnet:

wobei
die elementweise Multiplikation bezeichnet wird, die räumlich über alle Kanäle angewendet wird. Dieser Vorgang behält die Pixelwerte in der ROI bei (wobei
) und maskiert Hintergrundpixel (wobei
). Diese segmentierte Ausgabe wird als Eingabe an das Klassifikationsmodell (z. B. DenseNet121) übergeben, sodass es sich ausschließlich auf krankheitsrelevante Merkmale konzentrieren kann, während verrauschte, nicht informative Hintergrundbereiche ignoriert werden, was die Klassifikationsleistung und die Modellgeneralisierung verbessert.
Dieser Vorverarbeitungsschritt garantiert, dass die folgenden Phasen der Merkmalsextraktion und -klassifizierung auf der Grundlage sauberer, relevanter Daten durchgeführt werden, wodurch die Gesamtleistung und Zuverlässigkeit des Klassifizierungsmodells für die Reisblattkrankheit verbessert wird.
Lernen übertragen
Beim Transferlernen werden vortrainierte neuronale Netze verwendet, um neue, aber verwandte Probleme anzugehen, sodass keine Modelle von Grund auf neu erstellt werden müssen. Dieser Ansatz nutzt das Wissen aus früheren Aufgaben und ermöglicht so effizientes Lernen40. Vortrainierte Modelle werden oft auf umfangreichen Datensätzen entwickelt und verfügen über robuste Funktionen zur Merkmalsextraktion, wodurch sie sich für die Feinabstimmung spezifischer Datensätze eignen. Dies reduziert die Trainingszeit, vermeidet Überanpassungen und erreicht eine hohe Genauigkeit auch bei begrenzten Rechenressourcen.
In dieser Studie wurde Transfer Learning eingesetzt, um Reisblattkrankheiten zu identifizieren, indem verschiedene vortrainierte Deep-Learning-Modelle evaluiert wurden. Die in den Experimenten untersuchte Architektur umfasst VGG16, ResNet, InceptionV3, MobileNet, AlexNet und DenseNet121. Jedes dieser Modelle wurde ursprünglich mit großen Datensätzen wie ImageNet trainiert, und ihre vortrainierten Gewichte wurden in dieser Arbeit verwendet. Um die Modelle an die Klassifikationsaufgabe anzupassen, wurden folgende Modifikationen vorgenommen:
Modifikation des Modells: Die ursprünglichen, vollständig verbundenen (Klassifizierungs-)Layer jedes Modells wurden beim Modellimport in Keras mit dem Parameter include_top=False entfernt. Dadurch wurde sichergestellt, dass nur die Convolutional Base (Feature Extractor) jedes vortrainierten Modells beibehalten wurde. Die Ausgabe des letzten Faltungsblocks wurde mit der Schicht Flatten() in einen eindimensionalen Vektor abgeflacht.
Dichte Schichten: Drei vollständig verbundene (dichte) Layer wurden nacheinander nach dem Abflachungsschritt angehängt. Diese Schichten wurden mit der Funktion Keras Dense() definiert: die erste mit 256 Neuronen und ReLU-Aktivierung, die zweite mit 128 Neuronen und ReLU-Aktivierung und die dritte mit 64 Neuronen und ReLU-Aktivierung. Zwischen den Schichten wurde auch eine Dropout-Schicht hinzugefügt, um eine Überanpassung zu reduzieren.
Ausgabe-Layer: Drei vollständig verbundene (dichte) Layer wurden nacheinander nach dem Abflachungsschritt angehängt. Diese Schichten wurden mit der Funktion Keras Dense() definiert: die erste mit 256 Neuronen und ReLU-Aktivierung, die zweite mit 128 Neuronen und ReLU-Aktivierung und die dritte mit 64 Neuronen und ReLU-Aktivierung. Zwischen den Schichten wurde auch eine Dropout-Schicht (Rate 0,4) hinzugefügt, um eine Überanpassung zu reduzieren.
Die gesamte Pipeline und der Ablauf der Methodik, einschließlich Vorverarbeitung, Segmentierung, Implementierung des Transfer-Learning-Modells und Evaluation, sind in Abbildung 4 dargestellt. Diese Abbildung gibt einen umfassenden Überblick über die Schritte, die in dieser Studie befolgt wurden. Durch den Einsatz von Transferlernen konnte die Trainingszeit erfolgreich minimiert, die Abhängigkeit von High-End-Rechenressourcen reduziert und signifikante Leistungsverbesserungen bei der Klassifizierung der Reisblattkrankheit erzielt werden.
Vorgeschlagenes DenseNet121-Modell zur Klassifizierung von Blattkrankheiten
Unter allen getesteten Modellen zeigte DenseNet121 die beste Leistung bei der Klassifizierung von Reisblattkrankheiten und erreichte eine bemerkenswerte Genauigkeit. Dieses hochmoderne Deep-Learning-Modell zeichnet sich durch seine innovative Architektur40 aus, die einen effizienten Informationsfluss fördert und die Wiederverwendung von Funktionen verbessert.
Architektur von DenseNet121: DenseNet121 zeichnet sich durch dicht verbundene Schichten aus, bei denen jede Schicht auf die Feature-Maps aller vorhergehenden Schichten zugreifen kann. Dieses Design optimiert den Informationsfluss, reduziert Redundanzen und verbessert die Gesamteffizienz des Modells erheblich.
Die Architektur besteht aus den folgenden Schlüsselkomponenten:
Eingabeschicht: Empfängt Bilder mit einer Größe von 224 x 224 Pixeln für eine standardisierte Verarbeitung.
Anfänglicher Faltungs-Layer: Wendet eine 7 x 7-Faltungsoperation an, gefolgt von maximalem Pooling, um die räumlichen Dimensionen zu reduzieren und Low-Level-Features zu extrahieren.
Dichte Blöcke: Das Modell enthält vier dichte Blöcke. Jeder Block besteht aus mehreren Faltungsschichten, die dicht miteinander verbunden sind, was bedeutet, dass jede Schicht direkten Zugriff auf die Ausgänge aller vorherigen Schichten innerhalb des Blocks hat.
Übergangsschichten: Diese Schichten befinden sich zwischen dichten Blöcken und führen eine 1 x 1-Faltung durch, gefolgt von durchschnittlichem Pooling, um die Feature-Dimensionen zu reduzieren und die Recheneffizienz zu verbessern.
Global Average Pooling (GAP): Reduziert die räumlichen Dimensionen von Feature-Karten vor den vollständig verbundenen Layern.
Vollständig verbundene Schicht: Erzeugt den Ausgabevektor für die Klassifizierung.
Benutzerdefinierte Layer für die Klassifizierung: Für diese Forschung wurden die standardmäßigen, vollständig verbundenen Schichten durch eine benutzerdefinierte Architektur ersetzt: Flatten-Schicht, drei dichte Schichten (256, 128 und 64 Neuronen mit ReLU-Aktivierung) und eine abschließende sigmoidaktivierte Schicht für die binäre Klassifizierung.
Die Fähigkeit von DenseNet121, Funktionen wiederzuverwenden, und seine kompakte Architektur trugen wesentlich zu seiner überlegenen Leistung beim Datensatz der Reisblattkrankheit bei. Diese Effizienz, gepaart mit der Fähigkeit, Überanpassungen zu minimieren, macht es ideal für Aufgaben mit begrenzten Trainingsdaten. DenseNet121 erreichte eine bessere Genauigkeit und Generalisierung als andere Modelle aufgrund seiner Wiederverwendung von Funktionen und seiner Gradientenströmungseigenschaften. Während Modelle wie ResNet und VGG16 gut abschnitten, übertraf DenseNet121 diese in Bezug auf Genauigkeit und Recheneffizienz.
In allen Modellen wurden drei vollständig verbundene (dichte) Schichten unter Verwendung von ReLU-Aktivierungsfunktionen (wie in Gleichung 1 gezeigt) eingeschlossen, die in einer abschließenden dichten Schicht mit einer SoftMax-Aktivierung (Gleichung 2) gipfelten, um die Klassifizierung mehrerer Klassen zu erleichtern. Diese Anpassung ermöglichte es jedem Modell, seine vortrainierten Gewichte effektiv zu nutzen und gleichzeitig die Bilder im Datensatz zu klassifizieren.
ReLu f(x) = max(0, X) (1)

Dabei steht x i für die Eingabe der SoftMax-Funktion, angepasst an die Klassifizierung in die zehn Kategorien der Paddy-Blattkrankheiten. Die einzigartige Architektur jedes Modells, kombiniert mit dieser benutzerdefinierten Ausgabeschicht, ermöglichte eine effektive Merkmalsextraktion und eine genaue Bildklassifizierung.
Abbildung 5 zeigt das architektonische Layout von DenseNet121 und zeigt den nahtlosen Informationsfluss durch seine dichten Blöcke, Übergangsschichten und die maßgeschneiderten Klassifizierungsschichten, die für diese Forschung integriert wurden. Diese visuelle Darstellung verdeutlicht, wie DenseNet121 mit Bildeingaben umgeht und Vorhersageausgaben generiert