Algorithm Details

Supported Sensors
Visual (RGB)
Supported Resolution
2.5 cm/pixel or less
Other Requirements

- Optimized for V2-V4 Corn crops

- Parallel Rows

- Even spacing between plants and rows

- No overlap between individual crops

Estimated Processing Time
Less than 4 hours
Georeferenced Image, KML, Shapefile


The purpose of the Row Based Plant Counting tool is to provide an estimated count of plants in the field from high resolution drone imagery. To do this users will input- Field boundaries, Four points that delineate two adjacent rows, and Average spacing (in inches) between seeds. With this information each row is ';walked' along using the input plant spacing. At each plant spacing interval along the row, a check is done for the existence of a plant. If successful a new plant point is made. 

The algorithm was developed and tested around young Corn crops in the V2-V4 growth stages. For successful performance of the algorithm rows of crops must be parallel and evenly spaced. No overlap between individual crops should be present. 

Growth stages of corn are defined by the Leaf Collar Method. This determines leaf stage of corn by counting the number of leaves on a plant with visible collars. The collars of a corn crop are a light colored band located at the base of an exposed leaf blade. Under the leaf collar method vegetative stages start at VE (Emergence) and end at VT (Tassel is completely extended). There are many stages between VE and VT that signify the count of leaf/collar on the plant. 

V1- Once the first leaf has emerged and the leaf collar is visible. The first leaf of a corn crop has a rounded end know as the flag leaf. 

V2- Two leaves are fully emerged with collars visible. Plant is 2-4 inches tall. 

V3- Three leaves are fully emerged with collars visible. 

V4- Four leaves are fully emerged with collars visible. Plant typically 8-12 inches tall with growing point remaining below the surface. 


For more information on corn growth stages visit this article-

Running the Algorithm

1. To apply the algorithm navigate to the viewer page for a survey that has completed processing and meets the criteria of the Row Based Plant Counting algorithm. Select the Row Based Plant Counting tool from the Applicable Algorithms. 

2. Outline your area of interest using the built in polygon tool or uploading a shapefile of the plot. This shapefile must be in WGS84 Geographic coordinate system. 

Only a single polygon can be highlighted per Row Based Plant Counting Process. Keep in mind that all the rows within your area of interest must be straight and parallel. Rows with a different orientation angle should be considered as a separate process. 

3. In the next step the user must select the end points of two crop rows that are running parallel to one another. 

4. Finally we will need the approximate spacing in inches between each plant. Typically users will know this figure from the plant spacing used by their planter. 


The Row Based Plant Counting algorithm has three different outputs that are produced- Georeferenced Image, KML, and Shapefile. 

  • Georeferenced Image- This is a Tiff image that is georeferenced using coordinates from the survey. It shows points representing each plant detected throughout the area of interest. Surrounding the plants there is a Green to Red heat map of plants detected by the algorithm. This is designed help you visualize sections of your survey that are lacking plants. 

  • KML- Is the same heat map seen in the Georeferenced Image version of the output but in a different format. This KML Format can be easily opened in Google Earth. 

  • Shapefile- Is one of the most useful output versions available for the Row Based Plant Counting algorithm. It should be opened in a GIS software for full review of the data within. For instructions on opening a shapefile in the free QGIS software see our Making Sense of Your Data article of the knowledge base. Each point in this shapefile represents a plant detected by the algorithm. Within the attribute table of this shapefile you will be able to see the counts of each Row- distinguished by the "row_id" column as well as counts for the field as a whole- distinguished by the "id" column.