Model Zoo
This page lists every model supported by CanopyRS, grouped by pipeline stage.
If you just want a ready-made configuration, see Presets.
If you want to build a custom pipeline, use the tables below to pick models for each stage and reference them in your pipeline.yaml.
All checkpoints are downloaded automatically the first time a model is used.
Detectors
Detectors produce bounding boxes around individual trees.
| Config file | Architecture | Training data | Checkpoint | Config |
|---|---|---|---|---|
detectors/dino_swinL_multi_NQOS.yaml |
DINO + Swin‑L 384 | Multi-resolution, multi-dataset (NeonTrees, QuebecTrees, OAM-TCD, SelvaBox) | HuggingFace (CanopyRS) | YAML |
detectors/dino_swinL_multi_NQOS_selvamask_FT.yaml |
DINO + Swin‑L 384 | Multi-resolution, multi-dataset (NeonTrees, QuebecTrees, OAM-TCD, SelvaBox), fine-tuned on SelvaMask | HuggingFace (CanopyRS) | YAML |
detectors/dino_r50_single_S.yaml |
DINO + ResNet‑50 | SelvaBox (single resolution, 6 cm/px) | HuggingFace (CanopyRS) | YAML |
detectors/fasterrcnn_r50_single_S.yaml |
Faster R‑CNN + ResNet‑50 | SelvaBox (single resolution, 10 cm/px) | HuggingFace (CanopyRS) | YAML |
External models
These detectors come from third-party projects. CanopyRS wraps them so they can be used as pipeline components.
| Config file | Architecture | Project | Training data | Checkpoint | Config |
|---|---|---|---|---|---|
detectors/deepforest.yaml |
RetinaNet + ResNet‑50 | DeepForest | NeonTrees | DeepForest | YAML |
Segmenters
Segmenters produce per-tree instance masks. They can be prompted (fed bounding boxes from a detector) or unprompted (run directly on tiles).
Prompted segmenters
These models take bounding boxes as input and produce a mask for each box. Chain them after a detector.
| Config file | Architecture | Training data | Checkpoint | Config |
|---|---|---|---|---|
segmenters/sam2_L.yaml |
SAM 2 Large | SA-1B (foundation model) | Meta | YAML |
segmenters/sam3_multi_selvamask_FT.yaml |
SAM 3 | SA-1B, fine-tuned on SelvaMask | HuggingFace (CanopyRS) | YAML |
Note: SAM 3 requires a Hugging Face access request from Meta before first use. See Installation — SAM 3 access request for details.
Unprompted segmenters
These models perform end-to-end instance segmentation without requiring bounding box prompts.
| Config file | Architecture | Training data | Checkpoint | Config |
|---|---|---|---|---|
segmenters/mask2former_swinL_multi_selvamask.yaml |
Mask2Former + Swin‑L | SelvaMask | HuggingFace (CanopyRS) | YAML |
segmenters/maskrcnn_r50_multi_selvamask.yaml |
Mask R‑CNN + ResNet‑50 | SelvaMask | HuggingFace (CanopyRS) | YAML |
External models
These segmenters come from third-party projects. CanopyRS wraps them so they can be used as pipeline components.
| Config file | Architecture | Project | Training data | Checkpoint | Config |
|---|---|---|---|---|---|
segmenters/detectree2_flexi.yaml |
Mask R‑CNN + ResNet‑101 | Detectree2 | Detectree2 + urban data | Zenodo | YAML |
segmenters/detectree2_randresizefull.yaml |
Mask R‑CNN + ResNet‑101 | Detectree2 | Detectree2 | Zenodo | YAML |
Using a model in a custom pipeline
To use any model listed above, reference its config in your pipeline.yaml:
Detector:
- detector: detectors/dino_swinL_multi_NQOS.yaml
Segmenter:
- segmenter: segmenters/sam2_L.yaml
See Configuration for the full list of parameters you can override.