Skip to main content

DeepForest

Github Actions pre-commit.ci status codecov Documentation Status Version PyPI - Downloads DOI Python Version Citations

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

If you are a new contributor to DeepForest, welcome and thank you! Here are some suggestions that we hope will make the submission process more smooth:

  • Look out for good first issues. These should be accessible to less experienced developers and will help you get oriented with the code.
  • Check that the functionality you are suggesting doesn't already exist. Perhaps it does, but needs improved documentation.
  • Search for issues or discussions on Github already, before submitting a PR. Do check closed issues as well.
  • If you are submitting a trivial improvement (like a one-line bug fix), feel free to PR directly, following the template.
  • If you want to propose any non-trivial changes without an existing issue please open an issue to discuss the change prior to opening a PR. Non-trivial PR's submitted without an associated issue that includes maintainer approval to proceed with a PR will typically not be considered.

Please follow the developer's guide for more details on contribution.

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

Most usage of DeepForest should cite two papers.

The first is the DeepForest paper, which describes the package:

Weinstein, B.G., Marconi, S., Aubry‐Kientz, M., Vincent, G., Senyondo, H. and White, E.P., 2020. DeepForest: A Python package for RGB deep learning tree crown delineation. Methods in Ecology and Evolution, 11(12), pp.1743-1751. https://doi.org/10.1111/2041-210X.13472

The second is the paper describing the model.

For the tree detection model cite:

Weinstein, B.G.; Marconi, S.; Bohlman, S.; Zare, A.; White, E.P., 2019. Individual Tree-Crown Detection in RGB Imagery Using Semi-Supervised Deep Learning Neural Networks. Remote Sensing 11, 1309 https://doi.org/10.3390/rs11111309

For the bird detection model cite:

Weinstein, B.G., L. Garner, V.R. Saccomanno, A. Steinkraus, A. Ortega, K. Brush, G.M. Yenni, A.E. McKellar, R. Converse, C.D. Lippitt, A. Wegmann, N.D. Holmes, A.J. Edney, T. Hart, M.J. Jessopp, R.H. Clarke, D. Marchowski, H. Senyondo, R. Dotson, E.P. White, P. Frederick, S.K.M. Ernest. 2022. A general deep learning model for bird detection in high‐resolution airborne imagery. Ecological Applications: e2694 https://doi.org/10.1002/eap.2694

Metadata

Release files for deepforest 2.1.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 deepforest 2.1.0
File Size Uploaded
deepforest-2.1.0.tar.gz 20.6 MB Details

Built distribution (wheel)

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

Total release size: 41.3 MB

Release files / deepforest-2.1.0.tar.gz

Download URL deepforest-2.1.0.tar.gz
Size 20.6 MB
Tags Source
SHA-256 checksum
How to use checksums
fa224f3ae3c099876296f3b821de759a3be780162a19d49b42b313e0fc328d45
BLAKE2b-256 checksum
How to use checksums
811e3057d557a92ec20b9e1d2f86f21753614c78cb048b708ee1581b077b2e44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / deepforest-2.1.0-py3-none-any.whl

Download URL deepforest-2.1.0-py3-none-any.whl
Size 20.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8c2798d8e9be7f0004b194fe207b76c1d9fff6e711b3db67b9508dcd5d00ae54
BLAKE2b-256 checksum
How to use checksums
b7a867e66685c81ec070372db546f933312c6d7401f845e200e5d900107ff51e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

2 release files

1.5.2

2 release files

1.5.0

2 release files

1.4.1

1 release file

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.7

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.0

2 release files

0.3.8

22 release files

0.3.7

22 release files

0.3.6

22 release files

0.3.4

23 release files

0.3.3

22 release files

0.3.2

22 release files

0.3.0

22 release files

0.2.7

24 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

3 release files

0.0.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