Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
ZENODO
Dataset . 2026
Data sources: ZENODO
ZENODO
Dataset . 2026
Data sources: Datacite
ZENODO
Dataset . 2026
Data sources: Datacite
versions View all 2 versions
addClaim

NAIP-CHM: A 0.6-meter resolution canopy height model for the contiguous United States

Authors: Morford, Scott;

NAIP-CHM: A 0.6-meter resolution canopy height model for the contiguous United States

Abstract

Overview This repository contains the source code, trained model weights, model validation data, training metadata, and inference tools for NAIP-CHM, a project that generates a 0.6-meter resolution canopy height model (CHM) for the contiguous United States using National Agriculture Imagery Program (NAIP) aerial imagery. This repository supports the published version of the model based on weights dated 2025-10-16. This codebase constitutes the version of record associated with the paper: A 0.6-meter resolution canopy height model for the contiguous United States. Now pubished in Scientific Data The repository provides: Inference Pipeline: Tools to generate canopy height models from NAIP DOQQs using a pre-trained U-Net model. Training Code: Scripts to train the model on new data, including distributed training support. Pre-trained Model: The final model weights used to generate the CONUS-wide dataset. Conditioning Data: Static environmental raster data required for model inference. Model Validation Data: Validation metrics and tile-level statistics at 0.6m and 1.0m resolutions, plus an evaluation script for custom datasets. The development repository for this project can be found at https://github.com/smorf-ntsg/naip-chm. To investigate the model output, see the Google Earth Engine App or download the data from our servers. Installation This codebase requires Python 3.11+. Ensure you have the repository files extracted to your local machine. Install the required dependencies: pip install -r requirements.txt Data Access 1. Training Dataset The training dataset is not included in this repository due to its size. It contains over 22 million image pairs.You can download the training data from the University of Montana Rangeland server: URL: http://rangeland.ntsg.umt.edu/data/rap/chm-naip/ See data/training_dataset/README for more details. 2. Inference Assets This repository includes the necessary assets to run inference: Pre-trained Model Weights: Located at model/model_20251016.pt Static Conditioning Rasters: Located in data/conditioning_data/ (includes elevation, climate, soil, NLCD, and ecoregion data). 3. Model Validation Data Validation data for the trained model is provided in the `model_validation_data/` directory. The model has been evaluated at both standard resolutions: 0.6m Resolution: Native model resolution with tile-level statistics in `tilestats_06m.csv` 1.0m Resolution: Resampled predictions with tile-level statistics in `tilestats_10m.csv` Evaluation Report: Comprehensive performance summary The scripts/evaluate_model.py script can be used to generate validation results and performance metrics for custom evaluation datasets. Usage Running Inference You can run the model on a standard NAIP DOQQ (Digital Ortho Quarter Quad) using the scripts/inference.py script. A sample NAIP image is provided in data/naip_doqqs/. Example Command: python scripts/inference.py \ --naip-quad data/naip_doqqs/m_3812259_nw_10_060_20220519.tif \ --output-dir output/ \ --model-checkpoint model/model_20251016.pt \ --config configs/config.yaml \ --static-rasters-dir data/conditioning_data/ Arguments: --naip-quad: Path to the input 4-band NAIP imagery (R, G, B, NIR). --output-dir: Directory where the output CHM GeoTIFF and report will be saved. --model-checkpoint: Path to the trained model weights. --config: Path to the configuration YAML file. --static-rasters-dir: Directory containing the environmental conditioning rasters. --chip-size: (Optional) Processing chip size (default: 432). --chip-overlap: (Optional) Overlap between chips (default: 0.2). Training the Model To train the model from scratch or fine-tune it, use the scripts/train.py script. Ensure you have downloaded the training dataset and updated the configs/config.yaml file to point to the correct data paths. Command: python scripts/train.py \ --config configs/config.yaml \ --experiment_name my_experiment Distributed Training: The script supports Distributed Data Parallel (DDP) training. To run on multiple GPUs (e.g., 2 GPUs): torchrun --nproc_per_node=2 scripts/train.py \ --config configs/config.yaml \ --experiment_name my_ddp_experiment Citation If you use this dataset or code in your research, please cite the following manuscript: Morford, S. L., Allred, B. W., Coons, S. P., Marcozzi, A. A., McCord, S. E., Smith, J.T., & Naugle, D. E. 2026. A 0.6-meter resolution canopy height model for the contiguous United States. Sci Data doi: https://doi.org/10.1038/s41597-026-07549-w

Related Organizations
  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average