Method and system for cluster-based video monitoring and event categorization
First Claim
1. A method of categorizing a motion event candidate, comprising:
- obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream, comprising;
identifying at least one object in motion in a respective video segment associated with the motion event candidate;
determining a respective motion track of the at least one object in motion within a predetermined duration; and
generating the respective motion vector for the motion event candidate based on the determined respective motion track of the at least one object in motion;
in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship, in a vector event space, between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; and
in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective spatial range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster.
2 Assignments
0 Petitions
Accused Products
Abstract
A computing system obtains a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream. In response to receiving the respective motion vector for each of the series of motion event candidates, the computing system determines a spatial relationship between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors, and in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective range of at least a first existing cluster of the one or more existing clusters, assigns the first motion event candidate to at least a first event category associated with the first existing cluster.
-
Citations
46 Claims
-
1. A method of categorizing a motion event candidate, comprising:
-
obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream, comprising; identifying at least one object in motion in a respective video segment associated with the motion event candidate; determining a respective motion track of the at least one object in motion within a predetermined duration; and generating the respective motion vector for the motion event candidate based on the determined respective motion track of the at least one object in motion; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship, in a vector event space, between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; and in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective spatial range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing system for categorizing a motion event candidate, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising; obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream, comprising; identifying at least one object in motion in a respective video segment associated with the motion event candidate; determining a respective motion track of the at least one object in motion within a predetermined duration; and generating the respective motion vector for the motion event candidate based on the determined respective motion track of the at least one object in motion; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship, in a vector event space, between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; and in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective spatial range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of categorizing a motion event candidate, comprising:
-
obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster; storing a respective cluster creation time, a respective current cluster weight, a respective current cluster center, and a respective current cluster radius for each of the one or more existing clusters; and in accordance with the determination that the respective motion vector of the first motion event candidate of the series of motion event candidates falls within the respective range of the first existing cluster, updating the respective current cluster weight, the respective current cluster center, and the respective current cluster radius for the first existing cluster based on a spatial location of the respective motion vector of the first motion event candidate, wherein the first existing cluster is associated with a category of unrecognized events before the updating; and in accordance with a determination that the first existing cluster has included fewer than a threshold number of motion vectors for at least a threshold amount of time since the respective cluster creation time of the first existing cluster; deleting the first existing cluster including all motion vectors currently in the first existing cluster; and removing the motion event candidates corresponding to the deleted motion vectors from the category of unrecognized events. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A computing system for categorizing a motion event candidate, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising; obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster; storing a respective cluster creation time, a respective current cluster weight, a respective current cluster center, and a respective current cluster radius for each of the one or more existing clusters; and in accordance with the determination that the respective motion vector of the first motion event candidate of the series of motion event candidates falls within the respective range of the first existing cluster, updating the respective current cluster weight, the respective current cluster center, and the respective current cluster radius for the first existing cluster based on a spatial location of the respective motion vector of the first motion event candidate, wherein the first existing cluster is associated with a category of unrecognized events before the updating; and in accordance with a determination that the first existing cluster has included fewer than a threshold number of motion vectors for at least a threshold amount of time since the respective cluster creation time of the first existing cluster; deleting the first existing cluster including all motion vectors currently in the first existing cluster; and removing the motion event candidates corresponding to the deleted motion vectors from the category of unrecognized events. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
37. A method of categorizing a motion event candidate, comprising:
-
obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster; storing a respective cluster creation time, a respective current cluster weight, a respective current cluster center, and a respective current cluster radius for each of the one or more existing clusters; and in accordance with the determination that the respective motion vector of the first motion event candidate of the series of motion event candidates falls within the respective range of the first existing cluster, updating the respective current cluster weight, the respective current cluster center, and the respective current cluster radius for the first existing cluster based on a spatial location of the respective motion vector of the first motion event candidate, wherein the first existing cluster is associated with a category of recognized events before the updating; and in accordance with a determination that the first existing cluster has not been updated for at least a threshold amount of time, deleting the first existing cluster including all motion vectors currently in the first existing cluster; removing the motion event candidates corresponding to the deleted motion vectors from the category of recognized events, and not assigning the motion event candidates to a category for unrecognized events; and deleting the category of recognized events. - View Dependent Claims (38, 39, 40, 41)
-
-
42. A computing system for categorizing a motion event candidate, comprising:
-
one or more processors; and memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising; obtaining a respective motion vector for each of a series of motion event candidates in real-time as said each motion event candidate is detected in a live video stream; in response to receiving the respective motion vector for each of the series of motion event candidates, determining a spatial relationship between the respective motion vector of said each motion event candidate to one or more existing clusters established based on a plurality of previously processed motion vectors; in accordance with a determination that the respective motion vector of a first motion event candidate of the series of motion event candidates falls within a respective range of at least a first existing cluster of the one or more existing clusters, assigning the first motion event candidate to at least a first event category associated with the first existing cluster; storing a respective cluster creation time, a respective current cluster weight, a respective current cluster center, and a respective current cluster radius for each of the one or more existing clusters; and in accordance with the determination that the respective motion vector of the first motion event candidate of the series of motion event candidates falls within the respective range of the first existing cluster, updating the respective current cluster weight, the respective current cluster center, and the respective current cluster radius for the first existing cluster based on a spatial location of the respective motion vector of the first motion event candidate, wherein the first existing cluster is associated with a category of recognized events before the updating; and in accordance with a determination that the first existing cluster has not been updated for at least a threshold amount of time, deleting the first existing cluster including all motion vectors currently in the first existing cluster; removing the motion event candidates corresponding to the deleted motion vectors from the category of recognized events, and not assigning the motion event candidates to a category for unrecognized events; and deleting the category of recognized events. - View Dependent Claims (43, 44, 45, 46)
-
Specification