Years ago when I needed to estimate tree heights, the method was… fairly basic.
- Tape up a straight stick in 50cm intervals.
- Stand next to the tree with it.
- Measure a distance far enough away from the tree until you can see it and the person holding the stick clearly
- Take a photo.
- Try estimate the height using trig later.
It worked (sort of)… but it wasn’t exactly precise.
Fast forward a few years and drones have changed the game quite a bit. During a recent workflow demo I put together, I showed how a standard drone photogrammetry survey can be used to calculate actual canopy heights. And just to be clear, this isn’t using LiDAR or specialised sensors. It’s done with a normal off-the-shelf RGB drone and standard photogrammetry.
- No ultra-expensive sensors.
- No heavy-lift drones.
- Just good image overlap and solid processing.
The process is surprisingly simple:
First, separate the ground points from vegetation using the Cloth Simulation Filter in CloudCompare.
From that you generate a DTM (ground model). Then subtract that ground surface from the DSM produced by the drone survey. What you end up with is essentially a canopy height model.
From there you can use tools in QGIS (like zonal statistics) to calculate the height of individual trees or vegetation clusters. Suddenly that drone map becomes a measurement tool.
This kind of workflow can be useful for things like:
- monitoring invasive vegetation
- estimating biomass
- mapping vegetation structure
- identifying unusually tall individuals or dense clusters
What I like about it most is that it can all be done with open-source tools like CloudCompare and QGIS, and with standard RGB drone data that many conservation projects are already collecting. No specialised sensors required. Just a drone, some good overlap in the images, and a bit of processing.
I am curious if anyone else here is using photogrammetry-derived canopy height models in conservation projects, and how well they compare with field measurements or LiDAR in your experience?
🎥 Short demo below