DeepForest

Python Package for Tree Crown Detection in Airborne RGB imagery.
https://github.com/weecology/DeepForest

Category: Biosphere
Sub Category: Forest Remote Sensing

Keywords from Contributors

environmental-monitoring opencv ecology

Last synced: about 18 hours ago
JSON representation

Repository metadata

Python Package for Airborne RGB machine learning

README.md

DeepForest

Github Actions
Documentation Status
Version
DOI

Conda-forge build status

Name Downloads Version Platforms
Conda Recipe Conda Downloads Conda Version Conda Platforms


What is DeepForest?

DeepForest is a python package for training and predicting ecological objects in airborne imagery. DeepForest currently comes with a tree crown object detection model and a bird detection model. Both are single class modules that can be extended to species classification based on new data. Users can extend these models by annotating and training custom models.

Documentation

DeepForest is documented on readthedocs

How does deepforest work?

DeepForest uses deep learning object detection networks to predict bounding boxes corresponding to individual trees in RGB imagery.
DeepForest is built on the object detection module from the torchvision package and designed to make training models for detection simpler.

For more about the motivation behind DeepForest, see some recent talks we have given on computer vision for ecology and practical applications to machine learning in environmental monitoring.

Where can I get help, learn from others, and report bugs?

Given the enormous array of forest types and image acquisition environments, it is unlikely that your image will be perfectly predicted by a prebuilt model. Below are some tips and some general guidelines to improve predictions.

Get suggestions on how to improve a model by using the discussion board. Please be aware that only feature requests or bug reports should be posted on the issues page.

Developer Guidelines

We welcome pull requests for any issue or extension of the models. Please follow the developers guide.

License

Free software: MIT license

Why DeepForest?

Remote sensing can transform the speed, scale, and cost of biodiversity and forestry surveys. Data acquisition currently outpaces the ability to identify individual organisms in high-resolution imagery. Individual crown delineation has been a long-standing challenge in remote sensing, and available algorithms produce mixed results. DeepForest is the first open-source implementation of a deep learning model for crown detection. Deep learning has made enormous strides in a range of computer vision tasks but requires significant amounts of training data. By including a trained model, we hope to simplify the process of retraining deep learning models for a range of forests, sensors, and spatial resolutions.

Citation

Weinstein, B.G.; Marconi, S.; Bohlman, S.; Zare, A.; White, E. Individual Tree-Crown Detection in RGB Imagery Using Semi-Supervised Deep Learning Neural Networks.
Remote Sens. 2019, 11, 1309


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 11 days ago

Total Commits: 960
Total Committers: 36
Avg Commits per committer: 26.667
Development Distribution Score (DDS): 0.586

Commits in past year: 193
Committers in past year: 21
Avg Commits per committer in past year: 9.19
Development Distribution Score (DDS) in past year: 0.663

Name Email Commits
Ben Weinstein b****n@B****l 397
bw4sz b****0@g****m 233
henrykironde h****e@g****m 109
Ethan White e****n@w****g 85
Josh Veitch-Michaelis j****s@g****m 34
Om Doiphode o****1@g****m 22
Mu-Magdy m****5@g****m 15
Dingyi Fang d****9@c****u 11
Abhishek-Dimri a****5@g****m 7
Samia Haque Tisha s****5@g****m 6
Nakshatra 1****2 5
Rhydham 1****h 4
Cas Perl e****n@g****m 2
Copilot 1****t 2
Dwaipayan Munshi 5****5 2
Dylan Kershaw d****w@m****m 2
Karwot 3****t 2
Satyam Sinha s****4@g****m 2
Keerthi Reddy 1****i 2
Abhishek-kumar0503 a****2@g****m 2
slurpinpuffs s****x@g****m 1
pre-commit-ci[bot] 6****] 1
elliot e****l@g****m 1
davidnyberg d****5@g****m 1
cbudac-fwig 8****g 1
Rushiraj Gadhvi g****j@g****m 1
RohitP2005 1****5 1
Pedro Cuenca p****o@h****o 1
Nikolai Poliarnyi P****9@g****m 1
Karan veer k****2@g****m 1
and 6 more...

Committer domains:


Issue and Pull Request metadata

Last synced: about 18 hours ago

Total issues: 561
Total pull requests: 791
Average time to close issues: 3 months
Average time to close pull requests: 13 days
Total issue authors: 136
Total pull request authors: 52
Average comments per issue: 2.39
Average comments per pull request: 1.72
Merged pull request: 498
Bot issues: 0
Bot pull requests: 8

Past year issues: 102
Past year pull requests: 307
Past year average time to close issues: 16 days
Past year average time to close pull requests: 5 days
Past year issue authors: 18
Past year pull request authors: 22
Past year average comments per issue: 1.19
Past year average comments per pull request: 2.43
Past year merged pull request: 174
Past year bot issues: 0
Past year bot pull requests: 1

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/weecology/DeepForest

Top Issue Authors

  • bw4sz (259)
  • ethanwhite (56)
  • Smart133594 (14)
  • henrykironde (11)
  • Mu-Magdy (8)
  • easz (7)
  • naxatra2 (6)
  • EdwardHiscoke (6)
  • gislain22 (5)
  • NickHarnau (5)
  • aguirrejuan (4)
  • TSAI-ChengEn (4)
  • landkwon94 (4)
  • jyo94 (4)
  • PravinM83 (4)

Top Pull Request Authors

  • bw4sz (230)
  • henrykironde (164)
  • ethanwhite (96)
  • Mu-Magdy (36)
  • jveitchmichaelis (35)
  • Om-Doiphode (33)
  • naxatra2 (22)
  • Abhishek-Dimri (20)
  • Samia35-2973 (15)
  • rhydham-nith (12)
  • reddykkeerthi (12)
  • Abhishek-kumar0503 (7)
  • malayjoshi13 (7)
  • Copilot (7)
  • dependabot[bot] (7)

