Latest / Satellite image deep learning / Methane Plume Detection with AutoML
Transcript
- 0:04SPEAKER_01: Hi, Julia.
- 0:04SPEAKER_01: Welcome to the podcast.
- 0:05SPEAKER_00: Hi, Robin.
- 0:07SPEAKER_00: So nice to be here.
- 0:08SPEAKER_01: Let's begin with where you work and what you do.
- 0:11SPEAKER_00: So I'm a PhD student at Leiden University.
- 0:13I study computer science and I work together with atmospheric
- 0:18scientists at Space
- 0:20SPEAKER_00: Research Organisation Netherlands.
- 0:23And we work on machine learning pipelines to find atmospheric
- 0:27gases like methane.
- 0:29SPEAKER_01: Right.
- 0:29SPEAKER_01: So methane detection, it's kind of a big topic at the moment.
- 0:33SPEAKER_01: What's significant about methane?
- 0:36SPEAKER_00: So methane is a very strong greenhouse gas,
- 0:39but it only stays in the atmosphere for a relatively short time
- 0:43compared to CO2.
- 0:44So any methane we can avoid emitting right now could make big
- 0:52impacts on our global
- 0:54SPEAKER_00: warming on a short time scale.
- 0:58SPEAKER_01: Great.
- 0:58SPEAKER_01: So how is your research connected to that?
- 1:02So I design machine learning pipelines for plume detection in
- 1:08the data of a very
- 1:09SPEAKER_00: specific instrument,
- 1:10SPEAKER_00: TROPOMI,
- 1:11SPEAKER_00: on a board of Sentinel-5P.
- 1:14And this is a spectrometer that measures concentrations of
- 1:17different gases.
- 1:19SPEAKER_00: It looks very different.
- 1:20SPEAKER_00: If you look at the images,
- 1:21SPEAKER_00: it looks very different from optical instruments like Sentinel-2,
- 1:26SPEAKER_00: which is much better known.
- 1:27SPEAKER_00: So it has its own quirks and requires separate pipelines.
- 1:33SPEAKER_01: Right.
- 1:33Could you briefly describe what a typical image might look like
- 1:36and how it differs?
- 1:37SPEAKER_00: Yeah, so one pixel for methane is about 5 by 7 kilometers.
- 1:43SPEAKER_00: So if we're looking for methane point sources,
- 1:47SPEAKER_00: that sometimes can even be a whole city at that scale.
- 1:54SPEAKER_00: There's just one channel,
- 1:56SPEAKER_00: and the channel has methane concentration,
- 1:58but the satellite data product also has other fields that I use
- 2:02with auxiliary
- 2:03SPEAKER_00: information like cloud masks,
- 2:06SPEAKER_00: surface pressure,
- 2:08SPEAKER_00: albedo,
- 2:09SPEAKER_00: all kind of information.
- 2:12that is used in the retrieval of the methane concentrations
- 2:15from the light spectra
- 2:17SPEAKER_00: that are measured.
- 2:17SPEAKER_00: And sometimes when a piece of land has very high reflectivity,
- 2:25SPEAKER_00: then this can lead to errors in the retrieval.
- 2:28So then it might sometimes look like there's a methane bloom
- 2:31when there's not.
- 2:32SPEAKER_00: But in fact, it looks...
- 2:35grainy is not the right word because it's pixely image very low
- 2:41resolution but high
- 2:43spectral resolution right so you might even have just like a
- 2:46single pixel that's
- 2:48telling you there's a plume sometimes yes those are tricky
- 2:52incredible it sounds
- 2:53SPEAKER_01: very challenging how have you gone about detecting them
- 2:57So the atmospheric scientists I work with already developed a
- 3:01pipeline that kind of
- 3:02SPEAKER_00: uses divide-and-conquer approach,
- 3:05SPEAKER_00: first with a CNN to find all the images with a plume-like shape,
- 3:09and then they use the support vector machine with
- 3:12physics-derived features to
- 3:16SPEAKER_00: really discern the real plumes from the artifacts,
- 3:19SPEAKER_00: the things that look like plumes but are not.
- 3:22So I wanted to extend this approach also to other gases
- 3:26measured by tropomy.
- 3:27So I wanted to use automated feature extraction,
- 3:30which brings us to neural networks.
- 3:31SPEAKER_00: So end-to-end CNNs.
- 3:34SPEAKER_00: But still there are differences between the gases.
- 3:38SPEAKER_00: Plumes looked
- 3:41background levels of the gas too if you compare for example
- 3:45methane and carbon
- 3:46monoxide so i developed a neuroarchitecture search approach
- 3:51that automatically
- 3:52designs neural networks to find plumes in these different
- 3:55tropomy gases interesting
- 3:58so just so i understand the first network is doing a
- 4:00classification just saying
- 4:02SPEAKER_01: this image has or does not have a plume in it
- 4:07Yeah,
- 4:07so the original approach does as the two steps,
- 4:10and we have bundled this into one.
- 4:13So we have now one neural network that has access to multiple
- 4:18fields of the Tripomi
- 4:19SPEAKER_00: data product.
- 4:20SPEAKER_00: Well, in the original pipeline, this was
- 4:23SPEAKER_00: The CNN had only access to methane,
- 4:26SPEAKER_00: and then there was a classical machine learning model on top,
- 4:29which would use many other fields from the data product to
- 4:34calculate all sorts of
- 4:35SPEAKER_00: related features.
- 4:37SPEAKER_00: This was very specific to methane,
- 4:39SPEAKER_00: and by designing a neural network that takes a raster data cube as input,
- 4:45SPEAKER_00: we could generalize the solution to have our gases too.
- 4:49SPEAKER_01: Okay,
- 4:49SPEAKER_01: so going from the two-stage solution to a single neural network,
- 4:52SPEAKER_01: but lots of optimization to find the right parameters for that network.
- 4:57SPEAKER_01: Yes.
- 4:58SPEAKER_01: Okay.
- 4:59SPEAKER_01: Do you mind giving us an idea about neural architecture search then?
- 5:04SPEAKER_00: Yeah,
- 5:05SPEAKER_00: so in this approach,
- 5:07SPEAKER_00: we use optimization algorithm,
- 5:11SPEAKER_00: Bayesian optimization to fine tune both the architecture and the training
- 5:16SPEAKER_00: hyperparameters of these CNNs that we use for data fusion.
- 5:21SPEAKER_00: And in this neuroarchitecture search, we tweak a few things.
- 5:28We have designed a backbone,
- 5:30CNN,
- 5:31that has effectively multiple input branches.
- 5:34SPEAKER_00: So if you have multiple input modalities,
- 5:36SPEAKER_00: so each modality is a different layer from the data product,
- 5:39SPEAKER_00: it gets its own input branch.
- 5:41SPEAKER_00: And the neuroarchitecture search optimizes how deep these branches are,
- 5:47SPEAKER_00: and how the branches are then fused in the neural network,
- 5:51SPEAKER_00: and also what the backbone architecture is,
- 5:53because you can have a vanilla CNN or ResNet or even a vision
- 5:58transformer.
- 5:59SPEAKER_00: And the optimization also takes care of
- 6:03the hyperparameters because when you change the depth of these
- 6:09multi-branch
- 6:09SPEAKER_00: networks,
- 6:11SPEAKER_00: then the optimal hyperparameters can also change drastically.
- 6:14SPEAKER_00: So it's very important to tune those in tandem.
- 6:18SPEAKER_01: Okay.
- 6:18SPEAKER_01: So you basically define the inputs,
- 6:20give it some range to search over and it somehow intelligently
- 6:25finds the right
- 6:26SPEAKER_01: parameters or identifies a few different possible solutions.
- 6:30SPEAKER_00: Yes.
- 6:31SPEAKER_01: Right, okay.
- 6:32SPEAKER_01: And what are the results like using this approach?
- 6:36SPEAKER_00: So on the test set, you got really good results of 95% accuracy.
- 6:43SPEAKER_00: This was for methane and similar results for carbon monoxide.
- 6:47SPEAKER_00: So we're very happy with that.
- 6:49SPEAKER_00: But of course,
- 6:51SPEAKER_00: for us,
- 6:52SPEAKER_00: or for me personally,
- 6:53SPEAKER_00: the goal was to make a pipeline that would also be usable in real life.
- 6:57SPEAKER_00: So we also conducted...
- 7:01SPEAKER_00: deployment scenario analysis,
- 7:03SPEAKER_00: reuse case application,
- 7:05SPEAKER_00: where we took just a week of satellite data,
- 7:10SPEAKER_00: which was only filtered for quality.
- 7:12SPEAKER_00: And there have to be sufficient valid pixels also in each image.
- 7:17And we fed that into our model and we labeled all the images
- 7:21that were detected as plume.
- 7:23SPEAKER_00: So not everything,
- 7:24SPEAKER_00: because there were more or less 17,000 images,
- 7:27SPEAKER_00: and it's not doable to label all of those in a reasonable amount of time.
- 7:32SPEAKER_00: So we labeled the detections,
- 7:33and we compared our results with analysis from the pre-existing
- 7:38pipeline to see,
- 7:39SPEAKER_00: like,
- 7:39SPEAKER_00: is this something,
- 7:40SPEAKER_00: this automatically created network,
- 7:43SPEAKER_00: could we use this operationally?
- 7:47SPEAKER_00: So there the results were surprising, because methane plums are very...
- 7:52SPEAKER_00: Very rare.
- 7:54But our data set was mostly balanced because you cannot train a
- 7:56neuron network on
- 7:57SPEAKER_00: extremely imbalanced data.
- 8:00But in a real world scenario,
- 8:02we did find a lot of plumes,
- 8:05but also about as many artifacts.
- 8:08So the model flagged things that looked kind of like plumes,
- 8:11but were not.
- 8:14SPEAKER_00: More than we'd like.
- 8:16SPEAKER_00: because that means that in the operational case,
- 8:18SPEAKER_00: the precision was about 50%,
- 8:21SPEAKER_00: 60%,
- 8:21SPEAKER_00: even though on the label test set,
- 8:25SPEAKER_00: we got like 95%.
- 8:26SPEAKER_00: So there's a generalization gap there,
- 8:28which of course also comes partly from the difference in class
- 8:32balances between the
- 8:32SPEAKER_00: datasets.
- 8:34And this is an issue we're still working on right now on how to
- 8:40get this gap
- 8:41SPEAKER_00: smaller,
- 8:43SPEAKER_00: because on the one hand,
- 8:45SPEAKER_00: If you increase the precision, then you might lose too many plumes.
- 8:49SPEAKER_00: But if the precision is not high enough,
- 8:51SPEAKER_00: then you have to label a lot of images that might not be plumes.
- 8:55SPEAKER_00: So this is something I'd like to improve in the next project.
- 8:59SPEAKER_01: And do you think that needs to be addressed in training or in the data?
- 9:02SPEAKER_01: What are you thinking?
- 9:04SPEAKER_00: Yeah, so we've looked at the data in detail.
- 9:08SPEAKER_00: I think it has to do with the data in some way,
- 9:13SPEAKER_00: because of course we selected,
- 9:15SPEAKER_00: or not me,
- 9:16SPEAKER_00: but the PhD student who made the original dataset,
- 9:20SPEAKER_00: selected images based on their knowledge of where blooms occur.
- 9:25SPEAKER_00: So there is always some kind of selection bias.
- 9:29SPEAKER_00: Even though they selected a very large rift,
- 9:33SPEAKER_00: different locations and types of plumes,
- 9:36SPEAKER_00: I suspect there may be something with sampling going on.
- 9:43So maybe there are some specific types of plumes that we have a
- 9:47lot of in our data
- 9:48SPEAKER_00: sets,
- 9:48SPEAKER_00: but that occur a bit less in real life.
- 9:51SPEAKER_00: I think it's something slightly like that.
- 9:52SPEAKER_01: Okay.
- 9:55So it sounds like you could almost do some kind of
- 9:57investigation to try and
- 9:58SPEAKER_01: understand the different plumes,
- 9:59get an idea of how the different classes of plumes are maybe
- 10:02represented and start
- 10:05SPEAKER_01: to address any imbalances.
- 10:07SPEAKER_00: Yes, definitely.
- 10:08And now Svon has a lot of knowledge on this because they have
- 10:11been running
- 10:12SPEAKER_00: operational detections for a few years now,
- 10:14where every week there's two different methane analysis experts
- 10:18who look at the
- 10:19SPEAKER_00: predictions of their model.
- 10:23So we are working on this together to see how we can improve
- 10:27the data set for my model.
- 10:29Because I think the key distinction here is that the original
- 10:31data set was designed
- 10:33SPEAKER_00: for this two-step approach.
- 10:35SPEAKER_00: And my model,
- 10:37SPEAKER_00: because it's end-to-end,
- 10:39SPEAKER_00: might require something different,
- 10:41but we're not yet sure what we would need to change on the
- 10:44original dataset.
- 10:45SPEAKER_01: Fascinating.
- 10:47SPEAKER_01: I just want to cover the architecture search a little bit more.
- 10:50SPEAKER_01: So you had two gases.
- 10:52SPEAKER_01: Do the models end up being the same?
- 10:53SPEAKER_01: Are they different somehow?
- 10:56SPEAKER_00: They were a little bit different.
- 10:59SPEAKER_00: The same backbones tended to be selected,
- 11:02SPEAKER_00: because I found that we included a lot of different backbones.
- 11:05So as I said,
- 11:06very simple ones,
- 11:06just the vanilla CNN,
- 11:08two more complex models.
- 11:11SPEAKER_00: The more complex backbones,
- 11:12SPEAKER_00: like vision transformers,
- 11:13SPEAKER_00: were never selected in the best configurations.
- 11:16SPEAKER_00: And the best models for both gases tended to be the simple CNNs.
- 11:22SPEAKER_00: which was interesting finding because it's not,
- 11:26SPEAKER_00: it kind of contradicts the trend in general computer vision.
- 11:30I think it just has to do with that our data sets are still
- 11:33relatively small and
- 11:34SPEAKER_00: remote sensing data can also be a bit more complex than natural images,
- 11:39SPEAKER_00: smaller features,
- 11:40SPEAKER_00: for instance.
- 11:42SPEAKER_00: So that was part one.
- 11:44SPEAKER_00: And then,
- 11:46There was a small difference between architectures that came
- 11:50out for the two gases.
- 11:53It was mostly the depth of the input branches was different,
- 11:58the ideal input depth.
- 12:01SPEAKER_01: Right.
- 12:01SPEAKER_01: Okay.
- 12:01Possibly related to the complexity of identifying one gas
- 12:05versus other classes.
- 12:08SPEAKER_00: Yes.
- 12:09SPEAKER_00: Yes.
- 12:09Because carbon monoxide is a slightly easier problem because
- 12:12the background levels
- 12:14SPEAKER_00: of carbon monoxide in the atmosphere are lower.
- 12:17SPEAKER_00: So the plumes are a bit clearer.
- 12:19SPEAKER_01: Right.
- 12:20SPEAKER_01: Okay.
- 12:20SPEAKER_01: And this approach, is it open source?
- 12:24SPEAKER_01: Is it something that people can apply to their own problems?
- 12:29SPEAKER_00: Yes, definitely.
- 12:30SPEAKER_00: We have the code on GitHub.
- 12:33SPEAKER_00: And so we evaluated this specifically with Tripomi or Sentinel 5P data,
- 12:37SPEAKER_00: but in principle,
- 12:38SPEAKER_00: it could work for any data fusion approach,
- 12:42SPEAKER_00: also with different numbers of modalities.
- 12:45So the standard data fusion scenario in remote sensing is with
- 12:49two modalities,
- 12:50SPEAKER_00: for example,
- 12:51SPEAKER_00: optical and LIDAR or radar.
- 12:54SPEAKER_00: But for us, there's no such restriction.
- 12:56The model will automatically adapt to the number of modalities
- 13:00that you need.
- 13:02SPEAKER_01: Amazing.
- 13:03SPEAKER_01: Okay.
- 13:03SPEAKER_01: Well, thanks for giving us an overview.
- 13:05SPEAKER_01: You've got a paper out at the moment.
- 13:08SPEAKER_00: Yes.
- 13:09SPEAKER_01: And where is that?
- 13:11SPEAKER_00: It's an IEEE JSTARS.
- 13:15SPEAKER_00: Oh God, let me look up.
- 13:17I always forget what the full name of this journal is because
- 13:20it's very long.
- 13:24It's the Journal of Selected Topics and Applied Earth
- 13:27Observations and Remote Sensing.
- 13:29SPEAKER_01: Right, okay.
- 13:30SPEAKER_01: And the title of the paper is?
- 13:32SPEAKER_00: Auto Merge Net.
- 13:34SPEAKER_01: Auto Merge Net.
- 13:36SPEAKER_01: Okay.
- 13:36SPEAKER_01: Yeah, that's easy to remember, isn't it?
- 13:38SPEAKER_01: Auto Merge Net.
- 13:38SPEAKER_01: Brilliant.
- 13:39SPEAKER_01: Okay.
- 13:40SPEAKER_01: So paper's coming out.
- 13:41SPEAKER_01: Code is out there.
- 13:42SPEAKER_01: The solutions are being deployed and kind of refined in time.
- 13:47How does this tie in with everything else you want to achieve
- 13:49in your PhD?
- 13:52SPEAKER_00: Yeah, so it's now the last year of my PhD.
- 13:54I'm very happy that this paper is out because we've worked on
- 13:57this for a very long time.
- 13:58Now I'm thinking about how I can find a satisfying ending to
- 14:05this story before I wrap up.
- 14:07So we are working now on a new project,
- 14:11specifically looking at the data we discussed earlier.
- 14:14SPEAKER_00: And I also have some architectural ideas
- 14:17to further leverage the knowledge Esron mainly has about the
- 14:21problem in our approach.
- 14:26And we already looked a little bit at the data and we found
- 14:29only one small issue
- 14:31related to representation bias that we addressed in a workshop
- 14:35paper at the machine
- 14:37SPEAKER_00: learning workshop.
- 14:38SPEAKER_00: from ECML PKDD,
- 14:40where we found that our dataset accidentally had a correlation
- 14:46between the number
- 14:46SPEAKER_00: of missing pixels in an image and the label.
- 14:49So we had a lot of images without plumes with many missing
- 14:53pixels and very few
- 14:56SPEAKER_00: images of plumes with a lot of missing pixels.
- 14:59SPEAKER_00: So the models were learning how to count missing pixels a little bit.
- 15:07SPEAKER_00: But it was fairly easy to solve and we published also those techniques.
- 15:10SPEAKER_00: So that was step one of diving into the data.
- 15:14SPEAKER_00: And before the end of my PhD, I hope to
- 15:18SPEAKER_00: at least have a better understanding of what causes this knowledge,
- 15:22this generalization gap between the test scores that we found
- 15:25and operational keys.
- 15:26SPEAKER_00: Yeah.
- 15:28SPEAKER_00: So fingers crossed for that.
- 15:30SPEAKER_01: Brilliant.
- 15:30SPEAKER_01: Okay.
- 15:31SPEAKER_01: Well, exciting stuff, getting close to the end.
- 15:33SPEAKER_01: Lots of interesting work coming in the pipeline as well.
- 15:36SPEAKER_01: If people want to follow along your updates, which is the best platform?
- 15:40SPEAKER_00: Yeah, so probably LinkedIn or follow my Google Scholar.
- 15:43SPEAKER_00: I also post updates about my research sometimes on my website.
- 15:49SPEAKER_00: Specifically,
- 15:49SPEAKER_00: I've written a few blog posts on machine learning for Earth observation,
- 15:53SPEAKER_00: specifically for computer scientists,
- 15:55SPEAKER_00: because when I did my first project with remote sensing data,
- 16:01I had to learn very quickly that it's not just like any other
- 16:05data and there's
- 16:05SPEAKER_00: quite a lot of extra knowledge even about file types,
- 16:09SPEAKER_00: et cetera,
- 16:10SPEAKER_00: that you need.
- 16:11SPEAKER_00: So I wrote some blog posts about that that people can read.
- 16:15SPEAKER_01: Brilliant.
- 16:16SPEAKER_01: Okay.
- 16:16SPEAKER_01: I'll put all those links in the show notes.
- 16:19SPEAKER_01: Once again, thank you for joining me today.
- 16:21SPEAKER_01: Fascinating topic and all the best with the final year.
- 16:24SPEAKER_00: Thanks.
- 16:25SPEAKER_01: See ya.
- 16:27SPEAKER_00: See ya.