tcd

Restor's ML pipeline for tree crown mapping in aerial images

https://github.com/restor-foundation/tcd

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 4 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, zenodo.org
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary

Keywords

conservation ecology forest segmentation tree tree-mapping
Last synced: 6 months ago · JSON representation

Repository

Restor's ML pipeline for tree crown mapping in aerial images

Basic Info
Statistics
  • Stars: 28
  • Watchers: 1
  • Forks: 3
  • Open Issues: 4
  • Releases: 0
Topics
conservation ecology forest segmentation tree tree-mapping
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Restor Foundation Tree Crown Delineation Pipeline

Coverage Status Tests Docker arXiv Documentation

Canopy map predictions over the city of Zurich Tree instance predictions over Zurich using our Mask-RCNN model.

This repository contains a library for performing tree crown detection (TCD) in aerial imagery.

For usage information, please visit: https://restor-foundation.github.io/tcd/

Citation

If you use this pipeline for research or commercial work, we would appreciate that you cite (a) the dataset and (b) the release paper as appropriate. We will update the citation with details of the preprint and/or peer-reviewed manuscript when released.

Dataset

Paper/code

This work has been accepted into NeurIPS 2024 in the Datasets and Benchmarks track. You can read more here.

The proceedings may be found here.

```bibtex @inproceedings{NEURIPS202458efdd77, author = {Veitch-Michaelis, Josh and Cottam, Andrew and Schweizer, Daniella and Broadbent, Eben and Dao, David and Zhang, Ce and Almeyda Zambrano, Angelica and Max, Simeon}, booktitle = {Advances in Neural Information Processing Systems}, editor = {A. Globerson and L. Mackey and D. Belgrave and A. Fan and U. Paquet and J. Tomczak and C. Zhang}, pages = {49749--49767}, publisher = {Curran Associates, Inc.}, title = {OAM-TCD: A globally diverse dataset of high-resolution tree cover maps}, url = {https://proceedings.neurips.cc/paperfiles/paper/2024/file/58efdd77196fa8159062afa0408245da-Paper-DatasetsandBenchmarksTrack.pdf}, volume = {37}, year = {2024}, bdsk-url-1 = {https://proceedings.neurips.cc/paperfiles/paper/2024/file/58efdd77196fa8159062afa0408245da-Paper-DatasetsandBenchmarks_Track.pdf}}

```

Dataset and pre-trained models

The training dataset used for our models is currently hosted on HuggingFace Hub. We also provide the dataset pre-formatted as MS-COCO on Zenodo which can be used for training instance segmentation models out-of-the-box. These datasets can also be reconstructed using the HuggingFace repository.

Canopy map predictions over the city of Zurich

Example predictions using one of our SegFormer-based models to predict canopy coverage over Zurich. Left: RGB image, Swisstopo/SwissIMAGE 10cm (2022), Right: Predictions from restor/tcd-segformer-mit-b5. Base map tiles by Stamen Design, under CC BY 4.0. Data by OpenStreetMap, under ODbL.

The repository supports Mask-RCNN for instance segmentation and a variety of semantic segmentation models - we recommend Segformer as a default, but we also provide trained UNets which are more permissively licensed. Models will be downloaded automatically when you run prediction for the first time, so there's no need to handle checkpoints manually. You can of course fine-tune your own models using the pipeline and provide local paths if you need.

Have a look at our model zoo.

Installation

For complete installation information, have a look at our documentation here.

However, for a quick start we recommend you use Conda:

```bash

Clone the repository

git clone github.com/restor-foundation/tcd

Install and activate the conda environment

conda env create -n tcd -f environment.yml conda activate tcd

Install the pipeline package

pip install -e .[test,docs]

Run unit tests to verify

pytest ```

Docker

We also provide a docker container with dependencies and the library pre-installed:

bash docker pull ghcr.io/restor-foundation/tcd:main

Colab Notebook

For an example of loading our dataset and running a prediction without using the pipeline, have a look at this notebook.

Documentation

For technical information, please see our release paper.

Comprehensive documentation may be found here - we use mkdocs to generate documentation and you can also find it in markdown format in the docs folder in the repository. You can build/serve by running:

