Method and apparatus for determining an occupant location in a space
By using radar technology to detect the movement of objects, accumulating and analyzing detection clusters, and removing clusters below a certain threshold, the problem of accurately detecting long-term occupied locations without compromising privacy is solved, thus achieving accurate occupancy detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- AXIS
- Filing Date
- 2025-11-07
- Publication Date
- 2026-05-08
AI Technical Summary
Without compromising personal privacy, existing technologies struggle to accurately detect areas that have been occupied for extended periods, distinguishing between locations that are occupied for long periods and those that are only temporarily present.
The movement of objects is detected by radar technology, the detections are accumulated for a predetermined duration, the clusters of detections are analyzed, clusters below a predetermined proportion threshold are removed, and the occupied positions in space are determined.
It effectively distinguishes between locations occupied for extended periods and objects that are only temporarily present, reducing false positives, respecting personal privacy, and improving the accuracy of occupancy detection.
Smart Images

Figure CN121995356A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of space occupancy detection. In particular, this invention relates to methods and systems for determining occupied locations in space using radar technology. Background Technology
[0002] In various environments such as offices, public spaces, or industrial facilities, understanding the number of people present and their spatial locations within the environment is often valuable. This information can be used to optimize resource allocation and improve operational efficiency. For example, in an office environment, understanding which desks are occupied and for how long can help facility managers optimize desk layout, reduce energy consumption, and increase employee productivity.
[0003] However, due to concerns about personal privacy, traditional methods for determining occupancy, such as analyzing images captured by surveillance cameras, may not always be feasible. Radar technology offers a promising alternative for detecting occupancy without compromising personal privacy. By emitting radio waves and measuring their reflections, radar systems can detect the presence and location of objects within a given space.
[0004] The challenge in occupancy detection is distinguishing between locations in a space that are occupied for extended periods (such as an individual's desk) and those that are only temporarily present in the space (such as an individual passing through). Therefore, the goal is to detect the location of objects that remain in the same spot for a period of time while ignoring other temporarily present objects.
[0005] To address these issues, a reliable method is needed that can accurately detect occupied areas within a scene using radar technology. This method would ensure the identification of long-term occupied areas while still respecting individual privacy. Summary of the Invention
[0006] In view of the above, the object of the present invention is to alleviate the above problems and to provide a method and apparatus that allow the determination of occupied locations in a scene by using detection from radar.
[0007] According to the first aspect, the above objective is achieved by a method for determining occupied locations in space. The method includes:
[0008] Detection of object movement is received from radar in the monitored space, where each detection is associated with its location in the space and the time point at which the detection was performed.
[0009] Accumulate detections at time points within a first time period of predetermined duration.
[0010] By analyzing the locational similarity of clustered detections, a set of clusters of detections in space can be identified.
[0011] Remove any cluster from the set of clusters whose detected temporal distribution falls below a predetermined threshold within the first time period, and
[0012] The location in the space corresponding to the set of clusters is determined to be occupied during the first time period.
[0013] This invention relies on the idea that even if a movable object remains in the same location within its environment, it will still occasionally make small movements, referred to herein as micro-movements. For example, a person sitting at a desk will make movements with their arms, torso, and head while working. These movements can be detected by radar and will be located in roughly the same position in space, but will not typically be frequently detected by radar. However, if radar detections accumulate over a period of time, the detections originating from movable objects remaining in the same location will form clusters in space. This contrasts with the movement of objects that move around in space (i.e., change their position). That kind of movement will be distributed over a larger area in space. Therefore, as radar detections accumulate over time, detections originating from objects moving around in space will typically be dispersed in space and will not form clusters. Thus, over time, the accumulation of detections combined with spatial clustering allows for the differentiation between movable objects that remain in the same location for a longer period of time (i.e., during the first time period) and objects that move around in space. Furthermore, even if, for example, the detection of objects moving around in space happens to form clusters in space due to an object briefly staying at a certain location, the detection within these clusters will be limited to a relatively short time window relative to the first time period. Therefore, it is preferable to remove any spatial clusters whose associated radar detections are distributed temporally within a finite proportion of the first time period. In this way, the risk of objects briefly staying while moving through space being mistaken for objects that remain in the same location for a longer period of time is reduced. An occupied location in space generally refers to a location in space where a movable object stays for a relatively long period of time. The object can be any type of object, such as a person, whose movement can be detected by radar. Space can also be referred to as a scene. The relatively long time period is quantified by a first time period with a predetermined duration. Therefore, if an object is present at a location for at least the first time period, that location in space is considered occupied.
[0014] The predetermined duration of the first time period can be set based on current usage to reflect the expected amount of time an object should remain in a position for it to be counted as occupancy at that location. When setting the predetermined duration, the radar's data acquisition rate and the expected frequency of minute movements of the object can also be considered to ensure sufficient detection of these minute movements for cluster formation during the first time period. An appropriate value for the predetermined duration can be found by applying the method to a known occupied test space using different values of the predetermined duration.
[0015] Clustered detection generally refers to the accumulation or aggregation of detections into a common dataset. In particular, it involves accumulating detections at time points within a first time period of a predetermined duration to form a dataset that includes detections at time points within that first time period of a predetermined duration.
[0016] A cluster of detections refers to a group of detections associated with similar locations, that is, a group of detections associated with locations within a common area of space. A cluster is therefore a spatial cluster identified by analyzing the locations of the detections. For example, detections associated with locations within a region where the spatial density (detections per unit area) of detections in space exceeds a predetermined threshold can be said to form a cluster. A region with high spatial density reflects the presence of many detections with locations within that region, meaning that the detections within the region are associated with similar locations.
[0017] A set of clusters refers to a collection that includes one or more clusters.
[0018] The temporal distribution of detections within a cluster refers to the distribution of detection times belonging to the cluster. Therefore, the temporal distribution reflects the time during which detections within the cluster were performed during the first time period.
[0019] Each detection can be further correlated with the speed of the object's movement. Furthermore, in the accumulation step, only detections with speeds below a first speed threshold can be accumulated. The movement of an object moving around the scene includes a wide range of speed components, while the minute movements of a moving object remaining in the same position primarily consist of low-speed components, such as speeds below the first speed threshold relative to the radar. By accumulating only radar detections associated with low speeds, the radar detections most likely associated with objects moving around the scene are filtered out. This further reduces the risk of objects moving through the scene being mistaken for objects exhibiting minute movements while remaining in the same position.
[0020] The first speed threshold can be lower than the average walking speed of a person. This way, radar detections associated with the speed of people walking in the scene will be excluded from accumulation and subsequent clustering. In one embodiment, the average walking speed can be set to 1 m / s.
[0021] Another challenge, especially in indoor environments, is the potential for radar ghosting detection, sometimes referred to as multipath radar detection. This means that an object may be detected not only at its actual location but also at locations in the scene where it is not actually present, due to reflections of radar signals from surfaces present in the scene. If ghosting detection is present, one might conclude that these other locations in the scene are occupied by the object. To address ghosting detection, the removal step can further include removing any cluster from the set of clusters that: has a temporal correlation between the detection of the cluster and the detection of another cluster in the set of clusters that is higher than a temporal correlation threshold, and is located at a distance from the detection of the cluster to the radar that is greater than the distance from the detection of the other cluster to the radar. The inventors have recognized a strong temporal correlation between the detection corresponding to the real object and the detection corresponding to the ghost of that object. Therefore, the presence of ghosting clusters can be identified by studying the mutual temporal correlations between detections associated with different clusters. Once two (or more) temporally correlated clusters are found, the cluster furthest from the radar can be removed, thus retaining only the closest cluster. This is because the path of the reflected radar signal that generates ghosting detection is longer, so ghosting detection will be farther away from the radar sensor than the corresponding real radar detection.
[0022] The proportion of cluster detections within a first time period can be determined in different ways. In one embodiment, the proportion of cluster detections within a first time period is determined as the proportion of cluster detections present during the first time period. For example, time segments where cluster detections are present can be identified, and the total duration of these time segments can be set relative to the duration of the first time period to determine the proportion. In another embodiment, the proportion of cluster detections within a first time period is determined by comparing a dispersion measure of the time points of cluster detections with a predetermined duration of the first time period. For example, the range of time points of detections within a cluster (maximum time point minus minimum time point) or the standard deviation of detections within a cluster can be set relative to the duration of the first time period. Both embodiments allow the removal of clusters whose detections are distributed in a finite proportion within the first time period.
[0023] The step of identifying a set of clusters of detections in a spatial region may include applying a clustering algorithm to the locations of the clustered detections. This allows for the identification of groups of detections with similar locations. This may include applying the K-means clustering algorithm or other clustering algorithms used in the art.
[0024] In some implementations, the step of identifying a set of clusters of detections in space includes: generating an occupancy map of the space by defining multiple grid cells in the space and counting how many clustered detections have a location in each grid cell; and identifying the set of clusters by performing blob detection in the occupancy map of the space. This can be considered a special case of clustering algorithms. The occupancy map is a histogram of the locations of clustered detections. Therefore, it represents the spatial density of detections in the space. Detections with similar locations will eventually appear in the same or adjacent grid cells and contribute to the counting of these grid cells. Thus, clusters of detections in the space correspond to regions in the occupancy map with an increased count of detections, i.e., regions with high spatial density of detections. Such regions can be found by applying blob detection to the occupancy map.
[0025] As is known in the art, blob detection refers to a method for detecting regions in a digital image that differ in properties from their surrounding regions. In this case, an occupancy map can be said to constitute the digital image, where each grid cell corresponds to a pixel location, and the detection count in each grid cell corresponds to a pixel value. Blob detection therefore detects regions in the occupancy map that have detection counts that differ from their surrounding regions. For example, blob detection may include identifying local maxima in the occupancy map. This corresponds to identifying peaks in the occupancy map, i.e., regions where the spatial density of the detected area reaches a peak. The advantage of these implementations is that clusters of detections in space can be identified using standard image processing tools that include blob detection.
[0026] The method can be repeated for subsequent time periods of a predetermined duration. This allows determining how occupancy in a space changes over time. Subsequent time periods of the predetermined duration may not overlap with the first time period. However, implementations where subsequent time periods overlap with the first time period are also conceivable. For example, a sliding time window method can be used, where the method is repeatedly applied at some points in a previous time window of the predetermined duration.
[0027] Furthermore, the method can include tracing locations in the space identified as occupied between a first time period and subsequent time periods. When the method is applied to different time periods, the occupied locations corresponding to clusters caused by the object during the first time period and the occupied locations corresponding to clusters caused by the same object during subsequent time periods may not have exactly the same location. By performing tracing between time periods, these occupied locations can be correlated with each other to infer that they originate from the same object.
[0028] As a further option, the method may include removing trajectories outside the region of interest in the space. This removes trajectories that may be false detections or of limited user interest. Similarly, detections or clusters located outside the region of interest in the space may be removed. For example, the region of interest may correspond to a room in the space, or it may include a desk area within the space. The region of interest may be user-defined or automatically identified from a floor plan of the space.
[0029] According to the second aspect, the aforementioned objective is achieved by means of a device for determining the occupied position in space. The device includes a circuit configured to:
[0030] Detection of object movement is received from radar in the monitored space, where each detection is associated with its location in the space and the time point at which the detection was performed.
[0031] Accumulate detections at time points within a first time period of predetermined duration.
[0032] By analyzing the locational similarity of clustered detections, a set of clusters of detections in space can be identified.
[0033] Remove any cluster from the set of clusters whose detected temporal distribution falls below a predetermined threshold within the first time period, and
[0034] The location in the space corresponding to the set of clusters is determined to be occupied during the first time period.
[0035] According to a third aspect of the invention, the above objective is achieved by a non-transitory computer-readable medium comprising computer program code, which, when executed by a processing-capable device, causes the device to perform the method of the first aspect.
[0036] The second and third aspects can generally have the same features and advantages as the first aspect. It should be further noted that, unless otherwise stated, the present invention relates to all possible combinations of features. Attached Figure Description
[0037] The above and other objects, features and advantages of the invention will be better understood from the following illustrative and non-limiting detailed description of embodiments of the invention with reference to the accompanying drawings, wherein like reference numerals will be used for similar elements, wherein:
[0038] Figure 1 The illustration shows an example space where an exemplary implementation can be used to determine the location of an occupied space.
[0039] Figure 2 The illustration includes a radar and a system for determining occupied positions in space.
[0040] Figure 3 This is a flowchart of a method for determining an occupied position in space according to an implementation method.
[0041] Figure 4 The diagram shows the radar's output detection timeline over a period of time.
[0042] Figure 5 Schematic diagram in Figure 4 The locations where tests are accumulated during a certain period of time.
[0043] Figure 6 Showing targets Figure 1 The example space generated by the occupancy graph.
[0044] Figure 7 Showing from Figure 6 The set of clusters identified in the occupancy graph.
[0045] Figure 8a and Figure 8b The temporal distribution of detections in the first and second clusters are shown respectively.
[0046] Figure 9 Shown in Figure 3 The set of clusters remaining after the cluster removal step S08a.
[0047] Figure 10 Showing along a common timeline Figure 9 The detection time points of two in the cluster. Detailed Implementation
[0048] The invention will now be described more fully below with reference to the accompanying drawings, in which embodiments of the invention are illustrated.
[0049] Figure 1The illustration depicts space 100, in which people wish to define their occupied positions. Exemplary space 100 is an indoor environment, and more specifically, an office space within a building. Space 100 contains numerous desks 102. Some of these desks are occupied by people 104a working at computers, while other desks are currently unoccupied. People 104a are examples of stationary objects in the sense of remaining in the same position within space 100. While remaining in the same position, they will still exhibit movement from time to time while working at their desks 102. For example, people 104a may move their arms, hands, head, and torso while working. Space 100 may also contain walls or other surfaces such as whiteboards where radar signals can be reflected. In addition to people 104a occupying desks, other people 104b may also temporarily exist in space 100. These other people 104b are only temporarily present in space 100 compared to people 104a occupying desks 102. For example, these other individuals 104b can move around in space 100 for short periods of time, such as simply passing through space 100. Figure 1 In one embodiment, it is assumed that person 104b is a cleaning lady who enters space 100 and moves around, spending a short time cleaning desk 102 in multiple locations before leaving again. In another embodiment, person 104b could be a colleague making a brief visit, thus staying for a significantly shorter time than other people 104a.
[0050] A radar 108, such as a frequency modulated continuous wave (FMCW) radar, is arranged in space 100. The radar 108 has a field of view 110. Within the field of view 110, the radar 108 can detect object movement, such as the movement of a person 104a occupying the desk 102 and a person 104b temporarily present. For example, the radar 108 can be able to measure the distance, azimuth, and radial velocity of moving objects in the scene. The distance and azimuth can then be converted into two-dimensional position coordinates in space 100. The radar 108, further capable of measuring the elevation angle and thus generating three-dimensional position coordinates in space 100, can also be used to implement the embodiments described herein.
[0051] Figure 2 The illustrated system 200 includes: radar 108; and device 202 for determining, for example, Figure 1 The location of an object in the space shown is occupied. Device 202 may be included in radar 108 or may be provided separately from radar 108. Device 202 is configured to receive and analyze data from radar 108. In particular, device 202 is configured to receive detection of object movement from radar 108 and determine the occupied location in the space monitored by radar 108. Data can be received via a wired or wireless connection.
[0052] The device 202 includes a circuit 204. The circuit 204 is configured to implement various functions of the device 202. For example, it is configured to implement a receiving function 2041, an accumulation function 2042, a cluster identification function 2043, a cluster removal function 2044, and an occupancy determination function 2045.
[0053] In some implementations, each of functions 2041, 2042, 2043, 2044, and 2045 may correspond to circuitry dedicated to and specifically designed to provide that function. Circuitry 204 may be in the form of one or more integrated circuits, such as one or more application-specific integrated circuits (ASICs) or one or more field-programmable gate arrays (FPGAs). For example, accumulation function 2043 may therefore include circuitry for detecting time points within a first time period having a predetermined duration during use.
[0054] In other implementations, the circuitry may be replaced by a processor, such as a central processing unit or microprocessor, associated with computer code instructions stored on a (non-transitory) computer-readable medium, such as non-volatile memory, causing device 202 to perform any of the methods disclosed herein. Examples of non-volatile memory include read-only memory, flash memory, ferroelectric RAM, magnetic computer storage devices, and optical discs. In this case, functions 2041, 2042, 2043, 2044, and 2045 may therefore each correspond to a portion of computer code instructions stored on a computer-readable medium, which, when executed by the processor, cause device 202 to perform the corresponding function.
[0055] It should be understood that a combination of the above-mentioned implementations may also be present, meaning that some of functions 2041, 2042, 2043, 2044, and 2045 correspond to circuitry dedicated to and specifically designed to perform the function, and others correspond to a portion of computer code instructions that cause device 202 to perform the function when executed by a processor.
[0056] Now refer to Figure 3 The flowchart and further reference Figure 1 and Figure 2 The operation of the device 202 when performing the method 300 for determining the occupied position in space is described.
[0057] In step S02, device 202 receives detections of object movement from radar 108 monitoring space 100. Each detection is associated with a position in space 100 and a point in time when the detection was performed. Depending on the capabilities of radar 108, the position can be described by coordinates (x, y) in a two-dimensional coordinate system or coordinates (x, y, z) in a three-dimensional coordinate system such as a Cartesian coordinate system. Each detection can be further associated with the velocity of the object movement. Radar 108 can therefore provide not only time and position data for the detection but also the velocity of the detection. Velocity refers to the speed at which the object moves in the radial direction of radar 108.
[0058] The received detections include detections from multiple points in time. For example, radar 108 can operate at a specific rate, outputting a specific number of detections per second, such as ten times per second. This rate can be called the frame rate of radar 108, and the detections output at each point in time can be said to form frames of radar data. During a first time period with a predetermined duration, such as 5 minutes, radar 108 can therefore output thousands of detections. This is in Figure 4 Further illustrations are provided. Figure 4 The timeline of radar 108 detecting data along its output at a specific frame rate during time period T1 is shown. Figure 4 The diagram also illustrates four exemplary frames 401, 402, 403, and 404, representing detections generated by the radar during time period T1. It should be understood that these four frames are only a few of many (thousands) of frames generated during the first time period T1. Example frames 401, 402, 403, and 404 each correspond to a specific time point, denoted here by t1, t2, t3, and t4. In each frame, there is detection of object movement. Specifically, the detected movement's position relative to the radar is provided in the frame. Objects such as those moving around in scene 100... Figure 1 The 104b object will typically be detected in each radar frame during the object's lifetime. These detections are performed in... Figure 4 The exemplary frames are illustrated by circles. However, it can be seen that as objects move around, the positions associated with these detections will generally vary from frame to frame. In contrast, objects such as person 104a occupying desk 102, which remain in the same position but move from time to time, produce temporally sparse detections. However, because objects remain in the same position, detections of the same object will have similar positions. This detection in Figure 4 The image is represented by a plus sign. Figure 1 similar, Figure 4 The dashed lines in the frame represent the radar's field of view.
[0059] Note that the detection received in step S02 is a detection of object movement, and therefore does not include detection of purely stationary objects (i.e., objects that do not move at all). Radar 108 is generally capable of detecting both moving and purely stationary objects. However, for the purposes of this invention, only detections of non-zero velocities (non-zero Doppler) are used, and detections corresponding to zero velocities (zero Doppler) are not included in the detections received in step S02 of method 300. More precisely, for radar data with a resolution defining position and velocity provided in “intervals,” detections in velocity intervals including zero velocity are not part of the inputs to which this method operates. However, it is preferable to include detections in velocity intervals closest to the zero velocity interval, as they capture important information about minute movements of the object. For example, for a velocity interval size of 0.06 m / s, the zero velocity interval ranges from -0.03 m / s to 0.03 m / s, and the detections received in step S02 are associated with absolute velocities greater than 0.03 m / s.
[0060] In step S04, device 202 accumulates in, for example, Figure 4 The detections within a first time period T1, which has a predetermined duration, are shown in the diagram. For example, the detections of all object movements occurring during the first time period can be aggregated into a common dataset. In other embodiments, some detections are not included in the aggregation. In particular, in step S04, only detections with speeds below a first speed threshold can be aggregated. The first speed threshold can be set below the average walking speed of a person. For example, the average walking speed of a person can be 1 m / s, and the first speed threshold is therefore set below 1 m / s, such as 0.3 m / s.
[0061] Figure 5 Schematic diagram in Figure 4 The location of a subset of detections 502 accumulated during time period T1. In this case, each detection 502 is associated with two-dimensional position coordinates defined relative to radar 108, thus forming a two-dimensional point cloud. It should be understood that in the case of three-dimensional position coordinates, the positions would be replaced by forming a three-dimensional point cloud. (Source: [Original Source Name]) Figure 1 The detection 502b of the example cleaning lady 104b is illustrated by a circle, and the detection 502a originating from the person 104a sitting at the desk is illustrated by a plus sign. The different symbols are used purely for illustration, because at this stage of the method, the device 202 does not know which detections are caused by objects 104a remaining in the same location, and which are caused by objects 104b moving around in space 100. It is evident that the detections 502a from the person 104a at the desk are clustered, while the detections 502b from the cleaning lady 104b are more dispersed in space 100. For illustration purposes, only a subset of the detections is shown. In practical applications, it should be understood that the number of detections will typically be much larger.
[0062] One reason for cluster detection is to collect enough detections from objects 104a that move very little, so that the detected locations form clusters that can be identified by a clustering algorithm. Therefore, a predetermined duration of the first time period T1 is preferably chosen such that sufficient detections are received from these objects. An appropriate value for the first time period T1 can depend on various factors such as the frequency of movement of object 104a, the frame rate of radar 108, and how to identify clusters. In practical applications, an appropriate duration of the first time period can be found by applying time periods of different durations to test scenarios where the occupied locations are known, and a time period is selected for which the method can determine the known occupied locations.
[0063] In step S06 of the method, device 202 identifies a set of clusters of detections in space 100 by analyzing the similarity of the clustered detections 502 in terms of location. For example, device 202 can analyze the location of the clustered detections 502 to find groups of detections 502 with similar locations. For this purpose, device 202 can apply a clustering algorithm to the location of the clustered detections 502. Examples of clustering algorithms that can be used are hierarchical clustering algorithms, centroid-based clustering algorithms such as k-means, model-based clustering algorithms such as expectation-maximization, density-based clustering algorithms such as DBSCAN, and grid-based clustering algorithms such as STING and CLIQUE. The resulting clusters each comprise a set of detections and are associated with a spatial region in space 100 defined by the spatial location of the detections in the cluster.
[0064] In some implementations, the similarity of the clustered detections 502 in terms of location is analyzed using an occupancy map, which indicates the spatial density of detections in different regions of space 100. A spatial region in the occupancy map with a higher value indicates a higher number of detections with similar locations in that spatial region of space 100 compared to a spatial region with a lower value in the occupancy map. Clusters of detections in space 100 will thus correspond to spatial regions with increased count values in the occupancy map. Accordingly, identifying the set of clusters of detections in space 100 by analyzing the similarity of the clustered detections 502 in terms of location can be performed by finding spatial regions with increased count values in the occupancy map, such as by detecting spots or peaks in the occupancy map.
[0065] More specifically, in sub-step S06a, device 202 defines a plurality of grid cells in space 100. For each grid cell, device 202 then calculates how many accumulated detections 502 have a location in the grid cell. In this way, an occupancy map of space 100 is generated. The occupancy map can be viewed as a histogram indicating the spatial density of accumulated detections 502 in different spatial regions of space 100. Figure 6 Showing targets Figure 1 The example scenario generates an occupancy map 600, in which some objects 104a (a person at a desk) remain in the same location in space 100 during a first time period T1, while another object 104b (a cleaning lady) moves around in space 100 during the same time period T1. In this embodiment, the grid cell resolution is 25x25 cm², the duration of the first time period T1 is 15 minutes, and the radar frame rate is 10 Hz. It is evident that region 602 exists in occupancy map 600, which has an increased detection count compared to surrounding areas in occupancy map 600. This means that there are more detections in regions 602 compared to other regions of occupancy map 600. Region 602 may be referred to as a blob or peak region in occupancy map 600.
[0066] To identify a set of clusters in space 100, a set of regions 602 with elevated values in occupancy map 600 can be detected. Specifically, in sub-step S06a, device 202 can perform blob detection on the occupancy map 600 of space 100. Many such blob detection methods are known in the art and can be used for this purpose. For example, a blob detection method that includes identifying peaks (local maxima) in the occupancy map can be used. That is, each cluster can be identified as a spatial region surrounding a peak in the occupancy map. Preferably, to reduce the influence of noise, the occupancy map 600 is first smoothed before identifying peaks.
[0067] Figure 7 Showing the identification Figure 6 The set of clusters 700 is identified by the peaks (local maxima) in Figure 600. In this case, nine peaks are identified, and thus nine clusters are identified. Figure 7 This shows the location of the peaks in space. This corresponds to the center location of the cluster. Furthermore, each cluster is associated with a specific spatial extent corresponding to the spatial region surrounding its center location. Figure 7 In this embodiment, the spatial region may correspond to the width of the peak or a predetermined spatial range matching the size of the object under consideration (in this case, a person). Generally, the spatial region associated with a cluster corresponds to the spatial range of the cluster determined by the clustering algorithm used. Each cluster includes those detections that fall within the spatial range of the cluster. It is evident that the number of clusters in this embodiment is greater than... Figure 1The number of people 104a occupying desks in the scene. One possible reason is that cleaning ladies 104b may briefly stop at different locations while moving around space 100, for example, to clean different desks. Accordingly, some of the detected clusters are false detections and should be removed before determining the occupancy of space 100.
[0068] In step S08, the device 202 continues to remove erroneously detected clusters, i.e., clusters that do not correspond to objects 104a that remained at the same location during the first time period T1. To do this, the device 202 analyzes the temporal distribution of the detections in the clusters 700. Each of the clusters 700 includes multiple detections performed at different time points during the first time period T1. Accordingly, these time points will be dispersed, i.e., have a certain temporal distribution over the time period T1.
[0069] Figure 8a Shown from Figure 7 The temporal distribution 800a (solid line) of the detections in the first cluster 700a of the set of clusters 700 is shown, where time is on the x-axis and the number of detections at each time point is on the y-axis. The temporal distribution 800a is therefore a histogram of the detection time points. It can be seen that the detections are distributed temporally over the entire first time interval T1. In other words, in this case, the detections are distributed temporally within a proportion of the time interval corresponding to 100% of the first time interval T1. This indicates that the object that caused the detection remained at the spatial location of cluster 700a throughout the entire first time interval T1. Figure 1 In this scenario, the object that triggers the detection might be one of the people 104a at the desk.
[0070] Figure 8b Shown from Figure 7 The temporal distribution 800b (solid line) of the detections in the second cluster 700b of the set of clusters 700, where time is again on the x-axis and the number of detections at each time point is on the y-axis. In this case, the detections are distributed temporally only within a finite portion of the time interval T1. In particular, in this case, the detections are distributed temporally within only about 15% of the time interval of the first time interval T1. This indicates that the object that caused the detection only temporarily resided at the spatial location of cluster 700b during the first time interval T1. That is, in Figure 1 In this scenario, these tests could be triggered by the cleaning lady 104b or a colleague making a brief visit.
[0071] By analyzing the temporal distribution of detections in cluster 700, and in particular the proportion of detections in the first time interval T1 that are distributed within it, device 202 can thus determine which are caused by objects 104a that remain at the same location during time interval T1, and which are caused by objects 1F04b that are only temporarily present at the spatial location during time interval T2.
[0072] Device 202 can employ different methods to determine the proportion of clusters detected within time interval T1. In a first method, device 202 determines the proportion of the first time interval as the proportion of clusters detected during the first time interval. This means that device 202 evaluates the time spent by the object at the spatial location of the cluster. This method in... Figure 8a and Figure 8b Further illustration is provided. Device 202 can first optionally apply a smoothing filter, such as a Gaussian filter, to time distributions 800a and 800b. This results in smoothed time distributions 802a and 802b (dashed lines). The smoothed time distributions 802a and 802b (or, if no smoothing is used, the original time distributions 800a and 800b) are then compared to a threshold. The result of the thresholding operation is illustrated by binary curves 804a and 804b (dashed lines), which take zero values when the smoothed time distributions 802a and 802b are below the threshold, and non-zero values when they are equal to or above the threshold. The proportion of the first time period T1 can then be determined as the proportion of the time periods when the smoothed time distributions 802a and 802b are equal to or above the threshold, i.e., the proportion when the binary curves 804a and 804b take non-zero values. Figure 8a In one embodiment, the proportion is obtained by summing the durations of the time portions when the binary curve 804a takes a non-zero value and dividing the sum by the duration of the first time interval T1. Similarly, in Figure 8b In one embodiment, the proportion is obtained by summing the duration of the time portion when the binary curve 804b takes a non-zero value and dividing the sum by the duration of the first time interval T1.
[0073] In the second method, the proportion of cluster detections within a first time period is determined by comparing a dispersion measure of the time points of cluster detection with a predetermined duration of the first time period T1. For example, the range of time points (i.e., the maximum time point minus the minimum time point) or the standard deviation of the time points can be used as a dispersion measure.
[0074] Once the proportion of detections of each cluster in the set of clusters 700 within the first time interval T1 is determined, device 202 removes any clusters from the set of clusters 700 whose detections are distributed in time within a proportion lower than a predetermined proportion threshold in the first time interval, see sub-step S08a. Device 202 thus compares the time proportion determined for each cluster with a proportion threshold. Clusters with a time proportion equal to or higher than the proportion threshold are retained in the set of clusters 700, while clusters with a time proportion lower than the proportion threshold are removed from the set of clusters 700. If no cluster has a time proportion lower than the proportion threshold, no cluster is removed in step S08a. However, even in this case, the time proportion has been determined and compared with the proportion threshold for each cluster to determine whether there are clusters with a time proportion lower than the proportion threshold. Therefore, step S08a can be said to include the following sub-steps: for each cluster, determining the proportion of detections of the cluster within the first time interval T1, and removing the cluster from the set of clusters if the determined proportion is lower than a predetermined proportion threshold.
[0075] Back Figure 7 And the embodiment shown in Figure 8, having Figure 8a Cluster 700a with time distribution 800a shown in the figure will therefore be retained in the set of clusters 700, and cluster 700b with time distribution 800b will be removed from the set of clusters 700. Figure 9 The set of clusters 900 remaining after removal step S08a is shown. In this case, there are six remaining clusters: 900a, 900b, 900c, 900d, 900e, and 900f.
[0076] You can apply the method to a test scenario and observe the movement of objects such as... Figure 1 The question asks what proportion of the cleaning lady 104b object should be produced to find an appropriate proportion threshold. When using a first time period of 15 minutes, a proportion threshold on the order of 30% was found to be suitable. Figure 1 Example scenario.
[0077] Optionally, in some embodiments, the removal step S08 further includes a sub-step S08b of removing clusters caused by multipath detection (sometimes also called ghosting detection). This is particularly advantageous in indoor environments and other environments with reflective surfaces such as metal fences, parked vehicles, building walls, and doors. If there are no such reflective surfaces in space 100, sub-step S08b can be omitted. Similarly, if a radar with the capability to filter ghosting target detection is used, it can be omitted.
[0078] In a scenario with numerous static reflective surfaces, a radar monitoring moving objects can receive both expected detections along the line of sight of the moving object and unwanted further detections from reflections from the reflective surfaces. As a result, moving objects remaining in the same location within space 100 can generate more than one cluster. One cluster includes expected detections along the line of sight of the moving object, and another cluster includes unwanted detections from reflections from the reflective surfaces.
[0079] To identify clusters caused by multipath detection, device 202 can analyze, for example, Figure 9 The temporal correlation between the detections of the remaining clusters of cluster 900. In particular, device 202 can analyze the temporal correlation between the detections of two clusters at a time and repeat this operation for any combination of clusters in the set of clusters. This can include calculating the Pearson correlation between the time points of detections in the first cluster and the time points of detections in the second cluster. High temporal correlation, i.e., if the detections in the first cluster have a trend of appearing at the same time points as the detections in the second cluster, indicates that the detections in one of the first and second clusters are multipath detections of the detections in the other of the first and second clusters. Accordingly, by identifying cluster pairs with temporal correlations higher than a temporal correlation threshold, candidate clusters as multipath targets can be identified. In other words, any cluster whose detection has a temporal correlation with the detections of another cluster in the set of clusters higher than a temporal correlation threshold is a candidate caused by multipath reflection. The temporal correlation threshold is again an adjustment parameter, but for Figure 1 In an example scenario, when the correlation is measured as Pearson correlation, which gives values between -1 and +1 (-1 indicates a perfect negative correlation, 0 indicates no correlation, and +1 indicates a perfect positive correlation), a value of 0.3 is found to be appropriate.
[0080] Figure 10 Showing along a common timeline Figure 9 The detection time points of the second cluster 900b and the third cluster 900c. Detection 1000b from the second cluster 900b is shown in... Figure 10 The upper half, and the detection 1000c from the third cluster 900c is shown in Figure 10 The lower half of the diagram shows that the detections from both clusters 900b and 900c tend to occur at the same time points, thus exhibiting high temporal correlation. Therefore, one of clusters 900b or 900c may be the result of multipath reflection. The same analysis is performed for all cluster pairs. Figure 9 In the embodiments, it is assumed that high temporal correlation is also identified for cluster pairs 900b and 900d.
[0081] When one or more candidate cluster pairs with a temporal correlation higher than a temporal correlation threshold have been identified, device 202 can continue to remove one cluster for each candidate pair. More specifically, device 202 removes the cluster in the pair that is farthest from the radar, i.e., the cluster whose detection distance from the radar is the largest. For example, the cluster in the pair with the largest representative distance to the radar can be removed. The representative distance can be the average distance or the median distance. Figure 9 In this embodiment, cluster 900c will therefore be removed because it is farther from the radar than cluster 900b. Cluster 900d will be removed for similar reasons. The reason for removing the cluster farthest from the radar is that unwanted multipath detection caused by reflection travels a longer path along the radar line of sight than desired detection, and therefore, the measurement distance of multipath detection from the radar will be greater than the measurement distance of non-reflective detection along the radar line of sight.
[0082] In summary, in sub-step S08b, device 202 can therefore remove any cluster from the set of clusters if the temporal correlation between the detection of the cluster and the detection of another cluster in the set of clusters is higher than a temporal correlation threshold, and the distance from the detection of the cluster to the radar is greater than the distance from the detection of the other cluster to the radar.
[0083] Once the cluster removal step S08 is completed, the method proceeds to step S10, in which the device 202 determines that the positions in space 100 corresponding to the set of clusters are occupied during a first time period. For this purpose, note that each cluster is associated with a spatial region in space 100 defined by the detections within the cluster. In step S10, the device 202 can thus determine that the positions in space 100 corresponding to the spatial regions associated with the clusters are occupied during the first time period. The spatial region of a cluster may, for example, correspond to the spatial region spanned by the detected positions within the cluster, or it may correspond to a representative position of the detected positions within the cluster, such as the average spatial position. When using an occupancy map to identify clusters as described above, the positions of the peaks (local maxima) used to detect clusters can be used as representative positions of the clusters.
[0084] Method 300 can therefore be used to determine the occupied locations in the space during the first time period. This allows for determining the number of occupied locations during the first time period. It also allows determining whether a particular location in the space was occupied during the first time period.
[0085] By repeating this method for subsequent time periods, the occupancy rate in the space can be further monitored over time. For example, it can be repeated for one or more subsequent time periods of a predetermined duration. Subsequent time periods can follow one another immediately after another; that is, when the first time period ends, the second time period begins, and so on. Time gaps can also exist between time periods.
[0086] It is possible to track locations in space that are identified as occupied between time periods. This may involve assigning a common identifier to locations occupied in different time periods that may be caused by the same object.
[0087] In some implementations, if an occupied location associated with the second time period and an occupied location associated with the previous first time period are spatially close to each other—for example, closer than a threshold distance—the occupied location associated with the second time period and the occupied location associated with the previous first time period can be assigned the same identifier. If no spatially similar location is found within the first time period, a new trajectory can be started for the occupied location within the second time period. Similarly, if no spatially similar location is found for a location occupied in the first time period within the second time period, the trajectory including the occupied location from the first time period can be terminated. Any identifier not currently used by another trajectory can be assigned to the new trajectory, or an identifier dependent on its spatial location. For example, such as... Figure 1 Different spatial regions within the desk space can be associated with predetermined identifiers so that a new trajectory starting in a particular spatial region is assigned that region's identifier. Alternatively, once a trajectory begins and its position is tracked, its identifier is associated with the trajectory's latest position, even after the trajectory has ended. This allows for the dynamic construction of a map that associates positions and identifiers over time. The next time tracking begins at a location, an identifier associated with that location can be assigned based on the map. If no identifier exists for that location on the map, an arbitrary identifier not present on the map can be assigned. Thus, each time occupancy is detected at a location, the same identifier will be assigned.
[0088] To remove false detections, trajectories outside the region of interest in the space can be removed. For example, the region of interest can correspond to a room in the space. Therefore, trajectories outside the room in the space can be removed. The above is just one example of how tracking can be performed. If needed, more advanced tracking algorithms using moving filters such as Kalman filters or particle filters can be used.
[0089] In other implementations, users can define areas of particular interest within the space. Each area can then be associated with an identifier. As an example, in an office scenario, a user can define areas around each desk. Occupied spaces falling within areas of the space can then be associated with the identifier of that area. Occupied spaces not falling within areas can be ignored. In this implementation, tracking of occupied spaces is not required.
[0090] It is recognized that those skilled in the art can modify the above embodiments in various ways while still utilizing the advantages of the invention as shown in the above embodiments. Therefore, the invention should not be limited to the illustrated embodiments and should be defined only by the appended claims. Furthermore, as those skilled in the art will understand, the illustrated embodiments can be combined.
Claims
1. A method for determining occupied positions in space, comprising: Detection of object movement is received from radar monitoring the space (S02), wherein each detection is associated with a position in the space and a time point when the detection is performed, wherein the received detections include detections from multiple time points corresponding to multiple frames of radar data. Accumulation (S04) involves the detection of time points within a first time period (T1) of a predetermined duration, wherein the first time period (T1) of the predetermined duration includes several frames of radar data. (S06) A set of clusters of detections in the space (502a, 502b) is identified by analyzing the location similarity of the accumulated detections (502), wherein each cluster includes multiple detections performed at different time points during the first time period (T1). Remove (S08) any clusters from the set of clusters whose detected temporal distribution falls below a predetermined proportion threshold during the first time period (T1), and After the removal, it is determined (S10) that the position in the space corresponding to the set of the cluster was occupied during the first time period (T1).
2. The method according to claim 1, wherein, Each detection is further associated with the speed at which the object moves, and wherein, in the accumulation (S04) step, only detections with speeds below a first speed threshold are accumulated.
3. The method according to claim 2, wherein, The first speed threshold is lower than the average walking speed of a person.
4. The method according to claim 1, wherein, The removal step (S08) further includes removing any of the following clusters from the set of clusters: The temporal correlation between the detection of this cluster and the detection of another cluster in the set of clusters is higher than a temporal correlation threshold, and The distance from which the radar is detected from this cluster is greater than the distance from which the radar is detected from the other cluster.
5. The method according to claim 1, wherein, The proportion of the detections of the clusters in the first time period (T1) that are distributed temporally within it is determined as the proportion of the detections of the clusters that exist during the first time period (T1).
6. The method according to claim 1, wherein, The proportion of the clusters detected at the time points is determined by comparing a dispersion measure of the clusters detected at the time points with the predetermined duration of the first time period (T1).
7. The method according to claim 1, wherein, The step of identifying (S06) a set of clusters of detections in the space (502a, 502b) includes applying a clustering algorithm to the location of the clustered detections (502).
8. The method according to claim 1, wherein, The step of identifying (S06) the set of detected clusters in the space (502a, 502b) includes: An occupancy map (600) of the space is generated by defining multiple grid cells in the space and, for each grid cell, counting how many of the accumulated detections (502) have a position in the grid cell. The set of clusters is identified by performing spot detection in the occupancy map (600) of the space.
9. The method according to claim 8, wherein, The spot detection includes identifying local maxima in the occupancy map (600).
10. The method according to claim 1, wherein, The method is repeated for subsequent time periods of the predetermined duration.
11. The method of claim 10, further comprising: Track the locations in the space that are identified as occupied between the first time period (T1) and the subsequent time periods.
12. The method of claim 11, further comprising: Remove trajectories outside the region of interest in the space.
13. An apparatus for determining an occupied position in space, wherein, The device includes a circuit configured to: Detections of object movement are received from radar (108) monitoring the space (100), wherein each detection is associated with a position in the space (100) and a time point when the detection is performed, wherein the received detections include detections from multiple time points corresponding to multiple frames of radar data. Accumulate detections at time points within a first time period (T1) of predetermined duration, wherein the first time period (T1) of predetermined duration includes some frames of radar data. A set of clusters of detections in the space (502a, 502b) is identified by analyzing the location similarity of the accumulated detections (502), wherein each cluster includes multiple detections performed at different time points during the first time period (T1). Remove any cluster (700b) from the set of clusters whose detected temporal distribution falls below a predetermined threshold during the first time period (T1), and After the removal, it is determined that the position in the space corresponding to the set of the cluster was occupied during the first time period (T1).
14. A non-transitory computer-readable medium comprising computer program code, which, when executed by a processing-capable device, causes the device to perform the method of any one of claims 1 to 12.