Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Probieren Sie das Experiment zur projizierten Fläche in Ihrem Browser aus

Das obige Panel führt das synthetische Bildexperiment ohne Python-Installation aus. Wählen Sie die saubere, grün markierte, dunkle oder beschnittene Szene; ändern Sie die Mindesthelligkeit V, den Auswahlbereich (ROI) und mm/Pixel. Neun Voreinstellungen umfassen alle sieben veröffentlichten Bedingungen, einen zu kleinen ROI und eine leere Auswahl. Voreinstellungen setzen jede Eingabe zurück; das manuelle Ändern des Schwellenwerts ändert auch den wiederhergestellten dunklen Fall.

Untersuchen Sie das Eingabebild, die Referenz im Bildausschnitt, die extrahierte Maske und die Fehlerüberlagerung. Rot markiert Falsch-Positive und Blau markiert Falsch-Negative. Eine braune Umrandung markiert einen ausgewählten ROI im Eingabebild. Speichern Sie ein Ergebnis als A und ändern Sie eine Eingabe, um Bilder und Metriken im gleichen Anzeigemaßstab zu vergleichen. Die Datentabelle gibt horizontale Pixelläufe an (nullbasiertes x/y und Länge); sie rekonstruieren jeden Bildbereich exakt, ohne Downsampling. Teilen Sie Bedingungen oder laden Sie Ergebnis-JSON herunter, um das Experiment zu bewahren.

Die Bilder bleiben die ursprünglichen 320×240-geometrischen Szenen, ohne Upload echter Fotos oder Kameraeingabe. Die ursprünglichen NumPy-Geometrie- und Messfunktionen werden unverändert wiederverwendet. Der Browser ersetzt nur die OpenCV-Konvertierung/Bereichsauswahl durch eine verifizierte Nachschlagetabelle seiner drei festen RGB-Farben: Hintergrund (235,235,235), Ziel (50,160,65) und dunkles Ziel (20,60,25). Ihre OpenCV-4.6.0-uint8-HSV-Werte sind (0,0,235), (64,175,160) und (64,170,60). Dies ist kein allgemeiner HSV-Konverter. H 35–85 und S 80–255 bleiben fest; das V-Minimum ist von 0 bis 255 einschließlich einstellbar. Es wird keine Morphologie angewendet.

Der feste, das Etikett ausschließende ROI ist (50,20,230,190); der kleine ROI ist (140,60,20,30), in x/y/Breite/Höhe-Pixeln. Keiner passt sich einer Pflanze an. Der Maßstab reicht von 0,1 bis 1,0 mm/Pixel als angenommene Referenzebenen-Umrechnung, keine Kalibrierung. Das Bild bleibt gleich, wenn sich der Maßstab ändert. touches_frame erscheint als 1 für Ja und 0 für Nein; eine leere Auswahl hat undefinierte Präzision (—). Perfekte IoU für eine beschnittene Szene sagt weiterhin nichts über Teile außerhalb des Bildes aus. Diese Ausgaben messen weder Biomasse, Wachstum, Stress noch tatsächliche Blattoberfläche.

Ursprüngliche Downloads und gespeicherte Baselines bleiben unverändert. Die unten stehenden Anleitungen zur lokalen Reproduktion sind optional. Der Browser-Adapter verwendet NumPy ohne OpenCV; speichern Sie dessen Einstiegspunkt, Kernel und Palette zusammen, um ihn lokal mit installiertem NumPy auszuführen.

leaf: experiment.py

leaf: leaf_kernel.py

leaf: palette.json

leaf: original.py

CEA-Sensorik und Durchfluss – wo CO₂ und Nährlösung gemessen werden

Gleiche Anzeigen können sich auf unterschiedliche Orte und Zeiten beziehen

Der DO im Reservoir unterscheidet sich vom DO am Auslass eines Anbaukanals. Bevor Sie den Unterschied dem Sauerstoffverbrauch der Wurzeln zuschreiben, prüfen Sie, ob die Sensoren vergleichbare Zeiten beobachten, ob die Kalibrierung konsistent ist und ob sich die Probe während des Transports verändert.

Der Leitfaden zur Wurzelzone trennte EC, pH, DO und Wasserbilanz. Dieser Artikel fragt, wo und wie sie verglichen werden sollen. Er verwendet die Konzepte von Verzögerung und Kalibrierung aus dem Leitfaden zu Temperatur-/Feuchtigkeitssensoren wieder und ergänzt Fragen, die spezifisch für CO₂, Nährlösung und Durchfluss sind.

Die untenstehende Platzierungstabelle und das Untersuchungsverfahren sind unser vorgeschlagener Gestaltungsansatz. Sie sind keine Anlagenmessungen, erforderliche Sensoranzahlen oder universelle Alarmschwellen für Kulturen.

Entscheiden Sie, welche Unterschiede Sie beobachten müssen

Ziel Beispielvergleichspunkte Begleitende Aufzeichnungen
CO₂ in der Kulturzone Nahe am Blätterdach, Zuluft, Abluft oder Rückluft Höhe, Dosierung, Belüftung, Türen, Temperatur und RH
EC, pH und Wassertemperatur Gemischtes Reservoir, Einlass und Auslass des Anbaukanals Quellwasser, Zugaben, Volumen und Zirkulation
DO Reservoir, nahe den Wurzeln, Kanalauslass Temperatur, Belüftung und Sensortechnologie
Flüssigkeitsdurchfluss Nachspeisung, ausgewählte Zweige, Austrag Durchfluss, Ort und Ventilstellung
Füllstand und Druck Reservoir, vor/nach einem Filter Füllstand-Volumen-Beziehung, Druckreferenz und Höhe
Luftbewegung Vorder-/Rückseite von Regalen und verschiedene Höhen Sondenausrichtung, Mittelungsdauer und Ventilatorzustand

