Dynamic polygon systems for deep object detection
The dynamic image analysis system addresses inefficiencies in surveillance systems by allowing selective polygon-based image analysis, improving accuracy and resource use by focusing on relevant areas.
Patent Information
- Application Number
- PCT/US2025/037405
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-11
- Filing Date
- 2025-07-11
- Publication Date
- 2026-01-15
AI Technical Summary
Existing image and video surveillance systems inefficiently utilize processing resources and generate false flags by analyzing entire images, missing the ability to focus on specific areas of interest.
A dynamic image analysis system that allows users to select customized polygon or irregular polygon regions within images for analysis, using trained models to detect conditions or objects within these specified areas, reducing false flags and processing requirements.
The system efficiently analyzes specific image portions, reducing false alerts and conserving processing resources by focusing on relevant areas, thus enhancing accuracy and resource utilization.
Smart Images

Figure US2025037405_15012026_PF_FP_ABST
Abstract
Description
DYNAMIC POLYGON SYSTEMS FOR DEEP OBJECT DETECTIONCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority pursuant to 35 U.S.C. § 119(e) of U.S. Provisional Patent Application No. 63 / 670,002, filed July 11 , 2024, entitled “Dynamic Polygon Systems for Deep Object Detection,” which is hereby incorporated by reference herein in its entirety.FIELD
[0002] The present disclosure relates generally to systems and methods for automatic analysis of surveillance or other images and video.BACKGROUND
[0003] Video and image surveillance systems may include various algorithms or models trained to detect and flag various conditions and / or objects within images captured by the system. Generally, such systems receive the entirety of an image and models may analyze the entire image to detect a condition or object, which may use large amounts of processing resources and result in false flags from conditions detected outside of an area of interest within the image.SUMMARY
[0004] An example method disclosed herein includes receiving a selection of a portion of an image for analysis and analyzing the portion of the image using a model trained to detect a condition in the portion of the image. The selected portion may be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. Responsive to detection of the condition, the method includes transmitting at least one notification to one or more user devices and / or causing one or more actions to be performed. In some embodiments, prior to transmitting the notification(s) and / or causing the action(s) to be performed, the method includes generating a flag indicating the condition in the portion of the image. In response to the generation of the flag, the at least one notification may be transmitted and / or the one or more actions or may be caused to be performed.
[0005] Another example method disclosed herein includes receiving a selection of a first portion of an image for detection of a first condition and receiving a second portion of theimage for detection of a second condition. The first portion and the second portion may each be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. The method further includes analyzing the first portion of the image using a first model trained to detect the first condition in the first portion of the image and analyzing the second portion of the image using a second model trained to detect the second condition in the second portion of the image. Responsive to detection of the first condition by the first model, the method includes transmitting at least one first notification to one or more first user devices and / or causing one or more first actions to be performed. Responsive to detection of the second condition by the second model, the method includes transmitting at least one second notification to one or more second user devices and / or causing one or more second actions to be performed. At least one action in the at least one first action may differ from the at least one second action. Additionally or alternatively, at least one first user device in the one or more first user devices can differ from the one or more second user devices. In some embodiments, prior to transmitting the first notification(s) and / or causing the one or more first actions to be performed, the method includes generating a first flag indicating the first condition in the first portion of the image. In response to the generation of the first flag, the at least one first notification may be transmitted and / or the one or more first actions may be caused to be performed. In some embodiments, prior to transmitting the second notification(s) and / or causing the one or more second actions to be performed, the method includes generating a second flag indicating the second condition in the second portion of the image. In response to the generation of the second flag, the at least one second notification may be transmitted and / or one or more second actions may be caused to be performed.
[0006] An example non-transitory computer readable media disclosed herein includes instructions which, when executed by one or more processors of a dynamic image analysis system, cause the dynamic image analysis system to perform operations including receiving a selection of a portion of an image for analysis and analyzing the portion of the image using a model trained to detect a condition in the portion of the image. The portion may be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. The operations further include responsive to detection of the condition, transmitting at least one notification to one or more user devices and / or causing one or more actions to be performed. In some embodiments, the operations further include generating a flag indicating the condition in the portion of the image prior to transmitting the notification(s) and / or causingthe action(s) to be performed. In response to the generation of the flag, the at least one notification may be transmitted and / or the one or more actions may be caused to be performed.
[0007] An example non-transitory computer readable media disclosed herein includes instructions which, when executed by one or more processors of a dynamic image analysis system, cause the dynamic image analysis system to perform operations including receiving a selection of a first portion of an image for detection of a first condition and receiving a second portion of the image for detection of a second condition. The first portion and the second portion may each be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. The operations further include analyzing the first portion of the image using a first model trained to detect the first condition in the first portion of the image and analyzing the second portion of the image using a second model trained to detect the second condition in the second portion of the image. The operations further include transmitting at least one first notification to one or more first user devices, and / or causing one or more first actions to be performed, in response to detection of the first condition by the first model. The operations further include transmitting at least one second notification to one or more second user devices, and / or causing one or more second actions to be performed, in response to detection of the second condition by the second model. At least one action in the at least one first action may differ from the at least one second action. Additionally or alternatively, at least one first user device in the one or more first user devices can differ from the one or more second user devices. In some embodiments, the operations further include generating a first flag indicating the first condition in the first portion of the image prior to transmitting the first notification(s) and / or causing the first action(s) to be performed. In response to the generation of the first flag, the at least one first notification may be transmitted and / or the one or more first actions may be caused to be performed. In some embodiments, the operations further include generating a second flag indicating the second condition in the second portion of the image prior to transmitting the second notification(s) and / or causing the second action(s) to be performed. In response to the generation of the second flag, the at least one second notification may be transmitted and / or the one or more second actions may be caused to be performed.
[0008] An example system disclosed herein includes a processor and a memory. The memory stores instructions, that when executed by the processor, cause operations to be performed. The operations include receiving a selection of a portion of an image for analysis andanalyzing the portion of the image using a model trained to detect a condition in the portion of the image. The selected portion may be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. Responsive to detection of the condition, the operations include transmitting at least one notification to one or more user devices and / or causing one or more actions to be performed. In some embodiments, the memory stores further instructions for generating a flag indicating the condition in the portion of the image prior to transmitting the notification(s) and / or causing the action(s) to be performed. In response to the generation of the flag, the at least one notification may be transmitted and / or the one or more actions may be caused to be performed.
[0009] Another example system disclosed herein includes a processor and a memory. The memory stores instructions, that when executed by the processor, cause operations to be performed. The operations include receiving a selection of a first portion of an image for detection of a first condition and receiving a second portion of the image for detection of a second condition. The first portion and the second portion may each be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. The operations include analyzing the first portion of the image using a first model trained to detect the first condition in the first portion of the image and analyzing the second portion of the image using a second model trained to detect the second condition in the second portion of the image. The operations include transmitting at least one first notification to one or more first user devices and / or causing one or more first actions to be performed in response to detection of the first condition by the first model. The operations include transmitting at least one second notification to one or more second user devices and / or causing one or more second actions to be performed in response to detection of the second condition by the second model. In some embodiments, prior to transmitting the first notification(s) and / or causing the first action(s) to be performed, the operations include generating a first flag indicating the first condition in the first portion of the image. In response to the generation of the first flag, the at least one first notification may be transmitted and / or the one or more first actions may be caused to be performed. In some embodiments, prior to transmitting the second notification(s) and / or causing the second action(s) to be performed, the operations include generating a second flag indicating the second condition in the second portion of the image. In response to the generation of the second flag, the at least one second notification may be transmitted and / or one or more second actions may be caused to be performed.
[0010] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. A more extensive presentation of features, details, utilities, and advantages of the present invention as defined in the claims is provided in the following written description of various embodiments and implementations and illustrated in the accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 illustrates an example dynamic image analysis system and various systems in communication with the dynamic image analysis system through a network, in accordance with various embodiments of the disclosure.
[0012] FIG. 2 illustrates an example dynamic image analysis system in accordance with various embodiments of the disclosure.
[0013] FIG. 3 is a schematic diagram of an example computer system implementing various embodiments in the examples described herein.
[0014] FIGS. 4A-4B illustrate example user interfaces for selecting areas of interest within an image, in accordance with various embodiments of the disclosure.
[0015] FIG. 5 illustrates an example process for analyzing a portion of an image using a dynamic image analysis system in accordance with various embodiments of the disclosure.
[0016] FIG. 6 illustrates an example process for analyzing multiple portions of an image using a dynamic image analysis system in accordance with various embodiments of the disclosure.DETAILED DESCRIPTION
[0017] The present disclosure relates generally to a system for image analysis. The dynamic image analysis system disclosed herein may analyze specific portions of images and / or video streams chosen by a user or that may be otherwise selected (e.g., automatically identified by an algorithm or other model for analysis). For example, the dynamic image analysis system may be used to analyze surveillance video detect objects (e.g., weapons, people, vehicles, fires, specific objects, and the like) and / or flag certain conditions within the images. The dynamic image analysis system may receive selections of portions of the image to analyze for identification of particular objects and / or conditions. For example, in one embodiment, a user may select an area next to a gas pump to cause the dynamic image analysis system to searchfor vehicles pulling up to the gas pump. Because the user can select a relevant portion of an image, false flags may be reduced, and the dynamic image analysis system may use fewer processing resources than systems analyzing an entire image. For example, if an entire image were analyzed to identify vehicles, the user may be notified of every vehicle present over a large area, even when the user is interested in identifying vehicles only in a specific area (e.g., pulling up to a gas pump). Further, models used to analyze images may use less processing resources and analyze portions of images faster than analyzing a larger image.
[0018] Embodiments disclosed herein are described in conjunction with a user selecting a portion or portions of an image for analysis. However, in other embodiments, one or more trained models and / or image analysis algorithms may be used to select a relevant portion or portions of an image. For example, a model may be trained to detect specific conditions and / or objects within image data and the location or position of the condition or object in the mage (e.g., object localization). Conditions may include, for example and without limitation, motion, a presence of a particular object (e.g., a person, vehicle, weapon, and the like), temperature, fire, water (e.g., pipe leaks, triggered sprinklers, and the like), smoke, and various other conditions. The selected portion or portions may be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas.
[0019] For example, in one embodiment, one or more images of a surveillance area are captured, where each image is a still image or a frame forming part of video data. For example, an imaging system may be configured to capture video continuously or at select times or capture still images at select times. A trained model or algorithm may be configured to analyze the captured image(s) to detect and locate a condition or an object in at least one image and select a portion of the image (e.g., polygon or irregular polygon) that covers the relevant area of the image that includes the object or the condition. In one embodiment, the model or the image analysis algorithm may be trained to detect a specific type of object or the condition (or types of objects or conditions) in images. In some embodiments, the selected portion of the image may be analyzed by another model or algorithm that is trained to detect the object or the condition in images. In other embodiments, the trained model and / or the image analysis algorithm that is used to detect and locate the object or the condition in the captured image may be the same model or algorithm that is used to analyze the selected portion of the captured image to detect the condition or the object..
[0020] The portions of images selected by users may be polygons of various shapes. For example, users may select an area of an image and / or a video stream using a user interface.The selected area may be, for example and without limitation, a square, rectangle, triangle, irregular polygon, circle, oval, or other polygon or curved shapes or combinations thereof. Because such shapes may be highly customized by a user, false flags and processing resources may be further reduced. For example, a user may select a more precise area of an image for analysis as compared to selection being limited to a square, rectangle, or other shape which may capture more than the desired portion of the image.
[0021] In a specific example, the system may utilize different models to analyze images for different conditions. For example, the dynamic image analysis system may include any number of models or algorithms designed and / or trained to identify particular conditions within an image. For example, a dynamic image analysis system may include models configured to detect vehicles, people, and weapons. In several embodiments, portions of the same image, or the same portions of the image may be analyzed by different models of the dynamic image analysis system. For example, an image or video feed of an outdoor area surrounding a gas station may be provided to the dynamic image analysis system. Areas near the gas pumps may be provided to a first model to identify when there is a vehicle present next to any given gas pump. The area around a door to the retail portion of the gas station may be provided to a second model to identify people entering the retail portion of the gas station. A locked area around an exterior fuel tank may be provided to a third model to identify any motion around the fuel tank.
[0022] In some embodiments, the dynamic image analysis system may perform additional operations responsive to detection of a particular object or condition within an image. For example, the dynamic image analysis system may provide push notifications or other alerts to various user devices to indicate that some condition has been detected within the image. In some examples, the dynamic image analysis system may capture and store additional information from an image responsive to detection of a condition within the image. For example, where the dynamic image analysis system detects a vehicle, the system may identify a license plate on the vehicle, read the license plate information, and store the license plate information for later access. In some examples, the dynamic image analysis system may capture, and store subsequent images of an area provided to the system responsive to detection of a condition. For example, the dynamic image analysis system may store subsequent video of a portion of a surveillance area responsive to detection of motion in a particular portion of the surveillance area.
[0023] Various embodiments of the present disclosure will be explained below in detail with reference to the accompanying drawings. Other embodiments may be utilized, and structural,logical and electrical changes may be made without departing from the scope of the present disclosure.
[0024] Turning now to the figures, FIG. 1 illustrates an example dynamic image analysis system 102 and various systems in communication with the dynamic image analysis system 102 through a network 104. As shown in FIG. 1, the dynamic image analysis system 102 may, in some examples, be in communication with a user device 106 and an imaging system 108 via a network 104. The imaging system 108 generally provides still images or video streams including sequential still images obtained by the imaging system 108. The imaging system 108 may generally obtain images of a surveillance area 109, which may include various areas of interest corresponding to portions of the image analyzed by the dynamic image analysis system 102. For example, the surveillance area 109 includes areas of interest next to a gas pump, surrounding a trash can, and in the parking lot. The dynamic image analysis system 102 may provide a user interface 122 to the user device 106 that displays one or more images 111 captured by the imaging system 108. The user interface 122 allows a user to select one or more portions 124a, 124b, 124c of an image of the surveillance area 109 captured by the imaging system 108 for analysis by the dynamic image analysis system 102. Selection of the portion(s) 124a, 124b, 124c of the image may be performed using, for example, a shape selection tool (e.g., a rectangular selection tool), a freehand selection tool, another interactive selection tool, or various combinations thereof.
[0025] The dynamic image analysis system 102 may generally receive additional image data from the imaging system 108 of the surveillance area 109. The dynamic image analysis system 102 may then analyze the one or more selected portions 124a, 124b, 124c of the image in accordance with selections made by the user through the user device 106. For example, portions of images and / or video associated with a portion 124a of the surveillance area 109 near a gas pump may be provided to a model to identify vehicles near the gas pump. Other portions of the image may be provided to other models of the dynamic image analysis system 102 to identify other selected conditions. In some examples, one portion of the image may be provided to multiple models of the dynamic image analysis system 102 to identify different conditions. For example, the portion 124c of the image associated with a portion of the surveillance area 109 in the parking lot may be provided to a first model to identify vehicles in the parking lot and a second model to identify any type of motion in the parking lot.
[0026] The dynamic image analysis system 102 may be generally implemented by a computing device or combinations of computing resources in various embodiments. Invarious examples, the dynamic image analysis system 102 may be implemented by one or more servers, cloud computing resources, and / or other computing devices. The dynamic image analysis system 102 may, for example, utilize various processing resources to analyze portions of images provided to the dynamic image analysis system 102 to identify various conditions within the images. The dynamic image analysis system 102 may further include memory and / or storage locations to store program instructions for execution by the processor and various data utilized by the dynamic image analysis system 102.
[0027] The user device 106 may be utilized to provide input to, and receive output from, the dynamic image analysis system 102. For example, the user device 106 is generally used to select portions of an image for analysis by the dynamic image analysis system 102. The dynamic image analysis system 102 may further provide notifications associated with detection of various conditions in the image to the user device 106 and / or other user devices not shown in FIG. 1.
[0028] Generally, the user device 106 and / or other user devices in communication with the dynamic image analysis system 102 may be devices belonging to an end user, such as security personnel, management personnel for a location utilizing the dynamic image analysis system 102, and the like. In some implementations, many user devices 106 may access the dynamic image analysis system 102 to receive image analysis results, view notifications generated by the dynamic image analysis system 102 and / or by other components or systems in communication with the dynamic image analysis system 102, view actions caused to be performed by the dynamic image analysis system 102 and / or by other components or systems in communication with the dynamic image analysis system 102, and the like. Further, user devices may be assigned to various user groups with varying permissions with respect to updating portions of images for analysis by the dynamic image analysis system 102, viewing and responding to notifications generated and / or actions performed (or caused to be performed) by the dynamic image analysis system 102, and the like. For example, management personnel may be provided with access to select portions of images for analysis, identify objects and / or conditions for analysis, and receive and respond to notifications generated and / or actions performed (or caused to be performed) by the dynamic image analysis system 102 resulting from such image analysis. In contrast, a lower level employee may be provided with access to receive and respond to notifications generated by the dynamic image analysis system 102, or actions performed by the dynamic image analysis system 102 (or caused to be performed by the dynamic image analysis system 102) without being provided with the ability to select portions of images for analysis or otherwise changesettings and / or configuration for image analysis. In various embodiments, user devices 106 may be authenticated by an authentication service prior to accessing the dynamic image analysis system 102.
[0029] In various implementations, the user device 106 and / or other user devices in communication with the dynamic image analysis system 102 may be implemented using any number of computing devices including, but not limited to, a computer, a laptop, mobile phone, smart phone, wearable device (e.g., AR / VR headset, smart watch, smart glasses, or the like), smart speaker, vehicle (e.g., automobile), or appliance. Generally, the user devices may include one or more processors, such as a central processing unit (CPU) and / or graphics processing unit (GPU). The user devices may generally perform operations by executing executable instructions (e.g., software) using the processor(s).
[0030] An imaging system 108 may be in communication with the dynamic image analysis system 102 and may, for example, provide individual still images and / or video streams to the dynamic image analysis system 102. In various examples, the imaging system 108 may capture video and / or images of a surveillance area 109 and may continually provide such images to the dynamic image analysis system 102. In some examples, the imaging system 108 may provide images of the entire surveillance area 109 to the dynamic image analysis system 102, and the dynamic image analysis system 102 may determine which portions of the image to analyze based on user input. In some examples, the imaging system 108 may include or be collocated with computing resources configured to extract particular portions of images captured by the imaging system 108 to transmit to the dynamic image analysis system 102. In such examples, the imaging system 108 may be configured to send only portions of captured images corresponding to selected portions of an image selected by a user to the dynamic image analysis system 102.
[0031] The imaging system 108 may be implemented by a vision-based system to capture images of a surveillance area 109. In various examples, the imaging system 108 may capture images in the visible spectrum, the infrared spectrum, and / or using other imaging modalities. In some examples, the imaging system 108 may be combined with other detection systems. For example, a radar, LiDAR, or other sensor may be used in conjunction with the imaging system 108. In some examples, the imaging system 108 may be controlled remotely and the dynamic image analysis system 102 may control the imaging system 108 responsive to detection of certain conditions within images captured by the imaging system 108. For example, the dynamic image analysis system 102 may cause the imaging system 108 to zoom in on a location in an image where motion has been detected.
[0032] The network 104 may be implemented using one or more of various systems and protocols for communications between computing devices. In various embodiments, the network 104 or various portion of the network 104 may be implemented using the Internet, a local area network (LAN), a wide area network (WAN), and / or other networks. In addition to traditional data networking protocols, in some embodiments, data may be communicated according to protocols and / or standards including near field communication (NFC), BLUETOOTH®, cellular connections, and the like.
[0033] Components of the dynamic image analysis system 102 and in communication with the dynamic image analysis system 102 shown in FIG. 1 are exemplary and may vary in some embodiments. For example, in some embodiments, the dynamic image analysis system 102 may be distributed across multiple computing elements, such that components of the dynamic image analysis system 102 communicate with one another through the network 104. Further, in some embodiments, computing resources dedicated to the dynamic image analysis system 102 may vary over time based on various factors such as usage of the dynamic image analysis system 102. In some embodiments, the dynamic image analysis system 102 may communicate with multiple user devices 106 and / or imaging systems 108 not shown in FIG. 1.
[0034] FIG. 2 illustrates an example dynamic image analysis system 102. The dynamic image analysis system 102 generally communicates over a network 104 with one or more user devices 106 and one or more imaging systems 108. The dynamic image analysis system 102 generally analyzes images obtained from the imaging system 108 using settings and / or constraints provided by the user device 106. For example, the dynamic image analysis system 102 may analyze portions of an image captured by the imaging system 108 corresponding to portions of an image selected using the user device 106. In various examples, the dynamic image analysis system 102 may further provide output to the user device 106 and / or other user devices, such as by provided alerts when particular conditions are detected in images captured by the imaging system 108.
[0035] In various examples, the dynamic image analysis system 102 may include or utilize one or more hosts or combinations of compute resources, which may be located, for example, at one or more servers, cloud computing platforms, computing clusters, and the like.Generally, the dynamic image analysis system 102 is implemented by compute resources including hardware for memory 112 and one or more processors 110. For example, the dynamic image analysis system 102 may utilize or include one or more processors, such as a CPU, GPU, and / or programmable or configurable logic.
[0036] In some embodiments, various components of the dynamic image analysis system 102 may be distributed across various computing resources, such that components of the dynamic image analysis system 102 communicate with one another through the network 104 and / or using other communications protocols. For example, in some embodiments, the dynamic image analysis system 102 may be implemented as a serverless service, where computing resources for various components of the dynamic image analysis system 102 may be located across various computing environments (e.g., cloud platforms) and may be reallocated dynamically and / or automatically according to, for example, resource usage of the dynamic image analysis system 102. In various implementations, the dynamic image analysis system 102 may be implemented using organizational processing constructs such as functions implemented by worker elements allocated with compute resources, containers, virtual machines, and the like.
[0037] The memory 112 may include instructions for various functions of the dynamic image analysis system 102 which, when executed by processor(s) 110, perform various functions of the dynamic image analysis system 102. The memory 112 may further store data and / or instructions for retrieving data used by the dynamic image analysis system 102. Similar to the processor(s) 110, memory resources utilized by the dynamic image analysis system 102 may be distributed across various physical computing devices. In some examples, memory 112 may access instructions and / or data from other devices or locations, and such instructions and / or data may be read into memory 112 to implement the dynamic image analysis system 102.
[0038] In various embodiments, memory 112 may store instructions for user interface configuration 114. User interface configuration 114 may be configured to communicate with other components of the dynamic image analysis system 102 to provide information to, and receive information from, various user devices 106. User interface configuration 114 may generate and present user interfaces to user devices 106 to obtain information and may pass such information to components of the dynamic image analysis system 102. For example, user interface configuration 114 may generate user interfaces including images collected by an imaging system 108 (e.g., user interface 122 of FIG. 1). Through such user interfaces, the user may select portions of the image for analysis by the dynamic image analysis system 102. User interface configuration 114 may receive such selections and provide the selections to other components of the dynamic image analysis system 102. Similarly, user interface configuration 114 may configure user interfaces or other notifications to convey information to user devices 106. For example, the models of the dynamic image analysis system 102 maydetect objects within images, and user interface configuration 114 may generate notifications indicating that the objects were detected in the images.
[0039] Memory 112 may store instructions for implementing an imaging system interface 116. The imaging system interface 116 may generally receive images and / or video streams from various imaging systems 108. The imaging system interface 116 may communicate with other components of the dynamic image analysis system 102 to perform analysis of images captured by various imaging systems 108. For example, the imaging system interface 116 may transmit images to image analysis 118 and may receive information from image analysis 118 and / or configuration data 120 to perform additional operations responsive to detection of conditions in various images and / or portions of images by image analysis 118. For example, a model of image analysis 118 may detect a presence of a vehicle and may communicate to the imaging system interface 116 to cause the imaging system 108 to locate a license plate on the vehicle and to zoom in on the license plate to read information on the license plate for transmission to the dynamic image analysis system 102.
[0040] In various embodiments, memory 112 may store configuration data 120.Configuration data 120 may include, for example, selected areas (e.g., portions) of images and / or surveillance areas and associated models for analysis of such selected areas or portions. Such data may further include, for each selected portion and associated model, an identifier of an imaging system 108 from which such images will be received. In various examples, configuration data 120 may include other settings or parameters such as time restrictions (e.g., analysis should be performed only on image data having time stamps in a selected time window), actions to take responsive to a flag (e.g., devices to notify, types of notifications, collection of further information), and other settings or parameters specific to a user, surveillance area, selected portions, and the like.
[0041] Memory 112 may store instructions for implementing image analysis 118. Image analysis 118 may be completed by various models and / or image analysis algorithms configured to detect specific conditions and / or objects within image data. Conditions may include, for example and without limitation, motion, a presence of a particular object (e.g., a person, vehicle, weapon, and the like), temperature, fire, water (e.g., pipe leaks, triggered sprinklers, and the like), smoke, and various other conditions.
[0042] In various examples, image analysis 118 may include separate models trained or configured to detect the conditions. For example, the models may include various types of artificial intelligence or machine learning (AFML) models such as classifiers, neural networks, and other models trained or generated using supervised or unsupervisedtechniques. In some examples, such models may further be trained using feedback to the dynamic image analysis system 102. For example, the dynamic image analysis system 102 may generate flags responsive to a determination that a condition is present within an image or portion of an image. Responsive to the determination that a condition is present or to the generation of a flag, one or more notifications may be sent to one or more user devices and / or one or more actions may be performed (or caused to be performed). Users may respond to the notifications or actions (e.g., by dismissing them, by requesting further action, or the like), and such responses may be provided to the models within image analysis 1 18 through feedback loops. The models may use the responses to further train or refine the models. For example, if the dynamic image analysis system 102 generates a notification and a user dismisses the notification (e.g., indicating that the flag is a false flag), the model which identified the condition may be provided with the information that the flag was a false flag, which may further train the model and may be used to improve the performance of the models over time (e.g., making the models more likely to correctly identify conditions within images and / or portions of images).
[0043] The dynamic image analysis system 102 may be implemented using various computing systems. Turning to FIG. 3, an example computing system 200 may be used for implementing various embodiments in the examples described herein. For example, processor(s) 110 and memory 112 may be located at one or several computing systems 200. In various embodiments, user device 106 is also implemented by a computing system 200. In various examples, the imaging system 108 may include or be implemented partially using one or several computing systems 200. This disclosure contemplates any suitable number of computing systems 200. For example, the computing system 200 may be a server, a desktop computing system, a mainframe, a mesh of computing systems, a laptop or notebook computing system, a tablet computing system, an embedded computer system, a system-on- chip, a single-board computing system, or a combination of two or more of these. Where appropriate, the computing system 200 may include one or more computing systems; be unitary or distributed; span multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which may include one or more cloud components in one or more networks.
[0044] Computing system 200 includes a bus 210 (e.g., an address bus and a data bus) or other communication mechanism for communicating information, which interconnects subsystems and devices, such as processor 208, memory 202 (e.g., RAM), static storage 204 (e.g., ROM), dynamic storage 206 (e.g., magnetic or optical), communications interface 216(e.g., modem, Ethernet card, a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network, a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI® network), and an input / output (I / O) interface 220 (e.g., keyboard, keypad, mouse, microphone). In particular embodiments, the computing system 200 may include one or more of any such components.
[0045] In particular embodiments, processor 208 includes hardware for executing instructions, such as those making up a computer program. The processor 208 includes circuitry for performing various processing functions, such as executing specific software for performing specific calculations or tasks. In particular embodiments, I / O interface 220 includes hardware, software, or both providing one or more interfaces for communication between computing system 200 and one or more I / O devices. Computing system 200 may include one or more of these I / O devices, where appropriate. One or more of these devices may enable communication between a person and computing system 200.
[0046] In particular embodiments, communications interface 216 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computing system 200 and one or more other computer systems or one or more networks. One or more memory buses (which may each include an address bus and a data bus) may couple processor 208 to memory 202. Bus 210 may include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside between processor 208 and memory 202 and facilitate access to memory 202 requested by processor 208. In particular embodiments, bus 210 includes hardware, software, or both coupling components of the computing system 200 to each other.
[0047] Accordingly, to particular embodiments, computing system 200 performs specific operations by processor 208 executing one or more sequences of one or more instructions contained in memory 202. For example, instructions for user interface configuration 114, imaging system interface 116, and / or image analysis 118 may be contained in memory 202 and may be executed by the processor 208. Such instructions may be read into memory 202 from another computer readable / usable medium, such as static storage 204 or dynamic storage 206. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, particular embodiments are not limited to any specific combination of hardware circuitry and / or software. In various embodiments, the term “logic” means any combination of software or hardware that is used to implement all or part of particular embodiments disclosed herein.
[0048] The term “computer readable medium” or “computer usable medium” as used herein refers to any medium that participates in providing instructions to processor 208 for execution. Such a medium may take many forms, including but not limited to nonvolatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as static storage 204 or dynamic storage 206. Volatile media includes dynamic memory, such as memory 202.
[0049] Computing system 200 may transmit and receive messages, data, and instructions, including program, e.g., application code, through communications link 218 and communications interface 216. Received program code may be executed by processor 208 as it is received, and / or stored in static storage 204 or dynamic storage 206, or other storage for later execution. A database 214 may be used to store data accessible by the computing system 200 by way of data interface 212. For example, configuration data 120 may be stored using a database 214. In various examples, communications link 218 may communicate with, for example, user devices to display user interfaces to the dynamic image analysis system 102. In one example, a user device and a user interface may be the user device 106 and the user interface 122 shown in FIG. 1.
[0050] Although FIG. 3 depicts a bus 210, a processor 208, a memory 202, a static storage 204, a dynamic storage 206, a communications interface 216, an I / O interface 220, a data interface 212, a database 214, and a communications link 218, other embodiments can include one or more of these devices in various combinations.
[0051] FIGS. 4A-4B illustrate example user interfaces 302 and 304, respectively, for selecting areas of interest within an image. The user interfaces 302 and 304 may, in various examples, be configured by user interface configuration 114 for display at a user device 106. Generally, the user interfaces 302 and 304 display an image of a surveillance area 109 captured by an imaging system 108. The image may, in various examples, be a still image captured by the imaging system 108. The user may select one or more areas of the image to be analyzed by the dynamic image analysis system 102. In various examples, the areas selected by the user are provided to the dynamic image analysis system 102 (e.g., the areas are stored as configuration data 120). When subsequent images or video streams are received of the surveillance area 109 captured by the imaging system 108 (FIG. 1), the dynamic image analysis system 102 may access the stored data to determine which portions of such images to analyze utilizing image analysis 118.
[0052] In various examples, the user interfaces 302 and 304 may be presented at a user device 106 to allow a user to select areas of images for analysis. In various examples, the usermay use a cursor, touch screen, pre-defined shapes, or other tools to draw the selected areas on the images. For example, when the user device 106 includes a touch screen, the user may be able to utilize a stylus, finger, or other touch input to free draw an area on the image. In some examples, the dynamic image analysis system 102 may translate such free drawings into polygons used for analysis. In some examples, the user interfaces 302 and 304 may include elements allowing the user to select various settings associated with the selected areas. Such settings may, in some examples, be provided to the dynamic image analysis system 102 and stored as configuration data 120. The settings may then be accessed by the dynamic image analysis system 102 when analyzing portions of subsequent images from the imaging system 108 corresponding to the selected areas. For example, such settings may allow users to choose a condition or conditions for the dynamic image analysis system 102 to detect within the portions of images from the imaging system 108 corresponding to the selected areas. Other settings selected by the user through the user interfaces 302 and 304 may include, in various examples, a listing of users to notify upon detection of a condition within the relevant area, further actions to take responsive to detection of a condition (e.g., obtaining additional information, recording and storing additional image and / or video, and the like), timing restrictions, and the like.
[0053] As shown in the user interfaces 302 and 304, the selected areas may be a variety of shapes including, for example and without limitation, squares, rectangles, triangles, irregular polygons, circles, ovals, or other polygons, curved shapes, or combinations thereof. Such shapes may be highly customized to include relevant areas of an image while excluding less relevant areas. Accordingly, false flags are less likely to be generated for detection of objects and / or conditions outside of a relevant area. For example, area 306 in FIG. 4A encompasses an area around a gas pump, intended to detect vehicles pulled up to the gas pump in that particular area. By selecting only the area 306, the dynamic image analysis system 102 does not generate flags or otherwise detect vehicles outside of the area 306 associated with the relevant gas pump. Without the ability to select only the area 306, false flags may be generated related to vehicles in other locations within the image (e.g., driving through the parking lot), requiring the user to review and / or dismiss such flags. Similarly, when only area 308 in FIG. 4A is selected, the dynamic image analysis system 102 does not generate flags or otherwise detect conditions (e.g., vehicles) outside of the area 308.
[0054] FIG. 5 illustrates an example process 400 for analyzing a portion of an image using a dynamic image analysis system. At block 402, the dynamic image analysis system (e.g., the dynamic image analysis system 102 in FIG. 1 or FIG. 2) receives a selection of a portion ofan image to analyze. The portion of the image may be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. In various examples, the dynamic image analysis system may receive such a selection through a user interface presented at a user device. In one embodiment, the user interface may be the user interface 302 in FIG. 4A or the user interface 304 in FIG. 4B and the user device may be the user device 106 in FIG. 1 or FIG. 2.
[0055] Generally, a user interface configuration (e.g., the user interface configuration 114 in FIG. 2) may receive such selections for an image of a surveillance area captured by, and received from, an imaging system. In one embodiment, the surveillance area may be the surveillance area 109 in FIG. 1 and the imaging system the imaging system 108 in FIG. 1 or FIG. 2. The dynamic image analysis system may store such selections as configuration data (e.g., the configuration data 120 in FIG. 2), which may be utilized to analyze subsequent images of the surveillance area captured by, and received from, the imaging system.
[0056] The portion of the image to be analyzed may be received from the imaging system via an imaging system interface (e.g., the imaging system interface 116 in FIG. 2) and may be isolated still images, frames forming part of video data, and the like. In some examples, the dynamic image analysis system may receive the entire image and execute instructions to analyze only the portion of the image. In various examples, such images may be associated with an identifier corresponding to the imaging system and / or the surveillance area. The identifier may be utilized by the dynamic image analysis system to locate configuration data for the image, including selected portions of the image to analyze, models to use to analyze such portions of the image, actions to take responsive to detection of conditions in the image, and the like.
[0057] The dynamic image analysis system analyzes the portion of the image using a model trained to detect a condition in the image at block 404. Generally, the portion of the image is provided to the relevant model of image analysis (e.g., the image analysis 118 in FIG. 2). For example, the model of image analysis may include several models configured and / or trained to detect different conditions within a portion of an image. By providing only the portion of the image to the relevant model for analysis, the dynamic image analysis system saves processing resources compared to image analysis systems having models analyzing an entire image. For example, the model may complete analysis in less time and with less processing resources because a smaller portion of an image is analyzed instead of the entire image.
[0058] In some examples, the relevant portion of the image may be provided to multiple models selected by a user (e.g., through a user interface such as the user interface 302 in FIG. 4A or the user interface 304 in FIG. 4B). The portion of the image may be analyzed for more than one condition, and each analysis may be completed by a model trained to detect the specific condition. For example, a portion of an image encompassing the area adjacent to a gas pump (e.g., the area 306 shown in FIG. 4A) may be provided to a first model to detect a vehicle and a second model to detect fire. Because each model of image analysis may be trained to detect a single condition, the models may be more accurate than larger models trained to detect multiple conditions within a single image.
[0059] In some examples, multiple selected portions of the image may be provided to multiple models selected by a user (e.g., through a user interface such as the user interface 302 in FIG. 4A or the user interface 304 in FIG. 4B). The portions of the image may be analyzed for more than one condition, and each analysis may be completed by a model trained to detect the specific condition.
[0060] At block 406, the dynamic image analysis system generates a flag indicating the condition in the portion of the image responsive to the detection of the condition. At block 408, the dynamic image analysis system transmits a notification to a user device, where the notification indicates the detection of the condition in the portion of the image. The notification may be generated in response to the detection of the condition or in response to the generation of the flag. In some examples, one or more notifications may be provided to any number of user devices to notify associated users of the detected condition or conditions. For example, user devices in communication with the dynamic image analysis system may receive push notifications when the dynamic image analysis system detects a particular condition in a portion of the image. In various examples, the dynamic image analysis system may provide other types of notifications in association with the detection of the condition or a flag, such as e-mails, text messages, audio notifications, physical alarms, telephone calls (e.g., mobile phone calls), visual notifications, and the like.
[0061] At block 410, one or more responses may be received in response to the notification(s). In various examples, users may take various actions responsive to the notification(s) provided by the dynamic image analysis system. Such actions may be utilized by the dynamic image analysis system. For example, a user may dismiss a notification generated by the dynamic image analysis system, indicating that the flag generated by the dynamic image analysis system was likely false. Alternatively, a user may take some action responsive to such a notification (e.g., request that the imaging system continue to record thesurveillance area and store the video, select an option to call law enforcement, or the like) indicating that the flag generated by the dynamic image analysis system was likely correct. Such user feedback may, in either case, be provided to the relevant model of the dynamic image analysis system (e.g., the model which identified the relevant condition) through a feedback loop to the model in order to improve the performance of the model over time. For example, such user feedback may be provided as additional labeled training data to the models within image analysis of the dynamic image analysis system.
[0062] In various examples, the dynamic image analysis system may take additional action, or cause other components or systems in communication with the dynamic image analysis system to take additional action, responsive to the detection of conditions, and / or the generation of flags, and / or user requests received after providing notifications to the users. Such actions may be automatic or may be responsive to other inputs, such as inputs from a user device. For example, the dynamic image analysis system may automatically, upon detection of a vehicle within an image or portion of an image, cause the imaging system to zoom in on a license plate and capture an image of the license plate. The dynamic image analysis system may receive such information and store the image of the license plate and / or additional information derived from the image of the license plate. In another example, the dynamic image analysis system may store subsequent frames of a video stream of a surveillance area received from an imaging system responsive to a request from the user device to store such data. The user may make the request responsive to a notification provided to the user device by the dynamic image analysis system.
[0063] FIG. 6 illustrates an example process 500 for analyzing multiple portions of an image using a dynamic image analysis system (e.g., the dynamic image analysis system 102 in FIG.1 or FIG. 2). At block 502, the dynamic image analysis system receives a selection of a first portion of an image for detection of a first condition and a second portion of the image for detection of a second condition. For example, a user (e.g., through a user interface such as the user interface 304 in FIG. 4B) may select multiple areas of an image of a surveillance area for analysis. The first portion and the second portion may each be a polygon or an irregular polygon (e.g., have a polygon or irregular polygon shape) that is customized to include one or more relevant areas of the image while excluding less relevant areas. These selections are received by the dynamic image analysis system (e.g., at user interface configuration 114 in FIG. 2), and may be accompanied by additional information such as specific conditions to detect, specific models to use for detection, actions to take responsive to various detections, and the like. The selections, along with any additional information, may be stored at thedynamic image analysis system (e.g., as configuration data 120 in FIG. 2) or at another location accessible by the dynamic image analysis system. In other embodiments, the additional information may be received and stored prior to the receipt of the multiple portions of the image.
[0064] When additional images of the surveillance area (e.g., the surveillance area 109 in FIG. 1) captured by the imaging system (e.g., the imaging system 108 in FIG. 1 or FIG. 2) are received by the dynamic image analysis system, the dynamic image analysis system may reference the selections to determine which portions of the images to analyze based on which portions of the received image correspond to the selections received from the user. As shown in the user interface 304 of FIG. 4B, the user may select multiple areas of an image for analysis. For example, in the user interface 304 shown in FIG. 4B, the user has selected a first area around a container (area 310) and a second area in the parking lot (area 312). The user may associate each of the selections with one or more conditions for the dynamic image analysis system to detect. For example, where the container within the area 310 contains flammable liquid, the user may request that the dynamic image analysis system detect both any fire within the area 310 and any movement within the area 310 (e.g., indicating that the container may be tampered with). Similarly, the user may request that the dynamic image analysis system detect vehicles within area 310.
[0065] The dynamic image analysis system analyzes the first portion of the image using a first model trained to detect the first condition in the image at block 504. The dynamic image analysis system may generally receive an image via the imaging system interface (e.g., the imaging system interface 116 in FIG. 2) and may identify any portions of the image to be analyzed by the dynamic image analysis system. For example, the dynamic image analysis system may access the configuration data to identify portions of the received image correlating to selected areas of images of the same surveillance area. Similarly, the dynamic image analysis system may identify the first model to analyze the first portion of the image from the configuration data. In some examples, the dynamic image analysis system may send only the identified first portion of the image to the first model of image analysis (e.g., the image analysis 118 in FIG. 2). In some examples, the dynamic image analysis system may send the entire image to the first model of image analysis, with instructions to analyze only the first portion of the image. In both examples, analysis of only the first portion of the image by the first model may save processing time over analyzing an entire image by the first model.
[0066] At block 506, the dynamic image analysis system analyzes the second portion of the image using a second model trained to detect the second condition in the image. Similarly to block 504, the dynamic image analysis system may access the configuration data to identify the second portion of the image to be analyzed and to identify the second model to be used for analysis. The dynamic image analysis system may then provide the second portion of the image to the second model in image analysis for analysis. In some examples, the second portion of the image may be provided to multiple models in image analysis. For example, the second portion of the image may be provided to the second model to detect a second condition, and the second portion of the image may be further provided to a third model to detect a third condition.
[0067] The dynamic image analysis system generates a first flag indicating the first condition in the first portion of the image responsive to detection of the first condition by the first model at block 508. The dynamic image analysis system generates a second flag indicating the second condition in the second portion of the image responsive to detection of the second condition by the second model at block 510.
[0068] At block 512, a first action is performed in response to the detection of the first condition and / or the generation of the first flag and a second action is performed in response to the detection of the second condition and / or the generation of the second flag. In some examples, the dynamic image analysis system may take different actions responsive to the detection of the first condition and detection of the second condition. For example, when the first condition is fire within the first portion of the image, the dynamic image analysis system 102 may automatically contact emergency services (e.g., performance of a first action). In contrast, where the second condition is a vehicle within a second portion of the image, the dynamic image analysis system 102 may communicate with the imaging system to capture additional information about the vehicle, such as by zooming in to capture information on the license plate of the detected vehicle (e.g., the performance of a second action). In other embodiments, a first notification may be transmitted to one or more user devices in response to the detection of the first condition and / or the generation of the first flag (in addition to or in lieu of the performance of the first action). Additionally or alternatively, a second notification may be transmitted to one or more user devices in response to the detection of the second condition and / or the generation of the second flag (in addition to or in lieu of the performance of the second action). In one example, the one or more user devices that receive the first notification are same user device(s) that receive the second notification. In another 1example, some or all of the one or more user devices that receive the first notification differ from some or all of the user device(s) that receive the second notification.
[0069] At block 514, at least one response is received based on the first action and / or the second action. For example, a user may request a notification be generated and transmitted to one or more user devices in response to an action, indicating that the flag generated by the dynamic image analysis system was likely false. Alternatively, a user may take some action responsive to an action (e.g., request that the imaging system continue to record the surveillance area and store the video, select an option to call law enforcement, or the like) indicating that the flag generated by the dynamic image analysis system was likely correct. Such user feedback may, in either case, be provided to the relevant model of the dynamic image analysis system (e.g., the model which identified the relevant condition) through a feedback loop to the model in order to improve the performance of the model over time. For example, such user feedback may be provided as additional labeled training data to the models within image analysis of the dynamic image analysis system.
[0070] Although the processes shown in FIG. 5 and in FIG. 6 depict certain operations that are performed in a sequence, other embodiments are not limited to these operations and / or the sequence of operations. Some operations may be added, omitted, or performed in parallel. For example, the operation in block 408 may include the performance of one or more actions that are performed along with the transmission of one or more notifications or in lieu of the transmission of one or more notifications. Additionally or alternatively, block 514 may be omitted in some implementations.
[0071] According to the above examples, a dynamic image analysis system as disclosed herein may provide accurate and efficient analysis of images for surveillance or other purposes. For example, a dynamic image analysis system may provide for reductions in detections of false flags by allowing for analysis of discrete and precise portions of images in which various conditions and / or objects are relevant. More precise portions of images may be analyzed using a dynamic image analysis system because the system allows for selection of areas with irregular shapes, which may contain less of the image outside of a particular area of interest. Further, by analyzing only selected portions of an image for certain conditions, a dynamic image analysis system may save processing resources and time compared to systems which analyze an entire image. Where multiple portions of an image are selected for analysis for different conditions, a dynamic image analysis system may save additional processing resources and time over systems which provide the entire image for analysis by multiple models for detection of multiple conditions.
[0072] The technology described herein may be implemented as logical operations and / or modules in one or more systems. The logical operations may be implemented as a sequence of processor-implemented steps directed by software programs executing in one or more computer systems and as interconnected machine or circuit modules within one or more computer systems, or as a combination of both. Likewise, the descriptions of various component modules may be provided in terms of operations executed or effected by the modules. The resulting implementation is a matter of choice, dependent on the performance requirements of the underlying system implementing the described technology. Accordingly, the logical operations making up the embodiments of the technology described herein are referred to variously as operations, steps, objects, or modules. Further, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
[0073] In some implementations, articles of manufacture are provided as computer program products that cause the instantiation of operations on a computer system to implement the procedural operations. One implementation of a computer program product provides a non- transitory computer program storage medium readable by a computer system and encoding a computer program. It should further be understood that the described technology may be employed in special purpose devices independent of a personal computer.
[0074] The above specification, examples, and data provide a complete description of the structure and use of exemplary embodiments of the invention as defined in the claims. Although various embodiments of the claimed invention have been described above with a certain degree of particularity, or with reference to one or more individual embodiments, it is appreciated that numerous alterations to the disclosed embodiments without departing from the spirit or scope of the claimed invention may be possible. Other embodiments are therefore contemplated. It is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative only of particular embodiments and not limiting. Changes in detail or structure may be made without departing from the basic elements of the invention as defined in the following claims.
Claims
CLAIMS1. A method comprising: receiving a selection of a portion of an image for analysis, wherein the portion has an irregular polygon shape customized to include a relevant area of the image; analyzing the portion of the image using a model trained to detect a condition in the portion of the image; and responsive to detection of the condition in the portion of the image, transmitting, to a user device, a notification indicating a detection of the condition in the portion of the image.
2. The method of claim 1 , further comprising prior to transmitting the notification and responsive to the detection of the condition in the portion of the image, generating a flag indicating the condition in the portion of the image.
3. The method of claim 1, wherein: the image is an image of a surveillance area; and the image is received from an imaging system configured to capture one or more images of the surveillance area.
4. The method of claim 1 , further comprising receiving a response to the notification.
5. The method of claim 1, further comprising causing an action to be performed.
6. The method of claim 1 , further comprising responsive to the detection of the condition in the portion of the image, receiving additional images from an imaging system, wherein the image is captured by the imaging system.
7. The method of claim 1, wherein: the condition is a first condition; and the method further comprises analyzing the portion of the image using a second model trained to detect a second condition in the portion of the image.
8. The method of claim 7, wherein: the first condition is a presence of a first object;the second condition is a presence of a second object; and the second object differs from the first object.
9. The method of claim 1 , wherein: the image is a frame of a video stream; and the video stream is of a surveillance area.
10. The method of claim 1 , wherein: the portion is a first portion; the model is a first model; a the user device is a first user device; the notification is a first notification; and the method further comprises: receiving a second portion of the image for detection of a second condition; analyzing the second portion of the image using a second model trained to detect the second condition in the second portion of the image; responsive to the detection of the second condition by the second model, performing at least one of: transmitting a second notification to the first user device or a second user device; or causing an action to be performed.
11. A method comprising: receiving a selection of a first portion of an image for analysis and a selection of a second portion of an image for analysis, wherein at least one of the first portion or the second portion has an irregular polygon shape customized to include a relevant area of the image; analyzing the first portion of the image using a first model trained to detect a first condition in the first portion of the image; analyzing the second portion of the image using a second model trained to detect a second condition in the second portion of the image; and responsive to detection of the first condition in the first portion of the image, causing an action to be performed.
12. The method of claim 11, further comprising prior to causing the action to be performed and responsive to the detection of the condition in the portion of the image, generating a flag indicating the condition in the portion of the image.
13. The method of claim 11, wherein: the image is an image of a surveillance area; and the image is received from an imaging system configured to capture the surveillance area.
14. The method of claim 11, further comprising transmitting, to a user device, a notification indicating a detection of the first condition in the first portion of the image.
15. The method of claim 14, further comprising receiving a response to the notification.
16. The method of claim 11 , further comprising responsive to the detection of the first condition in the first portion of the image, receiving additional images from an imaging system, wherein the image is captured by the imaging system.
17. The method of claim 11 , further comprising analyzing the first portion of the image using a third model trained to detect a third condition in the first portion of the image.
18. The method of claim 11 , wherein: the first condition is a presence of a first object; the second condition is a presence of a second object; and the second object differs from the first object.
19. The method of claim 11, wherein: the action is a first action; and the method further comprises responsive to the detection of the second condition by the second model, performing at least one of: transmitting a notification to a user device; or causing a second action to be performed.
20. A method comprising: receiving a selection of a first portion of an image for analysis and a second portion of the image for analysis, wherein at least one of the first portion or the second portion has an irregular polygon shape customized to include a relevant area of the image; analyzing the first portion of the image using a first model trained to detect a first condition in the first portion of the image; analyzing the second portion of the image using a second model trained to detect a second condition in the second portion of the image, wherein the second condition differs from the first condition; responsive to detection of the first condition, generating a first flag indicating the condition in the first portion of the image; and responsive to generating the first flag, performing at least one of: transmitting a notification indicating a detection of the condition in the portion of the image to a user device; or causing an action to be performed.
21. The method of claim 20, wherein: the flag is a first flag; the notification is a first notification; the action is a first action; the user device is a first user device; and the method further comprises: responsive to detection of the second condition, generating a second flag indicating the second condition in the second portion of the image; and responsive to generating the second flag, performing at least one of: transmitting a second notification indicating a detection of the condition in the portion of the image to the first user device or a second user device; or causing a second action to be performed.
22. The method of claim 20, wherein: the image is an image of a surveillance area; and the image is received from an imaging system configured to capture the surveillance area.
23. The method of claim 20, further comprising responsive to detection of the condition by the model, receiving additional images from an imaging system, wherein the image is captured by the imaging system.
24. The method of claim 20, wherein: the first condition is a presence of a first object within the first portion of the image; the second condition is a presence of a second object within the second portion of the image; and the second condition differs from the first condition.
25. The method of claim 20, wherein: the first condition is a presence of a first object within the portion of the image; the second condition is a presence of the first object within the portion of the image; and the first object differs from the second object.
26. One or more non-transitory computer readable media including instructions which, when executed by one or more processors of a dynamic image analysis system, cause the dynamic image analysis system to perform operations comprising: receiving a selection of a portion of an image for analysis, wherein the portion has an irregular polygon shape customized to include a relevant area of the image; analyzing the portion of the image using a model trained to detect a condition in the portion of the image; and responsive to detection of the condition in the portion of the image, performing at least one of: transmitting a notification to a user device; or causing an action to be performed.
27. The one or more non-transitory computer readable media of claim 26, wherein the operations further comprise generating a flag indicating the condition in the portion of the image prior to transmitting the notification and responsive to the detection of the condition in the portion of the image.
28. The one or more non- transitory computer readable media of claim 26, wherein: the image is an image of a surveillance area; and the image is received from an imaging system configured to capture one or more images of the surveillance area.
29. The one or more non-transitory computer readable media of claim 26, wherein the operations further comprise responsive to the detection of the condition in the portion of the image, receiving additional images from an imaging system, wherein the image is captured by the imaging system.
30. The one or more non-transitory computer readable media of claim 26, wherein: the condition is a first condition; and the operations further comprise analyzing the portion of the image using a second model trained to detect a second condition in the portion of the image.
31. A system comprising: a processor; and a memory storing instructions, that when executed by the processor, cause operations to be performed, the operations comprising: receiving a selection of a portion of an image for analysis, wherein the portion has an irregular polygon shape customized to include a relevant area of the image; analyzing the portion of the image using a model trained to detect a condition in the portion of the image; and responsive to detection of the condition in the portion of the image, performing at least one of: transmitting, to one or more user devices, a notification indicating a detection of the condition in the portion of the image; or causing an action to be performed.
32. The system of claim 31, wherein the memory stores further instructions for generating a flag indicating the condition in the portion of the image prior to transmitting the notification or causing the action to be performed and responsive to the detection of the condition in the portion of the image.
33. The system of claim 31, wherein: the image is an image of a surveillance area; and the image is received from an imaging system configured to capture the surveillance area.
34. The system of claim 31, wherein the memory stores further instructions for responsive to the detection of the condition in the portion of the image, receiving additional images from an imaging system, wherein the image is captured by the imaging system.
35. The system of claim 31, wherein: the condition is a first condition; the memory stores further instructions for analyzing the portion of the image using a second model trained to detect a second condition in the portion of the image; and the second condition differs from the first condition.
36. The system of claim 31, wherein: the selection is a first selection; the portion is a first portion; the model is a first model; the condition is a first condition; the notification is a first notification; the action is a first action; and the memory stores further instructions for: receiving a second portion of the image for detection of a second condition; analyzing the second portion of the image using a second model trained to detect the second condition in the second portion of the image; responsive to the detection of the second condition by the second model, performing at least one of: transmitting a second notification to a second user device; or causing a second action to be performed.
Citation Information
Patent Citations
Building radar-camera surveillance system
US20210318426A1
Reducing false alarms in video surveillance systems
US20240005664A1
Shopping basket monitoring using computer vision and machine learning
US20240021057A1