Wie japanische Bauern Gurken mit Deep Learning und TensorFlow sortierten



Die Fähigkeiten moderner kognitiver Systeme sind immer noch begrenzt, aber im Laufe der Zeit entwickeln sie sich und werden perfekter. Sie werden bereits in vielen Bereichen eingesetzt, auch in der Landwirtschaft. Ein eindrucksvolles Beispiel hierfür ist ein System, das von einem japanischen Ingenieur entwickelt wurde. Vor ungefähr einem Jahr beschloss ein Japaner namens Makoto Koike, seinen Eltern zu helfen, die Gurken anbauen. In Japan gelten große und direkte Gurken als Waren der Extraklasse, daher versuchen alle Landwirte, dieses Gemüse in dieser Form anzubauen.

Es ist ziemlich schwierig, dies zu tun, und Koike war aus eigener Erfahrung davon überzeugt. „Jede Gurke unterscheidet sich von den anderen - sie sind alle in unterschiedlichen Formen, Qualitäten und Frischen erhältlich“, sagt der Ingenieur. Damit das Endprodukt in die Läden kommt, muss das Gemüse sortiert werden. In Japan gibt es neun Klassen von Gurken. Die Klassifizierung erfolgt nach Form, Größe und einer Reihe anderer Eigenschaften. Je höher die Klasse, desto teurer die Gurke.


Gurkenklassen nach japanischen Maßstäben. Das

Sortieren ist ein kompliziertes Geschäft. Und obwohl es in Japan automatische Sortiermaschinen gibt, sind sie nicht sehr beliebt, weil sie ziemlich teuer sind und nicht perfekt funktionieren. Der Ingenieur beschloss, den Eltern zu helfen, das perfekte automatische Sortieren von Gemüse zu erreichen, indem er einen eigenen Sortierer erstellte. Um die Qualität und Effizienz eines solchen Systems zu verbessern, beschloss er, neuronale Netze in die Sortierung einzubeziehen. Jetzt sind sie in der Lage, Bilder mit einem hohen Maß an Genauigkeit zu erkennen und zu klassifizieren, das die menschlichen Fähigkeiten übertrifft. Dies gilt sowohl für die Geschwindigkeit als auch für die Genauigkeit.

Der fürsorgliche Sohn entschied sich für die Entwicklung von Google, TensorFlow, als Grundlage für seinen Open-Source-Algorithmus zum Sortieren von Gurken. Vor einem Jahr hat das Unternehmen gerade den Quellcode dieses Produkts für alle geöffnet. Mit TensorFlow kann der Entwickler vorgefertigten Code und die Funktionen neuronaler Netze verwenden, anstatt alles von Grund auf neu zu erstellen. Um Ihr eigenes Projekt zu erstellen, müssen Sie den Code herunterladen, die Anweisungen lesen und mit der Arbeit beginnen.

Neben Code benötigen Sie auch Hardware. Die Japaner entschieden sich für Arduino Micro und Raspberry Pi 3. Electronics wurde als Hauptcontroller verwendet, um mit der Kamera zu arbeiten und Bilder an Google Cloud zu senden, wo die Informationen analysiert wurden. Die Bretter steuern auch die Servos des Sortierers.



In der ersten Phase schulte der Ingenieur das System, um Bilder zu erkennen und festzustellen, ob auf dem Foto eine Gurke oder etwas anderes abgebildet ist. Nach Überprüfung der Funktionsfähigkeit des Systems wurde ein komplexerer Algorithmus erstellt, der Gurken bereits nach den in Japan geltenden Standards klassifiziert hat.

Danach wurde ein Förder- und Sortiersystem entwickelt. Die Kamera machte Fotos von Gurken, die am Förderband vorbeifuhren, das neuronale Netzwerk klassifizierte sie. Es blieb nur, Gurken in Kisten zu verteilen, basierend auf der Klasse jedes Gemüses. Dafür schuf Koike einen Roboterarm, der sich mit „körperlicher Arbeit“ beschäftigte.



Um von seiner Mutter sortierte Gurken verschiedener Klassen zu fotografieren, verbrachten die Japaner etwa drei Monate. Er musste mehr als 7000 Bilder von Gurken machen und auf das System hochladen. Und das war nicht genug. Wenn der Test nur mit Bildern durchgeführt wurde, arbeitete das System mit einer Genauigkeit von 95%. Beim Fotografieren von echten Gurken sank die Genauigkeit jedoch auf 70%. Wie sich herausstellte, besteht das Problem darin, dass eine Datenbank mit mehreren tausend Fotos nicht ausreicht, um das System qualitativ hochwertig zu trainieren.

Das zweite Problem ist, dass das System viel Ressourcen, Zeit und Energie verbraucht. Der aktuelle Sortierer ist ein normaler Windows-Desktop-PC, mit dem ein neuronales Netzwerk trainiert wird. Obwohl der Computer die von den Kameras empfangenen Bilder in Bilder mit einer Auflösung von 80 * 80 Pixel konvertiert, dauert das Erlernen eines darauf basierenden Systems 2-3 Tage. Tatsache ist, dass mehrere tausend dieser Bilder benötigt werden. Und da die Fotos eine niedrige Auflösung haben, arbeitet dieser Sortierer mit Eigenschaften wie Form, Länge und Fehlerstufe. Farbe, Textur, Kratzer - all dies bleibt unbemerkt und kann derzeit nicht verwendet werden. Wenn Sie die Auflösung von Fotos erhöhen, erhöht dies die Genauigkeit des Systems. Gleichzeitig erhöht sich aber auch der Zeitaufwand für das Training des neuronalen Netzes.

Der Japaner plant, sein Problem mithilfe eines anderen Google-Dienstes zu lösen. Jetzt bietet das Unternehmen die Cloud-Plattform Cloud Machine Learning (Cloud ML) zu einem günstigen Preis an . Hier sind Tausende leistungsfähiger Server beteiligt. Sie verarbeiten Informationen effizient und helfen dabei, das neuronale System basierend auf TensorFlow zu trainieren.

Jetzt plant Makoto Koike, Google ML für seine eigenen Zwecke zu verwenden. „Ich kann den Service nutzen, um ein Trainingssystem zu erstellen, das auf viel besseren Bildern basiert. Ich kann auch verschiedene Konfigurationen, Parameter und Algorithmen des neuronalen Systems verwenden, um eine Option zu finden, bei der das System am genauesten ist. "

Bisher sind die Ergebnisse von Kojekes Arbeit mit Google ML nicht verfügbar, er experimentiert weiter. Es ist jedoch möglich, dass die Gurkenfarm der japanischen Eltern in wenigen Monaten Gemüse liefert, das ausschließlich klassifiziert ist. Die Japaner sind immer noch Perfektionisten.

Source: https://habr.com/ru/post/de397305/


All Articles