Verwenden Sie feste Punkte für die Überwachung und tragbare Messungen für die Kartierung. Bewahren Sie eine feste Referenz auf, um zeitliche Schwankungen während einer beweglichen Erhebung zu unterscheiden. Vergeben Sie Standort-IDs unabhängig von Sensor-IDs, damit Ersetzungen die Standorthistorie nicht unterbrechen.

Passt die CO₂-Selbstkalibrierung zu den Anbaubedingungen?

Eine Messung unmittelbar neben einem CO₂-Auslass sollte nicht automatisch das gesamte Blätterdach repräsentieren. Erfassen Sie Beziehungen zu Injektion, Zu-/Abluft und menschlichem Atem. Ein Punkt, der die Dosiergeräte diagnostiziert, dient einem anderen Zweck als einer, der die Kulturbedingungen bewertet.

Prüfen Sie den Kalibrieralgorithmus. Der Sensirion-SCD30-Feldkalibrierungshinweis von 2018 beschreibt ASC unter Verwendung einer Mindestkonzentration, die 400 ppm entspricht, und einer regelmäßig erforderlichen Exposition gegenüber dieser Konzentration.

Unsere Schlussfolgerung ist, dass kontinuierlich angereicherte Räume diese Annahme möglicherweise nicht erfüllen. Dies betrifft den dokumentierten Algorithmus, nicht jeden CO₂-Sensor. Befolgen Sie die Anweisungen des gewählten Modells und der Firmware und planen Sie den Vergleich mit Referenzgas oder einem kalibrierten Instrument. Die historische 400-ppm-Annahme ist kein garantierter heutiger Außenkalibrierwert.

In ein CO₂-Gerät eingebaute Temperatur-/RH-Ausgaben können dessen Gehäuse beschreiben statt repräsentative Blätterdach-Luft. Unterscheiden Sie Eingaben zur Umweltkompensation von Messungen, die zur Bewertung der Kulturumgebung verwendet werden.

EC, pH und DO brauchen unterschiedliche Prüfungen

Das USGS-Handbuch für Multiparameter-Instrumente verknüpft Lagerung, Wartung, Kalibrierung, Messung und Berichterstattung. Sein Geltungsbereich für natürliche Gewässer begründet keine Kultursollwerte oder Eignung für eine bestimmte Nährlösung.

Die folgende vorgeschlagene Checkliste wendet diesen allgemeinen Ansatz an; tatsächliche Verfahren und Lösungen müssen der Instrumentendokumentation entsprechen.

Parameter Zu prüfende Punkte
EC Leitfähigkeitsstandard und Temperatur, erwarteter Bereich, Zellkonstante und Temperaturkompensation
pH Für den Bereich geeignete Puffer, Temperatur, Elektroden-/Diaphragmazustand und Lagerung
DO Optische oder elektrochemische Methode, Kalibrierbedingungen, Druck-/Salzgehaltskompensation, Membran- oder Kappenzustand
Alle Fehler vor der Justierung, Ergebnisse nach Reinigung/Justierung, Standardidentität, Datum und Stabilisierungszeit

Übereinstimmung bei einem Standard begründet keine repräsentativen Messwerte nach der Installation. Untersuchen Sie Blasen, Ablagerungen, stehende Flüssigkeit und lokale Konzentrationsunterschiede unmittelbar nach Zugaben.

Die DO-Technologie ist entscheidend. YSIs Messanleitung erklärt, dass optische Sensoren keinen Sauerstoff verbrauchen und kein messprinzipbedingtes Rühranforderung haben, obwohl Durchfluss die Ansprechzeit verbessern kann. Nehmen Sie nicht an, dass elektrochemische und optische Geräte identische Durchflussanforderungen haben. Selbst ein optischer Sensor benötigt weiterhin Flüssigkeit, die repräsentativ für die vorgesehene Wurzelumgebung ist.

Eine Probenleitung bringt ältere Flüssigkeit zum Sensor

Eine entfernte Durchflusszelle trennt die Anzeigezeit von den Bedingungen am Probenahmepunkt. Für ein synthetisches Leitungsvolumen von 0,50 L und konstanten Durchfluss von 0,25 L/min nehmen Sie eine ideale Verdrängung ohne Mischung oder Dispersion an:

t_{transport}=V_{line}/Q=0.50/0.25=2.0\ \mathrm{min}
Diagram 1 · Use the button to switch views
Conceptual sequence separating sample transport, sensor response and log reception, with a synthetic two-minute transport time.

Die zwei Minuten beschreiben nur den idealen Leitungstransport. Zellmischung, Sensorreaktion und Kommunikationsverzögerung sind zusätzliche Effekte.

Eine Verdopplung des Durchflusses auf 0,50 L/min reduziert diese ideale Zeit auf eine Minute. Reale Leitungen und Zellen mischen; Temperatur- und Gasaustausch können die Probe ebenfalls verändern. Das Verschieben von Zeitstempeln um zwei Minuten rekonstruiert nicht zwangsläufig die ursprünglichen Bedingungen.

