Skip to content

CanopyRS

A pipeline for processing high-resolution geospatial orthomosaics to detect, segment, and classify trees across various forest biomes.

CanopyRS banner

What is CanopyRS?

CanopyRS takes high-resolution aerial imagery and runs it through a modular component pipeline to produce per-tree detections, segmentations, and classifications. It supports state-of-the-art model architectures spanning both CNNs (Faster R-CNN, Mask R-CNN, RetinaNet) and transformers (DINO, Mask2Former, SAM 2, SAM 3). The pipeline is configurable via YAML, and ships with pre-trained models and preset configurations for common use cases.

How it works

A CanopyRS pipeline is a sequence of components, each responsible for one step:

  1. Tilerizer — splits a large orthomosaic into overlapping tiles
  2. Detector — runs object detection on each tile
  3. Segmenter — runs object segmentation on each tile or refines detections into instance segmentation masks (SAM models)
  4. Aggregator — merges overlapping detections across tiles using NMS to obtain raster-level predictions
  5. Classifier — classifies each detected tree

The pipeline handles all I/O, state management, and background tasks. Components only implement their core logic.

Getting started

User guide

  • Components — understand each pipeline stage
  • Configuration — configure pipelines via YAML
  • Presets — pre-built configurations for common scenarios
  • Data — download datasets for training and benchmarking
  • Evaluation — NMS parameter search and benchmarking
  • Training — train your own detector models

API reference