From b84f6b5536c008c8a3c9615d7d52d935921fe43c Mon Sep 17 00:00:00 2001
From: Daniel Wiesmann <daniel@tesselo.com>
Date: Tue, 28 Feb 2023 15:57:05 +0000
Subject: [PATCH 1/4] feat(post): add alquimodelia post

---
 _config.yml                     |   8 ++++++
 _posts/2023-02-28-our-models.md |  49 ++++++++++++++++++++++++++++++++
 assets/images/joao.jpeg         | Bin 0 -> 24338 bytes
 assets/images/our-models.png    | Bin 0 -> 21756 bytes
 4 files changed, 57 insertions(+)
 create mode 100644 _posts/2023-02-28-our-models.md
 create mode 100644 assets/images/joao.jpeg
 create mode 100644 assets/images/our-models.png

diff --git a/_config.yml b/_config.yml
index a226c26..b3a4300 100644
--- a/_config.yml
+++ b/_config.yml
@@ -36,6 +36,14 @@ authors:
     web: https://github.com/vitornvpaixao
     twitter: https://github.com/vitornvpaixao
     description: "Frontend programmer and forever learner. Has been in charge of maintaining and extending our Vue.Js app."
+  joao:
+    name: João Santos
+    display_name: João
+    avatar: 'assets/images/joao.jpeg'
+    web: https://github.com/JotaFan
+    twitter: https://github.com/JotaFan
+    description: "Versatile programmer, deep learning modeling wizzard, and geospatial analyist. Has contributed to the pixels platform and executed many projects for Tesselo."
+
 
 # Plugins
 plugins:
diff --git a/_posts/2023-02-28-our-models.md b/_posts/2023-02-28-our-models.md
new file mode 100644
index 0000000..7dcf438
--- /dev/null
+++ b/_posts/2023-02-28-our-models.md
@@ -0,0 +1,49 @@
+---
+layout: post
+title:  "Model Alquemy"
+author: joao
+categories: [ AI, code ]
+image: assets/images/our-models.png
+description: "An introduction to Tesselo's AI modeling, explaining the model types we used for our mapping with EO data."
+featured: false
+hidden: false
+---
+Tesselo's deep learning models are presented in this post. We have used them to
+do large scale land cover modeling across the world.
+
+We have packaged our models into a repository that makes it easy
+to use Tesselo's most common models. You can find the model references
+in our [Alquimodelia](https://github.com/tesselo/alquimodelia) repository.
+
+Depending on the context and the goal of the modeling, we have used a series of
+different models. They range from pixel based classifiers to time-series based
+U-Net type architectures.
+
+## Use all bands
+
+For our modeling, we moslty used all available bands of the multispectral satellite
+images. For Sentinel-2 we used the 10 bands that have 10m or 20m resolution. Similarly,
+for Landsat we used the available bands.
+
+In our pre-processing pipeline we simply resampled all bands into the target resolution.
+Usually this meant to upsample the lower resolution bands to the resolution of the
+band with the highest resolution. That is 10m for Sentinel-2 images for instance.
+
+## Classifiers
+
+Here we are giving a quick overview of the different model types and their use cases.
+Detailed posts about some of the models will follow separately as well.
+
+### Pixel based time series classifier
+
+This classifier is quite small but very powerful for small training datasets. It is
+non-sequential and based on one-dimensional convolution. It has two branches that
+are detecting patterns in time series at different levels.
+
+### Single scene image segmentation
+
+2D U-Net or ResNet based.
+
+### Time series of images
+
+3D U-Net based.
diff --git a/assets/images/joao.jpeg b/assets/images/joao.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..35b1b243db1908226bc5708bc529c1eb2bba393b
GIT binary patch
literal 24338
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
YL(&lzSO5SZZ&jG)&9w0-I$#g~*~Fxq`2YX_

literal 0
HcmV?d00001

diff --git a/assets/images/our-models.png b/assets/images/our-models.png
new file mode 100644
index 0000000000000000000000000000000000000000..c3845121acdc035d938dbebaa39b6e11343e748e
GIT binary patch
literal 21756
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
WCvQMa$+neTT2lPfvB)DAZ~ZUEuBnLt

literal 0
HcmV?d00001


From bbab3b01e78c0cbc7431007e118c9fa8032bb9d7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Santos?= <jotaflame@gmail.com>
Date: Tue, 28 Feb 2023 19:28:34 +0000
Subject: [PATCH 2/4] feat(post): complement model descriptions

---
 _posts/2023-02-28-our-models.md | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/_posts/2023-02-28-our-models.md b/_posts/2023-02-28-our-models.md