Erfassen Sie Probenahmestandort, Leitungs-/Zellkonfiguration, Durchfluss, Instrumentenmesszeit und Empfangszeit getrennt. Prüfen Sie beim Wechsel zwischen Probenahmepunkten auch Verschleppung von der vorherigen Probe.

Vergleichen Sie Pumpenbefehl, Durchfluss, Füllstand und Druck

Pumpe EIN ist keine Durchflussmessung. Gesamtförderung und Förderung zu jedem Zweig sind unterschiedliche Beobachtungen. Befolgen Sie die Anforderungen des gewählten Durchflussmessers an gerade Strecken, volle Rohre, Bereich und Blasen.

Rechnen Sie den Füllstand mithilfe der Reservoirgeometrie in ein Volumen um. Bei konstantem Querschnitt entspricht die Volumenänderung der Fläche multipliziert mit der Füllstandsänderung; diese Umrechnung ist bei Gefäßen mit geneigtem Boden nicht universell. Die druckbasierte Füllstandsmessung erfordert zudem die Berücksichtigung von Dichte und Referenzdruck.

Der Differenzdruck eines Filters kann Vergleiche unterstützen, hängt aber auch vom Durchfluss ab. Ein Anstieg beweist allein noch keine Verstopfung, wenn sich die Betriebsbedingungen unterscheiden. Erfassen Sie Messhöhen, Über- versus Absolutdruck und Einheiten.

Verwenden Sie ein Wasserbilanz-Residuum, um Inkonsistenzen zu finden

Hier ist die Grenze das Reservoir allein. Q_{in} umfasst jeden eingehenden Strom und Q_{out} jeden ausgehenden Strom, einschließlich Zirkulationszufuhr und -rücklauf. Dies unterscheidet sich von der Gesamtsystemgrenze des vorherigen Artikels. Das synthetische Beispiel setzt andere Terme, wie Verdunstung, auf null.

r=(V_1-V_0)-\sum_i(Q_{in,i}-Q_{out,i})\Delta t_i

Die Verwendung von L/min und Minuten ergibt das Residuum r in L. In unserem ursprünglichen Beispiel beträgt der Zufluss 1,0 L/min und der Abfluss 0,2 L/min über fünf Minuten. Der vorhergesagte Zuwachs beträgt 4 L, während das aus dem Füllstand abgeleitete Volumen nur von 100 L auf 101 L steigt. Das Residuum beträgt −3 L.

Dies veranlasst zur Untersuchung nicht erfasster Ströme, Durchfluss-/Füllstandsverzerrung, Zeitunterschiede oder ausgelassener Verluste. Es ist kein Beweis für ein Leck.

from math import isfinite


def transport_minutes(line_l, flow_l_min):
    if not all(isfinite(x) for x in (line_l, flow_l_min)):
        raise ValueError("finite values required")
    if line_l < 0 or flow_l_min <= 0:
        raise ValueError("nonnegative volume and positive flow required")
    return line_l / flow_l_min


def residual_l(v0, v1, intervals):
    if not all(isfinite(v) and v >= 0 for v in (v0, v1)):
        raise ValueError("invalid tank volume")
    if not intervals:
        raise ValueError("intervals required")
    predicted = 0.0
    for minutes, inflow, outflow in intervals:
        if not all(isfinite(x) for x in (minutes, inflow, outflow)):
            raise ValueError("finite interval values required")
        if minutes <= 0 or min(inflow, outflow) < 0:
            raise ValueError("invalid interval")
        predicted += (inflow - outflow) * minutes
    return (v1 - v0) - predicted


print(f"transport: {transport_minutes(0.50, 0.25):.1f} min")
print(f"residual: {residual_l(100, 101, [(5, 1.0, 0.2)]):.1f} L")

Speichern Sie als measurement_check.py und führen Sie python3 measurement_check.py aus, um 2.0 min und -3.0 L zu erhalten. Die Durchflüsse sind innerhalb jedes Intervalls konstant, und es wird angenommen, dass die Intervalle den gesamten Beobachtungszeitraum ohne Lücken oder Überlappungen abdecken. Dieses kleine Beispiel akzeptiert keine Zeitstempel und kann diese Annahme daher nicht automatisch verifizieren.

Ändern Sie das Endvolumen auf 104 L, und das Residuum wird null. Das Aufteilen von fünf Minuten in zwei und drei Minuten bei gleichen Durchflüssen lässt das Ergebnis unverändert. Verwerfen Sie bei gemessenen Daten ein unvollständiges Integral, statt fehlenden Durchfluss als null zu behandeln.

Angenommen, jedes Endpunktvolumen hat eine Fehlergrenze von 0,5 L, jeder Durchfluss hat eine Fehlergrenze von 0,1 L/min, und die Dauer ist exakt. Der ungünstigste Beitrag zum Residuumsfehler über fünf Minuten beträgt 0.5+0.5+5(0.1+0.1)=2.0 L. Diese Annahmen allein können eine Diskrepanz von 3 L nicht erklären. Dies ist eine illustrative Grenze, keine Produktgenauigkeit oder ein statistisches Konfidenzintervall. Validieren Sie die Grenzen und ausgelassenen Terme, bevor Sie eine Störung diagnostizieren.

Trennen Sie Zirkulation von Belüftung

