Technik · Pipeline v1.0.2 · Fingerprint 422967946cbd
Wie wir Körner zählen
Ein Bildmodell verzählt sich, wenn es tausend Körner auf einmal sieht. Auf einem kleinen Ausschnitt mit einer Handvoll Körnern setzt es dagegen sehr genaue Punkte. Unsere Pipeline zerlegt das Foto deshalb so, dass das Modell immer nur wenige Körner auf einmal zählt, und setzt die Teile danach ohne Doppelzählung wieder zusammen.
Alle Bilder auf dieser Seite stammen aus einem echten Lauf: Holdout-Foto S02-008, Hafer, Galaxy S23, aufgenommen bei der finalen Messung. Nichts ist nachgestellt.
1 Bild laden: aufrecht drehen, RGB
Handys speichern die meisten Fotos quer und schreiben nur einen Vermerk dazu, wie herum das Bild gezeigt werden soll (EXIF-Orientierung). Ein Programm, das den Vermerk ignoriert, rechnet auf einem liegenden Bild, während die App das stehende zeigt. Jeder Punkt säße dann an der falschen Stelle.
exif_transpose. Ab hier arbeiten Rechnung, Labels und Anzeige im selben Koordinatensystem. Die Umwandlung nach RGB vereinheitlicht Farbkanäle (z. B. PNG mit Transparenz).2 Maske: wo ungefähr liegen Körner?
Klassische Bildverarbeitung, nur als Schneidehilfe, nicht als Zähler. Das Bild wird auf 1200 px verkleinert. Die größte helle Fläche ist das Blatt. Ein Black-Hat-Filter findet alles, was dunkler ist als seine Umgebung, unabhängig von Schatten und Helligkeitsverlauf. Ein automatischer Schwellwert (Otsu) macht daraus eine Ja/Nein-Maske.
Warum nicht aufs Blatt beschnitten? Der Blattumriss ist unzuverlässig. Ein verlorenes Korn am Rand wiegt schwerer als eine zusätzliche Kachel mit leerem Hintergrund.
3 Adaptive Kacheln: höchstens ~15 Körner pro Stück
Aus der Blattfläche und der Annahme „ein Korn bedeckt etwa 20 mm²“ ergibt sich die Kornfläche in Pixeln. Damit schätzen wir für jedes Rechteck, wie viele Körner darin liegen. Ein Quadtree teilt jedes Rechteck mit mehr als 15 geschätzten Körnern in vier Teile, bis jedes klein genug ist. Kleiner als 1,2 Kornlängen wird nicht geteilt.
| Körner pro Kachel | Folge |
|---|---|
| ~3 | Viele Aufrufe, teuer und langsam, viele Nähte |
| ~15 | Modell zählt sicher, Kosten pro Foto unter 1 $ |
| ~50 | Modell verzählt sich, wie auf dem ganzen Bild |
4 Kernfeld und Halo
Jede Kachel hat zwei Rechtecke. Das rote Kernfeld legt fest, wem ein Korn gehört. Die Kernfelder aller Kacheln teilen das Foto lückenlos und ohne Überlappung. Darum herum schneiden wir einen Halo von etwa einer Kornlänge mit aus. So sieht das Modell Körner, die über den Rand ragen, ganz und kann ihren Mittelpunkt bestimmen. Das Rechteck wird in voller Auflösung des Fotos geschickt und rot ins Bild gemalt.
5 Bildmodell: ein Punkt pro Korn
Gemini 4 Argon bekommt die Kachel und einen kurzen Auftrag: für jedes ganze Korn, dessen Mittelpunkt im roten Rahmen liegt, einen Punkt; dazu Körner knapp außerhalb bis etwa eine halbe Kornlänge; Bruch und Spreu nicht (ISO 520). Dazu eine Zahl zwischen 0 und 1, wie sicher es ist. Keine Prosa, denn Ausgabe-Tokens kosten mehr als das Bild.
[[412, 233], [455, 610], [702, 118], …] ← Punkte, 0–1000 relativ zur Kachel CONFIDENCE: 0.95
Jede Antwort wird streng geprüft: gültige Zahlen im Bereich, vollständig beendet (kein abgeschnittener Text), Konfidenz zwischen 0 und 1. Sonst bis zu drei Versuche. 16 Kacheln laufen parallel.
6 Naht-Abgleich: kein Korn doppelt
Liegt ein Korn genau auf der Grenze zweier Kernfelder, sehen es beide Kacheln. Fragt man nur das Modell, „drin oder draußen?“, sagen manchmal beide „bei mir“ (doppelt gezählt) oder beide „beim anderen“ (übersehen). Deshalb entscheidet die Geometrie, nicht das Modell:
- Jeder Punkt wird ins Foto zurückgerechnet. Liegt er im eigenen Kernfeld, ist er ein eigener Punkt. Liegt er bis 0,35 Kornlängen außerhalb, ist er ein Randpunkt, nur ein Kandidat.
- Ein Randpunkt und ein Punkt einer anderen Kachel, näher als 0,45 Kornlängen: dasselbe Korn, einmal gezählt.
- Ein Randpunkt ohne Partner fällt weg. Die Kachel, der das Korn gehört, ist zuständig.
- Zwei eigene Punkte aus verschiedenen Kacheln werden nie verschmolzen. Zwei schmale Haferkörner können Seite an Seite über einer Naht liegen.
- Zum Schluss fallen Punkte weg, die praktisch deckungsgleich sind (unter 0,05 Kornlängen). Das Modell wiederholt manchmal eine Koordinate.
Bekannte Schwäche. Setzen beide Kacheln den Mittelpunkt knapp auf ihre eigene Seite, entstehen zwei eigene Punkte, die nach Regel 4 nie verschmelzen: eine Doppelmarke. Im Live-Test mit dem iPad (233 Marken) waren zwei solche Paare zu sehen. Eine feste Schwelle kann Duplikate nicht sicher von echt übereinanderliegenden Körnern trennen. Geplant ist deshalb, nahe Punktpaare in der App als Prüfstelle hervorzuheben, statt sie automatisch zu verschmelzen.
7 Prüfdurchgang: das Modell sieht seine eigenen Marken
Meldet eine Kachel eine Konfidenz unter 0,9, bekommt das Modell sie noch einmal, diesmal mit seinen nummerierten Punkten darauf. Es darf Punkte ergänzen, Nummern entfernen und einen kurzen Kommentar schreiben. Die Kommentare werden in der App zu Prüfstellen, die der Mensch antippen kann.
Grenze. Der Prüfdurchgang findet Flüchtigkeitsfehler: ein Korn ohne Nummer, eine Nummer auf leerem Papier. Ein Korn, das das Modell beim ersten Mal nicht erkennen konnte, etwa halb verdeckt, übersieht es meist auch beim zweiten Mal. Gleiches Modell, gleicher blinder Fleck. „Prüfstellen bestätigt“ heißt deshalb nicht „Zahl richtig“. Ob die Selbsteinschätzung bei 0,9 die richtigen Kacheln auswählt, haben wir noch nicht kalibriert.
8 Ergebnis: Zahl, Punkte, Prüfstellen, Kosten
Am Ende stehen die Zahl, jeder Punkt, die Prüfstellen mit Kommentar, Kosten und Dauer, dazu Version und Fingerprint. Scheitert eine Kachel auch nach drei Versuchen, gibt es keine Zahl, sondern eine Fehlermeldung.
Warum lieber keine Zahl als eine Teilzahl? Fehlen 3 von 100 Kacheln, fehlen rund 3 % der Körner. Die Zahl sieht plausibel aus. Gewicht ÷ zu wenige Körner ergibt ein zu hohes TKG. Der Rechner empfiehlt dann 3 % mehr kg/ha, und auf dem Feld landen zu viele Körner. Der Zählfehler geht 1:1 in die Saatmenge.
Ehrlich
Was die Pipeline nicht kann, und was als Nächstes kommt
| Schwäche | Folge | Plan |
|---|---|---|
| Doppelmarken an Nähten und in Klumpen | Leicht zu hohe Zahl | Nahe Punktpaare als Prüfstelle zeigen; Schwelle aus Label-Abständen kalibrieren, Hafer als kritischer Fall |
| Selbsteinschätzung unkalibriert | Sichere, aber falsche Kacheln werden nie geprüft | Konfidenz gegen den echten Fehler pro Kachel auftragen |
| Nur eine Zahl als Rückmeldung | Wenig Information, warum etwas schwierig ist | Feste Kürzel wie CLUSTER, SEAM, BLUR, die je eine Folge auslösen |
| Verdeckte Körner | Beide Verfahren können dasselbe übersehen | Zweites Verfahren mit anderen blinden Flecken; Körner locker streuen |
| Schwierige Stellen bekommen nur einen zweiten Blick | Kein Zoom, kein Blick über die Naht | Agent mit Werkzeugen nur für markierte Kacheln (zoomen, Nachbarkachel ansehen, Abstand messen) |
Kacheln, Halo und Naht-Abgleich sind Krücken für heutige Modelle. Sie werden mit besseren Modellen kleiner werden. Was bleibt, ist das Messprotokoll: feste Splits, eingefrorene Fingerprints, einmalige Messung. Damit lässt sich jedes neue Modell am ersten Tag ehrlich vergleichen. Messwerte und Regeln: Ergebnisse.