US 12,307,769 B2
System and method for efficient filtering, clustering, tracking and persistent motion detection for event cameras
Stephanie Lilith Aelmore, San Diego, CA (US); and Richard Christopher Ordoñez, San Diego, CA (US)
Assigned to The United States of America, as represented by the Secretary of the Navy, Washington, DC (US)
Filed by United States of America as represented by the Secretary of the Navy, San Diego, CA (US)
Filed on Oct. 11, 2022, as Appl. No. 18/045,608.
Prior Publication US 2024/0119734 A1, Apr. 11, 2024
Int. Cl. G06T 7/11 (2017.01); G06T 7/20 (2017.01); G06V 10/30 (2022.01); G06V 10/762 (2022.01); G06V 20/40 (2022.01)
CPC G06V 20/44 (2022.01) [G06T 7/11 (2017.01); G06T 7/20 (2013.01); G06V 10/30 (2022.01); G06V 10/762 (2022.01); G06T 2207/20024 (2013.01); G06V 2201/07 (2022.01)] 23 Claims
OG exemplary drawing
 
1. A method for improving motion detection in an event camera having a sensor for generating events, the method comprising:
receiving the events from the sensor, wherein each event includes a position, (x, y) on the sensor and a timestamp, t;
partitioning each event sequentially in order of increasing timestamp, t, thereby generating partitioned events each associated with a particular partition in a grid of partitions according to the position, (x, y) on the sensor;
filtering each of the partitioned events within each of the particular partitions, wherein the filtering comprises noise filtering each of the partitioned events and allowing the partitioned events to pass the noise filtering as filtered events if concentrated in a predefined area within the particular partition;
buffering the filtered events in an event buffer to generate buffered events, the buffered events stored in a 3-dimensional array by the position, (x, y) on the sensor and the timestamp, t;
determining a pre-defined spatio-temporal neighborhood for each of the buffered events;
clustering each of the buffered events in a cluster buffer by comparing a pre-defined spatio-temporal neighborhood for each of the buffered events with all other buffered events located within the pre-defined spatio-temporal neighborhood to obtain neighboring events relative to a given event under consideration:
if none of the neighboring events belong to an existing cluster, then forming a new cluster to include the given event under consideration; and
if any one of the neighboring events belongs to an existing cluster, then assigning the given event to the existing cluster;
cluster sorting each of the clusters based on pre-selected parameters so that only those clusters that are likely to be associated with an object of interest are assigned as active clusters;
cluster tracking each of the active clusters by periodically sampling a centroid of each active cluster over time and determining direction results associated with each active cluster; and
outputting the detection results associated with each active cluster.