index 7dcf438..1dc23c9 100644
--- a/_posts/2023-02-28-our-models.md
+++ b/_posts/2023-02-28-our-models.md
@@ -15,6 +15,10 @@ We have packaged our models into a repository that makes it easy
 to use Tesselo's most common models. You can find the model references
 in our [Alquimodelia](https://github.com/tesselo/alquimodelia) repository.
 
+The aim of Alquimodelia was to create an user friendly and easy way to use and 
+change parameters on the common model architectures used in Tesselo. No need of any
+knowledge in keras or tensorflow, just some parameters and you had your model ready to use.
+
 Depending on the context and the goal of the modeling, we have used a series of
 different models. They range from pixel based classifiers to time-series based
 U-Net type architectures.
@@ -29,6 +33,10 @@ In our pre-processing pipeline we simply resampled all bands into the target res
 Usually this meant to upsample the lower resolution bands to the resolution of the
 band with the highest resolution. That is 10m for Sentinel-2 images for instance.
 
+Or using the same approuch we would create super-resolution, by upsampling our imagery data
+to the resolution of the target data. We had successful models that would build 1m resolution
+images out of 10m resolution data.
+
 ## Classifiers
 
 Here we are giving a quick overview of the different model types and their use cases.
@@ -44,6 +52,22 @@ are detecting patterns in time series at different levels.
 
 2D U-Net or ResNet based.
 
+#### ResNet
+
+The ResNet architecture uses two-dimensional convolutions to provide a classification to
+a given image. This has been used as a way to classify images with a single class. Or it
+could be used to classify a single pixel, but with the context of the surroundings.
+
+#### 2D U-Net
+
+The 2D U-Net is similiar to ResNet in terms of the usage of two-dimensional convolutions, but
+instead of giving one answer for each image, it responds with also an image.
+Used in image classification and segmentation.
+
 ### Time series of images
 
-3D U-Net based.
+#### 3D U-Net
+
+The 3D U-Net architeture follows the same patterns and the 2D, but instead of two-dimensional convolutions it uses three-dimensional convolutions, multiple images across time.
+The answer would still be a single image, but produced with time context.
+Great to surpass problems like clouds and other imagery artifacts.

From 43b64ad5f46aca3fc0b473c16cb531fe5a397a4c Mon Sep 17 00:00:00 2001
From: Daniel Wiesmann <daniel@tesselo.com>
Date: Wed, 1 Mar 2023 10:26:42 +0000
Subject: [PATCH 3/4] intermediate

---
 _posts/2023-02-28-our-models.md | 36 ++++++++++++++-------------------
 1 file changed, 15 insertions(+), 21 deletions(-)

diff --git a/_posts/2023-02-28-our-models.md b/_posts/2023-02-28-our-models.md
index 1dc23c9..471cff5 100644
--- a/_posts/2023-02-28-our-models.md
+++ b/_posts/2023-02-28-our-models.md
@@ -8,16 +8,21 @@ description: "An introduction to Tesselo's AI modeling, explaining the model typ
 featured: false
 hidden: false
 ---
-Tesselo's deep learning models are presented in this post. We have used them to
-do large scale land cover modeling across the world.
+Tesselo's most successful deep learning models are presented in this post. We have
+used them to do large scale land cover modeling across the world.
 
-We have packaged our models into a repository that makes it easy
-to use Tesselo's most common models. You can find the model references
-in our [Alquimodelia](https://github.com/tesselo/alquimodelia) repository.
+We have packaged our most common models into a repository that makes it easy
+to use them. You can find the model references in our
+[Alquimodelia](https://github.com/tesselo/alquimodelia) repository. It contains
+the detailed model definitions for our most successful models. We used Keras with a
+Tensorflow backend for our modeling, so the definitions are written in that famework.
 
-The aim of Alquimodelia was to create an user friendly and easy way to use and 
-change parameters on the common model architectures used in Tesselo. No need of any
-knowledge in keras or tensorflow, just some parameters and you had your model ready to use.
+The aim of Alquimodelia is to provide a user friendly way to use and change parameters
+on the common model architectures used in Tesselo. The model classes can be created without
+deep knowledge of keras or tensorflow. The main required parameters are the input and ouput
+shape that the models will work with. Then, Arquimodelia will construct the models accordingly.
+
+## Model types
 
 Depending on the context and the goal of the modeling, we have used a series of
 different models. They range from pixel based classifiers to time-series based
@@ -25,18 +30,6 @@ U-Net type architectures.
 
 ## Use all bands
 
-For our modeling, we moslty used all available bands of the multispectral satellite
-images. For Sentinel-2 we used the 10 bands that have 10m or 20m resolution. Similarly,
-for Landsat we used the available bands.
-
-In our pre-processing pipeline we simply resampled all bands into the target resolution.
-Usually this meant to upsample the lower resolution bands to the resolution of the
-band with the highest resolution. That is 10m for Sentinel-2 images for instance.
-
-Or using the same approuch we would create super-resolution, by upsampling our imagery data
-to the resolution of the target data. We had successful models that would build 1m resolution
-images out of 10m resolution data.
-
 ## Classifiers
 
 Here we are giving a quick overview of the different model types and their use cases.
@@ -68,6 +61,7 @@ Used in image classification and segmentation.
 
 #### 3D U-Net
 
-The 3D U-Net architeture follows the same patterns and the 2D, but instead of two-dimensional convolutions it uses three-dimensional convolutions, multiple images across time.
+The 3D U-Net architeture follows the same patterns and the 2D, but instead of two-dimensional
+convolutions it uses three-dimensional convolutions, multiple images across time.
 The answer would still be a single image, but produced with time context.
 Great to surpass problems like clouds and other imagery artifacts.

From 480e76a7ac2aac259f9e7b208e79d71a9651363d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Santos?= <jotaflame@gmail.com>
Date: Mon, 3 Apr 2023 14:12:15 +0100
Subject: [PATCH 4/4] feat(post): multispectral image

---
 _posts/2023-02-28-our-models.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/_posts/2023-02-28-our-models.md b/_posts/2023-02-28-our-models.md
index 471cff5..b442a72 100644
--- a/_posts/2023-02-28-our-models.md
+++ b/_posts/2023-02-28-our-models.md
@@ -30,6 +30,9 @@ U-Net type architectures.
 
 ## Use all bands
 
+The multispectral imagery allows us to get context from the various ranges of light available. This could help overcome coud coverage over a site, or could easily identify Land Uses.
+The usage of multiple bands allowed our models to freely aquire the best out of Open Data targeting the goal at hands.
+
 ## Classifiers
 
 Here we are giving a quick overview of the different model types and their use cases.