Skip to content

In diesem Repository finden Sie den Code sowie die Dokumentation unseres Projekts zur Optimierung des Pflanzenwachstums mit Hilfe von KI. Unser Ziel ist es, das Pflanzenwachstum ressourcenschonend zu gestalten, indem wir ein neuronales Netz verwenden, das den Bewässerungsprozess in Echtzeit steuert.

Notifications You must be signed in to change notification settings

Zollernalbritter/BWKI_24_Plant_Growth_Optimizer

Repository files navigation


BWKI24 - Plant Growth Optimizer

Ein Projekt für den Bundeswettbewerb Künstliche Intelligenz.

In diesem Repository finden Sie den Code sowie die Dokumentation unseres Projekts zur Optimierung des Pflanzenwachstums mit Hilfe von KI. Unser Ziel ist es, das Pflanzenwachstum ressourcenschonend zu gestalten, indem wir ein neuronales Netz verwenden, das den Bewässerungsprozess in Echtzeit steuert.


Inhalt des Repositories

  1. Dokumentation des Anbaus

    • Ablauf eines Wachstumszyklus
    • Ergebnisse der Experimente
  2. Edge Detection Seed

    • Samenkorndetektion zur Optimierung der relativen Samenposition
  3. Neural Network

    • Code unseres neuronalen Netzes zur Vorhersage der optimalen Wassermenge
  4. Platine und Software

    • Design und Software für die Data Collector Platine, die in Zukunft auch die direkte Steuerung der Bewässerung übernehmen wird
  5. plantPage

    • Webvisualisierung der Wachstumsdaten, um Zyklen grafisch darzustellen

Dokumentation des Anbaus

Unser Projekt begann mit der standardisierten Aussaat von 10 g Kressesamen, um eine vergleichbare Basis für die Wachstumszyklen zu schaffen. Die Samen wurden entweder auf Watte oder Erde ausgesät. Dabei führten wir verschiedene Experimente mit Microgreens (Kresse und Radies) durch.

Ablauf eines Wachstumszyklus:

  1. Abmessen der Kressesamen:
    Abmessen der Kressesamen

  2. Aussat der Samen auf Watte und Erde:
    Aussat der Kresse Aussat auf Erde

  3. Tägliche Dokumentation des Wachstums (Radies, 5 Tage):

    Tag 1 Tag 2 Tag 3
    Tag 4 Tag 5
  4. Ausgewachsene Kresse zum Vergleich:
    Kresse Ausgewachsen
    Kresse Nahaufnahme

  5. Ertragsmessung:

    Ertrag 1 Ertrag 2

Ergebnisse der Experimente:

  • Wassermenge und Ertrag:
    Durch die Optimierung der Wassermenge konnten wir eine Ertragssteigerung von bis zu 25 % erreichen. Dies wurde durch die präzise Steuerung der Wasserversorgung und die Analyse der Keimungsraten mit Bildverarbeitung ermöglicht.

  • Zukünftige Entwicklungen:
    Unsere neue Data Collector Platine soll in Zukunft nicht nur die Wassermenge in Echtzeit regulieren, sondern auch den pH-Wert und die Nährstoffdichte im Boden messen. Diese neue Version der Platine ist bereits entwickelt, aber zum Zeitpunkt der Abgabe noch nicht eingetroffen.


Edge Detection Seed

In diesem Abschnitt unseres Repositories finden Sie den Code zur Samenkorndetektion. Mit dieser Technologie optimieren wir die relative Position der Samen zueinander, um eine bessere Keimung zu gewährleisten. Die Bildverarbeitungstechniken wie Sobel- und Canny-Algorithmen helfen dabei, die Konturen der Samen zu erkennen. Jedoch haben wir noch keinen eigenen Algorithmus entwickelt, welcher für uns die Auswertung übernimmt.

  1. Bild: Orginal Foto
  2. Bild: Output Canny Algorithmus
  3. Bild: Output Sobel Algorithmus

Bilder der Samenkorndetektion:

Original Seed Image Canny Edge Detection Sobel Edge Detection

Neural Network

Unser neuronales Netz besteht aus mehreren Schichten und wird genutzt, um basierend auf verschiedenen Umgebungsparametern (wie Temperatur, CO₂-Wert und Luftfeuchtigkeit) die optimale Wassermenge für den Pflanzenwachstumsprozess vorherzusagen.

model = Sequential()
model.add(Dense(128, input_dim=5, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1, activation='linear'))
model.compile(loss='mean_absolute_error', optimizer='adam', metrics=['mae'])

Das Modell wurde mit einem Adam-Optimierer trainiert, um den mittleren absoluten Fehler (MAE) zu minimieren und die Effizienz der Bewässerung zu maximieren.


Platine und Software

Unsere speziell entwickelte Data Collector Platine sammelt und verarbeitet die Umgebungsdaten (wie Feuchtigkeit, CO₂, Temperatur) in Echtzeit und übermittelt sie an das neuronale Netz. Mit unserer neuen Version der Platine können zusätzliche Parameter wie pH-Wert und Nährstoffgehalt erfasst werden, was in Zukunft die Bewässerung noch präziser gestalten wird.

Die Software für die Platine ist ebenfalls in diesem Repository enthalten und ermöglicht die direkte Steuerung und Überwachung des Wachstumsprozesses.


plantPage

Besuchen Sie unsere alte Webvisualisierung, die einen Wachstumszyklus grafisch darstellt. Eine neue Version der Seite ist aktuell in der Entwicklung und kann lokal über npm dev run gestartet werden.


Wachstumsgif

Hier ein animiertes GIF, das den Wachstumsprozess der Kresse über mehrere Tage zeigt:

Wachstumsgif


Dieses Repository enthält die wichtigsten Code ausschnitte für unser Projekt, einschließlich eines Datensatzes von einem Wachstumszyklus, des neuronalen Netzes und der Platinen-Software. Weitere Informationen zu den einzelnen Komponenten finden Sie in den entsprechenden Unterordnern.


About

In diesem Repository finden Sie den Code sowie die Dokumentation unseres Projekts zur Optimierung des Pflanzenwachstums mit Hilfe von KI. Unser Ziel ist es, das Pflanzenwachstum ressourcenschonend zu gestalten, indem wir ein neuronales Netz verwenden, das den Bewässerungsprozess in Echtzeit steuert.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published