Latest / Satellite image deep learning / BetaEarth: Open Embeddings of Sentinel-2 and Sentinel-1 with a Little Help of AlphaEarth
Transcript
- 0:06SPEAKER_00: Hi Miko, welcome back to the podcast.
- 0:08SPEAKER_01: Hey, it's good to be back.
- 0:10SPEAKER_00: Excellent.
- 0:11SPEAKER_00: It's been a little while.
- 0:11SPEAKER_00: What's the news on your side?
- 0:15SPEAKER_01: Plenty of news.
- 0:15SPEAKER_01: I'm not sure where to start.
- 0:17SPEAKER_01: I know we'll cover a better earth today,
- 0:19but there have been plenty of things we've been involved with
- 0:23in Adasterisk Labs.
- 0:25SPEAKER_01: We are a worker-led cooperative research lab, and we mostly
- 0:29look for interesting applications of open data that tells us
- 0:34something about the Earth.
- 0:36SPEAKER_01: So plenty of things going on.
- 0:37SPEAKER_01: I don't want to go into too much detail given the time constraint.
- 0:40But betaEarth is one of our organic contributions where I've
- 0:46just spun a site
- 0:49SPEAKER_01: project for a few days.
- 0:50SPEAKER_01: And it turned out to be interesting enough to share with the community.
- 0:54SPEAKER_00: Amazing.
- 0:54SPEAKER_00: All right.
- 0:55SPEAKER_00: And betaEarth, that sounds familiar.
- 0:57SPEAKER_00: AlphaEarth, is it related?
- 0:59SPEAKER_01: Yes,
- 1:01I think at some point there was this opportunity to write a
- 1:08short paper for the IRS
- 1:10SPEAKER_01: PRS session on embeddings,
- 1:12SPEAKER_01: and there was one idea that I had on my mind for a while.
- 1:16SPEAKER_01: which was basically related to the Alpha Earth release from last year.
- 1:20And I think it was one of the first major embedding product
- 1:27releases that we've seen.
- 1:28SPEAKER_01: Right now, this is getting more popular, but
- 1:31SPEAKER_01: I think it officially,
- 1:33SPEAKER_01: well,
- 1:33maybe semi-officially launched during Living Planet Symposium
- 1:37in June at the ESA
- 1:39SPEAKER_01: event.
- 1:40And it was quite interesting because while being the first
- 1:45major embedding product
- 1:47SPEAKER_01: release,
- 1:47it was also the first one where we've seen a closed model and
- 1:51an open embedding
- 1:52SPEAKER_01: product.
- 1:53SPEAKER_01: And that was quite interesting to me because
- 1:56It seems like an obvious thing to do as well in the sense that
- 2:01you can protect your
- 2:02SPEAKER_01: IP of your model.
- 2:03SPEAKER_01: You have full control of who runs the model and where and how.
- 2:08SPEAKER_01: And at the same time,
- 2:08SPEAKER_01: you can provide a global and a huge product to the community for free,
- 2:15SPEAKER_01: essentially.
- 2:17What was quite interesting to me is apart from being a really
- 2:20capable model,
- 2:22SPEAKER_01: it was interesting to me to think about how
- 2:25SPEAKER_01: safe this is.
- 2:27SPEAKER_01: And obviously,
- 2:28whenever we use an AI model and real workflows with Earth
- 2:32Observation data,
- 2:34we often want to have this access and get an idea of how the
- 2:37model behaves rather
- 2:38SPEAKER_01: than just the end product.
- 2:40So it immediately was interesting to me to think about how much
- 2:44you can actually
- 2:44SPEAKER_01: retrieve,
- 2:46how much you can actually emulate the original model's behavior
- 2:49from its embedding
- 2:50SPEAKER_01: outputs alone.
- 2:52SPEAKER_00: Right.
- 2:53SPEAKER_00: Well, that's the motivation.
- 2:55SPEAKER_00: What's the results look like?
- 2:58OK,
- 2:58so I guess I can share the screen and just give you a quick run
- 3:02through the repo.
- 3:05SPEAKER_01: And at the same time,
- 3:06I don't know if we want to explain what AlphaRF does for people
- 3:11who might not be
- 3:11SPEAKER_01: familiar.
- 3:12SPEAKER_01: Yeah, let's do that.
- 3:15SPEAKER_01: Let me just share the screen.
- 3:19Alpha Earth takes in many inputs,
- 3:21probably more than any other model I've seen.
- 3:24SPEAKER_01: Yes, it's a huge product.
- 3:27SPEAKER_01: It's probably a fairly complex model, unlike Beta Earth.
- 3:34SPEAKER_01: It mostly relies,
- 3:35SPEAKER_01: interestingly,
- 3:36SPEAKER_01: on public free data,
- 3:40SPEAKER_01: essentially,
- 3:41SPEAKER_01: from Sentinel-2,
- 3:42SPEAKER_01: Sentinel-1,
- 3:43SPEAKER_01: Landsat.
- 3:44SPEAKER_01: and a bunch of other supporting sensors.
- 3:47And it's quite interesting because it uses some of these
- 3:52sensors as targets or some
- 3:54SPEAKER_01: of the products as targets,
- 3:55SPEAKER_01: some of them as inputs,
- 3:57SPEAKER_01: so mostly Sentinel-2,
- 3:58SPEAKER_01: Sentinel-1,
- 3:58SPEAKER_01: and Landsat.
- 3:59SPEAKER_01: And some of them it uses as both inputs and targets.
- 4:02SPEAKER_01: So it's sort of like a hybrid workflow.
- 4:07And what's also interesting is that it's a fairly complex model
- 4:09that has these
- 4:11really interesting modules that take care of the temporal
- 4:17understanding of these
- 4:18SPEAKER_01: sequences.
- 4:18So in principle,
- 4:19you can create an embedded product that describes any range of
- 4:23time from
- 4:26SPEAKER_01: I would assume any subset of the modalities.
- 4:29So you can basically say that you want descriptor for this sort
- 4:31of time range,
- 4:33SPEAKER_01: and these are the sources that you have available.
- 4:35And in the case of the embedding product that everyone has
- 4:38access to,
- 4:38it's an annual product.
- 4:40So they try to describe a full year of observations with the
- 4:43data that exists there.
- 4:45If I scroll down to the very bottom,
- 4:47there should be,
- 4:48or maybe not the bottom,
- 4:49somewhere here,
- 4:51SPEAKER_01: There should be another, I don't know if you can see.
- 4:54SPEAKER_01: You can go to the original product and access it for free.
- 4:57There is also a mirror on source co-op where you can access
- 5:02this data without
- 5:03SPEAKER_01: Google Earth Engine as well.
- 5:05SPEAKER_01: But in any case,
- 5:06SPEAKER_01: we only have access to the annual product,
- 5:08SPEAKER_01: so that obviously limits what we can emulate.
- 5:10We can only emulate the annual product,
- 5:12really,
- 5:13because that's what we have access to.
- 5:14SPEAKER_01: But in principle,
- 5:16SPEAKER_01: Alpha Earth could produce higher granularity,
- 5:19SPEAKER_01: and a lot of users were interested in that.
- 5:22SPEAKER_01: And at the same time,
- 5:22SPEAKER_01: there's also a discussion about how much sense it makes to go into final
- 5:27granularity because very often the annual product is supposed
- 5:32to encode all of this
- 5:33SPEAKER_01: information from a full year.
- 5:34SPEAKER_01: So in principle,
- 5:36SPEAKER_01: even if you're interested in a specific month of the year,
- 5:38SPEAKER_01: in a specific dynamic,
- 5:40SPEAKER_01: it should
- 5:42it would ideally be also covered by the annual product and you
- 5:44have multiple annual
- 5:45products so in principle we have access to everything um so i
- 5:49know like the teams
- 5:49are like alpha earth and tessera do work on that quite a lot on
- 5:53like trying to find
- 5:54these right parameters to produce embedded products that make
- 5:57it practical and also
- 6:00SPEAKER_01: efficient enough to store and distribute.
- 6:02SPEAKER_01: Because it's a huge product.
- 6:03SPEAKER_01: And there was an interesting discussion as well in the very early days of
- 6:07SPEAKER_01: embeddings where they were mostly interpreted as tools of compression.
- 6:12SPEAKER_01: And it turns out that if you have,
- 6:14SPEAKER_01: for many different,
- 6:15SPEAKER_01: for many types of embedding products,
- 6:17SPEAKER_01: you actually inflate your data in a way.
- 6:20SPEAKER_01: Or at least you create a product that's very, very bulky.
- 6:23SPEAKER_01: And that's the case for Altverif as well.
- 6:29SPEAKER_00: So I think Alpha Earth is 64 channels,
- 6:33SPEAKER_00: which would be more than Sentinel-2 as a global mosaic,
- 6:37SPEAKER_00: but possibly better than if you had all these different data sources.
- 6:41SPEAKER_01: Exactly.
- 6:42SPEAKER_01: It's supposed to compress multiple sources.
- 6:44So I haven't seen much work into that,
- 6:47but it would be interesting to also
- 6:49SPEAKER_01: explore this compression angle.
- 6:52SPEAKER_01: Because you are compressing multiple temporal samples.
- 6:55SPEAKER_01: So it's 64 channels,
- 6:59but it's derived from probably quite a few Sentinel-2
- 7:02observations Sentinel-1.
- 7:04SPEAKER_01: I mean, it's up to the designer how much goes into that.
- 7:08SPEAKER_00: Yeah.
- 7:08SPEAKER_00: And it's not just compression,
- 7:09because it should be somehow more meaningful than the
- 7:13combination of the inputs.
- 7:15SPEAKER_01: Yeah, exactly.
- 7:15SPEAKER_01: So I mean, that's another aspect that
- 7:19SPEAKER_01: depending on the model architecture,
- 7:22unless your model workflow is operating exclusively in pixel
- 7:29domain where you just
- 7:29process temporal sequences of pixels and you never actually use
- 7:35any of the
- 7:36SPEAKER_01: neighborhood context,
- 7:38SPEAKER_01: unless you do that,
- 7:38you actually have a lot of additional information flow that
- 7:41goes into every single
- 7:43SPEAKER_01: pixel,
- 7:44SPEAKER_01: embedding pixel,
- 7:45SPEAKER_01: from its neighbors.
- 7:46SPEAKER_01: So it could be an additional context that tells you that
- 7:49SPEAKER_01: hey,
- 7:49SPEAKER_01: this is an agricultural field,
- 7:51SPEAKER_01: but it also happens to be quite close to,
- 7:54SPEAKER_01: I don't know,
- 7:54SPEAKER_01: this type of infrastructure or whatever.
- 7:56SPEAKER_01: So it's already determined by the architecture that you use.
- 8:01And in case of the beta earth,
- 8:04we do use a segformer and we also use dyno backbone.
- 8:09SPEAKER_01: So actually this sort of neighborhood context can be leveraged as well.
- 8:15SPEAKER_00: OK, that's a good place to start.
- 8:16So the architecture you mentioned,
- 8:17it's basically a segmentation approach.
- 8:21SPEAKER_01: And again, this was mostly an experimental workflow.
- 8:24SPEAKER_01: So if I just find the right place here,
- 8:26there's like eight models that I've released with various
- 8:33training strategies,
- 8:34SPEAKER_01: with various architectures.
- 8:36SPEAKER_01: The Dino is an interesting experiment because in principle,
- 8:40some of the experiments I've done for Beta Earth were mostly
- 8:42exploring how much,
- 8:44SPEAKER_01: how cheap you can make this,
- 8:46SPEAKER_01: how close you can replicate this without changing models.
- 8:50SPEAKER_01: much of some pre-training weights.
- 8:52SPEAKER_01: And dyno is an interesting backbone.
- 8:55SPEAKER_01: So we've used that, but it's only with three-channel input.
- 8:59SPEAKER_01: So what we can do is actually create these primitives,
- 9:02SPEAKER_01: three-channel primitives,
- 9:03SPEAKER_01: not only for the RGB,
- 9:04SPEAKER_01: but also for infrared bands and so on and so on.
- 9:08And surprisingly,
- 9:09you can get fairly comparable cosine similarity with these
- 9:14primitives.
- 9:16SPEAKER_01: Same with LandUseLandCover.
- 9:18SPEAKER_01: And then there's an even simpler version,
- 9:21SPEAKER_01: and that's the segformer model,
- 9:23SPEAKER_01: where I only use Sentinel-2 RGB bands,
- 9:26SPEAKER_01: and we still get about 0.83 cosine similarity,
- 9:30SPEAKER_01: and fairly OK.
- 9:31land cover not amazing and none of the models are as good as
- 9:34alpha earth is so
- 9:35that's like that's one disclaimer it's a it's a fairly
- 9:37lightweight model that just
- 9:38allows you to play with these embeddings more but they are not
- 9:41the same quality as
- 9:43alpha earth but they can be very cheap to run and again like an
- 9:46rgb is an amazing
- 9:47example we just use optical rgb to approximate a lot of the
- 9:50information in the
- 9:51signal which i think that a lot of people on linkedin have
- 9:54already like asked about
- 9:56SPEAKER_01: that and now i think like
- 9:59There's probably an interesting finding here where a lot of the
- 10:02information in
- 10:03SPEAKER_01: Alpha Earth,
- 10:04SPEAKER_01: despite this being a temporal descriptor,
- 10:06SPEAKER_01: is actually static.
- 10:07So it does contain a lot of time-agnostic information about a
- 10:14given region that
- 10:15SPEAKER_01: just tells you the overall context,
- 10:17SPEAKER_01: the type of land cover,
- 10:18SPEAKER_01: and so on.
- 10:19So that's why I would assume that we can get fairly high
- 10:23performance from just one
- 10:25SPEAKER_01: non-temporal sample in just RGB channels.
- 10:28Yeah,
- 10:29so do you think LULC is maybe just one example you might want
- 10:32to compare against?
- 10:34SPEAKER_01: Yeah, it's not a particularly challenging benchmark.
- 10:37SPEAKER_01: And again, this goes back to this being a side project.
- 10:40So I'd be keen to know what kind of performance people manage
- 10:44to get with these encoders.
- 10:48SPEAKER_01: I would imagine they won't be as high quality as Alpha Earth.
- 10:54SPEAKER_01: But I think they also can be
- 10:58SPEAKER_01: quite agnostic.
- 11:02They could be still quite useful embeddings or encodings of the
- 11:08observational data.
- 11:09And the nice thing about it is that you have full control of
- 11:12which samples go into
- 11:13SPEAKER_01: your embedding.
- 11:14SPEAKER_01: So when we run the demo, we can actually specify
- 11:18SPEAKER_01: the time range, the sensors, and how basically they're weighted down.
- 11:25SPEAKER_01: The core model is monotemporal,
- 11:27SPEAKER_01: so you just specify which day of year your samples are from,
- 11:32SPEAKER_01: you pass them through it,
- 11:33SPEAKER_01: and you have some approximation of the annual product,
- 11:36SPEAKER_01: and then you can do it for multiple
- 11:38time stamps and average in any way you like,
- 11:41which also gives you some interesting...
- 11:42SPEAKER_01: So,
- 11:43SPEAKER_01: like,
- 11:43most of the experiments I've done weren't really with very
- 11:46specific downstream
- 11:47SPEAKER_01: tasks,
- 11:47but instead they were focused on cosine similarity to test
- 11:52different strategies for
- 11:53merging these embeddings from different times of the year and
- 11:56from different
- 11:57SPEAKER_01: sensors.
- 11:57SPEAKER_01: Like, for instance,
- 11:59Sentinel-2 will always give you the highest performance and the
- 12:01best approximation
- 12:02SPEAKER_01: compared to,
- 12:03SPEAKER_01: for instance,
- 12:04SPEAKER_01: Sentinel-1.
- 12:05SPEAKER_01: So sometimes the question is like,
- 12:06does it even make sense to add Sentinel-1 if you only care
- 12:09about cosine similarity?
- 12:11SPEAKER_01: And that will also be task specific.
- 12:12So there's like plenty of experimental work you can do there to
- 12:16kind of see how
- 12:17SPEAKER_01: different modalities and timestamps,
- 12:19SPEAKER_01: depending on location,
- 12:20SPEAKER_01: affect your final embedding and ultimately the performance on your task.
- 12:25SPEAKER_00: Right,
- 12:25so the objective is to put these models out there and then see
- 12:28how people can
- 12:29SPEAKER_00: evaluate them for different kind of tasks.
- 12:32SPEAKER_01: Yeah, so I have other things going on, obviously.
- 12:36SPEAKER_01: So this is a side project, so I will probably test them myself.
- 12:40SPEAKER_01: Currently, I'm mostly interested in
- 12:43and trying to link existing embeddings or existing latent
- 12:49spaces of the models that
- 12:51SPEAKER_01: we have with representations that are slightly easier to control,
- 12:56SPEAKER_01: such as text,
- 12:57SPEAKER_01: such as multilingual text.
- 12:58SPEAKER_01: And hopefully,
- 13:00SPEAKER_01: in the next few months,
- 13:00SPEAKER_01: we'll see another release that will actually be,
- 13:04SPEAKER_01: I think,
- 13:04SPEAKER_01: more interesting than BetaEarth.
- 13:05But BetaEarth is probably something I will also test with these
- 13:09specific bridges
- 13:11SPEAKER_00: Fantastic, very exciting.
- 13:13SPEAKER_00: So that's the models.
- 13:16SPEAKER_01: I can maybe show you the demo then just to,
- 13:19SPEAKER_01: so like if you go to the GitHub repo,
- 13:21you will find links to all of the models and there will be
- 13:26different ways of
- 13:27SPEAKER_01: running the models.
- 13:29SPEAKER_01: So you can use the pip install, run it locally.
- 13:33You can even instantiate your own streamlet app the same way I
- 13:37did for the demo,
- 13:39SPEAKER_01: but you will see in a minute.
- 13:41SPEAKER_01: You can use the existing call-up notebooks.
- 13:43You can load it from,
- 13:44like you can,
- 13:45the first one is for a monotemporal example with Major Tom.
- 13:48And the second one allows you to do anything you like over any
- 13:50spatial temporal context.
- 13:52So you can,
- 13:52there's many ways to get started,
- 13:54but I will just click on the demo.
- 13:58SPEAKER_01: So this is the demo on Hugging Face.
- 14:00SPEAKER_01: And just for the sake of time,
- 14:02I will use the local version of the same demo just so it runs a
- 14:08little bit faster.
- 14:09SPEAKER_00: All right,
- 14:09SPEAKER_00: so it's a pretty,
- 14:11SPEAKER_00: I guess,
- 14:11standard sort of map-based interface where you can draw the
- 14:14region you care about
- 14:15and select some other parameters and then hit a button and in
- 14:18the background the
- 14:19SPEAKER_00: model is going to generate some embeddings.
- 14:21SPEAKER_01: Exactly.
- 14:22SPEAKER_01: And I've probably spent more time making this demo,
- 14:24SPEAKER_01: like,
- 14:24SPEAKER_01: same amount of time as I have,
- 14:26SPEAKER_01: like,
- 14:26SPEAKER_01: writing the actual model.
- 14:27SPEAKER_01: So, like, both models and the app were, like, super, super...
- 14:31SPEAKER_01: fast to do.
- 14:34SPEAKER_01: And I guess,
- 14:34SPEAKER_01: like,
- 14:35SPEAKER_01: it's less,
- 14:35SPEAKER_01: the app itself is less trivial than the model because I mean,
- 14:40Gradio is probably the most common way of producing these
- 14:43hugging face demos,
- 14:44SPEAKER_01: but it doesn't work that good with maps.
- 14:47SPEAKER_01: You can use,
- 14:47SPEAKER_01: like,
- 14:48SPEAKER_01: a folium extension for Gradio,
- 14:50SPEAKER_01: but it doesn't work very well with accepting the input.
- 14:53SPEAKER_01: So, in this case, we're using a streamlet version.
- 14:57SPEAKER_01: And yeah, it works.
- 14:58SPEAKER_01: So, I can, I don't know.
- 15:00SPEAKER_01: I can maybe select some footprint
- 15:05SPEAKER_01: And we have pretty much full control here.
- 15:09SPEAKER_01: So we can use an annual product, which obviously takes more time.
- 15:14SPEAKER_01: Or we can use a custom date.
- 15:15SPEAKER_01: So let's use one month of July in 2023.
- 15:21SPEAKER_01: We can save per time stamp embedding.
- 15:23SPEAKER_01: So in case you want to limit the memory usage of your app,
- 15:27SPEAKER_01: you can switch that off if you just want the final embedding.
- 15:30But I'm going to switch it on just so we can see how these
- 15:32different components
- 15:33SPEAKER_01: actually contribute to the final descriptor.
- 15:36SPEAKER_01: And we can also save that prior timestamp input.
- 15:39It also saves a manifest JSON that tells you which products
- 15:42went into this
- 15:43SPEAKER_01: embedding,
- 15:43which is another nice thing to have when you actually work with
- 15:47these products.
- 15:48And that's one thing that's maybe missing that we'll hopefully
- 15:51see more in the
- 15:52future when you actually know how a specific embedding product
- 15:55was created.
- 15:56SPEAKER_01: So let's generate it.
- 15:58SPEAKER_01: It first loads a model,
- 16:00SPEAKER_01: it downloads the DEM,
- 16:01SPEAKER_01: and then from Planetary Computer,
- 16:03SPEAKER_01: it will download Sentinel-2 and Sentinel-1 data,
- 16:05SPEAKER_01: I think.
- 16:09SPEAKER_00: It's only one month, so it's pretty good.
- 16:13Yes,
- 16:14and pretty much you can connect it to any source of Sentinel-2
- 16:17or Sentinel-1 data.
- 16:20SPEAKER_01: These are the two modalities that I just found most universe,
- 16:24SPEAKER_01: like most versatile,
- 16:27SPEAKER_01: and yeah,
- 16:28SPEAKER_01: it's...
- 16:29SPEAKER_01: Here it is.
- 16:30SPEAKER_01: So right now we see the 2023 average from all products,
- 16:35but we can also observe individual products from a specific
- 16:38date and also the
- 16:40SPEAKER_01: products that went into them.
- 16:41SPEAKER_01: In this case, we have a lot of cloud coverage from Sentinel Tools.
- 16:44SPEAKER_01: This makes it an interesting example because it's Sentinel.
- 16:48SPEAKER_01: You can see that the Sentinel one product is much cleaner.
- 16:51It produces a less affected embedding where you can see how
- 16:55cloud affected the embedding here.
- 16:59SPEAKER_01: And the final output,
- 17:00SPEAKER_01: once you average it out,
- 17:01you actually get something that's quite similar to the original
- 17:03Sentinel one
- 17:04SPEAKER_01: product just because that's the more reliable source of data.
- 17:07SPEAKER_01: You can play with a macro cloud cover if you like.
- 17:09SPEAKER_01: Obviously in Scotland,
- 17:12SPEAKER_01: bring variable results, but you can always rely on Sentinel-1.
- 17:16SPEAKER_01: But then in general,
- 17:17SPEAKER_01: like for many regions,
- 17:18SPEAKER_01: Sentinel-1 will give you a worse approximation of the annual embedding.
- 17:24SPEAKER_01: So there's that.
- 17:25SPEAKER_01: So you generally want,
- 17:27SPEAKER_01: I think,
- 17:27to have a healthy amount of Sentinel-2 data if you want to
- 17:30approximate Alpha Earth.
- 17:32SPEAKER_00: Interesting.
- 17:33So it's basically got more information,
- 17:35Sentinel-2,
- 17:36as far as Alpha Earth is concerned.
- 17:37SPEAKER_01: Mm-hmm.
- 17:38SPEAKER_01: And obviously,
- 17:39a large portion of the pipeline is also figuring out how to
- 17:43deal with maybe
- 17:46SPEAKER_01: non-standard footprints.
- 17:49SPEAKER_01: Most of the models will have a limited receptive field.
- 17:53By the way,
- 17:53you can download this as zip so you have access to all the
- 17:56information.
- 17:56SPEAKER_01: But I'm going to rerun for this on this weird footprint.
- 18:01But a lot of this comes down to how expensive it is to do some
- 18:05overlap and to merge
- 18:06SPEAKER_01: embeddings from different sources and different crops.
- 18:09SPEAKER_00: Question on the detail there,
- 18:11because I've seen a few examples of embeddings over large areas
- 18:14where you can see
- 18:15SPEAKER_00: this kind of tiling artifact.
- 18:17SPEAKER_00: So how do you handle that with embeddings versus just RGB?
- 18:21SPEAKER_01: It's a good question.
- 18:22SPEAKER_01: I think this is maybe a slightly under,
- 18:26SPEAKER_01: at least in the space of open source,
- 18:28SPEAKER_01: it's a slightly under-explored aspect.
- 18:32SPEAKER_01: Because effectively what you do is you apply some type of like top result
- 18:36linear merging and you you merge well i'm not an expert in
- 18:39creating mosaics to be
- 18:40fair so i don't know what's the state of the art when it comes
- 18:43to mixing rgb data
- 18:45but in terms of embeddings you often just like average and do
- 18:48some like smoothing
- 18:49between different crops and i think that's about it it would be
- 18:52really again it's
- 18:53an interesting it's an interesting direction for the future is
- 18:55to like find like
- 18:57better ways and smarter ways to mix data from from different
- 19:00crops yeah because it
- 19:03the difference is that one patch has a limited context you move
- 19:06along that has
- 19:07different context that affects the embeddings yeah and
- 19:11sometimes it's it's it's
- 19:12really tricky like the simple simple uh simple mixing like
- 19:17linear mixtures are
- 19:19often suboptimal um but again it goes back to to what you
- 19:24really want to do with
- 19:24SPEAKER_01: the embeddings because
- 19:26In order for an embedding product to be useful,
- 19:28it doesn't necessarily have to look great.
- 19:31We like looking at PCAs because it looks fun,
- 19:33but PCAs are not really useful on their own.
- 19:38It only gets useful once you connect to another model and
- 19:40perform your downstream task.
- 19:42So the chances are that the models can still be fine with these
- 19:47artifacts.
- 19:48SPEAKER_01: Especially if you train on artifacts,
- 19:51SPEAKER_01: you might be able to get some immunity against this effect.
- 19:55SPEAKER_01: Definitely.
- 19:56SPEAKER_00: Looks like it's generated something over the water there as well.
- 19:59SPEAKER_00: What's that?
- 20:00SPEAKER_00: Sorry?
- 20:01SPEAKER_00: Looking at that latest embedding, what am I saying?
- 20:03SPEAKER_00: Some details over the water itself?
- 20:06SPEAKER_01: Yeah.
- 20:06SPEAKER_01: I mean, I would expect there to be some detail.
- 20:09I don't know how useful these details are,
- 20:11but it will usually produce something like that.
- 20:15SPEAKER_01: Obviously, you get a lot of speckle in Sentinel-1.
- 20:18SPEAKER_01: Again, an interesting...
- 20:21direction would be to look into how,
- 20:23like,
- 20:23Sentinel-1 behaves and how it affects embeddings.
- 20:25Because,
- 20:25again,
- 20:25like,
- 20:25what I found is,
- 20:26like,
- 20:27GEM probably tells you the least.
- 20:29SPEAKER_01: Obviously, it just tells you the terrain.
- 20:31So it's just,
- 20:32like,
- 20:33it gets you to,
- 20:34let me see,
- 20:36it gets you to,
- 20:36like,
- 20:36some interesting,
- 20:39SPEAKER_01: 0.541 cosine similarity.
- 20:42SPEAKER_01: So not trivial either.
- 20:43You can see that a large amount of information comes from the
- 20:46shape of the terrain itself.
- 20:48SPEAKER_01: But then Sentinel-1 is 0.71, for instance.
- 20:51SPEAKER_01: And then you can get as high as 80s when you add Sentinel-2.
- 20:59SPEAKER_01: And then finally, when you combine all of them, it's on average is 872.
- 21:02SPEAKER_01: But what's interesting as well is this dynamic changes.
- 21:07modalities are useful to combine depends on where you are and
- 21:12also what exact
- 21:14SPEAKER_01: effect you want to model.
- 21:16SPEAKER_01: So again,
- 21:17SPEAKER_01: I'm not sure how performant this model is,
- 21:20SPEAKER_01: but someone can always reuse the same code and train a better model.
- 21:25But what it does allow us to experiment with these sort of flow
- 21:28dynamics from
- 21:29SPEAKER_01: different modalities and sampling and so on,
- 21:31SPEAKER_01: because a lot of this could really
- 21:35The optimal configuration could really depend on your task and
- 21:37spatiotemporal
- 21:39SPEAKER_01: context of interest.
- 21:41SPEAKER_00: Absolutely.
- 21:41I think it's really opening the Pandora's box of opportunities
- 21:46for experimentation.
- 21:47I can see that quite a few masters and PhD students are going
- 21:51to be kept busy.
- 21:54SPEAKER_01: There are quite a few groups, really amazing work.
- 21:58SPEAKER_01: There's definitely,
- 21:58SPEAKER_01: like,
- 21:58SPEAKER_01: some papers that actually measure,
- 22:01try to approximate the information content depending on where
- 22:04you are in the
- 22:05SPEAKER_01: embedding itself.
- 22:07SPEAKER_01: So I think,
- 22:07SPEAKER_01: like,
- 22:07SPEAKER_01: there's,
- 22:08SPEAKER_01: just like with any,
- 22:09SPEAKER_01: like,
- 22:09SPEAKER_01: deep,
- 22:10SPEAKER_01: like,
- 22:11SPEAKER_01: multilayer model,
- 22:12SPEAKER_01: there's a lot to be discovered once you start really probing things.
- 22:15SPEAKER_01: And, like, this is, I think, what we need in the community.
- 22:18SPEAKER_01: Like, thankfully, we have
- 22:19SPEAKER_01: other models like Tessera, like OlmoEarth that we have more access to.
- 22:23SPEAKER_01: So we can do a lot of that work.
- 22:25BetaEarth is more like an experiment that tells you how easy it
- 22:29is to maybe
- 22:29SPEAKER_01: reconstruct these models from embeddings alone.
- 22:33And I also think that potentially embeddings could be an
- 22:36interesting additional
- 22:37SPEAKER_01: regularization in your training regime.
- 22:39SPEAKER_01: So when you don't have that much data,
- 22:42SPEAKER_01: you can also use this as a model,
- 22:44SPEAKER_01: as a signal that you want to approximate.
- 22:45SPEAKER_01: Or you can reuse BetaEarth
- 22:49pre-trained weights as well if you want something that's quite
- 22:52agnostic and also
- 22:52cheap to do or maybe you have a different architecture that you
- 22:56want to use not
- 22:58that that is not covered uh within within this github repo so
- 23:01you just take that
- 23:02architecture take alpha rf embeddings and you do some
- 23:04pre-training on that and then
- 23:05maybe you you have some specific task in mind that you later
- 23:08want to find you know
- 23:09yeah and just a really i guess niche point but what's what's
- 23:13the licensing
- 23:15SPEAKER_00: situation around using embeddings in that way
- 23:18SPEAKER_01: So I think it really depends on who releases the embeddings and how.
- 23:22SPEAKER_01: In the case of Google embeddings, it's a Creative Commons license.
- 23:29SPEAKER_01: Yeah.
- 23:30And technically,
- 23:31you have to use this specific attribution text when you
- 23:38re-release embeddings.
- 23:39SPEAKER_01: In our case, we are not re-releasing embeddings.
- 23:42SPEAKER_01: We are releasing a model that approximates these embeddings
- 23:46SPEAKER_01: But still,
- 23:47SPEAKER_01: I've created the links to the original data set,
- 23:50SPEAKER_01: and I've added the attribution at the very end.
- 23:52SPEAKER_01: But it's another interesting point.
- 23:54SPEAKER_01: And I mean,
- 23:55SPEAKER_01: obviously,
- 23:55like with AI and with models that regenerate some specific data
- 23:59artifacts,
- 23:59SPEAKER_01: there is an interesting discussion
- 24:01SPEAKER_01: about how they link to their training data.
- 24:06SPEAKER_01: And obviously there's a lot of unresolved issues,
- 24:09especially in the computer vision community or like creative
- 24:12arts community in the
- 24:13SPEAKER_01: mainstream AI that,
- 24:14SPEAKER_01: I mean,
- 24:15SPEAKER_01: there's still a lot
- 24:16SPEAKER_01: a lot of gray area and there's a lot of,
- 24:19SPEAKER_01: obviously,
- 24:20even violation where you release a model even though the
- 24:23training data didn't
- 24:24SPEAKER_01: really necessarily allow for this type of output.
- 24:29SPEAKER_01: So maybe this is, I mean,
- 24:31SPEAKER_01: I'm really not sure where this leads in the error observation community.
- 24:36SPEAKER_01: I think it will be slightly different and maybe slightly less sensitive.
- 24:39I think it gets very sensitive when you have artists produce
- 24:43artworks and then be
- 24:45SPEAKER_01: completely detached from the product.
- 24:48SPEAKER_01: And in this case,
- 24:49we have an open source solution built on top of another open
- 24:52source solution
- 24:53SPEAKER_01: effectively in case of the training data.
- 24:57SPEAKER_00: very interesting topic in itself.
- 24:58SPEAKER_00: Well, thanks so much for the overview and the demo.
- 25:01SPEAKER_00: I just wanted to finish by asking you why you chose the carrot.
- 25:05I was just looking for something I could represent with an
- 25:10emoji and something that
- 25:12SPEAKER_01: is easy to remember.
- 25:13SPEAKER_01: And Beta Earth is because of Alpha Earth and then
- 25:19And the only thing I could really think about is beta-carotene
- 25:22for the emoji association.
- 25:27SPEAKER_01: So I chose a carrot.
- 25:28There was a lot of internal discussions,
- 25:30because at some point the carrot had a face.
- 25:32SPEAKER_01: And it was a very controversial topic, an asterisk.
- 25:36And right now,
- 25:37we have this faceless carrot that I hope will be good enough.
- 25:41SPEAKER_00: I don't know.
- 25:41SPEAKER_00: I can see a mouth and a couple of eyes and that.
- 25:45SPEAKER_00: Maybe.
- 25:47SPEAKER_00: Wonderful.
- 25:47SPEAKER_00: Well, thanks again.
- 25:48Looking forward to seeing the impact in the community and
- 25:52seeing how people pick this up.
- 25:54SPEAKER_00: And as you said, you have a few ideas how it could be taken forward.
- 25:58SPEAKER_00: So let's see what comes along.
- 26:00SPEAKER_00: I'll put the link to the repository in the show notes.
- 26:03But once again,
- 26:03thanks for joining me and look forward to hearing more in the
- 26:06future.
- 26:07SPEAKER_01: Perfect.
- 26:08SPEAKER_01: Thank you for having me.
- 26:09SPEAKER_01: Cheers.
- 26:10SPEAKER_01: Cheers.