Zirkulation bewegt und mischt Innenraumluft; Belüftung tauscht Luft mit der Außenumgebung aus. NC States Gewächshausleitfaden behandelt sie getrennt. Setzen Sie den Nenndurchfluss eines Umluftventilators nicht als Außenluftaustausch in eine CO₂-Bilanz ein.

Erfassen Sie für Erhebungen der Luftgeschwindigkeit im Blätterdach Sondenausrichtung, Ort, Mittelungsdauer, Beleuchtung und Ventilatorzustand. Der Durchfluss an der Vorderseite eines Regals begründet keinen Durchfluss an dessen Rückseite. Bewahren Sie räumliche Unterschiede und Schwankungen ebenso wie Mittelwerte, und wiederholen Sie die Erhebung, wenn Kulturwachstum die Strömungswege verändert. Eine einzelne Luftgeschwindigkeit sagt Transpiration oder Krankheit nicht direkt vorher.

Nehmen Sie die Messkette in Betrieb

  1. Definieren Sie Beobachtungszweck und Grenze; richten Sie Standort-IDs, Einheiten und Zeit aus.
  2. Vergleichen Sie mit Standards oder Referenzinstrumenten und bewahren Sie Ergebnisse vor/nach der Justierung auf.
  3. Untersuchen Sie Instrumentenunterschiede durch kolokalisierte Messungen, getrennt von räumlichen Erhebungen.
  4. Vergleichen Sie Betriebsprotokolle mit Beobachtungen und unterscheiden Sie Transport-, Reaktions- und Kommunikationsverzögerungen.
  5. Verwenden Sie Wasserbilanz und mehrere Messungen, um Inkonsistenzen zu finden, und untersuchen Sie dann konkurrierende Ursachen.

Dies etabliert Beobachtungen für spätere Regelung und Schätzung. Die Bildschätzung von Pflanzen benötigt dieselbe Disziplin: Bewahren Sie Bildzeit, Beleuchtung und Blickpunkt auf, bevor Sie scheinbare Änderungen als Wachstum interpretieren.

CEA-Pflanzenbilder – projizierte Fläche messen, Blattfläche unterscheiden

Bedeutet mehr Grün in einem Foto mehr Blatt?

Dieselbe Pflanze kann einen unterschiedlichen sichtbaren Bereich einnehmen, wenn sich Blattausrichtung, Überlappung, Beleuchtung oder Kameraposition ändern. Unsere erste Schätzaufgabe beschränkt sich daher auf die projizierte Fläche eines in einem Bild ausgewählten Bereichs. Sie schätzt nicht direkt Blattoberfläche, Masse, Ertrag oder Stress.

Der vorherige Leitfaden zur Sensorik trennte räumliche, instrumentelle und zeitliche Unterschiede. Bilder benötigen ebenfalls Erfassungs- und Verarbeitungsaufzeichnungen. Hier bilden überlappende Ellipsen synthetische Eingaben; es gibt keine gemessenen Pflanzenfotos oder trainierten Modelle. Kontrollierte Beispiele legen Fehlerursachen offen, bevor eine Bewertung an realen Pflanzen entworfen wird.

Definieren Sie zunächst die Größe

Für eine Binärmaske M(u,v) mit Zielpixeln gleich eins ist die Pixelanzahl N=\sum_{u,v}M(u,v). Bei einem angenommenen isotropen Maßstab s [mm/Pixel] ist die Referenzebenen-äquivalente Fläche:

A_{proj}=Ns^2

Unsere synthetische Baseline enthält 14.738 Pixel. Bei 0,5 mm/Pixel ergibt dies 3.684,50 mm². Der Maßstab wird zur Veranschaulichung bereitgestellt, nicht automatisch gemessen.

Größe Was diese Seite misst Was es nicht ist
Maskenpixelanzahl Anzahl der ausgewählten Pixel Geometrische Fläche, die von einer Kontur eingeschlossen wird
Referenzebenen-projizierte Fläche Pixelanzahl mal quadriertem Maßstab Tatsächliche Oberfläche gekrümmter Blätter
Sichtbare Vereinigung Von oben sichtbarer Zielbereich Summe der Fläche jedes überlappenden Blatts
Grüner Bereich Nach Farbe ausgewählte Kandidaten Garantierte semantische Identifikation von Blättern

PlantCVs Größenanalyse berechnet ähnlich Eigenschaften aus beschrifteten Bereichen und unterstützt die Umrechnung über Pixelabmessungen. Halten Sie die Bereichsextraktion von der Einheitenumrechnung getrennt. Unser Code zählt Pixel direkt und ruft PlantCV nicht auf.

Halten Sie Erfassung und Maßstab konsistent

Erfassen Sie Kameraposition und -ausrichtung, Brennweite, Bildabmessungen, Belichtung, Weißabgleich, Beleuchtung, Pflanzen-ID und Zeitstempel. Wenn Belichtung oder Weißabgleich automatisch sind, erfassen Sie diesen Zustand. Ein fester Schwellenwert, der auf sich ändernde Bildbedingungen angewendet wird, kann Farbänderungen in scheinbare Flächenänderungen verwandeln.

Eine bekannte Länge von 100 mm, die 200 Pixel umfasst, ergibt an diesem Ort 0,5 mm/Pixel. Platzieren Sie die Referenz in der Messebene und richten Sie die Kamera so nahe wie praktikabel senkrecht aus. Wenn Verzerrung oder Perspektive relevant sind, verwenden Sie Kamerakalibrierung und eine geeignete Ebenenkorrektur. Unterschiedliche horizontale und vertikale Maßstäbe erfordern Ns_xs_y.

