Freshwater from lakes plays an essential role in supporting a variety of human needs, such as drinking, agriculture, and industrial development. Lakes are dynamic in nature, they shrink, expand, or change their appearance, owing to a number of natural and human-induced factors. As an example, the Aral Sea has been steadily shrinking since the 1960s due to the undertaking of irrigation projects (compare
A method improves automated water body extent determinations using satellite sensor values and includes a processor receiving a time-sequence of land cover labels for a plurality of geographic areas represented by pixels in the satellite sensor values. The processor alternates between ordering the geographic areas based on a water level estimates at each time point in the time sequence such that the order of the geographic areas reflects an estimate of the relative elevations of the geographic areas and updating the water level estimates based on the land cover labels for the geographic areas. A final ordering of the geographic areas and a final water level estimate are used to correct the time-sequence of land cover labels.
In accordance with a further embodiment, a system includes a memory and a processor. The memory stores a time sequence of land cover labels for a plurality of geographic locations wherein the time sequences of land cover labels are generated from satellite sensor data. The processor iteratively establishes a relative elevation for each geographic location in the plurality of geographic locations and a water level at each time point in the time sequence to form final relative elevations for the plurality of geographic locations and final water levels at each time point. The processor uses the final relative elevations for the plurality of geographic locations and the final water levels to modify the time sequence of land cover labels for the plurality of geographic locations to thereby correct at least one land cover label.
In accordance with a still further embodiment, a computer-implemented method includes setting a time-sequence of water levels relative to a set of geographic locations based on land cover labels for the geographic locations. The geographic locations are then organized based on the time-sequence of water levels to form an ordered list of geographic locations. The ordered list of geographic locations and the time-sequence of water levels are then used to correct an error in at least one of the land cover labels.
There are primarily two approaches for lake surface monitoring. The first one is based on aerial and field surveys, which is extremely labor intensive and therefore infeasible for regularly updated global-scale monitoring. The other approach uses machine learning techniques for mapping the spatial extent of lakes using multispectral reflectance data from earth observing satellites. However, classifying pixels into water and land categories using classification models faces several challenges. In the multispectral feature space, water and land bodies can look very different at different locations (due to spatial heterogeneity), across time steps (due to seasonal changes) and even on consecutive dates (due to variations in atmospheric conditions such as clouds and aerosols). Hence, even the best classifiers (trained using high-quality, hand-picked training samples) can misclassify some land pixels as water and some water pixels as land. An illustration of the impact of such class confusion is presented in
One possible approach to address these issues is to use classification enhancement (CLEN), which aims to improve the labeling derived from initial (imperfect) classification, by using some implicit information related to the phenomena under consideration. A well-known example of CLEN approach is the spatial window majority filtering that is frequently used for image de-noising. It leverages the fact that adjacent pixels in an image are more likely to belong to the same class (this is also known as the first law of geography). In this method the majority class of a sliding spatial window is assigned to the center pixel. Similarly, Markov Random Field based approaches have also been used as a spatial CLEN strategy to produce homogeneous classification output that prefers same label for neighboring pixels and penalizes neighbors with different labels. While these approaches are effective in removing salt-and-pepper noise, they fail when there exists a significant level of spatial and temporal auto-correlation in the noise and missing data itself. This happens frequently in remote sensing images due to seasonal variations (that can result in temporally auto-correlated noise) and atmospheric conditions such as clouds and aerosols (that can result in spatially auto-correlated noise). For example in
In accordance with the various embodiments, the classification output is constrained by some physical properties of the phenomena under consideration. The embodiments provide an approach that can leverage such constraints to address the limitations of traditional classification enhancement techniques mentioned above. As an example, in the application of lake surface monitoring, one such property is that locations at a higher depth in the lake have to be filled with water at a given time if any location at a lower depth has been filled with water at that time.
If the elevation information is available (e.g. in the form of depth contours), then it is possible to correct the imperfections in the labels simply by changing all labels above a certain height to land and below it to water such that it minimizes the number of disagreements with the input classification. However, in practice the precise information about the depth of locations is unavailable at appropriate spatial resolutions and at a global scale. The framework presented in the present embodiments allows us to make use of elevation-based constraints even when there is a complete absence of elevation information.
Note that if the true class labels (water/land) are available for multiple time steps, it is possible to infer the relative depth order between a pair of pixels. Specifically, if a pixel i is classified as water at more time steps than pixel j, then pixel i is at a deeper location than pixel j. But this does not help us since “true labels” is precisely the information we are trying to construct. Another possibility is to use imperfect input labels to estimate relative depth order between pixels. But the accuracy of this depth ordering depends upon the quality of the input labels. In particular, given an input classification with high levels of noise, the derived depth order will be extremely poor.
The embodiments described below have two building blocks—(1) estimate the most likely depth ordering from a given set of imperfect initial classification images at multiple time steps and (2) revise classification labels using a given depth order. More specifically, the embodiments simultaneously estimate both the depth ordering and enhanced classification product starting from a given imperfect classification product by iterating between the two tasks. Hence, this framework is referred to as Simultaneous Estimation of Labels and Physical properties (SELPh).
Below, the SELPh framework is described in the context of lake surface monitoring. However, the embodiments are not limited to lake surface monitoring and can be applied to simultaneously estimating the physical properties and class labels in many other domains. For example, satellite data is often used for land cover change monitoring by identifying pixels that show a change in their land cover class label in a certain time interval. The quality of change maps produced using this comparison approach depends on the accuracy of the land cover classification maps used. However, due to the data quality and heterogeneity issues discussed earlier, it is extremely challenging to obtain very high accuracy land cover classification products from satellite data. The imperfections in the land cover classification products often result in spurious changes being detected, i.e. a pixel shows a change in land cover class between two time steps due to misclassification in one of the time steps and not because of an actual land cover change. Moreover, because land cover changes are extremely rare, the spurious changes identified due to misclassifications can often dominate the true changes. The SELPh approach can be used in this application as well since the land cover change phenomena is governed by certain physical properties. One such property is that transitions between land cover classes is asymmetric, e.g. the probability of a forest being converted to urban land use is much higher compared to an urban pixel getting converted to a forest. If the transition probabilities between land cover classes are known, a Markov Model can be used to infer the improved class labels. However, since the transition probabilities are not known, one possible approach is to simultaneously estimate transition probabilities and true labels from given input sequences of imperfect classification labels. In general, the SELPh framework can be used in other applications where (1) physical properties can be used to correct the imperfections in the initial classification products, and (2) if clean labels are available, they can be used to construct the physical properties.
Objective: Leverage the physical properties of lakes in a CLEN strategy to improve the dynamic maps of their spatial extent.
Input: Raster thematic maps (P) of spatial extent of lakes, predicted by some “imperfect” classification model, over multiple time steps spanning several years. Each pixel has been assigned to one of the three classes: water (W), land (N) or missing (M).
Output: More accurate raster maps for each time step, produced by correcting misclassified instances and imputing missing labels. The label assignment in the output maps should be consistent with elevation-based constraints.
Constraints: Lake geometry constraints that require that if a location in the lake surface is assigned to water class (W) at time t, then all locations (connected to it) at greater depth should also be assigned to W for that time t.
The embodiments discussed below can be used with any input classification that provides reasonably high classification accuracy.
Due to misclassifications, the initial maps typically show inconsistency with the law of physics, i.e. there exist pairs of locations (loc1, loc2) for which at time
implying that loc1 has greater depth than loc2. This is contradicted at time step t2 where
which implies that loc2 has greater depth than loc1. The final output from SELPh should resolve all such contradictions and produce physically consistent labeling.
Sections 1 and 2 below provide the details of two different embodiments that make use of SELPh concept in context of lake monitoring.
In section 1.1 we present an embodiment for classification enhancement in scenarios where input classification maps have perfect classification accuracy but may suffer from large amounts of missing labels. This approach uses an ordered graph partitioning formulation of the input classification maps to infer relative depth ordering and later uses the inferred depth ordering for imputing missing labels. However, in practice the input classification maps are plagued with misclassifications as a consequence of confusion between classes. The approach to infer depth order presented in section 1.1 does not work for such scenarios. In section 1.2 an embodiment is described that allows simultaneous estimation of depth ordering and classification enhancement from classification maps with misclassified instances.
Correct but incomplete image classification refers to an input classification in which the class label pit for pixel i at time step t, when available, is always correct. However, for several pairs of (i,t) the label is missing in the input classification. The goal here is to correctly impute the missing labels of these instances.
One embodiment first estimates the depth order among pixels from the incomplete input classification. Once the most likely depth order is obtained, then for each time step the missing labels are imputed based on the estimated depth order and the input labels of the labeled instances.
Given a correct but incomplete image classification at every time step, the input labeling bears information on the relative depth order/elevation order between pixels. For example, if pixel i is labeled as W and pixel j is labeled as N at any particular time step t, then it is confirmed that pixel i is at a greater depth than pixel j. To obtain the depth ordering, we first construct a directed graph G=(V, E), where the set of vertices (V) corresponds to the pixels of the image and the set of edges (E) capture the relative depth relationship between a pair of pixels; the edge eij from node i to node j exists if and only if at some time step pixels i is labeled as W and pixel j is labeled as N. Since the input labeling is “correct”, it is expected to follow the law of gravity at all time steps, i.e. there would be no contradictions regarding the ordering between two pixels across different time steps. In graph G, this would imply that for any pair of nodes (i, j) only one of the two directed edges can exist: eij or eji. In fact, graph G is a directed acyclic graph for this problem setting.
We formulate the problem of inferring the depth ordering/relative elevation ordering as one of arranging the vertices V such that all the edges in G are forward edges in the ordering, i.e. for all edges eij ϵ E agree with the depth order. The depth ordering among pixels is estimated using topological sort on the graph G. The topological sort problem is defined as: given a directed acyclic graph G=(V, E), find a linear ordering of vertices (V) such that for all edges eij ϵ E, i preceeds j in the ordering. (see Algorithm 1 for the pseudo-code of topological sort used in our approach).
In reality multiple pixels may have the same depth, i.e. belong to the same depth/elevation contour. Due to such grouping structure present in data, the ordering relationship among pixels is more appropriately represented by a bucket order rather than a total order. A bucket order is a special case of partial orders in which each bucket consists of multiple entities (e.g. in our case pixels) with no order among themselves and there exists a total order among the buckets. In fact, topological sort on G in our application gives a bucket order, in which each bucket of the bucket order corresponds to a depth contour of the lake.
Since all the members of a bucket are at the same depth, in the output labeling for any given time step they will either be all W or N. Moreover, since the input classification is always correct (with missing labels), for any given time step, all the initially labeled pixels of a bucket would have the same label (either W or N). Thus, the label of buckets with any labeled member pixel can be inferred, and subsequently the pixels with missing label in these buckets are assigned the label of their bucket. However, it is possible that no member of a bucket is labeled in the input classification at a particular time step. The labels of such buckets can be inferred based on the total ordering constraint among the buckets, which is enforced at every time step. The total ordering constraint implies that at every time step, all W buckets appear before the start of the first N bucket. Thus, if a bucket with no labeled member pixel has a preceding N bucket it should be assigned to N class, else to the W class. The pixels are then assigned the label of their bucket.
To further clarify the approach discussed above,
First, graph G 402 is constructed from the input classification 400 by adding edges between pairs of nodes if at any time step one of them is labeled as W and the other is labeled as N. For example, the edge e12 404 is added due to time step t1. Next, to obtain the bucket order using the topological sort algorithm, we search for nodes with no incoming edges in G (in this example nodes 1 and 3) and put them in the first bucket. Next, all edges from these nodes are removed from graph G and the next set of nodes with no incoming edges are put in the next bucket. This process is repeated till G is empty. This gives us a bucket order 406 that corresponds to the depth contours in our application. Finally, to obtain the output classification, for each time step, the instances of every bucket are inspected to identify the label for the bucket. For example, at time step t1, the top bucket (consisting of pixel 1 and 3) is assigned to W since pixel 1 ϵ top bucket is classified as W at t1 in the input classification. Similarly, middle bucket is assigned to N as pixel 2 is assigned to N at t1. However, the instance of bottom bucket is not labeled in the input labels at time t1. But the total order among the buckets constrains that if middle bucket is N for a given time step, then all subsequent buckets (which are expected to have lower depth) must be assigned N for that time step. Hence, the bottom bucket (which contains pixel 4) is assigned to N class at time t1. Repeating these steps results in an output classification 408 that provides a classification for each pixel at each time point. The pixels can then be reordered to indicate their depth relative to each other based on these classifications resulting in a sorted classification 410. In sorted classification 410, pixels are ordered such that a pixel that is listed below a given pixel has the same depth or has a greater depth than the given pixel.
Noisy and incomplete image classification refers to an input classification in which the class label pit corresponding to pixel i at time step t may be incorrect. Moreover, for several pairs of (i,t) the label is missing in the input classification. The goal is to re-assign labels to all instances such that the missing labels are correctly imputed and the incorrect labels are re-assigned to their correct class in the final output classification.
This embodiment models the pairwise information on relative depth of pixels as a directed graph G=(V, E). The set of vertices (V) corresponds to the pixels of the image. The set of edges (E) capture the relationship between a pair of pixels at each time step; eijt is the edge from node i to node j at time t. We compute the graph G by adding the edges eijt between pairs of nodes i and j as follows:
In case of noisy input classification there may exist pairs of locations (i,j) and time steps (t1, t2) for which at time t1 {pit
This embodiment formulates the problem of estimating depth order from graph G as a maximal K-ordered graph partitioning problem: assign the vertices to one of the K ordered buckets (partitions) so as to maximize the number of edges in G that agree with the ordering (forward edges) minus the number of edges that disagree with the ordering (backward edges).
Consider a given bucket order B with K buckets. The forward set F of B is defined as the set of directed pairs (i, j) such that i ϵ Bm and j ϵ Bn and m<n. Similarly, the backward set R is defined as the set of directed pairs (i, j) such that i ϵ Bm and j ϵ Bn and m>n. Then our mathematical objective for searching the maximal K-ordered partitioning (bucket order) can be written as
Consider a special case of the above objective where the value of K=2, i.e. the goal is to split the graph into exactly two partitions. The optimal solution for this special case can be computed in O(V+E) time. However, there is no existing polynomial time algorithm to find the optimal bucket order for the case K>2.
Therefore, to solve the objective for K>2, the various embodiments use a heuristic approach that starts with all nodes placed in a single bucket and then iteratively increases the number of buckets by splitting one of the buckets in the current bucket order till the bucket order has the desired number of buckets (i.e. K). More specifically, at each iteration, the optimal split and splitgain (the value of the objective corresponding to optimal split) is computed for every bucket in the current bucket order. Then, the bucket that has the maximum splitgain is split into two, thereby increasing the size of the bucket order by one bucket at every iteration. This split makes each of the two resulting buckets more homogenous than the bucket being split. This iterative procedure is continued until a bucket order with the desired number of buckets is reached. Note that this algorithm makes greedy (locally optimal) splits at each iteration to reach the desired number of buckets. In particular, the algorithm divides a bucket so as to maximize the number of water levels between each bucket across the time sequence. In other words, the algorithm divides the bucket that has the largest number of dissimilar land cover labels across the time sequence as evaluated on a time step by time step basis. However, the greedy strategy is only a heuristic and does not guarantee global optimality of the bucket order obtained. The detailed pseudo-code for this step is provided in Algorithm 2.
Once an ordered list of location buckets has been formed, estimates of the water level at each time step can be made. The water level at a time step represents the boundary between buckets that contain predominantly land locations and buckets that contain predominantly water locations. For a given bucket order with k buckets, out of the 2k options for labeling buckets with W or N class, there are only k+1 options that enforce the total order constraint among buckets imposed by gravity. Thus, there are only k+1 options that will label all bucket below the water level as water and all buckets above the water level as land.
Due to errors in the current location classifications or differences between locations assigned to a same bucket, a bucket may contain both land and water labels at a time step. Setting the water level above such a bucket is an assertion that the land labels in the bucket are incorrect and setting the water level below such a bucket is an assertion that the water labels in the bucket are incorrect.
To select the bucket labeling from the k+1 options, at each time step, we count the number of labels in the buckets that will disagree with label assigned to the bucket for each of these k+1 bucket labels. The bucket labeling corresponding to the minimum number of disagreeing labels is then chosen thereby setting the water level above the top-most bucket labeled as water for the time step. This produces a time-sequence of water levels.
The time-sequence of water levels provides some information about the proper labels for the locations in each bucket. In particular, for buckets that are located far below the water level at a time step, it is expected that all of the locations in the bucket should be labeled as water for the time step. Similarly, for buckets that are located far above the water level at a time step, it is expected that all of the locations in the bucket should be labeled as land for the time step. However, for buckets that border or are close to the water level it is not as clear that all locations below the water level should be labeled as water and that all locations above the water level should be labeled as land because it is also possible that one or more locations have been assigned to an incorrect bucket.
In one embodiment, these two observations are utilized to update the labels for some but not all of the locations at each time step. In particular, the embodiments change the labels of locations in a bucket to match the label assigned to the bucket if, and only if, the bucket is separated from the water level by at least a minimum number of other buckets, referred to as a buffer. For instance, if the buffer is set to “1”, then at least one bucket must be between a candidate bucket and the water level in order for the locations of the candidate bucket to all be set to the label assigned to the candidate bucket. In this example, if a bucket is next to the water level, it would not be separated enough from the water level and all of the classifications for the locations in that bucket would be maintained. The size of the buffer can be set as desired and can either be fixed or can change based on the number of iterations (described below) that have been performed.
The pseudo-code for this step is provided in Algorithm 3.
Given the method to estimate bucket order B from noisy input classification P (Algorithm 2), one option is to first get the best estimate of B and then estimate the final output classification from B and P using the method described in Algorithm 3. Our results in Section 4 show that using this approach leads to significant increase in classification accuracy compared to the input P. In particular, the constraint on class labels imposed by the estimated bucket order helps in correctly imputing the missing labels and correcting some of the misclassifications in the input P.
The correctness of the estimated bucket order B depends on the level of noise in P. Thus, for an input P with a high level of noise in input labels, the bucket order obtained using (Algorithm 2) is likely to suffer from incorrect ordering among pixels. This incorrect ordering in B impacts the accuracy of the final output—i.e. it impedes the correction of some misclassifications and even worse may lead to incorrect flipping of labels of some instances that were correctly labeled in P.
In accordance with some embodiments, this issue is addressed by doing a simultaneous estimation of labels (output classification) and physics (depth order). In particular, the embodiments use an iterative scheme in which instead of estimating the final bucket order at the very first iteration, the granularity of the bucket order (i.e. number of buckets in B) is gradually increased at every iteration based on a current sequence of estimated water levels and their associated classifications. With each increase in the granularity of the bucket order, a new sequence of water levels is estimated and is used to update the classifications of locations in at least some of the buckets (depending on the size of the buffer used in algorithm 3) and based on constraints imposed by the current bucket order and a current estimate of the water level. Thus, at every iteration, both the uncertainty in bucket order (inverse of the number of buckets) and the imperfection in the classification (number of missing labels and misclassified instances) is reduced. In fact, the reduction of uncertainty in B (i.e. increase in number of buckets in B) helps in reducing the imperfections in classification by adding more physics-based constraints. Similarly, using the classification at current iteration (which has less imperfections than P) decreases the chance of introducing incorrect ordering among pixels as the number of buckets in B is increased. Our results in Section 4 confirm that the iterative approach, which leverages the feedback between the estimation of labels and physics, has a significantly higher classification accuracy compared to the sequential approach. The pseudo-code for this step is provided in Algorithm 4.
Now, we describe a second embodiment of SELPh for lake extent monitoring.
Classification maps of a region across multiple time steps are given as inputs. The matrix AR×C×T represents the input data in the 3-dimensional form where Ai,j,t ϵ [0, 1] represents the class label (0 means land, 1 means water) of a pixel at location (i, j) on the grid at time t. Alternatively, matrix A can be represented as a 2-dimensional matrix DN×T where N is the total number of locations (R*C) and Dl,t is the class label of pixel at location index l at time t. From here on, the cells of the grid will be referred to as locations and a (location, timestep) pair defines a pixel. Each row of matrix D represents the temporal sequence of class labels of a location. Since each time step is a binary classification map with noise, each column of D represents a noisy bipartite grouping of the given N instances.
2.2 Physical Constraint through Elevation
This embodiment uses elevation constraint to improve the accuracy of labels. Locations have an inherent ordering based on their elevation. Specifically, if location l is filled with water then all locations that are deeper (lower elevation) than location l should also be filled with water. Given this constraint through ordering, imperfect labels can be estimated and subsequently corrected.
This ordering of information through elevation is referred to as π. After the ordering, by definition for all time steps, all water pixels have lower elevation than land pixels.
2.3 Estimation of Correct Labels from Elevation
If elevation ordering (π) and size of one partition in bipartite grouping of a time step t (henceforth referred as θt) are available, then inconsistent labels can be estimated and corrected for that time step. Without the loss of generality, the partition that contains water pixels is used in the embodiments described below. For instance, θt=k would mean that for time step t, bottom k locations in π are filled with water. This would automatically mean that for time step t, top N−θt locations in π are land where N is the total number of locations. In other words, θt represents water level at time step t in our application or θt induces the true bipartite grouping in that time step. Now, if there are locations in bottom θt in π that are labelled as land at time step t, then they have been incorrectly labelled as land in that time step. Similary, if there are locations that are in top N−θt in π that are labelled as water in time step t, then they have been incorrectly labelled as water. Hence, given π and θt incorrectly labelled locations on the given time step can be estimated.
Unfortunately, θt is a latent variable and it has to be estimated as well because the data (bipartite groupings) is noisy. In accordance with one embodiment, the maximum likelihood interpretation of θt is used as the estimate for θt. Specifically for a given ordering, a value of θt will be selected that leads to the smallest number of incorrectly labelled locations on that time step. In other words, a value of θt is chosen that best describes the given bipartite grouping on that time step. Mathematically, {circumflex over (θ)}t is estimated as
{circumflex over (θ)}t=kϵ[O,N] Acc(k, t, {circumflex over (π)}) (1)
where
In the equations above, Acc is an accuracy measure that indicates the number of pixels that have the same label that is provided for the pixel by the bipartite grouping given water level θt and location level ordering {circumflex over (π)}. The first term on the right side of equation 2 measures the agreement of estimated water partition with the noisy water partition and the second term measures the agreement of the estimated land partition with the noisy land partition. Note that the maximum likelihood estimate of {circumflex over (θ)}t is applicable only when majority of the labels are correct. In other words, if a majority of the labels are wrong then no method has any hope of correcting the errors.
2.4 Estimation of Elevation from Perfect Labels
The previous section describes how accurate elevation information can be used to estimate correct labels. Similarly, accurate class labels (bipartite groupings) can also be used to estimate inherent elevation information. Physically consistent variation in class labels due to dynamics in water body can be used as a proxy to estimate order. Specifically, over any given time period a deeper location will be labeled as water more frequently than a shallow location. This is due to the physics described in section 2.2 above. Whenever a shallow location is water then the deeper will strictly be water. But if a deeper location is water then a shallow location may or may not be water depending on current extent of the water body. Mathematically, elevation of a location is directly proportional to the number of time steps in which the location is labeled as water. Specifically, this relationship is defined as
where,
Till now, we have assumed that either accurate elevation information is available or accurate labels are available. But in our application setting, labels are noisy and even elevation information is not available. EE will only be an approximation of the true hidden elevation information under the noisy labels scenario. In later sections, it is shown that this is a poor approximation of the elevation information.
Hence, a better way to aggregate these noisy bipartite groupings is needed so that a better approximation of inherent ordering (henceforth referred to as {circumflex over (π)}) can be made, which will subsequently lead to better label correction capability. In accordance with one embodiment, an objective function is defined that guides the search for the better approximation of the true ordering. Mathematically, the objective function is defined as
As mentioned before, Acc is calculated with respect to a given ordering and for a time step. It measures the agreement between the estimated bipartite grouping and input bipartite grouping. So the above objective function would prefer the ordering that leads to overall better agreement between estimated and input bipartite groupings. In other words, the embodiments prefer an ordering that overall describes the data well. This objective function extends the maximum likelihood interpretation from a single time step to the whole data. As explained in section 2.3, if elevation is given, {circumflex over (θ)} can be estimated. But in this embodiment elevation is also a variable. Hence, in the above function there are two latent variables, {circumflex over (θ)} and {circumflex over (π)}.
Now, to obtain an ordering that best fits the given data or maximizes the above objective function is a NP-Hard problem that cannot be solved directly. Instead, the present embodiments provide heuristic solutions to estimate the approximate ordering. This approach (henceforth referred to as Profile Matching) uses an EM like framework that iteratively improves quality of approximate ordering with respect to the above objective function.
As explained in section 2.3, if an ordering (π) is available, water levels ({circumflex over (θ)}t) and subsequently correct labels can be estimated for each time step. On the other hand if correct labels are available (section 2.4) then elevation information can be accurately estimated. Profile Matching iterates between estimating water levels from a given ordering and estimating new ordering from the water levels such that new ordering has improved value of the objective function than the previous ordering. The two steps are explained below
2.6.1 Estimating Water Levels from Ordering
This step is very similar to the step explained in section 2.3. The only difference here is that the current estimate of ordering ({circumflex over (π)}) is used instead of true ordering (π) because the true ordering is not known. To initialize the process, any random ordering can be provided ({circumflex over (π)}0). So, water levels at iteration i are calculated as
{circumflex over (θ)}ti=kϵ[O,N] Acc(k, t, {circumflex over (π)}i−1) (5)
2.6.2 Estimating Ordering from Water Levels
In this step, a new ordering of the locations is determined using the estimated water levels at each time t. This reordering involves the use of location profiles and elevation profiles. As mentioned in section 1.2, a location profile is basically the temporal sequence of class labels of a given location. Now, consider the matrix shown in
The algorithm iterates between these two steps, determining a water level for each time stamp t using a current order for the locations and reordering the locations based on the new water levels, until there is no further increase in the value of the objective function.
3 Evaluation
In this section the performance of SELPh approaches are analyzed and compared with other baseline algorithms for classification enhancement. In particular, the ordered graph partitioning approach is analyzed since it is more general than profile matching and works with missing data. Due to the absence of ground truth of lake surface dynamics, it is infeasible to provide quantitative evaluation on real lakes. Therefore, quantitative evaluation is provided below based on synthetically generated lake dynamics data along with two case studies on real lakes.
1) Extent and Dynamics: First, the extent for different time steps are created such that the dynamics in the lake is physically consistent i.e. the synthetic water body grows and shrinks according to the predefined inherent ordering of locations. This set of extent maps are the ideal maps to be recovered after label correction. Hence, they will be used as ground truth to compare the performance of various algorithms.
2) Noise Structure: Noise is introduced in the ground truth extents to create the dataset that will be provided as input to different algorithms for correction. Noise can have different characteristics and hence will impact algorithms differently. Below, three types of noise structures are analyzed
Random Noise (RN): (location, time step) pairs i.e. pixels are randomly selected and noise is added in those pixels.
Spatial Noise (SN): Pixels are randomly selected as seed pixels around which spatially auto-correlated noise is added. The spatially auto-correlated noise is added only into the time step to which that pixel belongs.
Spatio-temporal Noise (STN): Pixels are randomly selected as seed pixels around which spatially and temporally auto-correlated noise is added. First, strength of temporal auto-correlation is randomly selected. This determines how many time steps around the time step of the seed pixel would be affected by noise. Then for each of those time step, spatially auto-correlated noise is added around seed location using the strategy described before.
The goal of classification enhancement is to correct the noisy labels (i.e. misclassified instances) without incorrectly flipping the labels of the correctly classified instances in the input. The performance of different classification enhancement techniques are compared using the following performance measure:
Direct inference of the physical properties from imperfect classification may lead to incorrect estimates. SELPh improves the technology of computer-based water extent determination by simultaneously optimizing the two tasks of (i) inferring the physical properties and (ii) enhancing the classification. In Table 1 below, the performance of the direct inference based approach (SEQ) is compared with SELPh for all three label noise types in Table 1 (40% noise was added to the input labels). The results clearly indicate that simultaneous estimation considerably improves the classification enhancement performance.
Comparison with Traditional Spatial and Temporal Filtering Schemes
Spatial and temporal smoothing approaches are widely used in remote sensing image analysis for classification enhancement. Simple spatial majority (SS) and temporal majority (TS) filters can both be used for classification enhancement. The width of the filters was varied and the results below are for the width parameter that gave the best results. Our results in Tables 2, 3 and 4 demonstrate that SELPh shows a better performance compared to majority filters in presence of high levels of noise in classification, especially in context of spatially and temporally auto-correlated noise. In fact, Tables 3 and 4 show that spatial filtering scheme SS, which is one of the most commonly used approach in de-noising of remote sensing images, shows an extremely poor and erratic performance when encountered with spatial and spatio-temporally auto-correlated noise. This is because it is unable to correct incorrect classifications as they occur as big spatial patches and may also incorrectly smooth sharp boundaries of lakes. Temporal filtering TS shows relatively better performance, especially when noise is only spatial in nature and temporally random. Finally, the SELPh approach, which does not assume either temporal or spatial randomness in the noise process, shows the best performance on maps plagued with spatial and spatio-temporal noise.
process SELPh performance improves with increase in number of images
The efficacy of SELPh lies in the ability to reconstruct the elevation ordering despite presence of noise in the initial classification product. It is obvious that the accuracy of the estimated elevation order depends on the level of noise in the input classification. However, for the same level of noise in the input classification, the performance of SELPh significantly improves as the number of time steps (images) is increased (see Table 5). This is due to the fact that during the estimation of the depth order, the embodiments leverage the additional information present in a larger set of images because elevation remains fixed across all time steps. Traditional spatial and temporal methods that only consider local (spatially and temporally) context for classification enhancement fail to exploit information in additional images, and their performance is relatively independent of the number of images available.
The ordered graph approach of the SELPh algorithm requires a user-specified parameter—the number of buckets (i.e. the number of depth contours) to be created for a lake. In principle, each contour corresponds to a unique water level for the lake. Since there only a finite number of satellite images and each image can only provide at most one unique water level, the number of buckets is upper bounded by the number of time steps. Therefore, in one embodiment, the number of buckets is set as the number of time steps for which the classified images are available. However, in practice, due to temporal and seasonal auto-correlations, the number of unique water levels are typically lower than the total number of time steps. This is reflected in Table 6 that shows the variation in the performance of SELPh with the choice of number of buckets. SELPh performance first increases rapidly with increase in the number of buckets used (till a point where the number of buckets reach the underlying number of unique water levels for the lake) and then it remains constant with any further increase in the number of buckets.
The synthetic data set used in the previous section is generated by modeling of both the (i) lake physics and (ii) noise processes. In this case study, we evaluate on a semi-synthetic data set that is generated from real data (which retains lake physics) but synthetically introducing classification noise. Lake Mead has a significant dynamics in the last decade due to ongoing droughts in California. Moreover, the original classification maps for this lake are of high quality and therefore can be considered as ground truth. To compare different algorithms we added noise to the original classification.
It is also important to observe that the errors in initial classification are spatially auto-correlated. For example, the errors inside the circle 1108 and circle 1114 clearly show entire patches being misclassified. Furthermore, these errors were also temporally auto-correlated, i.e. persisted for multiple consecutive time steps. Later in the synthetic data experiments we show that traditional filtering schemes have a poor performance when dealing with such spatially and temporally auto-correlated noise.
Finally, note that the surface of this lake water body is quite dynamic and all three time steps differ in their surface area. The lake was medium-sized in the early years (time step t1), shrank considerably in the middle years (time step t2), and finally grew in size during the last few years (time step t3). If SELPh is not applied on the initial classified images, due to the misclassifications in these images the exact behavior of the lake surface can be misunderstood. For example, there is a large patch that is misclassified as land in the middle of the lake at time t3. If we estimate the lake surface area for time step t3 from the classified image, we will get an incorrect estimate due to this misclassified patch.
The ability of the SELPh approach to iteratively improve the estimates of the physical properties and final classification rests on certain assumptions on the nature of the imperfections present in the input classification. If these assumptions are violated, then the performance of that method can get impacted. For example, both the ordered graph partitioning and profile matching embodiments assume that the probability of error in the input classification is less than 0.5, i.e. P(pit=W|yit=L)<0.5 and P(pit=L|yit=W)<0.5. The profile matching additionally assumes that there is no missing data and that the probability of error in the two classes is identical, i.e. P(pit=W|yit=L)=P(pit=L|yit=W). However, in practice the classification maps typically show class conditional noise, i.e. probability of error in one of the classes is greater than the other. In the experiments described above, it was observed that these two elevation-ordering based approaches showed similar performance on data sets where P(pit=W|yit=L)=P(Pit=L|yit=W), but the embodiments have a considerably better performance in presence of class conditional noise compared to the profile matching method as seen in Table 7.
In this section we discuss some of the limitations of our approach for correcting misclassifications of the original input classification maps.
The method requires certain degree of randomness in the noise process in order to infer depth and perform classification enhancement. It is less effective in cases where there is systematic class confusion, i.e. certain patches of land are regularly misclassified due to bias in the classifier. For example, if a certain type of vegetation is misclassified as water at all time steps, then SELPh approach will fail to correct such errors.
The SELPh approach requires that all pixels of the lake up to a certain height are water, and all others are land. For example, the lake shown in
If the class label for a pixel is unobserved throughout the entire time period, then there is no information to estimate the elevation of this pixel and the presented SELPh method does not assign any label to such pixels. Since the elevation field exhibits a certain degree of spatial smoothness, future extensions can potentially leverage elevation estimates of nearby pixels in order to estimate elevation for such pixels. However, in practice such a situation occurs rarely.
Finally, our embodiments assume that the elevation of a location remains fixed across all time steps. In some cases, e.g. erosion or volcanic and earthquake activity, it is possible that the elevation of pixels change over time thereby changing the lake geometry. In such cases one should apply SELPh on shorter temporal windows in which the probability of elevation changes is much smaller.
The present embodiments provide SELPh, a new physics-guided classification enhancement technique to improve computer-based automatic lake extent monitoring by leveraging the constraints enforced by the law of gravity. SELPh is able to correct errors much more effectively than other techniques such as temporal and spatial filtering that do not take into account physical properties. In addition to reducing misclassifications, SELPh also correctly imputes missing labels.
An example of a computing device 10 that can be used as a server and/or client device in the various embodiments is shown in the block diagram of
Embodiments of the present invention can be applied in the context of computer systems other than computing device 10. Other appropriate computer systems include handheld devices, multi-processor systems, various consumer electronic devices, mainframe computers, and the like. Those skilled in the art will also appreciate that embodiments can also be applied within computer systems wherein tasks are performed by remote processing devices that are linked through a communications network (e.g., communication utilizing Internet or web-based software systems). For example, program modules may be located in either local or remote memory storage devices or simultaneously in both local and remote memory storage devices. Similarly, any storage of data associated with embodiments of the present invention may be accomplished utilizing either local or remote storage devices, or simultaneously utilizing both local and remote storage devices.
Computing device 10 further includes a hard disc drive 24, a solid state memory 25, an external memory device 28, and an optical disc drive 30. External memory device 28 can include an external disc drive or solid state memory that may be attached to computing device 10 through an interface such as Universal Serial Bus interface 34, which is connected to system bus 16. Optical disc drive 30 can illustratively be utilized for reading data from (or writing data to) optical media, such as a CD-ROM disc 32. Hard disc drive 24 and optical disc drive 30 are connected to the system bus 16 by a hard disc drive interface 32 and an optical disc drive interface 36, respectively. The drives, solid state memory and external memory devices and their associated computer-readable media provide nonvolatile storage media for computing device 10 on which computer-executable instructions and computer-readable data structures may be stored. Other types of media that are readable by a computer may also be used in the exemplary operation environment.
A number of program modules may be stored in the drives, solid state memory 25 and RAM 20, including an operating system 38, one or more application programs 40, other program modules 42 and program data 44. For example, application programs 40 can include instructions for performing any of the steps described above. Program data can include any data used in the steps described above.
Input devices including a keyboard 63 and a mouse 65 are connected to system bus 16 through an Input/Output interface 46 that is coupled to system bus 16. Monitor 48 is connected to the system bus 16 through a video adapter 50 and provides graphical images to users. Other peripheral output devices (e.g., speakers or printers) could also be included but have not been illustrated. In accordance with some embodiments, monitor 48 comprises a touch screen that both displays input and provides locations on the screen where the user is contacting the screen.
Computing device 10 may operate in a network environment utilizing connections to one or more remote computers, such as a remote computer 52. The remote computer 52 may be a server, a router, a peer device, or other common network node. Remote computer 52 may include many or all of the features and elements described in relation to computing device 10, although only a memory storage device 54 has been illustrated in
Computing device 10 is connected to the LAN 56 through a network interface 60. Computing device 10 is also connected to WAN 58 and includes a modem 62 for establishing communications over the WAN 58. The modem 62, which may be internal or external, is connected to the system bus 16 via the I/O interface 46.
In a networked environment, program modules depicted relative to computing device 10, or portions thereof, may be stored in the remote memory storage device 54. For example, application programs may be stored utilizing memory storage device 54. In addition, data associated with an application program may illustratively be stored within memory storage device 54. It will be appreciated that the network connections shown in
Although elements have been shown or described as separate embodiments above, portions of each embodiment may be combined with all or part of other embodiments described above.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.
The present application is based on and claims the benefit of U.S. provisional patent application Ser. No. 62/419,551, filed Nov. 9, 2016, the content of which is hereby incorporated by reference in its entirety.
This invention was made with government support under CCF-1029711 awarded by the National Science Foundation and NNX12AP37G awarded by National Aeronautics and Space Administration. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
62419551 | Nov 2016 | US |