Skip to main content

Github Actions Documentation Status Version PyPI - Downloads

Overview

The MillionTrees benchmark is designed to provide open, reproducible, and rigorous evaluation of tree detection algorithms. This repo is the Python package for rapid data sharing and evaluation.

Current status

We have released a beta version of public data, these are datasets that have previously been published and have a DOI. We will followup this release, likely with a 1.0 tag, of the previously unpublished parts of the dataset along with a scientific manuscript.

The current release (v0.22) contains 2,323,333 human-annotated trees across 59,500 images from 51 sources, totaling 355 GB:

Dataset Annotations Images Sources Size
TreeBoxes 947,835 13,220 13 74.75 GB
TreePolygons 456,655 11,129 27 102.06 GB
TreePoints 918,843 35,151 11 178.15 GB
Total 2,323,333 59,500 51 355 GB

Counts above cover human-annotated data only. The release additionally ships 6,864,993 weakly-labeled (machine-generated) annotations on 65,980 images from three unsupervised sources, which the dataloaders exclude by default; pass include_unsupervised=True to opt in. The Size column is the full download, which includes the weakly-labeled imagery.

📊 Current Dataset Status: See our comprehensive Dataset Release Report for up-to-date information on dataset versions, sizes, and download links.

Dataloaders

There are three data loaders based on annotation geometry. TreeBoxes are bounding boxes for individual tree detection. TreePoints are centroids for tree counting and detection, and TreePolygons are for finer crown segmentation.

Why MillionTrees?

There has been a tremendous number of tree crown detection benchmarks, but a lack of progress towards a single algorithm that can be used globally across acquisition sensors, forest type and annotation geometry. Our view is that the hundreds of tree detection algorithms for RGB data published in the last 10 years are all data starved. There are many good models, but they can only be so useful with the small datasets any research team can collect. The result is years of effort in model development, but ultimately a lacking solution for a large audience. The MillionTrees dataset seeks to collect a million annotations across point, polygon and box geometries at a global scale.

The MillionTrees dataset represents where we are as a community. Many datasets are incompletely annotated, and there is varying degrees of annotation accuracy. This is by design, we aim to reflect the real, not idealized, status of tree detection algorithms and applications. By including these data that are normally excluded from benchmarks we can both dramatically increase the diversity of tree presentations and backgrounds, as well as engage the community in solving common computer vision challenges for applied machine learning.

Installation

pip install milliontrees

Hugging Face dataset loading and sharing functionality is included in the main package.

Dev Requirements

To build from the GitHub source and install the required dependencies, follow these instructions:

  1. Clone the GitHub repository:

    git clone https://github.com/weecology/MillionTrees.git
    
  2. Change to the repository directory:

    cd MillionTrees
    
  3. (Recommended) Install the dev tooling and docs dependencies with uv (the dev dependency group is installed by default):

    uv sync --extra docs
    
  4. (Optional) Build distributions:

    python -m build
    

Once the installation is complete, you can use the MillionTrees package in your Python projects.

Datasets

Datasets are documented on ReadTheDocs with sample images overlayed with annotations. https://milliontrees.idtrees.org/en/latest/datasets.html

Leaderboard

See the latest results on the leaderboard. https://milliontrees.idtrees.org/en/latest/leaderboard.html

Citing MillionTrees

Acknowledgements

The design of the MillionTrees benchmark was inspired by the WILDS benchmark, and we are grateful to their work, as well as Sara Beery for suggesting the use of this template.

Metadata

Release files for milliontrees 0.13.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for milliontrees 0.13.0
File Size Uploaded
milliontrees-0.13.0.tar.gz 224.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for milliontrees 0.13.0
File Interpreter ABI Platform
milliontrees-0.13.0-py3-none-any.whl Python 3 none any Details

Total release size: 321.5 kB

Release files / milliontrees-0.13.0.tar.gz

Download URL milliontrees-0.13.0.tar.gz
Size 224.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a1207858c98aacb00ed359100b31ca34a148d15c1a0d73cb56a1c31090066525
BLAKE2b-256 checksum
How to use checksums
e2244b5c5626c8b75ab89e4b9d59ea8bbd68942254749e42289f54c5eaed51a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / milliontrees-0.13.0-py3-none-any.whl

Download URL milliontrees-0.13.0-py3-none-any.whl
Size 97.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1840421047880c0939a4cf7207f2fda6f1e2be35553f2a0d254f486aec90755
BLAKE2b-256 checksum
How to use checksums
5c59b19a547179b25987e2c4fa9f7ceb79900612cd46591ee7469690c5381688
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.13.0 This release

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

1 release file

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page