Terug naar de projecten

Aardbeiengroei Monitoren

Een computer-visionpipeline die aardbeiplanten in opeenvolgende 3D-scans uit een kas volgt en hun groei in de loop van de tijd meet.

OnderzoeksprojectComputer VisionPythonSAM 2 (Opent in een nieuw tabblad)Open3D
Dicht bladerdek van aardbeiplanten onder een cameraframe in een kas

Hoe meet je groei zonder de plant aan te raken?

De kasproef begon met een eenvoudige vraag: heeft een constante luchtstroom invloed op de groei van aardbeiplanten? Om daarachter te komen, moest de ontwikkeling van de planten in de loop van de tijd worden vergeleken, zonder ze steeds met de hand te meten of te verstoren.

Twee 3D-camera’s boven de planten legden tijdens de proef kleurbeelden, dieptegegevens en puntenwolken vast. De uitdaging was om die scans om te zetten in bruikbare metingen: dezelfde plant in opeenvolgende scans herkennen, in 3D isoleren en vaststellen hoe de vorm veranderde.

Rijen jonge aardbeiplanten op twee tafels in een kas, met een cameraframe erboven
De twee tafels in de kas onder de 3D-camera’s.

Van camerascan naar plantmetingen

  1. De omgeving vastleggen. Twee Photoneo-camera’s boven de tafels legden kleurbeelden, dieptegegevens en geordende 3D-puntenwolken vast voor zowel de tafel met luchtstroom als de controletafel.
  2. Eén plant vinden en volgen. In de eerste scan werd de doelplant interactief gemarkeerd met SAM 2 (Opent in een nieuw tabblad). Een paar positieve en negatieve punten waren genoeg om de plant te isoleren. Vervolgens gebruikte SAM 2 (Opent in een nieuw tabblad) dat masker om de plant in latere scans te blijven volgen. De tracking werd gecontroleerd zodra de maskeroverlap onder 0,90 daalde of uiterlijk na twintig frames. Als het masker door groei of overlap verschoof, werd het gecorrigeerd.
  3. Van 2D naar 3D. Elke pixel in het camerabeeld kwam rechtstreeks overeen met een punt in de geordende 3D-scan. Daardoor kon het 2D-masker van SAM 2 (Opent in een nieuw tabblad) direct op de puntenwolk worden geprojecteerd, zodat alleen de geometrie van de gevolgde plant overbleef.
  4. Verandering meten. Nadat de plant in 3D was geïsoleerd, werden de planthoogte, het zichtbare bladoppervlak en de bladhoek in de opeenvolgende scans met geometrische methoden geschat.
Drie weergaven van één scan van een aardbeiplant: het camerabeeld in grijstinten, een wit plantmasker en het groene masker over de doelplant
De workflow begint in 2D: het camerabeeld, het plantmasker en een weergave van de gevolgde plant.

Bladeren door de tijd volgen

Nadat de doelplant was geïsoleerd, kon dezelfde aanpak worden toegepast op afzonderlijke bladeren. Zichtbare bladeren werden apart gesegmenteerd en kregen elk een eigen ID, zodat hetzelfde blad van scan tot scan kon worden gevolgd.

Naarmate het bladerdek dichter werd, gingen bladeren elkaar overlappen, raakten ze uit beeld en veranderden ze van vorm. Daardoor was tracking op bladniveau aanzienlijk lastiger dan het volgen van de plant als geheel. Af en toe waren handmatige correcties nodig om te zorgen dat elk ID bij hetzelfde blad bleef horen.

De doelplant gevolgd in opeenvolgende scans.
Afzonderlijke bladeren behouden in elke scan dezelfde kleur en hetzelfde ID.

Van puntenwolk naar metingen

Zodra de plant in 3D was geïsoleerd, kon de puntenwolk worden vertaald naar metingen die in de loop van de tijd met elkaar konden worden vergeleken.

De planthoogte werd gemeten ten opzichte van een referentievlak dat voor iedere tafel in de kas werd bepaald. In plaats van het hoogste punt, dat makkelijk sensorruis kon zijn, gebruikte de pipeline het 99e percentiel van de afstanden tussen de plantpunten en de tafel.

Op bladniveau werd een vlak door de bladpunten gelegd om de bladhoek te schatten. De opgeschoonde puntenwolken werden getrianguleerd om het zichtbare bladoppervlak te schatten. De uitkomsten werden gebruikt als relatieve metingen, niet als exacte fysieke afmetingen: het ging erom vast te leggen hoe de plant tussen de scans veranderde.

Twee grafieken naast elkaar met een getrianguleerde bladcontour en het gereconstrueerde groene 3D-oppervlak
Een puntenwolk van een blad, getrianguleerd om het zichtbare oppervlak te schatten.

Wat de proof of concept liet zien

  • Een werkende 2D-naar-3D-pipeline kon opeenvolgende camerascans omzetten in plantgeometrie en groeimetingen die in de loop van de tijd te volgen waren.
  • SAM 2 (Opent in een nieuw tabblad) kon dezelfde plant in opeenvolgende scans blijven volgen, met periodieke handmatige controles om drift in de tracking te corrigeren.
  • Hoogte, zichtbaar bladoppervlak en bladhoek konden in de loop van de tijd worden gevolgd, al waren de waarden bruikbaarder voor relatieve veranderingen dan als exacte fysieke metingen.
  • De kwaliteit van de metingen werd al bij de opname bepaald: de camerapositie, occlusie en naburige planten bepaalden hoeveel bruikbare geometrie later beschikbaar was.

Waar de opstelling tekortschoot

Het monitoringsysteem werd pas toegevoegd toen de luchtstroomproef al liep. Daardoor waren de inrichting van de kas en de cameraopstelling niet vanaf het begin ontworpen voor metingen met computer vision.

Een enkel bovenaanzicht bracht de bovenkant van het bladerdek goed in beeld, maar lagere bladeren en zijwaarts gerichte plantdelen bleven vaak verborgen. Naarmate naburige planten groter werden, lagen hun bladeren bovendien steeds vaker over die van de doelplant heen. De belangrijkste les was dat de opnameopstelling en de analyse samen moeten worden ontworpen. Een volgende opstelling zou daarom werken met meer kijkhoeken, grotere afstanden tussen planten en automatische controles bij elke scan.