Maritime Big Data analysis with ARLAS
Gautier, Willi
The maritime industry has become a major catalyst of globalisation. Political and economic actors meet various challenges regarding cargo shipping, fishing, and passenger transport. The Automatic Identification System (AIS) records and broadcasts the location of numerous vessels which supplies huge amounts of information that can be used to analyse fluxes and their behavior. However, the exploitation of these numerous messages requires tools adapted to Big Data. Acknowledgment of origin, destination, travel duration, and distance of each vessel can help transporters to manage their fleet and ports to analyse fluxes and track specific containers based on their previous locations. Thanks to the historical AIS messages provided by the Danish Maritime Authority and ARLAS PROC/ML, Gisaïa’s open-source and scalable processing platform based on Apache SPARK, we are able to apply our pipeline of processes and extract this information from the millions of AIS messages. We use a Hidden Markov Model (HMM) to identify when a vessel is still or moving and we create “courses”, embodying the travel of the vessel. Then we can derive the travel indicators. Authors and Affiliations – GAUTIER, Willi (1) Data science Department, Gisaïa, France, GAUDAN, Sylvain (2) Chief Technical Officer, Gisaïa, France FALQUIER, Sébastien (3), Data science Department, Gisaïa, France Track – Academic Topic – Academic Level – 2 - Basic. General basic knowledge is required. Language of the Presentation – English
 So, hello everyone. We'll be back with Gautier Wili. I think it is this, the pronouns. So, okay. Hello. Hello. And the next talk is my rhythmic big data analysis with Orla, with Gautier Wili. Gautier is a data scientist from the Department of the Data Science of the Chisaya, I think is this. Wili can say more than I. So, Gautier, this stage is yours. We will have all the time, I think, 20 minutes, okay? Okay. So are you sharing the screen? Okay. Thank you. And hello everyone. I would like to thank the Phosphorji organizer for, and all the speakers for this nice presentation. I'm Wili Gautier. I'm data scientist for Chisaya and we are a small company specialized in geospatial based in Toulouse in South of France. We develop HALAS. It's an open source solution for big geospatial data analysis. So as you know, the maritime industry has become a major part of globalization and 90% of the transportation of the good is globally carried out by more than 80,000 service vessels. Then political and economical actor are meeting challenges regarding shipping and people transport. And today we're going to sit together, or how HALAS can help for maritime big data analysis by exploiting the VESEL automatic identification system. Then we exploit automatic identification system. It's IIS, a safety system which provides information about the VESEL state. But we'll see that this data contains some imperfections. Then we'll see how we face these challenges to clean the data and to infer trajectories with some algorithms that we provide as an open source library. That's HALAS. And finally, we'll see how complex VESEL behaviors can be detected with machine learning models and how HALAS can help in this model creation process. Then first, automatic identification system. It's a safety system that record and broadcast all the VESEL locations. This message is received by other VESEL and it helps them to avoid collision, particularly when the visibility is low. And it also contains information about the VESEL dynamics and characteristics. All the VESELs about a certain size have to be equipped and it results in more than half billion IS message emitted worldwide every day. These messages are collected by ground antenna and satellites and can be a great source of information about the maritime traffic. However, it requires adapted tools to handle such amount of data. The Danish maritime authority provided IS data received around the Danish coast that we will use to illustrate this maritime data analysis. Actually we want to extract maritime intelligence from this cloud of points. However, as often with real world data, IS records are sometimes imperfection. On this topic, I really recommend you a nice paper of Anita Grasseur that explains the different kinds of problems with the continuous data and it provides a methodology to identify these problems. But today we'll focus on some of them, like missing information, like gaps or missing fields, the imprecision and accuracy problem, such as outlier in location, and also consistency problem, such as sampling heterogeneity of the records. Finally, raw IS data doesn't give any information about the VESEL real origin and neither a reliable destination nor about its traveling time. The volumetry of the data requires adapted tools to handle it. To see clearer among these numerous VESEL locations, we use ALAS exploration. It's an open source journal analytics software that allows to visualize and explore the data. It results in an interactive map when we can navigate within the data and explore different components. Then we can see the spatial distribution and we can see the distribution of other components, such as the ship type, and we can apply filter selection to explore the data. It helps to better understand the IS data and its challenges. Here we can observe the spatial distribution and we distinguish the main VESEL fluxes. If we zoom a bit, we can observe the real boat location and here, called by the VESEL type and we can quickly distinguish different behaviors. But there are some imperfections within the data, such as missing or re-renews information. By exploring the IS record, we observe that some of the attributes, like its type or name, are not available in all messages and it can result in data gaps if we select these values. Here for example, for the same VESEL, it has sometimes its type filled as a tanker, but sometimes as undefined, then if we select all the tanker, we will miss many records. Moreover, the time between consecutive records is not always regular and there are some gaps, there are some VESELs emitting every 30 or 10 seconds, but it can be really different and it can result in a misinterpretation of the VESEL densities. Sometimes it's oversampled for the analysis need to have the location every 10 seconds. We also sometimes observe a large jump in GPS location that should not be considered as possible VESEL motion. When we look at the spatial distribution of the VESEL around Denmark, we can observe out of range location, which can sometimes be even inland. If we see a particular VESEL, its records are quite continuously, but one of them is verified far away from the other and it looks like a wrong location. In order to solve these problems and to extract real maritime intelligence from the raw data points, we process the record to clean the observations and to infer trajectories. We apply algorithms that we provide as an open source library, HALAS-Proc. The goal of this algorithm is to transform the punctual VESEL records into valuable trajectories with their origin and destination, their stops and also the travelling time, the DINSANTS and even other indicators. HALAS-Proc.ML library contains different modular algorithms, such as outlier removal or resampling, that we can combine to create a processing pipeline. This framework is developed in SCALA and is based on APAC Spark framework to be fully distributed. Each block that you can see transforms the input into an output and we call it a transformer. Those transformers are here applied to VESELs, but it can be applied to any moving object data. Then you simply have to import the dependency and use the different functions. You can find the project on GitHub. For example, in order to deal with outlier within geolocation, we apply an outlier detection filter inspired from the AMPAL filter and it computes the GPS speed median over sliding windows and it identifies unrealistic moves. Then this wrong location are corrected. For example, the suspicious location we saw before is filtered and it removed from the VESEL track. We have seen that the time between two observations of the same object can be very heterogeneous in some cases. Actually we introduced the notion of fragment to represent the information by your time interval for a given object. In a fragment, it corresponds to the VESEL behavior between two observations. It has a geometry representing the travel of the VESEL. Its dynamics and such a speed are adding an event the VESEL information. The basic fragments are straight line between two raw observations, but we can also concatenate it and to create a single longer fragment. If we focus on the time between observation and distribution, we can say that we use the fragment concatenation mechanism to harmonize the fragments and to regroup a block of three minutes. Now, instead of having a very varying observation, we create new fragments of three minutes. This aggregation can be done without losing special information. If the concatenation is the geometry, it has all the small line strings, but we can also simplify geometries. Here we can see in red dot the edges of the three minute fragment. In white dot, you have the raw location records and the geometry fit stored for the trajectory. It fits the real geometry and it's much smaller for the fragment. Then the sampling harmonization, it compresses a lot the information and it also makes the data distribution less sensitive to sampling variations between different objects. If we want to identify the trajectories, the first step is to analyze, to detect whether the boat is still or moving. To do so, we use the Haydn Markov models based on VESEL speed to identify the VESEL mobility. The HMM models are robust to noise and VESEL speed to avoid switching between steel and move because of wrong measurement. Here we can see that the model is quite robust. If there are some wrong measurements, it's not detected as top, for example. Thanks to this moving state, we can group all the fragments corresponding to a stop together. Here we can see in white. Here it's a tanker stopped in the sea before a trip that starts after. We define a course as a travel between two significant stops. We can use the same process to group all the fragments of a course to create a single course fragment. We can then visualize and distinguish the separated travel of the VESEL and explore their distance and duration or mean speed. We also know their origin and destination here represented by green and red points. Once we have the origin and destination, we can enrich the courses with the name of these locations. We use the service to get the country and the port name which allows us to select the fluxes that matter. If we select the port of Kiel in Germany, for example, we can instantaneously select all the travels that leave the port and analyze their trajectories and destination. Here we have all these travels aggregated, but we can also visualize the real tracks of the selected VESELs. To recap, ALAS.ProGMA is an open source framework, very complementary to ALAS exploration. The processing of the data allows much more complete understanding of the VESEL fluxes. We have seen that activities can be observed directly in ALAS by looking at the tracks, but the VESEL activities can also be automatically detected from VESEL movements thanks to machine learning. Machine learning models can be used to recognize patterns within the moving object data and to recognize VESELs behavior. Supervised classification techniques can be used to train the model on identified patterns and the model can then recognize this pattern on new data. But it requires a training set containing the data annotated with the patterns and the quality of the model predictions depends on the quantity and diversity of this annotated data. But this training set creation can be really time consuming and it requires tools to visualize data and to recognize the patterns. We'll see together how ALAS can help for this training set creation and how it can be integrated into the machine learning model process creation. Let's consider one pattern, the fishing activity. Actually, there are different kinds of fishing vessels with their own strategy and it can be trawlers, signers, long-liner, drifters. Knowing where and when these vessels are actually fishing can help to better understand activities and regulate overfishing, for example. The fishing activity of a VESEL can be derived from its move and when we select the fishing vessel tracks, we actually observe the different strategies. We observe zigzag with the homogeneous speed. With ALAS, we can quickly visualize these tracks and let's assume we are a fishing expert. We can finally select the part of trajectory where the vessel is actually fishing and where it's only moving. And when the pattern is selected, a tagging system in ALAS allows to annotate the selected data or fishing or non-fishing, for example. And when our training set is unsatisfying, we can download the enriched data as a CSV file directly in the application or via an API. And now that the training set is available as a CSV file, we can use any classical tools to create the machine learning models. We can use psyche, TensorFlow, we can also use different language, Python, Scala, R. And we can try the models and evaluate their performance according to several metrics such as accuracy or recall. And this model classification result can be compared to, according to this metrics, in tools such as MLflow. And here we can see that each line represents an experiment and these tools allow to link metrics with input parameters. But however, it's also important to visualize the classification results on the real vessel track to understand where the model performs well and where it lacks accuracy. And the ALAS Tagger API allows to tag the results and to directly explore it in ALAS. We can then directly visualize the prediction results over the real tracks. And we quickly see where the model performs well. And we can finally analyze the different fishing area and period and it can help decision makers. Here we have seen a maritime application, but all these tools can be adapted to any kind of moving object data. Then to recap, we have seen that ALAS exploration is an open source geoanalytic tools that allow to explore massive IAS data set in an interactive map application. And we have seen that this exploration can be enriched by ALAS Pro-KML, which is also an open source framework based on Scala Spark to process trajectories and to extract maritime intelligence. And finally, we can also use ALAS exploration tagging system to create a training set and facilitate the creation of machine learning models to dive even deeper in the maritime activity detections. And I would like to thank you very much for your attention and feel free to ask any question and don't hesitate to follow us or contact us for more information. Thank you. Thank you. Thank you, Willie. Great presentations. We have some questions here that put it on the screen. The first is if you use Sedona in your ALAS or Scala Spark inclamation? Actually, I'm not sure I understand the question. I could not answer. I can ask one of our data engineer to if he knows this, but I could not answer. You showed more of tools in machine learning in the finish of the presentation. So I think the people can ask you by this email for asking about use of Sedona. So the next question is can the tool be used to help detect the origin of oil leaks in the ocean? How did it happen in Brazil in 2029? Actually, I think it could be possible. Actually, it can be applied through any moving object data. Then if you have the evolution of the oil leaks, maybe it could be visualized in our ALAS, but we could also process it as a moving object data. If the oil leaks is seen as an object, then we will not directly extract it from the satellite image, but if you do this work, it could be followed with such tools yet. Okay. Some questions here. The people say how some talk, how can I run this tech and explore the code? You can find it on GitHub, on our last project. And the stack, actually, it will be explained how to deploy all the stacks. It's only open source tools. And the ALAS Pro-KML project is also now available as open source, and you can find it on GitHub too. I could share the link if you want to specifically, but I think you should find it quite easily. Okay. The next question is, does one vessel one have one pair of origin and destination? Actually, no, it depends on the period you are studying, but if it's a long period, actually, if the vessel move between ports, we will identify all the different travels, and we will have different pairs of origin destinations. And we will really separate them, and we will be able to identify the time traveling and the average speeds and different indicators. Okay. The next question is divided in two, because it's too big, but I think I can show the bottom. Okay. It's now. Is the height of change data is listed, including the IMS or not always available to reliable? For example, velocity vector, speed and heading. Yeah. Yeah, it's part of the IAS data. There is a speed of our ground of the vessel. There is the edging and also the course of our ground, and it's part of IAS data. And we can also recompute it. In IAS, these data are quite reliable, even as there can be some problems, but we can also recompute it from the vessel locations to recompute the speed and to compare also if the sensors are really reliable. It can be used to it. Okay. I see that in chat, some people is sharing the GitHub and the tutorials. Nice. So we have next questions, new questions. Can we adapt the pipelines towards moving objects? Yes, absolutely. It's done for this. Actually, here we just used IAS data as an example to illustrate the process, but actually, any moving object, it's only an object ID, location, a timestamp. And with at least only this information, we can process it and we can recompute the dynamics of the vessel. We can apply filtering. We can process it. And what's nice is that as it's based on the Spark framework, we can deploy it on cluster to apply it to big amount of data. Okay. We have five minutes and three questions to... No, it's four minutes. So how representative is your data? Like what is the percentage of all data? Of all the data, actually, we can display all the data. Like we downloaded the IAS data from the Danish maritime authorities. And for example, there is one file for each day and we process it. Then after, we can display the entire process data. I'm not sure I understand the question. Did you look at the mobility DB for possible options? I didn't use it, but maybe there are kind of similar features that we can have also in mobility DB. Okay. How will you handle misconfigured timestamp in the IAS data? There are different... I'm not sure what is your point about misconfigured data. Actually most of IAS data timestamp follow a pattern. We can have different patterns if we find different timestamp patterns within the data. We can adapt it. And also, we have the notion when there are gaps in data, we handle it, we identify it. And for example, sometimes the timestamp is... like there is a kind of permutation between timestamp and there is one location which was emitted maybe two days ago that appeared quite easily. It's quite far and we identify it as outlier and we clean it. Okay. And the last question for finish, the presentation is what is the mean of ALAS? Actually ALAS is a maintain in the Priremia in South of France, close to the Spain border. And some of the founders of our company come from this area and that way they choose it. Okay, thank you, Willy. We... the time is up. We can cover all the time the presentation. Thanks for the presentation. Thanks for your question. Okay. If you have any questions to Willy, send an email. This is on the screen, the address, the mail of the Willy. So thanks and we'll see you soon in the social gathering in FOSSA GIS mapping of the Buenos Aires. Thank you. Thanks to you all. I will see you in the next one.
 So, hello everyone.  We'll be back with Gautier Wili.  I think it is this, the pronouns.  So, okay.  Hello.  Hello.  And the next talk is my rhythmic big data analysis with Orla, with Gautier Wili.  Gautier is a data scientist from the Department of the Data Science of the Chisaya, I think  is this.  Wili can say more than I.  So, Gautier, this stage is yours.  We will have all the time, I think, 20 minutes, okay?  Okay.  So are you sharing the screen?  Okay.  Thank you.  And hello everyone.  I would like to thank the Phosphorji organizer for, and all the speakers for this nice presentation.  I'm Wili Gautier.  I'm data scientist for Chisaya and we are a small company specialized in geospatial based  in Toulouse in South of France.  We develop HALAS.  It's an open source solution for big geospatial data analysis.  So as you know, the maritime industry has become a major part of globalization and 90%  of the transportation of the good is globally carried out by more than 80,000 service vessels.  Then political and economical actor are meeting challenges regarding shipping and people transport.  And today we're going to sit together, or how HALAS can help for maritime big data analysis  by exploiting the VESEL automatic identification system.  Then we exploit automatic identification system.  It's IIS, a safety system which provides information about the VESEL state.  But we'll see that this data contains some imperfections.  Then we'll see how we face these challenges to clean the data and to infer trajectories  with some algorithms that we provide as an open source library.  That's HALAS.  And finally, we'll see how complex VESEL behaviors can be detected with machine learning models  and how HALAS can help in this model creation process.  Then first, automatic identification system.  It's a safety system that record and broadcast all the VESEL locations.  This message is received by other VESEL and it helps them to avoid collision, particularly  when the visibility is low.  And it also contains information about the VESEL dynamics and characteristics.  All the VESELs about a certain size have to be equipped and it results in more than half  billion IS message emitted worldwide every day.  These messages are collected by ground antenna and satellites and can be a great source of  information about the maritime traffic.  However, it requires adapted tools to handle such amount of data.  The Danish maritime authority provided IS data received around the Danish coast that  we will use to illustrate this maritime data analysis.  Actually we want to extract maritime intelligence from this cloud of points.  However, as often with real world data, IS records are sometimes imperfection.  On this topic, I really recommend you a nice paper of Anita Grasseur that explains the  different kinds of problems with the continuous data and it provides a methodology to identify  these problems.  But today we'll focus on some of them, like missing information, like gaps or missing  fields, the imprecision and accuracy problem, such as outlier in location, and also consistency  problem, such as sampling heterogeneity of the records.  Finally, raw IS data doesn't give any information about the VESEL real origin and neither a  reliable destination nor about its traveling time.  The volumetry of the data requires adapted tools to handle it.  To see clearer among these numerous VESEL locations, we use ALAS exploration.  It's an open source journal analytics software that allows to visualize and explore the data.  It results in an interactive map when we can navigate within the data and explore different  components.  Then we can see the spatial distribution and we can see the distribution of other components,  such as the ship type, and we can apply filter selection to explore the data.  It helps to better understand the IS data and its challenges.  Here we can observe the spatial distribution and we distinguish the main VESEL fluxes.  If we zoom a bit, we can observe the real boat location and here, called by the VESEL  type and we can quickly distinguish different behaviors.  But there are some imperfections within the data, such as missing or re-renews information.  By exploring the IS record, we observe that some of the attributes, like its type or name,  are not available in all messages and it can result in data gaps if we select these values.  Here for example, for the same VESEL, it has sometimes its type filled as a tanker, but  sometimes as undefined, then if we select all the tanker, we will miss many records.  Moreover, the time between consecutive records is not always regular and there are some gaps,  there are some VESELs emitting every 30 or 10 seconds, but it can be really different  and it can result in a misinterpretation of the VESEL densities.  Sometimes it's oversampled for the analysis need to have the location every 10 seconds.  We also sometimes observe a large jump in GPS location that should not be considered  as possible VESEL motion.  When we look at the spatial distribution of the VESEL around Denmark, we can observe  out of range location, which can sometimes be even inland.  If we see a particular VESEL, its records are quite continuously, but one of them is  verified far away from the other and it looks like a wrong location.  In order to solve these problems and to extract real maritime intelligence from the raw data  points, we process the record to clean the observations and to infer trajectories.  We apply algorithms that we provide as an open source library, HALAS-Proc.  The goal of this algorithm is to transform the punctual VESEL records into valuable trajectories  with their origin and destination, their stops and also the travelling time, the DINSANTS  and even other indicators.  HALAS-Proc.ML library contains different modular algorithms, such as outlier removal or resampling,  that we can combine to create a processing pipeline.  This framework is developed in SCALA and is based on APAC Spark framework to be fully  distributed.  Each block that you can see transforms the input into an output and we call it a transformer.  Those transformers are here applied to VESELs, but it can be applied to any moving object  data.  Then you simply have to import the dependency and use the different functions.  You can find the project on GitHub.  For example, in order to deal with outlier within geolocation, we apply an outlier detection  filter inspired from the AMPAL filter and it computes the GPS speed median over sliding  windows and it identifies unrealistic moves.  Then this wrong location are corrected.  For example, the suspicious location we saw before is filtered and it removed from the  VESEL track.  We have seen that the time between two observations of the same object can be very heterogeneous  in some cases.  Actually we introduced the notion of fragment to represent the information by your time  interval for a given object.  In a fragment, it corresponds to the VESEL behavior between two observations.  It has a geometry representing the travel of the VESEL.  Its dynamics and such a speed are adding an event the VESEL information.  The basic fragments are straight line between two raw observations, but we can also concatenate  it and to create a single longer fragment.  If we focus on the time between observation and distribution, we can say that we use the  fragment concatenation mechanism to harmonize the fragments and to regroup a block of three  minutes.  Now, instead of having a very varying observation, we create new fragments of three minutes.  This aggregation can be done without losing special information.  If the concatenation is the geometry, it has all the small line strings, but we can also  simplify geometries.  Here we can see in red dot the edges of the three minute fragment.  In white dot, you have the raw location records and the geometry fit stored for the trajectory.  It fits the real geometry and it's much smaller for the fragment.  Then the sampling harmonization, it compresses a lot the information and it also makes the  data distribution less sensitive to sampling variations between different objects.  If we want to identify the trajectories, the first step is to analyze, to detect whether  the boat is still or moving.  To do so, we use the Haydn Markov models based on VESEL speed to identify the VESEL mobility.  The HMM models are robust to noise and VESEL speed to avoid switching between steel and  move because of wrong measurement.  Here we can see that the model is quite robust.  If there are some wrong measurements, it's not detected as top, for example.  Thanks to this moving state, we can group all the fragments corresponding to a stop  together.  Here we can see in white.  Here it's a tanker stopped in the sea before a trip that starts after.  We define a course as a travel between two significant stops.  We can use the same process to group all the fragments of a course to create a single course  fragment.  We can then visualize and distinguish the separated travel of the VESEL and explore  their distance and duration or mean speed.  We also know their origin and destination here represented by green and red points.  Once we have the origin and destination, we can enrich the courses with the name of these  locations.  We use the service to get the country and the port name which allows us to select the  fluxes that matter.  If we select the port of Kiel in Germany, for example, we can instantaneously select  all the travels that leave the port and analyze their trajectories and destination.  Here we have all these travels aggregated, but we can also visualize the real tracks  of the selected VESELs.  To recap, ALAS.ProGMA is an open source framework, very complementary to ALAS exploration.  The processing of the data allows much more complete understanding of the VESEL fluxes.  We have seen that activities can be observed directly in ALAS by looking at the tracks,  but the VESEL activities can also be automatically detected from VESEL movements thanks to machine  learning.  Machine learning models can be used to recognize patterns within the moving object data and  to recognize VESELs behavior.  Supervised classification techniques can be used to train the model on identified patterns  and the model can then recognize this pattern on new data.  But it requires a training set containing the data annotated with the patterns and the  quality of the model predictions depends on the quantity and diversity of this annotated  data.  But this training set creation can be really time consuming and it requires tools to visualize  data and to recognize the patterns.  We'll see together how ALAS can help for this training set creation and how it can be integrated  into the machine learning model process creation.  Let's consider one pattern, the fishing activity.  Actually, there are different kinds of fishing vessels with their own strategy and it can  be trawlers, signers, long-liner, drifters.  Knowing where and when these vessels are actually fishing can help to better understand  activities and regulate overfishing, for example.  The fishing activity of a VESEL can be derived from its move and when we select the fishing  vessel tracks, we actually observe the different strategies.  We observe zigzag with the homogeneous speed.  With ALAS, we can quickly visualize these tracks and let's assume we are a fishing expert.  We can finally select the part of trajectory where the vessel is actually fishing and where  it's only moving.  And when the pattern is selected, a tagging system in ALAS allows to annotate the selected  data or fishing or non-fishing, for example.  And when our training set is unsatisfying, we can download the enriched data as a CSV  file directly in the application or via an API.  And now that the training set is available as a CSV file, we can use any classical tools  to create the machine learning models.  We can use psyche, TensorFlow, we can also use different language, Python, Scala, R.  And we can try the models and evaluate their performance according to several metrics such  as accuracy or recall.  And this model classification result can be compared to, according to this metrics, in  tools such as MLflow.  And here we can see that each line represents an experiment and these tools allow to link  metrics with input parameters.  But however, it's also important to visualize the classification results on the real vessel  track to understand where the model performs well and where it lacks accuracy.  And the ALAS Tagger API allows to tag the results and to directly explore it in ALAS.  We can then directly visualize the prediction results over the real tracks.  And we quickly see where the model performs well.  And we can finally analyze the different fishing area and period and it can help decision  makers.  Here we have seen a maritime application, but all these tools can be adapted to any  kind of moving object data.  Then to recap, we have seen that ALAS exploration is an open source geoanalytic tools that allow  to explore massive IAS data set in an interactive map application.  And we have seen that this exploration can be enriched by ALAS Pro-KML, which is also  an open source framework based on Scala Spark to process trajectories and to extract maritime  intelligence.  And finally, we can also use ALAS exploration tagging system to create a training set and  facilitate the creation of machine learning models to dive even deeper in the maritime  activity detections.  And I would like to thank you very much for your attention and feel free to ask any question  and don't hesitate to follow us or contact us for more information.  Thank you.  Thank you.  Thank you, Willie.  Great presentations.  We have some questions here that put it on the screen.  The first is if you use Sedona in your ALAS or Scala Spark inclamation?  Actually, I'm not sure I understand the question.  I could not answer.  I can ask one of our data engineer to if he knows this, but I could not answer.  You showed more of tools in machine learning in the finish of the presentation.  So I think the people can ask you by this email for asking about use of Sedona.  So the next question is can the tool be used to help detect the origin of oil leaks in  the ocean?  How did it happen in Brazil in 2029?  Actually, I think it could be possible.  Actually, it can be applied through any moving object data.  Then if you have the evolution of the oil leaks, maybe it could be visualized in our  ALAS, but we could also process it as a moving object data.  If the oil leaks is seen as an object, then we will not directly extract it from the satellite  image, but if you do this work, it could be followed with such tools yet.  Okay.  Some questions here.  The people say how some talk, how can I run this tech and explore the code?  You can find it on GitHub, on our last project.  And the stack, actually, it will be explained how to deploy all the stacks.  It's only open source tools.  And the ALAS Pro-KML project is also now available as open source, and you can find it on GitHub  too.  I could share the link if you want to specifically, but I think you should find it quite easily.  Okay.  The next question is, does one vessel one have one pair of origin and destination?  Actually, no, it depends on the period you are studying, but if it's a long period, actually,  if the vessel move between ports, we will identify all the different travels, and we  will have different pairs of origin destinations.  And we will really separate them, and we will be able to identify the time traveling and  the average speeds and different indicators.  Okay.  The next question is divided in two, because it's too big, but I think I can show the bottom.  Okay.  It's now.  Is the height of change data is listed, including the IMS or not always available to reliable?  For example, velocity vector, speed and heading.  Yeah.  Yeah, it's part of the IAS data.  There is a speed of our ground of the vessel.  There is the edging and also the course of our ground, and it's part of IAS data.  And we can also recompute it.  In IAS, these data are quite reliable, even as there can be some problems, but we can  also recompute it from the vessel locations to recompute the speed and to compare also  if the sensors are really reliable.  It can be used to it.  Okay.  I see that in chat, some people is sharing the GitHub and the tutorials.  Nice.  So we have next questions, new questions.  Can we adapt the pipelines towards moving objects?  Yes, absolutely.  It's done for this.  Actually, here we just used IAS data as an example to illustrate the process, but actually,  any moving object, it's only an object ID, location, a timestamp.  And with at least only this information, we can process it and we can recompute the dynamics  of the vessel.  We can apply filtering.  We can process it.  And what's nice is that as it's based on the Spark framework, we can deploy it on cluster  to apply it to big amount of data.  Okay.  We have five minutes and three questions to...  No, it's four minutes.  So how representative is your data?  Like what is the percentage of all data?  Of all the data, actually, we can display all the data.  Like we downloaded the IAS data from the Danish maritime authorities.  And for example, there is one file for each day and we process it.  Then after, we can display the entire process data.  I'm not sure I understand the question.  Did you look at the mobility DB for possible options?  I didn't use it, but maybe there are kind of similar features that we can have also in  mobility DB.  Okay.  How will you handle misconfigured timestamp in the IAS data?  There are different...  I'm not sure what is your point about misconfigured data.  Actually most of IAS data timestamp follow a pattern.  We can have different patterns if we find different timestamp patterns within the data.  We can adapt it.  And also, we have the notion when there are gaps in data, we handle it, we identify it.  And for example, sometimes the timestamp is... like there is a kind of permutation between  timestamp and there is one location which was emitted maybe two days ago that appeared  quite easily.  It's quite far and we identify it as outlier and we clean it.  Okay.  And the last question for finish, the presentation is what is the mean of ALAS?  Actually ALAS is a maintain in the Priremia in South of France, close to the Spain border.  And some of the founders of our company come from this area and that way they choose it.  Okay, thank you, Willy.  We... the time is up.  We can cover all the time the presentation.  Thanks for the presentation.  Thanks for your question.  Okay.  If you have any questions to Willy, send an email.  This is on the screen, the address, the mail of the Willy.  So thanks and we'll see you soon in the social gathering in FOSSA GIS mapping of the Buenos  Aires.  Thank you.  Thanks to you all.  I will see you in the next one.
FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_0_359.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_360_1595.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_1596_1691.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_1692_3335.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_3336_3791.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_3792_4403.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_4404_4655.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_4656_5087.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_5088_5711.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_5712_6071.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_6072_7883.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_7884_9467.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_9468_10391.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_10392_11183.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_11184_12227.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_12228_12743.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_12744_13199.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_13200_14411.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_14412_14987.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_14988_15251.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_15252_16631.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_16632_18467.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_18468_19499.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_19500_20039.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_20040_20747.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_20748_21167.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_21168_21599.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_21600_21755.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_21756_22199.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_22200_22619.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_22620_24263.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_24264_24863.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_24864_25259.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_25260_25643.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_25644_25931.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_25932_26231.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_26232_27323.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_27324_27863.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_27864_28571.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_28572_29735.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_29736_30107.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_30108_30875.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_30876_31031.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_31032_44459.png FOSS4G_2021_-_Maritime_Big_Data_analysis_with_ARLA_SsK9C2Sk2xk_44460_44804.png
So, hello everyone. We'll be back with Gautier Wili. I think it is this, the pronouns. So, okay. Hello. Hello. And the next talk is my rhythmic big data analysis with Orla, with Gautier Wili. Gautier is a data scientist from the Department of the Data Science of the Chisaya, I think is this. Wili can say more than I. So, Gautier, this stage is yours. We will have all the time, I think, 20 minutes, okay? Okay. So are you sharing the screen? Okay. Thank you. And hello everyone. I would like to thank the Phosphorji organizer for, and all the speakers for this nice presentation. I'm Wili Gautier. I'm data scientist for Chisaya and we are a small company specialized in geospatial based in Toulouse in South of France. We develop HALAS. It's an open source solution for big geospatial data analysis. So as you know, the maritime industry has become a major part of globalization and 90% of the transportation of the good is globally carried out by more than 80,000 service vessels. Then political and economical actor are meeting challenges regarding shipping and people transport. And today we're going to sit together, or how HALAS can help for maritime big data analysis by exploiting the VESEL automatic identification system. Then we exploit automatic identification system. It's IIS, a safety system which provides information about the VESEL state. But we'll see that this data contains some imperfections. Then we'll see how we face these challenges to clean the data and to infer trajectories with some algorithms that we provide as an open source library. That's HALAS. And finally, we'll see how complex VESEL behaviors can be detected with machine learning models and how HALAS can help in this model creation process. Then first, automatic identification system. It's a safety system that record and broadcast all the VESEL locations. This message is received by other VESEL and it helps them to avoid collision, particularly when the visibility is low. And it also contains information about the VESEL dynamics and characteristics. All the VESELs about a certain size have to be equipped and it results in more than half billion IS message emitted worldwide every day. These messages are collected by ground antenna and satellites and can be a great source of information about the maritime traffic. However, it requires adapted tools to handle such amount of data. The Danish maritime authority provided IS data received around the Danish coast that we will use to illustrate this maritime data analysis. Actually we want to extract maritime intelligence from this cloud of points. However, as often with real world data, IS records are sometimes imperfection. On this topic, I really recommend you a nice paper of Anita Grasseur that explains the different kinds of problems with the continuous data and it provides a methodology to identify these problems. But today we'll focus on some of them, like missing information, like gaps or missing fields, the imprecision and accuracy problem, such as outlier in location, and also consistency problem, such as sampling heterogeneity of the records. Finally, raw IS data doesn't give any information about the VESEL real origin and neither a reliable destination nor about its traveling time. The volumetry of the data requires adapted tools to handle it. To see clearer among these numerous VESEL locations, we use ALAS exploration. It's an open source journal analytics software that allows to visualize and explore the data. It results in an interactive map when we can navigate within the data and explore different components. Then we can see the spatial distribution and we can see the distribution of other components, such as the ship type, and we can apply filter selection to explore the data. It helps to better understand the IS data and its challenges. Here we can observe the spatial distribution and we distinguish the main VESEL fluxes. If we zoom a bit, we can observe the real boat location and here, called by the VESEL type and we can quickly distinguish different behaviors. But there are some imperfections within the data, such as missing or re-renews information. By exploring the IS record, we observe that some of the attributes, like its type or name, are not available in all messages and it can result in data gaps if we select these values. Here for example, for the same VESEL, it has sometimes its type filled as a tanker, but sometimes as undefined, then if we select all the tanker, we will miss many records. Moreover, the time between consecutive records is not always regular and there are some gaps, there are some VESELs emitting every 30 or 10 seconds, but it can be really different and it can result in a misinterpretation of the VESEL densities. Sometimes it's oversampled for the analysis need to have the location every 10 seconds. We also sometimes observe a large jump in GPS location that should not be considered as possible VESEL motion. When we look at the spatial distribution of the VESEL around Denmark, we can observe out of range location, which can sometimes be even inland. If we see a particular VESEL, its records are quite continuously, but one of them is verified far away from the other and it looks like a wrong location. In order to solve these problems and to extract real maritime intelligence from the raw data points, we process the record to clean the observations and to infer trajectories. We apply algorithms that we provide as an open source library, HALAS-Proc. The goal of this algorithm is to transform the punctual VESEL records into valuable trajectories with their origin and destination, their stops and also the travelling time, the DINSANTS and even other indicators. HALAS-Proc.ML library contains different modular algorithms, such as outlier removal or resampling, that we can combine to create a processing pipeline. This framework is developed in SCALA and is based on APAC Spark framework to be fully distributed. Each block that you can see transforms the input into an output and we call it a transformer. Those transformers are here applied to VESELs, but it can be applied to any moving object data. Then you simply have to import the dependency and use the different functions. You can find the project on GitHub. For example, in order to deal with outlier within geolocation, we apply an outlier detection filter inspired from the AMPAL filter and it computes the GPS speed median over sliding windows and it identifies unrealistic moves. Then this wrong location are corrected. For example, the suspicious location we saw before is filtered and it removed from the VESEL track. We have seen that the time between two observations of the same object can be very heterogeneous in some cases. Actually we introduced the notion of fragment to represent the information by your time interval for a given object. In a fragment, it corresponds to the VESEL behavior between two observations. It has a geometry representing the travel of the VESEL. Its dynamics and such a speed are adding an event the VESEL information. The basic fragments are straight line between two raw observations, but we can also concatenate it and to create a single longer fragment. If we focus on the time between observation and distribution, we can say that we use the fragment concatenation mechanism to harmonize the fragments and to regroup a block of three minutes. Now, instead of having a very varying observation, we create new fragments of three minutes. This aggregation can be done without losing special information. If the concatenation is the geometry, it has all the small line strings, but we can also simplify geometries. Here we can see in red dot the edges of the three minute fragment. In white dot, you have the raw location records and the geometry fit stored for the trajectory. It fits the real geometry and it's much smaller for the fragment. Then the sampling harmonization, it compresses a lot the information and it also makes the data distribution less sensitive to sampling variations between different objects. If we want to identify the trajectories, the first step is to analyze, to detect whether the boat is still or moving. To do so, we use the Haydn Markov models based on VESEL speed to identify the VESEL mobility. The HMM models are robust to noise and VESEL speed to avoid switching between steel and move because of wrong measurement. Here we can see that the model is quite robust. If there are some wrong measurements, it's not detected as top, for example. Thanks to this moving state, we can group all the fragments corresponding to a stop together. Here we can see in white. Here it's a tanker stopped in the sea before a trip that starts after. We define a course as a travel between two significant stops. We can use the same process to group all the fragments of a course to create a single course fragment. We can then visualize and distinguish the separated travel of the VESEL and explore their distance and duration or mean speed. We also know their origin and destination here represented by green and red points. Once we have the origin and destination, we can enrich the courses with the name of these locations. We use the service to get the country and the port name which allows us to select the fluxes that matter. If we select the port of Kiel in Germany, for example, we can instantaneously select all the travels that leave the port and analyze their trajectories and destination. Here we have all these travels aggregated, but we can also visualize the real tracks of the selected VESELs. To recap, ALAS.ProGMA is an open source framework, very complementary to ALAS exploration. The processing of the data allows much more complete understanding of the VESEL fluxes. We have seen that activities can be observed directly in ALAS by looking at the tracks, but the VESEL activities can also be automatically detected from VESEL movements thanks to machine learning. Machine learning models can be used to recognize patterns within the moving object data and to recognize VESELs behavior. Supervised classification techniques can be used to train the model on identified patterns and the model can then recognize this pattern on new data. But it requires a training set containing the data annotated with the patterns and the quality of the model predictions depends on the quantity and diversity of this annotated data. But this training set creation can be really time consuming and it requires tools to visualize data and to recognize the patterns. We'll see together how ALAS can help for this training set creation and how it can be integrated into the machine learning model process creation. Let's consider one pattern, the fishing activity. Actually, there are different kinds of fishing vessels with their own strategy and it can be trawlers, signers, long-liner, drifters. Knowing where and when these vessels are actually fishing can help to better understand activities and regulate overfishing, for example. The fishing activity of a VESEL can be derived from its move and when we select the fishing vessel tracks, we actually observe the different strategies. We observe zigzag with the homogeneous speed. With ALAS, we can quickly visualize these tracks and let's assume we are a fishing expert. We can finally select the part of trajectory where the vessel is actually fishing and where it's only moving. And when the pattern is selected, a tagging system in ALAS allows to annotate the selected data or fishing or non-fishing, for example. And when our training set is unsatisfying, we can download the enriched data as a CSV file directly in the application or via an API. And now that the training set is available as a CSV file, we can use any classical tools to create the machine learning models. We can use psyche, TensorFlow, we can also use different language, Python, Scala, R. And we can try the models and evaluate their performance according to several metrics such as accuracy or recall. And this model classification result can be compared to, according to this metrics, in tools such as MLflow. And here we can see that each line represents an experiment and these tools allow to link metrics with input parameters. But however, it's also important to visualize the classification results on the real vessel track to understand where the model performs well and where it lacks accuracy. And the ALAS Tagger API allows to tag the results and to directly explore it in ALAS. We can then directly visualize the prediction results over the real tracks. And we quickly see where the model performs well. And we can finally analyze the different fishing area and period and it can help decision makers. Here we have seen a maritime application, but all these tools can be adapted to any kind of moving object data. Then to recap, we have seen that ALAS exploration is an open source geoanalytic tools that allow to explore massive IAS data set in an interactive map application. And we have seen that this exploration can be enriched by ALAS Pro-KML, which is also an open source framework based on Scala Spark to process trajectories and to extract maritime intelligence. And finally, we can also use ALAS exploration tagging system to create a training set and facilitate the creation of machine learning models to dive even deeper in the maritime activity detections. And I would like to thank you very much for your attention and feel free to ask any question and don't hesitate to follow us or contact us for more information. Thank you. Thank you. Thank you, Willie. Great presentations. We have some questions here that put it on the screen. The first is if you use Sedona in your ALAS or Scala Spark inclamation? Actually, I'm not sure I understand the question. I could not answer. I can ask one of our data engineer to if he knows this, but I could not answer. You showed more of tools in machine learning in the finish of the presentation. So I think the people can ask you by this email for asking about use of Sedona. So the next question is can the tool be used to help detect the origin of oil leaks in the ocean? How did it happen in Brazil in 2029? Actually, I think it could be possible. Actually, it can be applied through any moving object data. Then if you have the evolution of the oil leaks, maybe it could be visualized in our ALAS, but we could also process it as a moving object data. If the oil leaks is seen as an object, then we will not directly extract it from the satellite image, but if you do this work, it could be followed with such tools yet. Okay. Some questions here. The people say how some talk, how can I run this tech and explore the code? You can find it on GitHub, on our last project. And the stack, actually, it will be explained how to deploy all the stacks. It's only open source tools. And the ALAS Pro-KML project is also now available as open source, and you can find it on GitHub too. I could share the link if you want to specifically, but I think you should find it quite easily. Okay. The next question is, does one vessel one have one pair of origin and destination? Actually, no, it depends on the period you are studying, but if it's a long period, actually, if the vessel move between ports, we will identify all the different travels, and we will have different pairs of origin destinations. And we will really separate them, and we will be able to identify the time traveling and the average speeds and different indicators. Okay. The next question is divided in two, because it's too big, but I think I can show the bottom. Okay. It's now. Is the height of change data is listed, including the IMS or not always available to reliable? For example, velocity vector, speed and heading. Yeah. Yeah, it's part of the IAS data. There is a speed of our ground of the vessel. There is the edging and also the course of our ground, and it's part of IAS data. And we can also recompute it. In IAS, these data are quite reliable, even as there can be some problems, but we can also recompute it from the vessel locations to recompute the speed and to compare also if the sensors are really reliable. It can be used to it. Okay. I see that in chat, some people is sharing the GitHub and the tutorials. Nice. So we have next questions, new questions. Can we adapt the pipelines towards moving objects? Yes, absolutely. It's done for this. Actually, here we just used IAS data as an example to illustrate the process, but actually, any moving object, it's only an object ID, location, a timestamp. And with at least only this information, we can process it and we can recompute the dynamics of the vessel. We can apply filtering. We can process it. And what's nice is that as it's based on the Spark framework, we can deploy it on cluster to apply it to big amount of data. Okay. We have five minutes and three questions to... No, it's four minutes. So how representative is your data? Like what is the percentage of all data? Of all the data, actually, we can display all the data. Like we downloaded the IAS data from the Danish maritime authorities. And for example, there is one file for each day and we process it. Then after, we can display the entire process data. I'm not sure I understand the question. Did you look at the mobility DB for possible options? I didn't use it, but maybe there are kind of similar features that we can have also in mobility DB. Okay. How will you handle misconfigured timestamp in the IAS data? There are different... I'm not sure what is your point about misconfigured data. Actually most of IAS data timestamp follow a pattern. We can have different patterns if we find different timestamp patterns within the data. We can adapt it. And also, we have the notion when there are gaps in data, we handle it, we identify it. And for example, sometimes the timestamp is... like there is a kind of permutation between timestamp and there is one location which was emitted maybe two days ago that appeared quite easily. It's quite far and we identify it as outlier and we clean it. Okay. And the last question for finish, the presentation is what is the mean of ALAS? Actually ALAS is a maintain in the Priremia in South of France, close to the Spain border. And some of the founders of our company come from this area and that way they choose it. Okay, thank you, Willy. We... the time is up. We can cover all the time the presentation. Thanks for the presentation. Thanks for your question. Okay. If you have any questions to Willy, send an email. This is on the screen, the address, the mail of the Willy. So thanks and we'll see you soon in the social gathering in FOSSA GIS mapping of the Buenos Aires. Thank you. Thanks to you all. I will see you in the next one.
So as you know, the maritime industry has become a major part of globalization and 90% of the challenges regarding shipping and people which provides information about the VESEL state. messages are collected by ground antenna and information about the maritime traffic. However, of data. The Danish maritime authority provided see clearer among these numerous VESEL locations, data and explore different components. Then we create a processing pipeline. This framework is it corresponds to the VESEL behavior between two location records and the geometry fit stored for to analyze, to detect whether the boat is still or moving. To do so, we use the Haydn Markov models based on VESEL speed to identify the VESEL top, for example. Thanks to this moving state, we travel of the VESEL and explore their distance destination, we can enrich the courses with the name of these locations. We use the service to to select the fluxes that matter. If we select consuming and it requires tools to visualize data when these vessels are actually fishing can help these tools can be adapted to any kind of moving trajectories and to extract maritime is can the tool be used to help detect the origin ports, we will identify all the different them, and we will be able to identify the time from the vessel locations to recompute the speed this information, we can process it and we can framework, we can deploy it on cluster to apply