Eine Referenz auf dem Boden muss nicht denselben Maßstab teilen wie darüber wachsende Blätter. Ebenenkorrektur macht ein dreidimensionales Blätterdach nicht koplanar. Wenn diese Annahmen nicht zutreffen, melden Sie Pixelanzahlen bei fester Erfassung oder referenzebenen-äquivalente Fläche, statt physische Blattfläche zu behaupten.

Die Verwendung von 0,6 statt 0,5 mm/Pixel multipliziert die Fläche derselben Maske mit 1,44: ein Anstieg um 44 %. Korrekte Extraktion kann mit falscher Einheitenumrechnung koexistieren.

Wählen Sie Farbkandidaten aus

Das OpenCV-Tutorial demonstriert die Umrechnung in HSV und die Farbbereichsauswahl mit inRange. Grün auszuwählen ist nicht dasselbe wie ein Blatt zu erkennen.

Die Eingaben sind 320×240 Pixel groß. In OpenCVs 8-Bit-HSV-Darstellung wählt dieses Beispiel H 35–85, S 80–255 und V 100–255. H wird nicht direkt als Winkel von 0–360 eingegeben. Unsere erzeugten Arrays sind RGB, daher verwendet die Umrechnung COLOR_RGB2HSV; verwenden Sie diese Umrechnung nicht blind auf BGR-Bildern, die von imread zurückgegeben werden.

Der Kern besteht aus drei Zeilen. Bilderzeugung, Bedingungsvergleich und Verifikation befinden sich im vollständigen Download.

hsv = cv2.cvtColor(rgb, cv2.COLOR_RGB2HSV)
mask = cv2.inRange(hsv, (35, 80, min_v), (85, 255, 255)) != 0
pixels = int(np.count_nonzero(mask))

Es wird keine morphologische Füllung oder Entfernung kleiner Komponenten angewendet. Prüfen Sie bei Hinzufügen einer solchen Verarbeitung, ob sie schmale Blätter oder Lücken zwischen Blättern gegenüber Referenzmasken verändert.

Vergleichen Sie Fehler bei gleicher Geometrie

Die erzeugte Referenz ist die sichtbare Vereinigung dreier Ellipsen im Bildausschnitt. Überlappung wird einmal gezählt, und Teile außerhalb des Bildausschnitts sind ausgeschlossen.

Synthetic baseline, green background tag and dimmed left side, with false positives marked red and false negatives blue.

Rot markiert als Ziel ausgewählten Hintergrund; Blau markiert verpasste Zielpixel. Grüne Bereiche behalten ihre Eingabefarben. Dies sind synthetische Formen, keine Pflanzenfotos.

Bedingung Ausgewählte Pixel Ebenen-äquivalente Fläche [mm²] IoU Interpretation
clean 14.738 3.684,50 1,000 Entspricht der synthetischen Referenz
green_tag 15.538 3.884,50 0,949 Fügt 800 Hintergrundpixel hinzu
green_tag_roi 14.738 3.684,50 1,000 Schließt das Etikett in diesem Layout aus
dim 7.428 1.857,00 0,504 Verpasst fast die Hälfte, ohne die Form zu ändern
dim_lower_v 14.738 3.684,50 1,000 V-Minimum 40 gewinnt diesen dunklen Bereich zurück
wrong_scale 14.738 5.305,68 1,000 Korrekte Maske, 44 % größere Umrechnung
clipped 13.016 3.254,00 1,000 Entspricht der Referenz im Bildausschnitt, aber nicht dem gesamten Objekt

Der feste green_tag_roi beginnt bei (50,20), mit Breite 230 und Höhe 190 Pixel. Er wurde gewählt, um dieses synthetische Etikett zu vermeiden, nicht als kulturunabhängiger Auswahlbereich. Wachstum über den ROI hinaus würde echte Zielpixel ausschließen.

Das Senken des V-Minimums ist keine universelle Lösung. Es gewinnt hier das dunkle Ziel zurück, kann aber in realen Szenen dunklen grünen Hintergrund zulassen. Stimmen Sie Schwellenwerte nicht auf die Antworten für jedes Bild ab und melden Sie Genauigkeit nicht nur für dieselben Bilder.

Bewerten Sie Fläche und Ort getrennt

Für Vorhersage P und Referenz G misst die Schnittmenge über die Vereinigung (IoU) die räumliche Überlappung:

IoU=\frac{|P\cap G|}{|P\cup G|}

Gleiche Anzahlen von zusätzlichen und verpassten Pixeln erzeugen trotz falscher Orte einen Flächenfehler von null. Eine Referenz [0,1,1,0] und eine Vorhersage [1,1,0,0] enthalten je zwei ausgewählte Pixel, aber ihre IoU beträgt 1/3.

Die Ausgaben umfassen auch Präzision, den korrekten Anteil ausgewählter Pixel, und Recall, den wiedergewonnenen Anteil der Referenzpixel. mask_area_error_percent ist der Pixelanzahl-Fehler gegenüber der Referenz, kein physischer Fehler durch Maßstabskalibrierung. Er bleibt bei wrong_scale null. Undefinierte Verhältnisse, einschließlich der IoU zweier leerer Masken, sind JSON null statt einer angenommenen perfekten Bewertung.

