OTB integration in operational processing chains
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 351 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/69165 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2022 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
00:00
ChainLocal GroupMarkov chainProjective planeStochastic processComputer animation
00:22
Local GroupPresentation of a groupModule (mathematics)Markov chainStochastic processSoftware frameworkComputer fileTemplate (C++)Read-only memoryMultiplicationStreaming mediaContinuous integrationSource codeEmailSocial classWrapper (data mining)Software testingPoint cloudParameter (computer programming)Revision controlCartesian coordinate systemContinuous integrationProduct (business)Thread (computing)Module (mathematics)Level (video gaming)FiltrationProjective planeSoftwareMobile appComputing platformDirectory serviceTime seriesStochastic processOpen sourceSoftware testingVaporCloningAcoustic shadowCodeWater vaporSource codeMarkov chainTemplate (C++)Scripting languageCuboidAnalytic continuationMixed realityMultiplication signSemiconductor memoryMultiplicationComputer animation
04:28
Local GroupPresentation of a groupLevel (video gaming)Level (video gaming)Time seriesSound effectPixelPoint cloudRight angleReflection (mathematics)Multiplication signComputer animation
06:01
Best, worst and average caseStochastic processWeight functionLogic synthesisProduct (business)Computer-generated imageryPixelPoint cloudAcoustic shadowOpticsTemporal logicOpen sourceFreewareTesselationPresentation of a groupLocal GroupPhotographic mosaicFunction (mathematics)Software frameworkCovering spaceTexture mappingScale (map)Stack (abstract data type)Series (mathematics)AreaSupercomputerLocal ringSocial classIntegrated development environmentSpectrum (functional analysis)MultiplicationAlgorithmMarkov chainEvent horizonVector potentialOrbitRectifierRead-only memoryBuildingData managementInternet service providerComputing platformInformation and communications technologyTerm (mathematics)ScalabilityLaptopStandard deviationSpeicherkapazitätWeb browserInternetworkingScaling (geometry)Wave packetLatent heatSoftwareObservational studyElectric generatorState observerOpen sourceAlgorithmUniform resource locatorStudent's t-testMultiplication signTesselationSatelliteIntegrated development environmentDifferent (Kate Ryan album)Remote procedure callInformationVirtual machineSocial classOnline helpProduct (business)Stochastic processSupercomputeroutputFilm editingCuboidLevel (video gaming)Computing platformFunction (mathematics)MultiplicationSoftware frameworkAreaMachine learningDenial-of-service attackForm (programming)CodeComputer fileElectronic mailing listPixelNeuroinformatikMereologyMarkov chainModule (mathematics)Presentation of a groupAcoustic shadowPosition operatorClosed setShape (magazine)Internet service providerNumberCovering spaceSound effectGreen's functionMathematicsTime seriesCompilation albumBest, worst and average casePoint cloudResultantImplementationSpacetimeProjective planeForestSupport vector machineDistanceRandomizationAuthorizationMehrprozessorsystemMappingVirtualizationLogic synthesisSeries (mathematics)Computer animation
Transcript: English(auto-generated)
00:00
So I think you will have to listen to my terrible accent for a few more minutes, I'm sorry about it. So after presenting what's new in the Orfeo toolbox, I will present some projects that use the Orfeo toolbox in their processing chains.
00:22
And first I want to talk about one of the capabilities of the toolbox that we call remote module. The remote module is an easy way to build your own application outside of the Orfeo toolbox, but that relies on the Orfeo toolbox capabilities.
00:42
So for example, you want to build your application, but you also want that to use some filters from the OTB in your application, and you want to use the streaming capability of the Orfeo toolbox, this is possible. You have the possibility to git clone the template from our git lab, and you will have
01:10
everything set up for you. You can add your new applications in the app directory. If you write your own filters, you can add them to the source and include directories.
01:24
And also you can add some tests in the test directory, because you should be testing your code. This is your code, and you can share it if you want, or you can keep it for your own usage.
01:42
You can choose a license for your code, you can put it on git hub or on the Orfeo toolbox git lab. You can benefit from the continuous integration platform that I presented earlier. It's up to you.
02:02
And once you have built your own remote module, you can complete it. You will be asked for the directory where you installed your Orfeo toolbox, and once it's completed, you can use your application as if they were official Orfeo toolbox applications.
02:21
So they can be chained together, and you will have the in-memory pipeline, you will have the multithreading and the streaming capabilities that are integrated from the Orfeo toolbox. Also, the Python API will be generated, and you will be able to call your application from a Python script,
02:47
which means you can build a whole processing chain by calling your application from a Python script. So this is what some of the projects I will present now are doing.
03:06
And the first one that I want to present is Maya. Maya is a software for atmospheric correction. So it will take a time series of image of level one products.
03:22
It can work with the Sentinel-2, Landsat-8, and Venus sensors. And it will generate level two products of that time series. It will detect the clouds and the shadows of the cloud.
03:41
It will also estimate the water vapor and the quantity of aerosol in the atmosphere. And it will proceed to the atmospheric correction. It is also able to remove the thin serious clouds in the images.
04:01
It's already in use on the production via the TEA platform. But it's still an ongoing research, so people at the SESBIO, the laboratories that are developing this tool, are still improving it and setting some parameters.
04:21
And since the version 4, it's a free and open source software that you can find on the GitLab of the Orfeo toolbox. Who does it work? Well, as I said, it works with time series. If you just have one image, don't use Maya. But if you have images over six months or one year,
04:42
and you want to correct the effect of the atmosphere on that time series, you can use Maya. And it will start with the first eight images and generate a composite image. And it will use that composite image to generate a level 2 image at date 1.
05:03
Once the level 2 image at date 1 is generated, it will be used with the level 1 image at date 2 to generate the level 2 image at date 2. And then it will be used with the level 1 image at date 3 to generate the level 2 image at date 3, and so on.
05:24
You have an example here with, on the left, the level one image. You can see that it's white, bluish, that's the effect of the atmosphere. And also you can see that on the north there are some clouds. And on the right you will find the level two image generated by Maya.
05:47
The cloud has been masked and the atmosphere has been corrected. So now the pixel shows the top of canopy reflectances.
06:04
Well, once you have your level two images with black wool in it because of the clouds, you may want to generate an image without cloud. And this is possible using WASP. WASP, for Weighted Average Synthesis Processor,
06:22
is a tool that will take a time series of image, of level two images, so basically the output of Maya, and it will generate one synthetic image that is cloudless. The idea is to compute for each pixel in the input time series
06:44
to compute weights according to the presence or closeness to clouds or shadows of clouds, but also the quantity of aerosol in the atmosphere and the temporal distance between the image and the synthesis you want to generate.
07:06
It takes all of this into account to compute weights and then it does a weighted average for the output pixel. So this algorithm is already in use on production via the TEA platform
07:24
and it's also a free software. You can find it on the GitLab of the Orfeo toolbox. Here are some examples of results over Germany, Norway, France and Spain. So those are not direct satellite images, they are synthesis.
07:43
They are the compilation of a time series of images and the clouds have been removed. On the image of France and Spain, you can see it's a lot of green and some yellow. If you go to the TEA platform and see the image generated for last month,
08:03
you will see that the green kind of disappeared and the yellow take a lot more space now, which is kind of scary. The next tool that I want to present is IOTA 2. It's a framework to generate large-scale land cover maps
08:26
using machine learning algorithms. So the idea is if you want to generate land cover maps and you are working at the scale of a country, for example, you will have a lot of data to provide as input
08:43
and IOTA 2 is able to take time series from both optical and SAR sensors and it will be able to work at large scale, which means work with different geological areas.
09:00
For example, here in France, if you live close to the ocean, you don't have the same climate than if you live in the Alps. So that needs to be taken into account in the process of generating the land cover map and you can provide shape files describing the different ecological areas.
09:24
It's built upon author toolbox, so it can be multithreaded and also if you want to distribute your computation on multiple computation nodes, it's possible through Dask. It's already used in production to generate the OZO product,
09:45
which is a land cover map over France produced every year. It contains 23 classes and it's generated using the supercomputer at CNES. It can work with different learning algorithms.
10:03
Since it relies on OTB, all the algorithms available in OTB are also available in IOTA 2. So that includes random forest, SVM and others. But it is also able to work with other providers of algorithms
10:24
like Ptorch, if you want to do some deep learning. It's a free and open source software and you can find the code on Framagit. Framagit is a GitLab owned by a French charity.
10:42
So as you can see, your remote module doesn't have to be inside the GitLab of author toolbox. You can do whatever you want with your code. The next tool is Let It Snow or LISS. It's a processing chain that will generate snow cover maps.
11:06
So it will take a time series of level 2 images, so basically the output of Maya. And it will first generate level 2B products, so it's presence or not of snow on the pixel.
11:22
And then it will generate a synthesis, a level 3 product containing the date of the first appearance of snow, the date of the disappearance of the snow, and a third layer with the duration of the snow cover during the year.
11:41
So the example you have here is the duration of the snow cover. Each pixel has a value between 0 and 365. It's the number of days of snow at the position of the pixel. So the lighter is the longest time.
12:05
And it's useful to monitor snow covers on big areas like Alps or Pyrenees in France and Spain. And it's already used in production via the TEA platform also.
12:23
And it's a free and open source software that you can find on the author toolbox GitLab. For people working with SAR products, I will now present two remote modules dedicated to SAR products. The first one is D'Aportibi,
12:41
which is an implementation of the D'Aportibi algorithm using author toolbox. D'Aportibi was designed by the CNES, and it's aimed at highlighting changes in SAR images. So if you have two SAR images at different dates,
13:04
you will be able to do some change detection and assess, for example, the effect of earthquake or flood on the images. It's also a free and open source software that you can find on the GitLab author toolbox.
13:26
The second remote module dedicated to SAR products is S1 Tiling. It's a module to work with both the Sentinel-1 and Sentinel-2 products.
13:42
Well, if you want to work with both of them, you may want to have overlapping images. And you may know that the Sentinel-2 images are cut into tiles, and the tiles have names on the grid. So it's very useful when you want to talk about a specific location,
14:04
and the Sentinel-1 product doesn't do that. So if you want to work on a specific tile with Sentinel-1 products, you can use S1 Tiling to generate the images and to auto-actify them into the correct tile.
14:26
So, for example, here we have two Sentinel-1 images. That one goes on the north and that one on the south, as you can see here. And if you want to work in this Sentinel-2 tile,
14:42
you just give the input images and the tile you want to work on to the algorithm, and it will generate for you the Sentinel-1 image, but just the part that you need into the good tile. The input data are taken from the EODag platform,
15:04
which is a platform that is a provider for downloading Earth Observation data. It's built upon Arthur Toolbox, so you can do some pipelines and multiprocessing. It's also able to work with Dask if you want to parallelize your process
15:23
on different computation nodes, and it's available in Conda and PiP. It's also used in production through the projects TropicsCo and WorldSerial. And it's also a free and open source software that you will find on the Arthur Toolbox GitLab.
15:50
Since I still have some time, I will talk about something a little different, but still related to the Arthur Toolbox. On Tuesday, we had a training session, and we were able to do some exercises together.
16:05
And for the session, I used a platform called EO Care, which is a specialist to organize a training session for GIS and Earth Observation.
16:20
The idea is to propose to all the students a virtual machine that is customized to your training. You can choose what software are installed inside the virtual machine, and everything is prepared. So during the training session, everybody works with the same environment, and you won't have a surprise.
16:44
The virtual machine already comes with the Arthur Toolbox installed in it, but also other tools like Snap or QGIS, and also Python with Jupyter. So all the tools we can want to use during a training session for Earth Observation are here.
17:04
You can also decide what quantity of resources you want to use, and if you need help during the training session, there is an help desk that can listen to your questions and solve problems directly during the training session.
17:21
So if you want more information, I have some flyers here, and you are free to come and take them. And thank you for your attention.