Top Issue Labels

  • good first issue (57)
  • API (25)
  • Docs (19)
  • question (18)
  • Performance (15)
  • enhancement (15)
  • Ideas for Machine Learning! (15)
  • bug (13)
  • dependencies (10)
  • installation (10)
  • Feature Request (10)
  • Machine Learning (7)
  • stale (7)
  • help wanted (6)
  • Awaiting author contribution (5)
  • wontfix (5)
  • tensorflow (4)
  • Google Summer of Code (2)
  • image (1)
  • duplicate (1)
  • To be documented (1)
  • demo (1)

Top Pull Request Labels

  • dependencies (10)
  • API (8)
  • Awaiting author contribution (6)
  • bug (3)
  • invalid (2)
  • test&review (1)
  • Google Summer of Code (1)
  • Feature Request (1)
  • Ideas for Machine Learning! (1)
  • To be documented (1)

Package metadata

pypi.org: deepforest

Platform for individual detection from airborne remote sensing including trees, birds, and livestock. Supports multiple detection models, adding models for species classification, and easy fine tuning to particular ecosystems.

  • Homepage:
  • Documentation: http://deepforest.readthedocs.io/en/latest/
  • Licenses: MIT
  • Latest release: 2.0.0 (published about 2 months ago)
  • Last Synced: 2025-12-22T20:08:42.963Z (3 days ago)
  • Versions: 52
  • Dependent Packages: 0
  • Dependent Repositories: 12
  • Downloads: 6,101 Last month
  • Rankings:
    • Stargazers count: 3.291%
    • Forks count: 4.048%
    • Downloads: 4.115%
    • Dependent repos count: 4.24%
    • Average: 4.601%
    • Dependent packages count: 7.31%
  • Maintainers (3)
proxy.golang.org: github.com/weecology/DeepForest

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/weecology/DeepForest#section-documentation
  • Licenses: mit
  • Latest release: v2.0.0+incompatible (published about 2 months ago)
  • Last Synced: 2025-12-22T20:08:44.186Z (3 days ago)
  • Versions: 110
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.416%
    • Average: 5.598%
    • Dependent repos count: 5.78%
proxy.golang.org: github.com/weecology/deepforest

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/weecology/deepforest#section-documentation
  • Licenses: mit
  • Latest release: v2.0.0+incompatible (published about 2 months ago)
  • Last Synced: 2025-12-22T20:08:44.506Z (3 days ago)
  • Versions: 110
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.416%
    • Average: 5.598%
    • Dependent repos count: 5.78%
conda-forge.org: deepforest

DeepForest is a python package for training and predicting individual tree crowns from airborne RGB imagery. DeepForest comes with a prebuilt model trained on data from the National Ecological Observation Network. Users can extend this model by annotating and training custom models starting from the prebuilt model. DeepForest es un paquete de python para la predicción de coronas de árboles individuales basada en modelos entrenados con imágenes remotas RVA ( RGB, por sus siglas en inglés). DeepForest viene con un modelo entrenado con datos proveídos por la Red Nacional de Observatorios Ecológicos (NEON, por sus siglas en inglés). Los usuarios pueden ampliar este modelo pre-construido por anotación de etiquetas y entrenamiento con datos locales. La documentación de DeepForest está escrita en inglés, sin embargo, agradeceríamos contribuciones con fin de hacerla accesible en otros idiomas.

  • Homepage: https://github.com/weecology/DeepForest
  • Licenses: MIT
  • Latest release: 1.2.1 (published almost 4 years ago)
  • Last Synced: 2025-12-22T20:08:46.358Z (3 days ago)
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 15.019%
    • Stargazers count: 20.15%
    • Average: 30.092%
    • Dependent repos count: 34.025%
    • Dependent packages count: 51.175%

Dependencies

.github/workflows/Conda-app.yml actions
  • actions/checkout v3 composite
  • mamba-org/provision-with-micromamba main composite
dev_requirements.txt pypi
  • albumentations * development
  • bumpversion * development
  • comet_ml * development
  • docutils <0.18 development
  • geopandas * development
  • h5py * development
  • imagecodecs * development
  • matplotlib * development
  • numpy * development
  • numpydoc * development
  • opencv-python * development
  • pandas * development
  • pillow * development
  • pip * development
  • psutil * development
  • pytest * development
  • pytest-profiling * development
  • pytorch_lightning * development
  • pyyaml >=5.1.0 development
  • rasterio * development
  • recommonmark * development
  • rtree * development
  • slidingwindow * development
  • sphinx * development
  • sphinx_markdown_tables * development
  • sphinx_rtd_theme * development
  • torch * development
  • torchvision >=0.13 development
  • tqdm * development
  • twine * development
  • xmltodict * development
docs/requirements.txt pypi
  • sphinx_markdown_tables *
environment.yml pypi
  • albumentations >=1.0.0
  • imagecodecs *
  • sphinx-markdown-tables *
setup.py pypi
  • Pillow >6.2.0
  • albumentations >=1.0.0
  • geopandas *
  • imagecodecs *
  • matplotlib *
  • numpy *
  • opencv-python >=4.5.4
  • pandas *
  • progressbar2 *
  • pytorch_lightning *
  • rasterio *
  • rtree *
  • scipy >1.5
  • six *
  • slidingwindow *
  • torch *
  • torchvision >=0.13
  • tqdm *
  • xmltodict *

Score: 18.95504553485841