Which sensor for counting growing plants as you pass by

I am considering a project to count growing plants in a field as you are driving over top of them.

The need is for a farmer to know their final plant population, in a row, of various crops such as corn, soybeans, wheat, tomatoes, etc. Producers make several in season passes through their crops with sprayers/cultivators etc, travelling at 1-1.5 feet per second.

The project would simply output a count (i.e. how many “plants” did I see. The user would input a row width and the system would require a ground speed input but that part I can figure out.

Using a physical sensor such as a whisker switch is not practical as it will be too easily damaged. Using a IR sensor/detector for broken beams would not be practical as it is not possible to have consistent heights/issues of dust etc messing it up.

The sensor would be best mounted on a fixed boom, height would be “stable”, running just above the row of plants being counted.

Options I have considered:

Ultrasonic sensor (distance) measuring the subtle changes in plant height over the top of the row as you pass plant to plant.

A UV type sensor that measures plant colour (i.e. more/less green) to determine plant density (i.e. if sensor sees less colour, would indicate space between plant, that sort of thing)

Any thoughts on the pros/cons of these types of choices or does anyone have a different idea?

I posted a couple of pictures of plants in fields to give you an idea of what I’d be driving through.

Video camera (raspberry PI) and count the green pixels of a scan line. on average this line will increase and decrease for every plant (including weed). As you can correlate this to statistic data (# plants / meter) you can remove false positives

Note the color green changes under the light of the day, time / clouds / rain /misty etc so you might need to use daylight (or reference) illumination e.g. led.

challenging project

In my opinion, the soybean plants are to close each other to count them. I would reccomand the biomass remote sensing from the imagery of Sentinel or Landsat instead.

Your country/state may also have a free satellite access for agriculture reasons. If you are based in the USA, then USGS has free GIS and satellite products you may use.

In the case of wheat, I saw in your image that the rows are at equal distance. So, if you measure the length and divide by the distance you will get the number of rows. And once you know the length of a row and the distance between plants, you can calculate the number of plants.

If I correctly understood your objectives.

IR cameras may work for plants, which have a different temperature than the background.

Indeed visual solutions are probably the way to go - and that would preclude Arduino type hardware, and require much more powerful systems like indeed the RPi.

From your images: the soybean one even as a human I have no idea how many individual plants are in that image without actually touching them and following the plant to the ground. The second one is easier to count, for a human at least, for a computer it would require some serious image recognition (though it's relatively simple due to the high contrast, and the known typical distance between plants).

You may also add a GPS on the machine (either a commercial one or an Arduino-based one) to log the position.

For any color-related sensor you need to "train" it first - to learn what is the wavelength and intensity of the fingerprint of the plants. It might be the case the training field be different for each species.

Another idea is to place benchmarks on the field -such as marked RFID ones.


But in my personal view this is satellite imagery task. The 10 m resolution of Sentinel may suffcice.

What is the accuracy needed for the measurement?

Do you want an exact number like 1.856.674 ? or is e.g 1.800.000 good enough? (3% under actual value)

if a margin is acceptable do you prefer a too low estimate

@WvMarle Probably the orientation of the leaves can tell you a lot about the plants.

in reply to falexandru Canada does not provide access to free GIS products. I do have access to other resources which provide 5M imagery but it is not detailed enough

Sentinel 2 (European Union) offers 10 m resolution in VIS and IR bands (covers Canada as well, as far as I know). Would that be enough? I mean, it depends on the final aim of your project.

You may also access Mapbox which offers more detailed ortophotograms.

In response to robtillaart, accuracy would be as follows: for corn typically planting rates are 28,000 plants per acre to 38,000 plants. Counting in this case to the nearest 1000 would suffice. So, in a typical row their would be 3200 to 4400 plants. I would argue 2-3% would be very good and 5% would be acceptable.

Soybeans - population will vary from 120000 to 220,000 plants per acre. Counting to the nearest 5,000 would be sufficient. So a typical row would have 6800 to 12,500 per row, so a 3-5% accuracy would be acceptable.

Wheat - populations are much higher, accuracy range could be larger.

Tomatoes and vegetable crops have very low populations - I think they would be the easiest to count as there would be actual bare spaces between the plants.

My thinking is that the interface would require the user to input the type of crop so that different calibration settings would be used for each.

If you go to measure the color in order to count, then you will need first the so-called "spectral signature" for each crop. Then it comes to the conclusion that first step is to see whether the sensor you select can do this.

Green is not just green. I a wavelength. So for the Red and Blue.

So in my mind it goes like this: a) pick a sensor (say the IR one, or the light one or whatever you like) b) mount and code it on whatever board you have on hand (Uno, Nano etc.) - use serial monitor on the PC for the beginning c) pick one plant from the field (or maybe two or three to account for variation) d) experiment the sensor, log the values, see what the problems are (is the sensor able to detect, as expected? is the code OK? can the sensor detect the color as you need? at which distance?.

SandFarmer: The sensor would be best mounted on a fixed boom, height would be "stable", running just above the row of plants being counted.

From left field (no pun intended), if you could find a vision system which could filter out the leaves and recognize only the stems - IR, laser, etc.? - maybe you could pair it with pattern matching software which 'knows' what a soybean stem pattern looks like. Wouldn't be cheap.