Security device area
By allowing users to define areas of any shape in the monitoring system and processing through image capture devices and customer interfaces, the problem of difficulty in dealing with non-rectangular areas in the prior art is solved, and more accurate and efficient image analysis is achieved.
Patent Information
- Application Number
- CN202380062781.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-10
- Filing Date
- 2023-08-29
- Publication Date
- 2025-04-08
AI Technical Summary
When existing monitoring systems process images around or inside safe locations, it is difficult to effectively identify and process areas with non-rectangular shapes, resulting in discontinuity of area boundaries and affecting the accuracy and efficiency of image analysis.
By providing a method, a user is allowed to define an arbitrary shape area within the field of view of the imaging device, and receive input of the area by the image capturing device, record of the area, and present a representation of the area covered on the image through the client interface.
It realizes more accurately identifying and processing non-rectangular shapes in a security system, improves the continuity of area boundaries, enhances the accuracy and efficiency of image analysis, and reduces the consumption of computing resources and false notifications.
Smart Images

Figure CN119790447A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority under 35 U.S.C. §119 and Article 8 of the PCT to co-pending U.S. Provisional Application Serial No. 63 / 374,068, filed on August 31, 2022 (titled “SECURITY DEVICE ZONES”), and co-pending U.S. Application Serial No. 18 / 447,843, filed on August 10, 2023 (titled “SECURITY DEVICE ZONES”), each of which is incorporated herein by reference in its entirety. Technical Field
[0003]
[0013] Aspects of the technology described herein relate to security systems and methods. Background Art
[0004] Some monitoring systems use one or more cameras to capture images of the area around or inside a secure location (e.g., a residence or business). Such monitoring systems can process the images locally and transmit the captured images to a remote service. If motion is detected, the monitoring system can send an alert to one or more user devices. Summary of the invention
[0005] In an example, a method is provided. The method includes: receiving input from a monitor interface implemented by a first computing device specifying a zone within a field of view of an image capture device; in response to receiving the input, storing a record defining the zone; receiving from the image capture device an image acquired by the image capture device within the field of view; and presenting the image via a client interface implemented by a second computing device different from the first computing device, wherein the image has a representation of the zone overlaid on the image.
[0006] The method may include one or more of the following features.
[0007] In the method, receiving input specifying a zone may include: transmitting information related to the zone through a private network within the monitoring center, and transmitting the information related to the zone through a public network connected to the private network; and presenting an image with a representation of the zone may include: transmitting the information related to the zone to a second computing device through the public network. The information related to the zone may specify a description of the zone. The information related to the zone may specify that the zone has an irregular polygonal shape.
[0008] The method may also include receiving, via a client interface, an input requesting to store a zone as a client zone. In the method, the zone may be a filtered zone, and the method may also include: communicating information related to the zone to an image capture device. The method may also include redacting, by the image capture device, image data from an acquired image that falls within the zone. The method may also include presenting a representation of a non-filtered zone in conjunction with the redacted image data. In the method, a first computing device may be coupled to a private network of a monitoring center, a monitor interface may be a first instance of a monitor interface, and the method may also include: presenting a representation of the zone on the first instance of the monitor interface; and presenting a representation of the zone on a second instance of the monitor interface implemented by a third computing device coupled to the private network.
[0009] In an example, a method is provided. The method includes: acquiring, by an image capture device, an image within a field of view of the image capture device; identifying one or more objects within the image; recommending, via a client interface, a region encompassing the one or more objects; receiving, via the client interface, input requesting to store the region as a client region; and presenting, via a monitor interface implemented by a computing device coupled to a dedicated network within a monitoring center, a representation of the client region overlaid on the image.
[0010] The method may include one or more of the following features.
[0011] In the method, the image may be a first image, and the method may further include: acquiring, by the image capture device, a second image within a field of view of the image capture device; identifying one or more objects within the second image; and calculating at least one metric indicating an amount of change between the first image and the second image with respect to at least one of the one or more objects and the client area. The method may further include: using at least one metric to determine whether the field of view of the image capture device has been repositioned. The method may further include: using at least one metric to determine whether the image capture device has been tampered with. The method may further include: in response to determining that the image capture device has been repositioned, adjusting information related to the zone to generate adjusted information related to the zone. The method may further include: presenting the adjusted information in a customer interface for approval. The method may further include: determining a threat score for the client area. The method may further include: identifying one or more objects, including: identifying one or more objects that cannot be moved using semantic segmentation.
[0012] In an example, one or more non-transitory computer-readable media are provided, wherein the media stores instructions executable by at least one processor of a computing device to perform any of the above methods in the present disclosure.
[0013] In one example, a system of computing devices is provided. The system includes one or more processors; and one or more non-transitory computer-readable media described in the preceding paragraphs.
[0014] The various examples described herein provide technical advantages over other systems in terms of processing efficiency, processing speed, and / or network latency. For example, the techniques described herein enable a camera and / or system to transmit only the portion of an image located within a zone to a processing device (e.g., a server or cloud) for analysis. This differentiated approach improves processing efficiency, network latency, and processing speed compared to processing the entire image. Other advantages of the various examples described herein include easy-to-use tools, such as a user interface, that allow a user to define a zone within the field of view of a camera and submit the zone to other users for approval and / or use. These and other techniques for processing zones will be further described below. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Additional examples of the present disclosure and its features and advantages will become more apparent by reference to the description herein taken in conjunction with the accompanying drawings, which are incorporated in and constitute a part of this disclosure. The drawings are not necessarily drawn to scale.
[0016] Figure 1 is a schematic diagram of a security system according to some examples described herein.
[0017] Figure 2 is a schematic diagram of a base station according to some examples described herein.
[0018] Figure 3 is a schematic diagram of a keyboard according to some examples described herein.
[0019] Figure 4A is a schematic diagram of a security sensor according to some examples described herein.
[0020] Figure 4B is a schematic diagram of an image capture device according to some examples described herein.
[0021] Figure 5 is a schematic diagram of a data center environment, a monitoring center environment, and customer equipment according to some examples described herein.
[0022] Figure 6 is a sequence diagram of a monitoring process according to some examples described herein.
[0023] Figure 7 is a sequence diagram of a zone configuration process according to some examples described herein.
[0024] Figure 8is a flow chart of a filter zone editing process according to some examples described herein.
[0025] Fig. 9 is a flow diagram of a region relocation process according to some examples described herein.
[0026] Fig.10 is a front view of a zone configuration graphical user interface (GUI) according to some examples described herein.
[0027] Fig.11 is a front view of an incident investigation GUI according to some examples described herein.
[0028] Fig.12 is a schematic diagram of a computing device according to some examples described herein. DETAILED DESCRIPTION
[0029] As described above, at least some examples disclosed herein relate to systems and processes for implementing zones within a security system. In some examples, a zone is a defined area overlaid on a field of view (FOV) of an image capture device, such as a camera, that is clearly identified from other areas within the FOV. For example, in some examples involving processing images from a security camera, a zone is recorded as a data structure, including one or more fields assigned to store data of pixels included within a specified zone. For example, in at least one example, the data stored in the zone enumerates the identified pixels using Cartesian coordinates of a location within a specified image data frame. In another example, the data stored in the zone specifies pixel-based sizes and positioning of one or more shapes relative to reference pixels within an image data frame. In yet another example, the data stored in the zone specifies pixels within the zone to be edited rather than included (e.g., where storing data to be edited is more efficient than storing data to be included). In addition to including fields specifying the geometric boundaries of the areas within the FOV that constitute a zone, the zone data structure may also include one or more fields allocated to hold data that specifies the name of the zone, a description of the zone, comments related to the zone, whether the zone is to edit the image data contained therein from certain subsequent processing (e.g., whether the zone is a filter zone), and the approval status of the zone. Examples of filter zones may include areas within an image that capture areas that are not part of the monitored location of a customer. Other forms and attributes of zones will be apparent in light of this disclosure. It should be noted that a zone may be associated with a single frame or multiple frames of image data.
[0030] Zones provide multiple advantages within a security system. For example, zones enable users of the security system (e.g., customers, monitoring personnel, etc.) to share information specific to identified areas within the FOV at the monitored location. This added context can help users determine whether action is needed to protect the monitored location when an event is detected. In addition, zones can be used as filters to reduce the amount of image data processed by the security system. When properly positioned and maintained, filtering zones introduce various benefits, including reduced consumption of computing resources (e.g., computer vision (CV) and artificial intelligence (AI) processing) and fewer false notifications to users. These and other benefits of zones focus the resources and users of the security system on information that is more likely to be actionable, thereby increasing the value provided by the security system.
[0031] Despite the advantages provided by zones, obstacles to their successful and widespread adoption still exist. These obstacles include: users' lack of understanding of the purpose and benefits of zones, the time required to create and maintain zones, the inability to create precise and accurate zone geometries, and inaccurate processing when determining whether an object identified in the FOV resides in a zone. At least some of these obstacles are due to design inefficiencies in the user interface used to configure zones. For example, some zone configuration interfaces are presented via user interfaces programmed for customers rather than monitoring personnel, although monitoring personnel are more familiar with the purpose and benefits of zones in security systems. In addition, some zone configuration interfaces require that zones consist of one or more (usually several) rectangular bounding boxes. This limitation may force users to spend too much time creating and maintaining zones in which the area within the FOV is not rectangular in shape. In such cases, many bounding boxes may be required to fully establish the zone. In addition, the need to draw many boxes may result in discontinuous zone boundaries. Discontinuous zone boundaries may cause processing errors and / or reduce confidence in CV / AI processing, where such processing is used to determine whether an object within the FOV resides within or outside the zone (e.g., where the zone boundary overlaps or partially overlaps with an object within the FOV).
[0032] To address these obstacles, some systems and processes described herein implement one or more programs that control a host device to present one or more zone GUIs. These zone GUIs are configured to interact with a user to set, share, and approve zones within a security system. In some examples, the GUI includes controls that are configured to receive inputs specifying one or more pre-set sized boxes to cover the FOV area. Such pre-set sized boxes can increase the accuracy of system processing when identifying whether an object within the FOV is within a zone. Additionally or alternatively, in some examples, the zone GUI includes controls that are configured to receive inputs specifying one or more shapes of any size or dimension to cover one or more regions of the FOV. In these examples, the zone GUI can receive inputs specifying fine zones that have geometric shapes that more accurately define the regions within the FOV. In some examples, once a zone is established by a monitoring staff or a customer, it can be accessed by other monitoring staff. In this way, monitoring staff can use zones to share information related to monitored locations.
[0033] In addition, in some examples, the zone GUI presented by the systems and processes described herein is configured to receive input from a customer of the security system that approves the zones created without customer participation. For example, in these examples, zones can be created through interaction between the security system and a monitoring person. Alternatively or additionally, in these examples, zones can be created autonomously by the security system (e.g., based on image history), as described in U.S. Patent Application Publication No. 2023 / 0154296A1, entitled “IDENTIFYING REGIONS OF INTEREST IN AN IMAGING FIELD OF VIEW,” published on May 18, 2023, which is incorporated herein by reference in its entirety. Alternatively or additionally, in these examples, zones can be changed autonomously by the security system (e.g., based on physical movement of an image capture device), as further described below. In these ways, the systems and processes described herein reduce the time required to create and maintain zones by a customer.
[0034] Some security systems use one or more image capture devices installed at a monitored location to capture images of the location. The system can use the captured images to perform various analytical processes, such as edge detection, motion detection, facial recognition, and event reconstruction, etc. If a reportable event is detected as a result of the processing performed, the system can deliver an alert to the user device.
[0035] The techniques described herein can provide advantages over other systems by improving processing efficiency, processing speed, and / or network latency. For example, for event reconstruction, the techniques described herein enable a camera device and / or system to transmit only portions of an image outside one or more filter zones to a processing device (e.g., a server or cloud computing service) for event reconstruction. Thus, in such a configuration, only portions of the captured image are used to reconstruct the event instead of the entire image. As another example, when one or more zones are used to control image analysis (e.g., motion detection), the system can transmit only portions of the image to a remote location (e.g., a server or cloud computing service) to perform image analysis on these portions. In addition, as described herein and in U.S. Patent Application Publication No. 2023 / 0154296A1, monitoring parameters associated with certain non-filtered zones allow for further savings in resources (e.g., where the monitoring parameters require limited processing of the non-filtered zones). These examples have significant improvements in processing efficiency, network latency, and processing speed compared to processing the entire image using an exhaustive set of monitoring parameters because these examples only process portions of the image instead of the entire image and use limited monitoring parameters.
[0036] Other advantages of the example systems and methods include easy-to-use tools such as GUIs that allow users to easily define regions using automatic image segmentation techniques and / or recommendation techniques for recommended regions. Since the shape of a region can be any shape determined by segmentation (e.g., and not limited to a rectangular bounding box), a user can accurately specify a region. Such techniques can also allow a user to easily select a region (e.g., without having to use a mouse to manually draw a free area as in some systems). These and other techniques for specifying regions are described in U.S. Patent Application Publication No. 2023 / 0154296A1 and will be further described below.
[0037] In some examples, the system may allow a user to select a zone based on autonomously identified semantic regions. A semantic region in an image may include a group of pixels that depict a unique, identifiable object or group of related objects within the image. For example, semantic regions for scenes around a residence may include: a front porch, a road, a lawn, a tree, decorations around the house (e.g., plant boxes, flowers, etc.), a swimming pool, shrubs, garden furniture, etc. In some examples, the system may use automatic image analysis techniques to determine the region. For example, the automatic image analysis technique may include performing semantic segmentation, which is configured to segment the image into multiple semantic regions. For example, the system may determine multiple semantic regions of a scene image and display multiple semantic regions for the user to select / deselect as one or more zones. The scene may include any environment around the image capture device at the monitored location. The scene may include an outdoor or indoor area, or a combination thereof. For example, a scene may include a street view in front of a house or building on which a camera or image capture device is mounted. The scene may also include a view inside a house (e.g., within the FOV of the camera) about a camera or other image capture device, such as a living room, a bedroom, and / or other areas in the house. Scenes may also include any area within a commercial building, such as a front desk area, a conference room, a secure area in a building (e.g., a safe, a control room), etc.
[0038] In some examples, the system may allow a user to select a region at a sub-region level, where a sub-region may represent an instance of an object in an image. For example, a semantic region may be a tree region (e.g., a set of pixels representing one or more trees), where the semantic region may include multiple sub-regions, each of which represents an instance of a tree (i.e., a separate tree). Similarly, a patio furniture region (e.g., a set of pixels representing one or more pieces of patio furniture) may include multiple sub-regions (instances) of patio furniture, etc. In some examples, the system may perform instance segmentation on multiple segmented regions to associate each region with a corresponding object category, such as a tree, patio, furniture, front porch, swimming pool, etc., and identify one or more sub-regions (instances) for each region. Once determined, the system may display the sub-regions (instances) of the region, and the user may select / deselect each sub-region as a region. Techniques for identifying semantic regions are further described in U.S. Patent Application Publication No. 2023 / 0154296A1.
[0039] In some examples, the system can adjust the zone to accommodate physical movement of the image capture device. For example, in at least one example, as part of the conventional visual processing of the image, the system can determine changes in the physical position and / or orientation of the camera device in response to changes (or disappearances) in the positioning of anchor pixels within consecutive image frames. These anchor pixels can be distributed at locations throughout the image to help ensure that transient conditions (e.g., objects moving through the scene and temporarily blocking visibility to the zone) are not determined as physical movement of the image capture device. In some examples, the system selects anchor pixels based on semantic regions identified within the image. For example, in at least one example, the system selects anchor pixels that reside within semantic regions associated with physical objects that do not move under normal conditions (e.g., large trees, buildings, street signs, etc.). In addition, in some examples, the system determines changes in the positioning of anchor pixels within the FOV between image frames and converts the changes to the positioning of the zone within the FOV. In addition, in some examples, the system can present the user with a suggested conversion of the zone for confirmation. Additionally or alternatively, the system can issue a tampering alert to the user device in the event that physical movement of the camera results in a new scene or a substantially different scene (e.g., no anchor pixels remain in the FOV or important areas within the image are no longer in the FOV).
[0040] In some examples further described in U.S. Patent Application Publication No. 2023 / 0154296A1, the system can recommend zones for users. For example, the system can display scores for one or more zones in a scene, where the scores indicate the likelihood that the zone is useful in creating a zone. The user can then select a zone recommended by the system (or not) to determine the zone. In some examples, the system can automatically designate a recommended zone as a zone. In some examples, the system can designate a zone as a zone based on a classification of the zone (e.g., a highway can be automatically designated as a zone). In some examples, the system can automatically designate a zone as a zone based on previous activity (or lack of activity) in the zone (e.g., if there is a lot of movement in a remote area, it can be designated as a zone).
[0041] In some examples, the zones may be classified by type (e.g., zone type) or otherwise grouped within a hierarchy. For example, a zone may be a filtering zone or a non-filtering zone, where the filtering zone may not be subjected to subsequent processing, and the non-filtering zone may be subjected to subsequent processing. Examples of non-filtering zone types may include delivery zones where packages may be delivered, pet zones (e.g., areas in the backyard), and intruder zones (e.g., areas where movement should not occur at a specified time). Non-filtering zone types may be associated with (related to, mapped to, etc., a set of one or more parameters (e.g., monitoring parameters)). For example, for an intruder zone, one or more parameters may include events to be detected by image analysis, such as motion, human faces, etc. One or more parameters may also include a time of day for detecting an event. For example, for an intruder zone, the time for detecting motion events may be 24 hours / 7 days a week, night time / 7 days a week, etc. For a delivery zone, the time for detecting motion events may be normal working hours. In this example, during non-business hours, the delivery zone switches to a filtering zone. Thus, outside of normal business hours, the system can be configured to not detect any events in the delivery zone, thereby further reducing network bandwidth usage and computing power. In some examples, the system can use the zone type to determine a threat score for events occurring within the zone. For example, the threat score can be a measure of confidence indicating that the event needs to be reviewed by a user for potential harm to a customer. For example, in some examples, the system increases the threat score of events detected in the intruder zone relative to events detected in the delivery zone.
[0042] In some examples, once the user selects an area as a zone, the user can also specify the zone with a zone type as described above. In some examples, the system can determine the zone type based on how the user reacts to the alarm in the zone. For example, if the system is configured to provide an alarm to the user device via a call or text message when motion in the zone is detected, and in response to the alarm, the user (e.g., via a call 911) dispatches the police from the user device, the system can designate the zone as an intruder zone. In another example, if the system is configured to provide an alarm to the user device via a call when motion in the zone is detected, but the user does not answer the call, the system can designate the zone as a non-emergency zone or recommend the zone as a filtering zone. Therefore, the technology described herein also allows the zone type for a given zone to be initially determined and / or updated over time based on user responses.
[0043] In some examples, the monitoring parameters associated with the zone type can be predetermined. For example, for an intruder zone, one or more monitoring parameters can include motion detection during all-weather periods on a 24 / 7 basis, wherein one or more monitoring parameters for a delivery zone can include motion detection only during daytime periods, and the delivery zone can be reconfigured as a filter zone at other times. In some examples, the system can determine / update monitoring parameters for different zones based on previous activity in these zones. For example, if the majority of motion triggers in a delivery zone are detected during daytime periods, the system can determine that the monitoring parameters for the delivery zone include motion detection only during daytime periods, and reconfigure the delivery zone as a filter zone during other times.
[0044] In some examples, the system may use an image capture device to capture one or more continuous images of a scene, and transmit a portion of one or more of the images to a service for processing, rather than transmitting the entire image. The system may determine the portion of the image to be transmitted based on the region. When transmitting a portion of the image, the system may only transmit image pixels outside the filter region. In addition, the system may transmit metadata describing the region. For example, the metadata may include information about the pixels in the region, such as relative positions in the image. In some examples, the metadata may include any of the following: the type of region, one or more monitoring parameters associated with the region, or a combination thereof. Additionally or alternatively, the metadata may include extracted features that define the region. For example, the metadata may include motion flow, color histogram, image pixel density, and / or the direction of motion of a group of pixels. The service may then use the transmitted features and metadata to reconstruct the image.
[0045] The system can also detect one or more events in the reconstructed image based on the parameters of each zone. In the example described in this article, the reconstructed image is compressed more than the entire image because the reconstructed image only includes pixels that are not included in the filter area. In some examples, the system can send an alert to the user device in response to detecting an event. The alert can also include an urgency, and the system can send the alert based on the urgency. In some examples, the urgency can indicate a communication channel (e.g., a phone call, text message, or email, etc.) and / or a delivery time (e.g., immediately; when the user is free; at a fixed time of the day; or on certain days, etc.).
[0046] In some examples, the system utilizes a combination of filter zones and non-filter zones to focus the attention of the monitoring personnel on specific areas within the FOV. This feature may be particularly useful in cases where the FOV includes distracting but irrelevant areas (e.g., busy highways, bright or flashing lights in the distance, etc.). For example, in some examples, distracting but irrelevant areas may be covered by filter zones, while areas of interest (e.g., doors, windows, etc.) may be covered by non-filter zones (e.g., intruder zones). Once these zones are established, the system can present images within the user interface that both edit the areas covered by the filter zones and highlight the areas covered by the non-filter zones.
[0047] Although various examples are described herein, it will be apparent to those of ordinary skill in the art that many more examples and implementations are possible. Therefore, the examples described herein are not the only possible examples and implementations. Furthermore, the advantages described above are not necessarily the only advantages, and it is not necessarily expected that all of the advantages described will be achieved with each implementation.
[0048] For the purpose of promoting an understanding of the principles of the present disclosure, reference will now be made to the examples illustrated in the drawings, and specific language will be used to describe these examples. It will be understood, however, that no limitation on the scope of the examples described herein is thereby intended.
[0049] Figure 1 is a schematic diagram of a security system 100 configured to establish and utilize zones when monitoring geographically dispersed locations, according to some examples. Figure 1 As shown in FIG. 1 , system 100 includes a monitored location 102A, a monitoring center environment 120, a data center environment 124, one or more client devices 122, and a communication network 118. Each of the monitored location 102A, the monitoring center 120, the data center 124, the one or more client devices 122, and the communication network 118 includes one or more computing devices (e.g., as described below with reference to Fig.12 102A includes image capture devices 104 and 110, contact sensor assembly 106, keyboard 108, motion sensor assembly 112, base station 114, and router 116. Base station 114 hosts monitoring client 136. Image capture device 110 hosts camera agent 138. Security devices (e.g., devices 104, 106, 108, 110, 112, and 114) disposed at location 102A may be referred to herein as location-based devices.
[0050] In some examples, router 116 is a wireless router that is configured to communicate with location-based devices via communications that conform to a communication standard, such as any of the various Institute of Electrical and Electronics Engineers (IEEE) 108.11 standards. Figure 1 102A, and the router 116 is also configured to communicate with the network 118. It should be noted that the router 116 implements a local area network (LAN) within and near the location 102A by way of example only. Other network technologies involving other computing devices are suitable for use within the location 102A. For example, in some examples, the base station 114 can receive and forward communication data packets transmitted by the image capture device 110 via a point-to-point personal area network (PAN) protocol such as Bluetooth. Other wired, wireless, and mesh network technologies and topologies will be apparent with the benefit of this disclosure and are intended to fall within the scope of the examples disclosed herein.
[0051] continue Figure 1 In an example, the network 118 may include one or more public and / or private networks supporting, for example, the Internet Protocol (IP). The network 118 may include, for example, one or more LANs, one or more PANs, and / or one or more wide area networks (WANs). The LAN may include a wired or wireless network supporting various LAN standards such as versions of IEEE 108.11, etc. The PAN may include a wired or wireless network supporting various PAN standards such as BLUETOOTH, ZIGBEE, etc. The WAN may include a wired or wireless network supporting various WAN standards, such as code division multiple access (CDMA), global system for mobile communications (GSM), etc. The network 118 connects and enables data communication between computing devices within the location 102A, the monitoring center environment 120, the data center environment 124, and the client device 122. In at least some examples, both the monitoring center environment 120 and the data center environment 124 include network equipment (e.g., similar to the router 116), which is configured to communicate with the network 118 and computing devices collocated with or close to the network equipment. It should be noted that in some examples, network 118 and the network within location 102A support other communication protocols, such as MQTT or other IoT protocols.
[0052] continue Figure 1In one example, data center environment 124 may include physical space, communications, cooling, and power infrastructure to support networking operations of computing devices. For example, the infrastructure may include rack space in which computing devices are installed, uninterruptible power supplies, cooling rooms and equipment, and networking equipment. Data center environment 124 may be dedicated to security system 100, may be a non-dedicated, commercially available cloud computing service (e.g., MICROSOFT AZURE, AMAZON WEB SERVICES, GOOGLE CLOUD, etc.), or may include a hybrid configuration consisting of dedicated and non-dedicated resources. Figure 1 As shown in , regardless of its physical or logical configuration, the data center environment 124 is configured to host the monitoring service 128 and the transport service 126 .
[0053] continue Figure 1 For example, the monitoring center environment 120 may include multiple computing devices (e.g., desktop computers) and network equipment (e.g., one or more routers) connected to the computing devices and the network 118. The client devices 122 may include personal computing devices (e.g., desktop computers, laptop computers, tablet computers, smart phones, etc.) and network equipment (e.g., routers, cellular modems, cellular radios, etc.). Figure 1 As shown in , the monitoring center environment 120 is configured to host a monitor interface 130 , while the client device 122 is configured to host a client interface 132 .
[0054] continue Figure 1 In an example, devices 104, 106, 110, and 112 are configured to acquire analog signals via sensors incorporated into the devices, generate digital sensor data based on the acquired signals, and transmit the sensor data to (e.g., via a wireless link with router 116) base station 114, monitor interface 130, and / or customer interface 132. The type of sensor data generated and transmitted by these devices varies depending on the type of sensors included in the device. For example, image capture devices 104 and 110 can acquire ambient light, generate image data frames based on the acquired light, and transmit the frames to base station 114, monitor interface 130, and / or customer interface 132, although the pixel resolution and frame rate may vary depending on the performance of the device. In some examples, image capture devices 104 and 110 can also receive and store filter zone configuration data and use one or more filter zones to filter frames before passing the frames to base station 114. As Figure 1As shown in , image capture device 104 has a FOV originating near the front door of location 102A and can acquire images of the sidewalk, the highway, and the space between location 102A and the highway. Image capture device 110 has a FOV originating near the bathroom of location 102A and can acquire images of the living room and dining area of location 102A. Image capture device 110 can also acquire images of the outdoor area outside of location 102A through windows 117A and 117B at the right side of location 102A.
[0055] In addition, if Figure 1 As shown in , in some examples, the image capture device 110 is configured to communicate with the monitoring service 128, the monitor interface 130, and the customer interface 132 separately from the monitoring client 136 via the execution of the camera agent 138. These communications may include sensor data generated by the image capture device 110, and / or commands sent by the monitoring service 128, the monitor interface 130, and / or the customer interface 132 to be executed by the image capture device 110. These commands may include, for example, a request for an interactive communication session in which a monitoring person and / or a customer interacts with the image capture device 110 via the monitor interface 130 and the customer interface 132. These interactions may include a request for the image capture device 110 to transmit additional sensor data, and / or a request for the image capture device 110 to transmit additional sensor data via a user interface (e.g., Figure 4B The user interface 412 of the embodiment of the present invention may present a request for output. The output may include audio and / or video output.
[0056] continue Figure 1In an example of, the contact sensor assembly 106 includes a sensor that can detect the presence or absence of a magnetic field generated by a magnet when a magnet is close to the sensor. When the magnetic field is present, the contact sensor assembly 106 generates Boolean sensor data specifying an open state. When the magnetic field is not present, the contact sensor assembly 106 generates Boolean sensor data specifying a closed state. In either case, the contact sensor assembly 106 can transmit sensor data indicating whether the front door of the location 102A is open or closed to the base station 114. The motion sensor assembly 112 can include an audio emitting device that can radiate sound (e.g., ultrasound) and an audio sensor that can obtain reflections of waves. When the audio sensor detects a reflection due to no object moving in the space monitored by the audio sensor, the motion sensor assembly 112 generates Boolean sensor data specifying a stationary state. When the audio sensor does not detect a reflection due to an object moving in the monitored space, the motion sensor assembly 112 generates Boolean sensor data specifying an alarm state. In either case, the motion sensor assembly 112 can transmit the sensor data to the base station 114. It should be noted that the above-mentioned specific sensing modalities are not limited to the present disclosure. For example, as one of many potential examples, the motion sensor assembly 112 may base its operation on picking up changes in temperature rather than changes in reflected sound waves.
[0057] continue Figure 1 In some examples, the keyboard 108 is configured to interact with the user and interoperate with other location-based devices in response to the interaction with the user. For example, in some examples, the keyboard 108 is configured to receive input from the user specifying one or more commands and pass the specified commands to one or more addressing devices or processes. These addressing devices or processes may include one or more of the location-based devices, and / or one or more of the monitor interface 130 or the monitoring service 128. These commands may include, for example, a code to authenticate the user as a resident of the location 102A, and / or a code requesting to enable or disable one or more of the location-based devices. Alternatively or additionally, in some examples, the keyboard 108 includes a user interface (e.g., a tactile interface, such as a set of physical buttons or a set of virtual buttons on a touch screen), which is configured to interact with the user (e.g., receive input from the user and / or present output to the user). Further, in some examples, the keyboard 108 can receive a response to the passed command and present the response as a visual or audio output via the user interface.
[0058] continue Figure 1In some examples, the base station 114 is configured to interoperate with other security system location-based devices to provide local command and control functionality and storage and forwarding functionality via the execution of the monitoring client 136. In some examples, to implement the storage and forwarding functionality, the base station 114 receives sensor data through the execution of the monitoring client 136, packages the data for transmission, and stores the packaged sensor data in a local memory for subsequent communication. The communication of the packaged sensor data may include, for example, transmitting the packaged sensor data as a payload of a message to one or more of the transmission services 126 when the communication link to the transmission service 126 via the network 118 is operable. In some examples, packaging the sensor data may include filtering the sensor data using one or more filter areas, and / or generating one or more summaries of multiple sensor readings (changes in values, maximum values, average values, etc. since previous communications of the packaged sensor data). In order to implement the local command and control functionality, the base station 114 performs various program operations by monitoring the execution of the client 136 in response to various events. Examples of these events may include receiving a command from keyboard 108 or client interface application 132, receiving a command from monitor interface 130 or one of client interface applications 132 via network 118, or detecting the occurrence of a predetermined event. Program operations performed by base station 114 via execution of monitoring client 136 in response to an event may include enabling or disabling one or more of devices 104, 106, 108, 110, and 112; sounding an alarm; reporting an event to monitoring service 128; and delivering location data to one or more of transmission services 126, to name a few operations. Location data may include data specifying sensor readings (sensor data), configuration data for any of the location-based devices, commands received from and from a user (e.g., via keyboard 108 or client interface 132), or data derived from one or more of these data types (e.g., filtered sensor data, a summary of sensor data, event data specifying an event detected at a location via sensor data, etc.).
[0059] continue Figure 1In some examples, the transport service 126 is configured to securely, reliably, and efficiently exchange messages between processes implemented by location-based devices and processes implemented by other devices in the system 100. These other devices may include client devices 122, devices disposed in the data center environment 124, and / or devices disposed in the monitoring center environment 120. In some examples, the transport service 126 is further configured to parse messages from location-based devices to extract payloads included therein, and store the payloads and / or data derived from the payloads in one or more data stores hosted in the data center environment 124. For example, the data contained in these data stores may then be accessed, for example, by the monitoring service 128, the monitor interface 130, and the client interface 132.
[0060] In some examples, the transmission service 126 displays and implements one or more application programming interfaces (APIs), which are configured to receive, process and respond to calls from processes (e.g., monitoring clients 136) implemented by base stations (e.g., base stations 114). Each instance of the transmission service within the transmission service 126 can be associated with certain manufacturers and models of location-based monitoring equipment (e.g., SIMPLISAFE equipment, RING equipment, etc.), and is specific to certain manufacturers and models of location-based monitoring equipment. APIs can be implemented using various architectural styles and interoperability standards. For example, in one example, the API is a web service interface implemented using a representational state transfer (REST) architectural style. In this example, API calls are encoded in hypertext transfer protocol (HTTP) and JavaScript object representation (JSON) and / or extensible markup language (XML). These API calls are addressed to one or more uniform resource locators (URLs), which are API endpoints monitored by the transmission service 126. In some examples, parts of HTTP communications are encrypted to increase security. Alternatively or additionally, in some examples, the API is implemented as a .NET web API that responds to an HTTP post to a specific URL. Alternatively or additionally, in some examples, the API is implemented using simple file transfer protocol commands. Therefore, the API as described herein is not limited to any particular implementation, and the transfer service 126 is not limited to a particular protocol or architectural style. It should be noted that in at least some examples, the transfer service 126 can transmit one or more API calls to the location-based device to request data from the location-based device or to conduct an interactive communication session with the location-based device.
[0061] continue Figure 1In some examples, the monitoring service 128 is configured to control the overall logical settings and operations of the system 100. Therefore, the monitoring service 128 can interoperate with any of the transmission service 126, the monitor interface 130, the customer interface 132, and the location-based device via the network 118. In some examples, the monitoring service 128 is configured to monitor data from various sources for reportable events (e.g., break-in events), and when a reportable event is detected, the monitor interface 130 and / or the customer interface 132 are notified of the reportable event. In some examples, the monitoring service 128 is also configured to maintain state information related to the location 102A. The state information can indicate, for example, whether the location 102A is safe or threatened. In some examples, the monitoring service 128 is configured to change the state information to indicate that the location 102A is safe only when a communication indicating a security event is received (e.g., rather than making such a change in response to interrupting the reception of the break-in event). This feature can prevent the successful execution of a "crash and smash" robbery. Furthermore, in some examples, monitoring service 128 is configured to set up and utilize zones. Such setting up of zones may include interacting with monitoring personnel via monitor interface 130, interacting with customers via customer interface 132, and / or performing autonomous zone recommendation processing as described herein. Figures 6 to 9 Further example processes that monitoring service 128 is configured to perform are described.
[0062] continue Figure 1 In some examples, each monitor interface 130 is configured to control the interaction of a computing device with a monitoring person, and to perform various program operations in response to the interaction. For example, in some examples, the monitor interface 130 controls its host device to provide the monitoring person with information related to reportable events detected at a monitored location, such as location 102A. Such events may include, for example, movement within an intruder zone or outside a filter zone. Alternatively or additionally, in some examples, the monitor interface 130 controls its host device to interact with a user to configure features of the system 100, such as one or more monitor zones. Figure 6 , Figure 7 , Fig.10 and Fig.11 Further example processes that monitor interface 130 is configured to perform are described.
[0063] continue Figure 1In some examples, each customer interface 132 is configured to control the interaction of the computing device with the customer and to perform various program operations in response to the interaction. For example, in some examples, the customer interface 132 controls its host device to provide information to the customer regarding reportable events detected at a monitored location, such as location 102A. Such events may include, for example, movement within an intruder zone or outside a filtered zone. Alternatively or additionally, in some examples, the customer interface 132 is configured to process input received from the customer to enable or disable one or more of the location-based devices. Further, in some examples, the customer interface 132 configures features of the system 100, such as one or more customer zones, in response to input from the user. Referring below Figure 6 , Figure 7 , Fig.10 and Fig.11 Further example processes that customer interface 132 is configured to perform are described.
[0064] Now go to Figure 2 , schematically illustrates an example base station 114. Figure 2 As shown in FIG. 1 , the base station 114 includes at least one processor 200, volatile memory 202, non-volatile memory 206, at least one network interface 204, a user interface 212, a battery component 214, and an interconnect mechanism 216. The non-volatile memory 206 stores executable code 208 and includes data storage 210. Figure 2 In some of the examples shown, the features of the base station 114 enumerated above are incorporated into or are part of the housing 218 .
[0065] In some examples, non-volatile (non-transitory) memory 206 includes one or more read-only memory (ROM) chips; one or more hard disk drives or other magnetic or optical storage media; one or more solid-state drives (SSDs), such as flash drives or other solid-state storage media; and / or one or more hybrid magnetic and SSDs. In some examples, code 208 stored in non-volatile memory may include an operating system and one or more applications or programs configured to execute under the operating system. Alternatively or additionally, code 208 may include specialized firmware and embedded software that is executable without reliance on a commercially available operating system. Regardless, execution of code 208 may implement Figure 1 of the monitoring client 136 and may generate manipulation data as part of the data store 210 .
[0066] continue Figure 2In some examples, the processor 200 may include one or more programmable processors for executing one or more executable instructions, such as a computer program specified by code 208, to control the operation of the base station 114. As used herein, the term "processor" describes a circuit system that performs a function, operation, or sequence of operations. Functions, operations, or sequences of operations may be hard-coded into the circuit system, or soft-coded and executed by the circuit system through instructions stored in a memory device (e.g., volatile memory 202). In some examples, the processor 200 is a digital processor, but the processor 200 may be analog, digital, or mixed. Therefore, the processor 200 may use digital values and / or use analog signals to perform functions, operations, or sequences of operations. In some examples, the processor 200 may be implemented with one or more application specific integrated circuits (ASICs), microprocessors, digital signal processors (DSPs), graphics processing units (GPUs), neural processing units (NPUs), microcontrollers, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), or multi-core processors. Examples of multi-core processor 200 may provide functionality for executing instructions in parallel or simultaneously or for executing one instruction on more than one piece of data in parallel or simultaneously.
[0067] continue Figure 2 In an example, before executing code 208, processor 200 may copy code 208 from non-volatile memory 206 to volatile memory 202. In some examples, volatile memory 202 includes one or more static or dynamic random access memory (RAM) chips, and / or cache memory (e.g., memory disposed on the silicon die of processor 200). Volatile memory 202 may provide a faster response time than main memory such as non-volatile memory 206.
[0068] By executing code 208, processor 200 can control the operation of network interface 204. For example, in some examples, network interface 204 includes one or more physical interfaces (e.g., radio, Ethernet port, universal serial bus (USB) port, etc.) and a software stack including drivers and / or other code 208, which is configured to communicate with the one or more physical interfaces to support one or more LAN, PAN and / or WAN standard communication protocols. The communication protocol may include, for example, the transmission control protocol (TCP) and the user datagram protocol (UDP), etc. Thus, network interface 204 enables base station 114 to communicate via a computer network (e.g., by Figure 1 The LAN established by router 116, Figure 1 network 118 and / or peer-to-peer connections) to access other computing devices (e.g., Figure 1The network interface 204 may be configured to communicate with other computing devices using sub-GHz wireless networking. For example, in at least one example, the network interface 204 may utilize sub-GHz wireless networking to transmit a wake-up message to other computing devices to request sensor data streams or other operations. Using sub-GHz wireless networking may increase the operable communication distance and / or reduce the power consumed by the communication.
[0069] By executing the code 208, the processor 200 can control the operation of the user interface 212. For example, in some examples, the user interface 212 includes a user input and / or output device (e.g., a keyboard, a mouse, a touch screen, a display, a speaker, a camera, an accelerometer, a biometric scanner, an environmental sensor, etc.) and a software stack including a driver and / or other code 208, which is configured to communicate with the user input and / or output device. For example, the user interface 212 can be implemented by a client device 122 (e.g., a client interface 132) hosting a mobile application. The user interface 212 enables the base station 114 to interact with the user to receive input and / or present output. The presented output may include, for example, one or more GUIs, which include one or more controls configured to display output and / or receive input. The input may specify a value to be stored in the data store 210. The output may indicate a value stored in the data store 210. It should be noted that in some examples, a portion of the user interface 212 is accessible and / or visible as part of or through the housing 218. These portions of the user interface 212 may include, for example, one or more light emitting diodes (LEDs).Alternately or additionally, in some examples, the user interface 212 includes a 95db siren that the processor 200 sounds to indicate that a break-in event has been detected.
[0070] continue Figure 2 In some examples, the various features of the above-mentioned base station 114 can communicate with each other via the interconnection mechanism 216. In some examples, the interconnection mechanism 216 includes a communication bus. In addition, in some examples, the battery assembly 214 is configured to provide operating power to the various features of the above-mentioned base station 114. In some examples, the battery assembly 214 includes at least one rechargeable battery (e.g., one or more NiMH or lithium batteries). In some examples, the rechargeable battery has a running time capacity sufficient to operate the base station 114 for 24 hours or more when the base station 114 is disconnected from the line power or otherwise does not receive line power. Alternatively or additionally, in some examples, the battery assembly 214 includes a power supply circuit system for receiving, regulating and distributing line power to operate the base station 114 and recharge the rechargeable battery. The power supply circuit system may include, for example, a transformer and a rectifier and other circuit systems to convert AC line power into DC equipment and recharging power.
[0071] Now go to Figure 3 , schematically illustrates an example keyboard 108. Figure 3 As shown in FIG. 1 , the keyboard 108 includes at least one processor 300, volatile memory 302, non-volatile memory 306, at least one network interface 304, a user interface 312, a battery assembly 314, and an interconnect mechanism 316. The non-volatile memory 306 stores executable code 308 and data storage 310. Figure 3 In some of the examples shown, the features of the keyboard 108 enumerated above are incorporated into or are part of the housing 318 .
[0072] In some examples, the corresponding descriptions of the processor 200, volatile memory 202, non-volatile memory 206, interconnection mechanism 216, and battery assembly 214 associated with the base station 114 are applicable to the descriptions of the processor 300, volatile memory 302, non-volatile memory 306, interconnection mechanism 316, and battery assembly 314 associated with the keyboard 108. Therefore, these descriptions will not be repeated here.
[0073] continue Figure 3 In some examples, by executing code 308, processor 300 can control the operation of network interface 304. In some examples, network interface 304 includes one or more physical interfaces (e.g., a radio, an Ethernet port, a USB port, etc.) and a software stack including drivers and / or other code 308, which is configured to communicate with the one or more physical interfaces to support one or more LAN, PAN and / or WAN standard communication protocols. These communication protocols may include, for example, TCP, UDP, HTTP, and MQTT, etc. Therefore, network interface 304 enables keyboard 108 to access other computing devices (e.g., a LAN and / or a point-to-point connection established by router 116) via a computer network (e.g., a LAN and / or a point-to-point connection established by router 116). Figure 1 other location-based devices) and communicate with other computing devices.
[0074] continue Figure 3In some examples, by executing code 308, processor 300 can control the operation of user interface 312. In some examples, user interface 312 includes user input and / or output devices (e.g., physical keys arranged as keyboards, touch screens, displays, speakers, cameras, biometric scanners, environmental sensors, etc.) and a software stack including drivers and / or other codes 308, which is configured to communicate with user input and / or output devices. Therefore, user interface 312 enables keyboard 108 to interact with a user to receive input and / or present output. The presented output may include, for example, one or more GUIs, which include one or more controls configured to display output and / or receive input. The input may specify a value to be stored in data storage 310. The output may indicate a value stored in data storage 310. It should be noted that in some examples, a portion of user interface 312 (e.g., one or more LEDs) is accessible and / or visible as part of housing 318 or through housing 318.
[0075] Now go to Figure 4A , schematically illustrates an example security sensor assembly 422. The specific configuration of the security sensor assembly 422 (e.g., image capture devices 104 and 110, motion sensor assembly 112, and contact sensor assembly 106) is shown in FIG. Figure 1 As shown in and described above. Figure 4A As shown in FIG. 4 , the sensor assembly 422 includes: at least one processor 400, volatile memory 402, non-volatile memory 406, at least one network interface 404, a battery assembly 414, an interconnect mechanism 416, and at least one sensor 420. The non-volatile memory 406 stores executable code 408 and data storage 410. Some examples include a user interface 412. Figure 4A In some of the examples shown, the features of sensor assembly 422 enumerated above are incorporated into or are part of housing 418 .
[0076] In some examples, the corresponding descriptions of the processor 200, volatile memory 202, non-volatile memory 206, interconnection mechanism 216, and battery component 214 related to the base station 114 are applicable to the description of the processor 400, volatile memory 402, non-volatile memory 406, interconnection mechanism 416, and battery component 414 related to the sensor component 422. Therefore, these descriptions will not be repeated here.
[0077] continue Figure 4AIn some examples, by executing code 408, processor 400 can control the operation of network interface 404 and user interface 412. In some examples, network interface 404 includes one or more physical interfaces (e.g., radio, Ethernet port, USB port, etc.) and a software stack including drivers and / or other code 408, which is configured to communicate with the one or more physical interfaces to support one or more LAN, PAN and / or WAN standard communication protocols. The communication protocol may include, for example, TCP, UDP, HTTP, and MQTT, etc. Therefore, network interface 404 enables sensor component 422 to access other computing devices via a computer network (e.g., a LAN and / or a point-to-point connection established by router 116) and communicate with other computing devices (e.g., set in Figure 1 102A). For example, in at least one example, when executing code 408, processor 400 controls the network interface to stream sensor data acquired from sensor component 420 to base station 114 (e.g., via UDP). Alternatively or additionally, in at least one example, by executing code 408, processor 400 may control network interface 404 to enter a power saving mode by turning off a 2.4 GHz radio and turning on a sub-GHz radio, both of which are included in network interface 404. In this example, by executing code 408, processor 400 may control network interface 404 to enter a streaming or interactive mode by, for example, turning on the 2.4 GHz radio and turning off the sub-GHz radio in response to receiving a wake-up signal from a base station via the sub-GHz radio.
[0078] continue Figure 4A In some examples, by executing code 408, processor 400 can control the operation of user interface 412. In some examples, user interface 412 includes: user input and / or output device (e.g., physical button, touch screen, display, speaker, camera, accelerometer, biometric scanner, environmental sensor, one or more LEDs, etc.) and a software stack including driver and / or other code 408, which is configured to communicate with user input and / or output device. Therefore, user interface 412 enables sensor component 422 to interact with the user to receive input and / or present output. The presented output may include, for example, one or more GUIs, which include one or more controls configured to display output and / or receive input. The input may specify a value to be stored in data storage 410. The output may indicate a value stored in data storage 410. It should be noted that in some examples, part of user interface 412 is accessible and / or visible as part of housing 418 or through housing 418.
[0079] continue Figure 4A For example, the sensor assembly 420 may include one or more types of sensors, such as those described above with reference to Figure 1 The sensors described in the image capture devices 104 and 110, the motion sensor assembly 112, and the contact sensor assembly 106, or other types of sensors. For example, in at least one example, the sensor assembly 420 includes an image sensor (e.g., a charge coupled device or an active pixel sensor) and / or a temperature or thermal imaging sensor (e.g., an active and / or passive infrared (PIR) sensor). Regardless of the type of the sensor or sensors accommodated, the processor 400 can (e.g., via the execution code 408) acquire sensor data from the accommodated sensor and stream the acquired sensor data to the processor 400 for communication with the base station.
[0080] It should be noted that in some examples of devices 108 and 422, operations performed by processors 300 and 400 under the respective control of code 308 and 408 may be hard-coded and / or implemented in hardware rather than as a combination of hardware and software. In addition, execution of code 408 may implement Figure 1 The camera agent 138 may generate manipulation data as part of the data store 410 .
[0081] Now go to Figure 4B , schematically illustrates an example image capture device 500. The specific configuration of the image capture device 500 (eg, image capture devices 104 and 110) is described in detail in Figure 1 As shown in and described above. Figure 4B , image capture device 500 includes at least one processor 400, volatile memory 402, non-volatile memory 406, at least one network interface 404, a battery assembly 414, and an interconnect mechanism 416. These features of the image capture device are shown in phantom to indicate that they reside within a housing 418. Non-volatile memory 406 stores executable code 408 and data storage 410.
[0082] Some examples also include an image sensor assembly 450, a light 452, a speaker 454, a microphone 456, a wall mount 458, and a magnet 460. The image sensor assembly 450 may include a lens and an image sensor (e.g., a charge coupled device or an active pixel sensor) and / or a temperature or thermal imaging sensor (e.g., an active and / or passive infrared (PIR) sensor). The light 452 may include a light emitting diode (LED), such as a red, green, and blue emitting LED. In some examples, the light 452 may also include an infrared light emitting diode. The speaker 454 may include a transducer configured to emit a sound in the range of 60 dB to 80 dB or louder. In addition, in some examples, the speaker 454 may include an alarm configured to emit a sound in the range of 70 dB to 90 db or louder. The microphone 456 may include a microelectromechanical system (MEMS) microphone. The wall mount 458 may include a mounting bracket configured to receive a screw or other fastener for attaching the bracket to the wall, and a cover configured to be mechanically coupled to the mounting bracket. In some examples, the cover is composed of a magnetic material, such as aluminum or stainless steel, to enable the magnet 460 to magnetically couple to the wall mount 458, thereby holding the image capture device 500 in place.
[0083] In some examples, the corresponding descriptions of the processor 400, volatile memory 402, network interface 404, non-volatile storage 406, code 408 associated with the network interface 404, interconnect mechanism 416, and battery assembly 414 related to the security sensor 422 apply to these same features related to the image capture device 500. Therefore, these descriptions will not be repeated here.
[0084] continue Figure 4B In the example of FIG. 4 , by executing code 408, processor 400 can control the operation of image sensor assembly 450, light 452, speaker 454, and microphone 456. For example, in at least one example, when executing code 408, processor 400 controls image sensor assembly 450 to acquire sensor data in the form of image data to be streamed to base station 114 (or Figure 1 Alternatively or additionally, in at least one example, by executing code 408, processor 400 controls light 452 to emit light so that image sensor assembly 450 collects enough reflected light to compose image data. In addition, in some examples, by executing code 408, processor 400 controls speaker 454 to emit a sound. The sound can be generated locally (e.g., via an audible alarm of a siren) or received from base station 114 (or Figure 1Furthermore, in some examples, by executing code 408, processor 400 controls microphone 456 to obtain sensor data in the form of sound for streaming to base station 114 (or Figure 1 of processing 130, 128 or 132).
[0085] It should be understood that in Figure 4B In the example of FIG. 4 , light 452, speaker 454, and microphone 456 implement Figure 4A It should also be understood that the image sensor assembly 450 and the light 452 implement Figure 4A An example of the sensor assembly 420. Therefore, Figure 4B The image capture device 500 shown in FIG. Figure 4A At least one example of a safety sensor 422 is shown in .
[0086] Now go to Figure 5 , schematically showing Figure 1 Data center environment 124, Figure 1 Monitoring center environment 120, Figure 1 one of the client devices 122, Figure 1 Network 118, and Figure 1 Various aspects of a plurality of monitored locations 102A to 102N (collectively referred to as locations 102). Figure 5 As shown in , the data center environment 124 includes a monitoring service 128 and a transport service 126 (referred to as transport services 126A to 126D, respectively) and location data packets 516A to 516D (collectively referred to as location data packets 516). The monitoring service 128 includes a location data store 502, an image data store 504, a zone data store 506, an artificial intelligence (AI) service 508, an event listening service 510, and an identity provider 512. The zone data store 506 contains at least two types of records, client zone records 506A and monitor zone records 506B. The monitoring center environment 120 includes computing devices 518A to 518M (collectively referred to as computing devices 518) that host monitor interfaces 130A to 130M. Each location 102A to 102N includes a base station (e.g., a monitoring client 136A to 136N) that hosts a monitoring client 136. Figure 1 Base station 114, not shown).
[0087] like Figure 5As shown in , the location data store 502 is configured to store location data in association with the identifier of the customer whose location is monitored in multiple records. For example, the location data can be stored in the record together with the identifier of the customer and / or the identifier of the location to associate the location data with the customer and the location. The image data store 504 is configured to store one or more image data frames in association with the identifier of the location and the timestamp of acquiring the image data in multiple records. The zone data store 506 is configured to store zone definitions in association with the identifier of the image capture device to which the definition is applied in multiple records (e.g., of type 506A or 506B). In some examples, the zone defined in the customer zone record of type 506A has been approved for use by the customer (e.g., via the customer interface 132), and the zone defined in the monitor zone record 506B has been approved for use by the monitor interface (e.g., via the monitor interface 130) for the monitor.
[0088] continue Figure 5 In the example of , zone record 506A includes a type field, a geometry field, a coordinate field, and an image field. The type field is configured to store an identifier of the zone type specified by the zone record. Examples of values that may be stored in the type field include "filtered," "intruder," "loading zone," and "non-filtered," to name a few. The geometry field is configured to store a vector of values specifying the geometry of the zone. Examples of values that may be stored in the geometry field include "s,60" (specifying a square with a side length of 60 pixels); "r,45,90" (specifying a rectangle with a height of 45 pixels and a length of 90 pixels), and "c,89" (specifying a circle with a radius of 89 pixels). The coordinate field is configured to store an identifier of the location of a reference pixel for the zone within the frame. Examples of values that may be stored in the coordinate field include "125,453" (specifying the location of the reference pixel as being offset 125 pixels horizontally and 453 pixels vertically from the original pixel in the frame. The image field is configured to hold an identifier of an image to which the storage area applies. Example values that may be stored in the image field include "file1.avi,2232" (specifying a frame offset of 2232 from the first image in a sequence of images stored in the "file1.avi" Audio Video Interleave (AVI) file).
[0089] continue Figure 5In the example of, the monitor zone record 506B includes a category field, a subcategory field, a filter field, and a comment field. The category field is configured to store an identifier of a semantic area associated with the monitor zone specified by the record. Examples of values that can be stored in the category field include "tree", "shrub", and "sidewalk", just to name a few examples. The subcategory field is configured to store an identifier of a semantic sub-area associated with the monitor zone. Examples of values that can be stored in the subcategory field include "tree 1", "shrub 3", etc. The filter field is configured to store a Boolean value indicating whether the monitor zone is a filtered area or a non-filtered area. Examples of values that can be stored in the filter field include "0" or "1". The comment field is configured to store a description and / or additional information related to the monitor zone. Examples of values that can be stored in the comment field include "busy during the evening", "calling customers before alerting authorities to activities in the zone", etc.
[0090] continue Figure 5 In an example, the AI service 508 is configured to process an image and / or a sequence of images to identify semantic regions, movements, faces, and other features within an image or a sequence of images. The event listener 510 is configured to scan inbound location data for an event, and in the case of identifying an event, execute one or more event handlers to process the event. In some examples, the event handler may include an event reporter configured to identify reportable events and pass messages that convey reportable events to one or more receiver processes (e.g., client interface 132 and / or monitor interface 130). In some examples, the event listener 510 may interoperate with the AI service 508 to identify events within image data. The identity provider 512 is configured to receive an authentication request including security credentials from the monitoring client 136. When the identity provider 512 can (e.g., via a verification function, a cross-reference lookup, or some other authentication process) authenticate the security credentials in the request, the identity provider 512 may pass a security token in response to the request. The monitoring client 136 can receive, store, and include the security token in subsequent packets of location data (e.g., location data 516A) so that the transport service 126A can securely process (e.g., unpack / parse) the packets to extract the location data before passing it to the monitoring service 128. Figures 6 to 9 The processes that the monitoring service 128 is configured to perform are further described.
[0091] continue Figure 5 In the example of FIG. 5 , the transmission service 126 is configured to receive the location data packet 516, verify the authenticity of the packet 516, parse the packet 516, and extract the location data encoded therein before passing the location data to the monitoring service 128 for processing. The location data may include the location data encoded therein. Figure 1The respective transmission services 126 may be configured to process location data packets 516 generated by location-based monitoring equipment of a particular manufacturer and / or model. The monitoring client 136 is configured to generate a location data packet (e.g., location data packet 516) based on sensor information received at the location 102 and transmit the location data packet to the monitoring service 128 via the network 118.
[0092] continue Figure 5 In some examples, computing device 518 is configured to host monitor interface 130. In some examples, each monitor interface 130A to 130M is configured to present a GUI including one or more image frames overlaid with one or more regions. Figure 5 As shown in , the monitor interface 130A can present a GUI including an image frame overlaid with a monitor area 522, a client area 526, and an AI recommendation area 528. Similarly, the monitor interface 130M can present a GUI including an image frame overlaid with the monitor area 522 and the client area 526. In some examples, the monitor interface 130A can create and save the monitor area 522 based on input received from the user for use by other monitors, such as users of the monitor interface 130M, who can copy and / or change the properties of the monitor area 522. Fig.10 An example of a GUI screen that the monitor interface 130 is configured to present for this purpose is shown. In order to save the monitor zone 522, the monitor interface 130 can interoperate with the monitoring service 128 via one or more API calls. The monitoring service 128 is configured to store the zone setting information defining the monitor zone 522 in the zone data storage 506 in response to these API calls. In addition, in some examples, the monitor interface 130A can request the AI service 508 to recommend one or more zones for the image in response to input received from the user or as part of routine processing. In some examples, the AI service 508 is configured to respond to such a request by analyzing the image and recommending one or more areas within the image as one or more zones, and recording any recommended zones in the zone data storage 506. The monitor interface 130A can identify the AI recommended zone 528 and present it together with other zones defined in the zone data storage 506. U.S. Patent Application Publication No. 2023 / 0154296A1 also describes techniques for identifying recommended zones in some examples.
[0093] continue Figure 5 In some examples, client device 122 is configured to host client interface 132. In some examples, client interface 132 is configured to present a GUI including one or more image frames overlaid with one or more regions. Figure 5As shown in , the customer interface 132 may present a GUI including an image frame overlaid with a monitor area 522, a customer area 526, and an AI recommendation area 528. Figure 5 As shown in , in some examples, the customer interface 132 can request the customer to approve the monitor zone 522 and the AI recommendation zone 528. In some examples, the approval request is explicit, but in other examples, the approval request takes the form of simply presenting the zones 522 and 528 so that the zones 522 and 528 will be saved along with any other zone configuration data included in the GUI screen. Fig.10 An example of a GUI screen that the customer interface 132 is configured to present for this purpose is shown. Regardless of the specific interaction required for approval, if the customer approves the monitor or AI recommended zone, the approved zone is recorded as approved in the zone data store 506. For example, in some examples, the customer interface 132 requests that the approved zone be recorded as approved via one or more API calls to the monitoring service 128. Such approval may result in additional processing, such as passing zone configuration data to the image capture device, which will be referred to below. Figure 7 An example thereof is further described.
[0094] Now go to Figure 6 , monitoring process 600 is shown as a sequence diagram. In some examples, process 600 can be performed by a security system (e.g., Figure 1 More specifically, in some examples, at least a portion of process 600 is performed by one or more location-based devices (e.g., Figure 1 Devices 104 to 112) are executed by at least one processor (e.g., Figure 3 4 ) is executed under the control of device control system (DCS) code (e.g., code 308 or 408) implemented by processors 300 or 400 of FIG. 4 . The DCS code may include, for example, a camera device agent (e.g., Figure 1 At least a portion of the process 600 is performed by a base station (e.g., Figure 1 The base station 114) monitors the client (e.g., Figure 1 At least a portion of the process 600 is performed by a monitoring center environment (e.g., Figure 1 The monitoring center environment 120) in the monitor interface (e.g., Figure 1 At least a portion of process 600 is performed by a data center environment (e.g., Figure 1 data center environment 124) in monitoring services (e.g., Figure 1 ) or under the control of a transmission service (e.g., Figure 1At least a portion of process 600 is performed by a client device (e.g., Figure 1 The client device 122) at the client interface (e.g., Figure 1 The system is executed under the control of the client interface 132).
[0095] like Figure 6 As shown in , process 600 begins with the monitoring client 136 authenticating with the monitoring service 128 by exchanging one or more authentication requests and responses 604 with the monitoring service 128. More specifically, in some examples, the monitoring client 136 communicates the authentication request to the monitoring service 128 via one or more API calls to the monitoring service 128. In these examples, the monitoring service 128 parses the authentication request to extract security credentials therefrom, and communicates the security credentials to an identity provider (e.g., Figure 5 The monitoring service 128 may further include an identity provider 512 for authentication. In some examples, if the identity provider authenticates the security credentials, the monitoring service 128 generates a security token and passes the security token as a payload within the authentication response to the authentication request. In these examples, if the identity provider cannot authenticate the security credentials, the monitoring service 128 generates an error code and passes the error code as a payload within the authentication response to the authentication request. Upon receiving the authentication response, the monitoring client 136 parses the authentication response to extract the payload. If the payload includes an error code, the monitoring client 136 may retry the authentication and / or interact with a user interface of its host device (e.g., Figure 2 The user interface 212 of the base station 114 of the monitoring client 136) interacts to present an output indicating that the authentication failed. If the payload includes a security token, the monitoring client 136 stores the security token for subsequent use in the communication of location data. It should be noted that the security token may have a limited lifespan (e.g., 1 hour, 1 day, 1 week, 1 month, etc.), after which the monitoring client 136 may be required to re-authenticate with the monitoring service 128.
[0096] Continuing with process 600, one or more DCSs 602 hosted by one or more location-based devices obtain 606 a data source describing a location (e.g., Figure 1 The acquired sensor data may be of any of a variety of types, as described above with reference to Figure 14. In some examples, one or more DCS 602 continuously acquire sensor data. In some examples, one or more DCS 602 acquire sensor data in response to an event such as timer expiration (push event) or receiving an acquisition polling signal (poll event) transmitted by the monitoring client 136. In some examples, one or more of the DCS 602 streams the sensor data to the monitoring client 136 with minimal processing without acquisition and digitization. In these examples, the sensor data may constitute a sequence of vectors, wherein each vector member includes a sensor reading and a timestamp. Alternatively or additionally, in some examples, one or more of the DCS 602 performs additional processing of the sensor data, such as generating one or more summaries of multiple sensor readings. Further, in some examples, one or more of the DCS 602 performs complex processing of the sensor data. For example, if the security sensor includes an image capture device, the security sensor may perform image processing routines such as edge detection, motion detection, facial recognition, threat assessment, reportable event generation, recommended zone identification, filter zone editing, and zone relocation. For example, in at least one example, the image captured by the image capture device (e.g., Figure 1 10) in the image capture device 110) (e.g., Figure 4A The code 408 of the embodiment of the present invention instructs a processor (e.g., processor 400) to edit pixels from the acquired frame that fall within the region configuration data stored locally in the device (e.g., Figure 4A The image data is stored in one or more filter zones defined by the source device. In these examples, the security system benefits from editing the filter zones at the source device, thereby preventing unnecessary downstream storage, transmission, and processing of the edited image data.
[0097] Continuing with process 600, DCS 602 delivers sensor data 608 to monitoring client 136. As with sensor data acquisition, DCS 602 may deliver sensor data 608 continuously or in response to events such as push events (originating from DCS 602) or polling events (originating from monitoring client 136).
[0098] Continuing with process 600, the monitoring client 136 monitors 610 the location by processing the received sensor data 608. For example, in some examples, the monitoring client 136 performs one or more image processing routines. These image processing routines may include any of the image processing routines described above with reference to operation 606. By allocating at least some of the image processing routines between the DCS 602 and the monitoring client 136, some examples reduce the power consumed by the battery-powered device by offloading the processing to the line-powered device. In addition, in some examples, the monitoring client 136 may perform an overall threat detection process that utilizes sensor data 608 from multiple different DCSs 602 as input. For example, in at least one example, the monitoring client 136 will attempt to confirm the open state received from the contact sensor by motion and facial recognition processing of a scene image including the window to which the contact sensor is fixed. If two or more of the three processes indicate the presence of an intruder, the threat score is increased, or the intrusion event is announced, recorded locally, and transmitted. Other processing that may be performed by the monitoring client 136 includes outputting local alerts (e.g., in response to detecting certain events and / or satisfying other criteria), and detecting maintenance conditions for location-based equipment, such as the need to replace or recharge a low battery, and / or replace / maintain equipment hosting the DCS 602. Any of the processing within operation 610 described above may result in the creation of location data that specifies the results of the processing.
[0099] Continuing with process 600, the monitoring client 136 communicates location data 612 to the monitoring service 128. As with the sensor data 608 communications, the monitoring client 136 may communicate location data 612 continuously or in response to an event, such as a push event (originating from the monitoring client 136) or a polling event (originating from the monitoring service 128).
[0100] Continuing with process 600, the monitoring service 128 processes 614 the received location data. For example, in some examples, the monitoring service 128 performs one or more routines described above with reference to operation 606 and / or operation 610. Additionally or alternatively, in some examples, the monitoring service 128 uses historical information associated with the location identified in the location data and / or other locations geographically close to the location (e.g., within the same zone improvement plan (ZIP) code) to calculate a threat score or further refine an existing threat score. For example, in some examples, if multiple break-ins have been recorded for the location and / or other locations within the same ZIP code, the monitoring service 128 can increase the threat score calculated by the DCS 602 and / or the monitoring client 136. In some examples, the monitoring service 128 determines whether the location data 612 includes any reportable events by applying a set of rules and criteria to the location data 612, and if a reportable event is included, the event report 616A and / or 616B is transmitted to the monitor interface 130 and / or the customer interface 132. Reportable events may be specific types of events (e.g., a break-in) or specific types of events that meet additional criteria (e.g., movement within a specific zone combined with a threat score exceeding a threshold). Event reports 616A and / or 616B may have a priority based on the same criteria used to determine whether the event being reported is reportable, or may have a priority based on a different set of criteria or rules.
[0101] Continuing with process 600, the monitor interface 130 interacts with the monitoring personnel through, for example, one or more GUIs 618. These GUIs may provide details and context related to one or more reportable events. The GUIs may also enable the monitoring personnel to configure and / or otherwise manipulate the zones. Fig.10 and Fig.11 An example of such a GUI is described further.
[0102] Continuing with process 600, the client interface 132 interacts with at least one client 620, for example, via one or more GUIs. These GUIs may provide details and context about one or more reportable events. The GUIs may also enable the client to configure the zone and / or otherwise manipulate the zone. Fig.10 and Fig.11 An example of such a GUI is described further.
[0103] It should be noted that, as described above with reference to operations 606, 610, and 614, processing of sensor data and / or location data can be performed by processors disposed within various portions of the system 100. For example, in some examples, the DCS 602 performs minimal processing of the sensor data (e.g., only acquiring and streaming), while the remainder of the processing described above is performed by the monitoring client 136 and / or the monitoring service 128. This approach can help extend the battery runtime of location-based devices. In other examples, the DCS 602 performs as much processing of the sensor data as possible, leaving the monitoring client 136 and the monitoring service 128 to perform only the processing of the sensor data that is needed across location-based devices and / or locations. This approach can help improve the scalability of the system 100 with respect to adding new locations.
[0104] Now go to Figure 7 , configuration process 700 is shown as a sequence diagram. In some examples, process 700 can be performed by a security system (e.g., Figure 1 More specifically, in some examples, at least a portion of process 700 is performed by one or more location-based devices (e.g., Figure 1 Devices 104 to 112) are executed by at least one processor (e.g., Figure 3 4 ) is executed under the control of device control system (DCS) code (e.g., code 308 or 408) implemented by a base station (e.g., Figure 1 The base station 114) monitors the client (e.g., Figure 1 At least a portion of process 700 is performed by a monitoring center environment (e.g., Figure 1 The monitoring center environment 120) in the monitor interface (e.g., Figure 1 At least a portion of process 700 is performed by a data center environment (e.g., Figure 1 data center environment 124) in monitoring services (e.g., Figure 1 At least a portion of process 700 is performed by a client device (e.g., Figure 1 The client device 122) at the client interface (e.g., Figure 1 The system is executed under the control of the client interface 132).
[0105] like Figure 7 As shown in , the process 700 begins with the monitor interface 130 receiving 702 monitor zone configuration data. For example, in some examples, the monitor interface 130 presents a zone configuration screen, such as the following reference Fig.101000 is shown. In these examples, the monitor interface 130 receives input specifying zone configuration data via interaction between a user (e.g., a monitoring person) and the zone configuration screen. The zone configuration data may include, for example: one or more fields identifying pixels within a frame of image data included in a zone; data specifying a zone name; a description of the zone; comments associated with the zone; a type of zone (e.g., filtered, non-filtered, intruder, etc.); an approval status of the zone (monitor approved, client approved, unapproved, etc.); and one or more identifiers of one or more image capture devices to which the zone applies. In at least one example, the received monitor zone configuration data specifies that the zone is a monitor zone and that the zone is a filtered zone.
[0106] Continuing with process 700, the monitor interface 130 communicates the monitor zone configuration data 704 to the monitoring service 128. For example, in some examples, the monitor interface 130 transmits the monitor zone configuration data 704 to the monitoring service 128 via one or more API calls supported by the monitoring service 128.
[0107] Continuing with process 700, the monitoring service 128 processes 706 the monitor zone configuration data 704. For example, in some examples, the monitoring service 128 extracts the monitor zone configuration data 704 during processing of the API call and stores the monitor zone configuration data 704 in a zone data store (e.g., Figure 5 The zone data is stored in 506).
[0108] Continuing with process 700, monitoring service 128 passes monitor zone configuration data 708 to client interface 132. For example, in some examples, monitoring service 128 transmits monitor zone configuration data 708 to client interface 132 via one or more API calls supported by client interface 132.
[0109] Continuing with process 700, client interface 132 processes 710 monitor zone configuration data 708. For example, in some examples, client interface 132 extracts monitor zone configuration data 708 during processing of the API call, stores monitor zone configuration data 708 in a local data store, and creates a zone configuration GUI based on monitor zone configuration data 708, such as the one referenced below. Fig.10 Content is presented within the depicted zone configuration screen 1000. Additionally, within operation 710, the client interface 132 interacts with a user (e.g., a client) to generate client zone configuration data based on the monitor zone configuration data 708 and input received from the user. The client zone configuration data may include, for example, data indicating that the user approves the monitor zone defined by the monitor zone configuration data, thereby promoting the monitor zone to a client zone.
[0110] Continuing with process 700, client interface 132 communicates client area configuration data 712 to monitoring service 128. For example, in some examples, client interface 132 transmits client area configuration data 712 to monitoring service 128 via one or more API calls supported by monitoring service 128.
[0111] Continuing with process 700, the monitoring service 128 processes 714 the client zone configuration data 712. For example, in some examples, the monitoring service 128 extracts the client zone configuration data 712 during processing of the API call and stores the client zone configuration data 712 in the zone data store. Additionally, in examples where the monitoring client 136 and / or the DCS 602 edit pixels from the image data within the filter zone, the monitoring service 128 communicates the filter zone configuration data 716 to the monitoring client 136. For example, in some examples, the monitoring service 128 transmits the filter zone configuration data 716 to the monitoring client 136 via one or more API calls supported by the monitoring client 136.
[0112] Continuing with process 700, the monitoring client 136 processes 718 the filter zone configuration data 716. For example, in some examples, the monitoring client 136 extracts the filter zone configuration data 716 during processing of the API call and stores the filter zone configuration data 716 in a local data store. Additionally, in examples where the DCS 602 edits pixels from the image data within the filter zone, the monitoring client 136 communicates the filter zone configuration data 720 to the DCS 602 that controls the image capture device. For example, in some examples, the monitoring service 128 transmits the filter zone configuration data 720 to the DCS 602 via one or more API calls supported by the DCS 602.
[0113] Continuing with process 700, DCS 602 processes 722 filter zone configuration data 720. For example, in some examples, DCS 602 extracts filter zone configuration data 720 during processing of the API call and stores filter zone configuration data 720 in a local data store (e.g., Figure 4A In this way, the DCS 602 is ready to edit the image data before the image data is stored locally or delivered to the monitoring client 136.
[0114] Now go to Figure 8 , the zone editing process 800 is shown as a flow chart. In some examples, the process 800 can be performed by a security system (e.g., Figure 1 More specifically, in some examples, the process 800 is performed by one or more location-based image capture devices (e.g., Figure 1 device 104 or 110) is executed by at least one processor (e.g., Figure 4A Alternatively or additionally, in some examples, process 800 is executed by a base station (e.g., processor 400). Figure 1 The base station 114) monitors the client (e.g., Figure 1 Alternatively or additionally, in some examples, the process 800 is performed by a monitoring center environment (e.g., Figure 1 The monitoring center environment 120) in the monitor interface (e.g., Figure 1 Alternatively or additionally, in some examples, process 800 is performed by a data center environment (e.g., Figure 1 data center environment 124) in monitoring services (e.g., Figure 1 Alternatively or additionally, in some examples, process 800 is performed by a client device (e.g., Figure 1 The client device 122) at the client interface (e.g., Figure 1 Therefore, in the following description of process 800, the "processor" may be any of the processors mentioned above.
[0115] like Figure 8 As shown in , process 800 begins with a processor receiving 802 image data. For example, in an example where the processor resides in an image capture device, the processor receives 803 image data from a processor included in the image capture device (e.g., Figure 4A The processor may be configured to receive image data from an image capture circuit system in a sensor 420 of a base station. In an example where the processor resides in a base station, the processor receives the image data from one or more communications from a DCS executing on the image capture device. In an example where the processor resides in a data center environment, the processor receives the image data from one or more communications from a monitoring client executing on the base station. In an example where the processor resides in a monitoring center environment or a client device, the processor receives the image data from one or more communications from a monitoring service executing in the data center environment.
[0116] Continuing with process 800, the processor identifies 804 one or more filter region definitions. For example, in some examples where the processor resides in the image capture device, the processor identifies 804 one or more filter region definitions by retrieving the filter region definitions from a local data structure (e.g., stored in Figure 4AThe processor identifies the one or more filter zone definitions by retrieving one or more filter zone definitions from the data structure (in a data store 410 of FIG. 4 ). If the image capture device supports multiple fields of view (e.g., a wide field of view, a zoomed field of view, etc.), the data structure may associate the filter zone definitions with identifiers of the supported fields of view. In this implementation, the processor identifies the one or more filter zone definitions by retrieving from the data structure one or more filter zone definitions associated with a field of view that matches the field of view of the image data received in operation 802. The processor may match the field of view of the one or more filter zone definitions to the field of view of the image data by comparing the identifiers of the fields of view. In some examples where the processor resides in a base station, a data center environment, a monitoring center environment, or a client device, the processor retrieves the filter zone definitions from a data structure (e.g., Figure 2 Data storage 210 or Figure 5 The processor may identify one or more filter zone definitions by retrieving from a zone data store 506 (of the image capture device) one or more filter zone definitions that match the image capture device and / or the field of view of the image data received in operation 802. The processor may match the field of view of the image capture device and / or one or more filter zone definitions to the field of view of the image capture device and / or the image data by comparing identifiers of the image capture device and / or the field of view. It should be noted that in these implementations, the identifiers compared by the processor may each be a single identifier (e.g., a globally unique identifier or GUID) that uniquely identifies the image capture device, the field of view, or a unique combination of the image capture device and the field of view. In some examples where the processor resides in a data center environment, a monitoring center environment, or a customer device, the processor identifies the image capture device and the field of view by retrieving from a data structure (e.g., Figure 5 The processor may identify one or more filter zone definitions by retrieving from the zone data store 506 the one or more filter zone definitions associated with the location, image capture device, and / or field of view that matches the location, image capture device, and / or field of view of the image data received in operation 802. The processor may match the location, image capture device, and / or field of view associated with the one or more filter zone definitions with the location, image capture device, and / or field of view of the image data by comparing identifiers of the location, image capture device, and / or field of view. It should be noted that in these implementations, the identifiers compared by the processor may each be a single identifier (e.g., a globally unique identifier or GUID) that uniquely identifies a location / base station, an image capture device, a field of view, or a unique combination of a location, an image capture device, and a field of view.
[0117] Continuing with process 800, the processor edits 806 the pixels in the image data that fall within the filter region. For example, in some examples, the processor edits the pixels by overwriting the pixels with a default color or pattern. In other examples, the processor redefines the frame to exclude the pixels, thereby reducing the amount of storage space required for the frame.
[0118] Continuing with process 800, the processor stores 808 the edited image data in a data store accessible to the processor. After operation 808, process 800 ends.
[0119] Now go to Fig. 9 , the zone relocation process 900 is shown as a flow chart. In some examples, the process 900 can be performed by a security system (e.g., Figure 1 More specifically, in some examples, process 900 is performed by one or more location-based image capture devices (e.g., Figure 1 The device 104 or 110) is configured to execute at least one processor (e.g., Figure 4A Alternatively or additionally, in some examples, the process 900 is performed by a base station (e.g., Figure 1 The base station 114) monitors the client (e.g., Figure 1 Alternatively or additionally, in some examples, process 900 is performed by a monitoring center environment (e.g., Figure 1 The monitoring center environment 120) in the monitor interface (e.g., Figure 1 Alternatively or additionally, in some examples, process 900 is performed by a data center environment (e.g., Figure 1 data center environment 124) in monitoring services (e.g., Figure 1 Alternatively or additionally, in some examples, process 900 is performed by a client device (e.g., Figure 1 The client device 122) at the client interface (e.g., Figure 1 Therefore, in the following description of process 900, the "processor" may be any of the processors mentioned above.
[0120] like Fig. 9 As shown in , process 900 begins with a processor receiving 902 image data. For example, in an example where the processor resides in an image capture device, the processor receives 904 image data from a processor included in the image capture device (e.g., Figure 4AThe processor receives image data from an image capture circuit system in a sensor 420 of a base station. In an example where the processor resides in a base station, the processor receives image data from one or more communications generated by a DCS hosted by the image capture device. In an example where the processor resides in a data center environment, the processor receives image data from one or more communications generated by a monitoring client hosted by the base station. In an example where the processor resides in a monitoring center environment or a client device, the processor receives image data from one or more communications generated by a monitoring service executed in the data center environment. Regardless of where the processor resides, in some examples, the processor stores the received image data in a local data store.
[0121] Continuing with process 900, the processor calculates 904 one or more metrics indicating an amount of change in the FOV of the image capture device. For example, in some examples, the processor calculates one or more FOV change metrics using the current image data (or one or more portions thereof) received in operation 902 and image data (or one or more portions thereof) previously received and processed via process 900. In some examples, the current image data and the previous image data are image frames adjacent to each other in a sequence of frames. In some examples, to calculate the change metric, the processor identifies one or more current positions of one or more anchor pixels within the current image data, and determines one or more differences (e.g., in pixel distance) between the current position and one or more previous positions of one or more anchor pixels in the previous image data. In these examples, the one or more differences (or one or more summaries thereof) are one or more change metrics. In some examples, for example, once the FOV of the image capture device is established, the one or more anchor pixels are recorded in a local data store as part of the image capture device installation. In some examples, the one or more anchor pixels are recorded as part of a zone configuration to mark a zone boundary. In some examples, the one or more anchor pixels are autonomously selected. For example, in at least one example, anchor pixels are selected by the processor based on a semantic area in the FOV. In these examples, the processor selects one or more anchor pixels to cover portions of a semantic area associated with a physical object that does not substantially move under normal conditions, such as a large tree, a building, a street sign, etc.
[0122] Continuing with process 900, the processor determines 906 whether the FOV of the image capture device has changed. For example, in some examples, the processor compares one or more change metrics to one or more thresholds, and determines that the FOV has changed if the one or more change metrics exceed the one or more thresholds. In some examples, the thresholds are configurable values that are tuned to be crossed, where, for example, a predefined percentage (e.g., 10%, 20%, 30%, 40%, 50%, or more) of anchor pixels change position within the FOV. If the processor determines that the one or more change metrics indicate a FOV change, the processor proceeds to operation 908. If the processor determines that the one or more change metrics do not indicate a FOV change, the processor proceeds to operation 912.
[0123] Continuing with processing 900, the processor determines 908 whether one or more change metrics indicate that the image capture device has been tampered with. For example, in some examples, the processor compares one or more change metrics with one or more tampering thresholds, and if one or more change metrics exceed one or more tampering thresholds, it is determined that the image capture device has been tampered with. In some examples, the tampering threshold is a configurable value that is tuned to be crossed, where, for example, an agent or customer-defined area is partially to completely obscured (e.g., cannot be observed), and / or where, for example, a predefined percentage of anchor pixels (e.g., 10%, 20%, 30%, 40%, 50% or more) is obscured. If the processor determines that one or more change metrics indicate tampering, the processor proceeds to operation 910. If the processor determines that one or more change metrics do not indicate tampering, the processor proceeds to operation 914.
[0124] Continuing with process 900, the processor communicates 910 the tampering event. For example, in examples where the processor resides in the image capture device, the processor records the tampering event in a local data store and communicates the tampering event to a processor that resides in a base station and hosts the monitoring client. In these examples, the system communicates the tampering event (e.g., via Figure 1 The tamper event is relayed to a processor that hosts a monitor interface or a customer interface (e.g., a network 118, a transport service 126, a monitoring service 128, a monitoring center environment 120, and / or a customer device 122). In examples where the processor resides in a base station, the processor logs the tamper event in a local data store and passes the tamper event to a processor that resides in a data center environment and hosts the monitoring service. In these examples, the system sends the tamper event (e.g., via Figure 1The tamper event is relayed to a processor hosting a monitor interface or a customer interface via a network 118, a monitoring center environment 120, and / or a customer device 122. In an example where the processor resides in a data center environment, the processor records the tamper event in a local data store and passes the tamper event (e.g., via network 118) to one or more of the following processors: a processor residing in a monitoring center environment and hosting the monitor interface or a processor residing in a customer device and hosting the customer interface. Upon receiving the tamper event, the processor hosting the monitor interface or customer interface may control its resident device to output a notification of the tamper event via a user interface. The notification may be in the form of an email, text, and / or a user interface screen (e.g., see below for details). Fig.11 The event investigation screen 1100 described herein may include presentation of the event investigation screen 1100 ), as well as other notification forms.
[0125] Continuing with process 900, the processor determines 914 whether one or more change metrics indicate that the FOV of the image capture device is repositioned in a manner that does not inhibit operation of the image capture device. For example, in some examples, the processor compares the one or more change metrics to one or more repositioning thresholds and determines that the image capture device is repositioned if the one or more change metrics exceed the one or more repositioning thresholds. In some examples, the repositioning thresholds are configurable values that are tuned to be crossed where, for example, an agent or client defined area is partially or completely obscured (e.g., cannot be viewed). If the processor determines that one or more change metrics indicate repositioning, the processor proceeds to operation 916. If the processor determines that one or more change metrics do not indicate repositioning, the processor proceeds to operation 918.
[0126] Continuing with process 900, the processor communicates 916 the repositioning event. For example, in examples where the processor resides in the image capture device, the processor records the repositioning event in a local data store and communicates the repositioning event to a processor that resides in a base station and hosts the monitoring client. In these examples, the system communicates the repositioning event (e.g., via Figure 1 The relocation event is relayed to a processor that hosts a monitor interface or a customer interface (e.g., a network 118, a transport service 126, a monitoring service 128, a monitoring center environment 120, and / or a customer device 122). In examples where the processor resides in a base station, the processor logs the relocation event in a local data store and passes the relocation event to a processor that resides in a data center environment and hosts the monitoring service. In these examples, the system relays the relocation event (e.g., via Figure 1The processor may be a processor that hosts a monitor interface or a customer interface and / or a processor that hosts a monitor interface or a customer interface. In an example where the processor resides in a data center environment, the processor records the relocation event in a local data store and passes the relocation event (e.g., via network 118) to one or more of the following processors: a processor that resides in the monitoring center environment and hosts the monitor interface or a processor that resides in a customer device and hosts the customer interface. Upon receiving the relocation event, the processor that hosts the monitor interface or customer interface may control its resident device to output a notification of the relocation event via a user interface for approval. The notification may be in the form of an email, text, and / or a user interface screen (e.g., see below for reference). Fig.10 The presentation of the zone configuration screen 1000) described above, as well as other forms of notification.
[0127] Continuing with process 900, the processor adjusts 918 the position of the anchor pixel and the region within the FOV of the image capture device by changing the configuration data of the anchor pixel and the region. For example, in some examples, the processor applies the changes calculated in operation 904 to the configuration data of the anchor pixel and the region to move the expected position of the anchor pixel and the region within the next instance of image data.
[0128] Continuing with process 900, the processor continues at 912 to perform processes other than process 900 or to stop operation.
[0129] Now go to Fig.10 , a front view of the zone configuration screen 1000 is shown. Fig.10 As shown in , screen 1000 includes an image window control 1002, an area drawing tool control 1004, an area name control 1006, an area description control 1008, a save control 1010, and a close control 1012. Within window control 1002, two areas 1014A and 1014B (collectively referred to as areas 1014) are shown. Area 1014 can be a client area, a monitor area, or a mixture of both area types. In some examples, the monitor interface and / or the client interface are configured to present screen 1000 upon request. Therefore, in the following description, the term "screen interface" refers to the monitor interface and the client interface. In some examples, screen 1000 is rendered within a browser and is accessed by a monitoring service (e.g., Figure 1 In other examples, screen 1000 is provided by a computing device ( Figure 1 Client device 122, Figure 5 The system may be presented as a native application hosted by an operating system of any computing device in computing device 518, or other computing devices).
[0130] like Fig.10As shown in , the screen interface is configured to display an image data frame with a region 1014 superimposed thereon. Region 1014A is a rectangle. Region 1014B is an outline. Both regions in region 1014 can be created in response to user input in window control 1002. For example, in some examples, the screen interface is configured to receive input for selecting a drawing tool type via tool control 1004. Some examples of tool types selectable via tool control 1004 include line control, circle control, square control, rectangle control, and outline control. It should be noted that any shape (e.g., regular polygon, irregular polygon, etc.) can be drawn using tool types selectable via tool control 1004. In some examples, the screen interface is configured to respond to the selection of a specific tool type by displaying the selected drawing tool type in tool control 1004 and presenting the shape of the selected tool type in response to input received in window control 1002.
[0131] continue Fig.10 In some examples, the screen interface is configured to receive input specifying a name of a currently selected zone within window control 1002 via name control 1006. The screen interface is also configured to receive a description of the currently selected zone via description control 1008. In some examples, the screen interface is configured to store zone configuration data defining the currently selected zone in a data store (e.g., Figure 5 data storage 506), and closing screen 1000 in response to receiving input selecting close control 1012.
[0132] Now go to Fig.11 , showing a front view of the incident investigation screen 1100. Fig.11 As shown in , screen 1100 includes an image window control 1102, a zone name control 1104, a zone description control 1106, a report control 1108, a close control 1110, and a zone edit control 1112. Within window control 1102, zone 1014 is shown. In some examples, the monitor interface and / or the client interface are configured to present screen 1100 upon request. Therefore, in the following description, the term "screen interface" refers to the monitor interface and the client interface. In some examples, screen 1100 is presented within a browser and is accessed by a monitoring service (e.g., Figure 1 In other examples, screen 1100 is provided by a computing device ( Figure 1 Client device 122, Figure 5 The system may be presented as a native application hosted by an operating system of any computing device in computing device 518, or other computing devices).
[0133] like Fig.11, the screen interface is configured to display an image data frame with regions 1014 superimposed thereon. In some examples, the screen interface is configured to receive input selecting one of the regions 1014 or hovering over one of the regions 1014. In these examples, the screen interface is configured to display the region name and description of the selected or hovered region in name control 1104 and description control 1106, respectively.
[0134] continue Fig.11 In some examples, the screen interface is configured to receive input selecting report control 1108, and in response thereto, initiate an interactive communication session (e.g., a phone call) to emergency services for the location from which the image data was received. In some examples, the screen interface is configured to receive input selecting close control 1110, and in response thereto, close screen 1100. In some examples, the screen interface is configured to receive input selecting edit control 1112, and in response thereto, present an interactive communication session (e.g., a phone call) to emergency services for the location from which the image data was received. Fig.10 The screen is 1000.
[0135] Now go to Fig.12 , schematically shows a computing device 1200. Fig.12 As shown in FIG. 1 , the computing device includes at least one processor 1202, volatile memory 1204, one or more interfaces 1206, non-volatile memory 1208, and an interconnect mechanism 1214. The non-volatile memory 1208 includes code 1210 and at least one data store 1212.
[0136] In some examples, the non-volatile (non-transitory) memory 1208 includes one or more read-only memory (ROM) chips; one or more hard disk drives or other magnetic or optical storage media; one or more solid-state drives (SSDs), such as flash drives or other solid-state storage media; and / or one or more hybrid magnetic and SSDs. In some examples, the code 1210 stored in the non-volatile memory may include an operating system and one or more applications or programs configured to execute under the operating system. Alternatively or additionally, the code 1210 may include dedicated firmware and embedded software that can be executed without relying on a commercially available operating system. In any case, the execution of the code 1210 may generate manipulated data that can be stored in the data store 1212 as one or more data structures. The data structure may have fields that are associated by positions in the data structure. Such an association can also be achieved by allocating storage for the field in a location within the memory that transmits the association between the fields. However, other mechanisms can be used to establish associations between information in the fields of the data structure, including by using pointers, tags, or other mechanisms.
[0137] continue Fig.12In some examples, the processor 1202 may be one or more programmable processors for executing one or more executable instructions, such as a computer program specified by the code 1210, to control the operation of the computing device 1200. As used herein, the term "processor" describes a circuit system that performs a sequence of functions, operations, or operations. Functions, operations, or sequences of operations may be hard-coded into the circuit system, or soft-coded and executed by the circuit system through instructions stored in a memory device (e.g., volatile memory 1204). In some examples, the processor 1202 is a digital processor, but the processor 1202 may be analog, digital, or mixed. Therefore, the processor 1202 may use digital values and / or use analog signals to perform functions, operations, or sequences of operations. In some examples, the processor 1202 may be implemented with one or more application specific integrated circuits (ASICs), microprocessors, digital signal processors (DSPs), graphics processing units (GPUs), neural processing units (NPUs), microcontrollers, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), or multi-core processors. Examples of multi-core processor 1202 may provide functionality for executing instructions in parallel or simultaneously or for executing one instruction on more than one piece of data in parallel or simultaneously.
[0138] continue Fig.12 In an example, before executing code 1210, processor 1202 may copy code 1210 from non-volatile memory 1208 to volatile memory 1204. In some examples, volatile memory 1204 includes one or more static or dynamic random access memory (RAM) chips, and / or cache memory (e.g., memory disposed on the silicon die of processor 1202). Volatile memory 1204 may provide a faster response time than main memory (e.g., non-volatile memory 1208).
[0139] By executing code 1210, processor 1202 can control the operation of interface 1206. Interface 1206 may include a network interface. These network interfaces may include one or more physical interfaces (e.g., radio, Ethernet port, USB port, etc.) and a software stack including drivers and / or other code 1210, which is configured to communicate with one or more physical interfaces to support one or more LAN, PAN and / or WAN standard communication protocols. Communication protocols may include, for example, TCP and UDP, etc. Therefore, the network interface enables computing device 1200 to access other computing devices and communicate with other computing devices via a computer network.
[0140] Interface 1206 may include a user interface. For example, in some examples, the user interface includes a user input and / or output device (e.g., keyboard, mouse, touch screen, display, speaker, camera, accelerometer, biometric scanner, environmental sensor, etc.) and a software stack including a driver and / or other code 1210, which is configured to communicate with the user input and / or output device. Therefore, the user interface enables computing device 1200 to interact with the user to receive input and / or present output. The output presented may include, for example, one or more GUIs, which include one or more controls configured to display output and / or receive input. The input may specify a value to be stored in data storage 1212. The output may indicate a value stored in data storage 1212.
[0141] continue Fig.12 In some examples, the various features of the computing device 1200 described above can communicate with each other via an interconnect mechanism 1214. In some examples, the interconnect mechanism 1214 includes a communication bus.
[0142] Various inventive concepts may be embodied as one or more methods, examples of which have been provided. The actions performed as part of the method may be ordered in any suitable manner. Thus, examples may be constructed in which the actions are performed in an order different from that shown, which may include performing some actions simultaneously, even though shown as sequential actions in illustrative examples.
[0143] Following is a description of additional examples. Other variations will be apparent from this disclosure.
[0144] Example 1 is a method comprising: receiving input specifying a zone for obstructing a portion of a field of view of an image capture device from a monitor interface implemented by a first computing device; receiving from the image capture device an image of the field of view acquired by the image capture device; and delivering to a client interface implemented by a second computing device different from the first computing device the image wherein the portion is obstructed by the zone.
[0145] Example 2 includes the subject matter of Example 1, wherein receiving input specifying the zone includes: transmitting information related to the zone through a private network within a monitoring center, and transmitting the information related to the zone through a public network connected to the private network; and transmitting the image in which the portion is obscured by the zone includes: transmitting the information related to the zone to the second computing device through the public network.
[0146] Example 3 includes the subject matter of Example 2, wherein the information related to the region specifies a description of the region.
[0147] Example 4 includes the subject matter of Example 2 or Example 3, wherein the information related to the region specifies that the region has an irregular polygonal shape.
[0148] Example 5 includes the subject matter of any of Examples 2 to 4, further comprising receiving, via the client interface, input requesting to store the region as a client region.
[0149] Example 6 includes the subject matter of any of Examples 2 to 5, wherein the region is a filter region, and the method further comprises communicating the information related to the region to the image capture device.
[0150] Example 7 includes the subject matter of Example 6, further comprising editing, by the image capture device, image data from an acquired image, the image data falling within the region.
[0151] Example 8 includes the subject matter of any one of Examples 1 to 7, wherein the first computing device is coupled to a private network of a monitoring center, the monitor interface is a first instance of the monitor interface, and the method further includes: presenting a first representation of the zone on the first instance of the monitor interface; and presenting a second representation of the zone on a second instance of the monitor interface implemented by a third computing device coupled to the private network.
[0152] Example 9 is a method comprising: displaying, via a customer interface, a recommendation for a zone that encompasses one or more objects identified within a field of view of an image capture device; receiving, via the customer interface, an input requesting that the zone be stored as a customer zone; and delivering a representation of the customer zone overlaid on the image to a monitor interface implemented by a computing device coupled to a dedicated network within a monitoring center, thereby providing customer privacy during event handling by preventing monitoring personnel from viewing portions of the image covered by the representation of the customer zone.
[0153] Example 10 includes the subject matter of Example 9, wherein the image is a first image and the method further includes: acquiring, by the image capture device, a second image within the field of view of the image capture device; identifying the one or more objects within the second image; and calculating at least one metric indicating an amount of change between the first image and the second image with respect to at least one of the one or more objects and the client area.
[0154] Example 11 includes the subject matter of Example 10, further comprising determining, using the at least one metric, whether the field of view of the image capture device has been repositioned.
[0155] Example 12 includes the subject matter of Example 10 or Example 11, further comprising determining whether the image capture device has been tampered with by using the at least one metric.
[0156] Example 13 includes the subject matter of Example 12, further comprising, in response to determining that the image capture device has been repositioned, adjusting the information related to the zone to generate adjusted information related to the zone.
[0157] Example 14 includes the subject matter of Example 13, further comprising determining that the at least one metric crosses a threshold; and in response to determining that the at least one metric crosses the threshold, presenting the adjusted information in the customer interface for approval.
[0158] Example 15 includes the subject matter of any of Examples 9 to 14, further comprising determining a threat score for the client area.
[0159] Example 16 includes the subject matter of any of Examples 9 to 15, further comprising identifying the one or more objects as being immovable using semantic segmentation.
[0160] Example 17 is a system comprising: at least one computing device, the at least one computing device being located in a data center environment and being configured to receive information specifying a zone for obstructing a portion of a field of view of an image capture device from a monitor interface hosted by a first computing device different from the at least one computing device; receive an image of the field of view of the image capture device from the image capture device; and deliver the image wherein the portion is obstructed by the zone to a client interface implemented by a second computing device different from the first computing device and the at least one computing device.
[0161] Example 18 includes the subject matter of Example 17, further comprising a private network connected to the at least one computing device; and the image capture device, wherein the at least one computing device is configured to communicate with the image capture device via the private network and at least one public network.
[0162] Example 19 includes the subject matter of Example 17 or Example 18, further comprising a private network connected to the at least one computing device; and the first computing device, wherein the at least one computing device is configured to communicate with the first computing device via the private network and at least one public network.
[0163] Example 20 includes the subject matter of any of Examples 17 to 19, further comprising a private network connected to the at least one computing device, wherein the at least one computing device is configured to communicate with the second computing device via the private network and at least one public network.
[0164] The use of ordinal terms such as "first," "second," "third," etc. in the claims to modify claim elements does not in itself imply any priority, precedence, or sequence of one claim element relative to another claim element or a temporal order of the acts of performing a method. Such terms are merely used as labels to distinguish one claim element having a particular name from another element having the same name (but for ordinal terms).
[0165] The examples of the methods and systems discussed herein are not limited in application to the details of the construction and arrangement of the components set forth in the following description or shown in the accompanying drawings. The methods and systems can be implemented in other examples and practiced or executed in various ways. The examples of specific implementations provided herein are only for illustrative purposes and are not intended to be limiting. In particular, the actions, components, elements, and features discussed in conjunction with any one or more examples are not intended to be excluded from similar roles in any other examples.
[0166] In addition, the wording and terms used in this article are for the purpose of description and should not be considered as limiting. Any reference to the examples, parts, elements or actions of the systems and methods mentioned in the singular form herein may also include examples containing plural numbers, and any reference to any plural form of any example, part, element or action in this article may also include examples containing only singular numbers. References in singular or plural form are not intended to limit the currently disclosed system or method, its parts, actions or elements. The use of "containing", "including" or "having", "including", "involving" and its variations in this article is intended to cover the items listed thereafter and their equivalents and additional items. References to "or" can be interpreted as inclusive, so that any term described using "or" can indicate a single, more than one and all terms in the described terms. In addition, in the case of inconsistent usage of terms between this document and the documents incorporated by reference in this article, the term usage in the incorporated reference is a supplement to the term usage in this document; for irreconcilable inconsistencies, the term usage in this document shall prevail.
[0167] Having described several examples in detail, those skilled in the art will readily appreciate various modifications and improvements. Such modifications and improvements are intended to fall within the scope of the present disclosure. Therefore, the foregoing description is only exemplary and is not intended to be limiting.
Claims
1. A method comprising: receiving input from a monitor interface implemented by the first computing device specifying a zone for occluding a portion of a field of view of the image capture device; receiving from the image capture device an image of the field of view acquired by the image capture device; as well as The image with the portion obscured by the region is communicated to a client interface implemented by a second computing device different from the first computing device.
2. The method according to claim 1, wherein: Receiving input specifying the zone includes communicating information relating to the zone via a dedicated network within the monitoring centre, and communicating said information relating to said zone via a public network connected to said private network; and Transmitting the image such that the portion is occluded by the region comprises The information related to the zone is communicated to the second computing device over the public network.
3. The method according to claim 2, wherein: The information associated with the region specifies a description of the region.
4. The method according to claim 2 or claim 3, wherein: The information regarding the region specifies that the region has an irregular polygonal shape.
5. The method of any one of claims 2 to 4, further comprising receiving, via the client interface, input requesting that the area be stored as a client area.
6. The method according to any one of claims 2 to 5, wherein: The zone is a filter zone, and the method further comprises: The information regarding the zone is communicated to the image capture device.
7. The method of claim 6, further comprising compiling, by the image capture device, image data from an acquired image, the image data falling within the region.
8. The method according to any one of claims 1 to 7, wherein: The first computing device is coupled to a private network of a monitoring center, the monitor interface is a first instance of the monitor interface, and the method further includes: presenting a first representation of the zone on the first instance of the monitor interface; and A second representation of the zone is presented on a second instance of the monitor interface implemented by a third computing device coupled to the private network.
9. A method comprising: displaying, via a customer interface, a recommendation for a region encompassing one or more objects identified within a field of view of the image capture device; receiving, via the client interface, input requesting to store the zone as a client zone; as well as A representation of the client area overlaid on the image is communicated to a monitor interface implemented by a computing device coupled to a private network within a monitoring center, thereby providing client privacy during event handling by preventing monitoring personnel from viewing portions of the image covered by the representation of the client area.
10. The method according to claim 9, wherein: The image is a first image, and the method further comprises: acquiring, by the image capture device, a second image within the field of view of the image capture device; identifying the one or more objects within the second image; and At least one metric is calculated that indicates an amount of change between the first image and the second image with respect to at least one of the one or more objects and the client area.
11. The method of claim 10, further comprising using the at least one metric to determine whether the field of view of the image capture device has been repositioned.
12. The method of claim 10 or claim 11, further comprising determining whether the image capture device has been tampered with by using the at least one metric.
13. The method of claim 12, further comprising, in response to determining that the image capture device has been repositioned, adjusting the information related to the zone to generate adjusted information related to the zone.
14. The method according to claim 13, further comprising: determining that the at least one metric crosses a threshold; as well as In response to determining that the at least one metric crosses the threshold, presenting the adjusted information in the customer interface for approval.
15. The method of any one of claims 9 to 14, further comprising determining a threat score for the client area.
16. The method of any one of claims 9 to 15, further comprising identifying the one or more objects as being immovable using semantic segmentation.
17. A system comprising: At least one computing device located in a data center environment and configured to receiving, from a monitor interface hosted by a first computing device different from the at least one computing device, information specifying a zone for occluding a portion of a field of view of an image capture device; receiving from the image capture device an image of the field of view of the image capture device; as well as The image with the portion obscured by the region is communicated to a client interface implemented by a second computing device different from the first computing device and the at least one computing device.
18. The system of claim 17, further comprising: a private network connected to the at least one computing device; as well as The image capture device, wherein the at least one computing device is configured to communicate with the image capture device via the private network and at least one public network.
19. The system of claim 17 or claim 18, further comprising: a private network connected to the at least one computing device; as well as The first computing device, wherein the at least one computing device is configured to communicate with the first computing device via the private network and at least one public network.
20. The system of any one of claims 17 to 19, further comprising a dedicated network connected to the at least one computing device, wherein: The at least one computing device is configured to communicate with the second computing device via the private network and at least one public network.
Citation Information
Patent Citations
Identifying regions of interest in an imaging field of view
US20230154296A1