Interpine’s TreeTools VirtualPlot Forest Inventory tool has been developed for foresters to assess stocking in silvicultural operations during forest management. By using a drone, virtual plots can be created onsite and offline in the forest to help with decision making. This is an early beta test version release for Windows operating systems.
The purpose of the release is to give stakeholders an opportunity to test and provide feedback, while encouraging them to submit more data. The accuracy of the stocking assessment given depends on multiple factors, including effectiveness of canopy recognition and the precision of drone altitude maintenance.
Our goal is to keep the stocking error below 10% under normal conditions, and user corrections can easily be made to the stocking assessment. The following provides an overview for data capture and a guide to using the software.
This project has been developed with funding assistance from the Precision Silviculture Programme, A Sustainable Food and Fibre Futures (SFFF) partnership between MPI and the forest industry led by Forest Growers Research. This is freely available during the development funding to provide for industry feedback.
Drone Support
Currently supported drones / drone sensors:
- DJI Phantom 4 Pro
- DJI Mavic 2
- DJI Mavic 3 Enterprise
- DJI L1 LiDAR – RGB Sensor
If you have a specific drone or camera sensor you would like supported, please reach out to the team.
What’s New
The latest software release notes and feature availability is shown below.
Version | Release Notes |
---|---|
2.02 (20/01/25) | Update calibration parameters for DJI L1 LiDAR – RGB Sensor. |
2.01 (19/12/24) | Improve the interface to make it more user-friendly. Added video processing function and stream processing function. Both video process and stream process need to choose drone type first. The video process is designed so that you can figure it out how to use it at a glance. Click “Save” button to save the current result and click “Exit” to terminate the process and a Summary.csv will be generated. For real-time stream process, before clicking “GetIP” button your computer and your drone’s controller need to be in a same Local Area Network (LAN). The practical way of doing this is to turn on your phone’s hotspot and connect both your computer and your drone’s controller to the hotspot. It doesn’t need your phone has to catch signal in field. After connecting successfully, click “GetIP” button and the RTMP address will be printed on the right-side console window. Then type it to your drone controller and start streaming. The video stream will be pushed to your computer. Select the correct drone type and click “Video Stream Go” button. You should see the real-time inference result comes up. Fly your drone to look around. Click “Save” button to save the current result at any time and click “Exit” to terminate the process and a Summary.csv will be generated. |
1.04 (6/12/24) | Updated the post-thinning model. Added a function of using DTM to obtain flight height smartly and more precisely. Now the DTM method only supports DJI Mavic 3 Enterprise and DJI L1 RGB Sensor. The best DTM should be 1m tiles, and the coordinate system has to be WGS84 + EGM96 Height (EPSG:9707). |
1.03 (15/11/24) | Added a new column ‘PlotsToReach10PctPLE‘ in ‘Summary.csv’ to suggest how many plots are needed to reach 10% PLE. |
1.02 (11/11/24) | Added a KMZ output, where all output results can be easily opened in Google Earth Pro. |
1.01 (5/11/24) | Initial beta release for testing and development purposes. Currently supported drones are the DJI Phantom 4 Pro, Mavic 2, Mavic 3 Enterprise. |
Capturing Data with Your Own Drone
The following guidelines will help you in capturing data using your drone for use with TreeTools VirtualPlot.
- Images taken by a drone for the TreeTools stocking assessment must have a gimbal pitch angle of 90 degrees (facing directly down).
- Terrain Awareness is also required so that the drone can maintain a constant height above ground during the flight.
- Please follow the quick card below for data collection. It should be noted that, aside from Terrain Awareness, which must be enabled, all other options can be adjusted as needed. Preferred flight height is 100-120m AGL (above ground level). The line spacing is more of a suggestion, and there is no need for any image overlap, and it relates more to the intensity of coverage and plots you would like across the stand.
Video Tutorial
A quick start video to get you up and running using the image processing workflow.
Get Started
Download, Open and Activate License
Request to download the software using our contact form. After downloading the software, simply double-click to use. The software does not require any installation and can be run directly from the application file downloaded.
The following GUI will appear. You will notice a 2-month license will initially be provided for testing and evaluation.
If your license expires, contact our team and get a renewal code which can be entered in the Help > License Renewal menu.
Set Initial Parameters
Initial parameters allow you to define the analysis project.
Parameter | Description / Use |
---|---|
Project / Entity | A reference for your own use. This is output in the final data and can be used to link the data back to a client name, project, forest-compartment-stand for example. e.g. MATA-101-3 |
DataRef / JobRef | A reference for your own use. This is output in the final data and can be used to link the data back to a specific job, contractor, operator for example. Useful to make this the Job Number from GeoMaster is using the inventory import function. e.g. J10234 |
Assumed AGL (m) | Flight height above the ground (AGL) in meters. This should be set to the altitude used for the terrain following AGL used during flight operations. Can be approximate if also planning to analyze using a DTM (digital terrain model) as the DTM will be used to further refine the analysis when made available. e.g. 120 |
Model Select | This is the AI model which will be used to detect the trees. e.g. Post-Thinning |
Tree Height est (m) | The average tree height roughly estimated for the target area in meters. This is used to approximate the distance from the drone to the treetops based on the assumed AGL. Therefore, the plot area is calculated at the treetops rather than ground level, as the detection algorithm considers the treetops are the inclusion/exclusion criteria for stocking counts. Typically, just an estimate +/- 5m would be fine. e.g. 10 |
Selecting the AI Tree Detection Model
When deciding to select the appropriate AI model it is worth considering the data in which it has been trained on. Part of the development of tree tools is the extension of models available for end users. If you have data you can contribute to train the models for specific species and operation types, just reach out to us.
Model Name | Model Description |
---|---|
Post-thinning | Species: Radiata pine. Ages: 5-10 years. This model has mostly been trained for use for post waste thinning silviculture operations, but can also be used successfully for pre-thinning assessment in these age ranges. It may not perform well in preassessment when the forest has reached full canopy closure. |
Early Age Assessment | Species: Radiata pine. Age 4 years. This model has been developed for early age assessment for pre-pruning and thinning silviculture scheduling. |
Select a Data Input Type (Image, Video, Video Streaming)
Select one of 3 types of workflows for different input data sources.
Image
Analyse a Folder of JPEG Images
- Post processed imagery downloaded from drone.
- Select one or more folders.
- Each image becomes a virtual plot.
Video
Analyse a Video
- Post processing a video file downloaded from drone.
- Select a video file to process.
- Each frame of the video can be extracted as a virtual plot.
Stream
Live Video Streaming and Analysis.
- Fly and get immediate results live while in the air.
- Requires the drone and analysis computer to be on the same network (e.g. local Wi-Fi hotspot)
Images Processing Workflow
Image processing is often the easiest and best method to get good results. This will take a folder/s of images and analyze them, creating a virtual plot for each of the JPEG files located in the folder. TIP: consider cleaning up the folder prior to analysis, removing any images which are not relevant to your area of interest.
Selecting the images process button on the interface will expose a few extra parameters.
Parameter | Description / Use |
---|---|
DTM Upload (Optional) | Select a DTM to refine the AGL (m) and get higher precision results. This will only be used currently for the Mavic Enterprise drones or sensors. The DTM needs to be in WGS84 + EGM96 (EPSG:9707) projection. |
Delete DTM | Delete the currently loaded DTM. |
Select a Folder of Images | Select the folder of images to be processed. All subfolders of images in the folder will also be processed if present. |
Go | Start processing |
Exit | Stop current processing. |
Image Download and Select Folder/s of Images to be Processed
Once you have downloaded the images using an SD card from your drone. Click “Select a Folder of Images” button, then select the folder containing the target data.
Image Processing to Virtual Forest Inventory Plots
Using the Go button you can start the processing. The images in the folder, including those in the subfolders, will be processed one by one and shown on the screen. The stocking is represented as “TreesPerHectare”, together with a TreeCount. You will see each image pop up with the detection and stocking estimates as it is processed.
You can stop the processing at any stage using the Exit button. Once you processing is complete, check out the results
Video Processing Workflow
You can fly the drone, just collecting a video file and use this for extracting virtual plots. This is not as precise as using images but is a useful way to get quick results over specific areas.
Select the Video Process button on the interface will expose a few extra parameters.
Parameter | Description / Use |
---|---|
Select a Video File | Select a video file for analysis |
Drone Select | Select the type of drone you have. This ensure the correct camera sensor settings are selected. Unlike the image processing, this type of information is not available to TreeTools via the video streaming so must be set manually by selecting the drone type. Contact us if your drone type is not available. |
Go | Start the video analysis. The results will be shown in the pop-up window. |
Save | Save a plot result as output. You can select when a plot will be extracted and analyzed from the current view. |
Exit | Stop current processing of video. |
Video Navigation Timeline Select | Use the timeline to select specific parts of the video, by skipping forward or backward to select section of video for analysis. |
Streaming Video Live Analysis Workflow
Streaming the analysis live from the drone while in flight, provides a way for real-time results. A result will be shown approximately every 3 seconds during flight (when AGL and gimbal settings suitable). It is recommended this only be done when there if more than 1 person onsite. It is important the drone pilot is not distracted from their task of operating the drone safely. This works in a similar way to video processing where results will not be as precise as image processing option, and the output will not include the GPS location of each plot as this is not available as part of the live stream video feed from the drone.
Selecting the Stream Process button on the interface will expose a few extra parameters.
Parameter | Description / Use |
---|---|
Drone Select | Select the type of drone you have. This ensure the correct camera sensor settings are selected. Unlike the image processing, this type of information is not available to TreeTools via the video streaming so must be set manually by selecting the drone type. Contact us if your drone type is not available. |
Get IP | Selecting this provides the RTMP address of the device for input into the drone application. This will be displayed in the log window to the right. Goto your drone application, and select Video Streaming output. You can select RTMP Server and type in / copy the URL provided and select Start Streaming on the drone app. |
Video Stream Go | Start the video streaming analysis. |
The drone tablet / controller and your analysis computer needs to be on the same WiFi network for this to work. The practical way of doing this is to turn on your phone’s hotspot and connect both your computer and your drone’s controller to the hotspot. This does not require mobile reception / internet reception in the field, just the WiFi hotspot connecting the two devices.
Results and Outputs
After the processing is complete, the following outputs and reporting is provided.
Output | Description |
---|---|
Results.csv | Virtual plot listed for each image processed or selected for output. Includes attributes for each plot including tree count, stocking, and a range of input and analysis parameters. A full list of data types is available below. |
Summary.csv | Contains the averages and statistical analysis for the folders/s processed. Includes statistics such as PLE (95% CI over the mean as a %), and an estimate of plots required to achieve 10% PLE. A full list of data types is available below. |
Output.kmz | The KMZ file can be opened in Google Earth Pro to view the images in their spatial location. |
<image>_result.jpg | In the source folder a output of each virtual plot is provided with the suffix “_result”. |
The output images for every submitted image can be double-checked manually to correct the stocking information. For example, if you find a missing tree in the yellow plot circle, then add a “TreeFreq” to the “TreesPerHectare” number for a correction to the stocking. On the other hand, if you find an area that is mistakenly marked as a tree but isn’t one, then subtract a “TreeFreq” from the “TreesPerHectare” number.
File Format: Results.CSV
Field Name | Description |
---|---|
TreeToolsVersion | Software version release. |
Entity | Parameter Input: custom field input by user. |
JobRef | Parameter Input: custom field input by user. |
PhotoPath | Directory path of the input image. |
DateTime | Date and time of the image taken. |
Latitude | Latitude location of the plot center (degrees). |
Longtitude | Longitude location of the plot center (degrees). |
TreePerHectare | Tree count * TreeFreq representing tree per hectare. Trees per hectare is not the same as stems per hectare. Under NZ standard mensuration conventions, a tree with two stems below breast height will contribute twice as many stems as trees to the plot level per hectare estimate. |
TreeCount | Tree count within the bounded plot area. A tree is considered to count towards the stocking if the tree crown is at least 50% within with the plot boundary. This is calculated by the center point of the detection square as represented on the virtual plot image. |
SampleArea | Bounded plot size (hectares). |
Radius | Radius of the bounded plot (meters). |
TreeFreq | The number of trees per hectare represented by this tree. The frequency is calculated as 1/(plot area) and all trees have the same frequency. |
FoV | Camera field of view applied for the sensor type. |
Resolution | Pixel image resolution of the input image processed. |
Pitch | Camera gimbal angle (degrees). |
ASL | Altitude above sea level (meters). |
AGL | Altitude above ground level (meters). |
AGLSource | AGL source (default = parameter value of assumed AGL, DTM=digital terrain model input file). |
TreeHeight | Parameter input: approx crop tree height (meters). |
Orientation | Drone heading (degrees). |
File Format: Summary.CSV
Field Name | Description |
---|---|
TreeToolsVersion | Software version release. |
Entity | Parameter Input: custom field input by user. |
JobRef | Parameter Input: custom field input by user. |
TotalImagesProcessed | Total images / virtual plots used to create the summary. |
AverageTreeCount | Average tree count within the bounded plot area for each image processed. A tree is considered to count towards the stocking if the tree crown is at least 50% within with the plot boundary. This is calculated by the center point of the detection square as represented on the virtual plot image. |
AverageTreesPerHectare | Average of the Tree count * TreeFreq representing tree per hectare for each image processed. Trees per hectare is not the same as stems per hectare. Under NZ standard mensuration conventions, a tree with two stems below breast height will contribute twice as many stems as trees to the plot level per hectare estimate. |
TPH_SD | Trees per hectare standard deviation |
TPH_CI95 | Trees per hectare 95% confidence interval. |
TPH_PLE | Trees per hectare probable limit of error %. This being the 95% confidence interval divided by average trees per hectare represented as a %. |
PlotsToReach10PctPLE | Estimated additional images / virtual plots required to reach a PLE of 10%. Will show zero where PLE is already below 10%. |
Importing Results to ArcGIS Pro
Importing Results to ArcGIS Pro. Use the “XY Table to Point” layer option to import the results.csv file for display in ArcGIS.
Importing Results to GeoMaster
Import into GeoMaster using the Inventory Import function from the Tools menu. Select the relevant Job Number field to link the inventory results to during the import.
Further Support
For support use our contact form to reach out. Thanks for using TreeTools VirtualPlot. Follow us for more detail on our product page.