US20230230250A1 - System and method for property detection and analysis - Google Patents
System and method for property detection and analysis Download PDFInfo
- Publication number
- US20230230250A1 US20230230250A1 US18/098,841 US202318098841A US2023230250A1 US 20230230250 A1 US20230230250 A1 US 20230230250A1 US 202318098841 A US202318098841 A US 202318098841A US 2023230250 A1 US2023230250 A1 US 2023230250A1
- Authority
- US
- United States
- Prior art keywords
- building
- measurement
- representations
- version
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000001514 detection method Methods 0.000 title claims abstract description 12
- 238000004458 analytical method Methods 0.000 title description 36
- 238000005259 measurement Methods 0.000 claims abstract description 166
- 230000011218 segmentation Effects 0.000 claims description 29
- 238000012549 training Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 36
- 230000008859 change Effects 0.000 description 28
- 238000010276 construction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000007634 remodeling Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000004566 building material Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 238000013398 bayesian method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009408 flooring Methods 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000009418 renovation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
- G01C11/06—Interpretation of pictures by comparison of two or more pictures of the same area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/432—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/489—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/176—Urban or other man-made structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30184—Infrastructure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Definitions
- This invention relates generally to the property identification field, and more specifically to a new and useful method and system for property state tracking.
- Determining reliable property data from images sampled over time can be challenging for several reasons.
- the property can be modified (e.g., completion of property extension), removed (e.g., demolition), added, replaced (e.g., replacing the property with a different property), or added over time (e.g., actively under construction).
- Such structural changes in the property can render previously-determined property data invalid (since the property itself has since changed).
- conventional imagery-based methods cannot reliably disambiguate whether divergent property data extracted for a given property was due to changes in the property itself, errors in the measurement (e.g., georeferencing errors), land movements, challenging sampling conditions (e.g., shadows, occlusions, etc.), or other reasons.
- auxiliary information that could be used to disambiguate these changes, such as permit data, are sparse, unreliable, and oftentimes unavailable.
- FIG. 1 is a flowchart representation of the method.
- FIG. 2 is an illustrative example of a graph.
- FIG. 3 is an illustrative example of determining polygons for a structure.
- FIG. 4 is an illustrative example of a variant of the method.
- FIG. 5 is an illustrative example of determining a set of representations.
- FIG. 6 A is an illustrative example of a graph.
- FIG. 6 B is a second illustrative example of a graph.
- FIG. 7 is a schematic representation of determining relationships between representations.
- FIG. 8 is an illustrative example of change detection.
- FIG. 9 is an illustrative example of classifying the change between image pairs.
- FIGS. 10 A- 10 E are illustrative examples of determining relationships between representations.
- FIG. 11 is an illustrative example of relationships determined between different modality measurements for a given object.
- FIG. 12 and FIG. 13 are schematic representations of a first and second variant of the method, respectively.
- FIG. 14 is an illustrative example of an example of the method, including returning object version information responsive to a request.
- FIG. 15 is an illustrative example of using an object detector.
- variants of the method for property identification analysis can include: determining object information S 100 , determining a set of object representations S 200 , determining relationships between representations S 300 , and generating an analysis based on the relationships S 400 .
- the method can function to disambiguate between different structural versions of a building and provide a universal identifier for each building version.
- the method can further provide a timeseries of changes between different building versions.
- the method can include: determining a timeseries of measurements of a geographic region (e.g., S 100 ); and determining a timeseries of structure versions based on the timeseries of measurements (e.g., S 200 and S 300 ), wherein different structure versions can be identified by different structure identifiers (e.g., building identifiers). Examples of the illustrative example are shown in at least FIG. 6 A , FIG. 6 B , FIG. 12 , and FIG. 13 .
- the measurements can be aerial images, depth measurements, and/or other measurements.
- the geographic region can be a property parcel, a prior structure version's geofence or mask, and/or other region.
- the timeseries of structure versions can be determined by: extracting a structure representation for a physical structure (e.g., a roof vector, a roof segment, a roof geometry, a building vector, a building segment, etc.) from each measurement of the timeseries; and associating structure representations representing the same structure version with a common structure version (e.g., the same structure identifier).
- Structure representations representing the same structure version can have the same representation values, have the same structural segments (e.g., physical segments, image segments, geometric segments, etc.), share structural segments, and/or otherwise represent the same structure version. Relationships between different structure versions can also be determined, based on the respective structure representations (e.g., using rules, a classifier, etc.).
- a modified structure version can have an overlapping set of structural segments with a prior structure version; a replaced structure version can have a disjoint set of structural segments with a prior structure version; an added structure version can have a new set of structural segments when a prior structure version had none; and a removed structure version can have no structural segments when a prior structure version had structure segments.
- Auxiliary information for each structure version can also be associated with the respective structure version (e.g., with the structure identifier) using a set of spatiotemporal rules, or be otherwise associated.
- the timeseries of building versions and associated relationships can be represented by a graph (e.g., spatiotemporal graph), where the graph nodes can represent building versions and the edges can represent the relationships.
- information associated with a given structure version can be returned responsive to a request identifying the structure version.
- Information can include: a set of changes (e.g., relationships) between the identified structure version and another structure version (e.g., a current structure version), information from the structure version's timeframe (e.g., auxiliary information, information extracted from measurements of the geographic region sampled during the timeframe, structure segments, etc.), and/or other information.
- the method can be otherwise performed.
- Variants of the technology for property identification analysis can confer several benefits over conventional systems and benefits.
- variants of the technology can associate information for a physical object variant (e.g., object instance) with a singular, universal object identifier. This can enable the system to track and return object information for different variants of the “same” object, and can enable the system to identify when the physical object has changed. For example, the system can automatically distinguish between and treat the original and remodeled version of a property as two different property variants, and associate information for each property version with the respective property version.
- a physical object variant e.g., object instance
- a singular, universal object identifier e.g., object instance
- variants of the technology can enable information from different measurement modalities, different measurement vendors, and/or different measurement times to be merged with an object identifier for a single (physical) object instance.
- variants of the technology can extract object representations (e.g., structure representations) that are agnostic to vendor differences, common changes (e.g., occlusions; shadows; roof appearance (e.g., additional/removal of solar panels, roof covering replacement; etc.), measurement registration errors or changes (e.g., due to seismic shift), and other inter-measurement differences, which humans can have difficulty distinguishing.
- object representations e.g., structure representations
- common changes e.g., occlusions; shadows; roof appearance (e.g., additional/removal of solar panels, roof covering replacement; etc.
- measurement registration errors or changes e.g., due to seismic shift
- the technology can use a neural network model that is trained using self-supervised learning to generate the same representation for the same physical property instance, despite slight changes in the visual appearance of the property represented in the measurements (e.g., the model is agnostic to appearance-based changes, but is sensitive to geometric changes and/or structural changes
- variants of the technology can use the object representations to determine the type of change.
- the technology can use a neural network model that is trained to identify roof facets from the measurement.
- a first and second object structure detected in a first and second measurement, respectively, can be considered the same building when the first and second measurement share roof facets.
- variants of the technology can minimize the number of measurement pairs to analyze, thereby increasing the computational efficiency of the method, by limiting the object representation comparisons to those located within and/or overlapping a common geographic region (e.g., property parcel).
- a common geographic region e.g., property parcel.
- objects from different measurements of the same property parcel or geographic region can be assumed to have a high probability of being the same, so representation comparisons can be limited to those of objects extracted from measurements of the same property parcel (or geographic region).
- the method can include: determining object information S 100 , determining a set of object representations S 200 , determining relationships between object representations S 300 , and optionally generating an analysis based on the relationships S 400 .
- the method can additionally and/or alternatively include any other suitable elements.
- One or more variations of the system and/or method can omit one or more of the above elements and/or include a plurality of one or more of the above elements in any suitable order or arrangement.
- One or more instances of the method can be repeated for different properties, different timeframes, and/or otherwise repeated.
- the method functions to associate information (e.g., measurements, representations, extracted features, auxiliary information, etc.) for the same physical object version with a common object identifier.
- the method can optionally function to segregate information for different object versions.
- the method can also determine a timeseries of object versions for the objects within a given geographic region.
- the objects are preferably physical objects, but can be any other object.
- the objects can be: structures (e.g., built structures, such as buildings, etc.), a portion of a structure (e.g., a building component, a roof, a wall, etc.), vegetation, manmade artifacts (e.g., pavement, driveways, roads, lakes, pools, etc.), and/or be any other suitable physical object.
- the objects are preferably static (e.g., immobile relative to the ground or other mounting surface), but can alternatively be partially or entirely mobile.
- Object versions 40 are preferably distinguished by different physical geometries (e.g., internal geometries, external geometries, etc.), but can alternatively be distinguished by different appearances and/or otherwise distinguished.
- different building versions can have different sets of building segments (e.g., different roof segments), different building material (e.g., tile vs shingle roofing), and/or be otherwise distinguished.
- the same building version can have the same set of building segments, building material, and/or other parameters.
- Each object version 40 can be identified by a singular, universal object identifier. Alternatively, each object version can be identified by multiple object identifiers. Each object identifier preferably identifies a single object version, but can alternatively identify multiple object versions (e.g., identify an object geographic region, wherein different object versions can be distinguished by different timeframes).
- the object identifier can be a sequence of characters, a vector, a token, a mask, and/or any other suitable object identifier.
- the object identifier can include or be derived from: the geographic region (e.g., an address, lot number, parcel number, geolocation, geofence, etc.), a time stamp (e.g., of the first known instance of the object version), a timeframe (e.g., of the object version), the object representation associated with the object version (e.g., a hash of the object representation, the object representation itself, etc.), an index (e.g., version number for the geographic region), a random set of alphanumeric characters (e.g., a set of random words, etc.), an object version within a series of related object versions, and/or any other suitable information.
- the object identifier can include or be determined from a parcel number or address and a timestamp of the first measurement depicting the respective object version.
- the method can be performed: in response to a request (e.g., an API request) from an endpoint, before receipt of a request, when new measurements are received, at a predetermined frequency, and/or any other suitable time.
- the method can be performed once, iteratively, responsive to occurrence of a predetermined event, and/or at any other time.
- an instance of the method is performed using all available object information (e.g., measurements) for a given geographic region 10 , wherein object representations are extracted from each piece of available object information and compared against each other to distinguish object versions.
- an instance of the method is performed using a specific set of object information (e.g., new object information, object information from a certain timeframe, etc.), wherein the object representation is extracted from the set of object information and compared against other object representations for the geographic region 10 that were determined using prior instances of the method to determine whether the object representation represents a known object version or a new object version.
- object information e.g., new object information, object information from a certain timeframe, etc.
- the method can be performed at any time, using any other suitable set of object information.
- the method can be performed for all objects within an object set (e.g., all properties appearing in a map, within a geographic region, within a large-scale measurement, etc.), a single object (e.g., a requested building, a requested parcel), a geographic region, a timeframe, and/or any other suitable set of objects.
- an object set e.g., all properties appearing in a map, within a geographic region, within a large-scale measurement, etc.
- a single object e.g., a requested building, a requested parcel
- a geographic region e.g., a timeframe, and/or any other suitable set of objects.
- the method can be performed for one or more geographic regions 10 (e.g., examples shown in FIG. 3 , FIG. 6 A , and FIG. 6 B ), wherein object representations for objects within and/or encompassing the geographic region 10 are extracted and analyzed from object information depicting or associated with the geographic region to determine whether the object has changed over time.
- the geographic region 10 can be: a real estate parcel, the geographic footprint of an object version detected in a different piece of object information (e.g., measurement), a region surrounding the geographic footprint, a municipal region (e.g., neighborhood, zip code, city, state, etc.), a geographic region depicted within a measurement, and/or any other suitable geographic region.
- the geographic region includes the geofence for a detected or known object.
- the geographic region includes the geolocations within the geofence.
- the geographic region includes a property parcel.
- the analyzed object representations can be limited to those for an object of interest (e.g., having a predetermined object class).
- the geographic region includes a large region (e.g., property parcel, neighborhood, municipal district, etc.).
- object representations for a plurality of objects can be extracted from object information from different times, wherein temporally distinct object representations that are associated with overlapping geographic subregions are analyzed (e.g., compared).
- any other suitable geographic region can be used.
- the method is preferably performed by a remote system (e.g., platform, cloud platform, etc.), but can additionally and/or alternatively be performed by a local system or be performed by any other suitable system.
- the remote system can include a set of processing systems (e.g., configured to execute all or portions of the method, the models, etc.), storage (e.g., configured to store the object representations, object versions, data associated with the object versions, etc.), and/or any other suitable component.
- the method can be performed using one or more models.
- the model(s) can include: a neural network (e.g., CNN, DNN, encoder, etc.), a visual transformer, a combination thereof, an object detector (e.g., classical methods, CNN based algorithms, such as Region-CNN, fast RCNN, faster R-CNN, YOLO, SSD—Single Shot MultiBox Detector, R-FCN, etc.; feed forward networks, transformer networks, generative algorithms, diffusion models, GANs, etc.), a segmentation model (e.g., semantic segmentation model, instance-based semantic segmentation model, etc.), leverage regression, classification, rules, heuristics, equations (e.g., weighted equations), instance-based methods (e.g., nearest neighbor), decision trees, support vectors, geometric inpainting, Bayesian methods (e.g., Na ⁇ ve Bayes, Markov, etc.), kernel methods, statistical methods (e.g., probability), deterministics,
- Each model can determine (e.g., predict, infer, calculate, etc.) an output based on: one or more measurements depicting the object, tabular data (e.g., attribute values, auxiliary data), other object information, and/or other information.
- the model(s) can be specific to an object class (e.g., roof, tree, pool), a sensing modality (e.g., the model is specific to accepting an RGB satellite image as the input), and/or be otherwise specified.
- One model can be used to extract different representations of the set, but additionally and/or alternatively multiple different models can be used to extract different representations of the set.
- models that can be used include one or more: object representation models, object detectors, object segmentation models, relationship models, and/or other models.
- the object representation model functions to extract a representation of the object depicted or described within the object information.
- the object representation model preferably extracts the object representation from a single piece of object information (e.g., a single image, etc.), but can alternatively extract the object representation from multiple pieces of object information.
- the object representation model can include a single model (e.g., a CNN, an object detector, an object segmentation model, etc.), a set of submodels (e.g., each configured to extract a different attribute value from the object information), and/or be otherwise configured.
- the object representation model can be an object segmentation model that extracts a segment (e.g., semantic segment, instance-based segment, etc.) of an object of interest (e.g., object class of interest) from a measurement (e.g., an image, a DSM, etc.).
- a segment e.g., semantic segment, instance-based segment, etc.
- a measurement e.g., an image, a DSM, etc.
- the object representation model can include a set of attribute models, each configured to extract a value for the respective attribute from the object information (e.g., contemporaneous object information, same piece of object information, etc.).
- attribute models can include those described in U.S. application Ser. No. 17/475,523 filed 15 Sep. 2021, U.S. application Ser. No. 17/526,769 filed 15 Nov. 2021, U.S. application Ser. No. 17/749,385 filed 20 May 2022, U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, U.S. application Ser. No. 17/858,422 filed 6 Jul. 2022, U.S. application Ser. No. 17/981,903 filed 7 Nov.
- the object representation model can be a model (e.g., CNN, encoder, autoencoder, etc.) trained to output the same object representation (e.g., feature vector) for the same object version despite common appearance changes in the object measurement (e.g., be agnostic to appearance-based changes but sensitive to geometric changes).
- Common appearance changes can include: shadows, occlusions (e.g., vegetation cover, snow cover, cloud cover, aerial object cover, such as birds or planes, etc.), registration errors, and/or other changes.
- This object representation model preferably extracts the object representation from an appearance measurement (e.g., an image), but can alternatively extract the object representation from a geometric measurement (e.g., DSM, point cloud, mesh, etc.), geometric representation (e.g., model), and/or from any other suitable object information.
- the object representation model can be trained to extract the same object representation (e.g., feature vector) for all instances of an object within a geographic region (e.g., the same parcel, the same geofence, the object segment's geographic footprint, etc.) from object information from different timeframes (e.g., images from different years, times of the year, etc.) (e.g., example shown in FIG. 5 ).
- this object representation model can be trained to predict the same object representation (e.g., feature vector) using only object information that is known to describe the same object version.
- the object representation model can be a feature extractor.
- the feature extractor can be: a set of upstream layers from a classifier (e.g., trained to classify and/or detect the object class from the object information), an encoder, a classical method, and/or any other suitable feature extractor. Examples of feature extractors and/or methodologies that can be used include: corner detectors, SIFT, SURF, FAST, BRIEF, ORB, deep learning feature extraction techniques, and/or other feature extractors.
- the object representation model can be otherwise configured.
- the object detectors can detect the objects of interest (e.g., object classes of interest) within the object information (e.g., object measurement, DSM, point cloud, image, wide-area image, etc.).
- object information e.g., object measurement, DSM, point cloud, image, wide-area image, etc.
- object detector is preferably specific to a given object class (e.g., roof, solar panel, driveway, chimney, HVAC system, etc.), but can alternatively detect multiple object classes.
- Example object detectors that can be used include: Viola Jones, Scale-invariant feature transform (SIFT), Histogram of oriented gradients (HOG), region proposals (e.g., R-CNN), Single Shot MultiBox Detector (SSD), You Only Look Once (YOLO), Single-Shot Refinement Neural Network for Object Detection (RefineDet), Retina-Net, deformable convolutional networks, zero-shot object detectors, transformer-based networks (e.g., Detection Transformer (DETR), and/or any other suitable object detector.
- SIFT Scale-invariant feature transform
- HOG Histogram of oriented gradients
- region proposals e.g., R-CNN
- SSD Single Shot MultiBox Detector
- YOLO You Only Look Once
- RefineDet Single-Shot Refinement Neural Network for Object Detection
- Retina-Net deformable convolutional networks
- zero-shot object detectors e.g
- An object detector can: detect the presence of an object of interest (e.g., an object class) within the measurement, determine a centroid of the object of interest, determine a count of the object of interest within the measurement, determine a bounding box surrounding the object (e.g., encompassing or touching the furthest extents of the object, aligned with or parallel the object axes, not aligned with the object axis, be a rotated bounding box, be a minimum rotated rectangle, etc.), determine an object segment (e.g., also function as a segmentation model), determine object parameters, determine a class for the object, and/or provide any other suitable output, given a measurement of the object or geographic region (e.g., an image).
- an object of interest e.g., an object class
- object parameters can include: the location of the object (e.g., location of the object within the image, the object's geolocation, etc.; from the bounding box location); the geographic extent of the object (e.g., extent of the bounding box); the orientation of the object (e.g., within the image, within a global reference frame, relative to cardinal directions, relative to another object, etc.; from the bounding box orientation); the dimensions of the object (e.g., from the dimensions of the bounding box), and/or other parameters.
- the object detector can additionally or alternatively be trained to output object geometries, time of day (e.g., based on shadow cues), and/or any other suitable information.
- the object detector can be trained based on manual labels (e.g., manually drawn bounding boxes), bounding boxes drawn around object segments (e.g., determined using a segmentation model from measurements of the same resolution, higher resolution, or lower resolution), bounding boxes drawn around object geofences or masks (e.g., determined from the locations of the object segments), and/or other training targets.
- the object detector e.g., a zero-shot object detector
- the detected object, parameters thereof (e.g., location, orientation, bounding box size, object class, etc.), and/or derivatory entities e.g., object segments
- derivatory entities e.g., object segments
- retrieve higher-resolution measurements of the region e.g., higher resolution than that used to detect the object; example shown in FIG.
- the region 15 retrieves a different measurement modality for the region (e.g., depth measurements for the region); be used to determine the pose of the object; be used to determine attribute values for the object; be used to determine a geometric parameter of the object (e.g., the detected building shadow's length can be used to determine a building's height, given the building's geolocation and the measurement's sampling time); be used for multi-category multi-instance localization; determine counts and/or other population analyses; for time-series analyses (e.g., based on objects detected from a timeseries of measurements); and/or be otherwise used.
- a different measurement modality for the region e.g., depth measurements for the region
- be used to determine the pose of the object e.g., be used to determine attribute values for the object; be used to determine a geometric parameter of the object (e.g., the detected building shadow's length can be used to determine a building's height, given the building's geolocation and the measurement's sampling time);
- the higher-resolution measurements can encompass the detected object's location, encompass the bounding box's geographic region, encompass a smaller region than the wide-area measurement, and/or be otherwise related to the detected object.
- the higher-resolution measurement can be used to extract a higher-accuracy object segment using a segmentation model (e.g., a more accurate segment than that extractable from the original measurement; example shown in FIG. 15 ) and/or be otherwise used.
- the bounding box can optionally be used to crop or mask the higher-resolution image before object segmentation or not be used for segmentation.
- the object segment and/or object detection can then be used to determine object attributes, feature vectors, and/or otherwise used.
- the object detector can be otherwise configured, and the outputs otherwise used.
- the object segmentation models can determine the pixels corresponding to an object of interest (e.g., object class of interest).
- the object segmentation models can be preferably specific to a given object class (e.g., roof, solar panel, driveway, etc.), but can alternatively segment multiple object classes.
- the object segmentation model can be a semantic segmentation model (e.g., label each pixel with an object class label or no object label), instance-based segmentation model (e.g., distinguish between different instances of the same object class within the measurement), and/or be any other suitable model.
- the object segmentation model is preferably trained to determine object representations (e.g., masks, pixel labels, blob labels, etc.) from object measurements, but can alternatively determine the object representations from other object information.
- the object measurements used by the object segmentation model can be higher resolution and/or depict a smaller geographic region than those used by the object detector; alternatively, they can be the same, lower resolution, and/or depict a larger geographic region.
- the relationship model functions to determine the type of relationship between two object versions and/or object representations.
- the relationship model can be a classifier (e.g., change classifier) trained to determine (e.g., predict, infer) a relationship (e.g., change) between two object variants and/or object representations, given the object representations.
- the relationship model can be a ruleset or set of heuristics.
- the relationship model can associate object representations with object versions based on a comparison of the geometric segments represented by the object representations.
- the relationship model can associate information (e.g., auxiliary information) with an object version when that information (e.g., auxiliary information) is also associated with the same geographic region and the same timeframe as the object version.
- information e.g., auxiliary information
- the relationship model can be a similarity model configured to determine a distance between two object representations.
- the relationship model can be otherwise configured.
- Determining object information S 100 functions to determine information that is representative of an object version.
- the object information 20 (e.g., examples shown in FIG. 2 , FIG. 4 , FIG. 12 , and FIG. 13 ) is preferably for a geographic region 10 associated with an object of interest, but can additionally or alternatively be for an image segment, geometric segment, and/or any other suitable entity.
- the geographic region associated with the object of interest can be a parcel, lot, geofence (e.g., of a prior version of the object), neighborhood, geocode (e.g., associated with an address), or other geographic region.
- S 100 can retrieve imagery (e.g., aerial imagery) depicting the geographic region associated with an address (e.g., depicting the respective parcel, encompassing a geocode associated with the address, etc.).
- imagery e.g., aerial imagery
- S 100 can retrieve any other suitable object information.
- the determined object information can include one or more pieces of object information.
- the object information can include: a single measurement (e.g., image), multiple measurements, measurements and attribute values, attribute values and descriptions, all available object information (e.g., for the geographic region, for the timeframe), and/or any other suitable set of object information.
- the determined object information can be for one or more time windows (e.g., timeframes).
- the determined object information can include: all information associated with the geographic region, only new information available since the last analysis of the object version and/or the geographic region, the most recent information (e.g., for the geographic region), only information within a predetermined time window (e.g., within a request-specified time window or timeframe, from the last analysis until a current time, etc.), and/or any other suitable object information.
- limiting the object information by time window can enable object representations to be determined for each time window, which enables the resultant object representations to be compared (and tracked) across different time windows.
- the determined object information can be unlimited by time.
- the object information 20 can be determined: responsive to receipt of a request (e.g., identifying the object identifier, identifying the geographic region, etc.), when new information is available, periodically, at a predetermined time, and/or at any other suitable time.
- object information for a geographic region can be retrieved in response to receipt of a request including an object identifier associated with the geographic region, wherein the retrieved object information can be for the object version associated with the object identifier and/or for other object versions associated with the geographic region.
- all object information for a geographic region can be periodically retrieved. However, the object information can be determined at any other time.
- the object information 20 can be from the same information provider (e.g., vendor), but can additionally and/or alternatively be from different information providers; example shown in FIG. 2 .
- the information determined for different object versions preferably has the same information modality (e.g., RGB, LIDAR, stereovision, radar, sonar, text, audio, etc.), but can additionally and/or alternatively have different information modalities.
- the information can be associated with the same information time (e.g., time the image was captured of the object), but can additionally and/or alternatively be associated with different information times.
- the information can be associated with the same geographic region (e.g., parcel, lot, address, geofence, etc.), or be associated with different geographic regions.
- Each piece of object information 20 can be associated with geographic information (e.g., a geolocation, an address, a property identifier, etc.), a timeframe (e.g., a timestamp, a year, a month, a date, etc.), information provider, pose relative to the object or geographic region, and/or other metadata.
- geographic information e.g., a geolocation, an address, a property identifier, etc.
- timeframe e.g., a timestamp, a year, a month, a date, etc.
- information provider e.g., pose relative to the object or geographic region, and/or other metadata.
- the object information 20 can include: measurements, models (e.g., geometric models), descriptions (e.g., text descriptions, audio descriptions, etc.), attribute values (e.g., determined from the measurements or descriptions, etc.), auxiliary data, and/or other information.
- models e.g., geometric models
- descriptions e.g., text descriptions, audio descriptions, etc.
- attribute values e.g., determined from the measurements or descriptions, etc.
- auxiliary data e.g., auxiliary data, and/or other information.
- the same type of object information is preferably determined for each object version and/or method instance; alternatively, different object information types can be determined.
- Each measurement is preferably an image (e.g., RGB, NDVI, etc.), but can additionally and/or alternatively be depth information (e.g., digital elevation model (DEM), digital surface model (DSM), digital terrain model (DTM), etc.), polygons, point clouds (e.g., from LIDAR, stereoscopic analyses, correlated images sampled from different poses, etc.), radar, sonar, virtual models, audio, video, and/or any other suitable measurement.
- the image can include tiles (e.g., of geographic regions), chips (e.g., depicting a parcel, depicting the portion of a geographic region associated with a built structure), parcel segments (e.g., of a property parcel), and/or any other suitable image segments.
- Each measurement can be geometrically corrected (e.g., orthophoto, orthophotograph, orthoimage, etc.) such that the scale is uniform (e.g., image follows a map projection), but can alternatively not be geometrically corrected.
- Each measurement preferably depicts a top-down view of the object, but can additionally and/or alternatively depict an oblique view of the object, an orthographic view of the object, and/or any other suitable view of the object.
- Each measurement is preferably remotely sensed (e.g., satellite imagery, aerial imagery, drone imagery, radar, sonar, LIDAR, seismography, etc.), but can additionally and/or alternatively be locally sensed or otherwise sensed.
- the measurements can be of the object exterior, interior, and/or any other suitable view of the property.
- measurements can be: wide-area images, parcel segments (e.g., image segment depicting a parcel), object segments (e.g., image segment depicting a structure of interest; example shown in FIG. 3 ), and/or any other suitable measurement.
- the image segments can be cropped to only include the entity of interest (e.g., parcel, structure, etc.), or include surrounding pixels.
- the measurements of the set are preferably measurements of the same geographic region (e.g., property, parcel, etc.), but can alternatively be representative of different geographic regions.
- the property can be: a property parcel, an object, a point of interest, a geographic region, and/or any other suitable entity.
- the measurements of the set can be associated with (e.g., depict) the same physical object instance (e.g., the tracked object instance) or different object instances.
- the object can include: a built structure (e.g., building, deck, pool, etc.), a segment of a built structure (e.g., roof, solar panel, door, etc.), feature of a built structure (e.g., shadow), vegetation, a landmark, and/or any other physical object.
- a neural network model can be trained to identify an object of interest (e.g., an object segment) within a measurement (e.g., image, geometric measurement, etc.), wherein occluded segments of the object of interest can be subsequently infilled by the same or different model.
- the occluded segments can be infilled using the method disclosed in U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, incorporated herein in its entirety by this reference, and/or using any other suitable method.
- errant depth information can be removed from a depth measurement. In an illustrative example, this can include removing depth information below a ground height and/or removing depth information above a known object height, wherein the known object height can be obtained from building records, prior measurements, or other sources.
- any other suitable object measurement can be determined.
- the attribute values can represent an attribute of the object version.
- object attributes can include: appearance descriptors (e.g., color, size, shape, texture, etc.), geometric descriptors (e.g., dimensions, slope, shape, complexity, surface area, etc.), condition descriptors (e.g., yard condition, roof condition, etc.), construction descriptors (e.g., roofing material, flooring material, siding material, etc.), record attributes (e.g., construction year, number of beds/baths, structure classification, etc.), classification attributes (e.g., object class, object type), and/or other descriptors.
- the object attributes can be quantitative, qualitative, and/or otherwise valued.
- the object attributes can be determined from object measurements, descriptions, auxiliary information, and/or other information.
- the object attributes can be determined: manually, using a trained model (e.g., trained to predict or infer the attribute value based on the object information), from a third party database, and/or otherwise determined.
- property attributes and/or values thereof can defined and/or determined as disclosed in U.S. application Ser. No. 17/529,836 filed on 18 Nov. 2021, U.S. application Ser. No. 17/475,523 filed 15 Sep. 2021, U.S. application Ser. No. 17/749,385 filed 20 May 2022, U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, and/or U.S. application Ser. No.
- Example attributes can include: structural attributes (e.g., for a primary structure, accessory structure, neighboring structure, etc.), record attributes (e.g., number of bed/bath, construction year, square footage, legal class, legal subclass, geographic location, etc.), condition attributes (e.g., yard condition, yard debris, roof condition, pool condition, paved surface condition, etc.), semantic attributes (e.g., semantic descriptors), location (e.g., parcel centroid, structure centroid, roof centroid, etc.), property type (e.g., single family, lease, vacant land, multifamily, duplex, etc.), property component parameters (e.g., area, enclosure, presence, structure type, count, material, construction type, area condition, spacing, relative and/or global location, distance to another component or other reference point, density, geometric parameters, condition, complexity, etc.; for pools, porches, decks, patios, fencing, etc.), storage (e.g., presence of a garage, carport, etc.), permanent or semi-permanent
- trampolines, playsets, etc. e.g., paved area, percent illuminated, paved surface condition, etc.), foundation elevation, terrain parameters (e.g., parcel slope, surrounding terrain information, etc.), legal class (e.g., residential, mixed-use, commercial), legal subclass (e.g., single-family vs. multi-family, apartment vs.
- pavement parameters e.g., paved area, percent illuminated, paved surface condition, etc.
- foundation elevation e.g., terrain parameters (e.g., parcel slope, surrounding terrain information, etc.)
- legal class e.g., residential, mixed-use, commercial
- legal subclass e.g., single-family vs. multi-family, apartment vs.
- condominium geographic location
- population class e.g., suburban, urban, rural, etc.
- school district orientation (e.g., side of street, cardinal direction, etc.)
- subjective attributes e.g., curb appeal, viewshed, etc.
- built structure values e.g., roof slope, roof rating, roof condition, roof material, roof footprint, roof surface area, covering material, number of roof facets, roof type, roof geometry, roof segments, etc.
- auxiliary structures e.g., a pool, a statue, ADU, etc.
- risk scores e.g., score indicating risk of flooding, hail, fire, wind, wildfire, etc.
- neighboring property values e.g., distance to neighbor, structure density, structure count, etc.
- context e.g., hazard context, geographic context, weather context, terrain context, etc.
- vegetation parameters e.g., vegetation type, vegetation density, etc.
- historical construction information e.g., list price, sale price, spread
- Auxiliary data can include property descriptions, permit data, insurance loss data, inspection data, appraisal data, broker price opinion data, property valuations, property attribute and/or component data (e.g., values), and/or any other suitable data.
- the object information can be: retrieved, extracted, and/or otherwise determined.
- the set of measurements can be determined by retrieving the set of measurements from a database.
- the set of measurements can be manually determined.
- the set of measurements can be determined by segmenting the set of measurements from a wide-area measurement (e.g., representative of multiple properties).
- the set of measurements are preferably determined based on parcel data, but can alternatively be determined independent of parcel data.
- the set of measurements can be segmented from a wide-area measurement by determining a parcel segment within the wide-area image based on a parcel boundary.
- object segments e.g., representative of objects, roof, pool, etc.
- a segmentation model e.g., semantic segmentation model, instance-based segmentation model, etc.
- the set of measurements can be segmented from a wide-area measurement by detecting objects within a wide-area image (e.g., using an object detector).
- the object detections can optionally be assigned to parcels based on the object's geolocation(s).
- the set of measurements can be segmented from a wide-area measurement as discussed in U.S. application Ser. No. 17/336,134 filed 1 Jun. 2021, which is incorporated in its entirety by this reference.
- the set of measurements can be otherwise determined.
- Determining a set of object representations S 200 functions to determine object representations for an object of interest or a geographic region.
- the set of object representations 30 is preferably determined (e.g., extracted) from the object information determined in S 100 , but can alternatively be determined from other information.
- the object information can be of the same or different type (e.g., modality), from the same or different vendor, from the same or different time window, from the same or different geographic region (e.g., wherein the different geographic regions overlap or are disjoint), and/or be otherwise related.
- the set of object representations are preferably determined from a set of measurements, but can additionally and/or alternatively be determined from a description, a set of attribute values, and/or any other suitable object information.
- One object representation 30 (e.g., a geometric representation) is preferably determined from each piece of object information (e.g., measurement) of the set, but alternatively multiple representations can be determined from each piece of object information (e.g., different representation types for the same object, such as a geometric representation and a visual representation for the same object; different representations for different objects depicted within the same measurement; etc.), one representation can be determined from multiple pieces of information (e.g., measurements) of the set, and/or any other suitable set of representations can be determined from any suitable number of object information pieces (e.g., measurements).
- the object representation 30 can represent: an object class of interest within a geographic region, an object instance of interest (e.g., an object version), and/or any other suitable object.
- the geographic region can be the same or different from that used in S 100 to determine the object information.
- S 200 can include determining object representations for all buildings or roofs depicted within a measurement (e.g., image or an image segment) depicting a given geographic region (e.g., a real estate parcel, a region surrounding the geographic footprint of an object detected in a prior measurement, etc.).
- S 200 can include determining the object representation for a specific building or roof depicted within the measurement.
- any other suitable set of object representations can be determined for a given object instance or geographic region.
- Examples of object representations 30 that can be determined can include: an appearance representation (e.g., representative of an object's visual appearance), a geometric representation (e.g., representative of an object's geometry), an attribute representation (e.g., representative of the object's attribute values), a combination thereof, and/or any other suitable representation.
- Examples of appearance representations can include: vectors (e.g., encoding values for different visual features or appearance-based features), matrices, object segments (e.g., measurement segments depicting substantially only the object, image segments, masks, etc.), bounding boxes encompassing the object, and/or other appearance-based representations.
- Examples of geometric representations can include: a geometric object segment (e.g., segment of a DSM, segment of a point cloud, masks, etc.), a bounding box (e.g., bounding box, bounding volume, etc.) encompassing the object, a mesh, vectors (e.g., encoding values for different geometric features), a set of geometric feature values (e.g., a set of planes, facets, points, edges, corners, peaks, valleys, etc.) and/or parameters thereof (e.g., count, position, orientation, dimensions, etc.), an array, a matrix, a map, polygons or measurement segments (e.g., example shown in FIG. 3 ), a model, and/or other geometric representations.
- a geometric object segment e.g., segment of a DSM, segment of a point cloud, masks, etc.
- a bounding box e.g., bounding box, bounding volume, etc.
- a mesh e.g
- attribute representations can include a vector of values for one or more attributes, and/or be otherwise represented.
- the attribute values for a given attribute representation are preferably determined from the same pieces of object information (e.g., the same measurements), but can additionally or alternatively be determined from contemporaneous object information and/or other information.
- the type of object representations that are determined in S 200 can be: predetermined, determined based on the type of measurement (e.g., geometric representations are extracted from Lidar, RGB images, and DSM data, while appearance representations are extracted from RGB images), and/or otherwise determined.
- the same type of representation is preferably determined for each time window for a given geographic region, such that the representations can be compared against each other; alternatively, different representation types can be determined for each time window for a given geographic region.
- the representations 30 of the set are preferably representative of the same object, but can additionally and/or alternatively be representative of different objects.
- the representations can be for the same or different object versions.
- the representations are preferably unassociated with an object identifier when the representations are initially determined (e.g., wherein the representation is associated with the object identifier in S 300 ), but can alternatively be associated with an object identifier by default (e.g., associated with the last object identifier for the property by default, wherein S 300 evaluates whether the object identifier is the correct object identifier).
- Object representations 30 can additionally and/or alternatively be associated with the metadata for the object information, such as the timestamp, vendor, geolocation, and/or other metadata.
- S 200 can generate a timeseries of object representations.
- Object representations 30 can additionally and/or alternatively be associated with: parcel information (e.g., parcel ID, parcel boundaries, parcel geolocation(s), associated addresses, etc.), attribute values extracted from or associated with the object information (e.g., attribute values extracted from the object information, etc.), auxiliary information (e.g., associated with the representation via the parcel, tax information, permit data, address information, square footage, number of beds and baths, etc.), and/or any other suitable auxiliary data.
- parcel information e.g., parcel ID, parcel boundaries, parcel geolocation(s), associated addresses, etc.
- attribute values extracted from or associated with the object information e.g., attribute values extracted from the object information, etc.
- auxiliary information e.g., associated with the representation via the parcel, tax information, permit data, address information, square footage, number of beds and baths, etc.
- the auxiliary data can be associated with a representation: spatially (e.g., wherein the auxiliary data is associated with a geographic location within the geographic region, with an address shared with the representation, etc.), temporally (e.g., wherein the auxiliary data and the representation are associated with the same time window, etc.), spatiotemporally, and/or otherwise associated with a representation.
- the object representation 30 is preferably determined by an object representation model, but can alternatively be determined by any other suitable model, be determined by a user, be retrieved from a database, or be otherwise determined.
- the object representation can be: extracted, calculated, aggregated, and/or otherwise determined from the object information.
- a feature vector (e.g., appearance feature vector, geometric feature vector, etc.) can be extracted from the object information using a neural network model (e.g., example shown in FIG. 5 ).
- the object information is preferably a measurement, more preferably an image or a geometric measurement (e.g., DSM), but can alternatively be any other suitable type of object information.
- the model can be trained to be invariant to common appearance changes (e.g., occlusions, shadows, car presence, registration errors, etc.), wherein the structure appearance of the property can be considered unchanged when the pair of vectors substantially match (e.g., do not differ beyond a threshold difference).
- the model can be trained to not be invariant to common appearance changes.
- the object representation is a measurement segment depicting the object.
- the object segment can be an image segment (e.g., determined from an image), a geometric segment (e.g., determined from a geometric measurement), an object component (e.g., a roof facet, etc.), and/or be otherwise configured.
- the object segment can be georegistered and/or unregistered.
- an image segment can be determined using an object segmentation model trained to segment the object class of interest.
- a roof segment can be determined within an image (e.g., of a parcel, a wide-area image, etc.) using a roof segmentation model.
- a geometric segment can be determined by masking a geometric measurement using a mask registered to the geometric measurement.
- the mask can be: an object segment or mask determined from an image (e.g., contemporaneously or concurrently sampled with the geometric measurement), an object segment for an known object version, and/or be any other suitable mask.
- the geometric measurement segment can be determined using an object segmentation model trained to detect segments of an object class of interest within a geometric measurement.
- a neural network model e.g., segmentation model
- the measurement segment can be otherwise determined.
- the object representation includes a set of dimensions for the object, and can additionally or alternatively include a location and/or orientation for the object.
- the geometric representation can include a length and width of the object, and can optionally include the height of the object.
- the geometric representation can be determined using an object detector (e.g., wherein the dimensions and other parameters, such as location or orientation are determined from the dimensions and parameters of the bounding box), an object segmentation model (e.g., wherein the dimensions and other parameters are determined from the object segment), and/or any other suitable object representation model.
- the object representation includes a set of components of the object, and can optionally include the parameters for each component and/or characteristics of the set.
- components can include: segments, planes, facets, edges (e.g., peaks, valleys, etc.), corners, and/or other object components.
- the object representation can include a set of roof segments or roof facets for a building, and can optionally include the pose (e.g., location, orientation, surface normal orientation, etc.), dimensions, slope, and/or other parameter of each component, and/or include the count, distribution (e.g., size distribution, slope distribution, etc.) and/or other characteristic of the set.
- the components are determined from a geometric segment (e.g., determined using the first variant), wherein a set of planes (e.g., the components) are fitted to the geometric segment.
- the model or a second model can optionally distinguish between adjacent components.
- a model can identify disjoint planes by optionally corresponding planes to depth information and identify disjoint planes with different normal vectors (e.g., determined based on depth information, etc.) as different components (e.g., different roof segments).
- different components can be otherwise distinguished.
- the components are determined using a model trained to determine component instances (e.g., roof segments) and/or extract the component parameters and/or characteristics from the object information (e.g., object measurement).
- component instances e.g., roof segments
- object information e.g., object measurement
- the component set, parameters thereof, and/or characteristics thereof can be otherwise determined.
- the object representations include an attribute set (e.g., attribute vector) for the object.
- the attributes within the attribute set are preferably the same attributes for all objects (and object versions), but can alternatively include different attributes.
- the attribute values within the attribute set are preferably determined from the same piece of object information, but can additionally or alternatively be determined from contemporaneous object information (e.g., object information captured, generated, or otherwise associated with a common time frame, such as within 1 day, 1 week, 1 month, or 1 year of each other), from object information known to be associated with the same object version, and/or from any other suitable set of object information.
- the attribute vector can include values for each of a set of attributes that were extracted from the same measurement (e.g., image) or from measurements sampled the same day (e.g., by the same vendor, by different vendors, etc.).
- the attribute values can be determined by one or more attribute models, and/or otherwise determined.
- the object representations can include a combination of the above variants.
- the set of representations can be otherwise determined.
- Determining relationships between object representations S 300 functions to determine whether the object representations within the set are associated with different physical object versions and/or how the physical object versions are related with each other.
- Different object versions 40 are preferably different versions of the same object (e.g., an original building and a remodeled building are different versions of the same building), but can additionally or alternatively be different objects altogether (e.g., an original building and a new building post demolition).
- Different object versions 40 preferably have different physical geometries (e.g., different footprints, different boundaries, different heights, different topography, etc.), but can additionally or alternatively have different appearances (e.g., different paint, different roofing or siding material, etc.), and/or be otherwise differentiated.
- different physical geometries e.g., different footprints, different boundaries, different heights, different topography, etc.
- appearances e.g., different paint, different roofing or siding material, etc.
- Each object identifier preferably identifies a single object version (e.g., example shown in FIG. 6 B ), but can alternatively identify multiple object versions (e.g., identify all related buildings located on the same or overlapping geographic region; example shown in FIG. 6 A ).
- the identifiers are preferably globally unique (e.g., are universally unique identifiers (UUID) or globally unique identifiers (GUID)), but can additionally and/or alternatively be locally unique (e.g., to the geographic region), not be unique, and/or otherwise related.
- UUID universally unique identifiers
- GUID globally unique identifiers
- the object identifier can be: a hash of the object's characteristics (e.g., geometric characteristics, visual characteristics, etc.), generated from the object representations associated with the object version, a randomly generated identifier, an index, a nonce, be generated based on a geographic region identifier, be generated based on the object version parameters (e.g., timeframe, etc.), be generated based on a prior object version's identifier, a unique combination of semantic words or alphanumeric characters, or be any other suitable identifier.
- the geographic region identifier can be an address, a hash of an address, an index, randomly generated, and/or otherwise determined.
- Examples of object identifiers include: an address and timestamp combination (e.g., wherein the timestamp is associated with the object version), a hash of the object representation associated with the object version, an object representation associated with the object version, and/or any other identifier.
- the relationships 50 are preferably determined by comparing the object representations 30 , but can alternatively be manually determined, predicted (e.g., using a model, from the object representations 30 or the underlying object information 20 ), and/or be otherwise determined.
- the compared object representations are preferably associated with the same geographic region (e.g., same parcel, the same geofence, the same geolocation, the same address, etc.), but can additionally and/or alternatively be associated with different geographic regions (e.g., disjoint geographic regions), related geographic regions (e.g., wherein one geographic region overlaps with the other), be randomly selected (e.g., from a set of representations extracted for a plurality of object instances), and/or be otherwise determined.
- the compared object representations are preferably temporally adjacent or sequential, but can alternatively be temporally disparate (e.g., separated by one or more intervening object representations). In a first example, all representations associated with the same geographic region are compared with each other. In a second example, temporally adjacent representations are compared with each other. However, any other set of representations can be compared.
- S 300 can include determining whether the object representations 30 represent the same object version 40 .
- Object representations indicative of the same physical object geometries (and/or appearances) are preferably associated with the same object version, while object representations indicative of different physical object geometries (and/or appearances) are preferably associated with different object versions.
- object representations indicative of different physical object geometries and/or appearances can be associated with the same object version, while object representations indicative of the same physical object geometries and/or appearances can be associated with different object versions.
- Object representations that represent the same object version can substantially match (e.g., are an exact match or match within a predetermined margin of error, such as 0.1%, 1%, 5%, etc.), have a similarity greater than a similarity threshold (e.g., Jaccard Index, Sorensen-Dice coefficient, Tanimoto coefficient, etc.), or have a distance less than a threshold distance (e.g., the cosine distance, Euclidean distance, Mahalanobis distance, or other similarity distance is less than a threshold distance); alternatively, the object representations representative of the same object version can be otherwise determined.
- a similarity threshold e.g., Jaccard Index, Sorensen-Dice coefficient, Tanimoto coefficient, etc.
- a threshold distance e.g., the cosine distance, Euclidean distance, Mahalanobis distance, or other similarity distance is less than a threshold distance
- the object representations representative of the same object version can be otherwise determined.
- Object representations representative of the same object version are preferably sequential, serial, or temporally adjacent (e.g., there is no intervening object representation or object version), but can alternatively not be sequential.
- an object version can be determined for each set of temporally adjacent object representations that are substantially similar.
- Object representations representative of different object versions are preferably substantially differentiated (e.g., the differences exceed a margin of error) and/or have less than a threshold similarity (e.g., the cosine distance, Euclidean distance, Mahalanobis distance, or other similarity distance is higher than a threshold distance); alternatively, the object representations representative of different object versions can be otherwise determined.
- determining whether the object representations represent the same object version can include comparing the object segments.
- comparing the object segments includes determining the object segment overlap (e.g., geographic overlap), wherein the object representations represent the same object version when the overlap exceeds a threshold and/or the non-overlapping portions falls below a threshold.
- comparing the object segments includes comparing the segment projections (e.g., footprints) and/or geometries, wherein the object representations represent the same object version when the projections and/or geometries are similar above a threshold. This embodiment can mitigate against registration errors between the underlying object measurements. However, the segments can be otherwise compared.
- determining whether the object representations represent the same object version can include comparing feature vectors (e.g., extracted using the appearance change-agnostic model) and/or attribute vectors.
- the object representations can be considered to represent the same object version when the vectors match (e.g., exactly or above a threshold similarity).
- the feature vectors can be otherwise compared.
- determining whether the object representations represent the same object version can include comparing component sets and/or parameters or characteristics thereof.
- the object representations represent the same object version when the components within the sets match, or when one set is a subset of the other.
- the object representations represent the same object version when the component sets have substantially the same component parameter or characteristic distributions.
- the object representations represent the same object version when the number of roof facets are substantially the same, when the slope distribution is substantially the same, when the roof peak or valley locations are substantially the same, and/or other component parameters or characteristics are substantially the same.
- S 300 can additionally or alternatively include determining whether the object versions or object representations are related, and/or how the object versions or object representations are related.
- Object versions can be considered related when they are the same object version, are derivatory object versions (e.g., one object version is a modified version of the other object version), or otherwise related.
- Object representations can be considered related when they represent the same object version, represent derivatory object versions (e.g., one object version is a modified version of the other object version), or otherwise related.
- Relationships 50 can be characterized by: a relationship class (e.g., relationship type), a similarity metric (e.g., cosine distance, affinity, etc.), an amount of change, the changed segments (e.g., wing added/removed, highlight the portions of a building that have been modified, etc.), and/or otherwise characterized.
- relationship classes can include: same, unchanged, modified, added, removed, replaced, or other relationship types.
- Relationships 50 can be between object representations 30 , object versions 40 , and/or any other suitable entity.
- two object versions are considered the “same” when the geometries (e.g., represented by object segments, object component sets, object feature sets, attribute vectors, etc.) substantially match; “modified” when a prior object version shares geometric segments with the latter object version (e.g., the geometric segments intersect; the component sets intersect or include shared components); “replaced” when a prior object version does not share geometric segments with the latter object version (e.g., the geometric segments are disjoint; the component sets do not share components); “added” when there was no prior object version (e.g., in the geographic region) and there is a latter object version; and “removed” when there was a prior object version (e.g., in the geographic region) and there is no latter object version.
- the geometries e.g., represented by object segments, object component sets, object feature sets, attribute vectors, etc.
- two object representations are considered to be the “same” when the respective object versions have the same geometries; “modified” when the object version represented by the prior object representation (“prior object version”) shares geometric segments with the object version represented by the latter object representation (“latter object version”); “replaced” when the prior object version does not share geometric segments with the latter object version (e.g., the geometric segments are disjoint; the component sets do not share components); “added” when the prior object representation represents no object (e.g., is indicative of an empty space) and the latter object representation represents an object; and “removed” when the prior object representation represents an object and the latter object representation represents no object (e.g., is indicative of an empty space).
- a single relationship is preferably determined between each pair of object versions and/or object representations; alternatively, multiple relationships can be determined between each pair of object versions and/or object representations.
- the method can determine a set of relationships tracking a history of object changes over time (e.g., a building change history).
- the set of relationships can be determined for: a geographic region (e.g., a parcel), an object, or for any other entity.
- the set of relationships can be specific to an object (e.g., a building, a tree, a pool), wherein the representations connected by the set of relationships are associated with the same object, and describe the relationship between the object versions (e.g., object states; how the object has changed over time).
- the set of relationships can be specific to a geographic region (e.g., a parcel), wherein the representations connected by the set of relationships cooperatively describe how different objects within the geographic region are related (e.g., the relationship between buildings on the property over time).
- the set of relationships can be otherwise specified.
- This set of relationships 50 between the object versions 40 and/or object representations 30 can cooperatively form a graph (examples shown in FIG. 6 A and FIG. 6 B ), but can be represented as a matrix, a table, a set of clusters, and/or otherwise represented.
- the graph can be a partially connected graph, a fully connected graph, and/or any other suitable type of graph.
- nodes of the graph can represent object versions, and edges of the graph (e.g., connecting pairs of nodes) represent relationships between the object versions.
- the nodes e.g., object versions
- the nodes of the graph can be object representations.
- the object representations associated with the nodes can include object representations extracted from all available data for a given property or object, only the latest representation (e.g., to detect changes; be a 2-node graph), and/or represent any other set of data or timeframes.
- object representations connected by a “same” relationship can be assigned the same object version identifier, while object representations connected by other relationships can be assigned different object version identifiers.
- the nodes are preferably ordered by time, but can alternatively be ordered by the relationship type, by statistical distance, or otherwise ordered.
- Connected nodes are preferably associated with the same geographic region, but can alternatively be associated with the same object and/or be otherwise associated.
- the edges are preferably associated with a relationship type (example shown in FIG. 6 A and FIG. 6 B ), but can additionally and/or alternatively not be associated with a relationship type.
- the edges can be defined between representations of the same building (e.g., a relationship between the representations is classified as “unchanged” or “modified”); example shown in FIG. 6 A and FIG. 6 B .
- the edges can be defined between representations of different buildings (e.g., different buildings are associated with the same property). However, the edges can be otherwise defined.
- the relationship 50 between two object versions 40 is preferably determined based on the respective object representations 30 (e.g., the object representations used to distinguish between the object versions, different object representations, etc.) (e.g., example shown in FIG. 12 ), but can additionally or alternatively be determined based on the object information associated with the object versions (e.g., object information generated during each object version's timeframe, object information used to determine the object representations, etc.), auxiliary data associated with each object version, and/or any other suitable information.
- the object information associated with the object versions e.g., object information generated during each object version's timeframe, object information used to determine the object representations, etc.
- auxiliary data associated with each object version e.g., auxiliary data associated with each object version, and/or any other suitable information.
- Object version relationships can be determined using a trained model, be determined using a ruleset, be calculated, be manually assigned, and/or be otherwise determined (e.g., examples shown in FIG. 4 ).
- S 300 includes classifying the relationship between object representations (and/or respective object versions); example shown in FIG. 7 .
- the classifier can ingest a set of object representations (e.g., a representation pair) and output a relationship classification (e.g., “unchanged”, “modified”, “replaced”, “added”, “removed”, etc.).
- the representations can be feature vectors (e.g., determined using the appearance change-agnostic model), measurement segments, attribute vectors, and/or other representations.
- the representations are preferably the same representation type (e.g., both are segments, both are feature vectors, both are attribute vectors, etc.), but can alternatively be different representation types.
- the classifier can be trained using ground-truth data including object representation sets (e.g., vector pairs, extracted from different measurements) labeled with the respective relationship class (e.g., change type labels), and/or using any other training data.
- the ground-truth relationship class can be determined manually, labeled using contemporaneous permit or tax data (e.g., labeled as “modified” when a permit exists for the timeframe, labeled as “removed” when the tax records show no improvements/land only, labeled as “replaced” when the taxable value changes but no sale has occurred, etc.), but can alternatively be labeled using any other suitable method.
- a set of appearance vectors extracted from different measurements by the same model can be fed to the classifier, wherein the classifier predicts a relationship label for the appearance vector set.
- S 300 includes determining the relationship between the object representations (and/or respective object versions) based on a comparison metric between the representations.
- the representations can be a vector of attribute values (e.g., such as roof pitch, roof slope, etc.; example shown in FIG. 8 ), be a feature vector, and/or be any other representation.
- the attribute within the vector can be selected to be indicative of object instance similarity (e.g., using SHAP values, lift, etc.), be unselected (e.g., include all attributes), or be otherwise selected.
- the comparison metric can be a distance metric (e.g., Euclidean distance, Chebyshev distance, etc.), a similarity metric (e.g., Jaccard similarity, cosine similarity, etc.), a dissimilarity metric, and/or any other suitable comparison metric.
- the distance metric values can be binned or thresholded, wherein each bin or threshold is associated with a different relationship class (e.g., small distances are binned to “unmodified” or “modified”, wherein large distances are binned to “added”, “removed”, or “heavily modified”, etc.).
- the distances can be otherwise interpreted.
- relationships between the representations can be determined based on rules and heuristics; example shown in FIG. 9 .
- the representations are preferably geometric representations, but can be other representations.
- each representation can include a set of roof facets.
- the relationship between a pair of representations (and/or respective object versions) can be considered: unchanged when the roof facets match; modified when the geometric representations share at least one roof facet; added when the prior geometric representation had no roof facets and the subsequent geometric representation has some roof facets; removed when the prior geometric representation had some roof facets and the subsequent geometric representation has no roof facets; and replaced when the pair of geometric representations both have roof facets but none match; example shown in FIGS. 10 A- 10 E .
- a structure can be considered the same structure when the subsequent and prior structures share a common roof facet or segment (e.g., when the structure is unchanged or is modified).
- each representation can include a set of measurement segments (e.g., image segments or geometric segments).
- the relationship between a pair of representations (and/or respective object versions) can be considered: unchanged when the segments match; modified when the segments overlap; added when there was no prior measurement segment and there is a subsequent measurement segment; and removed when there was a prior measurement segment and there is not a subsequent measurement segment.
- permits e.g., remodeling permits
- relevant to the object e.g., property
- tax information relevant to the property from the same timeframe as the representations can signal that an object was modified.
- This auxiliary data e.g., permit data, tax data, etc.
- rules, criteria, and/or heuristics can otherwise determine relationships between the representations.
- relationships between the representations can be determined based on a cascade of analysis modules.
- a first analysis module can use geometric analysis to determine coarse changes (e.g., added, removed, same footprint, different footprint, etc.) and a second analysis module can use appearance-based methods and/or classifiers to distinguish between finer changes after the coarse changes have been determined (e.g., detect occurrence of a remodel if same footprint, determine magnitude of change if different footprint, etc.).
- a first analysis module can use appearance-based methods to determine whether the structure has changed
- a second analysis module can use geometric representation (e.g., extracted from the same measurement or a contemporaneous measurement) to determine whether the structure remains the same
- a third analysis module can use appearance representation to determine (e.g., classify) the type of structure change.
- the second variant can be used to determine the object representations that represent the same object versions (e.g., wherein vectors that are substantially similar represent the same object versions), then the first variant or the third variant can be used to classify the relationships between the object versions.
- the cascade of analysis modules can otherwise determine relationships between the representations.
- S 300 can additionally include identifying object versions 40 based on the relationships.
- an object version can be associated with or identified as a set of related object relationships (e.g., set of connected nodes); example shown in FIG. 6 A .
- an object version can be associated with or identified as representations related by a predetermined subset of relationship types (e.g., only unchanged or “same”, example shown in FIG. 6 B ; only unchanged and modified, etc.).
- object representations representing the same object version are identified, then relationships between the object versions are determined (e.g., example shown in FIG. 12 ).
- relationships between the object representations can be determined, wherein object versions can be determined based on the relationships (e.g., using a set of rules), and the relationships between different object versions can be determined from (e.g., inherited from) the relationships between the respective object representations (e.g., example shown in FIG. 13 ).
- an object version can be associated with or identified as a set of substantially similar object representations. However, the object version can be otherwise determined.
- Each object version 40 can be assigned one or more object identifiers, as discussed above.
- Each determined object version 40 can be associated with: a timeframe, the geographic region (e.g., from the object representations and/or object information), the related object representations, the object information used to determine the related object representations, auxiliary data spatially and/or temporally related to the object version, and/or other information.
- the timeframe for an object version can encompass all of the related object representations' timestamps (e.g., examples shown in FIG. 12 and FIG. 13 ) and/or exclude one or more related object representations' timestamps.
- the beginning of the timeframe for an object version can be: the timestamp of the first related object representation, the timestamp of the last object representation associated with a prior object version, a manually-specified time, a time determined from change-related object information (e.g., permit information, construction information, etc.), and/or otherwise determined.
- the end of the timeframe for an object version can be: the timestamp of the last object representation related to the object version, the timestamp of the first object representation associated with a subsequent object version, a manually-specified time, a time determined from completion-related object information (e.g., final certification, insurance documentation, etc.), and/or otherwise determined.
- completion-related object information e.g., final certification, insurance documentation, etc.
- the object version timeframe can be otherwise defined.
- the auxiliary data associated with an object version can be associated with the object version: spatially (e.g., both are associated with the same geographic region), temporally (e.g., the auxiliary data has a timestamp falling within the object version timeframe), spatiotemporally, by object information (e.g., both the object representation associated with the object version and the auxiliary data were determined from the same object information), associated based on parameters (e.g., spatial parameter, temporal parameter, etc.) shared with the object version and/or the measurements associated with the object version, and/or be otherwise associated with the object version.
- object information e.g., both the object representation associated with the object version and the auxiliary data were determined from the same object information
- parameters e.g., spatial parameter, temporal parameter, etc.
- Auxiliary data can include: object information from other vendors, object representations determined using object information from other vendors, object descriptions (e.g., property descriptions), permit data, insurance data (e.g., loss data, assessment data, etc.), inspection data, appraisal data, broker price opinion data, property valuations, attribute and/or component data (e.g., values), and/or other data.
- object descriptions e.g., property descriptions
- permit data e.g., insurance data (e.g., loss data, assessment data, etc.)
- inspection data e.g., appraisal data, broker price opinion data, property valuations, attribute and/or component data (e.g., values), and/or other data.
- object versions can be associated with any other suitable information.
- Generating an analysis based on the relationships S 400 functions to describe an object version, the timeseries of object versions, and/or other relationships between object versions.
- the analysis is preferably generated in response to a query (e.g., the query including an object identifier, geographic coordinates, an address, a time, etc.), but can additionally and/or alternatively be generated in response to a request from an endpoint, be generated before the request is received (e.g., when a specific relationship is detected, when new property data is received, etc.), be generated for each change (e.g., calculated when a changed relationship is determined), and/or any other suitable time.
- the analysis can be generated by traversing through a graph or a relationship set, by retrieving data associated with an object version, and/or be otherwise generated.
- S 400 can include: receiving a request identifying an object version; identifying the relationship set (e.g., graph or subgraph) associated with the object version; and returning information extracted from measurements associated with (e.g., used to generate) the object representations within the relationship set (e.g., example shown in FIG. 14 ).
- relationship set e.g., graph or subgraph
- S 400 can include: receiving a request with an address and a timestamp (e.g., the time at which the property was insured); identifying the relationship set associated with the address (e.g., the geographic region's relationship set); identifying the object version associated with the timestamp (e.g., the object version with the timeframe encompassing the timestamp); and generating a response based on the measurements associated with the object version (e.g., used to generate the object representations associated with the object version).
- a timestamp e.g., the time at which the property was insured
- identifying the relationship set associated with the address e.g., the geographic region's relationship set
- identifying the object version associated with the timestamp e.g., the object version with the timeframe encompassing the timestamp
- generating a response based on the measurements associated with the object version e.g., used to generate the object representations associated with the object version.
- S 400 can include: receiving the request identifying the object version and a set of requested data types, and retrieving object data associated with the object version that satisfies the request.
- the analysis can be otherwise initiated and/or used.
- analyses examples include: the relationship between a first and second object version (e.g., the next object version, a prior object version, the current object version etc.); a timeseries of changes between a first and second object version (e.g., change type, change time, building development history, parcel development history, etc.); whether the requested object version is the most recent object version for the geographic region; the most recent object version for a requested geographic region; the timeframe or duration for a requested object version; data associated with a requested object version (e.g., measurements, object representations, feature vectors, attribute values, etc.); an analysis of the timeseries that the requested object version is a part of (e.g., number of changes, types of changes, average object version duration, etc.); an analysis of the object versions associated with a requested timeframe; an analysis of the auxiliary data associated with the object version (e.g., statistical analysis, lookup, prediction, etc.); anomaly detection (e.g., a temporary structure); and/or other analyses (e.
- S 400 can include identifying measurements for an object version and generating the analysis from the set of identified measurements.
- the identified measurements are preferably associated with the object version's timeframe (e.g., sampled during object version's timeframe; etc.) and/or be otherwise associated with the object version.
- the analysis can include selecting the best measurement (e.g., image) of the object version based on a set of criteria (e.g., measurement with minimal shadows, measurement with maximal resolution, most up-to-date measurement, and least occluded, etc.).
- the analysis can include generating a synthetic measurement from said measurements (e.g., averaged measurement across a sliding window of measurements, etc.).
- attribute values e.g., roof slope, etc.
- object polygons for the object version can be extracted from the identified measurements.
- S 400 can include limiting returned data to data for the specified object variant and/or modifications thereof. For example, if the structure of the specified object (e.g., identified by a timestamp, an object identifier, etc.) was wholly replaced by a replacement structure, information for the original structure can be returned, and information for the replacement structure would not be returned.
- the structure of the specified object e.g., identified by a timestamp, an object identifier, etc.
- S 400 can include generating a timeseries of changes for a parcel. This can include compiling the time series of relationships between serial representations, serial object versions, or be otherwise performed.
- S 400 can include determining whether an object version has changed since a reference time or reference object variant.
- the relationship set can be analyzed to determine whether any change-associated relationships appear after the reference time or reference object variant.
- S 400 can include generating an analysis based on relationships between object variants within geospatial extent (e.g., a set of geographic coordinates of a neighborhood) and/or a set of object identifiers (e.g., a set of addresses).
- the analysis can include neighborhood-level statistics on object development (e.g., percentage of objects undergoing development within a neighborhood, average percentage of objects undergoing development across a set of neighborhoods).
- the analysis can include statistics for a list of addresses (e.g., average frequency of change occurrence between the addresses within a time interval).
- S 400 includes determining whether an object has changed based on the latest representation and a new representation determined from new property data.
- the new representation can be stored as the latest representation for the object (and/or a new object version can be created), and the prior representation can optionally be discarded; alternatively, the representations can be otherwise handled.
- Object information extracted from the new property data can optionally be stored in association with the new object version, and the old object information can optionally be discarded or associated with the prior object version.
- the object information extracted from the new property data can be: discarded, merged with the prior object information, and/or otherwise used.
- S 400 can additionally include providing the analysis to an endpoint (e.g., an endpoint on a network, customer endpoint, user endpoint, automated valuation model system, etc.) through an interface, report, or other medium.
- the interface can be a mobile application, web application, desktop application, an API, and/or any other suitable interface executing on a user device, gateway, and/or any other computing system.
- S 400 can be otherwise performed.
- the relationship set can be used to track changes of an object over time (e.g., structure modified, structure replaced, structure added, structure removed, auxiliary structure added, auxiliary structured removed, actively under construction, etc.), be used to associate measurements of the same object instance from different modalities or vendors together (e.g., example shown in FIG. 11 ), and/or otherwise used.
- the relationship set can be used for: insurance underwriting (e.g., verify that the originally-insured property still exists or is unchanged; determine pricing of insurance depending on the change; optimize inspection to identify where to send inspectors; determine when to reach out to adjust insurance policy when remodeling is detected; identify which properties to initiate claims for; create opportunities to proactively address property change issues before they result in insurance claims; reconcile object versions with those in their records or those that were insured; etc.), real estate property investing (e.g., identify underpriced properties that can increase in value through renovation and/or repairs; incorporate the change into a valuation model to establish the offer price; determine when construction, remodeling, and/or repairing has occurred; identify properties in portfolio that have suffered damage; etc.), real estate management (e.g., identify areas that can be renovated, repaired, added, and/or removed, etc.), real estate valuations (e.g., use change as an input to an automated valuation model; use change to detect error in property evaluation models; use change as a supplement to a property-level valuation report; etc.), real estate
- APIs e.g., using API requests and responses, API keys, etc.
- requests e.g., requests, and/or other communication channels.
- Communications between systems can be encrypted (e.g., using symmetric or asymmetric keys), signed, and/or otherwise authenticated or authorized.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the present disclosure.
- the computer-executable component can include a computing system and/or processing system (e.g., including one or more collocated or distributed, remote or local processors) connected to the non-transitory computer-readable medium, such as CPUs, GPUs, TPUS, microprocessors, or ASICs, but the instructions can alternatively or additionally be executed by any suitable dedicated hardware device.
- a computing system and/or processing system e.g., including one or more collocated or distributed, remote or local processors
- the instructions can alternatively or additionally be executed by any suitable dedicated hardware device.
- Embodiments of the system and/or method can include every combination and permutation of the various system components and the various method processes, wherein one or more instances of the method and/or processes described herein can be performed asynchronously (e.g., sequentially), contemporaneously (e.g., concurrently, in parallel, etc.), or in any other suitable order by and/or using one or more instances of the systems, elements, and/or entities described herein.
- Components and/or processes of the following system and/or method can be used with, in addition to, in lieu of, or otherwise integrated with all or a portion of the systems and/or methods disclosed in the applications mentioned above, each of which are incorporated in their entirety by this reference.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Evolutionary Computation (AREA)
- Remote Sensing (AREA)
- Artificial Intelligence (AREA)
- Radar, Positioning & Navigation (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geometry (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
In variants, the method can include: detecting a property within a set of measurements; determining a set of property parameters based on the detection; determining a set of higher-resolution measurements based on the set of property parameters; and determining a set of property attributes based on the set of higher-resolution measurements.
Description
- This application claims priority to U.S. Application No. 63/300,736 filed 19 Jan. 2022, which is incorporated herein in its entirety by this reference.
- This invention relates generally to the property identification field, and more specifically to a new and useful method and system for property state tracking.
- Determining reliable property data from images sampled over time can be challenging for several reasons. First, the appearance of a given property changes frequently between different image captures, even though the property itself has not changed. For example, different sun positions in the sky can result in different shadow sizes, shapes, and orientations; vegetation coverage can vary drastically across seasons (e.g., a tree can seasonally obscure parts of the property); and different imaging platforms can have different image spectral properties and image resolutions. Since property measurements are sparse and oftentimes need to be aggregated from different sources or across time, these disparities can result in inaccurate data for a given property, since it is difficult to determine whether a detected visual change is due to data disparity or a change in the underlying property. Second, the property itself can change. For example, the property can be modified (e.g., completion of property extension), removed (e.g., demolition), added, replaced (e.g., replacing the property with a different property), or added over time (e.g., actively under construction). Such structural changes in the property can render previously-determined property data invalid (since the property itself has since changed). Unfortunately, conventional imagery-based methods cannot reliably disambiguate whether divergent property data extracted for a given property was due to changes in the property itself, errors in the measurement (e.g., georeferencing errors), land movements, challenging sampling conditions (e.g., shadows, occlusions, etc.), or other reasons. Furthermore, auxiliary information that could be used to disambiguate these changes, such as permit data, are sparse, unreliable, and oftentimes unavailable.
- Thus, there is a need in the property identification field to create a new and useful system and method for property state tracking.
-
FIG. 1 is a flowchart representation of the method. -
FIG. 2 is an illustrative example of a graph. -
FIG. 3 is an illustrative example of determining polygons for a structure. -
FIG. 4 is an illustrative example of a variant of the method. -
FIG. 5 is an illustrative example of determining a set of representations. -
FIG. 6A is an illustrative example of a graph. -
FIG. 6B is a second illustrative example of a graph. -
FIG. 7 is a schematic representation of determining relationships between representations. -
FIG. 8 is an illustrative example of change detection. -
FIG. 9 is an illustrative example of classifying the change between image pairs. -
FIGS. 10A-10E are illustrative examples of determining relationships between representations. -
FIG. 11 is an illustrative example of relationships determined between different modality measurements for a given object. -
FIG. 12 andFIG. 13 are schematic representations of a first and second variant of the method, respectively. -
FIG. 14 is an illustrative example of an example of the method, including returning object version information responsive to a request. -
FIG. 15 is an illustrative example of using an object detector. - The following description of embodiments of the invention is not intended to limit the invention to these embodiments, but rather to enable any person skilled in the art to make and use this invention.
- As shown in
FIG. 1 , variants of the method for property identification analysis can include: determining object information S100, determining a set of object representations S200, determining relationships between representations S300, and generating an analysis based on the relationships S400. The method can function to disambiguate between different structural versions of a building and provide a universal identifier for each building version. The method can further provide a timeseries of changes between different building versions. - In an illustrative example, the method can include: determining a timeseries of measurements of a geographic region (e.g., S100); and determining a timeseries of structure versions based on the timeseries of measurements (e.g., S200 and S300), wherein different structure versions can be identified by different structure identifiers (e.g., building identifiers). Examples of the illustrative example are shown in at least
FIG. 6A ,FIG. 6B ,FIG. 12 , andFIG. 13 . The measurements can be aerial images, depth measurements, and/or other measurements. The geographic region can be a property parcel, a prior structure version's geofence or mask, and/or other region. The timeseries of structure versions can be determined by: extracting a structure representation for a physical structure (e.g., a roof vector, a roof segment, a roof geometry, a building vector, a building segment, etc.) from each measurement of the timeseries; and associating structure representations representing the same structure version with a common structure version (e.g., the same structure identifier). Structure representations representing the same structure version can have the same representation values, have the same structural segments (e.g., physical segments, image segments, geometric segments, etc.), share structural segments, and/or otherwise represent the same structure version. Relationships between different structure versions can also be determined, based on the respective structure representations (e.g., using rules, a classifier, etc.). For example, a modified structure version can have an overlapping set of structural segments with a prior structure version; a replaced structure version can have a disjoint set of structural segments with a prior structure version; an added structure version can have a new set of structural segments when a prior structure version had none; and a removed structure version can have no structural segments when a prior structure version had structure segments. Auxiliary information for each structure version—such as measurements, permit data, descriptions, attributes (e.g., determined from the measurements), and/or other information—can also be associated with the respective structure version (e.g., with the structure identifier) using a set of spatiotemporal rules, or be otherwise associated. In variants, the timeseries of building versions and associated relationships can be represented by a graph (e.g., spatiotemporal graph), where the graph nodes can represent building versions and the edges can represent the relationships. - In use, information associated with a given structure version can be returned responsive to a request identifying the structure version. Information can include: a set of changes (e.g., relationships) between the identified structure version and another structure version (e.g., a current structure version), information from the structure version's timeframe (e.g., auxiliary information, information extracted from measurements of the geographic region sampled during the timeframe, structure segments, etc.), and/or other information.
- However, the method can be otherwise performed.
- Variants of the technology for property identification analysis can confer several benefits over conventional systems and benefits.
- First, variants of the technology can associate information for a physical object variant (e.g., object instance) with a singular, universal object identifier. This can enable the system to track and return object information for different variants of the “same” object, and can enable the system to identify when the physical object has changed. For example, the system can automatically distinguish between and treat the original and remodeled version of a property as two different property variants, and associate information for each property version with the respective property version.
- Second, variants of the technology can enable information from different measurement modalities, different measurement vendors, and/or different measurement times to be merged with an object identifier for a single (physical) object instance.
- Third, variants of the technology can extract object representations (e.g., structure representations) that are agnostic to vendor differences, common changes (e.g., occlusions; shadows; roof appearance (e.g., additional/removal of solar panels, roof covering replacement; etc.), measurement registration errors or changes (e.g., due to seismic shift), and other inter-measurement differences, which humans can have difficulty distinguishing. For example, the technology can use a neural network model that is trained using self-supervised learning to generate the same representation for the same physical property instance, despite slight changes in the visual appearance of the property represented in the measurements (e.g., the model is agnostic to appearance-based changes, but is sensitive to geometric changes and/or structural changes).
- Fourth, variants of the technology can use the object representations to determine the type of change. For example, the technology can use a neural network model that is trained to identify roof facets from the measurement. A first and second object structure detected in a first and second measurement, respectively, can be considered the same building when the first and second measurement share roof facets.
- Fifth, variants of the technology can minimize the number of measurement pairs to analyze, thereby increasing the computational efficiency of the method, by limiting the object representation comparisons to those located within and/or overlapping a common geographic region (e.g., property parcel). For example, objects from different measurements of the same property parcel or geographic region can be assumed to have a high probability of being the same, so representation comparisons can be limited to those of objects extracted from measurements of the same property parcel (or geographic region).
- However, the technology can confer any other suitable benefits.
- The method can include: determining object information S100, determining a set of object representations S200, determining relationships between object representations S300, and optionally generating an analysis based on the relationships S400. However, the method can additionally and/or alternatively include any other suitable elements.
- One or more variations of the system and/or method can omit one or more of the above elements and/or include a plurality of one or more of the above elements in any suitable order or arrangement. One or more instances of the method can be repeated for different properties, different timeframes, and/or otherwise repeated.
- The method functions to associate information (e.g., measurements, representations, extracted features, auxiliary information, etc.) for the same physical object version with a common object identifier. The method can optionally function to segregate information for different object versions. In variants, the method can also determine a timeseries of object versions for the objects within a given geographic region.
- The objects are preferably physical objects, but can be any other object. The objects can be: structures (e.g., built structures, such as buildings, etc.), a portion of a structure (e.g., a building component, a roof, a wall, etc.), vegetation, manmade artifacts (e.g., pavement, driveways, roads, lakes, pools, etc.), and/or be any other suitable physical object. The objects are preferably static (e.g., immobile relative to the ground or other mounting surface), but can alternatively be partially or entirely mobile.
- Object versions 40 (e.g., examples shown in
FIG. 4 andFIG. 12 ) are preferably distinguished by different physical geometries (e.g., internal geometries, external geometries, etc.), but can alternatively be distinguished by different appearances and/or otherwise distinguished. For example, different building versions can have different sets of building segments (e.g., different roof segments), different building material (e.g., tile vs shingle roofing), and/or be otherwise distinguished. Conversely, the same building version can have the same set of building segments, building material, and/or other parameters. - Each
object version 40 can be identified by a singular, universal object identifier. Alternatively, each object version can be identified by multiple object identifiers. Each object identifier preferably identifies a single object version, but can alternatively identify multiple object versions (e.g., identify an object geographic region, wherein different object versions can be distinguished by different timeframes). The object identifier can be a sequence of characters, a vector, a token, a mask, and/or any other suitable object identifier. The object identifier can include or be derived from: the geographic region (e.g., an address, lot number, parcel number, geolocation, geofence, etc.), a time stamp (e.g., of the first known instance of the object version), a timeframe (e.g., of the object version), the object representation associated with the object version (e.g., a hash of the object representation, the object representation itself, etc.), an index (e.g., version number for the geographic region), a random set of alphanumeric characters (e.g., a set of random words, etc.), an object version within a series of related object versions, and/or any other suitable information. For example, the object identifier can include or be determined from a parcel number or address and a timestamp of the first measurement depicting the respective object version. - The method can be performed: in response to a request (e.g., an API request) from an endpoint, before receipt of a request, when new measurements are received, at a predetermined frequency, and/or any other suitable time. The method can be performed once, iteratively, responsive to occurrence of a predetermined event, and/or at any other time. In a first variant, an instance of the method is performed using all available object information (e.g., measurements) for a given
geographic region 10, wherein object representations are extracted from each piece of available object information and compared against each other to distinguish object versions. In a second variant, an instance of the method is performed using a specific set of object information (e.g., new object information, object information from a certain timeframe, etc.), wherein the object representation is extracted from the set of object information and compared against other object representations for thegeographic region 10 that were determined using prior instances of the method to determine whether the object representation represents a known object version or a new object version. However, the method can be performed at any time, using any other suitable set of object information. - The method can be performed for all objects within an object set (e.g., all properties appearing in a map, within a geographic region, within a large-scale measurement, etc.), a single object (e.g., a requested building, a requested parcel), a geographic region, a timeframe, and/or any other suitable set of objects.
- The method can be performed for one or more geographic regions 10 (e.g., examples shown in
FIG. 3 ,FIG. 6A , andFIG. 6B ), wherein object representations for objects within and/or encompassing thegeographic region 10 are extracted and analyzed from object information depicting or associated with the geographic region to determine whether the object has changed over time. Thegeographic region 10 can be: a real estate parcel, the geographic footprint of an object version detected in a different piece of object information (e.g., measurement), a region surrounding the geographic footprint, a municipal region (e.g., neighborhood, zip code, city, state, etc.), a geographic region depicted within a measurement, and/or any other suitable geographic region. In a first variant, the geographic region includes the geofence for a detected or known object. In a second variant, the geographic region includes the geolocations within the geofence. In a third variant, the geographic region includes a property parcel. In this variant, the analyzed object representations can be limited to those for an object of interest (e.g., having a predetermined object class). In a fourth variant, the geographic region includes a large region (e.g., property parcel, neighborhood, municipal district, etc.). In this variant, object representations for a plurality of objects can be extracted from object information from different times, wherein temporally distinct object representations that are associated with overlapping geographic subregions are analyzed (e.g., compared). However, any other suitable geographic region can be used. - The method is preferably performed by a remote system (e.g., platform, cloud platform, etc.), but can additionally and/or alternatively be performed by a local system or be performed by any other suitable system. The remote system can include a set of processing systems (e.g., configured to execute all or portions of the method, the models, etc.), storage (e.g., configured to store the object representations, object versions, data associated with the object versions, etc.), and/or any other suitable component.
- The method can be performed using one or more models. The model(s) can include: a neural network (e.g., CNN, DNN, encoder, etc.), a visual transformer, a combination thereof, an object detector (e.g., classical methods, CNN based algorithms, such as Region-CNN, fast RCNN, faster R-CNN, YOLO, SSD—Single Shot MultiBox Detector, R-FCN, etc.; feed forward networks, transformer networks, generative algorithms, diffusion models, GANs, etc.), a segmentation model (e.g., semantic segmentation model, instance-based semantic segmentation model, etc.), leverage regression, classification, rules, heuristics, equations (e.g., weighted equations), instance-based methods (e.g., nearest neighbor), decision trees, support vectors, geometric inpainting, Bayesian methods (e.g., Naïve Bayes, Markov, etc.), kernel methods, statistical methods (e.g., probability), deterministics, clustering, and/or include any other suitable model or algorithm. Each model can determine (e.g., predict, infer, calculate, etc.) an output based on: one or more measurements depicting the object, tabular data (e.g., attribute values, auxiliary data), other object information, and/or other information. The model(s) can be specific to an object class (e.g., roof, tree, pool), a sensing modality (e.g., the model is specific to accepting an RGB satellite image as the input), and/or be otherwise specified. One model can be used to extract different representations of the set, but additionally and/or alternatively multiple different models can be used to extract different representations of the set.
- Examples of models that can be used include one or more: object representation models, object detectors, object segmentation models, relationship models, and/or other models.
- The object representation model functions to extract a representation of the object depicted or described within the object information. The object representation model preferably extracts the object representation from a single piece of object information (e.g., a single image, etc.), but can alternatively extract the object representation from multiple pieces of object information. The object representation model can include a single model (e.g., a CNN, an object detector, an object segmentation model, etc.), a set of submodels (e.g., each configured to extract a different attribute value from the object information), and/or be otherwise configured.
- In a first variant, the object representation model can be an object segmentation model that extracts a segment (e.g., semantic segment, instance-based segment, etc.) of an object of interest (e.g., object class of interest) from a measurement (e.g., an image, a DSM, etc.).
- In a second variant, the object representation model can include a set of attribute models, each configured to extract a value for the respective attribute from the object information (e.g., contemporaneous object information, same piece of object information, etc.). Examples of attribute models can include those described in U.S. application Ser. No. 17/475,523 filed 15 Sep. 2021, U.S. application Ser. No. 17/526,769 filed 15 Nov. 2021, U.S. application Ser. No. 17/749,385 filed 20 May 2022, U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, U.S. application Ser. No. 17/858,422 filed 6 Jul. 2022, U.S. application Ser. No. 17/981,903 filed 7 Nov. 2022, U.S. application Ser. No. 17/968,662 filed 18 Oct. 2022, U.S. application Ser. No. 17/841,981 filed 16 Jun. 2022, and/or U.S. application Ser. No. 18/074,295 filed 2 Dec. 2022, each of which is incorporated herein in its entirety by this reference. However, other attribute models can be used.
- In a third variant, the object representation model can be a model (e.g., CNN, encoder, autoencoder, etc.) trained to output the same object representation (e.g., feature vector) for the same object version despite common appearance changes in the object measurement (e.g., be agnostic to appearance-based changes but sensitive to geometric changes). Common appearance changes can include: shadows, occlusions (e.g., vegetation cover, snow cover, cloud cover, aerial object cover, such as birds or planes, etc.), registration errors, and/or other changes. This object representation model preferably extracts the object representation from an appearance measurement (e.g., an image), but can alternatively extract the object representation from a geometric measurement (e.g., DSM, point cloud, mesh, etc.), geometric representation (e.g., model), and/or from any other suitable object information. In this variant, the object representation model can be trained to extract the same object representation (e.g., feature vector) for all instances of an object within a geographic region (e.g., the same parcel, the same geofence, the object segment's geographic footprint, etc.) from object information from different timeframes (e.g., images from different years, times of the year, etc.) (e.g., example shown in
FIG. 5 ). Even though the training data set might include objects that have changed geometric configurations (e.g., different object versions) and therefore should have resulted in different object representations, these changes are relatively rare, and in variants, do not negatively impact the accuracy of the model given a large enough training set. Alternatively, this object representation model can be trained to predict the same object representation (e.g., feature vector) using only object information that is known to describe the same object version. - In a fourth variant, the object representation model can be a feature extractor. The feature extractor can be: a set of upstream layers from a classifier (e.g., trained to classify and/or detect the object class from the object information), an encoder, a classical method, and/or any other suitable feature extractor. Examples of feature extractors and/or methodologies that can be used include: corner detectors, SIFT, SURF, FAST, BRIEF, ORB, deep learning feature extraction techniques, and/or other feature extractors.
- However, the object representation model can be otherwise configured.
- The object detectors can detect the objects of interest (e.g., object classes of interest) within the object information (e.g., object measurement, DSM, point cloud, image, wide-area image, etc.). Each object detector is preferably specific to a given object class (e.g., roof, solar panel, driveway, chimney, HVAC system, etc.), but can alternatively detect multiple object classes. Example object detectors that can be used include: Viola Jones, Scale-invariant feature transform (SIFT), Histogram of oriented gradients (HOG), region proposals (e.g., R-CNN), Single Shot MultiBox Detector (SSD), You Only Look Once (YOLO), Single-Shot Refinement Neural Network for Object Detection (RefineDet), Retina-Net, deformable convolutional networks, zero-shot object detectors, transformer-based networks (e.g., Detection Transformer (DETR), and/or any other suitable object detector.
- An object detector can: detect the presence of an object of interest (e.g., an object class) within the measurement, determine a centroid of the object of interest, determine a count of the object of interest within the measurement, determine a bounding box surrounding the object (e.g., encompassing or touching the furthest extents of the object, aligned with or parallel the object axes, not aligned with the object axis, be a rotated bounding box, be a minimum rotated rectangle, etc.), determine an object segment (e.g., also function as a segmentation model), determine object parameters, determine a class for the object, and/or provide any other suitable output, given a measurement of the object or geographic region (e.g., an image). Examples of object parameters can include: the location of the object (e.g., location of the object within the image, the object's geolocation, etc.; from the bounding box location); the geographic extent of the object (e.g., extent of the bounding box); the orientation of the object (e.g., within the image, within a global reference frame, relative to cardinal directions, relative to another object, etc.; from the bounding box orientation); the dimensions of the object (e.g., from the dimensions of the bounding box), and/or other parameters. The object detector can additionally or alternatively be trained to output object geometries, time of day (e.g., based on shadow cues), and/or any other suitable information.
- The object detector can be trained based on manual labels (e.g., manually drawn bounding boxes), bounding boxes drawn around object segments (e.g., determined using a segmentation model from measurements of the same resolution, higher resolution, or lower resolution), bounding boxes drawn around object geofences or masks (e.g., determined from the locations of the object segments), and/or other training targets. Alternatively, the object detector (e.g., a zero-shot object detector) can be generated using a zero-shot classification architecture adapted for object detection (e.g., by embedding both images and class labels into a common vector space; by using multimodal semantic embeddings and fully supervised object detection; etc.), and/or otherwise generated. The detected object, parameters thereof (e.g., location, orientation, bounding box size, object class, etc.), and/or derivatory entities (e.g., object segments) can be used to: retrieve higher-resolution measurements of the region (e.g., higher resolution than that used to detect the object; example shown in
FIG. 15 ); retrieve a different measurement modality for the region (e.g., depth measurements for the region); be used to determine the pose of the object; be used to determine attribute values for the object; be used to determine a geometric parameter of the object (e.g., the detected building shadow's length can be used to determine a building's height, given the building's geolocation and the measurement's sampling time); be used for multi-category multi-instance localization; determine counts and/or other population analyses; for time-series analyses (e.g., based on objects detected from a timeseries of measurements); and/or be otherwise used. The higher-resolution measurements can encompass the detected object's location, encompass the bounding box's geographic region, encompass a smaller region than the wide-area measurement, and/or be otherwise related to the detected object. In variants, the higher-resolution measurement can be used to extract a higher-accuracy object segment using a segmentation model (e.g., a more accurate segment than that extractable from the original measurement; example shown inFIG. 15 ) and/or be otherwise used. In these variants, the bounding box can optionally be used to crop or mask the higher-resolution image before object segmentation or not be used for segmentation. The object segment and/or object detection (e.g., bounding box; measurement portion within the bounding box, etc.) can then be used to determine object attributes, feature vectors, and/or otherwise used. However, the object detector can be otherwise configured, and the outputs otherwise used. - The object segmentation models can determine the pixels corresponding to an object of interest (e.g., object class of interest). The object segmentation models can be preferably specific to a given object class (e.g., roof, solar panel, driveway, etc.), but can alternatively segment multiple object classes. The object segmentation model can be a semantic segmentation model (e.g., label each pixel with an object class label or no object label), instance-based segmentation model (e.g., distinguish between different instances of the same object class within the measurement), and/or be any other suitable model. The object segmentation model is preferably trained to determine object representations (e.g., masks, pixel labels, blob labels, etc.) from object measurements, but can alternatively determine the object representations from other object information. In variants, the object measurements used by the object segmentation model can be higher resolution and/or depict a smaller geographic region than those used by the object detector; alternatively, they can be the same, lower resolution, and/or depict a larger geographic region.
- The relationship model functions to determine the type of relationship between two object versions and/or object representations. In a first variant, the relationship model can be a classifier (e.g., change classifier) trained to determine (e.g., predict, infer) a relationship (e.g., change) between two object variants and/or object representations, given the object representations. In a second variant, the relationship model can be a ruleset or set of heuristics. In an example, the relationship model can associate object representations with object versions based on a comparison of the geometric segments represented by the object representations. In a second example, the relationship model can associate information (e.g., auxiliary information) with an object version when that information (e.g., auxiliary information) is also associated with the same geographic region and the same timeframe as the object version. In a third variant, the relationship model can be a similarity model configured to determine a distance between two object representations. However, the relationship model can be otherwise configured.
- However, any other suitable set of models can be used.
- Determining object information S100 functions to determine information that is representative of an object version.
- The object information 20 (e.g., examples shown in
FIG. 2 ,FIG. 4 ,FIG. 12 , andFIG. 13 ) is preferably for ageographic region 10 associated with an object of interest, but can additionally or alternatively be for an image segment, geometric segment, and/or any other suitable entity. The geographic region associated with the object of interest can be a parcel, lot, geofence (e.g., of a prior version of the object), neighborhood, geocode (e.g., associated with an address), or other geographic region. - In an illustrative example, S100 can retrieve imagery (e.g., aerial imagery) depicting the geographic region associated with an address (e.g., depicting the respective parcel, encompassing a geocode associated with the address, etc.). However, S100 can retrieve any other suitable object information.
- The determined object information can include one or more pieces of object information. For example, the object information can include: a single measurement (e.g., image), multiple measurements, measurements and attribute values, attribute values and descriptions, all available object information (e.g., for the geographic region, for the timeframe), and/or any other suitable set of object information.
- The determined object information can be for one or more time windows (e.g., timeframes). The determined object information can include: all information associated with the geographic region, only new information available since the last analysis of the object version and/or the geographic region, the most recent information (e.g., for the geographic region), only information within a predetermined time window (e.g., within a request-specified time window or timeframe, from the last analysis until a current time, etc.), and/or any other suitable object information. In variants, limiting the object information by time window can enable object representations to be determined for each time window, which enables the resultant object representations to be compared (and tracked) across different time windows. Alternatively or additionally, the determined object information can be unlimited by time.
- The
object information 20 can be determined: responsive to receipt of a request (e.g., identifying the object identifier, identifying the geographic region, etc.), when new information is available, periodically, at a predetermined time, and/or at any other suitable time. In a first example, object information for a geographic region can be retrieved in response to receipt of a request including an object identifier associated with the geographic region, wherein the retrieved object information can be for the object version associated with the object identifier and/or for other object versions associated with the geographic region. In a second example, all object information for a geographic region can be periodically retrieved. However, the object information can be determined at any other time. - The
object information 20 can be from the same information provider (e.g., vendor), but can additionally and/or alternatively be from different information providers; example shown inFIG. 2 . The information determined for different object versions preferably has the same information modality (e.g., RGB, LIDAR, stereovision, radar, sonar, text, audio, etc.), but can additionally and/or alternatively have different information modalities. The information can be associated with the same information time (e.g., time the image was captured of the object), but can additionally and/or alternatively be associated with different information times. The information can be associated with the same geographic region (e.g., parcel, lot, address, geofence, etc.), or be associated with different geographic regions. - Each piece of
object information 20 can be associated with geographic information (e.g., a geolocation, an address, a property identifier, etc.), a timeframe (e.g., a timestamp, a year, a month, a date, etc.), information provider, pose relative to the object or geographic region, and/or other metadata. - The
object information 20 can include: measurements, models (e.g., geometric models), descriptions (e.g., text descriptions, audio descriptions, etc.), attribute values (e.g., determined from the measurements or descriptions, etc.), auxiliary data, and/or other information. The same type of object information is preferably determined for each object version and/or method instance; alternatively, different object information types can be determined. - Each measurement is preferably an image (e.g., RGB, NDVI, etc.), but can additionally and/or alternatively be depth information (e.g., digital elevation model (DEM), digital surface model (DSM), digital terrain model (DTM), etc.), polygons, point clouds (e.g., from LIDAR, stereoscopic analyses, correlated images sampled from different poses, etc.), radar, sonar, virtual models, audio, video, and/or any other suitable measurement. The image can include tiles (e.g., of geographic regions), chips (e.g., depicting a parcel, depicting the portion of a geographic region associated with a built structure), parcel segments (e.g., of a property parcel), and/or any other suitable image segments. Each measurement can be geometrically corrected (e.g., orthophoto, orthophotograph, orthoimage, etc.) such that the scale is uniform (e.g., image follows a map projection), but can alternatively not be geometrically corrected. Each measurement preferably depicts a top-down view of the object, but can additionally and/or alternatively depict an oblique view of the object, an orthographic view of the object, and/or any other suitable view of the object. Each measurement is preferably remotely sensed (e.g., satellite imagery, aerial imagery, drone imagery, radar, sonar, LIDAR, seismography, etc.), but can additionally and/or alternatively be locally sensed or otherwise sensed. The measurements can be of the object exterior, interior, and/or any other suitable view of the property.
- For example, measurements can be: wide-area images, parcel segments (e.g., image segment depicting a parcel), object segments (e.g., image segment depicting a structure of interest; example shown in
FIG. 3 ), and/or any other suitable measurement. The image segments can be cropped to only include the entity of interest (e.g., parcel, structure, etc.), or include surrounding pixels. - The measurements of the set are preferably measurements of the same geographic region (e.g., property, parcel, etc.), but can alternatively be representative of different geographic regions. The property can be: a property parcel, an object, a point of interest, a geographic region, and/or any other suitable entity.
- Additionally or alternatively, the measurements of the set can be associated with (e.g., depict) the same physical object instance (e.g., the tracked object instance) or different object instances. The object can include: a built structure (e.g., building, deck, pool, etc.), a segment of a built structure (e.g., roof, solar panel, door, etc.), feature of a built structure (e.g., shadow), vegetation, a landmark, and/or any other physical object.
- The measurements and/or portions thereof can optionally be pre- or post-processed. In a first example, a neural network model can be trained to identify an object of interest (e.g., an object segment) within a measurement (e.g., image, geometric measurement, etc.), wherein occluded segments of the object of interest can be subsequently infilled by the same or different model. The occluded segments can be infilled using the method disclosed in U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, incorporated herein in its entirety by this reference, and/or using any other suitable method. In a second example, errant depth information can be removed from a depth measurement. In an illustrative example, this can include removing depth information below a ground height and/or removing depth information above a known object height, wherein the known object height can be obtained from building records, prior measurements, or other sources.
- However, any other suitable object measurement can be determined.
- The attribute values (e.g., property attribute values, object attribute values, etc.) can represent an attribute of the object version. Examples of object attributes can include: appearance descriptors (e.g., color, size, shape, texture, etc.), geometric descriptors (e.g., dimensions, slope, shape, complexity, surface area, etc.), condition descriptors (e.g., yard condition, roof condition, etc.), construction descriptors (e.g., roofing material, flooring material, siding material, etc.), record attributes (e.g., construction year, number of beds/baths, structure classification, etc.), classification attributes (e.g., object class, object type), and/or other descriptors. The object attributes can be quantitative, qualitative, and/or otherwise valued. The object attributes can be determined from object measurements, descriptions, auxiliary information, and/or other information. The object attributes can be determined: manually, using a trained model (e.g., trained to predict or infer the attribute value based on the object information), from a third party database, and/or otherwise determined. In examples, property attributes and/or values thereof can defined and/or determined as disclosed in U.S. application Ser. No. 17/529,836 filed on 18 Nov. 2021, U.S. application Ser. No. 17/475,523 filed 15 Sep. 2021, U.S. application Ser. No. 17/749,385 filed 20 May 2022, U.S. application Ser. No. 17/870,279 filed 21 Jul. 2022, and/or U.S. application Ser. No. 17/858,422 filed 6 Jul. 2022, each of which is incorporated in its entirety by this reference (e.g., wherein features and/or feature values disclosed in the references can correspond to attributes and/or attribute values). The attribute values can be determined asynchronously with method execution, or be determined in real- or near-real time with respect to the method.
- Example attributes can include: structural attributes (e.g., for a primary structure, accessory structure, neighboring structure, etc.), record attributes (e.g., number of bed/bath, construction year, square footage, legal class, legal subclass, geographic location, etc.), condition attributes (e.g., yard condition, yard debris, roof condition, pool condition, paved surface condition, etc.), semantic attributes (e.g., semantic descriptors), location (e.g., parcel centroid, structure centroid, roof centroid, etc.), property type (e.g., single family, lease, vacant land, multifamily, duplex, etc.), property component parameters (e.g., area, enclosure, presence, structure type, count, material, construction type, area condition, spacing, relative and/or global location, distance to another component or other reference point, density, geometric parameters, condition, complexity, etc.; for pools, porches, decks, patios, fencing, etc.), storage (e.g., presence of a garage, carport, etc.), permanent or semi-permanent improvements (e.g., solar panel presence, count, type, arrangement, and/or other solar panel parameters; HVAC presence, count, footprint, type, location, and/or other parameters; etc.), temporary improvement parameters (e.g., presence, area, location, etc. of trampolines, playsets, etc.), pavement parameters (e.g., paved area, percent illuminated, paved surface condition, etc.), foundation elevation, terrain parameters (e.g., parcel slope, surrounding terrain information, etc.), legal class (e.g., residential, mixed-use, commercial), legal subclass (e.g., single-family vs. multi-family, apartment vs. condominium), geographic location (e.g., neighborhood, zip, etc.), population class (e.g., suburban, urban, rural, etc.), school district, orientation (e.g., side of street, cardinal direction, etc.), subjective attributes (e.g., curb appeal, viewshed, etc.), built structure values (e.g., roof slope, roof rating, roof condition, roof material, roof footprint, roof surface area, covering material, number of roof facets, roof type, roof geometry, roof segments, etc.), auxiliary structures (e.g., a pool, a statue, ADU, etc.), risk scores (e.g., score indicating risk of flooding, hail, fire, wind, wildfire, etc.), neighboring property values (e.g., distance to neighbor, structure density, structure count, etc.), context (e.g., hazard context, geographic context, weather context, terrain context, etc.), vegetation parameters (e.g., vegetation type, vegetation density, etc.), historical construction information, historical transaction information (e.g., list price, sale price, spread, transaction frequency, transaction trends, etc.), semantic information, and/or any other attribute.
- Auxiliary data can include property descriptions, permit data, insurance loss data, inspection data, appraisal data, broker price opinion data, property valuations, property attribute and/or component data (e.g., values), and/or any other suitable data.
- The object information can be: retrieved, extracted, and/or otherwise determined.
- In a first variant, the set of measurements can be determined by retrieving the set of measurements from a database.
- In a second variant, the set of measurements can be manually determined.
- In a third variant, the set of measurements can be determined by segmenting the set of measurements from a wide-area measurement (e.g., representative of multiple properties). The set of measurements are preferably determined based on parcel data, but can alternatively be determined independent of parcel data.
- In a first example of the third variant, the set of measurements can be segmented from a wide-area measurement by determining a parcel segment within the wide-area image based on a parcel boundary. In this example, object segments (e.g., representative of objects, roof, pool, etc.) can further be determined from the parcel segment using a segmentation model (e.g., semantic segmentation model, instance-based segmentation model, etc.).
- In a second example of the third variant, the set of measurements can be segmented from a wide-area measurement by detecting objects within a wide-area image (e.g., using an object detector). The object detections can optionally be assigned to parcels based on the object's geolocation(s).
- In other examples of the third variant, the set of measurements can be segmented from a wide-area measurement as discussed in U.S. application Ser. No. 17/336,134 filed 1 Jun. 2021, which is incorporated in its entirety by this reference.
- However, the set of measurements can be otherwise determined.
- Determining a set of object representations S200 functions to determine object representations for an object of interest or a geographic region.
- The set of
object representations 30 is preferably determined (e.g., extracted) from the object information determined in S100, but can alternatively be determined from other information. The object information can be of the same or different type (e.g., modality), from the same or different vendor, from the same or different time window, from the same or different geographic region (e.g., wherein the different geographic regions overlap or are disjoint), and/or be otherwise related. The set of object representations are preferably determined from a set of measurements, but can additionally and/or alternatively be determined from a description, a set of attribute values, and/or any other suitable object information. - One object representation 30 (e.g., a geometric representation) is preferably determined from each piece of object information (e.g., measurement) of the set, but alternatively multiple representations can be determined from each piece of object information (e.g., different representation types for the same object, such as a geometric representation and a visual representation for the same object; different representations for different objects depicted within the same measurement; etc.), one representation can be determined from multiple pieces of information (e.g., measurements) of the set, and/or any other suitable set of representations can be determined from any suitable number of object information pieces (e.g., measurements).
- The object representation 30 (e.g., representation) can represent: an object class of interest within a geographic region, an object instance of interest (e.g., an object version), and/or any other suitable object. The geographic region can be the same or different from that used in S100 to determine the object information. In a first example, S200 can include determining object representations for all buildings or roofs depicted within a measurement (e.g., image or an image segment) depicting a given geographic region (e.g., a real estate parcel, a region surrounding the geographic footprint of an object detected in a prior measurement, etc.). In a second example, S200 can include determining the object representation for a specific building or roof depicted within the measurement. However, any other suitable set of object representations can be determined for a given object instance or geographic region.
- Examples of
object representations 30 that can be determined can include: an appearance representation (e.g., representative of an object's visual appearance), a geometric representation (e.g., representative of an object's geometry), an attribute representation (e.g., representative of the object's attribute values), a combination thereof, and/or any other suitable representation. Examples of appearance representations can include: vectors (e.g., encoding values for different visual features or appearance-based features), matrices, object segments (e.g., measurement segments depicting substantially only the object, image segments, masks, etc.), bounding boxes encompassing the object, and/or other appearance-based representations. Examples of geometric representations can include: a geometric object segment (e.g., segment of a DSM, segment of a point cloud, masks, etc.), a bounding box (e.g., bounding box, bounding volume, etc.) encompassing the object, a mesh, vectors (e.g., encoding values for different geometric features), a set of geometric feature values (e.g., a set of planes, facets, points, edges, corners, peaks, valleys, etc.) and/or parameters thereof (e.g., count, position, orientation, dimensions, etc.), an array, a matrix, a map, polygons or measurement segments (e.g., example shown inFIG. 3 ), a model, and/or other geometric representations. Examples of attribute representations can include a vector of values for one or more attributes, and/or be otherwise represented. The attribute values for a given attribute representation are preferably determined from the same pieces of object information (e.g., the same measurements), but can additionally or alternatively be determined from contemporaneous object information and/or other information. - The type of object representations that are determined in S200 can be: predetermined, determined based on the type of measurement (e.g., geometric representations are extracted from Lidar, RGB images, and DSM data, while appearance representations are extracted from RGB images), and/or otherwise determined. The same type of representation is preferably determined for each time window for a given geographic region, such that the representations can be compared against each other; alternatively, different representation types can be determined for each time window for a given geographic region.
- The
representations 30 of the set are preferably representative of the same object, but can additionally and/or alternatively be representative of different objects. The representations can be for the same or different object versions. The representations are preferably unassociated with an object identifier when the representations are initially determined (e.g., wherein the representation is associated with the object identifier in S300), but can alternatively be associated with an object identifier by default (e.g., associated with the last object identifier for the property by default, wherein S300 evaluates whether the object identifier is the correct object identifier). -
Object representations 30 can additionally and/or alternatively be associated with the metadata for the object information, such as the timestamp, vendor, geolocation, and/or other metadata. In variants where object representations are determined from a timeseries of object information (e.g., measurements), S200 can generate a timeseries of object representations. -
Object representations 30 can additionally and/or alternatively be associated with: parcel information (e.g., parcel ID, parcel boundaries, parcel geolocation(s), associated addresses, etc.), attribute values extracted from or associated with the object information (e.g., attribute values extracted from the object information, etc.), auxiliary information (e.g., associated with the representation via the parcel, tax information, permit data, address information, square footage, number of beds and baths, etc.), and/or any other suitable auxiliary data. The auxiliary data can be associated with a representation: spatially (e.g., wherein the auxiliary data is associated with a geographic location within the geographic region, with an address shared with the representation, etc.), temporally (e.g., wherein the auxiliary data and the representation are associated with the same time window, etc.), spatiotemporally, and/or otherwise associated with a representation. - The
object representation 30 is preferably determined by an object representation model, but can alternatively be determined by any other suitable model, be determined by a user, be retrieved from a database, or be otherwise determined. The object representation can be: extracted, calculated, aggregated, and/or otherwise determined from the object information. - In a first variant, a feature vector (e.g., appearance feature vector, geometric feature vector, etc.) can be extracted from the object information using a neural network model (e.g., example shown in
FIG. 5 ). The object information is preferably a measurement, more preferably an image or a geometric measurement (e.g., DSM), but can alternatively be any other suitable type of object information. In a specific example, the model can be trained to be invariant to common appearance changes (e.g., occlusions, shadows, car presence, registration errors, etc.), wherein the structure appearance of the property can be considered unchanged when the pair of vectors substantially match (e.g., do not differ beyond a threshold difference). In a second embodiment, the model can be trained to not be invariant to common appearance changes. - In a second variant, the object representation is a measurement segment depicting the object. The object segment can be an image segment (e.g., determined from an image), a geometric segment (e.g., determined from a geometric measurement), an object component (e.g., a roof facet, etc.), and/or be otherwise configured. The object segment can be georegistered and/or unregistered. In a first example, an image segment can be determined using an object segmentation model trained to segment the object class of interest. In an illustrative example, a roof segment can be determined within an image (e.g., of a parcel, a wide-area image, etc.) using a roof segmentation model. In a second example, a geometric segment can be determined by masking a geometric measurement using a mask registered to the geometric measurement. The mask can be: an object segment or mask determined from an image (e.g., contemporaneously or concurrently sampled with the geometric measurement), an object segment for an known object version, and/or be any other suitable mask. In a third example, the geometric measurement segment can be determined using an object segmentation model trained to detect segments of an object class of interest within a geometric measurement. In an example, a neural network model (e.g., segmentation model) can be trained to determine object instances within an image, such as by using the methods as discussed in U.S. application Ser. No. 17/336,134 filed 1 Jun. 2021, which is incorporated in its entirety by this reference. However, the measurement segment can be otherwise determined.
- In a third variant, the object representation includes a set of dimensions for the object, and can additionally or alternatively include a location and/or orientation for the object. For example, the geometric representation can include a length and width of the object, and can optionally include the height of the object. In this embodiment, the geometric representation can be determined using an object detector (e.g., wherein the dimensions and other parameters, such as location or orientation are determined from the dimensions and parameters of the bounding box), an object segmentation model (e.g., wherein the dimensions and other parameters are determined from the object segment), and/or any other suitable object representation model.
- In a fourth variant, the object representation includes a set of components of the object, and can optionally include the parameters for each component and/or characteristics of the set. Examples of components can include: segments, planes, facets, edges (e.g., peaks, valleys, etc.), corners, and/or other object components. For example, the object representation can include a set of roof segments or roof facets for a building, and can optionally include the pose (e.g., location, orientation, surface normal orientation, etc.), dimensions, slope, and/or other parameter of each component, and/or include the count, distribution (e.g., size distribution, slope distribution, etc.) and/or other characteristic of the set. In a first embodiment, the components are determined from a geometric segment (e.g., determined using the first variant), wherein a set of planes (e.g., the components) are fitted to the geometric segment. The model or a second model can optionally distinguish between adjacent components. For example, a model can identify disjoint planes by optionally corresponding planes to depth information and identify disjoint planes with different normal vectors (e.g., determined based on depth information, etc.) as different components (e.g., different roof segments). However, different components can be otherwise distinguished. In a second embodiment, the components are determined using a model trained to determine component instances (e.g., roof segments) and/or extract the component parameters and/or characteristics from the object information (e.g., object measurement). However, the component set, parameters thereof, and/or characteristics thereof can be otherwise determined.
- In a fifth variant, the object representations include an attribute set (e.g., attribute vector) for the object. The attributes within the attribute set are preferably the same attributes for all objects (and object versions), but can alternatively include different attributes. The attribute values within the attribute set are preferably determined from the same piece of object information, but can additionally or alternatively be determined from contemporaneous object information (e.g., object information captured, generated, or otherwise associated with a common time frame, such as within 1 day, 1 week, 1 month, or 1 year of each other), from object information known to be associated with the same object version, and/or from any other suitable set of object information. For example, the attribute vector can include values for each of a set of attributes that were extracted from the same measurement (e.g., image) or from measurements sampled the same day (e.g., by the same vendor, by different vendors, etc.). The attribute values can be determined by one or more attribute models, and/or otherwise determined.
- In a sixth variant, the object representations can include a combination of the above variants.
- However, the set of representations can be otherwise determined.
- Determining relationships between object representations S300 functions to determine whether the object representations within the set are associated with different physical object versions and/or how the physical object versions are related with each other.
-
Different object versions 40 are preferably different versions of the same object (e.g., an original building and a remodeled building are different versions of the same building), but can additionally or alternatively be different objects altogether (e.g., an original building and a new building post demolition). -
Different object versions 40 preferably have different physical geometries (e.g., different footprints, different boundaries, different heights, different topography, etc.), but can additionally or alternatively have different appearances (e.g., different paint, different roofing or siding material, etc.), and/or be otherwise differentiated. -
Different object versions 40 can be associated with different object identifiers. Each object identifier preferably identifies a single object version (e.g., example shown inFIG. 6B ), but can alternatively identify multiple object versions (e.g., identify all related buildings located on the same or overlapping geographic region; example shown inFIG. 6A ). The identifiers are preferably globally unique (e.g., are universally unique identifiers (UUID) or globally unique identifiers (GUID)), but can additionally and/or alternatively be locally unique (e.g., to the geographic region), not be unique, and/or otherwise related. The object identifier can be: a hash of the object's characteristics (e.g., geometric characteristics, visual characteristics, etc.), generated from the object representations associated with the object version, a randomly generated identifier, an index, a nonce, be generated based on a geographic region identifier, be generated based on the object version parameters (e.g., timeframe, etc.), be generated based on a prior object version's identifier, a unique combination of semantic words or alphanumeric characters, or be any other suitable identifier. The geographic region identifier can be an address, a hash of an address, an index, randomly generated, and/or otherwise determined. Examples of object identifiers (e.g., building identifier, structure identifier, etc.) include: an address and timestamp combination (e.g., wherein the timestamp is associated with the object version), a hash of the object representation associated with the object version, an object representation associated with the object version, and/or any other identifier. - The relationships 50 (e.g., examples shown in
FIG. 7 ,FIG. 12 ,FIG. 13 , etc.) are preferably determined by comparing theobject representations 30, but can alternatively be manually determined, predicted (e.g., using a model, from theobject representations 30 or the underlying object information 20), and/or be otherwise determined. - The compared object representations are preferably associated with the same geographic region (e.g., same parcel, the same geofence, the same geolocation, the same address, etc.), but can additionally and/or alternatively be associated with different geographic regions (e.g., disjoint geographic regions), related geographic regions (e.g., wherein one geographic region overlaps with the other), be randomly selected (e.g., from a set of representations extracted for a plurality of object instances), and/or be otherwise determined. The compared object representations are preferably temporally adjacent or sequential, but can alternatively be temporally disparate (e.g., separated by one or more intervening object representations). In a first example, all representations associated with the same geographic region are compared with each other. In a second example, temporally adjacent representations are compared with each other. However, any other set of representations can be compared.
- S300 can include determining whether the
object representations 30 represent thesame object version 40. - Object representations indicative of the same physical object geometries (and/or appearances) are preferably associated with the same object version, while object representations indicative of different physical object geometries (and/or appearances) are preferably associated with different object versions. Alternatively, object representations indicative of different physical object geometries and/or appearances can be associated with the same object version, while object representations indicative of the same physical object geometries and/or appearances can be associated with different object versions.
- Object representations that represent the same object version can substantially match (e.g., are an exact match or match within a predetermined margin of error, such as 0.1%, 1%, 5%, etc.), have a similarity greater than a similarity threshold (e.g., Jaccard Index, Sorensen-Dice coefficient, Tanimoto coefficient, etc.), or have a distance less than a threshold distance (e.g., the cosine distance, Euclidean distance, Mahalanobis distance, or other similarity distance is less than a threshold distance); alternatively, the object representations representative of the same object version can be otherwise determined. Object representations representative of the same object version are preferably sequential, serial, or temporally adjacent (e.g., there is no intervening object representation or object version), but can alternatively not be sequential. For example, an object version can be determined for each set of temporally adjacent object representations that are substantially similar. Object representations representative of different object versions are preferably substantially differentiated (e.g., the differences exceed a margin of error) and/or have less than a threshold similarity (e.g., the cosine distance, Euclidean distance, Mahalanobis distance, or other similarity distance is higher than a threshold distance); alternatively, the object representations representative of different object versions can be otherwise determined.
- In a first variant, determining whether the object representations represent the same object version can include comparing the object segments. In a first embodiment, comparing the object segments includes determining the object segment overlap (e.g., geographic overlap), wherein the object representations represent the same object version when the overlap exceeds a threshold and/or the non-overlapping portions falls below a threshold. In a second embodiment, comparing the object segments includes comparing the segment projections (e.g., footprints) and/or geometries, wherein the object representations represent the same object version when the projections and/or geometries are similar above a threshold. This embodiment can mitigate against registration errors between the underlying object measurements. However, the segments can be otherwise compared.
- In a second variant, determining whether the object representations represent the same object version can include comparing feature vectors (e.g., extracted using the appearance change-agnostic model) and/or attribute vectors. In this variant, the object representations can be considered to represent the same object version when the vectors match (e.g., exactly or above a threshold similarity). However, the feature vectors can be otherwise compared.
- In a third variant, determining whether the object representations represent the same object version can include comparing component sets and/or parameters or characteristics thereof. In a first embodiment, the object representations represent the same object version when the components within the sets match, or when one set is a subset of the other. In a second embodiment, the object representations represent the same object version when the component sets have substantially the same component parameter or characteristic distributions. For example, the object representations represent the same object version when the number of roof facets are substantially the same, when the slope distribution is substantially the same, when the roof peak or valley locations are substantially the same, and/or other component parameters or characteristics are substantially the same.
- However, whether the object representations represent the same or different object versions can be otherwise determined.
- S300 can additionally or alternatively include determining whether the object versions or object representations are related, and/or how the object versions or object representations are related. Object versions can be considered related when they are the same object version, are derivatory object versions (e.g., one object version is a modified version of the other object version), or otherwise related. Object representations can be considered related when they represent the same object version, represent derivatory object versions (e.g., one object version is a modified version of the other object version), or otherwise related.
-
Relationships 50 can be characterized by: a relationship class (e.g., relationship type), a similarity metric (e.g., cosine distance, affinity, etc.), an amount of change, the changed segments (e.g., wing added/removed, highlight the portions of a building that have been modified, etc.), and/or otherwise characterized. Examples of relationship classes can include: same, unchanged, modified, added, removed, replaced, or other relationship types.Relationships 50 can be betweenobject representations 30, objectversions 40, and/or any other suitable entity. - In a first illustrative example, two object versions are considered the “same” when the geometries (e.g., represented by object segments, object component sets, object feature sets, attribute vectors, etc.) substantially match; “modified” when a prior object version shares geometric segments with the latter object version (e.g., the geometric segments intersect; the component sets intersect or include shared components); “replaced” when a prior object version does not share geometric segments with the latter object version (e.g., the geometric segments are disjoint; the component sets do not share components); “added” when there was no prior object version (e.g., in the geographic region) and there is a latter object version; and “removed” when there was a prior object version (e.g., in the geographic region) and there is no latter object version.
- In a second illustrative example, two object representations are considered to be the “same” when the respective object versions have the same geometries; “modified” when the object version represented by the prior object representation (“prior object version”) shares geometric segments with the object version represented by the latter object representation (“latter object version”); “replaced” when the prior object version does not share geometric segments with the latter object version (e.g., the geometric segments are disjoint; the component sets do not share components); “added” when the prior object representation represents no object (e.g., is indicative of an empty space) and the latter object representation represents an object; and “removed” when the prior object representation represents an object and the latter object representation represents no object (e.g., is indicative of an empty space).
- However, the relationships can be otherwise defined.
- A single relationship is preferably determined between each pair of object versions and/or object representations; alternatively, multiple relationships can be determined between each pair of object versions and/or object representations.
- Collectively, the method (e.g., one or more instances of S300) can determine a set of relationships tracking a history of object changes over time (e.g., a building change history). The set of relationships can be determined for: a geographic region (e.g., a parcel), an object, or for any other entity. In a first variant, the set of relationships can be specific to an object (e.g., a building, a tree, a pool), wherein the representations connected by the set of relationships are associated with the same object, and describe the relationship between the object versions (e.g., object states; how the object has changed over time). In a second variant, the set of relationships can be specific to a geographic region (e.g., a parcel), wherein the representations connected by the set of relationships cooperatively describe how different objects within the geographic region are related (e.g., the relationship between buildings on the property over time). However, the set of relationships can be otherwise specified.
- This set of
relationships 50 between theobject versions 40 and/or objectrepresentations 30 can cooperatively form a graph (examples shown inFIG. 6A andFIG. 6B ), but can be represented as a matrix, a table, a set of clusters, and/or otherwise represented. The graph can be a partially connected graph, a fully connected graph, and/or any other suitable type of graph. - In a first variant, nodes of the graph can represent object versions, and edges of the graph (e.g., connecting pairs of nodes) represent relationships between the object versions. The nodes (e.g., object versions) can additionally or alternatively be associated with object representations, auxiliary data (e.g., measurement identifiers, timestamps, etc.), object information, and/or any other suitable data.
- In a second variant, the nodes of the graph can be object representations. In this variant, the object representations associated with the nodes can include object representations extracted from all available data for a given property or object, only the latest representation (e.g., to detect changes; be a 2-node graph), and/or represent any other set of data or timeframes. In this variant, object representations connected by a “same” relationship can be assigned the same object version identifier, while object representations connected by other relationships can be assigned different object version identifiers.
- The nodes are preferably ordered by time, but can alternatively be ordered by the relationship type, by statistical distance, or otherwise ordered. Connected nodes are preferably associated with the same geographic region, but can alternatively be associated with the same object and/or be otherwise associated.
- The edges are preferably associated with a relationship type (example shown in
FIG. 6A andFIG. 6B ), but can additionally and/or alternatively not be associated with a relationship type. In a first variant, the edges can be defined between representations of the same building (e.g., a relationship between the representations is classified as “unchanged” or “modified”); example shown inFIG. 6A andFIG. 6B . In a second variant, the edges can be defined between representations of different buildings (e.g., different buildings are associated with the same property). However, the edges can be otherwise defined. - However, the set of relationships between object versions and/or object representations can be otherwise represented.
- The
relationship 50 between twoobject versions 40 is preferably determined based on the respective object representations 30 (e.g., the object representations used to distinguish between the object versions, different object representations, etc.) (e.g., example shown inFIG. 12 ), but can additionally or alternatively be determined based on the object information associated with the object versions (e.g., object information generated during each object version's timeframe, object information used to determine the object representations, etc.), auxiliary data associated with each object version, and/or any other suitable information. - Object version relationships can be determined using a trained model, be determined using a ruleset, be calculated, be manually assigned, and/or be otherwise determined (e.g., examples shown in
FIG. 4 ). - In a first variant, S300 includes classifying the relationship between object representations (and/or respective object versions); example shown in
FIG. 7 . The classifier can ingest a set of object representations (e.g., a representation pair) and output a relationship classification (e.g., “unchanged”, “modified”, “replaced”, “added”, “removed”, etc.). The representations can be feature vectors (e.g., determined using the appearance change-agnostic model), measurement segments, attribute vectors, and/or other representations. The representations are preferably the same representation type (e.g., both are segments, both are feature vectors, both are attribute vectors, etc.), but can alternatively be different representation types. The classifier can be trained using ground-truth data including object representation sets (e.g., vector pairs, extracted from different measurements) labeled with the respective relationship class (e.g., change type labels), and/or using any other training data. The ground-truth relationship class can be determined manually, labeled using contemporaneous permit or tax data (e.g., labeled as “modified” when a permit exists for the timeframe, labeled as “removed” when the tax records show no improvements/land only, labeled as “replaced” when the taxable value changes but no sale has occurred, etc.), but can alternatively be labeled using any other suitable method. For example, a set of appearance vectors extracted from different measurements by the same model can be fed to the classifier, wherein the classifier predicts a relationship label for the appearance vector set. - In a second variant, S300 includes determining the relationship between the object representations (and/or respective object versions) based on a comparison metric between the representations. In this variant, the representations can be a vector of attribute values (e.g., such as roof pitch, roof slope, etc.; example shown in
FIG. 8 ), be a feature vector, and/or be any other representation. The attribute within the vector can be selected to be indicative of object instance similarity (e.g., using SHAP values, lift, etc.), be unselected (e.g., include all attributes), or be otherwise selected. The comparison metric can be a distance metric (e.g., Euclidean distance, Chebyshev distance, etc.), a similarity metric (e.g., Jaccard similarity, cosine similarity, etc.), a dissimilarity metric, and/or any other suitable comparison metric. In a first embodiment, the distance metric values can be binned or thresholded, wherein each bin or threshold is associated with a different relationship class (e.g., small distances are binned to “unmodified” or “modified”, wherein large distances are binned to “added”, “removed”, or “heavily modified”, etc.). However, the distances can be otherwise interpreted. - In a third variant, relationships between the representations (and/or respective object versions) can be determined based on rules and heuristics; example shown in
FIG. 9 . In this variant, the representations are preferably geometric representations, but can be other representations. - In a first example, each representation can include a set of roof facets. The relationship between a pair of representations (and/or respective object versions) can be considered: unchanged when the roof facets match; modified when the geometric representations share at least one roof facet; added when the prior geometric representation had no roof facets and the subsequent geometric representation has some roof facets; removed when the prior geometric representation had some roof facets and the subsequent geometric representation has no roof facets; and replaced when the pair of geometric representations both have roof facets but none match; example shown in
FIGS. 10A-10E . In this example, a structure can be considered the same structure when the subsequent and prior structures share a common roof facet or segment (e.g., when the structure is unchanged or is modified). Otherwise, the structure can be considered a different structure (e.g., a different object variant). In a second example, each representation can include a set of measurement segments (e.g., image segments or geometric segments). The relationship between a pair of representations (and/or respective object versions) can be considered: unchanged when the segments match; modified when the segments overlap; added when there was no prior measurement segment and there is a subsequent measurement segment; and removed when there was a prior measurement segment and there is not a subsequent measurement segment. - In a second example, permits (e.g., remodeling permits) relevant to the object (e.g., property) from the same timeframe as the pair of representations can indicate that an object was modified.
- In a third example, tax information relevant to the property from the same timeframe as the representations can signal that an object was modified. This auxiliary data (e.g., permit data, tax data, etc.) can be used to validate, disambiguate, specify, or otherwise influence a relationship between representations. However, rules, criteria, and/or heuristics can otherwise determine relationships between the representations.
- In a fourth variant, relationships between the representations can be determined based on a cascade of analysis modules. In a first example, a first analysis module can use geometric analysis to determine coarse changes (e.g., added, removed, same footprint, different footprint, etc.) and a second analysis module can use appearance-based methods and/or classifiers to distinguish between finer changes after the coarse changes have been determined (e.g., detect occurrence of a remodel if same footprint, determine magnitude of change if different footprint, etc.). In a second example, a first analysis module can use appearance-based methods to determine whether the structure has changed, a second analysis module can use geometric representation (e.g., extracted from the same measurement or a contemporaneous measurement) to determine whether the structure remains the same, and a third analysis module can use appearance representation to determine (e.g., classify) the type of structure change. In a third example, the second variant can be used to determine the object representations that represent the same object versions (e.g., wherein vectors that are substantially similar represent the same object versions), then the first variant or the third variant can be used to classify the relationships between the object versions. However, the cascade of analysis modules can otherwise determine relationships between the representations.
- However, the relationships can be otherwise determined.
- S300 can additionally include identifying
object versions 40 based on the relationships. In a first variant, an object version can be associated with or identified as a set of related object relationships (e.g., set of connected nodes); example shown inFIG. 6A . In a second variant, an object version can be associated with or identified as representations related by a predetermined subset of relationship types (e.g., only unchanged or “same”, example shown inFIG. 6B ; only unchanged and modified, etc.). In a first example, object representations representing the same object version are identified, then relationships between the object versions are determined (e.g., example shown inFIG. 12 ). In a second example, relationships between the object representations can be determined, wherein object versions can be determined based on the relationships (e.g., using a set of rules), and the relationships between different object versions can be determined from (e.g., inherited from) the relationships between the respective object representations (e.g., example shown inFIG. 13 ). In a third variant, an object version can be associated with or identified as a set of substantially similar object representations. However, the object version can be otherwise determined. - Each
object version 40 can be assigned one or more object identifiers, as discussed above. - Each
determined object version 40 can be associated with: a timeframe, the geographic region (e.g., from the object representations and/or object information), the related object representations, the object information used to determine the related object representations, auxiliary data spatially and/or temporally related to the object version, and/or other information. - The timeframe for an object version can encompass all of the related object representations' timestamps (e.g., examples shown in
FIG. 12 andFIG. 13 ) and/or exclude one or more related object representations' timestamps. The beginning of the timeframe for an object version can be: the timestamp of the first related object representation, the timestamp of the last object representation associated with a prior object version, a manually-specified time, a time determined from change-related object information (e.g., permit information, construction information, etc.), and/or otherwise determined. The end of the timeframe for an object version can be: the timestamp of the last object representation related to the object version, the timestamp of the first object representation associated with a subsequent object version, a manually-specified time, a time determined from completion-related object information (e.g., final certification, insurance documentation, etc.), and/or otherwise determined. However, the object version timeframe can be otherwise defined. - The auxiliary data associated with an object version can be associated with the object version: spatially (e.g., both are associated with the same geographic region), temporally (e.g., the auxiliary data has a timestamp falling within the object version timeframe), spatiotemporally, by object information (e.g., both the object representation associated with the object version and the auxiliary data were determined from the same object information), associated based on parameters (e.g., spatial parameter, temporal parameter, etc.) shared with the object version and/or the measurements associated with the object version, and/or be otherwise associated with the object version. Auxiliary data can include: object information from other vendors, object representations determined using object information from other vendors, object descriptions (e.g., property descriptions), permit data, insurance data (e.g., loss data, assessment data, etc.), inspection data, appraisal data, broker price opinion data, property valuations, attribute and/or component data (e.g., values), and/or other data.
- However, the object versions can be associated with any other suitable information.
- Generating an analysis based on the relationships S400 functions to describe an object version, the timeseries of object versions, and/or other relationships between object versions.
- The analysis is preferably generated in response to a query (e.g., the query including an object identifier, geographic coordinates, an address, a time, etc.), but can additionally and/or alternatively be generated in response to a request from an endpoint, be generated before the request is received (e.g., when a specific relationship is detected, when new property data is received, etc.), be generated for each change (e.g., calculated when a changed relationship is determined), and/or any other suitable time. The analysis can be generated by traversing through a graph or a relationship set, by retrieving data associated with an object version, and/or be otherwise generated.
- In an example, S400 can include: receiving a request identifying an object version; identifying the relationship set (e.g., graph or subgraph) associated with the object version; and returning information extracted from measurements associated with (e.g., used to generate) the object representations within the relationship set (e.g., example shown in
FIG. 14 ). In a first illustrative example, S400 can include: receiving a request with an address and a timestamp (e.g., the time at which the property was insured); identifying the relationship set associated with the address (e.g., the geographic region's relationship set); identifying the object version associated with the timestamp (e.g., the object version with the timeframe encompassing the timestamp); and generating a response based on the measurements associated with the object version (e.g., used to generate the object representations associated with the object version). - In a second example, S400 can include: receiving the request identifying the object version and a set of requested data types, and retrieving object data associated with the object version that satisfies the request. However, the analysis can be otherwise initiated and/or used.
- Examples of analyses that can be determined include: the relationship between a first and second object version (e.g., the next object version, a prior object version, the current object version etc.); a timeseries of changes between a first and second object version (e.g., change type, change time, building development history, parcel development history, etc.); whether the requested object version is the most recent object version for the geographic region; the most recent object version for a requested geographic region; the timeframe or duration for a requested object version; data associated with a requested object version (e.g., measurements, object representations, feature vectors, attribute values, etc.); an analysis of the timeseries that the requested object version is a part of (e.g., number of changes, types of changes, average object version duration, etc.); an analysis of the object versions associated with a requested timeframe; an analysis of the auxiliary data associated with the object version (e.g., statistical analysis, lookup, prediction, etc.); anomaly detection (e.g., a temporary structure); and/or other analyses (e.g., examples shown in
FIG. 4 ). - In a first example, S400 can include identifying measurements for an object version and generating the analysis from the set of identified measurements. The identified measurements are preferably associated with the object version's timeframe (e.g., sampled during object version's timeframe; etc.) and/or be otherwise associated with the object version. In a first embodiment, the analysis can include selecting the best measurement (e.g., image) of the object version based on a set of criteria (e.g., measurement with minimal shadows, measurement with maximal resolution, most up-to-date measurement, and least occluded, etc.). In a second embodiment, the analysis can include generating a synthetic measurement from said measurements (e.g., averaged measurement across a sliding window of measurements, etc.). In a third embodiment, attribute values (e.g., roof slope, etc.) can be extracted from the identified measurements (and/or best measurement) and be used as the attribute values for the object version. In a fourth embodiment, object polygons for the object version can be extracted from the identified measurements.
- In a second example, S400 can include limiting returned data to data for the specified object variant and/or modifications thereof. For example, if the structure of the specified object (e.g., identified by a timestamp, an object identifier, etc.) was wholly replaced by a replacement structure, information for the original structure can be returned, and information for the replacement structure would not be returned.
- In a third example, S400 can include generating a timeseries of changes for a parcel. This can include compiling the time series of relationships between serial representations, serial object versions, or be otherwise performed.
- In a fourth example, S400 can include determining whether an object version has changed since a reference time or reference object variant. In this variant, the relationship set can be analyzed to determine whether any change-associated relationships appear after the reference time or reference object variant.
- In a fifth example, S400 can include generating an analysis based on relationships between object variants within geospatial extent (e.g., a set of geographic coordinates of a neighborhood) and/or a set of object identifiers (e.g., a set of addresses). In a first example, the analysis can include neighborhood-level statistics on object development (e.g., percentage of objects undergoing development within a neighborhood, average percentage of objects undergoing development across a set of neighborhoods). In a second example, the analysis can include statistics for a list of addresses (e.g., average frequency of change occurrence between the addresses within a time interval).
- In a sixth example, S400 includes determining whether an object has changed based on the latest representation and a new representation determined from new property data. When the object has changed (e.g., the relationship between the latest and new representations is indicative of change), the new representation can be stored as the latest representation for the object (and/or a new object version can be created), and the prior representation can optionally be discarded; alternatively, the representations can be otherwise handled. Object information extracted from the new property data can optionally be stored in association with the new object version, and the old object information can optionally be discarded or associated with the prior object version. When the object has not changed (e.g., the relationship between the latest and new representations is not indicative of change), the object information extracted from the new property data can be: discarded, merged with the prior object information, and/or otherwise used.
- However, any other analysis can be performed.
- S400 can additionally include providing the analysis to an endpoint (e.g., an endpoint on a network, customer endpoint, user endpoint, automated valuation model system, etc.) through an interface, report, or other medium. The interface can be a mobile application, web application, desktop application, an API, and/or any other suitable interface executing on a user device, gateway, and/or any other computing system.
- However, S400 can be otherwise performed.
- The relationship set can be used to track changes of an object over time (e.g., structure modified, structure replaced, structure added, structure removed, auxiliary structure added, auxiliary structured removed, actively under construction, etc.), be used to associate measurements of the same object instance from different modalities or vendors together (e.g., example shown in
FIG. 11 ), and/or otherwise used. The relationship set can be used for: insurance underwriting (e.g., verify that the originally-insured property still exists or is unchanged; determine pricing of insurance depending on the change; optimize inspection to identify where to send inspectors; determine when to reach out to adjust insurance policy when remodeling is detected; identify which properties to initiate claims for; create opportunities to proactively address property change issues before they result in insurance claims; reconcile object versions with those in their records or those that were insured; etc.), real estate property investing (e.g., identify underpriced properties that can increase in value through renovation and/or repairs; incorporate the change into a valuation model to establish the offer price; determine when construction, remodeling, and/or repairing has occurred; identify properties in portfolio that have suffered damage; etc.), real estate management (e.g., identify areas that can be renovated, repaired, added, and/or removed, etc.), real estate valuations (e.g., use change as an input to an automated valuation model; use change to detect error in property evaluation models; use change as a supplement to a property-level valuation report; etc.), real estate and loan trading (e.g., detect illegal builds; identify deterioration since prior due diligence was completed; incorporate the change into collateral valuation in mortgage origination and in secondary mortgage market; etc.), and/or otherwise used. In an illustrative example, an insurer can use the relationship set to determine whether a multi-structure campus under development, such as an apartment complex, is under-insured due to recent construction or due to other discrepancies. - However, the relationship set can be otherwise used.
- Different processes and/or elements discussed above can be performed and controlled by the same or different entities. In the latter variants, different subsystems can communicate via: APIs (e.g., using API requests and responses, API keys, etc.), requests, and/or other communication channels. Communications between systems can be encrypted (e.g., using symmetric or asymmetric keys), signed, and/or otherwise authenticated or authorized.
- All references cited herein are incorporated by reference in their entirety, except to the extent that the incorporated material is inconsistent with the express disclosure herein, in which case the language in this disclosure controls.
- Alternative embodiments implement the above methods and/or processing modules in non-transitory computer-readable media, storing computer-readable instructions that, when executed by a processing system, cause the processing system to perform the method(s) discussed herein. The instructions can be executed by computer-executable components integrated with the computer-readable medium and/or processing system. The computer-readable medium may include any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, non-transitory computer readable media, or any suitable device. The computer-executable component can include a computing system and/or processing system (e.g., including one or more collocated or distributed, remote or local processors) connected to the non-transitory computer-readable medium, such as CPUs, GPUs, TPUS, microprocessors, or ASICs, but the instructions can alternatively or additionally be executed by any suitable dedicated hardware device.
- Embodiments of the system and/or method can include every combination and permutation of the various system components and the various method processes, wherein one or more instances of the method and/or processes described herein can be performed asynchronously (e.g., sequentially), contemporaneously (e.g., concurrently, in parallel, etc.), or in any other suitable order by and/or using one or more instances of the systems, elements, and/or entities described herein. Components and/or processes of the following system and/or method can be used with, in addition to, in lieu of, or otherwise integrated with all or a portion of the systems and/or methods disclosed in the applications mentioned above, each of which are incorporated in their entirety by this reference.
- As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.
Claims (20)
1. A method, comprising:
detecting a building within a set of measurements using an object detector;
determining building parameters based on the building detection; and
determining a building segment for the building, based on the building component parameters, using a segmentation model.
2. The method of claim 1 , wherein determining the building segment comprises:
retrieving a higher resolution image based on the building parameters; and
segmenting the segment from the higher resolution image using the segmentation model.
3. The method of claim 1 , wherein the building parameters comprise a geographic extent, wherein the higher resolution image depicts the geographic extent.
4. The method of claim 1 , wherein the measurement and the higher resolution measurement both comprise RGB images.
5. The method of claim 1 , further comprising determining a property attribute from the building segment.
6. The method of claim 1 , wherein detecting the building comprises detecting a roof.
7. The method of claim 1 , wherein the property attribute comprises at least one of: roof condition, number of roof facets, roof surface area, or roof slope.
8. The method of claim 1 , further comprising determining a property attribute from the building detection.
9. A method, comprising:
determining a bounding box surrounding a building component within a measurement, using a building component object detector;
determining building component parameters based on the bounding box;
retrieving a higher resolution measurement using the building component parameters; and
determining a set of building component attributes from the higher resolution measurement.
10. The method of claim 9 , wherein the measurement comprises a wide-area image.
11. The method of claim 9 , wherein the higher resolution measurement depicts a geographic region smaller than the wide-area image.
12. The method of claim 9 , wherein the higher resolution measurement comprises depth information.
13. The method of claim 9 , wherein the measurement comprises a RGB image.
14. The method of claim 9 , wherein the building component comprises at least one of a roof, solar panel, chimney, HVAC unit, or door.
15. The method of claim 9 , wherein the building component parameters comprise a geolocation of the building component, a dimension of the building component, and an orientation of the building component, determined based on the geolocation, dimension, and orientation of the bounding box, respectively.
16. The method of claim 9 , wherein the set of building component attributes are extracted from the higher resolution measurement using a set of attribute-specific machine learning models.
17. The method of claim 9 , wherein the object detector is trained on a set of bounding boxes drawn around building segments identified within training images, wherein the building segments are determined using a segmentation model.
18. The method of claim 9 , further comprising determining a count of building components based on a count of bounding boxes determined from the measurement.
19. The method of claim 9 , further comprising determining a height parameter of the building based on the building component parameters and a geolocation of the measurement.
20. The method of claim 9 , wherein the building component comprises a shadow, wherein the height parameter is determined based on a length of the detected shadow, the geolocation of the measurement, and a sampling time for the measurement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/098,841 US20230230250A1 (en) | 2022-01-19 | 2023-01-19 | System and method for property detection and analysis |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263300736P | 2022-01-19 | 2022-01-19 | |
US18/098,841 US20230230250A1 (en) | 2022-01-19 | 2023-01-19 | System and method for property detection and analysis |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230230250A1 true US20230230250A1 (en) | 2023-07-20 |
Family
ID=87162177
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/098,829 Active US11861843B2 (en) | 2022-01-19 | 2023-01-19 | System and method for object analysis |
US18/098,841 Pending US20230230250A1 (en) | 2022-01-19 | 2023-01-19 | System and method for property detection and analysis |
US18/225,551 Active US12100159B2 (en) | 2022-01-19 | 2023-07-24 | System and method for object analysis |
US18/511,708 Pending US20240087131A1 (en) | 2022-01-19 | 2023-11-16 | System and method for object analysis |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/098,829 Active US11861843B2 (en) | 2022-01-19 | 2023-01-19 | System and method for object analysis |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/225,551 Active US12100159B2 (en) | 2022-01-19 | 2023-07-24 | System and method for object analysis |
US18/511,708 Pending US20240087131A1 (en) | 2022-01-19 | 2023-11-16 | System and method for object analysis |
Country Status (3)
Country | Link |
---|---|
US (4) | US11861843B2 (en) |
AU (1) | AU2023208758A1 (en) |
WO (1) | WO2023141192A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11861843B2 (en) | 2022-01-19 | 2024-01-02 | Cape Analytics, Inc. | System and method for object analysis |
US11967097B2 (en) | 2021-12-16 | 2024-04-23 | Cape Analytics, Inc. | System and method for change analysis |
US12050994B2 (en) | 2018-11-14 | 2024-07-30 | Cape Analytics, Inc. | Systems, methods, and computer readable media for predictive analytics and change detection from remotely sensed imagery |
US12062231B2 (en) * | 2022-11-04 | 2024-08-13 | Fmworks Inc. | Inundation and overflow prediction system using drone images and artificial intelligence |
Family Cites Families (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995032483A1 (en) | 1994-05-19 | 1995-11-30 | Geospan Corporation | Method for collecting and processing visual and spatial position information |
US6044171A (en) | 1995-05-09 | 2000-03-28 | Polyakov; Vladislav G. | Method and apparatus for pattern recognition and representation using fourier descriptors and iterative transformation-reparametrization |
US6249616B1 (en) | 1997-05-30 | 2001-06-19 | Enroute, Inc | Combining digital images based on three-dimensional relationships between source image data sets |
US8209246B2 (en) | 2001-03-20 | 2012-06-26 | Goldman, Sachs & Co. | Proprietary risk management clearinghouse |
US7106891B2 (en) | 2001-10-15 | 2006-09-12 | Insightful Corporation | System and method for determining convergence of image set registration |
US6738063B2 (en) | 2002-02-07 | 2004-05-18 | Siemens Corporate Research, Inc. | Object-correspondence identification without full volume registration |
US20050084178A1 (en) | 2002-12-30 | 2005-04-21 | Lure Fleming Y. | Radiological image processing based on different views of temporal images |
US20040153330A1 (en) | 2003-02-05 | 2004-08-05 | Fidelity National Financial, Inc. | System and method for evaluating future collateral risk quality of real estate |
US7711584B2 (en) | 2003-09-04 | 2010-05-04 | Hartford Fire Insurance Company | System for reducing the risk associated with an insured building structure through the incorporation of selected technologies |
US20050154657A1 (en) | 2004-01-12 | 2005-07-14 | Kim Christopher D.Y. | Condition scoring for a property appraisal system |
US8207964B1 (en) | 2008-02-22 | 2012-06-26 | Meadow William D | Methods and apparatus for generating three-dimensional image data models |
US7327902B2 (en) | 2004-12-10 | 2008-02-05 | Radiological Imaging Technology, Inc. | Optimizing image alignment |
US7657126B2 (en) | 2005-05-09 | 2010-02-02 | Like.Com | System and method for search portions of objects in images and features thereof |
US7945117B2 (en) | 2006-08-22 | 2011-05-17 | Siemens Medical Solutions Usa, Inc. | Methods and systems for registration of images |
US7873238B2 (en) | 2006-08-30 | 2011-01-18 | Pictometry International Corporation | Mosaic oblique images and methods of making and using same |
US20080133319A1 (en) | 2006-11-30 | 2008-06-05 | Oia Intellectuals, Inc. | Method and apparatus of determining effect of price on distribution of time to sell real property |
US20080255862A1 (en) * | 2007-04-11 | 2008-10-16 | Bailey Gregory A | Predictive asset ranking score of property |
US8145578B2 (en) | 2007-04-17 | 2012-03-27 | Eagel View Technologies, Inc. | Aerial roof estimation system and method |
US8078436B2 (en) | 2007-04-17 | 2011-12-13 | Eagle View Technologies, Inc. | Aerial roof estimation systems and methods |
US8046306B2 (en) | 2007-06-29 | 2011-10-25 | Zaio Corporation | System, method, and apparatus for property appraisals |
US8965812B2 (en) | 2007-10-09 | 2015-02-24 | Archer Daniels Midland Company | Evaluating commodity conditions using aerial image data |
US8531472B2 (en) | 2007-12-03 | 2013-09-10 | Pictometry International Corp. | Systems and methods for rapid three-dimensional modeling with real façade texture |
US8075209B2 (en) | 2008-03-31 | 2011-12-13 | Xerox Corporation | Method of printing images to compensate for pile height differential |
TW201005673A (en) | 2008-07-18 | 2010-02-01 | Ind Tech Res Inst | Example-based two-dimensional to three-dimensional image conversion method, computer readable medium therefor, and system |
US8170840B2 (en) | 2008-10-31 | 2012-05-01 | Eagle View Technologies, Inc. | Pitch determination systems and methods for aerial roof estimation |
US8209152B2 (en) | 2008-10-31 | 2012-06-26 | Eagleview Technologies, Inc. | Concurrent display systems and methods for aerial roof estimation |
US8731234B1 (en) | 2008-10-31 | 2014-05-20 | Eagle View Technologies, Inc. | Automated roof identification systems and methods |
US8391617B2 (en) | 2008-11-04 | 2013-03-05 | Eastman Kodak Company | Event recognition using image and location information |
CN102326164B (en) | 2009-02-20 | 2016-06-15 | 太阳能公司 | Comprise the automated solar collector installation design of the preferred ability of definition different designs |
WO2010134502A1 (en) | 2009-05-18 | 2010-11-25 | 小平アソシエイツ株式会社 | Image information output method |
US8401222B2 (en) | 2009-05-22 | 2013-03-19 | Pictometry International Corp. | System and process for roof measurement using aerial imagery |
BR112012009116A2 (en) | 2009-10-22 | 2020-08-18 | Koninklijke Philips Electronics N.V | method for aligning an ordered stack of specimen images, equipment for aligning an ordered stack of specimen images, computer program product, data carrier |
US8655070B1 (en) | 2009-11-04 | 2014-02-18 | Google Inc. | Tree detection form aerial imagery |
US9911228B2 (en) | 2010-02-01 | 2018-03-06 | Eagle View Technologies, Inc. | Geometric correction of rough wireframe models derived from photographs |
US8396256B2 (en) | 2010-03-25 | 2013-03-12 | International Business Machines Corporation | Parallel computing of line of sight view-shed |
WO2011121117A1 (en) | 2010-04-02 | 2011-10-06 | Imec | Virtual camera system |
US8477190B2 (en) | 2010-07-07 | 2013-07-02 | Pictometry International Corp. | Real-time moving platform management system |
US20120035887A1 (en) | 2010-08-03 | 2012-02-09 | Joseph Augenbraun | Shading analysis software |
WO2012048304A1 (en) | 2010-10-07 | 2012-04-12 | Sungevity | Rapid 3d modeling |
US8977520B2 (en) | 2010-10-21 | 2015-03-10 | Pictometry International Corp. | Computer system for automatically classifying roof elements |
US8374428B2 (en) | 2010-12-05 | 2013-02-12 | Microsoft Corporation | Color balancing for partially overlapping images |
US8823732B2 (en) | 2010-12-17 | 2014-09-02 | Pictometry International Corp. | Systems and methods for processing images with edge detection and snap-to feature |
SG192881A1 (en) | 2011-02-21 | 2013-09-30 | Stratech Systems Ltd | A surveillance system and a method for detecting a foreign object, debris, or damage in an airfield |
US8548248B2 (en) | 2011-03-01 | 2013-10-01 | Mda Information Systems, Inc. | Correlated land change system and method |
US20130054476A1 (en) | 2011-08-23 | 2013-02-28 | The Boeing Company | System, method and computer program product for parcel assessment |
US10663294B2 (en) | 2012-02-03 | 2020-05-26 | Eagle View Technologies, Inc. | Systems and methods for estimation of building wall area and producing a wall estimation report |
US8774525B2 (en) | 2012-02-03 | 2014-07-08 | Eagle View Technologies, Inc. | Systems and methods for estimation of building floor area |
US9599466B2 (en) | 2012-02-03 | 2017-03-21 | Eagle View Technologies, Inc. | Systems and methods for estimation of building wall area |
US9933257B2 (en) | 2012-02-03 | 2018-04-03 | Eagle View Technologies, Inc. | Systems and methods for estimation of building wall area |
US10515414B2 (en) | 2012-02-03 | 2019-12-24 | Eagle View Technologies, Inc. | Systems and methods for performing a risk management assessment of a property |
US9183538B2 (en) | 2012-03-19 | 2015-11-10 | Pictometry International Corp. | Method and system for quick square roof reporting |
EP2648414B1 (en) | 2012-04-03 | 2016-03-23 | Samsung Electronics Co., Ltd | 3d display apparatus and method for processing image using the same |
US8848983B1 (en) | 2012-05-31 | 2014-09-30 | Google Inc. | System and method for ranking geographic features using viewshed analysis |
US8775219B2 (en) | 2012-07-13 | 2014-07-08 | Northrop Grumman Systems Corporation | Spectral image classification of rooftop condition for use in property insurance |
US9141880B2 (en) | 2012-10-05 | 2015-09-22 | Eagle View Technologies, Inc. | Systems and methods for relating images to each other by determining transforms without using image acquisition metadata |
US8760285B2 (en) | 2012-11-15 | 2014-06-24 | Wildfire Defense Systems, Inc. | Wildfire risk assessment |
US9811775B2 (en) | 2012-12-24 | 2017-11-07 | Google Inc. | Parallelizing neural networks during training |
KR101293662B1 (en) * | 2013-01-11 | 2013-08-13 | 명지대학교 산학협력단 | System for creating bim(building information modeling) object breakdown structure and method therefor |
US9159164B2 (en) | 2013-01-31 | 2015-10-13 | Eagle View Technologies, Inc. | Statistical point pattern matching technique |
US9147287B2 (en) | 2013-01-31 | 2015-09-29 | Eagle View Technologies, Inc. | Statistical point pattern matching technique |
US9082014B2 (en) | 2013-03-14 | 2015-07-14 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate demography based on aerial images |
US9753950B2 (en) | 2013-03-15 | 2017-09-05 | Pictometry International Corp. | Virtual property reporting for automatic structure detection |
US9959581B2 (en) | 2013-03-15 | 2018-05-01 | Eagle View Technologies, Inc. | Property management on a smartphone |
JP6188400B2 (en) | 2013-04-26 | 2017-08-30 | オリンパス株式会社 | Image processing apparatus, program, and image processing method |
US9041708B2 (en) | 2013-07-23 | 2015-05-26 | Palantir Technologies, Inc. | Multiple viewshed analysis |
CN104346620B (en) | 2013-07-25 | 2017-12-29 | 佳能株式会社 | To the method and apparatus and image processing system of the pixel classifications in input picture |
WO2015017855A1 (en) | 2013-08-02 | 2015-02-05 | Xactware Solutions, Inc. | System and method for detecting features in aerial images using disparity mapping and segmentation techniques |
US9298740B2 (en) | 2013-09-25 | 2016-03-29 | Corelogic Solutions, Llc | System and method for enhancing the normalization of parcel data |
US20160027051A1 (en) | 2013-09-27 | 2016-01-28 | Real Data Guru, Inc. | Clustered Property Marketing Tool & Method |
US9536148B2 (en) * | 2013-09-27 | 2017-01-03 | Real Data Guru, Inc. | Property assessment and prospecting tool |
US9494415B2 (en) | 2013-11-07 | 2016-11-15 | Intel Corporation | Object position determination |
US20150187015A1 (en) | 2013-12-31 | 2015-07-02 | Hartford Fire Insurance Company | System and method for destination based underwriting |
US10552911B1 (en) | 2014-01-10 | 2020-02-04 | United Services Automobile Association (Usaa) | Determining status of building modifications using informatics sensor data |
US20150199380A1 (en) | 2014-01-16 | 2015-07-16 | Microsoft Corporation | Discovery of viewsheds and vantage points by mining geo-tagged data |
US9292913B2 (en) | 2014-01-31 | 2016-03-22 | Pictometry International Corp. | Augmented three dimensional point collection of vertical structures |
WO2015130928A1 (en) | 2014-02-26 | 2015-09-03 | Nancy Packes, Inc. | Real estate evaluating platform methods, apparatuses, and media |
US9928347B2 (en) | 2014-04-02 | 2018-03-27 | University Of Louisville Research Foundation, Inc. | Computer aided diagnostic system for classifying kidneys |
US20150302529A1 (en) * | 2014-04-18 | 2015-10-22 | Marshall & Swift/Boeckh, LLC | Roof condition evaluation and risk scoring system and method |
US10248731B1 (en) | 2014-05-16 | 2019-04-02 | Corelogic Solutions, Llc | System and method for linking data records for parcels |
US10706968B2 (en) | 2014-06-20 | 2020-07-07 | William E. Hayward | Estimating impact of property on individual health—property match |
US20210151195A1 (en) | 2014-06-20 | 2021-05-20 | William E. Hayward | Estimating impact of property on individual health -- cognitive calculator |
US10430902B1 (en) | 2014-07-07 | 2019-10-01 | Trulia, Llc | Automatic updating of real estate database |
US20160063516A1 (en) * | 2014-08-29 | 2016-03-03 | The Nielsen Company (Us), Llc | Methods and apparatus to estimate commercial characteristics based on geospatial data |
US20160048934A1 (en) | 2014-09-26 | 2016-02-18 | Real Data Guru, Inc. | Property Scoring System & Method |
US20160092959A1 (en) | 2014-09-26 | 2016-03-31 | Real Data Guru, Inc. | Tag Based Property Platform & Method |
US10453147B1 (en) | 2014-10-15 | 2019-10-22 | State Farm Mutual Automobile Insurance Company | Methods and systems to generate property insurance data based on aerial images |
US20160162986A1 (en) | 2014-12-09 | 2016-06-09 | Mastercard International Incorporated | Systems and methods for determining a value of commercial real estate |
US20170357984A1 (en) | 2015-02-27 | 2017-12-14 | Sony Corporation | Information processing device, information processing method, and program |
RU2703343C2 (en) | 2015-03-20 | 2019-10-16 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Relevancy assessment for artificial neural networks |
US10192275B2 (en) * | 2015-03-30 | 2019-01-29 | Creed Smith | Automated real estate valuation system |
US10977734B1 (en) | 2015-05-29 | 2021-04-13 | State Farm Mutual Automobile Insurance Company | Method and system for collaborative inspection of insured properties |
JP6828682B2 (en) | 2015-06-10 | 2021-02-10 | ソニー株式会社 | Information processing equipment, information processing methods, and programs |
US20170032481A1 (en) * | 2015-07-28 | 2017-02-02 | The Toronto-Dominion Bank | Method and system for identifying a property for purchase and related products and services using image processing |
US10311302B2 (en) | 2015-08-31 | 2019-06-04 | Cape Analytics, Inc. | Systems and methods for analyzing remote sensing imagery |
US9389084B1 (en) | 2015-09-17 | 2016-07-12 | Skycatch, Inc. | Detecting changes in aerial images |
EP3403050A4 (en) | 2016-02-15 | 2019-08-21 | Pictometry International Corp. | Automated system and methodology for feature extraction |
US11037255B1 (en) | 2016-03-16 | 2021-06-15 | Allstate Insurance Company | System for determining type of property inspection based on captured images |
US10511676B2 (en) * | 2016-03-17 | 2019-12-17 | Conduent Business Services, Llc | Image analysis system for property damage assessment and verification |
US10002415B2 (en) | 2016-04-12 | 2018-06-19 | Adobe Systems Incorporated | Utilizing deep learning for rating aesthetics of digital images |
US9922412B1 (en) * | 2016-06-03 | 2018-03-20 | State Farm Mutual Automobile Insurance Company | System and method for assessing a physical structure |
US11055786B2 (en) | 2016-06-03 | 2021-07-06 | Conduent Business Services, Llc | Image segmentation system for verification of property roof damage |
US11120505B2 (en) | 2016-06-03 | 2021-09-14 | Conduent Business Services, Llc | Image analysis system for verification of property roof damage |
US9911042B1 (en) | 2016-07-01 | 2018-03-06 | State Farm Mutual Automobile Insurance Company | Real property image analysis system to identify similar properties |
US10650285B1 (en) | 2016-09-23 | 2020-05-12 | Aon Benfield Inc. | Platform, systems, and methods for identifying property characteristics and property feature conditions through aerial imagery analysis |
JP6773899B2 (en) | 2016-09-23 | 2020-10-21 | エーオン・ベンフィールド・インコーポレイテッドAon Benfield Inc. | Platforms, systems, and methods for classifying asset characteristics and asset feature maintenance management by aerial image analysis |
JP6600288B2 (en) | 2016-09-27 | 2019-10-30 | Kddi株式会社 | Integrated apparatus and program |
US20180096073A1 (en) | 2016-10-05 | 2018-04-05 | Aiooki Limited | Recommendations Based On User Preference And Activities |
WO2018119035A1 (en) | 2016-12-22 | 2018-06-28 | Ip Reservoir, Llc | Pipelines for hardware-accelerated machine learning |
EP3340106B1 (en) | 2016-12-23 | 2023-02-08 | Hexagon Technology Center GmbH | Method and system for assigning particular classes of interest within measurement data |
EP3151164A3 (en) | 2016-12-26 | 2017-04-12 | Argosai Teknoloji Anonim Sirketi | A method for foreign object debris detection |
US11043026B1 (en) | 2017-01-28 | 2021-06-22 | Pointivo, Inc. | Systems and methods for processing 2D/3D data for structures of interest in a scene and wireframes generated therefrom |
US20190057465A1 (en) | 2017-08-18 | 2019-02-21 | Carrier Corporation | Home recommendation tool |
US20210256615A1 (en) | 2017-09-27 | 2021-08-19 | State Farm Mutual Automobile Insurance Company | Implementing Machine Learning For Life And Health Insurance Loss Mitigation And Claims Handling |
US11599706B1 (en) | 2017-12-06 | 2023-03-07 | Palantir Technologies Inc. | Systems and methods for providing a view of geospatial information |
CA3085096A1 (en) | 2017-12-08 | 2019-06-13 | Geomni, Inc. | Computer vision systems and methods for geospatial property feature detection and extraction from digital images |
US10503843B2 (en) | 2017-12-19 | 2019-12-10 | Eagle View Technologies, Inc. | Supervised automatic roof modeling |
US10535191B2 (en) | 2017-12-21 | 2020-01-14 | Luminar Technologies, Inc. | Object identification and labeling tool for training autonomous vehicle controllers |
US10878294B2 (en) | 2018-01-05 | 2020-12-29 | Irobot Corporation | Mobile cleaning robot artificial intelligence for situational awareness |
CN108197583B (en) | 2018-01-10 | 2020-04-24 | 武汉大学 | Building change detection method based on graph cut optimization and image structure characteristics |
US11430069B1 (en) | 2018-01-15 | 2022-08-30 | Corelogic Solutions, Llc | Damage prediction system using artificial intelligence |
JP7032695B2 (en) | 2018-03-27 | 2022-03-09 | ブラザー工業株式会社 | Control device and computer program |
WO2019191329A1 (en) * | 2018-03-28 | 2019-10-03 | Betterview Marketplace, Inc. | Property investigation system and method |
CN108629287A (en) | 2018-04-09 | 2018-10-09 | 华南农业大学 | A kind of remote sensing image terrain classification method |
US11836139B2 (en) | 2018-04-10 | 2023-12-05 | Airbnb, Inc. | Ranking property listing search results |
US11430076B1 (en) | 2018-05-24 | 2022-08-30 | Zillow, Inc. | View scores |
US11164199B2 (en) | 2018-07-26 | 2021-11-02 | Opendoor Labs Inc. | Updating projections using listing data |
WO2020056041A1 (en) | 2018-09-11 | 2020-03-19 | Pointivo, Inc. | Improvements in data acquistion, processing, and output generation for use in analysis of one or a collection of physical assets of interest |
US20200134733A1 (en) | 2018-10-26 | 2020-04-30 | Intermap Technologies, Inc. | Geospatial location-specific model for pricing perils |
US20200134753A1 (en) * | 2018-10-31 | 2020-04-30 | Alexander Vickers | System and Method for Assisting Real Estate Holding Companies to Maintain Optimal Valuation of Their Properties |
EP3881161A1 (en) | 2018-11-14 | 2021-09-22 | Cape Analytics, Inc. | Systems, methods, and computer readable media for predictive analytics and change detection from remotely sensed imagery |
US11144758B2 (en) | 2018-11-15 | 2021-10-12 | Geox Gis Innovations Ltd. | System and method for object detection and classification in aerial imagery |
US20220099855A1 (en) | 2019-01-13 | 2022-03-31 | Schlumberger Technology Corporation | Seismic image data interpretation system |
US11555701B2 (en) | 2019-05-02 | 2023-01-17 | Corelogic Solutions, Llc | Use of a convolutional neural network to auto-determine a floor height and floor height elevation of a building |
US10937178B1 (en) | 2019-05-09 | 2021-03-02 | Zoox, Inc. | Image-based depth data and bounding boxes |
US11526970B2 (en) | 2019-09-04 | 2022-12-13 | Samsung Electronics Co., Ltd | System and method for video processing with enhanced temporal consistency |
CA3149080A1 (en) * | 2019-09-20 | 2021-03-25 | Shadrian Strong | Roof condition assessment using machine learning |
US11769180B2 (en) | 2019-10-15 | 2023-09-26 | Orchard Technologies, Inc. | Machine learning systems and methods for determining home value |
US11694354B2 (en) | 2019-10-18 | 2023-07-04 | Pictometry International Corp. | Geospatial object geometry extraction from imagery |
CA3159125A1 (en) | 2019-10-24 | 2021-04-29 | Julie Moir Messervy | System and method for generating a landscape design |
US11625812B2 (en) | 2019-11-01 | 2023-04-11 | Microsoft Technology Licensing, Llc | Recovering occluded image data using machine learning |
US11776140B2 (en) | 2019-12-16 | 2023-10-03 | Insurance Services Office, Inc. | Computer vision systems and methods for automatic alignment of parcels with geotagged aerial imagery |
GB2591332B (en) | 2019-12-19 | 2024-02-14 | Motional Ad Llc | Foreground extraction using surface fitting |
US20210199446A1 (en) | 2019-12-31 | 2021-07-01 | Lyft, Inc. | Overhead view image generation |
EP4168996A4 (en) * | 2020-06-23 | 2024-07-31 | Insurance Services Office Inc | Systems and methods for fine adjustment of roof models |
US20220012518A1 (en) * | 2020-07-08 | 2022-01-13 | Here Global B.V. | Method and apparatus for presenting object annotation tasks |
US11302034B2 (en) | 2020-07-09 | 2022-04-12 | Tensorflight, Inc. | Automated property inspections |
US20220036537A1 (en) | 2020-07-28 | 2022-02-03 | The Board Of Trustees Of The University Of Alabama | Systems and methods for detecting blight and code violations in images |
US20220036486A1 (en) | 2020-07-31 | 2022-02-03 | CBRE, Inc. | Systems and methods for deriving rating for properties |
US11488255B1 (en) | 2020-08-03 | 2022-11-01 | State Farm Mutual Automobile Insurance Company | Apparatuses, systems and methods for mitigating property loss based on an event driven probable roof loss confidence score |
WO2022082007A1 (en) | 2020-10-15 | 2022-04-21 | Cape Analytics, Inc. | Method and system for automated debris detection |
US11900580B2 (en) | 2021-01-26 | 2024-02-13 | X Development Llc | Asset-level vulnerability and mitigation |
US20220292650A1 (en) | 2021-03-15 | 2022-09-15 | Adobe Inc. | Generating modified digital images using deep visual guided patch match models for image inpainting |
WO2022266304A1 (en) | 2021-06-16 | 2022-12-22 | Cape Analytics, Inc. | Property hazard score determination |
WO2023283231A1 (en) | 2021-07-06 | 2023-01-12 | Cape Analytics, Inc. | System and method for property condition analysis |
US11631235B2 (en) | 2021-07-22 | 2023-04-18 | Cape Analytics, Inc. | System and method for occlusion correction |
US11861880B2 (en) | 2021-10-19 | 2024-01-02 | Cape Analytics, Inc. | System and method for property typicality determination |
US20230143198A1 (en) | 2021-11-05 | 2023-05-11 | Cape Analytics, Inc. | System and method for viewshed analysis |
US11676298B1 (en) | 2021-12-16 | 2023-06-13 | Cape Analytics, Inc. | System and method for change analysis |
US11861843B2 (en) | 2022-01-19 | 2024-01-02 | Cape Analytics, Inc. | System and method for object analysis |
US11935276B2 (en) | 2022-01-24 | 2024-03-19 | Cape Analytics, Inc. | System and method for subjective property parameter determination |
-
2023
- 2023-01-19 US US18/098,829 patent/US11861843B2/en active Active
- 2023-01-19 AU AU2023208758A patent/AU2023208758A1/en active Pending
- 2023-01-19 US US18/098,841 patent/US20230230250A1/en active Pending
- 2023-01-19 WO PCT/US2023/011117 patent/WO2023141192A1/en active Application Filing
- 2023-07-24 US US18/225,551 patent/US12100159B2/en active Active
- 2023-11-16 US US18/511,708 patent/US20240087131A1/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12050994B2 (en) | 2018-11-14 | 2024-07-30 | Cape Analytics, Inc. | Systems, methods, and computer readable media for predictive analytics and change detection from remotely sensed imagery |
US11967097B2 (en) | 2021-12-16 | 2024-04-23 | Cape Analytics, Inc. | System and method for change analysis |
US11861843B2 (en) | 2022-01-19 | 2024-01-02 | Cape Analytics, Inc. | System and method for object analysis |
US12100159B2 (en) | 2022-01-19 | 2024-09-24 | Cape Analytics, Inc. | System and method for object analysis |
US12062231B2 (en) * | 2022-11-04 | 2024-08-13 | Fmworks Inc. | Inundation and overflow prediction system using drone images and artificial intelligence |
Also Published As
Publication number | Publication date |
---|---|
AU2023208758A1 (en) | 2024-06-20 |
US12100159B2 (en) | 2024-09-24 |
US11861843B2 (en) | 2024-01-02 |
WO2023141192A1 (en) | 2023-07-27 |
US20230230220A1 (en) | 2023-07-20 |
US20240087131A1 (en) | 2024-03-14 |
US20230368390A1 (en) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568639B2 (en) | Systems and methods for analyzing remote sensing imagery | |
US11861843B2 (en) | System and method for object analysis | |
US11367265B2 (en) | Method and system for automated debris detection | |
Lee et al. | Fusion of lidar and imagery for reliable building extraction | |
US11631235B2 (en) | System and method for occlusion correction | |
US11861880B2 (en) | System and method for property typicality determination | |
US11676298B1 (en) | System and method for change analysis | |
KR102406150B1 (en) | Method for creating obstruction detection model using deep learning image recognition and apparatus thereof | |
US20240112273A1 (en) | System and method for property condition analysis | |
Shedlovska et al. | Satellite imagery features for the image similarity estimation | |
US20230401660A1 (en) | System and method for property group analysis | |
Wang | Understanding high resolution aerial imagery using computer vision techniques | |
US20240312040A1 (en) | System and method for change analysis | |
US20230385882A1 (en) | System and method for property analysis | |
Aung et al. | Detecting the 3D Damaged Area of Historic Pagodas Using Vanishing Point | |
Thomas | Computer vision techniques for damage assessment from high resolution remote sensing imagery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CAPE ANALYTICS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VIANELLO, GIACOMO;REEL/FRAME:062577/0148 Effective date: 20230202 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |