The present invention relates to techniques and technology for producing an electronic representation of the effects of a parametric earthquake event on a specific property comprising one or more structures, and more specifically to methods and systems of processing video and still images of the specific property taken during normal conditions to show the calculated movement and damage to the respective structures of the property attributable to a parametric earthquake event.
The public is familiar with fictious depictions of earthquakes from motion pictures and even the depiction of actual earthquake events in documentary footage. However, such depictions do not serve to inform the public regarding the likely damage to their own property (both real and personal property) in the event of an earthquake event. Better information regarding the effects of earthquake events on property at a specific geographic location and the likely property damage resulting from such earthquake events can be useful in assessing the need for earthquake preparation.
A need therefore exists, for a system that can identify structures comprising property pictured at a specific geographic location and display an electronic representation, e.g., a video program and/or audiovisual program, showing a representation of the motion of the respective structures caused by a seismic event having known parameters, e.g., location, strength and/or duration.
A need further exists, for a system that can identify structures comprising a property pictured at a specific geographic location and display an electronic representation, e.g., still photo images, a video program and/or an audiovisual program showing a representation of damage to the respective structures caused by a seismic event having known parameters, e.g., location, strength and/or duration.
In one aspect, a system receives images of property at a specified geographic location. The system processes, using an image recognition processor, the received images and identifies one or more structures comprising the property. The system retrieves parametric data regarding a designated seismic event. The system defines a key data pair corresponding to the specified geographic location and the designated seismic event. The system determines key attributes relating the key data pair. The system determines, using a computer or processor, values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using the key attributes. The system produces images showing an electronic representation the one or more structures comprising the property moving in accordance with the deemed seismic action.
In one embodiment thereof, the images comprise a video program showing an electronic representation of the one or more structures moving in accordance with the deemed seismic action.
In another embodiment thereof, the images comprise an audiovisual program showing an electronic representation of the one or more structures moving in accordance with the deemed seismic action.
In yet another embodiment thereof, a key attribute determined by the system is the distance from the designated seismic event to the specified geographic location.
In still another embodiment thereof, a key attribute determined by the system is the intervening geology between the designated seismic event to the specified geographic location.
In a further embodiment thereof, the system assigns to one or more of the identified structures a respective structure attribute. The system determines values of deemed structure action for each respective structure by modifying the values of the deemed seismic action at the specified geographic location using the respective structure attribute. The system produces images showing an electronic representation of the one or more structures moving in accordance with the deemed seismic action and as further modified by the deemed structure action.
In a yet further embodiment thereof, the respective structure attribute is correlated to a determined mass of the structure.
In a still further embodiment thereof, the respective structure attribute is correlated to a determined resonant frequency of the structure.
In another aspect, a system receives images of property at a specified geographic location. The system processes, using an image recognition processor, the received images and identifies one or more structures comprising the property. The system receives parametric data regarding a designated seismic event. The system defines a key data pair corresponding to the specified geographic location and the designated seismic event. The system determines key attributes relating the key data pair. The system determines, using a computer or processor, values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using the key attributes. The system determines a respective deemed damage corresponding to each structure based on the deemed seismic action. The system produces images showing an electronic representation the one or more structures comprising the property modified with respective electronic representations of the respective deemed damage.
In one embodiment thereof, the images comprise a video program showing an electronic representation of the one or more structures modified to show the respective deemed damage.
In another embodiment thereof, the images comprise an audiovisual program showing an electronic representation of the one or more structures modified to show the respective deemed damage.
In yet embodiment thereof, the images comprise one or more still images showing an electronic representation of the one or more structures modified to show the respective deemed damage.
In still another embodiment thereof, a key attribute determined by the system is the distance from the designated seismic event to the specified geographic location.
In a further embodiment thereof, a key attribute determined by the system is the intervening geology between the designated seismic event to the specified geographic location.
In a yet further embodiment thereof, the system assigns to one or more of the identified structures a respective structure attribute. The system determines values of deemed structure damage for each respective structure by modifying the values of the deemed seismic action at the specified geographic location using the respective structure attribute. The system produces images showing an electronic representation of the one or more structures modified with the respective deemed damage corresponding to each structure based on the deemed seismic action and further corresponding to the respective structure attribute.
In a still further embodiment thereof, the respective structure attribute is correlated to a determined mass of the structure.
In another embodiment thereof, the respective structure attribute is correlated to a determined resonant frequency of the structure.
In yet another embodiment thereof, the respective structure attribute is correlated to a construction material of the structure.
In a third aspect, a method is provided for displaying an augmented reality (AR) representation of physical effects and property damage resulting from a parametric earthquake event. The method includes scanning, using one or more sensors of a user device, a scene in proximity to a user. The method also includes identifying a background and objects in the scene. The method further includes creating an AR background for the background of the scene and AR objects for the objects in the scene. The method further includes displaying the AR background and the AR objects on the display of the user device. In addition, the method includes receiving at least one seismic characteristic from the user through the display of the user device. The method additionally includes displaying at least one seismic effect on the AR objects and on the AR background in the scene displayed on the user device based on the at least one received seismic characteristic.
In one embodiment thereof, the background is a wall and the objects are picture frames.
In another embodiment thereof, displaying the at least one seismic effect on the AR objects comprises independently applying the at least one seismic effect on the AR objects and the AR background.
In another embodiment thereof, displaying the at least one seismic effect on the AR objects comprises independently applying the at least one seismic effect using a first effect type on the AR objects and using a second effect type on the AR background.
In yet another embodiment thereof, the first effect type is applying an AR oscillation and the second effect type is generating an AR crack.
In another embodiment thereof, independently applying the at least one seismic effect using a first effect type on the AR objects and using a second effect type on the AR background comprises selecting the first effect type based on a first identity of the AR objects and selecting the second effect type based on a second identity of the AR background.
In yet embodiment thereof, displaying the at least one seismic effect on the AR background comprises generating an AR crack on the AR background.
In yet another embodiment thereof, displaying the at least one seismic effect on the AR objects comprises generating an AR crack on at least one of the AR objects.
In yet another embodiment thereof, displaying the at least one seismic effect on the AR objects comprises applying an AR oscillation on at least one of the AR objects.
In still another embodiment thereof, displaying the at least one seismic effect on the AR objects comprises breaking an AR object into two or more AR partial objects, wherein each of the AR partial objects is smaller than the AR object.
In still another embodiment thereof, breaking the AR object into two or more AR partial objects comprises selecting respective sizes for the AR partial objects such that a cumulative size of the two or more partial objects is equal to a size of the AR object.
In a further embodiment thereof, displaying the at least one seismic effect on the AR objects comprises generating an AR crack on the AR background.
In a further embodiment thereof, generating an AR crack on the AR background comprises adding dynamic shading to the AR crack simulating parallax effects based on point of view.
In a yet further embodiment thereof, the method further includes displaying a control for a seismic intensity as one of the at least one seismic characteristic.
In a fourth aspect, a non-transitory computer readable medium is provided for displaying an augmented reality (AR) representation of physical effects and property damage resulting from a parametric earthquake event. The non-transitory computer readable medium contains instructions that when executed cause a processor to scan, using one or more sensors of a user device, a scene in proximity to a user. The non-transitory computer readable medium also contains instructions that when executed cause a processor to identify a background and objects in the scene. The non-transitory computer readable medium further contains instructions that when executed cause a processor to create an AR background for the background of the scene and AR objects for the objects in the scene. The non-transitory computer readable medium further contains instructions that when executed cause a processor to display the AR background and the AR objects on the display of the user device In addition, non-transitory computer readable medium contains instructions that when executed cause a processor to receive at least one seismic characteristic from the user through the display of the user device. The non-transitory computer readable medium additionally contains instructions that when executed cause a processor to display at least one seismic effect on the AR objects and on the AR background in the scene displayed on the user device based on the at least one received seismic characteristic.
In one embodiment thereof, the background is a wall and the objects are picture frames.
In another embodiment thereof, the instructions when executed cause the processor to display the at least one seismic effect on the AR objects comprise instructions that when executed cause the processor to independently apply the at least one seismic effect on the AR objects and the AR background.
In yet embodiment thereof, the instructions when executed cause the processor to display the at least one seismic effect on the AR objects comprise instructions that when executed cause the processor to generate a crack on at least one of the AR objects.
In still another embodiment thereof, the instructions when executed cause the processor to display the at least one seismic effect on the AR objects comprise instructions that when executed cause the processor to break an AR object into two or more AR partial objects. A cumulative size of the two or more partial objects is equal to a size of the AR object.
In a further embodiment thereof, the instructions when executed cause the processor to display the at least one seismic effect on the AR objects comprise instructions that when executed cause the processor to generate a crack on the AR background.
In a yet further embodiment thereof, the instructions when executed further cause the processor to display a control for a seismic intensity as one of the at least one seismic characteristic.
In a fifth aspect, a user device is provided for displaying an augmented reality (AR) representation of physical effects and property damage resulting from a parametric earthquake event. The user device includes one or more sensors, a display, and a processor operably couple to the one or more sensors and the display. The one or more sensors are configured to scan a scene in proximity to a user. The display is configured to display the scene. The processor is configured to identify a background and objects in the scene. The processor is also configured to create an AR background for the background of the scene and AR objects for the objects in the scene. The processor is further configured to display the AR background and the AR objects on the display of the user device. The processor is further configured to receive at least one seismic characteristic from the user through the display of the user device. The processor is additionally configured to display at least one seismic effect on the AR objects and on the AR background in the scene displayed on the user device based on the at least one received seismic characteristic.
In one embodiment thereof, the background is a wall and the objects are picture frames.
In another embodiment thereof, the processor is further configured to independently apply the at least one seismic effect on the AR objects and the AR background.
In another embodiment thereof, the processor is further configured to apply the at least one seismic effect using a first effect type on the AR objects and using a second effect type on the AR background.
In yet another embodiment thereof, the first effect type is applying an AR oscillation and the second effect type is generating an AR crack.
In another embodiment thereof, independently applying the at least one seismic effect using a first effect type on the AR objects and using a second effect type on the AR background comprises selecting the first effect type based on a first identity of the AR objects and selecting the second effect type based on a second identity of the AR background.
In yet another embodiment thereof, displaying the at least one seismic effect on the AR background comprises generating an AR crack on the AR background.
In yet another embodiment thereof, to display the at least one seismic effect on the AR objects, the processor is further configured to generate an AR crack on at least one of the AR objects.
In still another embodiment thereof, to display the at least one seismic effect on the AR objects, the processor is further configured to break an AR object into two or more AR partial objects, wherein each of the AR partial objects is smaller than the AR object.
In still another embodiment thereof, to display breaking the AR object into two or more AR partial objects, the processor is configured to select respective sizes for the AR partial objects such that a cumulative size of the two or more partial objects is equal to a size of the AR object.
In a further embodiment thereof, to display the at least one seismic effect on the AR objects, the processor is further configured to generate an AR crack on the AR background.
In a further embodiment thereof, to generate an AR crack on the AR background, the processor is further configured to add dynamic shading to the AR crack simulating parallax effects based on point of view.
In a yet further embodiment thereof, the processor is further configured to display a control for a seismic intensity as one of the at least one seismic characteristic.
In a sixth aspect, a method is provided for displaying an augmented reality (AR) representation of physical effects and property damage resulting from a parametric earthquake event including a damage inventory and assessment. The method includes scanning, using one or more sensors of a user device, a scene in proximity to a user. The method also includes identifying a background and objects in the scene. The method further includes determining a number of the objects identified in the scene. The method further includes determining an area of the background identified in the scene. The method further includes creating an AR background for the background of the scene and AR objects for the objects in the scene. The method further includes displaying the AR background and the AR objects on the display of the user device. In addition, the method includes receiving at least one seismic characteristic from the user through the user device. The method additionally includes displaying at least one seismic effect on the AR objects and on the AR background in the scene displayed on the user device based on the at least one received seismic characteristic. The method further includes determining a seismic damage factor based on the at least one received seismic characteristic. The method further includes determining an estimated object damage amount for the objects identified in the scene based on the determined number of objects and the determined seismic damage factor. The method further includes determining an estimated structure damage amount for the background identified in the scene based on the determined area of the background and the determined seismic damage factor.
In one embodiment, determining an estimated object damage amount further includes assigning a respective initial value to each respective object identified in the scene, determining a respective final value for each object based a respective assigned value and the respective determined seismic damage factor, and totaling the respective differences between the respective initial values and the respective final values for all the respective objects.
In another embodiment, the method further includes displaying the estimated object damage amount to the user.
In yet another embodiment, determining an estimated structure damage amount further includes assigning an initial unit value to the background identified in the scene, determining a respective final unit value for the background based an assigned unit value and the determined seismic damage factor, and multiplying the differences between the initial unit value and the final unit value by the determined area of the background.
In still another embodiment, the method further includes displaying the estimated structure damage amount to the user.
In another embodiment, the method further includes categorizing each identified object into one of at least two predetermined object classes, wherein a first initial value is assigned to each of the objects categorized in the first predetermined object class, and a second initial value is assigned to each of the objects categorized in the second predetermined object class.
In yet another embodiment, the method further includes displaying to the user a list of the respective objects identified in the scene and the respective initial values, allowing the user to provide a respective custom value for each respective object, and replacing the respective initial value with the respective custom value as the respective assigned value used to determine the respective final value of the respective object.
In still another embodiment, the method further includes displaying to the user the initial unit value for the background, allowing the user to provide a custom unit value for the background, and replacing the initial unit value with the custom unit value as the assigned unit value used to determine the final unit value for the estimated structure damage.
In another embodiment, the method further includes creating a first list of objects identified in a first scene and their respective assigned values, creating a second list of objects identified in a second scene and their respective assigned values, and combining the first list and the second list into a consolidated object list including all the object identified in the first scene and in the second scene and their respective assigned values.
In yet another embodiment, the method further includes using the consolidated object list to determine a consolidated object damage value for all the objects identified in the first scene and in the second scene and displaying the consolidated object damage value to the user.
For a more complete understanding, reference is now made to the following description taken in conjunction with the accompanying Drawings in which:
Referring now to the drawings, wherein like reference numbers are used herein to designate like elements throughout, the various views and embodiments of method and systems for display of an electronic representation of physical effects and property damage resulting from a parametric natural disaster event are illustrated and described, and other possible embodiments are described. The figures are not necessarily drawn to scale, and in some instances the drawings have been exaggerated and/or simplified in places for illustrative purposes only. One of ordinary skill in the art will appreciate the many possible applications and variations based on the following examples of possible embodiments.
Referring to
The image recognition processor 106 can include or incorporate an image labeling or annotation tool (i.e., “labeling tool”). The labeling tool can be used to process and label the images for bounding box object detection and segmentation so that the image is readable by machines. In some embodiments, the labeling tool can utilize human assistance and in other embodiments the labeling tool can operate solely with machine learning or artificial intelligence processes. In some embodiments, different image labeling tools may be used for processing images of different image types (e.g., interior images, exterior images, etc.). Using the image labeling tools, the various objects in the provided image (e.g., user image 300, exterior image 1100, interior image 1700) can be labeled for specific purposes. In some embodiments, labeled objects can be selected for replacement by a computer graphic object (e.g., 2D sprite or 3D polygon), which can be moved on-screen and otherwise manipulated as a single entity, e.g., for purposes of event animation. In some embodiments, labeled objects may be classified into different types or categories of objects for different purposes. For example, in some embodiments, labeled objects can be categorized for properties relating to event animation, e.g., movable-type objects, bendable-type objects, breakable-type objects, waterproof-type objects, water damageable-type objects, etc. In other embodiments, labeled objects can be categorized for properties relating to inventory or damage assessment, e.g., table-type objects, chair-type objects, window-type objects, hanging art-type objects, TV/computer screen-type objects. Such classification may be performed by the image recognition processor 106 or by another processor, e.g., the system processor 102 or graphics animation processor 108. The image labeling tools can use known or future-developed detection techniques for detection of the object including, but not limited to, semantic, bounding box, key-point and cuboid techniques.
A seismic event database 112 is operably connected to the server 102, either via the communication network 104 or directly. The seismic event database 112 stores parametric seismic event data corresponding to one or more earthquakes or other seismic events. The parametric seismic event data can include, but is not limited to, values for the following parameters: event name, event date, event epicenter location, event focus (i.e., hypocenter) location, event duration, event magnitude, event PGA, event maximum shaking intensity (“SI”), event maximum ground amplitude, event mean ground amplitude, and event shaking frequency for each seismic event. The seismic events data in the seismic event database 112 may be actual historical earthquake data, “relocated” earthquake data (i.e., where the majority of the data corresponds to a historical earthquake, but the epicenter/hypocenter location is changed to a different location) or hypothetical earthquake data specified by a user or otherwise generated. In some embodiments, the seismic event database 112 can be located within the server 102 or one of the subsystems. In some embodiments, the seismic event database 112 can include data and/or values from public or private earthquake reporting agencies, such as the U.S. Geological Survey.
User devices 114, 115 can connect to the system 100 through the communication network 104. The user devices 114, 115 can be mobile devices such as mobile phones, tablets, laptop computers or they can be stationary devices such as desktop computers or smart appliances including, but not limited to, smart televisions. In some embodiments, aspects of the current system 100 may include downloadable software or “apps” resident on the user devices 114, 115 and/or non-downloadable software (e.g., “cloud based software”) that remains resident on the server 102 or other elements of the system 100 and is accessed by the user device 114 via a web browser or other network interface.
Using the user devices 114, 115, system users can upload images of actual property via the network 104 to the server 102. The images of actual property can be captured using a camera 116 on the first user device 114 or from images stored in memory 118, e.g., a computer memory, hard drive, flash drive or other data storage technology. The images can be video programs, audiovisual programs and/or single or multiple still photo images. User devices 114 can also transmit additional information to the server 102 regarding the images, including, but not limited to, the geographic location of the property in the images (either entered by the user as text, captured via GPS or wireless location information on the user device 114, or captured vis geotagging information on the image file), the address of the property in the images, the name and/or other contact information of the user, a desired parametric seismic event and/or desired seismic parameters to be used in creating a parametric seismic event. Desired seismic parameters can include strength of the seismic event, duration of the seismic event, etc. Each of the seismic parameters can be input on the user devices 114, 115 by any suitable means. For example, the seismic parameters can be input or selected using a predetermined list, a slider associated with different values of the seismic parameters, a knob, a number entry. The inputs can be physical components on the user device 114, 115 or virtual representations on a display 120 of the user device 114, 115.
The system 100 processes, using an image recognition processor 106, the received images and identifies one or more structures comprising the property. The system 100 retrieves parametric data regarding a designated seismic event from the seismic event database 112. The system 100 defines a key data pair corresponding to the specified geographic location and the designated seismic event. The system 100 determines key attributes relating the key data pair. The key attributes correlate to how the parametric seismic data changes for distant geographic locations (i.e., at a distance from the event). In some embodiments, the values of key attributes are determined based principles known in physics and/or geology including, but not limited to principles of seismic attenuation, resonant vibration and/or soil behavior factors. In some embodiments, the values of key attributes are determined based on seismic attenuation factors and the distance between the property and the event center. In some embodiments, the values of key attributes are determined based on resonant vibration factors, the shaking frequency of the event, and the mass and/or resonant frequency of structures. In some embodiments, the values of key attributes are determined based on soil behavior factors and the soil at the property location, the event center, and/or at intervening geological features. Some key attributes may vary in direct (i.e., linear) proportion to the distance between the geographic location of the property/structure and the seismic event center, whereas other key attributes may vary according to reciprocal square of distance, logarithmic decay of distance or other mathematical functions relating to the distance. In some embodiments, the values of key attributes are selected by a user. Other key attributes may vary depending on other factors such as intervening geological features rather than distance. The system 100 determines, using a computer such as the system processor 102, values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using all relevant key attributes. In some embodiments, multiple sets of values of the key attributes are predetermined. In this case, the system processor 102 prepare a plurality of videos each combination of key attributes for each value of the key attributes.
Referring now also to
The system 100 can determine key attributes associated with each key data pair. The key attributes can relate to factors that change the effect of the respective parametric seismic event of the key data pair on the respective geographic location of the same key data pair. As illustrated in
The system 100 produces images showing an electronic representation(s) for the one or more structures comprising the property moving in accordance with the deemed seismic action. In some embodiments, the electronic representation(s) of the structure can be produced using a graphics animation processor 108 and an image rendering engine 110. In some embodiments, the images comprise a video program showing an electronic representation(s) of the one or more structures moving with the deemed seismic action. In another embodiment, the images comprise an audiovisual program showing an electronic representation of the one or more structures moving with the deemed seismic action.
In some embodiments, the system 100 assigns to one or more of the identified structures a respective structure attribute. In some embodiments, the values of structure attributes are determined based principles known in physics and/or engineering including, but not limited to principles of vibrational loads, fatigue failure, strength of materials and construction methods and failure analysis. The system 100 determines values of deemed structure action for each respective structure by modifying the values of the deemed seismic action at the specified geographic location using the respective structure attribute. The system 100 produces images showing an electronic representation of the one or more structures moving in accordance with the deemed seismic action and as further modified by the deemed structure action. In some embodiments, the structure attribute is correlated to a determined mass of the structure. In other embodiments, the respective structure attribute is correlated to a determined resonant frequency of the structure. In some embodiments, the structure attribute is correlated the construction material of the structure. In some embodiments, the structure attribute is correlated the construction method type of the structure.
Referring now to
Referring now to
After producing the image of the electronic representations 400, 402, 404, 406, 408, 410, 412, and 414 of the one or more structures 302, 304, 306, 308, 310, 312, and 314 comprising the property moving in accordance with the deemed seismic action at the specified geographic location, the system 100 can transmit the images 400 back to the first user device 114 or to another user device 115 designated by the original request. The user can then view the electronic representation 400 using a display device 120.
In another aspect, a system 100 can receive images of property at a specified geographic location, processes, using an image recognition processor 106, the received images, identify one or more structures comprising the property and receive parametric data regarding a designated seismic event, all substantially as previously described. The system 100 can further define a key data pair corresponding to the specified geographic location and the designated seismic event, determine key attributes relating the key data pair, and determine, using a computer, e.g., processor 102, values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using the key attributes, again, all substantially as previously described. The system 100 can further determine a respective deemed damage corresponding to each structure based on the deemed seismic action. The system 100 produces images showing an electronic representation the one or more structures comprising the property modified with respective electronic representations of the respective deemed damage.
In some embodiments, the structure attribute used to determine the deemed damage is correlated to a determined mass of the structure. In other embodiments, the structure attribute is correlated to a determined resonant frequency of the structure. In still other embodiments, the structure attribute is correlated to a construction material of the structure. Thus, structures built with shake-resistant materials or building methods would have a different structure attribute than structures built with shake-damage prone materials or building methods.
Referring now to
After producing image 500 the electronic representation 400, 402, 404, 406, 408, 410, 412, and 414 of the one or more structures comprising the property modified to show the respective deemed damage associated with a parametric seismic event, the system 100 can transmit the images 500 back to the original user device 114′ or to another user device 114″ designated by the original request. The user can then view the electronic representation 400 using a display device 120.
The system processor 102 can include any suitable hardware processor, such as a microprocessor, and in some embodiments, the hardware processor can be controlled by a program stored in the memory and/or storage. The image recognition processor 106, graphics animation processor 108 and image rendering engine 110 can include any suitable hardware, and each can be optimized for graphics-intensive computing with the incorporation of one or more graphics processing units (GPUs). Communication interfaces for the processors 102, 106, 108 and rendering engine 110 can be any suitable network communication interface, but can be optimized in some embodiments for high speed data transfer between the graphics processing devices 106, 108 and 110.
Referring now to
Referring now to
Referring now to
As previously described, the system 100 can determine a respective deemed damage corresponding to each respective structure based on the deemed seismic action.
After modifying the wireframe representation 1200 of the original image to produce the damaged wireframe representation 1300, the system 100 can produce an electronic representation of the structure in accordance with the deemed damage level by rendering texture on the damaged wireframe representation. In some embodiments, the texture rendering for the electronic representation can be performed by the image rendering engine 110. Further, in some embodiments, the electronic representation of the structure can be further modified by replacing the original texture with an electronic representation of damage in the texture in accordance with the assigned level of deemed damaged (e.g., as described in connection with
Referring now to
Referring now specifically to
Summarizing some of the methods shown in
User selects type of video desired in EQV App, including, but not limited to: Inside of structure; outside of structure; yard; garage with car(s); pool (Block 1506). Optionally, user takes video of property with mobile device camera using EQV App (Block 1508). Additionally, a user can upload existing videos (Block 1510). Video is uploaded to EQV server/processor 1514 using EQV App (Block 1512).
The process continues as shown in
The user can select classifications or identify specific objects, such as a type of car in a garage (Block 1522). The classifications or identified specific objects can be uploaded to the EQV server/processor 1514 (Block 1524). The user can select scene dimensions and other characteristics, such as property square feet and/or value of a property (Block 1526). The scene dimensions and other characteristics can be uploaded to the EQV server/processor 1514 (Block 1528). The user can select additional scenario parameters (Block 1530). The additional scenario parameters can be uploaded to the EQV server/processor 1514 (Block 1532).
The process continues as shown in
The user device can receive a share link for one or more seismic damage video(s) (Block 1546). The user device can play the one or more seismic damage video(s) and views damage prediction (Block 1548). The user device can download the one or more video(s) to save and share to others using the share link (Block 1550).
Summarizing some of the methods shown in
Home interior video selected (Block 1606): Physics-based motion effects applied to video image of the interior structure during simulated event (Block 1608). Physics-based cracking effects applied to image of walls (Block 1610). Physics-based breakage effects applied to image of windows (Block 1612). Physics-based damage applied to image of ceilings (e.g., full or partial collapse) (Block 1614). Physics-based movement effects applied to image of furnishings (Block 1616).
The diagram continues in
The diagram continues in
The diagram continues in
Damage Predictors (optional): Real Property Damage Prediction can be performed (Block 1664); EQC Server/Processor determines approximate square feet of house and/or value of house from data source (public/private) based on GPS location from EQV App. (Alternative) User provides estimated real property value via EQV App. EQV Server/Processor calculated predicted value of real property damage for user-specified SI/PGA. Personal Property Damage Prediction can be performed (Block 1666). A share link can be generated for the videos (Block 1668).
The diagram continues in
EQV server/processor downloads processed video to user device 1680 on EQV App (Block 1672). (Optional) EQV server/processor downloads predicted value of real property damage (Block 1674) and/or personal property damage (Block 1676) to the user device 1680. The EQV server/processor can download a share link (Block 1678) to the user device 1680.
After receiving the processed video from the EQV server/processor, the user at user device 114 plays video or views still photos showing electronic representation of structure motion and/or structure damage in accordance with the parametric seismic event and the geographic location of the property comprising the structures. Optionally, the user views predicted damage values. User selects new video or new SI/PGA. Repeat process if desired with different images, different locations, different event types and/or different event parameters.
Summarizing some of the methods relating to Effects Modeling in accordance with additional aspects: Motion (shake) effects added to entire video image based on designated SI/PGA (i.e., speed and magnitude are appropriate for PGA). Damage effects applied based on polygon modeling, texture sampling and texture substitution. Object in video is selected. Object is digitized into original polygon model (shape) and sampled for original texture (color and pattern). Object's original polygon model is deformed to create damaged polygon model; amount of deformation is based on designated SI/PGA. Object's original texture is replaced by damaged texture comprising original texture interspersed with contrasting “feature texture” (e.g., can be specific to type of damage such as cracks, exposed lumber, missing shingles, etc.); proportion of feature texture mixed to original texture is based on designated SI/PGA. Damaged object image is formed from damaged polygon model covered with damaged texture. Original object image is then overlayed by damaged object image in video.
Referring now to
Referring now to
Referring now to
As shown in
Referring now to
The user interface 1800, shown in
Referring now to
As shown in
As shown in
The image recognition processor 1906 can include or incorporate an image labeling or annotation tool (i.e., “labeling tool”). The labeling tool can be used to process and label the images for bounding box object detection and segmentation so that the image is readable by machines. In some embodiments, the labeling tool can utilize human assistance and in other embodiments the labeling tool can operate solely with machine learning or artificial intelligence processes. In some embodiments, different image labeling tools may be used for processing images of different image types (e.g., interior images, exterior images, etc.). Using the image labeling tools, the various objects in the provided image can be labeled for specific purposes. In some embodiments, labeled objects can be selected for replacement by a computer graphic object (e.g., 2D sprite or 3D polygon), which can be moved on-screen and otherwise manipulated as a single entity, e.g., for purposes of event animation. In some embodiments, labeled objects may be classified into different types or categories of objects for different purposes. For example, in some embodiments, labeled objects can be categorized for properties relating to event animation, e.g., movable-type objects, bendable-type objects, breakable-type objects, waterproof-type objects, water damageable-type objects, etc. In other embodiments, labeled objects can be categorized for properties relating to inventory or damage assessment, e.g., table-type objects, chair-type objects, window-type objects, door-type objects, hanging art-type objects, TV/computer screen-type objects, etc. Such classification may be performed by the image recognition processor 1906 or by another processor, e.g., the system processor 1902 or graphics animation processor 1908. The image labeling tools can use known or future-developed detection techniques for detection of the object including, but not limited to, semantic, bounding box, key-point and cuboid techniques.
A seismic event database 1912 is operably connected to the server 1902, either via the communication network 1904 or directly. The seismic event database 1912 stores parametric seismic event data corresponding to one or more earthquakes or other seismic events. The parametric seismic event data can include, but is not limited to, values for the following parameters: event name, event date, event epicenter location, event focus (i.e., hypocenter) location, event duration, event magnitude, event PGA, event maximum shaking intensity (“SI”), event maximum ground amplitude, event mean ground amplitude, and event shaking frequency for each seismic event. The seismic events data in the seismic event database 1912 may be actual historical earthquake data, “relocated” earthquake data (i.e., where the majority of the data corresponds to a historical earthquake, but the epicenter/hypocenter location is changed to a different location) or hypothetical earthquake data specified by a user or otherwise generated. In some embodiments, the seismic event database 1912 can be located within the server 1902 or one of the subsystems. In some embodiments, the seismic event database 1912 can include data and/or values from public or private earthquake reporting agencies, such as the U.S. Geological Survey.
User devices 1914, 1915 can connect to the system 1900 through the communication network 1904. The user devices 1914, 1915 can be mobile devices such as mobile phones, tablets, laptop computers or they can be stationary devices such as desktop computers or smart appliances including, but not limited to, smart televisions. In some embodiments, aspects of the current system 1900 may include downloadable software or “apps” resident on the user devices 1914, 1915 and/or non-downloadable software (e.g., “cloud based software”) that remains resident on the server 1902 or other elements of the system 1900 and is accessed by the user device 1914 via a web browser or other network interface.
Using the user devices 1914, 1915, system users can upload images of actual property via the network 1904 to the server 1902. The images of actual property can be captured using a camera 1916 on the first user device 1914 or from images stored in memory 1918, e.g., a computer memory, hard drive, flash drive or other data storage technology. The images can be video programs, audiovisual programs and/or single or multiple still photo images. User devices 1914 can also transmit additional information to the server 1902 regarding the images, including, but not limited to, the geographic location of the property in the images (either entered by the user as text, captured via GPS or wireless location information on the user device 1914, or captured vis geotagging information on the image file), the address of the property in the images, the name and/or other contact information of the user, a desired parametric seismic event and/or desired seismic parameters to be used in creating a parametric seismic event. Desired seismic parameters can include strength of the seismic event, duration of the seismic event, etc. Each of the seismic parameters can be input on the user devices 1914, 1915 by any suitable means. For example, the seismic parameters can be input or selected using a predetermined list, a slider associated with different values of the seismic parameters, a knob, a number entry. The inputs can be physical components on the user device 1914, 1915 or virtual representations on a display 1920 of the user device 1914, 1915.
The system 1900 processes, using an image recognition processor 1906, the received images and identifies one or more structures comprising the property. The system 1900 retrieves parametric data regarding a designated seismic event from the seismic event database 1912. The system 1900 defines a key data pair corresponding to the specified geographic location and the designated seismic event. The system 1900 determines key attributes relating the key data pair. The key attributes correlate to how the parametric seismic data changes for distant geographic locations (i.e., at a distance from the event). In some embodiments, the values of key attributes are determined based principles known in physics and/or geology including, but not limited to principles of seismic attenuation, resonant vibration and/or soil behavior factors. In some embodiments, the values of key attributes are determined based on seismic attenuation factors and the distance between the property and the event center. In some embodiments, the values of key attributes are determined based on resonant vibration factors, the shaking frequency of the event, and the mass and/or resonant frequency of structures. In some embodiments, the values of key attributes are determined based on soil behavior factors and the soil at the property location, the event center, and/or at intervening geological features. Some key attributes may vary in direct (i.e., linear) proportion to the distance between the geographic location of the property/structure and the seismic event center, whereas other key attributes may vary according to reciprocal square of distance, logarithmic decay of distance or other mathematical functions relating to the distance. In some embodiments, the values of key attributes are selected by a user. Other key attributes may vary depending on other factors such as intervening geological features rather than distance. The system 1900 determines, using a computer such as the system processor 1902, values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using all relevant key attributes. In some embodiments, multiple sets of values of the key attributes are predetermined. In this case, the system processor 1902 prepares a plurality of videos each combination of key attributes for each value of the key attributes.
In certain embodiments, the images of actual property can be captured using a camera 1916 on the first user device 1914 or from images stored in memory 1918, e.g., a computer memory, hard drive, flash drive or other data storage technology. User devices 1914 can also store additional information regarding the images, including, but not limited to, the geographic location of the property in the images (either entered by the user as text, captured via GPS or wireless location information on the user device 1914, or captured vis geotagging information on the image file), the address of the property in the images, the name and/or other contact information of the user, a desired parametric seismic event and/or desired seismic parameters to be used in creating a parametric seismic event. Desired seismic parameters can include strength of the seismic event, duration of the seismic event, etc. Each of the seismic parameters can be input on the user devices 1914, 1915 by any suitable means. For example, the seismic parameters can be input or selected using a predetermined list, a slider associated with different values of the seismic parameters, a knob, a number entry. The inputs can be physical components on the user device 1914, 1915 or virtual representations on a display 1920 of the user device 1914, 1915.
The processor 1922 on the user devices 1914, 1915 can process the received images and identifies one or more structures comprising the property. The processor 1922 can retrieve parametric data regarding a designated seismic event from the seismic event database 1912 via the communication network 1904. The processor 1922 can define a key data pair corresponding to the specified geographic location and the designated seismic event. The processor 1922 can determine key attributes relating the key data pair. The key attributes correlate to how the parametric seismic data changes for distant geographic locations (i.e., at a distance from the event). In some embodiments, the values of key attributes are determined based principles known in physics and/or geology including, but not limited to principles of seismic attenuation, resonant vibration and/or soil behavior factors. In some embodiments, the values of key attributes are determined based on seismic attenuation factors and the distance between the property and the event center. In some embodiments, the values of key attributes are determined based on resonant vibration factors, the shaking frequency of the event, and the mass and/or resonant frequency of structures. In some embodiments, the values of key attributes are determined based on soil behavior factors and the soil at the property location, the event center, and/or at intervening geological features. Some key attributes may vary in direct (i.e., linear) proportion to the distance between the geographic location of the property/structure and the seismic event center, whereas other key attributes may vary according to reciprocal square of distance, logarithmic decay of distance or other mathematical functions relating to the distance. In some embodiments, the values of key attributes are selected by a user. Other key attributes may vary depending on other factors such as intervening geological features rather than distance. The processor 1922 can determine values of a deemed seismic action at the specified geographic location by modifying the parametric data for the designated seismic event using all relevant key attributes. In some embodiments, multiple sets of values of the key attributes are predetermined. In this case, the processor 1922 can prepare a plurality of videos each combination of key attributes for each value of the key attributes.
The user device 1914, 1915 can also include a storage device 1924. A memory and a persistent storage are examples of storage devices 1924, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The storage device 1924 may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The storage device 1924 may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.
The storage device 1924 can also include an AR plane manager application 1926, an AR mesh manager application 1928, and an AR camera manager application 1930. The processor 1922 can run the AR plane manager application 1926, the AR mesh manager application 1928, and the AR camera manager application 1930 for display or an electronic representation of physical effects and property damage resulting frame a parametric natural disaster event.
The AR plane manager application 1926, run using the processor 1922, can extract AR planes from a scene. The AR planes can be 3D planes that can be defined by a position, an orientation, and bounds. The AR planes can be rendered on a display 1920. The AR planes can also be classified into categories, such as wall, floor, ceiling, door, window, seat, table, none, etc.
The AR mesh manager application 1928 can mesh the Lidar point cloud in an AR wrapper. For example, the AR wrapper can be AR Foundation provided by Unity on platforms such as Apple iOS, such as iOS system ARKIT for Visual Inertial Odometry and 3D meshing, and Google Android. The 3D mesh consists of vertices, triangle definitions, and surface normal, as shown in
The AR camera manager application 1930 can provide a tracked six degree of freedom pose of a camera 1916 at every frame. The AR camera manager application 1930 can extract a camera image and camera parameters at each frame for computer vision applications.
Although
Specifically, in some embodiments, the system for display of an electronic representation of physical effects and property damage resulting from a parametric earthquake event can be provided in a stand-alone mobile device such as, but not limited to, a mobile phone, tablet or similar consumer electronic device. In such embodiments, the user device 1914 itself incudes the processor 1922, display device 1920, input device (e.g., touch screen), camera 1916 (including optical cameras and, optionally, Lidar or other distance sensors), image storage 1918 and storage device 1924. In such mobile device-based embodiments, the device 1914 may also include an image recognition processor 1906, graphics animation processor 1908 and/or image rendering engine 1910 implemented in hardware or software on the mobile device instead of, or in addition to, processors accessed remotely through a network 1904 and server 1902. In such mobile device-based embodiments, the device 1914 may also include a seismic event database 1912 stored in the memory device instead of, or in addition to, a seismic event database accessible via the network.
As shown in the scene generation subprocess 2002 of
The processor 1922 can also operate the camera 1916 to capture the wall, ceiling or floor as an orientation of the user device 1914 is rotate and moved around the room. One or more sensors of the user device 1914 can capture details for determining a camera pose for the camera 1916 as each frame of the wall, ceiling or floor is captured. The camera pose can be saved along with the Lidar information or each could be stored separately with a respective time stamp to match.
The processor 1922 can create a network mesh covering a scanned scene in operation 2008. In some embodiments, the network mesh can be a triangular mesh. In some embodiments, the network mesh can be a point cloud. In some embodiments, each surface or point of the mesh is determined based on a distance and/or orientation from an initial reference point. In some embodiments, each surface of the mesh is determined based on a distance and/or orientation from one or more planes in the scene. The network mesh can be determined based on a combination of the Lidar and the camera pose. In certain embodiments, the camera can be used in combination with the camera pose and other sensors on the user device 1914 to create the network mesh. The network mesh can be formed using one or more shapes, such as a triangular mesh.
The processor 1922 can select a texture for an AR background in operation 2010. The texture can be based on an image of the scene captured by the camera 1916. The processor 1916 can analyze the image and determine a texture for the AR background. Different types of textures that can be selected could include color, pattern, etc. The AR background can have one or more textures that can be selected. In certain embodiments, the camera can process an image of a wall in a room and determine a color and pattern for the wall to be used for the texture of the AR background to simulate the color and pattern on the actual wall. Alternatively, the texture of the AR background can be preselected on a user device, selected at the time of mesh generation, or read from a default setting in the memory. While a texture close to the actual background of the scene is preferable in some embodiments, a texture that is different from the background can be chosen in some instances to more clearly distinguish the AR background from objects in the scene.
The processor 1922 can put the selected texture on the AR background in operation 2012. Once the texture is selected based on operation 2010, the processor 1922 can build a mesh for a point cloud or a mesh for a 3D depth image as triangle definitions. The selected texture can be viewed on the display 1920 overlaid as texture on the generated mesh. This mesh is virtually placed in the scene on top of the background currently captured by the camera 1916 of the user device 1914. A dimension (e.g., depth or distance from the camera) for the background captured from the camera 1916 can be determined and the selected texture can be implemented in front of or behind physical objects in the scene where the background may be not visible. Using the depth value associated with each pixel in the background, the generated mesh with the selected texture can be placed relative (in front of/behind) to the objects in the background. This can be used to selectively hide or show objects in the scene.
The processor 1922 can replace an actual object in the scene with a corresponding AR shape (i.e., AR object) and at a corresponding location in the scene in operation 2014. Objects in the scene can be identified in front of the background. Objects in the scene may include, but are not limited to, all types of furnishings and personal property within residence or building such as tables, chairs, sofas, lamps, cabinets, chests, desks, books, bookcases, shelves, beds, stoves, ovens, microwave ovens, dishes, cups, glasses, window curtains, window blinds, pictures, artwork, clocks, vases, rugs, carpets, televisions, radios, electronic equipment (collectively “furnishings”). In some embodiments, the objects in the scene can be identified by evaluating the previously-created mesh for specific predetermined patterns. Such predetermined patterns may include, but are not limited to, mesh contours, mesh contour borders, mesh flatness, mesh depth from background (e.g., distance in front of the wall), mesh orientation from background (e.g., angle to wall). Such predetermined patterns may be stored in the memory 1924 of the user device 1914. In some embodiments, identified objects in the scene may be classified into one or more categories of like objects. In some embodiments, the method may allow the user to confirm whether the classification of the identified object in the scene is correct. In some embodiments, the user may be able to edit the classification of an identified object. The processor 1922 can determine dimensions, orientation, and position within the scene for each detected object. The processor 1922 can use the dimensions of the object to create a corresponding AR shape and use the orientation and position within the scene for placing the AR shape as an overlay for the object in the display 1920. The AR shape can correspond to a 3D representation of the object. The processor 1922 can extract and layout an actual image of the object in operation 2016. The processor 1922 uses the camera 1916 to capture one or more fames and can identify the object in the image frame using the position information to identify the object scene. The portion of the image frame corresponding to the position of the object can be extracted. The extracted portion of the image can be overlaid on the 3D shape as a virtual representation of the object. The virtual representation of the object refers to the 3D shape with the actual image overlaid. The actual image and the 3D shape can be manipulated as the virtual representation of the object.
For example, in one embodiment the operation 2014 may evaluate the mesh, identify an object in a scene, and then classify the object into a category of like objects, e.g., a framed artwork (i.e., “picture”), by evaluating one or more predetermined patterns in the mesh such as: a) rectangular shape, i.e., mesh face bounded by four straight contour lines; b) flatness, i.e., mesh face at a substantially constant (i.e., within a preselected tolerance) distance above the underlying background plane; c) shallowness, i.e., average distance of face mesh above the underlying background plane is within a preselected tolerance; and/or d) frame presence, i.e., presence of a substantially constant (i.e., within a preselected tolerance) mesh color around the edges of the object. In some embodiments, the method may request user confirmation that the object is correctly classified as a framed artwork. Once the object is identified as framed artwork, the processor 1922 can use the dimensions of the actual object to create a corresponding AR shape with the characteristics of a framed artwork. The processor 1922 may use the orientation and position of the actual object within the scene for initially placing the AR framed artwork as an overlay for the actual framed artwork in the display 1920. In other words, the AR object, in this case a rectangle, may be initially displayed in front of the actual object in the view shown on the display 1920. The AR background may be modified to extend over the area coinciding with the actual object in the view shown on the display 1920. A photo image of the actual object may be applied as a texture to the surface of the AR shape. Thus, the AR shape may initially appear to the user as the same shape and position of the actual object. The processor 1922 can subsequently move the position of the AR framed artwork on the display screen 1920 and the image of the actual framed artwork will be obscured by the AR background so that it is not visible on the display screen. In this manner, the AR framed artwork will appear to the user observing the display screen 1920 to be the actual framed artwork, but the AR framed artwork can be manipulated by the processor 1922, e.g., to move, to oscillate, to fall and/or to break, despite the fact that the actual framed artwork remains unmoved and intact.
As shown in the simulation subprocess 2004 of
The processor 1922 can generate simulated (e.g., AR) seismic activity for the scene in operation 2020. The AR seismic activity can be shown to the user through the display 1920 of the user device 1914. The AR seismic activity can cause the portion of the AR background that is currently visible to shift in the frame of view on the display 1920. The edge of the background can be moved in and out of the frame in the display according to the one or more slider values.
The processor 1922 can display simulated (i.e., AR) cracks in the AR background shown on the display 1920 based on the slider value in operation 2022. In some embodiments, the processor 1922 can dynamically generate AR cracks in the AR background during a simulated seismic event, i.e., the cracks may grow in length or width as the seismic event progresses. In some embodiments, the processor 1922 can create a random number of AR cracks with varying paths, widths and/or depths based on the slider value in operation 2022. In some embodiments, the processor 1922 can generate AR cracks featuring parallax shading to give the cracks the appearance of three-dimensional depth and width based on the point of view. The selected intensity of the simulation can be a factor for the crack generation. The crack generation can also be determined based on an amount of time that has passed and/or a total time of the simulation. For example, additional cracks may be formed as the time of the simulated seismic activity continues. In addition, the dimension of the cracks can change over time and based on the factors of the seismic activity.
In operation 2024, the processor 1922 can move or manipulate an AR object (i.e., the virtual representation of the object) shown on the display 1920 during a simulation of a seismic event. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on one or more seismic characteristics input by the user or received from the system. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on the category of like objects into which the object has been classified. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on specified or sensed characteristics of the AR object including, but not limited to the object's mass, size and/or material. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to the AR object by applying a combination of the factors described above. Types of movements of the AR object that may be applied by the processor 1922 and shown on the display 1920 include, but are not limited to, translation, rotation, oscillation, falling and rolling. Type of manipulations of the AR object that may be applied by the processor 1922 and shown on the display 1920 include, but are not limited to, cracking, breaking, burning, leaking, sparking and soiling. For example, if an object in the scene is classified as a type of object that may be manipulated with “oscillation,” the processor 1922 can show the AR object swinging back and forth about a hinge point during the seismic event, and the magnitude of the swinging may be selected based on a seismic characteristic set by the slider value and/or on a characteristic of the object, such as its size. The virtual representation of the object can swing in relation to the background of the scene. In addition, if there are multiple AR objects in a scene, each virtual representation may swing independently from other virtual representations. In certain embodiments, a virtual representation of a picture frame can swing on a wall. While the virtual representation is swinging, the actual object is obscured by the wall set as a background in order for the swinging motion to not be disrupted by the actual picture frame.
In operation 2026, the processor 1922 can apply secondary manipulation types to the AR objects during a simulation of a seismic event. A secondary manipulation can be any manipulation that is applied only when predetermined conditions are met during a simulated seismic event. For example, if the AR object has a primary manipulation type of “oscillation” during a seismic event, the AR object may have a secondary manipulation type of “fall” if the magnitude of the shaking exceeds a preselected level, or if the shaking duration exceeds a preselected period. Thus, the processor 1922 will initially show the AR object oscillating (i.e., swinging) during a simulated seismic event, but will only show the AR object falling if the preselected conditions are met. If the preselected conditions are not met, the AR object will continue swinging according to the primary manipulation type. In some embodiments, the processor 1922 may show the virtual representation of the object fall to the floor based on a highest slider value in operation 2026. The virtual representation of the object can realistically drop to the floor using standard physics for a falling motion of the virtual representation. When the virtual representation of the object reaches another object or a ground level, the virtual representation can react with the other object or the ground level. For instance, a force could be applied to the other object based on the virtual representation dropping to the floor. The virtual representation can break or crack by the processor 1922 dividing the virtual representation into two or more part virtual representations. For instance, a picture frame can reach the ground level and cause a crack through the picture frame creating two separate parts of the picture frame. The two parts of the picture frame may operate independently for a remaining time of the simulation.
The virtual representation and background can be shaken independently. For example, a first picture frame can move independently from a second picture frame and a wall. The processor 1922 can create a set of parent coordinate transforms in an application, such as Unity. The parent transform can be an intermediate coordinate system between the world coordinate and children coordinates. The processor 1922 can set all sub-meshes from all regions that have a first face classification, such as “floor”, to a first transform (also referred to as a parent transform) and all sub-meshes from all regions that have a second classification, such as “wall”, to a second transform (also referred to as a child transform). The processor 1922 can set meshes that belong to a plane selected by a user as well as a plane with render cracks to a third transform. The processor 1922 can apply separate random shaking to each of the parent transforms in order to simulate differently classified virtual objects. Parent meshes ensure that a position of the sub meshes with respect to the parent transform remain constant. However, the position of the parent transform with respect to the world is allowed to change. This allows all meshes assigned to a common classification to move together.
The shaking and falling of objects, such as picture frames, can be performed by implementing Rigid body mechanics using a physic engine, such as but not limited to Unity Physics Engine, which is a standard game engine functionality provided by Unity. The standard game engine can simulate accelerations, connections, joints, and collisions between virtual objects. The selected wall plane and each picture frame can be assigned rigid body functionalities, which allows the objects to interact with each other in forms such as collisions, forces, constraints, and accelerations. The physics engine can provide functions that allow rigid bodies to relate to each other in a form of constraints. The physics engine can then iteratively solve multi-body simulation to give a position of the rigid bodies given the current position, constraints, and external forces/accelerations. The overall steps for this procedure can include (1) assigning rigid body functionalities to various identified AR objects in the scene, (2) adding constraints, such as joints, links, etc. between the instantiated virtual objects, and (3) adding acceleration or movement to one or more AR objects.
Although
The processor 1922 can scan planes in a scene in operation 2102. The planes can be converted to AR planes by the AR plane manager application 1926. The scanning of the planes can be performed by a Lidar sensor and a camera sensor. While the planes are scanned, other sensors on the user device 1914 can detect different information to be used with lidar information and camera information. Details of the AR plane can include position information, orientation information, bound information, etc. The planes can be classified by the AR plane manager application 1926. Non-limiting examples of classifications of the planes can include wall, floor, ceiling, door, window, none, etc.
The processor 1922 can select one or more planes to simulate an earthquake in operation 2104. The plane can be selected based on a current frame captured by the camera, selected by a user, etc. In certain embodiments, the planes can be selected based on a number of objects associated with the plane, between the camara and the plane, etc.
The processor 1922 can activate an AR mesh manager application 1928 in operation 2106. The AR mesh manager application 1928 can manage network meshes generated by the user device 1914. The AR mesh manager application 1928 can create, update, and/or remove virtual objects in response to the environment.
The processor 1922 can scan for meshes in operation 2108. The AR mesh manager application 1928 can be used to manage, store in memory, or perform operations on the meshes scanned by the processor. The meshes can be defined and/or categorized by the AR mesh manager application 1928 as belonging to various object classes such as but not limited to wall, floor, door, window, seat, none, etc. Meshes can be associated with objects in the scene in addition to a background. For example, meshes can be defined as part of a wall and part of one or more picture frames on the wall.
The processor 1922 can activate an AR camera manager application 1930 in operation 2110. The AR camera manager application 1930 can provide texture information and light estimation information. The AR camera manager application 1930 can also provide camera calibration parameters such as focal length, principle point, etc. The AR camera manager application 1930 can extract a camera image and camera parameters (such as camera pose parameters).
The processor 1922 can set global variables for the earthquake and also data extracted from the scanning process in operation 2114. The global variables can be received from a user selection on the display 1920 or input of the user device 1914. Non-limiting examples of the global variables can include seismic intensity, seismic duration, direction of seismic origin, etc. The global variables can also include variables associated with the selected plane, meshes that are not associated with the plane, meshes that are associated with the plane, virtual representations of object, etc.
The processor 1922 can extract a color of a selected plane in operation 2116. In certain embodiments, the user device 914 can receive an input from a user for selecting a color of the selected plane, such as a tap on the display 1920 of the user device 1914. The AR camera manager application 1930 can provide a camera image and the processor 1922 can determine a location in the camera image corresponding to a location of the tap on the display 1920. The processor 1922 can determine a color at the location in the camera image to extract. In certain embodiments, the processor 1922 can extract a color based on other factors, such as but not limited to color at user tap position, an average color of the wall, a pattern on the wall, etc.
The processor 1922 can set a color for a mesh according to the extracted color in operation 2118. The AR camera manager application 1930 and/or processor 1922 can take the extracted color and apply the color to the mesh corresponding to the background of the scene. In certain embodiments, the AR camera manager application 1930 can apply the extracted color to a wall in a room.
The processor 1922 can extract object suggestions from the mesh in operation 2120. The processor 1922 can identify meshes corresponding to one or more objects in the scene. The meshes of different objects in the scene can overlap and the processor 1922 can distinguish different objects using the AR camera manager application 1930.
The processor 1922 can extract objects from the mesh belonging to a selected scene in operation 2122. Meshes that are not assigned to one or more of the planes, backgrounds, walls, etc. can be determined by the processor to be objects. The objects can be individually processed by the processor 1922 for details of the objects, such as dimensions, orientation, position, etc. The extraction of the objects from the mesh is described in greater detail corresponding to the
The processor 1922 can extract images for an object in a camera frame in operation 2124. The processor 1922 can extract one or more camera images supplied by the AR camera manager application 1930. The camera images can be continuously captured based on movement of the AR camera in order to capture the object from different angles. In certain embodiments, the processor 1922 can capture camera images including one or more picture frames.
The processor 1922 can determine that vertexes of the objects are clearly visible in the camera frame in operation 2126. Using the AR camera manager application 1930, the processor 1922 can identify each vertex of an object shown in the camera image. Camera images where the object is only partially visible can be skipped or used for clearly identified vertexes.
The processor 1922 can extract an image corresponding to the object in operation 2128. The details of the objects can be used by the processor 1922 to identify an actual object in the camera image and extract a partial image for the actual object. For example, the processor 1922 can identify a picture frame in one or more camera images and make sure that all the corners of the picture frame are clearly visible in each camera image. The extraction of the image corresponding to the objects is described in greater detail corresponding to the
The processor 1922 can instantiate selected objects in operation 2130. The processor 1922 uses the AR camara manager application to overlay the actual image of the object over the corresponding meshes associated with the object in the AR scene. For example, an actual image of a picture frame can be overlaid over meshes associated with the picture frame.
Although
The AR wall plane that was selected during the plane scan process provides information such as plane position and orientation, plane boundaries in a plane space coordinate, and a 3D parametric plane equation [a, b, c, d] such that ax+by +cz+d=0 for all 3D points [x, y, z] that lie on the plane.
Using this information, the processor 1922 to perform operation 2112 uses a function to separate mesh points from belonging to a room plane and not belonging to the room plane, depending on whether the points satisfy the following conditions. (1) Points can be at most 0.1 m from a plane surface. Therefore, the at most absolute value of distance of a point [x1, y1, z1] to plane [a, b, c, d] is less than 0.1 m. (2) The point, lies within the plane boundaries to check if a point lies inside the plane boundaries. First transform the point from world space to plane space. Let x_W=[x1, x2, x3] be the point in world space and x_P=[xp1, xp2, xp3] be the point in plane space, R_p be the rotation matrix of the plane in world space, and P=[P1, P2, P3] be the position of the plane in world coordinates. Then the transformation shown in equation 1 holds and the inverse transformation is shown in equation 2.
x_W=R_p*x_P+P (1)
x_P=Inverse(R_p)*(x_W−P) (2)
(3) The processor 1922 can check whether the point in plane space x_P lies inside the boundaries of the plane. The y coordinate of the point can be dropped in order to obtain a corresponding 2D coordinate of the point in the plane space. i.e. x_P=[xp1, xp2, xp3] [xp1, xp3] in the 2D plane space, since the normal of the plane is the local y axis. (4) Finally to find out whether the point x_P belongs to the plane or outside the plane, the processor 1922 can compute the Winding Number for the points. If the winding number of the point does not equal to 0, then the point lies inside the plane boundaries. If the winding number of the point equals 0, the point lies outside the plane boundaries.
Although
The processor 1922 can use a modified version of the union find algorithm with path optimization to determine the bounds 2306 of the disjointed meshes. The union find algorithm was originally designed to solve Kruskal's minimum spanning tree algorithm. The main goal of the union find algorithm is to have an efficient method of extracting and storing disjoint sets of nodes in a tree. The processor 1922 can find the disjoined meshes 2306 of vertices inside a mesh that belongs to the class “none”. As a non-limiting example, two picture frames exist inside of a single Mesh definition and need to be separated into two sub-meshes. The processor 1922 can use union operation to group two nodes into a single group and a find operation to find a parent of the group to which a node belongs to. This method can be adapted by assigning nodes to each vertex 2204-2210 in the mesh as a node and use the triangle definitions as union operations as shown in
As shown in
Although
The crack creation algorithm 2400 can utilize UV mapping 2402 to project the shader algorithm 2404 onto the chosen mesh. The UV mapping algorithm 2402 is described in greater detail in
The crack creation algorithm 2400 can utilize a mesh 2408 and a camera image 2410 to form pseudo 3D cracks on a plane. The crack creation algorithm 2400 can obtain mesh information such as UV coordinates and normal (x, y, z) vectors 2412 from the chosen mesh 2408. The camera image 2410 can include other details, such as camera pose information, that can be used to determine a view direction 2414 that is applied in the parallax occlusion mapping (POM) pass.
Voronoi noise is a noise function that utilizes distance functions between tiled points to obtain consistent cell like boundaries and spaces. To create a randomized domain of the Voronoi noise, the Voronoi noise pass algorithm 2405 can choose a random seed that connects to multiple randomizers. For example, the random seed can be chosen based on a time in the application. The randomizers can take a standardized UV input (linear gradient from 0-1 on x and y axis) and offset/scale the standard UV coordinates (0-1) randomly in order to generate different variations of noise for displacement. To obtain more vertical or horizontal cracks, the scaling of the UV coordinates can be adjusted separately. These UV values are plugged into two Voronoi noise generation subshaders, a subshader used for the U values 2504 (X-axis) and a subshader used for the V values 2506 (Y-axis). The two subshaders can be centered around 0 (−0.5 to 0.5) and combined into a single image consisting of U displacement on a red channel and V displacement on a green channel. The processor 1922 can use a multiply value to scale a displacement and/or distortion amount to be applied to the main Voronoi generation. The displacement/distortion amount can be added to an initial UV coordinate of the mesh geometry in a process known as domain warping. This warped UV space is then plugged into a final Voronoi subshader as the UV input. The processor 1922 can clamp the output using a smoothstep function to create sharp cell-like edges. This is saved into the memory via a custom render texture feature from Unity.
The custom render texture algorithm 2418 can allow an output of a shader to be saved into a texture and passed to various locations with Unity and allow for multiple passes. Within the crack plane creation script 2400, the Voronoi depth shader can be called with desired parameters to render into a texture via the custom render texture algorithm 2418.
The texture from the custom render texture algorithm 2418 can be used as an input to the parallax occlusion mapping (POM) pass algorithm 2406. The POM pass algorithm 2406 can apply shader to a mesh material 2416 as a final output to be shown with the display.
Although
The processor 1922 can hold the UV blocks 2502 as a steady size. Therefore, a number of UV blocks 2502 is proportional to a size of the wall and, as the wall size increases, more UV blocks 2502 are utilized. UV blocks 2502 can be normalized between 0 and 1 in order to keep a constant aspect ratio. To normalize, an absolute value of the minimum value for the U value 2504 and V value 2506 to the actual values of the U value 2504 and the V value 2506 for each UV block 2502. The actual values of the U value 2504 and the V value 2506 for each UV block 2502 can be divided by a maximum value between the U values 2504 and the V values 2506. For example, the maximum value for the U value 2504 is 3.0 and for the V value 2506 is 2.0, which means the maximum value used to divide with is 3.0 resulting in a normalized UV table 2508 of normalized UV blocks 2510.
Although
The Voronoi noise pass algorithm 2405 can generate a usable seamless distance function by searching neighboring cells 2610. The processor 1922 can calculate a distance from each pixel to a nearest point either in a respective cell or a neighboring cell. This distance calculation is performed to determine a minimum distance to a point from the current pixel across all searched cells. The neighbor cell distance function 2602 is shaded to reflect this distance calculation for each pixel to the closest point in any cell, as shown in
As shown in
Although
The user device 2704 can include a display 2720, one or more sensors 2722 (e.g., optical camera, time of flight camera, etc.), and one or more physical inputs 2724 (e.g., buttons, switches, etc.). The user device 2704 can use a scan area 2723 one or more sensors 2722 to scan the scene 2702 and detect the background (e.g., wall 2706 and floor 2708) and objects (a window 2710, a first picture 2712, a second picture 2714, a chair 2716, and a rug 2718). The user device 2704 can create virtual or AR representations of the scene 2702 and present representations on the display 2720. For example, the display 2720 shows an AR wall 2726, an AR floor 2728, an AR window 2730, an AR first picture 2732, an AR second picture 2734, an AR chair 2736, and an AR rug 2738 corresponding to the respective backgrounds 2706 and 2708 and objects 2710-2718.
The AR backgrounds and AR objects can have characteristics individually determined applied during and/or after the scanning process. For example, a weight, material, roughness factor, etc. can be estimated for an AR object. The characteristics can be used for each manipulation of the AR background and the AR objects. In certain embodiments, a value can be assigned to each of the AR backgrounds and the AR objects. The value can be based on a purchase value, an actual value, an input value, a replacement value, etc. The values can be stored in a table, such as inventory table 2800 shown below in
Values for damage can be determined based which of the following AR effects are applied to a respective AR background or AR object. The values for damage can be based on a repair value, a replacement value, etc. The values for damage can be calculated based on an estimated amount of damage and for an amount of damage exceeding a threshold, an AR object can be considered fully damaged or destroyed. The values for damage can be saved in the table in the memory of the user device 2704. The damage values can be shown on the respective AR background or AR object that receives the damage. The damage values can disappear after a period of time or selection from a user. The damage values can include a total damage for the seismic activity applied to AR representation of the scene 2702.
As shown in
The display 2720 can apply a vibration or shaking effect 2746 to an AR background or an AR object, such as the AR wall 2726 and the AR floor 2728. The shaking effect 2746 can be applied equally to the AR backgrounds or can be applied stronger or weaker to the specific AR backgrounds. The shaking effect 2746 applied to the AR background can be additionally applied to each of the AR objects in a manner of equal characteristics or reduced effectiveness characteristics. The reduced effectiveness characteristics can include lower shaking intensity transferred from the background, lower resistance (increased duration of shaking), etc. An amount of the vibration for the AR background or AR object can be controlled based on the input 2744 to the seismic attribute control 2740.
The display 2720 can apply a cracking effect 2748 on an AR background or an AR object, such as the AR wall 2726. The cracking effect 2748 can cause a 3D crack to form in the AR background. The 3D crack can be viewed from different angles to show a depth to the 3D crack. The cracking effect 2748 can include a 3D crack that extends from a first AR background to a second AR background. For example, the cracking effect 2748 can begin on the AR wall 2726 and extend to an AR ceiling, an AR second wall, and/or the AR floor 2728. A 3D crack on an AR background, such as the AR wall 2726, can extend behind and hidden an AR object to continue extending past the AR object in view on the display 2720. A size and growth rate for the 3D crack on the AR background or AR object can be controlled based on the input 2744 to the seismic attribute control 2740.
The display 2720 can apply a swinging effect 2750 to an AR object, such as the AR first picture 2732. The swinging effect 2750 can cause the AR object to shake similarly to the AR background contacting the AR object due to a fixed pendulum that the swinging occurs about. The swinging effect 2750 on the AR object can include a translation component equal to the vibration or shaking effect 2746 of the AR background. A swing rate for the swinging of AR object can be controlled based on the input 2744 to the seismic attribute control 2740.
The display 2720 can apply a falling effect 2752 to an AR object, such as the AR second picture 2734. The falling effect 2752 can move the AR object separately from the AR background and other AR objects. The falling effect 2752 can be based on gravity for controlling a falling rate and/or a falling speed. The falling effect 2752 can use an estimated or determined weight of the AR object to determine a force that could be applied to other AR objects and/or AR backgrounds. A timing for the falling of AR object can be controlled based on the input 2744 to the seismic attribute control 2740.
In certain embodiments, a secondary effect can be applied to an AR object, such as the AR second picture 2734. For example, a falling effect on an AR object causes the AR object to forcefully contact an AR background, such as the AR floor 2728, or another AR object, such as the AR chair 2736. A secondary effect of the falling effect could be a breaking effect 2754. The display can apply the breaking effect 2754 to the AR object, such as the AR second picture 2734. Other examples of secondary effects can include, a bouncing effect, a ricochet effect, a merge effect, striking effect, etc.
The breaking effect 2754 can cause the AR object to split into multiple AR partial objects. Each of the multiple AR partial objects can be smaller than the AR object before the split. In certain embodiments, the multiple AR partial objects can collectively be approximately equal to the broken AR object. An amount of AR partial objects can be based on an original size of an AR object, a force applied to the AR object during simulation from one or more other AR effects, etc.
A shatter effect 2756 can cause an AR object to have multiple AR partial objects splits from a main AR object, such as AR window 2730 or an AR mirror. The shatter effect 2756 can be a primary effect from the seismic damage or a secondary effect from another AR object forcefully interacting with the original AR object. For example, the AR window 2730 can shatter due directly to the vibrations from a seismic event or from an AR object, such as the AR second painting 2734 or generation of a random AR object, such as an AR branch of a tree, an AR power line, etc., falling through the AR object, such as AR window 2730.
Although
The object number 2802 can be an ordered number assigned for an object. The object number 2802 can be a unique number for the scanned scene. In certain embodiments, objects in different scenes are given unique object numbers 2802 for any scene that the user device has captured. In certain embodiments, object numbers 2802 can be unique for a specific location. In certain embodiments, each location can have object numbers 2802 assigned as series. For example, the object number 2802 can be four digits and the first two digits are assigned a grouping of scenes and the second two digits are assigned in order for each scene.
The object category 2804 can be a general narrative for the identified object. In order to determine an object category 2804, the user device can compare the captured image to a database of standard objects. In certain embodiments, the identification of the object can be performed by a server sent an image, video, or point cloud of the identified object. The object can be identified by any standard object identification method. The object category 2804 can be identified by the user primarily or secondarily after one or more of the user device and a remote server cannot match a description to the object. The object category 2804 can also provide a fragility characteristic of the object. For example, a vase on a table could provide a description of warning regarding possibility of destruction, damage, secondary damage, etc.
The initial value 2806 can be determined for each of the scanned objects. The processor 1922 can determine an initial value 2806 based on the object category 2804. The initial value 2806 can be a value of an object determined by the user device or the remote server. The initial value 2806 could be a minimum value, a medium value, a mean value, a maximum value, etc. The initial value 2806 could be a wholesale value, a purchase value, a market value, a replacement value, etc.
The custom value 2808 can be input by a user. A prompt could be provided to the user after an AR object is selected for generation on the display. The user could input the custom value 2808 using the physical buttons. The user could provide the custom value 2808 by scanning a barcode or other visual code for identifying an object. In certain embodiments, the custom value 2808 can be entered on another remote user device.
The assigned value 2810 is the value used for totaling a total value of items in a scene. The assigned value 2810 can be determined based on whether a value is entered in the custom value 2808. For example, the assigned value 2810 can be the custom value 2808 when a value is entered for the input value 2808 or the custom value 2808 is greater than 0. The assigned value 2810 can be the initial value 2806 when the custom value 2808 is not entered or the custom value 2808 is approximately equal to 0 or an insignificant value compared to the initial value 2806.
The damage factor 2812 can be a factor related to damage of the object. The damage factor 1812 can be determined based on a threshold level earthquake, a historic level earthquake (for a region), a maximum earthquake, or an earthquake controlled on the display by the user. The damage factor 1812 can be a factor related to an object being considered totally destroyed or a factor of damage where an object is considered destroyed. The damage factor 1812 could be a factor related to a chance that an object is destroyed in an average or low damage producing earthquake. In certain embodiments, a scene 2702 can be scanned following an actual earthquake and the damage factor 2812 can reflect an amount of actual damage of the identified objects. The damage factor can be determined based on the seismic effects applied to the specified object.
The damage value 2814 is a value for the amount of damage cause by the seismic event. The damage value 2814 can be determined based on the seismic effects applied to the specified object. The damage value 2814 can be determined by multiple the assigned value 2810 by the damage factor 2812.
As shown in
The background number 2816 can be an ordered number assigned for a background. The background number 2816 can be a unique number for the scanned scene. In certain embodiments, background in different scenes are given unique background numbers 2816 for any scene that the user device has captured. In certain embodiments, background number 2816 can be unique for a specific location. In certain embodiments, each location can have background number 2816 assigned as series. For example, the background number 2816 can be four digits and the first two digits are assigned a grouping of scenes and the second two digits are assigned in order for each scene. The background numbers 2816 can also be unique from the object numbers 2802.
The background category 2818 can be a general narrative for the identified background. In order to determine a background category 2818, the user device can compare the captured image to a database of standard backgrounds. In certain embodiments, the identification of the background can be performed by a server sent an image, video, or point cloud of the identified background. The background can be identified by any standard background identification method. The background category 2818 can be identified by the user primarily or secondarily after one or more of the user device and a remote server cannot match a description to the background.
The background area 2820 is an area of the background in the scene. The processor 1922 can determine the background area 2820 during the scanning process. A time of flight camera can capture edges of a background, such as a wall, and calculate a total size for the background area 2820. The background area 2818 can be any standard measurements units.
The initial unit value 2822 can be determined for each of the scanned backgrounds. The processor 1922 can determine an initial unit value 2822 based on the background category 2818. The initial unit value 2822 can be a value per measurement unit of the background area 2820. The initial unit value 2822 can be a value of a background determined by the user device or the remote server. The initial unit value 2822 could be a minimum value, a medium value, a mean value, a maximum value, etc.
The custom unit value 2824 can be input by a user. A prompt could be provided to the user after an AR background is selected for generation on the display. The user could input the custom unit value 2824 using the physical buttons. The user could provide the custom unit value 2824 by scanning a barcode or other visual code for identifying a background. In certain embodiments, the custom unit value 2824 can be entered on another remote user device.
The assigned value 2826 is the value used for totaling a total value of items in a scene. For the background assigned value 2826, the value is a total of the initial unit value 2822 or custom unit value 2824 multiplied by the background area 2820. The assigned value 2826 can be determined based on whether a value is entered in the custom unit value 2824. For example, the assigned value 2826 can be the custom value 2824 when a value is entered for the custom value 2824 or the custom value 2824 is greater than 0. The assigned value 2810 can use the initial unit value 2822 when the custom unit value 2808 is not entered or the custom unit value 2824 is approximately equal to 0 or an insignificant value compared to the initial unit value 2822.
The damage factor 2812 can be a factor related to damage of the background. The damage factor 1812 can be determined based on a threshold level earthquake, a historic level earthquake (for a region), a maximum earthquake, or an earthquake controlled on the display by the user. The damage factor 1812 can be a factor related to an object being considered totally destroyed or a factor of damage where an object is considered destroyed. The damage factor 1812 could be a factor related to a chance that an object is destroyed in an average or low damage producing earthquake. In certain embodiments, a scene 2702 can be scanned following an actual earthquake and the damage factor 2812 can reflect an amount of actual damage of the identified backgrounds. The damage factor can be determined based on the seismic effects applied to the specified background.
The damage value 2814 is a value for the amount of damage cause by the seismic event. The damage value 2814 can be determined based on the seismic effects applied to the specified background. The damage value 2814 can be determined by multiple the assigned value 2810 by the damage factor 2812.
Although
The processor 1922 can also operate the camera 1916 to capture the wall 2706, ceiling or floor 2708 as an orientation of the user device 1914 is rotate and moved around the room. One or more sensors of the user device 1914 can capture details for determining a camera pose for the camera 1916 as each frame of the wall 2706, ceiling or floor 2708 is captured. The camera pose can be saved along with the Lidar information or each could be stored separately with a respective time stamp to match.
The processor 1922 can identify a background and objects in a scene 2702 in operation 2904. The processor 1922 can scan the scene 2702 for meshes. The meshes can be defined and/or categorized by the processor 1922. The meshes can also be associated with a specified plane or specified planes by the processor 1922. Meshes can be associated with objects in the scene in addition to a background. For example, meshes can be defined as part of a wall and part of one or more picture frames on the wall. In order to identify backgrounds, the processor 1922 can assign one or more meshes from a region to the plane. The processor 1922 can use the extracted camera image to determine a plane for each of the meshes. The meshes can be classified and associated with a specified plane by the processor 1922.
The processor 1922 can extract object suggestions from the mesh. The processor 1922 can identify meshes corresponding to one or more objects in the scene 2702. The meshes of different objects in the scene can overlap and the processor 1922 can distinguish different objects. The processor 1922 can extract objects from the mesh belonging to a selected scene. Meshes that are not assigned to one or more of the planes, backgrounds, walls, etc. can be determined by the processor to be objects. The objects can be individually processed by the processor 1922 for details of the objects, such as dimensions, orientation, position, etc.
The processor 1922 can count the objects in operation 2906. Counting the objects can include taking an inventory of the objects in the scene 2702 and placing the information in an inventory table 2800. The objects can be assigned an object number 2802 that can be used to relate a row on the table to an AR object by the processor 1922. A description 2804 of the objects can be determined while counting. The description 2804 of the objects can allow a user to quickly and easily determine which row corresponds to a specific AR object or object in a scene. The description 2804 can include a name of the object, a position of the object, characteristics of the object, etc. The counting of the objects can also include an accounting of the objects and an estimated value 2806 or other value can be determined.
The processor 1922 can create one or more AR backgrounds and one or more AR objects from the background and objects identified in the scene 2702 in operation 2908. The processor 1922 can extract a color of a selected plane. In certain embodiments, the user device 914 can receive an input from a user for selecting a color of the selected plane, such as a tap on the display 1920 of the user device 1914. The camera can provide a camera image and the processor 1922 can determine a location in the camera image corresponding to a location of the tap on the display 1920. The processor 1922 can determine a color at the location in the camera image to extract. In certain embodiments, the processor 1922 can extract a color based on other factors, such as amount of the color in the scene, an average color of the wall, etc. The processor 1922 can set a color for a mesh according to the extracted color. The processor 1922 can take the extracted color and apply the color to the mesh corresponding to the background of the scene. In certain embodiments, the processor 1922 can apply the extracted color to a wall, a floor, and/or a ceiling in a room.
The processor 1922 can extract images for an object in a camera frame. The processor 1922 can extract one or more camera images supplied by the AR camera. The camera images can be continuously captured based on movement of the AR camera in order to capture the object from different angles. In certain embodiments, the processor 1922 can capture camera images including one or more picture frames. The processor 1922 can determine that vertexes of the objects are clearly visible in the camera frame in operation 2126. Using the AR camera, the processor 1922 can identify each vertex of an object shown in the camera image. Camera images where the object is only partially in the camera image can be skipped or used for clearly identified vertexes. The processor 1922 can extract an image corresponding to the object in operation 2128. The details of the objects can be used by the processor 1922 to identify an actual object in the camera image and extract a partial image for the actual object. For example, the processor 1922 can identify a picture frame in one or more camera images and make sure that all the corners of the picture frame are clearly visible in each camera image. The processor 1922 can instantiate selected objects in operation 2130. The processor 1922 can overlay the actual image of the object over the corresponding meshes associated with the object in the AR scene. For example, an actual image of a picture frame can be overlaid over meshes associated with the picture frame.
The processor 1922 can receive seismic characteristics in operation 2910. The seismic characteristics can be received from a user, read from a memory of the user device, received from another user device, received from a remote server. For example, seismic characteristics or seismic algorithm can be stored in a memory of the user device. The user can be presented an input, such as a slider, to control a seismic characteristic, such as a seismic intensity. The slider values can be controls for a parameter or attribute of the seismic activity. For example, the slider can control an intensity, a time period, etc. Additional parameters or attributes of the seismic activity not controlled by a slider can have values entered prior to the simulation or read from a memory 1918. The processor 1922 can show a slider or other mechanism for selecting the parameter value or attribute of the seismic activity on the display 1920. In certain embodiments, the slider can control a current intensity and seismic activity would continuously occur at the selected current intensity until the current intensity is set to zero on the slider. In some embodiments, a touch-screen or physical buttons, voice commands or other inputs can be used for entering parameters or attributes of the seismic activity instead of, or in addition to, the slider.
The processor 1922 can display seismic effects based on the seismic characteristics in operation 2912. The processor 1922 can generate simulated (e.g., AR) seismic activity for the scene in operation 2020. The AR seismic activity can be shown to the user through the display 1920 of the user device 1914. The AR seismic activity can cause the portion of the AR background that is currently visible to shift in the frame of view on the display 1920. The edge of the background can be moved in and out of the frame in the display according to the one or more slider values.
The processor 1922 can display simulated (i.e., AR) cracks in the AR background shown on the display 1920 based on the slider value in operation 2022. In some embodiments, the processor 1922 can dynamically generate AR cracks in the AR background during a simulated seismic event, i.e., the cracks may grow in length or width as the seismic event progresses. In some embodiments, the processor 1922 can create a random number of AR cracks with varying paths, widths and/or depths based on the slider value in operation 2022. In some embodiments, the processor 1922 can generate AR cracks featuring parallax shading to give the cracks the appearance of three-dimensional depth and width based on the point of view. The selected intensity of the of the simulation can be a factor for the crack generation. The crack generation can also be determined based on an amount of time that has passed and/or a total time of the simulation. For example, additional cracks may be formed as the time of the simulated seismic activity continues. In addition, the dimension of the cracks can change over time and based on the factors of the seismic activity.
In operation 2024, the processor 1922 can move or manipulate an AR object (i.e., the virtual representation of the object) shown on the display 1920 during a simulation of a seismic event. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on one or more seismic characteristics input by the user or received from the system. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on the category of like objects into which the object has been classified. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to an AR object based on specified or sensed characteristics of the AR object including, but not limited to the object's mass, size and/or material. In some embodiments, the processor 1922 may determine the type of a movement or a manipulation to be applied to the AR object by applying a combination of the factors described above. Types of movements of the AR object that may be applied by the processor 1922 and shown on the display 1920 include, but are not limited to, translation, rotation, oscillation, falling and rolling. Type of manipulations of the AR object that may be applied by the processor 1922 and shown on the display 1920 include, but are not limited to, cracking, breaking, burning, leaking, sparking and soiling. For example, if an object in the scene is classified as a type of object that may be manipulated with “oscillation,” the processor 1922 can show the AR object swinging back and forth about a hinge point during the seismic event, and the magnitude of the swinging may be selected based on a seismic characteristic set by the slider value and/or on a characteristic of the object, such as its size. The virtual representation of the object can swing in relation to the background of the scene. In addition, if there are multiple AR objects in a scene, each virtual representation may swing independently from other virtual representations. In certain embodiments, a virtual representation of a picture frame can swing on a wall. While the virtual representation is swinging, the actual object is obscured by the wall set as a background in order for the swinging motion to not be disrupted by the actual picture frame.
In operation 2026, the processor 1922 can apply secondary manipulation types to the AR objects during a simulation of a seismic event. A secondary manipulation can be any manipulation that is applied only when predetermined conditions are met during a simulated seismic event. For example, if the AR object has a primary manipulation type of “oscillation” during a seismic event, the AR object may have a secondary manipulation type of “fall” if the magnitude of the shaking exceeds a preselected level, or if the shaking duration exceeds a preselected period. Thus, the processor 1922 will initially show the AR object oscillating (i.e., swinging) during a simulated seismic event, but will only show the AR object falling if the preselected conditions are met. If the preselected conditions are not met, the AR object will continue swinging according to the primary manipulation type. In some embodiments, the processor 1922 may show the virtual representation of the object fall to the floor based on a highest slider value in operation 2026. The virtual representation of the object can realistically drop to the floor using standard physics for a falling motion of the virtual representation. When the virtual representation of the object reaches another object or a ground level, the virtual representation can react with the other object or the ground level. For instance, a force could be applied to the other object based on the virtual representation dropping to the floor. The virtual representation can break or crack by the processor 1922 dividing the virtual representation into two or more part virtual representations. For instance, a picture frame can reach the ground level and cause a crack through the picture frame creating two separate parts of the picture frame. The two parts of the picture frame may operate independently for a remaining time of the simulation.
The virtual representation and background can be shaken independently. For example, a first picture frame can move independently from a second picture frame and a wall. The processor 1922 can create a set of parent coordinate transforms in an application, such as Unity. The parent transform can be an intermediate coordinate system between the world coordinate and children coordinates. The processor 1922 can set all submeshes from all regions that have a first face classification, such as “floor”, to a first transform (also referred to as a parent transform) and all submeshes from all regions that have a second classification, such as “wall”, to a second transform (also referred to as a child transform). The processor 1922 can set meshes that belong to a plane selected by a User as well as a plane with render cracks to a third transform. The processor 1922 can apply separate random shaking to each of the parent transforms. Parent meshes ensure that a position of the sub meshes with respect to the parent transform remain constant. However, the position of the parent transform with respect to the world is allowed to change. This allows all meshes assigned to a common classification to move together.
The shaking and falling of objects, such as picture frames, can be performed by implementing Rigid body mechanics using a physic engine, such as a Unity Physics Engine. The selected wall plane and each picture frame can be assigned rigid body functionalities, which allows the objects to interact with each other in forms such as collisions, forces, constraints, and accelerations. The physics engine can provide functions that allow rigid bodies to relate to each other in a form of constraints. The physic engine can then iteratively solve multi-body simulation to give a next position of the rigid bodies given external forces. The overall steps for this procedure can include (1) assigning rigid bodies to a picture frame and a wall mesh, and (2) adding a revolute hinge joint constraint between picture frame and wall mesh.
The processor 1922 can determine a damage amount 2812 for the scene 2702 in operation 2914. The damage amount 2812 can be calculated as the simulation is in progress and/or after the simulation of seismic activity is completed. The damage amount 2812 can be calculated as a percentage, fraction, value, etc. The damage amount 2812 can be individually calculated for each AR object. The processor 1922 can utilize specific effects applied to an object and an intensity of the effect applied. For instance, an object that falls twice a distance as a similar object could be determined to have more damage. The processor 1922 can also determine a fragility of an object. For example, the processor 1922 can assign more damage to a vase falling an equal distance to a book.
Although
It will be appreciated by those skilled in the art having the benefit of this disclosure that these methods and systems for display of an electronic representation of physical effects and property damage resulting from a parametric natural disaster event provides an augmented reality presentation of the personalized effect of an earthquake on actual objects around a user. It should be understood that the drawings and detailed description herein are to be regarded in an illustrative rather than a restrictive manner, and are not intended to be limiting to the particular forms and examples disclosed. On the contrary, included are any further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments apparent to those of ordinary skill in the art, without departing from the spirit and scope hereof, as defined by the following claims. Thus, it is intended that the following claims be interpreted to embrace all such further modifications, changes, rearrangements, substitutions, alternatives, design choices, and embodiments.
This application claims the benefit of U.S. Provisional Application Ser. No. 63/152,739 filed on Feb. 23, 2021 and entitled METHOD AND SYSTEM FOR DISPLAY OF AN ELECTRONIC REPRESENTATION OF PHYSICAL EFFECTS AND PROPERTY DAMAGE RESULTING FROM A PARAMETRIC EARTHQUAKE EVENT (Atty. Dkt. No. NPUI60-34994). This application also claims the benefit of U.S. Provisional Application No. 63/169,801, filed on Apr. 1, 2021, entitled METHOD AND SYSTEM FOR DISPLAY OF AN ELECTRONIC REPRESENTATION OF PHYSICAL EFFECTS AND PROPERTY DAMAGE RESULTING FROM A PARAMETRIC NATURAL DISASTER EVENT (Atty. Dkt. No. NPUI60-35201). U.S. Provisional Application Ser. No. 63/152,739 and U.S. Provisional Application No. 63/169,801 are incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
63152739 | Feb 2021 | US | |
63169801 | Apr 2021 | US |