bash mkdocs serve

Post-install and testing

Running the test suite is a comprehensive check of the entire pipeline - currently at around 70% code coverage, from the root directory you can run pytest:

bash pytest

We provide a simple test image in the repo that you can use to check if everything is installed correctly.

Single image prediction

We've tried to make using the pipeline and models as simple as possible. Once you've installed the repository, you can run:

bash tcd-predict <model> <path-to-image> <result-folder>

for example:

bash tcd-predict semantic data/5c15321f63d9810007f8b06f_10_00000.tif results_semantic tcd-predict semantic data/5c15321f63d9810007f8b06f_10_00000.tif results_instance

which will run the pipeline on the test image in semantic and instance segmentation modes. The results are saved to the output folders which include: geo-referenced canopy masks, shapefiles with detected trees and canopy regions and overlaid visualisations of the predictions. If you want to change models, just specify the name of the model as on HuggingFace e.g. restor/tcd-segformer-mit-b3.

The tcd-predict and tcd-train scripts are installed as part of the library. However you can also call the scripts directly - they are symlinked in the root of the repository folder, or you can find them in src/tcd-pipeline/scripts.

Screen prediction

We provide a fun demo script which will run a model on a live screen capture. screen_predict.py lives in the tools folder:

python pip install python-opencv mss python tools/screen_predict.py semantic

The script works best on dual monitor setups where you can view the output on one screen and move around on the other, but it will work on smaller screens just fine. You may need to adjust the grab dimensions to suit your hardware, in the script:

python mon = {"left": 0, "top": 0, "width": 1024, "height": 1024}

Tips:

  • The script has no idea about resolution, so you may need to zoom in/out to find the sweet spot. Remember the models are optimised for 0.1 m/px
  • If you pick a region that's outside the bounds of your monitor, the script will probably segfault - so if that happens, double check the region settings above
  • Try browsing the web (for example go on OpenAerialMap and zoom in)

Contributing

We welcome contributions via pull request. Please note that we enforce the use of several pre-commit hooks, namely:

  • Code formatting uses black
  • We use isort to sort imports
  • There is a maximum size for checked in files so the repository doesn't get bloated
  • We clear Jupyter notebooks to avoid bloat and big diffs

If you submit a PR, please ensure that the test suite passes beforehand and if you add new features/functionality, please try to add unit tests.

If you'd like help improve the labels in our dataset, you can take part as a citizen scientist via our Zooniverse campaign.

Troubleshooting

If run into problems using the pipeline, please create an issue providing as much detail as possible - including the script that you're trying to run. The more detail you can provide, the better we can help!

Similarly please don't hesitate to suggest new features that you think would be useful, though we can't guarantee that all feature requests will be possible.

License

This repository is released under the Apache 2.0 license which permits a wide variety of downstream uses.

OAM-TCD Dataset

For license information about the dataset, see the dataset card.

The majority of the dataset is licensed as CC-BY 4.0 with a subset as CC BY-NC 4.0 (train and test) and CC BY-SA 4.0 (test only). These two less permissive image classes consititute around 10% of the dataset.

The dataset DOI is: 10.5281/zenodo.11617167.

Models

Currently our models are released under a CC BY-NC 4.0 license. We are retraining models on only the CC-BY 4.0 imagery so that we can confidently use the same license.

Model usage must be attributed under the terms of the CC-BY license variants.

Mask-RCNN

To train Mask-RCNN (and other instance segmentation models), we use the Detectron2 library from FAIR/Meta which is licensed as Apache 2.0.

Segmentation Models Pytorch (SMP)

UNet model implementations use the SMP library, under the MIT license.

SegFormer

The Segformer architecture from NVIDIA is provided under a research license.

This does not allow commercial use without permission from NVIDIA - see here - but you are free to use these models for research. If you wish to use our models in a commercial setting, we recommend you use the Mask-RCNN/U-Net variants (or train your own models with your preferred architecture).

Acknowledgements

This project is a collaboration between Restor and ETH Zurich, supported by a Google.org AI for Social Good grant: TF2012-096892, AI and ML for advancing the monitoring of Forest Restoration.

