diff --git a/docs/conf.py b/docs/conf.py index 412447a5..1b6598c6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -83,6 +83,7 @@ "navbar_center": ["navbar2"], "header_links_before_dropdown": 5, "secondary_sidebar_items": ["page-toc", "searchbox", "edit-this-page", "sourcelink"], + "github_url": "https://github.com/weecology/DeepForest", } html_sidebars: Dict[str, Any] = { "index": [], diff --git a/docs/index.rst b/docs/index.rst index b238e2ec..bb151a32 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,46 +3,20 @@ Welcome to DeepForest! DeepForest is a python package for airborne object detection and classification. -**Tree crown prediction using DeepForest** -.. image:: ../www/OSBS_sample.png - :width: 400 - :alt: Alternative text +|Tree crown prediction using DeepForest| |Bird detection using DeepForest| -**Bird detection using DeepForest** +.. |Tree crown prediction using DeepForest| image:: ../www/OSBS_sample.png + :width: 45% -.. image:: ../www/bird_panel.jpg - :width: 400 - :alt: Alternative text +.. |Bird detection using DeepForest| image:: ../www/bird_panel.jpg + :width: 45% - -Why DeepForest? -=============== - -Observing the abundance and distribution of individual organisms is one of the foundations of ecology. Connecting broad-scale changes in organismal ecology, such as those associated with climate change, shifts in land use, and invasive species require fine-grained data on individuals at wide spatial and temporal extents. - -To capture these data, ecologists are turning to airborne data collection from uncrewed aerial vehicles, piloted aircraft, and earth-facing satellites. Computer vision, a type of image-based artificial intelligence, has become a reliable tool for converting images into ecological information by detecting and classifying ecological objects within airborne imagery. - -There have been many studies demonstrating that, with sufficient labeling, computer vision can yield near-human-level performance for ecological analysis. However, almost all of these studies rely on isolated computer vision models that require extensive technical expertise and human data labeling. -In addition, the speed of innovation in computer vision makes it difficult for even experts to keep up with new innovations. - -To address these challenges, the next phase of ecological computer vision needs to reduce the technical barriers and move towards general models that can be applied across space, time, and taxa. - -DeepForest aims to be **simple**, **customizable**, and **modular**. DeepForest makes an effort to keep unnecessary complexity hidden from the ordinary user by developing straightforward functions like "predict_tile." The majority of machine learning projects actually fail due to poor data and project management, not clever models. DeepForest makes an effort to generate straightforward defaults, utilize already-existing labeling tools and interfaces, and minimize the effect of learning new APIs and code. - -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](https://github.com/weecology/DeepForest/discussions). Please be aware that only feature requests or bug reports should be posted on the issues page. The most helpful thing you can do is leave feedback on DeepForest `issue page`_. No feature or issue, or positive affirmation is too small. Please do it now! - - -`Source code`_ is available on GitHub. +**DeepForest** is a python package for training and predicting ecological objects in airborne imagery. DeepForest comes with prebuilt models for immediate use and fine-tuning by annotating and training custom models on your own data. .. toctree:: - :maxdepth: 2 + :maxdepth: 1 ./introduction/index ./installation_and_setup/index @@ -56,6 +30,8 @@ Get suggestions on how to improve a model by using the [discussion board](https: ./related_work/index +`Source code`_ is available on GitHub. + Indices and tables ================== * :ref:`genindex` diff --git a/docs/introduction/index.rst b/docs/introduction/index.rst index 5e6b44bb..28a1a8db 100644 --- a/docs/introduction/index.rst +++ b/docs/introduction/index.rst @@ -1,10 +1,79 @@ -Introduction -============ +What is DeepForest? +=================== -Welcome to the introduction section. +DeepForest is a python package for training and predicting ecological objects in airborne imagery. DeepForest comes with prebuilt models for immediate use and fine-tuning by annotating and training custom models on your own data. DeepForest models can also be extended to species classification based on new data. DeepForest is designed for: -.. toctree:: - :maxdepth: 2 - :caption: Contents: +1. Applied researchers with limited machine learning experience +2. Applications with limited data that can be supported by prebuilt models +3. Scientists looking for an easy-to-use baseline to compare methods against - landing +DeepForest uses deep learning object detection networks to predict the location of ecological objects in airborne imagery. The design of DeepForest is intended to be simple, modular, and reproducible. + +.. image:: ../../www/image.png + :align: center + +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. + +Airborne Ecology +---------------- + +.. raw:: html + + + +Practical Intro to Computer Vision in Ecology Research +------------------------------------------------------ + +.. raw:: html + + + + + +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 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. The most helpful thing you can do is leave feedback on the DeepForest `issue page`_. No feature, issue, or positive affirmation is too small. Please do it now! + + +Why DeepForest? +--------------- + +Observing the abundance and distribution of individual organisms is one of the foundations of ecology. Connecting broad-scale changes in organismal ecology, such as those associated with climate change, shifts in land use, and invasive species require fine-grained data on individuals at wide spatial and temporal extents. + +To capture these data, ecologists are turning to airborne data collection from uncrewed aerial vehicles, piloted aircraft, and earth-facing satellites. Computer vision, a type of image-based artificial intelligence, has become a reliable tool for converting images into ecological information by detecting and classifying ecological objects within airborne imagery. + +There have been many studies demonstrating that, with sufficient labeling, computer vision can yield near-human-level performance for ecological analysis. However, almost all of these studies rely on isolated computer vision models that require extensive technical expertise and human data labeling. +In addition, the speed of innovation in computer vision makes it difficult for even experts to keep up with new innovations. + +To address these challenges, the next phase of ecological computer vision needs to reduce the technical barriers and move towards general models that can be applied across space, time, and taxa. + +DeepForest aims to be **simple**, **customizable**, and **modular**. DeepForest makes an effort to keep unnecessary complexity hidden from the ordinary user by developing straightforward functions like "predict_tile." The majority of machine learning projects actually fail due to poor data and project management, not clever models. DeepForest makes an effort to generate straightforward defaults, utilize already-existing labeling tools and interfaces, and minimize the effect of learning new APIs and code. + +How can I contribute? +--------------------- + +DeepForest is an open-source python project that depends on user contributions. Users can help by: + +* Making recommendations to the API and workflow. Please open an issue for anything that could help reduce friction and improve user experience. +* Leading implementations of new features. Check out the 'good first issue' tag on the repo and get in touch with the maintainers and tell us about your skills. +* Data contributions! The DeepForest backbone tree and bird models are not perfect. Please consider posting any annotations you make on Zenodo, or sharing them with DeepForest maintainers. Open an `issue `_ and tell us about the RGB data and annotations. For example, we are collecting tree annotations to create an `open-source benchmark `_. Please consider sharing data to make the models stronger and benefit you and other users. + +License +------- + +Free software: `MIT license `_ + +Citation +-------- + +Most usage of DeepForest should cite two papers: + +The first is the DeepForest paper, which describes the python 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 particular model. See `prebuilt` for citations for each model. + +.. _issue page: https://github.com/weecology/DeepForest/issues \ No newline at end of file diff --git a/docs/introduction/landing.md b/docs/introduction/landing.md deleted file mode 100644 index b51e3d1a..00000000 --- a/docs/introduction/landing.md +++ /dev/null @@ -1,49 +0,0 @@ -# What is DeepForest? - -DeepForest is a python package for training and predicting ecological objects in airborne imagery. DeepForest comes with prebuilt models for immediate use and fine-tuning by annotating and training custom models on their own data. Deepforest models can also be extended to species classification based on new data. DeepForest is designed for 1) applied researchers with limited machine learning experience, 2) applications with limited data that can be supported by prebuilt models, 3) scientists looking for a easy to use baseline to compare methods against. DeepForest uses deep learning object detection networks to predict the location of ecological objects in airborne imagery. The design of DeepForest is intended to be simple, modular and reproducible. - -![](../../www/image.png) - -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. - -**Airborne Ecology** - - - -**Practical Intro to Computer Vision in Ecology Research** - -[](https://youtu.be/wRBG74STulc?si=SRMWh6n9VlRU8kff) - -## Where can I get help, learn from others, and report bugs? - -Get suggestions on how to improve a model by using the [discussion board](https://github.com/weecology/DeepForest/discussions). Please be aware that only feature requests or bug reports should be posted on the [issues page](https://github.com/weecology/DeepForest/issues). - - -## Why DeepForest? - -Airborne imagery 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 images. Global models for key ecological classes, such as 'Bird' and 'Tree' will reduce the need to collect large training datasets for each project. Deep learning has made enormous strides in a range of computer vision tasks but requires significant amounts of training data. By including trained models, we hope to simplify the process of retraining deep learning models for a range of backgrounds, sensors, and spatial resolutions. - -## How can I contribute? - -DeepForest is an open-source python project that depends on user contributions. Users can help by - -* Making recommendations to the API and workflow. Please open an issue for anything that could help reduce friction and improve user experience. - -* Leading implementations of new features. Check out the 'good first issue' tag on the repo and get in touch with mantainers and tell us about your skills. - -* Data contributions! The DeepForest backbone tree and bird models are not perfect. Please consider posting any annotations you make on zenodo, or sharing them with DeepForest mantainers. Open an [issue](https://github.com/weecology/DeepForest/issues) and tell us about the RGB data and annotations. For example, we are collecting tree annotations to create an [open-source benchmark](https://milliontrees.idtrees.org/). Please consider sharing data to make the models stronger and benefit you and other users. - -## License - -Free software: [MIT license](https://github.com/weecology/DeepForest/blob/master/LICENSE) - -## Citation - -Most usage of DeepForest should cite two papers: - -The first is the DeepForest paper, which describes the python 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](https://doi.org/10.1111/2041-210X.13472) - -The second is the paper describing the particular model. See (prebuilt models)[prebuilt.md] for citations for each model. - diff --git a/www/bird_panel.jpg b/www/bird_panel.jpg index 4885d2c1..4a1ae944 100644 Binary files a/www/bird_panel.jpg and b/www/bird_panel.jpg differ