Systems and methods for extracting and vectorizing features of satellite imagery
Abstract
A system may be configured to collect geospatial features (in vector form) such that a software application is operable to edit an object represented by at least one vector. Some embodiments may: generate, via a trained machine learning model, a pixel map based on an aerial or satellite image; convert the pixel map into vector form; and store the vectors. This conversion may include a raster phase and a vector phase. A system may be configured to obtain another image, generate another pixel map based on the other image, convert the other pixel map into vector form, and compare the vectors to identify changes between the images. Some implementations may cause identification, based on a similarity with converted vectors, of a more trustworthy set of vectors for subsequent data source conflation.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for converting an input to vector form, comprising:
performing a morphological-cleanup via an erosion operation; performing a skeletonization via a thinning operation of an output of the erosion operation; performing a vectorization via a conversion of an output of the thinning operation; and performing a smoothing via a crookedness removal.
2 . The method of claim 1 , further comprising:
performing connectivity-graphing by adding a set of vectors to a connectivity graph.
3 . The method of claim 2 , further comprising:
clustering a plurality of endpoint nodes of the graph that have distances from each other that each satisfies a criterion.
4 . The method of claim 3 , further comprising:
joining objects that are not connected to each other and that have distances from each other that satisfy the criterion.
5 . The method of claim 3 , further comprising:
performing gap jumping by detecting gaps at ends in the graph.
6 . The method of claim 5 , further comprising:
performing spur-removal by:
detecting one or more spurs at a dead-end; and
removing the one or more spurs having a length that satisfies a criterion.
7 . The method of claim 6 , further comprising:
merging a pair of lines that come in contact at their endpoints, the pair of lines being at tile boundaries or at a location of the spur-removal.
8 . The method of claim 6 , further comprising:
performing intersection-repair by:
repairing one or more four-way intersections by collapsing detected instances of two three-way intersections; and/or
repairing one or more three-way intersections by utilizing the connectivity graph to find distorted intersections and by ignoring an area near the distorted intersection.
9 . The method of claim 8 , further comprising:
performing vertex-reduction by processing lines to reduce a vertex count.
10 . A computer-implemented method, comprising:
performing connectivity-graphing by adding one or more vectors to a connectivity graph; clustering a plurality of endpoint nodes of the graph based on one or more criteria; performing gap jumping with respect to ends of the graph; performing spur-removal by removing one or more spurs based on a length thereof; performing intersection-repair by repairing a four-way and/or three-way intersection; and performing vertex-reduction to reduce a vertex count.
11 . The method of claim 10 , further comprising:
performing morphological-cleanup via an erosion operation that removes noise and artifacts at a pixel level.
12 . The method of claim 11 , further comprising:
performing skeletonization via a thinning operation of an output of the erosion operation, wherein the thinned output is converted to vector form by:
traversing a skeleton map to find one or more neighboring pixels, which represent one or more objects of a same type, within a predetermined pixel distance;
extracting a vector in a direction of each of the one or more found pixels; and
combining the one or more extracted vectors.
13 . The method of claim 12 , further comprising:
performing vectorization via a conversion of an output of the thinning operation.
14 . A computer-implemented method, comprising:
generating a pixel map; converting the pixel map into a plurality of vectors via morphological-cleanup, skeletonization, and vectorization operations; and storing the vectors such that a software application is operable to edit an object represented by at least one of the vectors.
15 . The method of claim 14 , further comprising:
determining whether each pixel of the map belongs to another object of a same type as the object.
16 . The method of claim 15 , wherein the generation comprises outputting a plurality of pixels associated with one or more intermediate values that do not satisfy a criterion for indicating whether each of the plurality of pixels belongs to the other object of the same type as the object.
17 . The method of claim 16 , further comprising:
adjusting a value of each pixel associated with one of the one or more intermediate values such that the each pixel is determined to belong to the other object of the same type as the object or determined not to belong to the other object of the same type as the object.
18 . The method of claim 14 , further comprising:
transforming the vectors from a pixel-space to a coordinate system.
19 . The method of claim 14 , wherein the pixel map is generated via a machine-learning model that implements a convolutional neural network (CNN).
20 . The method of claim 14 , wherein the conversion comprises performing a smoothing operation by removing a crookedness of a combination of one or more vectors extracted in a direction of each of one or more neighboring pixels.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.