ML PoC für eine Lösung zur Erkennung von Pflanzenpathologie

ML PoC für eine Lösung zur Erkennung von Pflanzenpathologie

Das Team von Itransition lieferte einen Proof of Concept für eine ML-Lösung zur Erkennung von Pflanzenkrankheiten, die es dem Kunden ermöglichte, Investitionen zu tätigen und mit mehreren wissenschaftlichen Instituten zusammenzuarbeiten, um die Lösung weiterzuentwickeln.

Inhaltsverzeichnis

Kontext

Unser Kunde ist ein Software-Startup, das eine innovative Idee für eine Bilderkennungs- und Vergleichslösung hatte. Sie wollten eine App für Feldforscher und Labore entwickeln, um Pflanzenfotos zu scannen, zu analysieren und zu vergleichen und dann das Vorhandensein und die Art von Krankheiten zu bestimmen. Die meisten auf dem Markt befindlichen Lösungen boten zwar die Funktionalität des Vergleichs von Pflanzenproben, aber keine weitergehende Analyse zur Gruppierung und zum Ausschneiden irrelevanter Daten und Proben. Außerdem ließen sich diese Lösungen nicht mit IoT-Geräten für die Pathologieforschung von unterwegs verbinden.

Der Kunde wollte eine umfassende Lösung schaffen, die den Prozess der Identifizierung von Pflanzenpathologie mit Hilfe von maschinellem Lernen vereinfachen und verbessern würde. Dank unserer umfangreichen Erfahrung bei der Bereitstellung von mobilen Lösungen und Web-Lösungen mit ML-Funktionen wurde Itransition als Partner gewählt.

Lösung

Das Team von Transition schlug vor, mit einem Proof of Concept (PoC) zu beginnen, um die Idee einer neuen Lösung zu bewerten, bevor wir sie vollständig entwickeln. Die PoC-Phase würde uns die Möglichkeit geben, die Details der ML-Funktionen auszuarbeiten und mögliche Einschränkungen zu untersuchen, die wir bei der Entwicklung einer vollwertigen Lösung überwinden müssten. Da der Kunde bereits über ein Scangerät verfügte, sollte die PoC-Lösung auch eine umfassende Interoperabilität mit dem Scanner aufweisen. Das Hauptziel dieser Phase war eine funktionierende Lösung, die wissenschaftlichen Einrichtungen zur Verfügung gestellt werden sollte, um mit ihr zu arbeiten und ihr Feedback für die weitere Entwicklung zu geben.

ML-Ansatz

Wir erstellten ML-Pipelines mit einer Kombination aus C, Python und .NET, da die Lösung komplexe Mathematik und Algorithmen zum Vergleich verwendet. Die Hauptsprache, die wir verwendet haben, war Python, da es in ML-Lösungen weit verbreitet ist und sich schnell entwickeln lässt.

Damit der Vergleichsalgorithmus richtig funktioniert, müssen die Bilder korrekt vorverarbeitet werden. Zunächst sollte der Probentyp identifiziert werden, da wir unterschiedliche Vergleichsmethoden für verschiedene Probentypen verwenden. Unser Team führte eine explorative Datenanalyse durch und bereitete Datensätze für das Training vor, indem es Ausreißer entfernte, Daten kennzeichnete und Datensätze ausglich.

Wir trainierten zwei neuronale Netze (NNs):

  • Bildklassifizierung mit dem ResNet-50-Modell zur Identifizierung von Probentypen
  • Multilabel-Klassifikator unter Verwendung des ResNet-50-Modells zur Vorhersage von Pathologietypen

Da der Kunde nicht über genügend Referenzfotos verfügte, generierten wir synthetische Daten auf der Grundlage von 2.000 bereitgestellten Fotos, um den verfügbaren Trainingsdatensatz zu erweitern. Unsere Spezialisten:

  • Durchführung von Bildvergrößerungen (zufälliger Farbton, Kontrast, grober Dropout, Unschärfe, Bildqualität, Hinzufügen von Zufallsrauschen)
  • Testete verschiedene Eingabebildtypen (RGB, Graustufen, zusammengesetztes Bild)

Mit Hilfe von Jupyter und PyTorch haben wir die Statistiken über den Datensatz und die Vorhersagen erstellt. Wir haben virtuelle Azure-Maschinen für das NN-Training und die Validierung verwendet. Unsere Spezialisten haben ein Skript erstellt, das den Datensatz erweitert und an das NN weiterleitet. In Anbetracht der begrenzten Ausgangsdaten bereitete das Team von Itransition die Daten für die NNs vor und gruppierte sie für das Training in drei Kategorien.

Wir validierten die trainierten NNs auf einem bestimmten Datensatz und sammelten Metriken, Histogramme und analysierten die Modellfehler. Als Ergebnis erhielten wir den KPI von 80 % korrekter Pathologieerkennung.

Mobile Lösung

Das Team von Intransition entwickelte eine mobile Anwendung, die sich mit dem Scangerät verbindet und die Scans auf Azure Blob Storage hochlädt. Die mobile Lösung wurde mit Swift und dem .NET-Backend entwickelt und in Azure implementiert.

Ein Mobiltelefon wird mit dem Gerät des Kunden verbunden. Am anderen Ende des Geräts wird eine Pflanze auf eine flache Oberfläche gelegt und gescannt.

Disclaimer: Gemäß der Geheimhaltungsvereinbarung, die wir mit dem Kunden unterzeichnet haben, können wir die Screenshots des realen Systems nicht veröffentlichen. In dieser Fallstudie zeigen wir einige ähnliche Screenshots, die erstellt wurden, um dem Leser einen Eindruck von der von Itransition entwickelten Lösung zu vermitteln.

Home screen and submitting plants details
Pathology review and uploading scans

Die Anwendung arbeitet mit RAW- und ProRAW-Formaten für maximale Fotoqualität. Diese Fotos werden dann in das Backend hochgeladen und von den NNs gemäß den vordefinierten Schritten weiter analysiert.

Die Lösung ermöglicht die Validierung und Bestätigung, dass alle Daten in das Backend hochgeladen wurden. Anschließend kann ein Benutzer die Liste der noch nicht hochgeladenen, aber bereits aufgenommenen Fotos einsehen. Um das Hochladen zu beschleunigen, werden mehrere Fotos auf einmal verarbeitet.

Webanwendung

Das Team von Transition lieferte auch eine Webanwendung, mit der wissenschaftliche Experten arbeiten können. Die Experten analysieren die von den NNs verarbeiteten und vorhergesagten Daten und geben eine endgültige Stellungnahme zur Identifizierung der Pflanzenpathologie ab.

Die Webanwendung ist mandantenfähig, so dass sich verschiedene Expertenorganisationen registrieren können, und umfasst ein Verwaltungsportal, in dem Labors und Benutzer verwaltet werden. Die Lösung wurde mit Tailwind CSS und React geschrieben.

 

Pathology determination
Grouped pathologies

Ergebnisse

Das Team von Transition lieferte eine Lösung zur Erkennung von Pflanzenpathologie, und als Ergebnis unserer Zusammenarbeit konnte der Kunde:

  • Erfolgreiche Demonstration der Lösung bei den Investoren 8 Monate nach Projektbeginn
  • Partnerschaft mit 2 wissenschaftlichen Instituten zur Weiterentwicklung der Lösung