touches_frame markiert ausgewählte Pixel, die einen Bildrand berühren. Es ist wahr für clipped. Es erkennt nicht jedes unvollständige Objekt: Die Segmentierung könnte die Randpixel verpassen, oder ein interner ROI könnte einen Teil des Ziels entfernen. Untersuchen Sie Bild und ROI auch, wenn das Flag falsch ist.

Herunterladen und reproduzieren

Laden Sie das vollständige ZIP, den Python-Quellcode, die erwarteten Ergebnisse, die README und das Manifest herunter. Das ZIP enthält Eingaben, Referenzen, extrahierte Masken und Fehlerüberlagerungen, alle aus derselben Quelle regenerierbar.

Getestete Umgebung: Linux x86_64, Python 3.12.3, NumPy 1.26.4 und OpenCV 4.6.0. Die Abhängigkeitsversionen sind für die Reproduktion fixiert, keine Zertifizierung anderer Betriebssysteme oder Python-Versionen.

Führen Sie nach dem Entpacken des ZIP Folgendes aus:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python experiment.py --self-test
.venv/bin/python experiment.py --verify expected.json --out reproduced

Ersetzen Sie unter Windows .venv/bin/python durch .venv\Scripts\python.exe. Das Ausgabeverzeichnis darf nicht existieren; bestehende Ausgaben werden nicht überschrieben. Ergebnis-JSON und die PNG-Dateien jeder Bedingung werden gespeichert. Baseline-Ausgaben sind unter samples/ enthalten.

Ändern Sie das V-Minimum mit:

.venv/bin/python experiment.py --min-v 40 --out lower-v

Nur dim_lower_v verwendet immer 40; andere Bedingungen verwenden den angegebenen Wert. Geänderte Ergebnisse schlagen den Vergleich mit der Baseline expected.json absichtlich fehl. Erwarten Sie nicht, dass die Baseline-Verifikation nach Änderung des Experiments besteht.

Sieben Tests decken ein bekanntes Rechteck, Masken mit gleicher Fläche an unterschiedlichem Ort, leere Masken, Beziehungen zwischen sieben Fällen, ungültige Eingaben, geänderte erwartete Ergebnisse und ROI-Auslassungen ab. Der ursprüngliche Download verfügt über keine Funktion zur Aufnahme echter Fotos; der Browser-Adapter ist oben verfügbar.

Bewerten Sie an gemessenen Pflanzen, bevor Sie biologische Aussagen treffen

Das Folgende ist eine vorgeschlagene nächste Bewertungsstufe, keine von diesem synthetischen Beispiel geleistete Arbeit.

  1. Bewahren Sie Pflanzen-IDs, Daten, Beleuchtung, Kamerageometrie und Originalbilder auf.
  2. Definieren Sie die Zielzugehörigkeit, einschließlich ob Stängel oder seneszente Blätter zählen, und erstellen Sie menschliche Referenzmasken.
  3. Trennen Sie Bilder zur Schwellenwertentwicklung von Bewertungsbildern. Ziehen Sie Aufteilungen nach Pflanze oder Erfassungsdatum in Betracht, statt lediglich benachbarte Videobilder zu trennen.
  4. Melden Sie Fehler nach Beleuchtung, Hintergrund, Überlappung und Beschneidung und bewahren Sie Flächenmetriken, IoU und Fehlerüberlagerungen auf.
  5. Sammeln Sie zur Schätzung der tatsächlichen Blattfläche oder Trockenmasse entsprechende unabhängige Referenzmessungen und validieren Sie diese Zuordnung als separates Modell.

Zeitreihenänderungen der projizierten Fläche können durch Haltung oder Überlappung entstehen. Das Erzeugen einer Bildmetrik begründet keine Wachstumsrate oder Stress. Machen Sie die Beobachtung zunächst reproduzierbar und verwenden Sie dann Referenzdaten, um zu testen, was sie repräsentiert.

CEA-Wurzelzone – Trennung von EC, pH, Sauerstoff und Wasserbilanz

Wenn der Wasserstand sinkt, was sollte ersetzt werden?

Eine Nährlösung sinkt von 100 L auf 90 L. Diese Beobachtung allein kann nicht zwischen Verdunstung, pflanzlicher Wasseraufnahme, Leckage oder Drainage unterscheiden. Sie begründet auch keine Nährstoffaufnahme. Die Wiederherstellung des Volumens und die Wiederherstellung der Nährstoffzusammensetzung sind getrennte Entscheidungen.

Im Anschluss an den Leitfaden zur Lichtumgebung untersucht dieser Artikel die Wurzelumgebung. Er führt ein rezirkulierendes Lösungssystem ein; es ist kein Kulturrezept oder eine automatische Dosierimplementierung. Alle numerischen Beispiele sind synthetisch.

Die Wurzelzone ist der Bereich, in dem Wurzeln Wasser, Nährstoffe und Gase mit ihrer Umgebung austauschen. Ein Reservoirmesswert ist nützlich, muss aber nicht die Wurzeloberfläche, das Ende eines Kanals oder das Innere eines Substrats beschreiben.

Halten Sie fünf Messungen getrennt