Owner

  • Name: restor
  • Login: Restor-Foundation
  • Kind: organization
  • Location: Zürich, Switzerland

An open data platform of ecological insights for the global restoration movement.

GitHub Events

Total
  • Issues event: 9
  • Watch event: 17
  • Issue comment event: 23
  • Push event: 27
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 3
  • Create event: 1
Last Year
  • Issues event: 9
  • Watch event: 17
  • Issue comment event: 23
  • Push event: 27
  • Pull request review event: 1
  • Pull request event: 4
  • Fork event: 3
  • Create event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 505
  • Total Committers: 9
  • Avg Commits per committer: 56.111
  • Development Distribution Score (DDS): 0.145
Past Year
  • Commits: 11
  • Committers: 2
  • Avg Commits per committer: 5.5
  • Development Distribution Score (DDS): 0.091
Top Committers
Name Email Commits
Josh Veitch-Michaelis j****s@g****m 432
Josh Veitch-Michaelis j****h@r****o 44
Jasper j****k@s****h 13
Calvin Zhang c****g@g****m 7
Jasper Dekoninck d****r@p****m 3
earens 4****s 2
Benjamin Dayan b****n@g****m 2
Clemens Mosig c****g@u****e 1
Andrew Cottam a****w@r****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 19
  • Total pull requests: 16
  • Average time to close issues: 5 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 8
  • Total pull request authors: 7
  • Average comments per issue: 2.53
  • Average comments per pull request: 2.38
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 2
  • Average time to close issues: 2 months
  • Average time to close pull requests: 2 months
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 3.43
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jveitchmichaelis (4)
  • calvincbzhang (4)
  • ixsanpe (2)
  • cmosig (2)
  • earens (2)
  • wuhwyy (2)
  • isaaccorley (2)
  • Motzemoere (1)
Pull Request Authors
  • jveitchmichaelis (6)
  • calvincbzhang (3)
  • JasperDekoninck (3)
  • cmosig (2)
  • earens (2)
  • AdrianLuisMueller (1)
  • andrewcottam (1)
Top Labels
Issue Labels
enhancement (2) documentation (1) bug (1)
Pull Request Labels
enhancement (1)

Dependencies

.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action ad44023a93711e3deb337508980b4b5e9bcdc5dc composite
  • docker/login-action f054a8b539a109f9f41c372932f1ae047eff08c9 composite
  • docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
.github/workflows/python-test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
docker/Dockerfile docker
  • pytorch/pytorch 2.3.0-cuda12.1-cudnn8-runtime build
pyproject.toml pypi
requirements.txt pypi
  • albumentations *
  • black *
  • datasets *
  • dotmap *
  • fiona *
  • httpx *
  • huggingface-hub *
  • hydra-core *
  • isort *
  • jsonlines *
  • jupyter *
  • lightning >=2
  • matplotlib *
  • mss *
  • natsort *
  • nb-clean *
  • notebook *
  • numpy *
  • opencv-python-headless *
  • pillow *
  • pre-commit *
  • pycocotools *
  • pydantic *
  • pyshp *
  • python-dotenv *
  • python-liquid *
  • pyyaml *
  • rasterio *
  • rtree *
  • scikit-image *
  • seaborn *
  • segmentation_models_pytorch *
  • shapely *
  • torch >=2
  • torchmetrics >=0.11
  • torchvision *
  • tqdm *
  • transformers *
  • ttach *
  • wandb *
