NASA ARSET Classification Methods for Land Cover P
The Story
Welcome to another highly technical and informative episode of the NASA Live Video Podcast: "NASA ARSET: Classification Methods for Land Cover."In this episode, we dive into the core engine of geospatial analysis—turning raw satellite imagery into meaningful, actionable maps. Mapping Earth's surface is essential for tracking urbanization, agricultural expansion, and ecosystem health, but achieving this requires robust, scientific image classification methods.
Through the framework of NASA’s Applied Remote Sensing Training (ARSET) program, we provide a comprehensive overview of the primary classification techniques used in remote sensing today. We break down the differences between pixel-based and object-based image analysis (OBIA), and contrast traditional methods like Supervised and Unsupervised classification with modern Machine Learning approaches—including Random Forest, Support Vector Machines (SVM), and Classification and Regression Trees (CART). Additionally, we discuss how to assess map accuracy to ensure your land cover datasets are reliable for decision-making.
Whether you are a GIS professional, an urban planner, an environmental scientist, or a space enthusiast curious about how computer algorithms read satellite data from orbit, this episode offers essential insights into modern data processing. Subscribe to the NASA Live Video Podcast to stay updated on the frontier of earth science, satellite imagery, and global exploration!
Speaker 1: Hello everyone, and welcome to Part one of the r
Speaker 1: SET training on visualizing land cover and land use change
Speaker 1: with NASA Satellite Imagery. My name is Justin Fain and
Speaker 1: I'm part of the r SET Ecological Conservation Team based
Speaker 1: out of the NASA AMES Research Center at the south
Speaker 1: end of San Francisco Bay. Before we get into the presentation,
Speaker 1: I'd like to take a moment to tell you about
Speaker 1: our set. Our SET is the Applied Remote Sensing Training Program.
Speaker 1: We provide free trainings on a variety of topics which
Speaker 1: are divided into thematic areas, which is what you see
Speaker 1: listed here on the right. We do our best to
Speaker 1: listen to feedback from our audience to make sure we're
Speaker 1: doing trainings on the topics you're most interested in. We
Speaker 1: cover remote sensing satellites, sensors, methods, and tools at various
Speaker 1: levels of complexity, from the fundamental's remote sensing to advanced trainings.
Speaker 1: Our SET trainings come in a few different formats. They
Speaker 1: can be online or in person, live and in stry,
Speaker 1: doctor led or asynchronous and self paste, but they're always
Speaker 1: provided free of charge. Many of our trainings are available
Speaker 1: with bilingual or multi lingual options. We use only open
Speaker 1: source software and data, and the trainings are targeted at
Speaker 1: a variety of levels of expertise. Let's take a quick
Speaker 1: look at what we'll be covering in this training and
Speaker 1: some of the things I hope I hope you will
Speaker 1: take away. These are the learning objectives for the entire
Speaker 1: two part training, of which this is part one. By
Speaker 1: the end of this training, you will be able to
Speaker 1: access NASA Earth Observation data HLS, in this case relevant
Speaker 1: to land cover and land use change mapping, convert NASA
Speaker 1: Earth observation data into distinct land covered land use classes
Speaker 1: using supervised and unsupervised machine learning classification methods in the
Speaker 1: our programming language. Recognize the role of classification methods as
Speaker 1: one part of a change monitoring strategy. Computer a chain
Speaker 1: matrix representing the change in land cover and land use
Speaker 1: between two dates, and create a map in our studio
Speaker 1: to visualize the differences in land cover and land use
Speaker 1: between two dates. We're going to cover a lot of
Speaker 1: background information today, and some of it may be seem
Speaker 1: boring or pointless, but please stick with me anyway. By
Speaker 1: the end of this first part, you're going to understand
Speaker 1: how to produce and analyze these maps. More importantly, you'll
Speaker 1: learn the principles which make these maps possible so that
Speaker 1: you can apply them to your own work. The prerequisites
Speaker 1: to get the most out of this training are the
Speaker 1: fundamentals of remote sensing course and some experience working with
Speaker 1: our and our studio. If you're comfortable with our but
Speaker 1: prefer to use a different ID, that's fine as well.
Speaker 1: Note that I'm not asking you to have downloaded any
Speaker 1: of the code or data for this training. I'm going
Speaker 1: to be jumping back and forth between slides and code
Speaker 1: later in a way that would be.
Speaker 2: Hard to follow.
Speaker 1: I've also gone ahead and prepared some of the parts
Speaker 1: of the code which take a while to run, so
Speaker 1: that we can keep the training moving along instead of
Speaker 1: silently watching progress bars. So I suggest that you follow
Speaker 1: along with presentation and then explore the code after the
Speaker 1: training is concluded. The code and data I'll be using
Speaker 1: in both sessions of this training will be available on
Speaker 1: the rset GitHub, which you can find from the training
Speaker 1: web page, along with these slides, a recording of this
Speaker 1: presentation and all other materials. If you're not familiar with
Speaker 1: cloning data from a GitHub repository, don't worry We've got
Speaker 1: you covered on that topic as well. We have a
Speaker 1: short video linked on the training web page which covers
Speaker 1: the cloning operation without too much extra detail. This is
Speaker 1: the first part of a two part training. The next
Speaker 1: session will be at the same time two days from now,
Speaker 1: on February twenty sixth. The homework for this training will
Speaker 1: open after the second session and is due two weeks
Speaker 1: later on March twelfth. You can find the homework on
Speaker 1: the training web page. We'll send out a certificate of
Speaker 1: completion to all who attend and both parts of this
Speaker 1: training and complete the homework on time. With logistics covered,
Speaker 1: we can begin Part one classification methods for land cover.
Speaker 1: As I said, my name is Justin Fain and I
Speaker 1: will be the sole trainer for both parts one and two.
Speaker 1: I'm a research scientist with NASA AMES and the Bay
Speaker 1: Area Environmental Research Institute based in Mountain View, California. We
Speaker 1: went over the objectives for the training, but here's a
Speaker 1: broad overview of what we're going to do in this section.
Speaker 1: In particular, please put any questions into the Q and
Speaker 1: A box. In this training, We've got a bunch of
Speaker 1: our set people watching the Q and A who are
Speaker 1: working to answer your questions while I'm presenting. We'll try
Speaker 1: to answer any questions you submit at the end of
Speaker 1: the training, but any questions we don't get to, either
Speaker 1: because of time or because they require us some extra
Speaker 1: time for us to fully answer will be answered in
Speaker 1: that Q and a document and uploaded to the training
Speaker 1: web page in a week or so. The questions you
Speaker 1: ask and the responses we get from you and the
Speaker 1: post training surveys help us decide on topics for future
Speaker 1: RSET trainings, so your contributions.
Speaker 2: Are greatly appreciated.
Speaker 1: Now we can get started. There are a few terms
Speaker 1: we need to define so that we can start with
Speaker 1: a shared vocabulary to discuss land cover and land use change.
Speaker 1: Land cover is a directly observable description of what's on
Speaker 1: the ground at a particular place on Earth. Land use
Speaker 1: is a derived class which is related to land cover
Speaker 1: but concerned with function. These two concepts are often grouped
Speaker 1: together and written as lc LU or less commonly in the.
Speaker 2: Reverse order LULC.
Speaker 1: Though they're related, land cover and land use aren't the
Speaker 1: same thing. Consider a forest, we can directly observe the trees,
Speaker 1: so the land cover would be forests or trees, but
Speaker 1: if the trees are a part of a national forest,
Speaker 1: the land use might be recreational. If instead those trees
Speaker 1: are being grown for timber production, then we might call
Speaker 1: the land use industrial forestry. We can track the change
Speaker 1: in land covered land use over time, which gives us
Speaker 1: the acronym lc LUC, commonly pronounced el Sae luck. The
Speaker 1: things which influence Elsie luck are often referred to as
Speaker 1: the drivers of change. We will be discussing classification methods,
Speaker 1: which you might expect to be complicated and math heavy,
Speaker 1: but the conceptual framework is really incredibly simple. Classification is
Speaker 1: the process of dividing things into groups called categories or classes.
Speaker 1: The classification models or classifiers we will explore are simply
Speaker 1: using math to do the sort of grouping tasks we
Speaker 1: do every day without even.
Speaker 2: Realizing that we're doing so.
Speaker 1: You put shoes on your feet because you classify them
Speaker 1: by their foot unction. You eat food and not stones
Speaker 1: because you classify them by their adibility. You decided to
Speaker 1: attend this training because you classified it as being valuable
Speaker 1: to you, and thanks for that.
Speaker 2: By the way.
Speaker 1: At the bottom, I have a random assortment of symbols
Speaker 1: in a set we could only broadly categorize things. From
Speaker 1: this set of things, we can explore some of the
Speaker 1: possible classifications we might want to apply. For example, this
Speaker 1: group represents plants. We may further categorize those plants based
Speaker 1: on other shared characteristics like edibility or growth habit. The
Speaker 1: uncategorized plant symbols here, which appear to represent some flowers
Speaker 1: and holly, might be sorted into a category for decorative plants.
Speaker 1: The remaining elements in our set of things make up
Speaker 1: the Knoll class. These elements aren't necessarily unrelated, but rather
Speaker 1: they're simply not captured by the categories we've chosen to
Speaker 1: focus on. I provide an example of classification in the
Speaker 1: previous slide, but that example was abstract and simplified, so
Speaker 1: it might not be immediately obvious how this applies to
Speaker 1: your real life and real work. Personally, I retain concepts
Speaker 1: way better when they're functionally embodied, which is to say,
Speaker 1: their concepts I can imagine myself using. So here, I
Speaker 1: have some questions and statements which I hope to help
Speaker 1: you imagine how you might relate these concepts outside of
Speaker 1: these training. Land cover and land use is concerned with
Speaker 1: the question what is that over there and describes the
Speaker 1: features on the landscape. The land use portion is specifically
Speaker 1: concerned with its function. Assigning a class is asking what
Speaker 1: kind of thing that is, as in which category should
Speaker 1: it be sorted into. A classifier assigns a class or
Speaker 1: kind of thing based on the property it shares with
Speaker 1: other things. Land Cover and land use change is keeping
Speaker 1: track of what class was assigned to a certain part
Speaker 1: of the earth at one time and comparing that to
Speaker 1: the same location at some other time. The drivers or
Speaker 1: driver of change are forces and conditions which caused the
Speaker 1: land cover land used class to change or in some cases,
Speaker 1: prevented it from changing. Natural areas that are protected by
Speaker 1: law from changing are a good example. So why is
Speaker 1: any of this interesting to study at all? Land cover
Speaker 1: and land use describes the way things are arranged on.
Speaker 2: The surface of the earth.
Speaker 1: These features and their arrangement changed do the and due
Speaker 1: to the influence of drivers, which may reveal information about
Speaker 1: the drivers themselves. Forest fires, urban growth erosion, landslides, and
Speaker 1: crop land expansion are just a few examples of the
Speaker 1: land cover and land use changes we see. When we
Speaker 1: talk about land cover and land use classes, we're dividing
Speaker 1: things based on shared characteristics that lets us reason about
Speaker 1: the relationships between classes, such as what makes some classes
Speaker 1: similar and others different. This also gives us the information
Speaker 1: we need to start examining the potential drivers of change.
Speaker 1: By sorting land cover into discrete classes, we can use
Speaker 1: repeated remote sensing observations to detect when there's a significant
Speaker 1: change in land cover. However, there are some important things
Speaker 1: we need to consider when we're setting up a classification
Speaker 1: for land cover and land use. Classification can only tell
Speaker 1: things apart when the spectral profiles their reflectance characteristics are
Speaker 1: sufficiently different. In the case of supervised machine learning models,
Speaker 1: the only possible classes are those appear in the training data.
Speaker 1: If you aren't careful, you can end up with a
Speaker 1: classifier that is consistent, confident, and completely wrong. If we
Speaker 1: have one model that's trained to classify trees and vegetation
Speaker 1: and another that's trained only to recognize vegetables from the market,
Speaker 1: we can get confident but obviously nonsense outputs. I'll explain
Speaker 1: what some of these models are doing internally, but this
Speaker 1: isn't going to be heavily focused on the math, because
Speaker 1: those parts are easy enough to look up. Instead, We're
Speaker 1: going to try to build an intuitive understanding of how
Speaker 1: classification works and why things happen internally. Before we get there, though,
Speaker 1: we need to circle back to discuss the drivers of
Speaker 1: land cover and land use change. There are many possible
Speaker 1: drivers of land cover and land use change, some of
Speaker 1: which I listed earlier. An exhaustive list would be impossible
Speaker 1: because of the sheer variety of things which may cause
Speaker 1: land cover and land use to change. Changes are often
Speaker 1: the result of indirect factors, which are distributed in space
Speaker 1: or time. A drought in one area might cause farmers
Speaker 1: in another area to change or intensify their production due
Speaker 1: to indirect market forces. Drivers may also be related, such
Speaker 1: that a single driver might cause multiple different effects. Establishing
Speaker 1: a new protected natural area would prevent urban expansion, but
Speaker 1: may also cause an increase in wetlands due to changes
Speaker 1: in management practices. We usually want to divide these drivers
Speaker 1: into neat categories, but the real world is much messier.
Speaker 1: Drivers of land cover and land use change are hard
Speaker 1: to attribute to a single source, as we see in
Speaker 1: the table here. The conclusions we draw about drivers from
Speaker 1: land cover land use change analysis must therefore be equally
Speaker 1: sensitive to these nuances. Let's go through a couple examples
Speaker 1: of land covered and land use change analysis in action.
Speaker 1: In this simplified map of land cover and land use
Speaker 1: for Sacramento, California, you can see a few clear signals,
Speaker 1: most notably the expansion of urban areas. If we combine
Speaker 1: these maps, which I will simulate here, we can create
Speaker 1: a map that shows where things changed and how they changed.
Speaker 1: We might even try to reason about the drivers at play,
Speaker 1: such as observing that the urban expansion is probably related
Speaker 1: to the fact that the population of Sacramento nearly doubled
Speaker 1: over the same time period. Now we can talk about
Speaker 1: classification methods, which are the ways in which we use
Speaker 1: models to determine things like landcover class from remote sensing data.
Speaker 1: Classification algorithms can be divided into two major types, supervised
Speaker 1: and unsupervised. Supervised methods require training data and can only
Speaker 1: identify the classes which are represented in that training data.
Speaker 1: Unsupervised methods don't use any training data and will classify
Speaker 1: the image into the number of classes the user specifies.
Speaker 1: When we talk about training data and the context of
Speaker 1: land cover classification, we're referring to points, lines, and polygons
Speaker 1: from which we can extract pixel values from the imagery.
Speaker 1: These values give us the profile of a representative spectral
Speaker 1: response curve, which describes the way that land cover reflects
Speaker 1: light at different wavelengths. In the image on the right,
Speaker 1: the color dots show an example of training data that
Speaker 1: I've prepared for this demonstration. Each color represents a different
Speaker 1: land cover class. Here we have two examples of spectral
Speaker 1: response curves for training data samples representing barren land at
Speaker 1: the top and forests below. We can overlay the two
Speaker 1: graphs to highlight their differences. Having multiple samples for each
Speaker 1: land cover class means that the model can build up
Speaker 1: an average representative spectral profile or curve. When the model
Speaker 1: is later given the spectral profile for a new location,
Speaker 1: it will attempt to pair it with the known land cover.
Speaker 2: It most closely matches.
Speaker 1: In this case, our hypothetical unknown sample resembles forest more
Speaker 1: closely than barren lands, so the model would assign it
Speaker 1: the LC class forest. Recall that this is a description
Speaker 1: of how training data is used in supervised classification, and
Speaker 1: we'll return to that in part two of this straining.
Speaker 1: For today, we're going to stick with unsupervised classification. We
Speaker 1: will look at K means clustering and depth, because I
Speaker 1: think it gives a good intuition about how classification works
Speaker 1: in general. We first have to project our data into
Speaker 1: feature space, which is an imagine canary space, where we
Speaker 1: place each pixel based on its values in each of
Speaker 1: the spectral bands of the image. To keep things simple,
Speaker 1: we'll imagine an image with only two bands A and B.
Speaker 1: These might be the red and near infrared bands if
Speaker 1: this were an actual image. We place a point for
Speaker 1: each pixel along the axes based on the value in
Speaker 1: each dimension. In the case of remote sensing imagery, this
Speaker 1: value is usually reflectant. Next, we select k random points.
Speaker 1: K is just some number greater than one and corresponds
Speaker 1: to the number of groups or classes we want to
Speaker 1: have in our classification. These points become the centers for
Speaker 1: each of the clusters we will be building. In this example,
Speaker 1: I've decided that K is four, so there are four centers.
Speaker 1: Then we measure the distance between each of the other points,
Speaker 1: and these centers. Whichever center is closest to any given
Speaker 1: point to time determines that points cluster. These clusters now
Speaker 1: represent four separate classes, which are grouped by the similarity
Speaker 1: of their spectral characteristics, so you might wonder which land
Speaker 1: cover types these clusters represent. Well, the problem is they
Speaker 1: don't really correspond to any specific land cover. Since we
Speaker 1: didn't provide labeled training data, the classification is only capable
Speaker 1: of clustering observations based on similarity. The k Menes classifier
Speaker 1: has no awareness of what kinds of land cover we
Speaker 1: expect in the image, and the decision to use a
Speaker 1: K of four was completely arbitrary. However, this doesn't mean
Speaker 1: that the result of Camine's classifications are completely meaningless. I
Speaker 1: showed the same image at the top of the training
Speaker 1: k Meane's clustering is what I was referring to when
Speaker 1: I mentioned being able to make a decent classifier without
Speaker 1: training data. The maps on the right are outputs of
Speaker 1: Kmine's clustering with K set to two, three, four, and five.
Speaker 1: Notice that some major features like water and vegetation are
Speaker 1: correctly classified, even though the classifier had no information about
Speaker 1: water or vegetation.
Speaker 2: We'll come back to.
Speaker 1: This image to discuss interpretation in more detail later. Before
Speaker 1: we jump into the code to generate k means clustering
Speaker 1: maps in R, I want to very quickly walk it
Speaker 1: through how I downloaded the data for this training using
Speaker 1: NASA's Earth Data Search. I provided a condensed version of
Speaker 1: the process for your reference here. So here's the Earth
Speaker 1: Data Search page where I've logged in and opened the
Speaker 1: project I'm using for this training. I found an area
Speaker 1: which I thought might be interesting and drew a rectangle
Speaker 1: with the spatial filter tool. With the rectangle tool selected,
Speaker 1: click and drag to cover the area of interest. After
Speaker 1: drawing the search rectangle, I entered HLS into the top
Speaker 1: bar and hit the big search button to submit the query.
Speaker 1: What's returned is a list of HLS products. We're specifically
Speaker 1: looking for the thirty meter daily surface reflectants. You can
Speaker 1: add all the imagery to your download request or continue
Speaker 1: to refine your search with the filters in the leftmost bar.
Speaker 1: When you're satisfied with your selection, click download all. Finally,
Speaker 1: click the download data button in the lower left corner
Speaker 1: to begin the download. Now we're going to open our
Speaker 1: studio and look at the code you need to generate
Speaker 1: the k means landcover classification map. I've been showing you
Speaker 1: throughout this presentation. As a reminder, you'll have access to
Speaker 1: the code, data, slides, and training materials via the training
Speaker 1: web page and our set GitHub. I highly recommend that
Speaker 1: you watch the demonstration and then explore the code after.
Speaker 2: The training is concluded.
Speaker 1: So with that, let's get into the code for part
Speaker 1: one on supervised classification with k Meade's clustering. We will
Speaker 1: begin by loading all of the libraries we'll be using
Speaker 1: in this training, including some that will only become relevant
Speaker 1: in part two. We should also set the random seed
Speaker 1: so that we always get the same results from the
Speaker 1: random pseudo random operations. I just use the date that
Speaker 1: the homework opens, but if you use that, all of
Speaker 1: your results should look like mine. For the sake of convenience,
Speaker 1: I've gone ahead and combined the HLS data into a
Speaker 1: single multiband raster for each year. This is what you'll
Speaker 1: find on the GitHub as well. We will now read
Speaker 1: in the imagery data for twenty seventeen and twenty twenty
Speaker 1: four using the rast function and specify which of the
Speaker 1: HLS bands correspond to the red, green, and blue wavelengths.
Speaker 1: In the case of HLS data, those are bands for
Speaker 1: three and two. Since band one is the coastal aerosol band,
Speaker 1: we can create a spatial raster collection to store both
Speaker 1: the twenty seventeen and twenty twenty four imagery data in
Speaker 1: the same object. Let's quickly inspect the spatial raster collection
Speaker 1: to see the structure of our data. The important things
Speaker 1: to notice are the collection has a length of two,
Speaker 1: which corresponds to our two years of data. Both years
Speaker 1: have the same number of rose and columns, and both
Speaker 1: years have the same number of layers or bands.
Speaker 2: We can create.
Speaker 1: RGB maps the data for both years and plot them
Speaker 1: side by side using the patchwork syntax.
Speaker 2: There we go.
Speaker 1: So the images might look strange because I've applied a
Speaker 1: histogram stretch to each raster for increased contrast in the plot,
Speaker 1: but that doesn't affect the underlying data values. It's very
Speaker 1: simple to implement K means clustering to our HLS data
Speaker 1: since we don't need to provide any training data for
Speaker 1: this unsupervised classification method. We simply need to specify the
Speaker 1: number of centers. I'll demonstrate this with the imagery from
Speaker 1: twenty seventeen for two, three, four, and five centers. These
Speaker 1: each take about a minute to finish running, so to
Speaker 1: avoid waiting, I've already processed them and saved the results.
Speaker 1: You will notice when you run this for yourself. The
Speaker 1: results of applying k means cluster to the twenty seventeen
Speaker 1: data isn't automatically shown as an image, but the result
Speaker 1: is a spat raster which we can use to generate
Speaker 1: in image later. Calling the resulting object directly gives us
Speaker 1: some additional information as well. We see here that the
Speaker 1: output has the same dimensions and projection information as the input,
Speaker 1: but now reduced to only one layer, which, in the
Speaker 1: case of k meines with five centers, has values ranging
Speaker 1: from one to five. To save some typing and make
Speaker 1: sure that our plots are consistent, I've written a plotting
Speaker 1: helper function here. We should also associate our numeric class
Speaker 1: labels with names so that we can more easily apply
Speaker 1: a categorical color palette. We're working with classes, so the
Speaker 1: integer class values are meant to represent discrete clusters. Naming
Speaker 1: them the letters A through Z means that we can
Speaker 1: avoid are trying to interpret our classes as though.
Speaker 2: They were numeric values.
Speaker 1: We only need five categories since we only went up
Speaker 1: to a K of five, but it's just as easy
Speaker 1: to make.
Speaker 2: The full set of twenty six.
Speaker 1: The plotting function here applies our value categories and makes
Speaker 1: a plot from our spatraster. It uses a standard philoesthetic
Speaker 1: and the void theme to remove all of the unnecessary
Speaker 1: plot elements. We can now create maps for each of
Speaker 1: our K means classification runs using our plotting helper function.
Speaker 1: Once again, we'll save these plots as variables so that
Speaker 1: we can put them together with the patchwork syntax. We
Speaker 1: can put them together with the patchwork syntax, which is
Speaker 1: a simple layout tool for multiple plot objects, and what
Speaker 1: we see below is the same array of K means
Speaker 1: maps I showed at the beginning of the train. Since
Speaker 1: the clusters are based on the similarity of reflectance characteristics,
Speaker 1: we can see that even in the case of K
Speaker 1: equals two, we're getting good detection of water class A,
Speaker 1: with everything that is not water being sorted into class B.
Speaker 1: At the opposite end of the spectrum, we have the
Speaker 1: K equals five case, where we might observe that water
Speaker 1: is seemingly being split into separate turbid class B and
Speaker 1: clear class E categories. As you can see, land cover
Speaker 1: classification by K means clustering is relatively simple and fast.
Speaker 1: It doesn't need any training data and only requires us
Speaker 1: to pick a suitable number of cluster centers. I want
Speaker 1: to reiterate that we don't need to provide any information
Speaker 1: about what kinds of land cover appear in our imagery.
Speaker 1: Since K means is so incredibly easy to use, it's
Speaker 1: often a good idea to try a variety of values
Speaker 1: for K and select the one which best classifies the
Speaker 1: land cover types you're interested in studying. So now that
Speaker 1: you've learned how to create and visualize a K means
Speaker 1: clustering model for LC classification, we're going to jump back
Speaker 1: to the slides and go over what we've learned today,
Speaker 1: what we're going to cover in part two, and then
Speaker 1: jump into the Q and A portion of this training.
Speaker 1: So what have we learned today? We've covered how to
Speaker 1: access HLS data with Earth Data Search, why land cover
Speaker 1: and land use classification, and land cover land use change
Speaker 1: analysis is important to our understanding of the Earth, what
Speaker 1: training data is and how it relates to supervised classification,
Speaker 1: How an unsupervised K means model classifies life and cover,
Speaker 1: and how to apply a K meins classification to remote
Speaker 1: sensing imagery. This is a lot of information for one session,
Speaker 1: so thanks for sticking with me In the next session.
Speaker 1: We're covering part two of this training, which includes a
Speaker 1: review of models for supervised classification, an explanation of random
Speaker 1: forest models, how to implement random forest for classification in
Speaker 1: our how to evaluate and interpret model results, and how
Speaker 1: to create maps to show land cover and land used
Speaker 1: change over time. A reminder about the homework. It will
Speaker 1: open following the second part of this training and is
Speaker 1: due on March twelfth. You'll find the homework on the
Speaker 1: training web page and you'll submit your answers via Google forms.
Speaker 1: You qualify for the Certificate of completion if you attend
Speaker 1: both live webinars and complete the homework assignment by the deadline.
Speaker 1: Of course, I've been your trainer, but none of this
Speaker 1: would be possible without the rest of the r SET team.
Speaker 1: You can contact me via email or direct any questions
Speaker 1: and comments to the rset Gmail address. You can also
Speaker 1: sign up for the rset newsletter to stay up to
Speaker 1: date on future trainings. Thank you very much, and with
Speaker 1: that we will break for a moment and move to
Speaker 1: the Q and A. Okay, hopefully everybody can hear me. Well,
Speaker 1: start with question one. Is it possible to use another
Speaker 1: programming language? Is it something tied to homework, can we
Speaker 1: submit in another language? Fortunately, I haven't designed the whole
Speaker 1: work to involve you running any code. I do give
Speaker 1: you some outputs of code that I ask you to interpret,
Speaker 1: but it is possible to do all of the things
Speaker 1: you'll see in this part and in part two in
Speaker 1: the coding language of your choice. Python is popular. A
Speaker 1: lot of people really like doing this sort of thing
Speaker 1: in Python. JavaScript is another one that gets used a
Speaker 1: lot because it's what's used in Google Earth Engine, which
Speaker 1: allows you to do some cloud computing, but there may
Speaker 1: be a cost associated with that. Where can I access
Speaker 1: the R code for today's presentation? I have both the
Speaker 1: ore markdown notebook document and the rendered version as an
Speaker 1: HTML document on the r set GitHub, along with all
Speaker 1: of the data that we'll be using in this part
Speaker 1: and the next one. Question three, is there any particular
Speaker 1: or special reason for using R as compared to say Python? No, Again,
Speaker 1: you can do this same sort of process in the
Speaker 1: coding language of your choice. The coding language of my
Speaker 1: choice just.
Speaker 2: Happens to be R.
Speaker 1: It's the one that I think in So when I'm
Speaker 1: trying to come up with these workflows, I normally write
Speaker 1: everything in R. And then go line by line and
Speaker 1: turn it into Python if I need to. From a
Speaker 1: practical perspective, Question four. From a practical perspective, what are
Speaker 1: the limitations of the k Meines clustering method What are
Speaker 1: alternative unsupervised classification methods? I have in the slides a
Speaker 1: list of some of the unsupervised classification methods as well
Speaker 1: as supervised classification methods that we will be going over
Speaker 1: in part two. But from a practical perspective, what are
Speaker 1: the limitations? That's a fantastic question because k meines doesn't
Speaker 1: rely on labeled training data. Because it's an unsupervised clustering approach,
Speaker 1: it is limited by the difference in the spectral profiles
Speaker 1: of the different classes that you're interested in. So it's
Speaker 1: very easy for a CA means model to do things
Speaker 1: like separating water from vegetation, which they're very spectrally different. However,
Speaker 1: in a scene, if you were interested in, say the
Speaker 1: difference between different crop types or different types of trees,
Speaker 1: K means wouldn't be a good fit for that use
Speaker 1: case because the vegetation, the crop types or trees are
Speaker 1: going to be more similar to each other than they
Speaker 1: are different from the other.
Speaker 3: Things in the scene.
Speaker 1: To question five, how sensitive is the satellite imagery and
Speaker 1: classification technology in twenty twenty six? Can we distinguish between
Speaker 1: perennial and annual crops or between two different types of
Speaker 1: crops using satellite imagery? Much like my answer to the
Speaker 1: last question, yes, possibly. We have an incredible data, very
Speaker 1: high resolution both spatially and spectrally, meaning the bands the
Speaker 1: slice of the electromagnetic spectrum are very thin, so you
Speaker 1: can get these very fine detailed differences in the spectral profiles.
Speaker 1: The problem there is usually that data is commercial, so
Speaker 1: it might be cost prohibitive, and the classification technology in
Speaker 1: twenty twenty six, we're going over some pretty easy and
Speaker 1: computationally cheap to run models, but there are fantastically complicated
Speaker 1: and very precise models using things like neural networks for classification.
Speaker 1: If there's interest, I would absolutely love to do a
Speaker 1: training on that. Question six, Please explain what supervised and
Speaker 1: unsupervised machine learning is. Supervised machine learning is using training
Speaker 1: data to inform the model as to what classes you
Speaker 1: expect to.
Speaker 2: See in the scene.
Speaker 1: Unsupervised classification, such as the clustering method I just demonstrated
Speaker 1: K means only relies on the contained within the spectral
Speaker 1: bands of your image, So k meines in a sense
Speaker 1: isn't aware of what is in the image. It's only
Speaker 1: grouping things based on how similar they are in their
Speaker 1: spectral profile, in this case using their reflectance. Will you
Speaker 1: send an email with the link for the assignment? The
Speaker 1: homework assignment, the homework, presentation, slides and recordings are all
Speaker 1: going to be on the web page for the training
Speaker 1: after part two in two days. The link is there.
Speaker 1: Can you show slowly how to download data from Earth
Speaker 1: Data Search? Also, how do I interact with the file?
Speaker 1: Do I load it up in our studio? I'm not
Speaker 1: sharing my screen. If you look at the presentation, slides
Speaker 1: and recording of this which should be posted, I do
Speaker 1: go over that, and you can go over that at
Speaker 1: your own pace. As far as how do you interact
Speaker 1: with the file? Early on in the code, which again
Speaker 1: will be made available to you, I use the RAST
Speaker 1: function to load the data into r The rast function
Speaker 1: is the primary function in the Terra package for r
Speaker 1: which allows us to interact with spatial data like the
Speaker 1: raster data RASP. If it's unclear, Rast is short for raster.
Speaker 1: Makes it very easy to remember in the Earth Data
Speaker 1: Search tool, what data set are you using for this training?
Speaker 1: Are their preferential data sets based on location function, etc.
Speaker 1: I'm using the harmonized LANDSAT sentinel data, so that is
Speaker 1: a combination of the Landsat archive and the European Space
Speaker 1: Agencies Sentinel to satellite. I chose this specifically because it
Speaker 1: has a fairly high resolution because of the sentinel data,
Speaker 1: and also a long period of record thanks to land
Speaker 1: SAT preferential data sets based on location function, et cetera.
Speaker 1: In general, you want the data set that's available.
Speaker 2: For your location.
Speaker 1: And for your time, for the time that you're interested in.
Speaker 1: In Part two, we're going to be going over how
Speaker 1: to calculate change between two dates. So you want to
Speaker 1: pick a sensor which has collected imagery for both of
Speaker 1: the dates you're interested in. If you needed to go back,
Speaker 1: say to nineteen eighty, you might be limited in what
Speaker 1: sensors are available. Unfortunately, satellites don't stay in orbit forever,
Speaker 1: so we don't have one consistent constant record. I have
Speaker 1: access to artgas pro can I accomplish the same K
Speaker 1: means on supervised classification in that tool.
Speaker 2: As I said at the top of the presentation.
Speaker 1: Our set likes to use open source software, so I
Speaker 1: haven't been using rjs pro. I would imagine that there
Speaker 1: are implementations of k meanes in art pro, but I
Speaker 1: can't give you any more specific information. How does self
Speaker 1: coding compared to the built in tools for classification programs
Speaker 1: such as QGIS or SNAP toolbox. Perhaps a little in
Speaker 1: the weeds here. Everything from r to QGIS to SNAP
Speaker 1: is doing the bulk of the calculations using the g
Speaker 1: doll c library, so they should be similar. And in fact,
Speaker 1: if you're using QGIS, if you go to the processing window,
Speaker 1: you can see the actual internal function calls that are
Speaker 1: happening to make the classification working QGIS, so that's very cool.
Speaker 1: If your area of interest only has vegetation and no
Speaker 1: water or large bear soil patches, could k meanes clustering
Speaker 1: be effective given the high level of spectral similarity overall?
Speaker 1: Would the difference thin be relatively enough to use Camines classification. Yes,
Speaker 1: you've caught onto something that's very important about Camines clustering.
Speaker 1: Because it's not given any information about the target classes.
Speaker 1: It's very sensitive to the other things in the image.
Speaker 1: If the only thing in your image.
Speaker 2: Is two types of vegetation.
Speaker 1: Let's say, even small differences will appear as separate classes.
Speaker 1: If there is anything in the background which is spectfully
Speaker 1: distinct from those two classes, that will get separated as
Speaker 1: its own cluster. So yeah, great intuition there, camines is
Speaker 1: sensitive to the rest of the image.
Speaker 2: Part two we will.
Speaker 1: Discuss some supervised classification methods, and those are far better
Speaker 1: at distinguishing small differences irrespective of the background. Question thirteen.
Speaker 1: If supervised and unsupervised classification methods allow us to map
Speaker 1: past and present land cover changes, how might combining random
Speaker 1: forest models with HLS data enable us to anticipate future
Speaker 1: ecological tipic points such as irreversible deforestation or wetland collapse.
Speaker 1: And what responsibility do scientists and policy makers bear in
Speaker 1: acting on such forecasts. That is a very heavy question.
Speaker 1: As far as the responsibility of scientists and policymakers, perhaps
Speaker 1: I can't speak to that. Supervised and unsupervised classification methods
Speaker 1: do allow us to track changes over time. We will
Speaker 1: get into random forest in Part two for land cover change,
Speaker 1: But as far as doing predictions doing forecasts, that's not
Speaker 1: something we're covering though. Random forest and other models are
Speaker 1: capable of doing that sort of forecasting, but you're going
Speaker 1: to rely heavily on domain expertise domain specific knowledge to
Speaker 1: detect things like tipping points. I would also say there
Speaker 1: has been some great work doing Markov Chain Monte Carlo
Speaker 1: for predicting future land cover change based on historical trends.
Speaker 1: Question fourteen is based on question five about the sensitivity
Speaker 1: of the satellite imagery. Are there practices that can extend
Speaker 1: the sensitivity using institute resources through algorithmic connections? As resolution
Speaker 1: of satellite imagery can be a major impediment to smaller
Speaker 1: scale features, it would get to know if these resources
Speaker 1: can be extended to these scales in some way. K means,
Speaker 1: as we've covered today, is an unsupervised model, which means
Speaker 1: that it doesn't have any awareness of anything like training
Speaker 1: data points institute data. In Part two, I have prepared
Speaker 1: some training data points using institute data that we can
Speaker 1: use to help with these predictions. You are always going
Speaker 1: to be fundamentally limited by the resolution, both in scale
Speaker 1: that is, the spatial resolution, the radiometric resolution, and the
Speaker 1: revisit time, also cloud cover and data availability, so that's
Speaker 1: always going to be a concern, But in part two
Speaker 1: you I think you'll get a little bit more satisfying
Speaker 1: information about how to use on the ground data. Getting
Speaker 1: an air with the raster code looks like the file
Speaker 1: pathways for your computer. It definitely is in the read me,
Speaker 1: I believe. I even stated that you're going to have
Speaker 1: to change that. Once you download the data. You can
Speaker 1: just change that path to wherever you download the data.
Speaker 1: If you successfully cloned everything from the gethub, it will
Speaker 1: be in that folder data rast directory, so look there.
Speaker 1: If you have trouble downloading the data using the gethub
Speaker 1: clone command, you might need to download the data directly
Speaker 1: from get hub in your browser. In the first session,
Speaker 1: people were having trouble with the get large file storage
Speaker 1: system that I used because the data is fairly large,
Speaker 1: even though I cut it down. Can you show the
Speaker 1: system that you use for searching tools. I believe that
Speaker 1: this question is referring to earth Data Search, which again
Speaker 1: is in the slides, and once the recording is up
Speaker 1: you can review that earth Data Search is a fantastic resource. Also,
Speaker 1: I have to give credit to the data archives, the
Speaker 1: dacks as they're called, which do all of the hard
Speaker 1: work of organizing the data so that we can start.
Speaker 1: Is there a way to run the GitHub r code
Speaker 1: on Google colab, Yes, quite simply. The the documents that
Speaker 1: I have provided in the GitHub are r m D.
Speaker 1: There are markdown files, so there's like a combination of
Speaker 1: some some prose, the written word and the code chunks.
Speaker 1: But you'll be able to see in there which which
Speaker 1: parts are code. Assuming you can run are on Google
Speaker 1: co lab, you should also be able to run this code.
Speaker 1: Do I have to process images before uploading to our studio?
Speaker 1: As as I mentioned, I did a bit of pre
Speaker 1: processing to trim these images down to make them a
Speaker 1: little smaller and more easily digestible in this training in general, No,
Speaker 1: you can use the rast function and the same workflow
Speaker 1: that I used with the spatial raster collection that methodology
Speaker 1: to read in any imagery and then combine the imagery
Speaker 1: into multipan data. I did some of that preprocessing ahead
Speaker 1: of time, so the data that you'll see on the
Speaker 1: gethub has had the multiple bands all combined into one file.
Speaker 1: Just makes it a little easier for you to download.
Speaker 1: Do you know if Kanine's clustering is available as an
Speaker 1: add on in qgis or RGIS. I will say again,
Speaker 1: I'm not super familiar with the RGIS tool set now,
Speaker 1: but qgis definitely has some classification plugins that I've used
Speaker 1: in the past. I cannot speak to how up to
Speaker 1: date they are. As with all open source code, it's
Speaker 1: it's a volunteer effort, so use caution, exercise caution in
Speaker 1: that way, but yes, there are there are some tools
Speaker 1: for QGIS. Question twenty, can you explain more about deciding
Speaker 1: centers in K means explain more? Yes, I guess the
Speaker 1: answer to that is I I could speak at length
Speaker 1: about deciding centers and K means. If you want to
Speaker 1: email me with a more specific question, I would be
Speaker 1: happy to talk more. But the short answer here is
Speaker 1: the centers are decided from the existing points that are
Speaker 1: acted into that abstract feature space. They're chosen at random.
Speaker 1: There are optimizations for choosing better centers.
Speaker 2: Which.
Speaker 1: If I did not leave that note in the PowerPoint,
Speaker 1: it will come up at the end of part two
Speaker 1: or in the middle of part two where we talk
Speaker 1: about the related ca nearest neighbor classification. So yeah, great question.
Speaker 1: Wouldn't Sentinel one be better? Sentinel two could have cloud
Speaker 1: cover affecting the image. I'm using the harmonized lansat Sentinel data,
Speaker 1: and as I mentioned in the Earth data part, the
Speaker 1: left sidebar has an array of filter options, and one
Speaker 1: of those options allows you to filter imagery by cloud
Speaker 1: cover percentage.
Speaker 2: So the imagery that I've.
Speaker 1: Gathered, I believe I set the upper limit on cloud
Speaker 1: cover to be something like twenty percent. So we're limited
Speaker 1: on the gates that fit that those criteria. But that's
Speaker 1: how I got around the cloud cover issue. As always
Speaker 1: in all applications, use the data that's available. If Sentinel
Speaker 1: one works better for your use case, then absolutely go ahead.
Speaker 3: With Sentinel one.
Speaker 1: Okay, I'm sorry about the silence. It took me a
Speaker 1: moment to read this next question. Given harmonized lands hat,
Speaker 1: Sentinel time series and random forest classification outputs, how does
Speaker 1: desk quantify and communicate change detection confidence so that transient
Speaker 1: spectral effects such as phonology, clouds, atmospheric scattering, sensor drift,
Speaker 1: et cetera, and classification uncertainly uncertainty are not mistaken for
Speaker 1: real land cover change. What formal protocols or decision thrustsholds
Speaker 1: prevent automated change products from being used to trigger policy
Speaker 1: enforcement or funding actions without independent ground or high reds
Speaker 1: that it's ground truth or high resolution imagry. I am
Speaker 1: personally and I do not believe it is the policy
Speaker 1: of our set in general to do any sort of
Speaker 1: recommendations on policy enforcement. As far as what I've shown today,
Speaker 1: these are sort of toy examples.
Speaker 2: I would call them.
Speaker 1: They're small, limited scope intentionally because the idea here is
Speaker 1: to allow you to better understand the how and why
Speaker 1: of land covered land use change mapping with supervised and
Speaker 1: unsupervised classification. But as to the rest of that question
Speaker 1: about protocol's decision thresholds, that is.
Speaker 2: Not my field.
Speaker 1: I'm a scientist, not a policy maker.
Speaker 2: Can I access and.
Speaker 1: Submit the homework by any other means? I don't agree
Speaker 1: with Google's terms of use. Unfortunately, we use Google forms
Speaker 1: for all of our homeworks, So sorry, sorry about that.
Speaker 2: Inconvenience.
Speaker 1: Oh yeah, question twenty four great, great question. It's one
Speaker 1: of those things that I deal with so regularly, I
Speaker 1: don't think to bring it up. What exactly does harmonize
Speaker 1: mean in the HLS data set? It is the harmonized
Speaker 1: LANDSAT Sentinel data set. So LANSAT has been a long
Speaker 1: running project. Sentinel has been around for fewer years, but
Speaker 1: the two sensor products tied together and brought into a
Speaker 1: common reference frame is what that harmonization process is called.
Speaker 2: So you get the.
Speaker 1: Benefits of the long period of record of LANSAT, and
Speaker 1: the higher resolution of Sentinel data makes.
Speaker 2: It particularly well suited to these sort of.
Speaker 1: Long term changes on the landscape. Is this kmines model
Speaker 1: the same for cities in rural areas? Since it's just
Speaker 1: based on an optical pixel, anything blue or dark could
Speaker 1: potentially be water. Wouldn't different models be better if they're different?
Speaker 1: How to do align labels? K means is best suited
Speaker 1: for individual scenes, that is, imagery taken one place at
Speaker 1: one time. You'll notice that, though the overall goals of
Speaker 1: this training are mapping change, we didn't use K means
Speaker 1: to apply to two different dates and calculate change that way.
Speaker 1: We'll get into that in part two. But K means
Speaker 1: is much better at a single scene because of the
Speaker 1: issue that you've identified there, the labels don't actually correspond
Speaker 1: to any particular land cover class, so it's very hard
Speaker 1: to do that sort of alignment. It's possible if you
Speaker 1: go back to the original imagery and figure out what
Speaker 1: different in the clustering is picking up on.
Speaker 2: That's possible to do.
Speaker 1: It's easier to do for simple differences things like water
Speaker 1: versus vegetation, but it gets far more complicated when the
Speaker 1: number of classes increases. What method would you use to
Speaker 1: validate the classified raster for a large area of interest,
Speaker 1: such as for a province or state? How can you
Speaker 1: produce metrics for error and classification? Is it possible to
Speaker 1: create boundaries for each class that will enable areas to
Speaker 1: be calculated for each class. I love questions like this
Speaker 1: because I get to say, tune into part two. In
Speaker 1: Part two, where we have the ground truth points, we
Speaker 1: have the training data that is what allows us to
Speaker 1: do this sort of large scale accuracy assessment as well
Speaker 1: as the quantification of the the degree and direction of
Speaker 1: land cover change.
Speaker 2: So Part two.
Speaker 1: Water is generally delineated successfully.
Speaker 2: This is true.
Speaker 1: How can we use satellite imagery to identify changes in
Speaker 1: soil moisture irrigation and precipitation. Does noise from vegetation affect
Speaker 1: reflectance in this case? There are methods using radar, not
Speaker 1: so much optical imagery for getting soil moisture but because
Speaker 1: soil moisture is necessarily more complicated than the surface characteristics,
Speaker 1: it's not really something that we can get at using
Speaker 1: this sort of optical imagery. I'm thinking if there is
Speaker 1: standing water, certainly you would see that that dark water
Speaker 1: characteristic as as part of the pixel. But you're generally
Speaker 1: talking about spatial scales that would make that complicated. You
Speaker 1: would need very high resolution data to be able to
Speaker 1: get any sort of like surface level soil moisture conditions,
Speaker 1: and it doesn't tell you anything.
Speaker 2: About what's below the surface.
Speaker 1: So interesting question, not really something that optical imagery is
Speaker 1: capable of. Unfortunately, be cool to have X ray vision.
Speaker 1: Question twenty seven would it makes sense to one calculate
Speaker 1: series of indices for two different dates, group each of
Speaker 1: the indices for each date into a single spat rast object,
Speaker 1: and perform the case means process in similar ways to
Speaker 1: the example, I'd be using this to monitor forest and
Speaker 1: forest by a risk. I'm sure about whether using the
Speaker 1: original bands would produce a better classification. So the way
Speaker 1: that camines operates is solely based on the distance, or
Speaker 1: rather the closeness of points in this feature space. If
Speaker 1: you calculated all of these indices in DVI, for example,
Speaker 1: is a simple band ratio, all of that variability should
Speaker 1: already be captured in the original bands. You can think
Speaker 1: of this as sort of like a form of dimensionality reduction,
Speaker 1: where including in DVII, since it is just a combination
Speaker 1: of the bands that already exist, shouldn't provide extra descriptive power,
Speaker 1: and it might at scale actually degrade the classification accuracy.
Speaker 1: But this is also for your particular application. I would
Speaker 1: definitely look into do a supervised classification instead of K
Speaker 1: means unsupervised, because it seems that you have very particular
Speaker 1: classes that you want to target in your forest use case.
Speaker 1: Can K means be used to determine the NDBI? K
Speaker 1: meanes would not be the appropriate tool for this, although
Speaker 1: if you're interested in how to calculate in DBI and
Speaker 1: other related metrics, there is an rset training that I
Speaker 1: also participated in on that subject, which you can find
Speaker 1: on the r set web page. Calculating indices in QJ, Yes,
Speaker 1: I believe question twenty nine is a repeat, so I'm
Speaker 1: going to skip that.
Speaker 2: Referred to my original answer.
Speaker 1: There, given a random forest model trained on imagery from
Speaker 1: one date to how do you quantify and mitigate temportal
Speaker 1: domain shift when applying it to imagery from another date
Speaker 1: with different phonology, sensor calibration, and land management practices. Specifically,
Speaker 1: which validation strategies, transfer learning or domain adaptation techniques and
Speaker 1: uncertainty propagation methods do you recommend to ensure detected changes
Speaker 1: reflect true land cover land use transitions rather than model Again,
Speaker 1: Part two is going to get a little into how
Speaker 1: we use the ground truth data to do accuracy assessment,
Speaker 1: and if you're super curious, all of that information is
Speaker 1: already up on the GitHub. At the end of the
Speaker 1: Part two document there is sort of an extended additional
Speaker 1: information section which goes into some of the metrics we
Speaker 1: use to assess the accuracy of the model rather than
Speaker 1: just hoping that our model is correct.
Speaker 2: Lately, wanted to use.
Speaker 1: Some sentinel data with cloud coverage made it unable to
Speaker 1: do so. Any way to deal with that, Yes and no,
Speaker 1: this is the HLS data. As I've mentioned, sentinel data
Speaker 1: in certain areas, as any any remote sensing data can
Speaker 1: be hampered by cloud coverage. In Earth data, as I mentioned,
Speaker 1: is filtering by cloud coverage percentage. Maximum cloud coverage can
Speaker 1: help The other option is to either build yourself or
Speaker 1: use a product that has been averaged over a series
Speaker 1: of collection dates, so that that you essentially remove the
Speaker 1: cloudy pixels. The issue there is if you're trying to
Speaker 1: assess changes that happen, you know, say in the matter
Speaker 1: of weeks, and then you're averaging your imagery over a
Speaker 1: matter of weeks, You're not going to be able to
Speaker 1: detect those those rapid changes in the landscape.
Speaker 2: Can do to.
Speaker 1: Install packaged tidy tarra, do you have any guidance? Not
Speaker 1: without seeing the specific error message. Generally, the fix there
Speaker 1: is to set your cran mirror that's the package archive
Speaker 1: for our set that to the cloud version. That can help,
Speaker 1: or downloading directly using the dev tools package if you're
Speaker 1: familiar with that. But yeah, without seeing the error message,
Speaker 1: I can't can't help anymore than in the general case.
Speaker 1: In remote sensing, when working with multi temporal satellite imagery
Speaker 1: to monitor deforestation across the large region, what preprocessing steps
Speaker 1: are necessary to ensure consistency between data sets, How can
Speaker 1: you quantify the accurate of change detection results, and what
Speaker 1: statistical methods might be applied to validate the findings. Multi
Speaker 1: temporal satellite imagery to monitor deforestation across Generally, what you're
Speaker 1: looking for in this case is going to be like
Speaker 1: level two or preferably level three products which have been
Speaker 1: been pre processed and standardized by the science teams for
Speaker 1: that particular sensor. A lot of that, that sort of
Speaker 1: work gets done behind the scenes. If you're asking about
Speaker 1: how you do sort of the harmonization process between say,
Speaker 1: you know, LANSAT and another sensor like Sentinel, that is
Speaker 1: a much more complicated question. That's not generally something that
Speaker 1: I would recommend anybody tries to do unless they're intimately
Speaker 1: familiar with the sensor itself. The issue primarily is that
Speaker 1: as you move from sensor to sensor or even through time,
Speaker 1: the band centers the centers of the wavelengths are different
Speaker 1: and can shift. So yeah, very complicated question that goes
Speaker 1: into the physics of light. A few years ago you
Speaker 1: gave a workshop that used the semi automatic Classification tool
Speaker 1: and qgis, Yes, great tool, it was very labor intensive.
Speaker 1: Now do you think that AI has advanced that unsupervised
Speaker 1: analysis using AI? Not saying that KAY means uses AI
Speaker 1: has gotten very efficient, rapid and accurate classifying land classes
Speaker 1: such that manually intensive analysis has become obsolete. No setting
Speaker 1: aside my personal thoughts on AI, the standard of science
Speaker 1: is reproducibility, and the thing that we should always strive
Speaker 1: for is something that we can justify. Writing the code
Speaker 1: yourself and understanding as I hope this training helps you
Speaker 1: to understand the why and the how of classification is
Speaker 1: an important part of being able to justify the outcomes.
Speaker 1: Just as a small example, we set the random seed
Speaker 1: at the beginning of our code, so I'm sure that
Speaker 1: the next time I run this code, I'm going to
Speaker 1: get exactly the same results. Currently, as AI and large
Speaker 1: language models work, now, you can't guarantee that you're going
Speaker 1: to get the same result every time, which is a
Speaker 1: problem for the scientific method. Reproducibility looks like the last question.
Speaker 1: Are there methods to determine the error rate and classification
Speaker 1: using k means or results verified only through the image result?
Speaker 1: K means is an unsupervised classification method, meaning it doesn't
Speaker 1: have training data, which means we don't actually have anything
Speaker 1: to compare it against. If you were interested in validating
Speaker 1: K means and you did have training data points, you
Speaker 1: could use those as ground truth to figure out to
Speaker 1: what degree the points that you've collected of, say class
Speaker 1: grass the grass class are grouped together in the same
Speaker 1: cluster in K means. Hopefully that makes sense. K means
Speaker 1: isn't aware of what's in the image. It's only grouping
Speaker 1: things based on similarity. But you could get an error
Speaker 1: rate assessment by looking at how tightly correlated the predicted
Speaker 1: clustered class is with the actual ground truth class. I
Speaker 1: hope that makes sense. I'm much more of a visual person.
Speaker 1: If you could see me, I'm swinging my hands around,
Speaker 1: which I hope would help make all of that make sense. Sorry,
Speaker 1: I'm seeing in the chat. Jeremy Hoffman. The specific error
Speaker 1: you're getting there is that the file cannot be opened.
Speaker 1: You definitely have get all installed selecting method.
Speaker 3: Uh.
Speaker 1: Yeah, it looks like you should check the filepath that
Speaker 1: That would be my first guess that filepath that's at
Speaker 1: the end of the error message there. If your file
Speaker 1: is not at that location. Uh, this is are telling
Speaker 1: you that it it can't find the file. H The
Speaker 1: other thing to check there would be your building. Git
Speaker 1: all doesn't seem doesn't seem to be able to recognize
Speaker 1: the TIFF format. If you have qgis or something like that,
Speaker 1: try opening it there. Git all should always install with
Speaker 1: the ability to open tiff file. So that's that's a
Speaker 1: strange one. And it looks like there are other solutions.
Speaker 3: In the in the chat.
Speaker 1: M, so thank you everybody. Looks like there aren't any
Speaker 1: more questions coming in again.
Speaker 2: The Q and A document is.
Speaker 1: Going to be posted within forty eight hours after I've
Speaker 1: had some time to go through and answer all of
Speaker 1: the rest of the questions that I need to answer
Speaker 1: in more detail. Thank you all again, and I hope
Speaker 1: to see you all in Part two, where we're going
Speaker 1: to cover a lot of the cool stuff. Not that
Speaker 1: this wasn't cool, but I'm really excited for Part two
Podbean