Messung Bedeutung und Einheiten Was sie allein nicht begründet
EC Elektrische Leitfähigkeit, z. B. mS/cm Einzelne Nitrat-, Kalium- oder Calciumkonzentrationen
pH Logarithmische Größe bezogen auf die Wasserstoffionen-Aktivität Zur Erreichung eines Ziel-pH-Werts erforderliche Säure oder Base
Gelöster Sauerstoff (DO) mg/L oder Prozent Sättigung Sauerstoffzufuhrrate zur Wurzeloberfläche
Wassertemperatur °C am Messort Lufttemperatur oder die gesamte Wurzeltemperaturverteilung
Volumen und Durchfluss z. B. L und L/min Aufnahme einzelner Nährstoffe

Dies ist eine Tabelle zur Messplanung. Akzeptable Bedingungen hängen von Kultur, Wachstumsstadium und Produktionssystem ab.

EC kann die Zusammensetzung nicht rekonstruieren

1 mS/cm = 1.000 µS/cm = 1 dS/m. Erfassen Sie Einheiten. Die Leitfähigkeit ändert sich auch mit der Flüssigkeitstemperatur: Bewahren Sie gemessene Temperatur, Kompensationseinstellungen und Referenztemperatur auf und unterscheiden Sie kompensierte von unkompensierten Messwerten.

EC offenbart keine einzelnen Salzkonzentrationen, wie im Leitfaden zu Wassertests der Oklahoma State University erklärt. Ein einzelner Messwert kann die Verarmung eines Nährstoffs nicht von der Anreicherung eines anderen Ions unterscheiden.

Eine von EC abgeleitete „ppm“-Anzeige ist ebenfalls keine Messung einzelner Nährstoffe. Erfassen Sie deren Umrechnungsfaktor und unterscheiden Sie ihn von einem Laborkonzentrationsergebnis. Verwenden Sie Quellwasser- und Lösungsanalysen, wenn die Zusammensetzung benötigt wird.

Der Nährstoffmanagement-Leitfaden der OSU identifiziert Quellwassertests, Salzkonzentration, pH, Alkalität und Nährstoffverhältnisse als relevant. Unsere betriebliche Schlussfolgerung ist, eine Rückkehr zum EC-Sollwert nicht als Beweis dafür zu behandeln, dass die ursprüngliche Formulierung wiederhergestellt wurde.

Erfassen Sie pH und Alkalität getrennt

pH beschreibt die aktuelle Säure- oder Basizität. Da er logarithmisch ist, ergibt ein volumengewichteter Durchschnitt zweier pH-Messwerte im Allgemeinen nicht den pH-Wert der gemischten Lösung. USGS: pH and Water

Alkalität misst die säureneutralisierende Kapazität. Zwei Gewässer mit demselben anfänglichen pH-Wert können bei unterschiedlicher Alkalität unterschiedlich auf dieselbe Säurezugabe reagieren. USGS: Alkalinity and Water

Eine Regel, die stets dieselbe Dosis für einen pH-Fehler von 0,5 Einheiten hinzufügt, verwechselt diese Größen. Um eine Intervention zu bewerten, erfassen Sie Quellwasser, Reservoirvolumen, Substanz und zugesetzte Menge sowie den Messzeitpunkt nach dem Mischen. Die untenstehende Wasserbilanz kann die erforderliche Dosis nicht berechnen.

Sauerstoff benötigt einen Zufuhrweg

Die Gleichgewichts-Sauerstofflöslichkeit hängt von Wassertemperatur, atmosphärischem Druck und Salzgehalt ab. USGS DOTABLES berechnet die Löslichkeit anhand dieser Bedingungen. Bei gleichem Druck und Salzgehalt hält wärmeres Wasser im Gleichgewicht im Allgemeinen weniger gelösten Sauerstoff. Prüfen Sie die Umrechnungsbedingungen beim Vergleich von mg/L und Prozent Sättigung.

Wurzeln benötigen Sauerstoff für die Atmung. Cornells Leitfaden zu hydroponischem Blattgemüse behandelt die Sauerstoffversorgung der Wurzeln und die Wassertemperatur. Ein scheinbar ausreichender DO-Messwert im Reservoir begründet nicht dieselben Bedingungen im Inneren einer dichten Wurzelmasse. Erfassen Sie Zirkulation, Belüftung und Probenahmeort, einschließlich Unterschieden zwischen Einlass und Auslass des Anbaukanals.

Diagram 2 · Use the button to switch views
Conceptual recirculating system with external inputs and losses, internal circulation, and separate reservoir and root-zone observations.

Für eine Grenze, die das gesamte System umschließt, ist die interne Zirkulation keine externe Wasserzufuhr. Das Diagramm impliziert keine vollständige Mischung oder gleichmäßigen Sauerstoff.

Bei einem Substrat spielen auch Wasserrückhalt und Luftwege eine Rolle. DO im Reservoir allein begründet keine Substratbelüftung. Wenden Sie die untenstehende Berechnung für ein einzelnes Flüssigkeitskompartiment nicht direkt auf das Innere eines Substrats an.

Halten Sie Wasser- und Gelöststoffkonten getrennt

Wählen Sie eine Grenze, die das gesamte rezirkulierende System umschließt, einschließlich Reservoir, Rohre und Anbaukanäle. Über ein Intervall seien externe Zugaben V_{in}, Flüssigkeitsaustrag V_{out} und Verdunstung plus an Pflanzen übertragenes Wasser V_w, alle in L.

V_1=V_0+V_{in}-V_{out}-V_w

