deepforest

Python Package for Airborne RGB machine learning

https://github.com/weecology/deepforest

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 15 DOI reference(s) in README
  • Academic publication links
    Links to: scholar.google, zenodo.org
  • Committers with academic emails
    2 of 32 committers (6.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Python Package for Airborne RGB machine learning

Basic Info
Statistics
  • Stars: 650
  • Watchers: 17
  • Forks: 217
  • Open Issues: 91
  • Releases: 4
Created almost 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors Zenodo

README.md

DeepForest

Github Actions Documentation Status Version PyPI - Downloads DOI Python Version Citations

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 developer's 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

Most usage of DeepForest should cite two papers.

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

Weinstein, B.G., Marconi, S., AubryKientz, 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 highresolution airborne imagery. Ecological Applications: e2694 https://doi.org/10.1002/eap.2694

Owner

  • Name: Weecology
  • Login: weecology
  • Kind: organization

GitHub Events

Total
  • Create event: 59
  • Commit comment event: 4
  • Issues event: 190
  • Watch event: 135
  • Delete event: 53
  • Member event: 1
  • Issue comment event: 630
  • Push event: 263
  • Pull request review comment event: 128
  • Pull request review event: 289
  • Pull request event: 292
  • Fork event: 43
Last Year
  • Create event: 59
  • Commit comment event: 4
  • Issues event: 190
  • Watch event: 135
  • Delete event: 53
  • Member event: 1
  • Issue comment event: 630
  • Push event: 263
  • Pull request review comment event: 128
  • Pull request review event: 289
  • Pull request event: 292
  • Fork event: 43

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 860
  • Total Committers: 32
  • Avg Commits per committer: 26.875
  • Development Distribution Score (DDS): 0.538
Past Year
  • Commits: 224
  • Committers: 20
  • Avg Commits per committer: 11.2
  • Development Distribution Score (DDS): 0.625
Top Committers
Name Email Commits
Ben Weinstein b****n@B****l 397
bw4sz b****0@g****m 207
henrykironde h****e@g****m 82
Ethan White e****n@w****g 76
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
Dwaipayan Munshi 5****5 2
Karwot 3****t 2
Satyam Sinha s****4@g****m 2
Abhishek-kumar0503 a****2@g****m 2
Josh Veitch-Michaelis j****s@g****m 2
Keerthi Reddy r****i@g****m 2
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
slurpinpuffs s****x@g****m 1
Karan veer k****2@g****m 1
elliot e****l@g****m 1
JSpencerPittman 1****n 1
Hesam Ossanloo (Personal) h****m@o****m 1
Gourav Dey g****6@h****n 1
Dhiraj BM m****3@g****m 1
and 2 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 542
  • Total pull requests: 743
  • Average time to close issues: 3 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 133
  • Total pull request authors: 50
  • Average comments per issue: 2.43
  • Average comments per pull request: 1.64
  • Merged pull requests: 481
  • Bot issues: 0
  • Bot pull requests: 7
Past Year
  • Issues: 117
  • Pull requests: 362
  • Average time to close issues: 23 days
  • Average time to close pull requests: 6 days
  • Issue authors: 18
  • Pull request authors: 24
  • Average comments per issue: 1.09
  • Average comments per pull request: 1.91
  • Merged pull requests: 224
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bw4sz (248)
  • ethanwhite (54)
  • Smart133594 (14)
  • henrykironde (9)
  • Mu-Magdy (8)
  • naxatra2 (7)
  • easz (7)
  • EdwardHiscoke (6)
  • gislain22 (5)
  • NickHarnau (5)
  • jyo94 (4)
  • PravinM83 (4)
  • landkwon94 (4)
  • aguirrejuan (4)
  • TSAI-ChengEn (4)
Pull Request Authors
  • bw4sz (220)
  • henrykironde (150)
  • ethanwhite (92)
  • Mu-Magdy (36)
  • Om-Doiphode (33)
  • naxatra2 (22)
  • jveitchmichaelis (22)
  • Abhishek-Dimri (20)
  • Samia35-2973 (15)
  • rhydham-nith (12)
  • reddykkeerthi (12)
  • dependabot[bot] (7)
  • Abhishek-kumar0503 (7)
  • malayjoshi13 (7)
  • dassaniansh (6)
Top Labels
Issue Labels
good first issue (56) API (23) Docs (18) question (18) Performance (15) enhancement (15) Ideas for Machine Learning! (15) bug (12) installation (10) Feature Request (10) dependencies (9) 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)
Pull Request Labels
dependencies (8) API (6) Awaiting author contribution (6) bug (2) invalid (2) test&review (1) Google Summer of Code (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 4,832 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 12
    (may contain duplicates)
  • Total versions: 278
  • Total maintainers: 3
pypi.org: deepforest

Tree crown prediction using deep learning retinanets

  • Versions: 50
  • Dependent Packages: 0
  • Dependent Repositories: 12
  • Downloads: 4,832 Last month
Rankings
Stargazers count: 3.3%
Forks count: 4.0%
Downloads: 4.1%
Dependent repos count: 4.2%
Average: 4.6%
Dependent packages count: 7.3%
Maintainers (3)
Last synced: 6 months ago
proxy.golang.org: github.com/weecology/DeepForest
  • Versions: 109
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/weecology/deepforest
  • Versions: 109
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
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.

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 15.0%
Stargazers count: 20.1%
Average: 30.1%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago

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 *