Satellite Survey of Tree Heights

For part of my career, I supported (in my own small way) NASA’s deployment of Earth observing satellites.  So, I’m always interested in scientific results enabled by satellite imagery and massive computing resources.

This spring, researchers at ETH Zurich report on development of methods to estimate canopy height (i.e. how tall the tallest trees are) from satellite images [2].  This information is an important indicator of the amount of biomass in an area, and extracting it from satellite data means that global changes can be tracked over time [1].

This finding caught my eye because it is actually pretty hard to measure canopy height from images taken from space. Satellites are looking down at the trees, and it’s hard to estimate the height from that angle.   So, how did they do it?

“[E]stimating forest characteristics like canopy height or biomass from optical images is a challenging task …, as the physical relationships between spectral signatures and vertical forest structure are complex and not well understood…”

([2],p. 2)

By now it should be obvious:  when you don’t know exactly how it works, use machine learning!

The researchers trained a deep learning model to analyze terabytes of imagery from ESA’s Copernicus Sentinel-2 satellites, which has 10 m pixels covering the whole planet every 5 days.  The training used data from NASA’s GEDI laser measurement of vegetation height as validation.  The model also used “geographical priors” (i.e., GPS position of the sample) and adjustments to deal with the long tail of low canopy heights (deserts and grasslands are not tall!).  And, having adequate computing resources, they ran many iterations of the model.

The model learned to accurately estimate the height of the canopy in the images, and was applied to data covering the whole planet (not just the spots covered by GEDI or other measures). The dataset was 160 TB, and it took about 3 GPU years to compute (10 days wallclock).  It’s nice to have supercomputers! 

The results are available in an interactive map, Global Canopy Height 2020.

Global Canopy Height 2020. Screen capture from EcoVision Lab, Photogrammetry and Remote Sensing, ETH Zürich

It looks to me like, as usual, it’s not necessarily obvious just how the ML model actually works.  What visual cues reveal the canopy height?  I dunno, and the research report doesn’t say.  So this is a pretty cool result, and probably very useful for research.  But we don’t know how it works.  That’s ML for you. 

The researchers note that this global coverage was enabled by the availability of the GEDI data, which is high quality and covers a broad and varied area of the planet.  Without this reference data, the ML could not be trained.

“Our work demonstrates that, if one has a way of collecting globally well-distributed reference data, modern deep learning can be scaled up and employed for global vegetation analysis from satellite images.”

([2], p.8)

Very nice work.


  1. Stéphanie Hegelbach, Neural network can read tree heights from satellite images, in ETH News & Events, April 20, 2022. https://ethz.ch/en/news-and-events/eth-news/news/2022/04/neural-network-can-read-tree-heights-from-satellite-images.html
  2. Nico Lang, Walter Jetz, Konrad Schindler, and Jan Dirk Wegner, A high-resolution canopy height model of the Earth. arXiv, 2022. https://arxiv.org/abs/2204.08322

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.