An AgriTech company needed labelled crop imagery to train its computer vision models, without waiting for the seasons or labelling every plant by hand. We built AgriSynth, a procedural generator in Unity that grows photorealistic crop scenes from a custom plant-growth model and outputs every frame with pixel-perfect labels.
A generated top-down scene: monocots and dicots among straw on bare soil
Fundedby Innovate UK, the UK’s innovation agency
Any daytraining data on demand, not once a season
The challenge
Computer vision models for agriculture learn from labelled images: crops at different growth stages, across species and conditions. Collecting those photographs in the field is slow and expensive and depends on the season, and labelling every plant in every image by hand takes hours.
Our client, an AgriTech company building computer vision models for precision agriculture, wanted synthetic training data generated on demand instead – realistic field scenes with exact, consistent labels, covering any species at any growth stage, from seedlings to mature plants, across monocots (grasses and cereals) and dicots (broadleaf plants).
Our approach
Rather than use an existing plant-modelling technique such as L-systems, we wrote a custom parametric growth model that builds plant geometry from mathematical parameters – species characteristics, growth stage, leaf shape – instead of pre-built assets. One framework handles both monocots and dicots, from narrow cereal blades to broadleaf structures.
Around the plants, the generator varies the rest of the scene – species mix, plant density, growth stage, soil, lighting, weather and camera angle – and renders each frame together with its labels. It runs inside the client's cloud ML training pipeline, so new batches are generated on demand.
The results
The project was funded by Innovate UK, the UK's innovation agency – a strong validation of both the technical approach and its commercial potential.
The client can generate training data when they need it rather than when the crop is in the field, with every image labelled automatically and consistently – taking the seasonal wait and the manual labelling step out of building their datasets.
Because every scene is built from parameters, a batch covering different species, growth stages, densities or conditions is a change of settings rather than another round of field photography.
Technical highlights
Custom parametric growth model
our own mathematical system, not L-systems, building plant geometry for any species at any growth stage
Monocots and dicots in one framework
from grasses and cereals to broadleaf plants, driven by parameters rather than pre-built assets
Photorealistic rendering
soil textures, plant detail, shadows and lighting tuned to match real top-down field photography
Pixel-perfect labels
instance segmentation masks, bounding boxes, RGBA images and JSON metadata for every frame
Procedural scene variation
species, density, growth stage, soil, lighting, weather and camera angle varied scene by scene
Cloud pipeline integration
batch generation inside the client's ML training infrastructure
A rendered frame beside its segmentation mask, which comes with every frame
Monocot grasses at an early growth stage, generated from parameters rather than pre-built models
Broadleaf dicots, top down, from the same growth engine
Monocots and dicots growing together in one scene
One generated monocot in the Unity editor, and the graph that varies its leaf twist over growth time
Have a project in mind, or want to explore what’s possible? Talk to us.
Hello, I’m Lucy. What would you like to build, or what can I help you with?
Conversations are stored for up to 180 days to follow up on your enquiry. See the privacy policy.
Cookies
We’d like to use cookies to see how the site is used and to measure our advertising. Nothing is set unless you agree. Our own visit counting is cookieless. Cookies policy