diff --git a/README.md b/README.md index babaed4..86dc73f 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ Plugin for QGIS to perform map/image segmentation, regression and object detecti You can find the documentation [here](https://qgis-plugin-deepness.readthedocs.io/). +## Deepness Model ZOO + +Check our example models in the [Model ZOO](./docs/source/main/model_zoo/MODEL_ZOO.md). + ## Development - Install QGIS (the plugin was tested with QGIS 3.12) diff --git a/docs/source/conf.py b/docs/source/conf.py index 37e8287..b2f3a48 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -68,6 +68,8 @@ 'sphinx.ext.intersphinx', 'sphinx.ext.napoleon', 'sphinxcontrib.youtube', + 'm2r2', + 'sphinx_rtd_size', ] MOCK_MODULES = ['future', 'qgis', 'osgeo', 'qgis.core', 'qgis.gui', 'qgis.utils', 'qgis.PyQt', 'qgis.PyQt.QtWidgets', 'qgis.PyQt.QtGui', 'qgis.PyQt.QtCore', 'PyQt5'] @@ -109,6 +111,7 @@ # # html_theme = 'alabaster' html_theme = 'sphinx_rtd_theme' +sphinx_rtd_size_width = "60%" html_theme_options = { 'collapse_navigation': False, diff --git a/docs/source/example/example_segmentation_landcover.rst b/docs/source/example/example_segmentation_landcover.rst index 521a865..f8cb3ef 100644 --- a/docs/source/example/example_segmentation_landcover.rst +++ b/docs/source/example/example_segmentation_landcover.rst @@ -48,7 +48,7 @@ When model training is completed, export the model using the script below: Example inference ================= -Run QGIS, next add Google Eart map using :code:`QuickMapServices` plugin. +Run QGIS, next add Google Earth map using :code:`QuickMapServices` plugin. .. image:: ../images/example_landcover_input_image.webp @@ -72,4 +72,4 @@ After a few seconds, the results are available: * predicted mask with Google Earth background - .. image:: ../images/example_landcover_output_map.webp \ No newline at end of file + .. image:: ../images/example_landcover_output_map.webp diff --git a/docs/source/main/main_model_zoo.rst b/docs/source/main/main_model_zoo.rst index 6ae836e..1d910b4 100644 --- a/docs/source/main/main_model_zoo.rst +++ b/docs/source/main/main_model_zoo.rst @@ -1,37 +1 @@ -Sample Model ZOO -================ - -The `Model ZOO `_ is a collection of pre-trained, deep learning models in the ONNX format. It allows for an easy-to-use start with the plugin. - - -=================== -Segmentation models -=================== - -+-----------------------------------------+-------------------------+----------------------------------------------------------------+ -| Task | Model | ONNX Model | -+=========================================+=========================+================================================================+ -| Land Cover segmentation | DeepLabV3+ | `Link <#>`_ | -+-----------------------------------------+-------------------------+----------------------------------------------------------------+ -| Corn Field Damage Segmentation | UNet++ | `Link `_ | -+-----------------------------------------+-------------------------+----------------------------------------------------------------+ - -======================= -Object detection models -======================= - -+-----------------------------------------+-------------------------+----------------------------------------+ -| Task | Model | ONNX Model | -+=========================================+=========================+========================================+ -| Airbus Planes Detection | YOLOv7-tiny | `Link <#>`_ | -+--------------------+--------------------+-------------------------+----------------------------------------+ -| Airbus Oil Storage Detection | YOLOv5-m | `Link <#>`_ | -+--------------------+--------------------+-------------------------+----------------------------------------+ - -================= -Regression models -================= - -.. note:: - - Documentation in progress: add example regression model +.. mdinclude:: model_zoo/MODEL_ZOO.md diff --git a/docs/source/main/model_zoo/MODEL_ZOO.md b/docs/source/main/model_zoo/MODEL_ZOO.md new file mode 100644 index 0000000..fd2971e --- /dev/null +++ b/docs/source/main/model_zoo/MODEL_ZOO.md @@ -0,0 +1,35 @@ +# Deepness Model ZOO + +The [Model ZOO](https://chmura.put.poznan.pl/s/2pJk4izRurzQwu3) is a collection of pre-trained, deep learning models in the ONNX format. It allows for an easy-to-use start with the plugin. + +## Segmentation models + +| Model name | Input size | CM/PX | Description | Example image | +|------------------------------------------------------------------------------------|---|---|---|---------------------------------------------------------| +| [Corn Field Damage Segmentation](https://chmura.put.poznan.pl/s/abWFTVYSDIcncWs) | 512 | 3 | [PUT Vision](https://putvision.github.io/) model for Corn Field Damage Segmentation created on own dataset labeled by experts. We used the classical UNet++ model. It generates 3 outputs: healthy crop, damaged crop, and out-of-field area. | [Image](https://chmura.put.poznan.pl/s/i5WVmcfqPNdBTAQ) | +| [Land Cover Segmentation](https://chmura.put.poznan.pl/s/PnAFJw27uneROkV) | 512 | 40 | The model is trained on the [LandCover.ai dataset](https://landcover.ai.linuxpolska.com/). It provides satellite images with 25 cm/px and 50 cm/px resolution. Annotation masks for the following classes are provided for the images: building (1), woodland (2), water(3), road(4). We use `DeepLabV3+` model with `tu-semnasnet_100` backend and `FocalDice` as a loss function. | [Image](https://chmura.put.poznan.pl/s/Xa29vnieNQTvSt5) | +| [Roads Segmentation](https://chmura.put.poznan.pl/s/y6S3CmodPy1fYYz) | 512 | 21 | The model segments the Google Earth satellite images into 'road' and 'not-road' classes. Model works best on wide car roads, crossroads and roundabouts. | [Image](https://chmura.put.poznan.pl/s/rln6mpbjpsXWpKg) | + +## Regression models + +| Model name | Input size | CM/PX | Description | Example image | +|---|---|---|---|---| +| | | | | | +| | | | | | + +## Object detection models + +| Model name | Input size | CM/PX | Description | Example image | +|---|---|---|---| +| [Airbus Planes Detection](https://chmura.put.poznan.pl/s/bBIJ5FDPgyQvJ49) | 256 | 70 | YOLOv7 tiny model for object detection on satellite images. Based on the [Airbus Aircraft Detection dataset](https://www.kaggle.com/datasets/airbusgeo/airbus-aircrafts-sample-dataset). | [Image](https://chmura.put.poznan.pl/s/VfLmcWhvWf0UJfI) | +| [Airbus Oil Storage Detection](https://chmura.put.poznan.pl/s/gMundpKsYUC7sNb) | 512 | 150 | YOLOv5-m model for object detection on satellite images. Based on the [Airbus Oil Storage Detection dataset](https://www.kaggle.com/datasets/airbusgeo/airbus-oil-storage-detection-dataset). | [Image](https://chmura.put.poznan.pl/s/T3pwaKlbFDBB2C3) | + +## Contributing + +* PRs with models are welcome! Please follow the [general model information](https://qgis-plugin-deepness.readthedocs.io/en/latest/creators/creators_description_classes.html). + +* Use `MODEL_ZOO` tag in your PRs to make it easier to find them. + +* If you need, you can check [how to export the model to ONNX](https://qgis-plugin-deepness.readthedocs.io/en/latest/creators/creators_example_onnx_model.html). + +* And do not forget to [add metadata to the ONNX model](https://qgis-plugin-deepness.readthedocs.io/en/latest/creators/creators_add_metadata_to_model.html). You can host your model yourself or ask us to do it. diff --git a/requirements_development.txt b/requirements_development.txt index 6b96dd7..33eb34d 100644 --- a/requirements_development.txt +++ b/requirements_development.txt @@ -13,4 +13,5 @@ sphinxcontrib-youtube sphinx-autodoc-typehints sphinx-autopackagesummary sphinx_rtd_theme - +m2r2 +sphinx-rtd-size