docker/environment.yaml pypi
  • absl-py ==1.2.0
  • accelerate ==0.22.0
  • affine ==2.3.1
  • aiohttp ==3.8.3
  • aiosignal ==1.2.0
  • alabaster ==0.7.13
  • albumentations ==1.3.0
  • antlr4-python3-runtime ==4.9.3
  • appdirs ==1.4.4
  • argcomplete ==2.0.0
  • arrow ==1.2.3
  • astroid ==2.13.2
  • async-timeout ==4.0.2
  • babel ==2.12.1
  • bcrypt ==4.1.1
  • black ==22.3.0
  • blessed ==1.20.0
  • blis ==0.7.9
  • cached-property ==1.5.2
  • cachetools ==5.2.0
  • catalogue ==2.0.8
  • cffi ==1.16.0
  • cfgv ==3.3.1
  • cleanlab ==2.3.0
  • click ==8.1.3
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • cloudpickle ==2.2.0
  • colorama ==0.4.6
  • commonmark ==0.9.1
  • confection ==0.0.4
  • contourpy ==1.0.5
  • coverage ==6.5.0
  • croniter ==1.3.15
  • cryptography ==41.0.7
  • cycler ==0.11.0
  • cymem ==2.0.7
  • darwin-py ==0.8.12
  • darwinpy ==0.0.1
  • datasets ==2.14.4
  • dateutils ==0.6.12
  • deepdiff ==6.3.0
  • deprecation ==2.1.0
  • dill ==0.3.7
  • distlib ==0.3.6
  • docker-pycreds ==0.4.0
  • docstring-parser ==0.15
  • docutils ==0.18.1
  • dotmap ==1.3.30
  • efficientnet-pytorch ==0.7.1
  • einops ==0.4.1
  • elevation ==1.1.3
  • evaluate ==0.4.0
  • exceptiongroup ==1.0.4
  • fairscale ==0.4.12
  • fastai ==2.7.12
  • fastapi ==0.88.0
  • fastcore ==1.5.29
  • fastdownload ==0.0.7
  • fasteners ==0.18
  • fastprogress ==1.0.3
  • ffmpy ==0.3.0
  • filelock ==3.8.0
  • fiona ==1.8.21
  • focal-loss-torch ==0.1.2
  • fonttools ==4.37.4
  • frozenlist ==1.3.1
  • fsspec ==2023.12.1
  • future ==0.18.2
  • fvcore ==0.1.5.post20220512
  • gcsfs ==2022.8.2
  • ghp-import ==2.1.0
  • gitdb ==4.0.9
  • gitpython ==3.1.31
  • google-api-core ==2.10.2
  • google-api-python-client ==2.65.0
  • google-auth ==2.12.0
  • google-auth-httplib2 ==0.1.0
  • google-auth-oauthlib ==0.4.6
  • google-cloud-core ==2.3.2
  • google-cloud-storage ==2.7.0
  • google-crc32c ==1.5.0
  • google-resumable-media ==2.4.1
  • googleapis-common-protos ==1.56.4
  • gradio ==3.12.0
  • griffe ==0.36.1
  • grpcio ==1.49.1
  • h11 ==0.12.0
  • httpcore ==0.15.0
  • httplib2 ==0.21.0
  • httpx ==0.23.1
  • huggingface-hub ==0.19.4
  • humanize ==4.6.0
  • hydra-core ==1.2.0
  • identify ==2.5.6
  • imageio ==2.22.4
  • imagesize ==1.4.1
  • importlib-resources ==5.12.0
  • iniconfig ==1.1.1
  • inquirer ==3.1.3
  • iopath ==0.1.9
  • ipyparallel ==8.6.1
  • isort ==5.10.1
  • itsdangerous ==2.1.2
  • jinja2 ==3.1.2
  • joblib ==1.2.0
  • jsonargparse ==4.20.0
  • kiwisolver ==1.4.4
  • kornia ==0.6.7
  • langcodes ==3.3.0
  • laspy ==2.5.1
  • lazy-object-proxy ==1.9.0
  • liblas ==1.8.1
  • lightly ==1.2.47
  • lightly-utils ==0.0.2
  • lightning ==1.9.5
  • lightning-cloud ==0.5.36
  • lightning-utilities ==0.8.0
  • linkify-it-py ==1.0.3
  • markdown ==3.4.1
  • markdown-it-py ==2.1.0
  • matplotlib ==3.6.2
  • mccabe ==0.7.0
  • mdit-py-plugins ==0.3.3
  • mdurl ==0.1.2
  • mergedeep ==1.3.4
  • mkdocs ==1.5.2
  • mkdocs-autorefs ==0.5.0
  • mkdocs-gen-files ==0.5.0
  • mkdocs-literate-nav ==0.6.0
  • mkdocs-material ==9.2.8
  • mkdocs-material-extensions ==1.1.1
  • mkdocs-section-index ==0.3.6
  • mkdocstrings ==0.23.0
  • mkdocstrings-python ==1.6.2
  • mss ==7.0.1
  • multidict ==6.0.2
  • multiprocess ==0.70.15
  • munch ==2.5.0
  • murmurhash ==1.0.9
  • mypy ==0.991
  • mypy-extensions ==0.4.3
  • natsort ==8.2.0
  • nb-clean ==2.3.0
  • networkx ==2.8.8
  • nodeenv ==1.7.0
  • numexpr ==2.8.5
  • numpy ==1.23.0
  • nvidia-cublas-cu11 ==11.10.3.66
  • nvidia-cuda-nvrtc-cu11 ==11.7.99
  • nvidia-cuda-runtime-cu11 ==11.7.99
  • nvidia-cudnn-cu11 ==8.5.0.96
  • oauthlib ==3.2.1
  • omegaconf ==2.2.3
  • opencv-python ==4.7.0.68
  • ordered-set ==4.1.0
  • orjson ==3.8.6
  • paginate ==0.5.6
  • pandas ==1.5.1
  • paramiko ==3.3.1
  • pathspec ==0.11.2
  • pathtools ==0.1.2
  • pathy ==0.10.1
  • pdal-plugins ==1.2.0
  • pip ==23.2
  • platformdirs ==2.5.2
  • plotly ==5.11.0
  • pluggy ==1.0.0
  • portalocker ==2.5.1
  • pre-commit ==2.20.0
  • preshed ==3.0.8
  • pretrainedmodels ==0.7.4
  • promise ==2.3
  • protobuf ==3.19.6
  • pyarrow ==13.0.0
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pycocotools ==2.0.7
  • pycryptodome ==3.16.0
  • pydantic ==1.10.5
  • pydeprecate ==0.3.2
  • pydocstyle ==6.3.0
  • pydot ==1.4.2
  • pydub ==0.25.1
  • pygments ==2.16.1
  • pyjwt ==2.7.0
  • pylint ==2.15.10
  • pymdown-extensions ==10.3
  • pynacl ==1.5.0
  • pyproj ==3.4.0
  • pytest ==7.2.0
  • pytest-cov ==4.0.0
  • python-decouple ==3.6
  • python-dotenv ==0.21.0
  • python-editor ==1.0.4
  • python-liquid ==1.5.1
  • python-multipart ==0.0.5
  • pytorch-lightning ==2.0.2
  • pywavelets ==1.4.1
  • pyyaml ==6.0
  • pyyaml-env-tag ==0.1
  • qudida ==0.0.4
  • rasterio ==1.3.2
  • readchar ==4.0.5
  • regex ==2023.8.8
  • reportlab ==3.6.12
  • requests ==2.31.0
  • requests-oauthlib ==1.3.1
  • responses ==0.18.0
  • rfc3986 ==1.5.0
  • rich ==13.3.1
  • rsa ==4.9
  • rtree ==1.0.0
  • safetensors ==0.3.1
  • scikit-image ==0.19.3
  • scikit-learn ==1.1.2
  • scipy ==1.9.2
  • seaborn ==0.12.1
  • segmentation-models-pytorch ==0.3.0
  • sentry-sdk ==1.9.10
  • setproctitle ==1.3.2
  • shapely ==1.8.4
  • shortuuid ==1.0.9
  • smart-open ==6.3.0
  • smmap ==5.0.0
  • snowballstemmer ==2.2.0
  • snuggs ==1.4.7
  • spacy ==3.5.2
  • spacy-legacy ==3.0.12
  • spacy-loggers ==1.0.4
  • sphinx ==7.2.5
  • sphinx-rtd-theme ==1.3.0
  • sphinxcontrib-applehelp ==1.0.7
  • sphinxcontrib-devhelp ==1.0.5
  • sphinxcontrib-htmlhelp ==2.0.4
  • sphinxcontrib-jquery ==4.1
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.6
  • sphinxcontrib-serializinghtml ==1.1.9
  • srsly ==2.4.6
  • starlette ==0.22.0
  • starsessions ==1.3.0
  • startinpy ==0.8.0
  • tabulate ==0.9.0
  • tcd-pipeline ==0.1.0
  • tenacity ==8.1.0
  • tensorboard ==2.10.1
  • tensorboard-data-server ==0.6.1
  • tensorboard-plugin-wit ==1.8.1
  • tensorboardx ==2.6
  • termcolor ==2.0.1
  • thinc ==8.1.9
  • threadpoolctl ==3.1.0
  • tifffile ==2022.10.10
  • timm ==0.4.12
  • tokenizers ==0.13.3
  • tomlkit ==0.11.6
  • torch ==1.13.1
  • torchgeo ==0.4.1
  • torchmetrics ==1.0.1
  • torchtext ==0.14.1
  • torchvision ==0.14.1
  • tqdm ==4.64.1
  • transformers ==4.30.2
  • tta ==0.2.1
  • ttach ==0.0.3
  • typer ==0.7.0
  • typeshed-client ==2.2.0
  • uc-micro-py ==1.0.1
  • upolygon ==0.1.8
  • uritemplate ==4.1.1
  • uvicorn ==0.20.0
  • virtualenv ==20.16.5
  • wandb ==0.15.5
  • wasabi ==1.1.1
  • watchdog ==3.0.0
  • websockets ==10.4
  • werkzeug ==2.2.2
  • wrapt ==1.14.1
  • xxhash ==3.3.0
  • yacs ==0.1.8
  • yarl ==1.8.1
