Skip to content

Commit

Permalink
Merge pull request #65 from PUTvision/model_zoo
Browse files Browse the repository at this point in the history
New Model ZOO
  • Loading branch information
przemyslaw-aszkowski authored Oct 27, 2022
2 parents 857004f + 94f65d6 commit c53b9e3
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 40 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 3 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']
Expand Down Expand Up @@ -109,6 +111,7 @@
#
# html_theme = 'alabaster'
html_theme = 'sphinx_rtd_theme'
sphinx_rtd_size_width = "60%"

html_theme_options = {
'collapse_navigation': False,
Expand Down
4 changes: 2 additions & 2 deletions docs/source/example/example_segmentation_landcover.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
.. image:: ../images/example_landcover_output_map.webp
38 changes: 1 addition & 37 deletions docs/source/main/main_model_zoo.rst
Original file line number Diff line number Diff line change
@@ -1,37 +1 @@
Sample Model ZOO
================

The `Model ZOO <https://chmura.put.poznan.pl/s/O69QZggRYprk3Ks>`_ 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 <https://chmura.put.poznan.pl/s/98zo9C5AdTK5ra4>`_ |
+-----------------------------------------+-------------------------+----------------------------------------------------------------+

=======================
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
35 changes: 35 additions & 0 deletions docs/source/main/model_zoo/MODEL_ZOO.md
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 2 additions & 1 deletion requirements_development.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ sphinxcontrib-youtube
sphinx-autodoc-typehints
sphinx-autopackagesummary
sphinx_rtd_theme

m2r2
sphinx-rtd-size

0 comments on commit c53b9e3

Please sign in to comment.