Fügen Sie interne Pumpenzirkulation nicht als Nachspeisewasser hinzu. Eine Grenze nur um das Reservoir würde stattdessen deren ausgehende und zurückkehrende Ströme explizit zählen.

Für einen erfassten Gelöststoff ist die Masse M [mg] und die Konzentration C=M/V [mg/L]:

M_1=M_0+M_{in}-M_{out}-U-R

U ist die Übertragung zu den Pflanzen; R ist die Nettoentfernung aus der flüssigen Phase, etwa durch Ausfällung. Entfernung aus der Flüssigkeit bedeutet nicht Zerstörung von Materie. Der Flüssigkeitsaustrag transportiert sowohl Wasser als auch Gelöststoff, anders als die Verdunstung. Verwenden Sie für kontinuierlichen Austrag M_{out}=\int C_{out}(t)Q_{out}(t)dt, um sich ändernde Konzentration zu berücksichtigen.

Das folgende ursprüngliche Rechenbeispiel prüft diese Buchhaltung. Es ist keine gemessene pflanzliche Aufnahmerate, kein Düngerrezept und keine EC-Vorhersage. Beginnen Sie mit 100 L, die 10.000 mg einer Komponente enthalten: 100 mg/L. Nehmen Sie keine Zugaben oder Ausfällung an.

Synthetischer Fall Endvolumen Endgültige Gelöststoffmasse Endkonzentration
A: Verlust von 10 L Wasser; Gelöststoff bleibt 90 L 10.000 mg 111,11 mg/L
B: Übertragung von 10 L Wasser und 2.000 mg an Pflanzen 90 L 8.000 mg 88,89 mg/L
C: Austrag von 10 L gleichmäßiger Lösung 90 L 9.000 mg 100,00 mg/L

Dieselbe Volumenabnahme kann mit steigender, fallender oder unveränderter Konzentration einhergehen. Das Hinzufügen von 10 L Wasser ohne den erfassten Gelöststoff stellt A auf 100 mg/L wieder her, aber B erreicht nur 80 mg/L. Die Wiederherstellung des Volumens stellt nicht die Gelöststoffmasse wieder her.

Reproduzieren Sie den Vergleich in Python

Speichern Sie das Folgende als root_zone.py und führen Sie python3 root_zone.py aus. Es wird nur Pythons Standardbibliothek benötigt.

from math import isfinite


def concentration(volume_l, mass_mg):
    if not (isfinite(volume_l) and isfinite(mass_mg)):
        raise ValueError("finite values required")
    if volume_l <= 0 or mass_mg < 0:
        raise ValueError("positive volume and nonnegative mass required")
    return mass_mg / volume_l


initial_v, initial_m = 100.0, 10000.0
initial_c = concentration(initial_v, initial_m)
cases = {
    "A": (initial_v - 10, initial_m),
    "B": (initial_v - 10, initial_m - 2000),
    "C": (initial_v - 10, initial_m - 10 * initial_c),
}
for name, (volume, mass) in cases.items():
    print(f"{name}: {concentration(volume, mass):.2f} mg/L")
print(f"B + water: {concentration(cases['B'][0] + 10, cases['B'][1]):.2f} mg/L")

Die Ausgaben sind 111.11, 88.89, 100.00 und 80.00 mg/L. Ändern Sie die Entfernung von 2.000 mg in B auf 1.000 mg: Nach dem Volumenverlust wird die Konzentration 100 mg/L. Aufnahme kann auch dann auftreten, wenn die Konzentration unverändert bleibt. Nullvolumen und negative verbleibende Masse lösen Fehler aus.

Dieser Code berechnet weder EC, pH noch DO. Korrekte Buchhaltung für eine Komponente validiert kein mehrkomponentiges chemisches Gleichgewicht oder Kulturverhalten.

Entscheiden Sie, was als Nächstes zu beobachten ist

Dies sind vorgeschlagene Beobachtungskombinationen, keine automatischen Dosierregeln.

Beobachtung Nächste Prüfungen
EC steigt, während das Volumen sinkt Nachspeisungs- und Austragshistorie, Flüssigkeitstemperatur und Kompensation, Wasser- und Lösungszusammensetzung
EC ist stabil, während sich der Pflanzenzustand ändert Einzelne Komponenten, DO und Temperatur der Wurzelzone, Durchfluss, Licht- und Lufthistorie
pH ändert sich nach der Justierung erneut Misch- und Messzeiten, Alkalität des Quellwassers, Zugabehistorie
Reservoir- und Auslass-DO unterscheiden sich Synchronisierte Messwerte, Sensorzustand, Zirkulation, Belüftung und Wurzelverteilung

Verknüpfen Sie Zeit, Ort, Einheiten und Kalibrierung mit Wasservolumen, Nachspeisung, Austrag und Zugaben. Detaillierte Sensorplatzierung, individuelles Nährstoffmanagement und Dosierregelung sind spätere Schritte. Die Grundlage hier besteht darin, eine beobachtete Konzentration von der im System verbleibenden Masse zu unterscheiden.

What to read next

Überprüfen Sie durch Abtastung verlorene Änderungen.Sampling und Aliasing: Warum schnelleres Polling nicht ausreichtReview the backgroundCEA-Klimasteuerung – Temperatur, Feuchtigkeit, Sensoren, Reaktion und KopplungContinue the seriesCEA-Nährstoffdosierung — Tankbilanzierung, Pumpenkalibrierung und Zustandssteuerung