US-12626452-B2 - Virtual reality assisted camera placement
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for generating a placement of a camera. In some implementations, maintaining monitoring information of a property; generating a virtual model of a property; determining an initial placement location for a virtual camera in the virtual model; obtaining image data generated in the virtual model from the virtual camera placed at the initial placement location; analyzing the image data; determining, using the analysis of the image data, whether to identify an updated placement location; and providing the placement location for a physical camera at the property to a device using a result of the determination whether to identify the updated placement location.
Inventors
- Ethan Shayne
- Donald Gerard Madden
Assignees
- OBJECTVIDEO LABS, LLC
Dates
- Publication Date
- 20260512
- Application Date
- 20230602
Claims (20)
- 1 . A method comprising: accessing a virtual model of a property; determining an initial placement location for a virtual camera in the virtual model; obtaining simulated image data of the property generated using the virtual model from the virtual camera placed at the initial placement location; analyzing the simulated image data; determining, using the analysis of the simulated image data, whether to identify an updated placement location using the initial placement location; and providing, to a device, a placement location for a physical camera at the property using a result of the determination whether to identify the updated placement location, the placement location being the initial placement location or the updated placement location.
- 2 . The method of claim 1 , comprising: receiving monitoring information of the property that indicates at least one mounting location, wherein determining the initial placement location for the virtual camera in the virtual model comprises: determining, using the information of the at least one mounting location, the initial placement location for the virtual camera in the virtual model.
- 3 . The method of claim 2 , wherein the information of the at least one mounting location comprises information of at least one of a stud, an electricity source, an angle of a surface, a mounting point on a surface, a presence of a vent, or a presence of a sprinkler at the property.
- 4 . The method of claim 2 , comprising: determining a distance between a location indicated by the information of the at least one mounting location and a candidate location satisfies a distance threshold; and in response to determining the distance between the location indicated by the information of the at least one mounting location and the candidate location satisfies the distance threshold, determining the initial placement location for the virtual camera in the virtual model.
- 5 . The method of claim 4 , comprising: in response to obtaining the monitoring information of the property, adjusting the distance threshold.
- 6 . The method of claim 1 , wherein accessing the virtual model of the property comprises: generating, using monitoring information of the property, the virtual model of the property.
- 7 . The method of claim 1 , comprising: receiving data that indicates at least one of (i) data of a previously generated model of an environment or (ii) real world security data from one or more properties, wherein determining the initial placement location for the virtual camera in the virtual model comprises: determining, using the received data, the initial placement location for the virtual camera in the virtual model.
- 8 . The method of claim 1 , wherein: accessing the virtual model of the property comprises (i) parsing monitoring information of the property to obtain an identifier of a previously generated model and (ii) obtaining the previously generated model from a database using the identifier in a query to the database.
- 9 . The method of claim 1 , wherein: obtaining the simulated image data of the property generated using the virtual model from the virtual camera placed at the initial placement location comprises: obtaining one or more images that depict at least a portion of a computer generated avatar moving in the virtual model of the property from a perspective of the virtual camera at the initial placement location, wherein analyzing the simulated image data comprises: analyzing the one or more images that depict at least the portion of the computer generated avatar, wherein determining whether to identify the updated placement location comprises: determining whether to identify the updated placement location using the analysis of the one or more images that depict at least the portion of the computer generated avatar.
- 10 . The method of claim 9 , comprising: generating, using the analysis of the one or more images that depict at least the portion of the computer generated avatar, a rule for a monitoring system; and providing, to the monitoring system, data for the rule to cause the monitoring system to apply the rule to at least one image captured by the virtual camera.
- 11 . The method of claim 9 , wherein analyzing the simulated image data comprises: determining whether the one or more images that depict at least the portion of the computer generated avatar moving in the virtual model of the property represent a full view of the computer generated avatar.
- 12 . The method of claim 11 , comprising: in response to determining that the one or more images of the computer generated avatar moving in the virtual model of the property do not represent a full view of the computer generated avatar, generating a coverage score representing an amount of the computer generated avatar; and comparing the coverage score to a coverage threshold, wherein determining whether to identify the updated placement location comprises: determining, using the comparison, whether to identify the updated placement location.
- 13 . The method of claim 9 , wherein the computer generated avatar comprises a human avatar.
- 14 . The method of claim 1 , wherein: analyzing the simulated image data comprises determining an elapsed time between an action generated in the virtual model and a detection of the action represented in the simulated image data; and determining whether to identify the updated placement location uses the elapsed time.
- 15 . The method of claim 14 , comprising: comparing the elapsed time to an elapse time threshold, wherein determining whether to identify the updated placement location comprises: determining, using the comparison, whether to identify the updated placement location.
- 16 . The method of claim 1 , comprising: generating, using the analysis of the simulated image data, a score indicating a coverage of actions included in the simulated image data, wherein determining whether to identify the updated placement location using the initial placement location using the analysis of the simulated image data, comprises: comparing the generated score to a threshold to determine whether to identify the updated placement location using the initial placement location.
- 17 . A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: accessing a virtual model of a property; determining an initial placement location for a virtual camera in the virtual model; obtaining simulated image data of the property generated using the virtual model from the virtual camera placed at the initial placement location; analyzing the simulated image data; determining, using the analysis of the simulated image data, whether to identify an updated placement location using the initial placement location; and providing, to a device, a placement location for a physical camera at the property using a result of the determination whether to identify the updated placement location, the placement location being the initial placement location or the updated placement location.
- 18 . The system of claim 17 , wherein the operations comprise: receiving monitoring information of the property that indicates at least one mounting location, wherein determining the initial placement location for the virtual camera in the virtual model comprises: determining, using the information of the at least one mounting location, the initial placement location for the virtual camera in the virtual model.
- 19 . The system of claim 18 , wherein the information of the at least one mounting location comprises information of a stud, an electricity source, an angle of a surface, a mounting point on a surface, a presence of a vent, or a presence of a sprinkler at the property.
- 20 . One or more non-transitory computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising: accessing a virtual model of a property; determining an initial placement location for a virtual camera in the virtual model; obtaining simulated image data of the property generated using the virtual model from the virtual camera placed at the initial placement location; analyzing the simulated image data; determining, using the analysis of the simulated image data, whether to identify an updated placement location using the initial placement location; and providing, to a device, a placement location for a physical camera at the property using a result of the determination whether to identify the updated placement location, the placement location being the initial placement location or the updated placement location.
Description
CROSS-REFERENCE TO RELATED APPLICATION This application claims the benefit of U.S. Provisional Application No. 63/348,761, filed Jun. 3, 2022, the contents of which are incorporated by reference herein. BACKGROUND A monitoring system for a property can include various components including sensors, e.g., cameras, and other devices. For example, the monitoring system may use the camera to capture images of people or objects of the property. SUMMARY This specification describes techniques, methods, systems, and other mechanisms for modeling and determining security camera placements within an environment. For example, a computer can generate a three dimensional virtual model of a physical property and place virtual cameras at one or more locations within the virtual model. The computer can simulate actions, such as human movement, within the virtual simulation of the property, and analyze virtual image data from the virtual cameras to determine whether the placement satisfies a condition and whether to update the location based on analysis of the virtual image data. A system can use a final placement within the virtual model to determine camera placement at the physical property itself. For instance, the system can provide information about the actual placement to a device, for presentation on a user interface, and used to install a camera in the real world property corresponding to the location of the final placement location. In some examples, the system can provide instructions to a physical device, such as a robot, to cause the physical device to install a camera in the real world property corresponding to the location of the final placement location in the virtual model. In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include the actions of maintaining monitoring information of a property; generating a virtual model of a property; determining an initial placement location for a virtual camera in the virtual model; obtaining image data generated in the virtual model from the virtual camera placed at the initial placement location; analyzing the image data; determining, using the analysis of the image data, whether to identify an updated placement location; and providing the placement location for a physical camera at the property to a device using a result of the determination whether to identify the updated placement location. Other implementations of this aspect include corresponding computer systems, apparatus, computer program products, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In some implementations, obtaining the monitoring information of the property can include obtaining information of at least one mounting location. Determining the initial placement location for the virtual camera in the virtual model can include determining, using the information of the at least one mounting location, the initial placement location for the virtual camera in the virtual model. The information of the at least one mounting location can include information of a stud, an electricity source, an angle of a surface, a mounting point on a surface, a presence of a vent, or a presence of a sprinkler at the property. The surface can be a wall, or a ceiling. The mounting point can be on a recessed or dropped ceiling. The information of a presence of a component can indicate the lack of the component in a region of the property. In some implementations, the method can include determining a distance between a location indicated by the information of the at least one mounting location and a candidate location satisfies a distance threshold; and in response to determining the distance between the location indicated by the information of the at least one mounting location and the candidate location satisfies the distance threshold, determining the initial placement location for the virtual camera in the virtual model. The method can include, in response to obtaining the monitoring information of the property, adjusting the distance threshold. The monitoring information of the property can include an indication of a power source for the virtual camera. The power source can be a power over Ethernet source, e.g., that provides both power and a network connection. In some i