environment.yml pypi
  • absl-py ==2.1.0
  • affine ==2.4.0
  • aiohttp ==3.9.5
  • aiosignal ==1.3.1
  • albumentations ==1.4.7
  • annotated-types ==0.7.0
  • antlr4-python3-runtime ==4.9.3
  • anyio ==4.3.0
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.3.0
  • asttokens ==2.4.1
  • async-lru ==2.0.4
  • attrs ==23.2.0
  • babel ==2.15.0
  • beautifulsoup4 ==4.12.3
  • black ==24.4.2
  • bleach ==6.1.0
  • cffi ==1.16.0
  • cfgv ==3.4.0
  • click ==8.1.7
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • cloudpickle ==3.0.0
  • comm ==0.2.2
  • contourpy ==1.2.1
  • coverage ==7.5.1
  • coverage-badge ==1.1.1
  • cycler ==0.12.1
  • datasets ==2.19.1
  • debugpy ==1.8.1
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • dill ==0.3.8
  • distlib ==0.3.8
  • docker-pycreds ==0.4.0
  • dotmap ==1.3.30
  • efficientnet-pytorch ==0.7.1
  • executing ==2.0.1
  • fastjsonschema ==2.19.1
  • fiona ==1.9.6
  • fonttools ==4.52.1
  • fqdn ==1.5.1
  • frozenlist ==1.4.1
  • fsspec ==2024.3.1
  • fvcore ==0.1.5.post20221221
  • gitdb ==4.0.11
  • gitpython ==3.1.43
  • grpcio ==1.64.0
  • h11 ==0.14.0
  • httpcore ==1.0.5
  • httpx ==0.27.0
  • huggingface-hub ==0.23.1
  • hydra-core ==1.3.2
  • identify ==2.5.36
  • imageio ==2.34.1
  • importlib-resources ==6.4.0
  • iniconfig ==2.0.0
  • iopath ==0.1.9
  • ipykernel ==6.29.4
  • ipython ==8.24.0
  • ipywidgets ==8.1.2
  • isoduration ==20.11.0
  • isort ==5.13.2
  • jedi ==0.19.1
  • joblib ==1.4.2
  • json5 ==0.9.25
  • jsonpointer ==2.4
  • jsonschema ==4.22.0
  • jsonschema-specifications ==2023.12.1
  • jupyter ==1.0.0
  • jupyter-client ==8.6.2
  • jupyter-console ==6.6.3
  • jupyter-core ==5.7.2
  • jupyter-events ==0.10.0
  • jupyter-lsp ==2.2.5
  • jupyter-server ==2.14.0
  • jupyter-server-terminals ==0.5.3
  • jupyterlab ==4.2.1
  • jupyterlab-pygments ==0.3.0
  • jupyterlab-server ==2.27.2
  • jupyterlab-widgets ==3.0.10
  • kiwisolver ==1.4.5
  • lazy-loader ==0.4
  • lightning ==2.2.5
  • lightning-utilities ==0.11.2
  • markdown ==3.6
  • matplotlib ==3.9.0
  • matplotlib-inline ==0.1.7
  • mistune ==3.0.2
  • mss ==9.0.1
  • multidict ==6.0.5
  • multiprocess ==0.70.16
  • munch ==4.0.0
  • mypy-extensions ==1.0.0
  • natsort ==8.4.0
  • nb-clean ==3.2.0
  • nbclient ==0.10.0
  • nbconvert ==7.16.4
  • nbformat ==5.10.4
  • nest-asyncio ==1.6.0
  • nodeenv ==1.8.0
  • notebook ==7.2.0
  • notebook-shim ==0.2.4
  • omegaconf ==2.3.0
  • opencv-python-headless ==4.9.0.80
  • overrides ==7.7.0
  • packaging ==24.0
  • pandas ==2.2.2
  • pandocfilters ==1.5.1
  • parso ==0.8.4
  • pathspec ==0.12.1
  • pexpect ==4.9.0
  • platformdirs ==4.2.2
  • pluggy ==1.5.0
  • portalocker ==2.8.2
  • pre-commit ==3.7.1
  • pretrainedmodels ==0.7.4
  • prometheus-client ==0.20.0
  • prompt-toolkit ==3.0.43
  • protobuf ==4.25.3
  • psutil ==5.9.8
  • ptyprocess ==0.7.0
  • pure-eval ==0.2.2
  • pyarrow ==16.1.0
  • pyarrow-hotfix ==0.6
  • pycocotools ==2.0.7
  • pycparser ==2.22
  • pydantic ==2.7.1
  • pydantic-core ==2.18.2
  • pygments ==2.18.0
  • pyparsing ==3.1.2
  • pyshp ==2.3.1
  • pytest ==8.2.1
  • pytest-cov ==5.0.0
  • python-dateutil ==2.9.0.post0
  • python-dotenv ==1.0.1
  • python-json-logger ==2.0.7
  • python-liquid ==1.12.1
  • pytorch-lightning ==2.2.5
  • pytz ==2024.1
  • pyzmq ==26.0.3
  • qtconsole ==5.5.2
  • qtpy ==2.4.1
  • rasterio ==1.3.10
  • referencing ==0.35.1
  • regex ==2024.5.15
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rpds-py ==0.18.1
  • rtree ==1.2.0
  • safetensors ==0.4.3
  • scikit-image ==0.23.2
  • scikit-learn ==1.5.0
  • scipy ==1.13.1
  • seaborn ==0.13.2
  • segmentation-models-pytorch ==0.3.3
  • send2trash ==1.8.3
  • sentry-sdk ==2.3.1
  • setproctitle ==1.3.3
  • shapely ==2.0.4
  • six ==1.16.0
  • smmap ==5.0.1
  • sniffio ==1.3.1
  • snuggs ==1.4.7
  • soupsieve ==2.5
  • stack-data ==0.6.3
  • tabulate ==0.9.0
  • tensorboard ==2.16.2
  • tensorboard-data-server ==0.7.2
  • termcolor ==2.4.0
  • terminado ==0.18.1
  • threadpoolctl ==3.5.0
  • tifffile ==2024.5.22
  • timm ==0.9.2
  • tinycss2 ==1.3.0
  • tokenizers ==0.19.1
  • torchmetrics ==1.4.0.post0
  • tornado ==6.4
  • tqdm ==4.66.4
  • traitlets ==5.14.3
  • transformers ==4.41.1
  • ttach ==0.0.3
  • types-python-dateutil ==2.9.0.20240316
  • tzdata ==2024.1
  • uri-template ==1.3.0
  • virtualenv ==20.26.2
  • wandb ==0.17.0
  • wcwidth ==0.2.13
  • webcolors ==1.13
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • werkzeug ==3.0.3
  • widgetsnbextension ==4.0.10
  • xxhash ==3.4.1
  • yacs ==0.1.8
  • yarl ==1.9.4