Analysis device
Patent Information
- Application Number
- JP2023134738
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-22
- Publication Date
- 2025-03-07
AI Technical Summary
【0006】 背景は静止体である。移動体は背景の前を移動する。移動体は、背景と比べて、短い期間しか留まらない。別言すれば、長い期間に亘って連続的に留まっている物体は、移動体ではなく、背景である可能性が高い。上記の処理実行部は、背景としての静止体と移動体とを比較した特性を利用して距離データから静止体を示す距離を分類する。具体的には、処理実行部は、第1の閾値を超える第1の期間に亘って連続的に算出された第1の距離を静止体距離情報として分類する。この分類方法は、背景としての静止体が平面であるか否かに関わらず適用可能である。静止体が平面でなくても、距離データから静止体を示す距離を抽出することができる。
Smart Images

Figure 2025029866000001_ABST
Abstract
Description
[Technical field]
[0001] The technology disclosed in this specification relates to an analysis device that analyzes distance data output from a distance measurement device. [Background technology]
[0002] Patent Document 1 describes a point cloud processing device that extracts a background point cloud, which is a point cloud belonging to a background region, from a point cloud obtained by measuring with Light Detection And Ranging (LiDAR). The point cloud processing device stores a point cloud constituting a plane (e.g., a wall surface and a floor surface) extracted using RANSAC as a background point cloud. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-219248 A Summary of the Invention [Problem to be solved by the invention]
[0004] Patent Document 1 is a technology that assumes that a stationary object as a background is flat. This specification provides a technology for extracting a distance indicating a stationary object from distance data even if the stationary object is not flat. [Means for solving the problem]
[0005] This specification discloses an analysis device that analyzes distance data output from a distance measurement device. The distance measurement device is configured to repeatedly scan a laser over a predetermined range around the distance measurement device and output the distance data indicating a distance calculated from the time from irradiation of the laser to reception of the reflected light of the laser, and the analysis device includes a process execution unit that executes a classification process on time-series data of the distance indicated by the distance data in each of a plurality of directions in which the laser is irradiated within the predetermined range, the classification process including a process of classifying each of a plurality of distances arranged in time series in the time-series data into stationary body distance information indicating a stationary body and moving body distance information indicating a moving body moving in front of the stationary body within the predetermined range, and the process execution unit classifies a first distance calculated continuously over a first period exceeding a first threshold as the stationary body distance information, and classifies a second distance calculated in a period after the first period and shorter than the first distance as the moving body distance information.
[0006] The background is a stationary object. The moving object moves in front of the background. The moving object stays only for a short period of time compared to the background. In other words, an object that stays continuously for a long period of time is likely to be the background, not a moving object. The above-mentioned processing execution unit classifies the distance indicating the stationary object from the distance data by utilizing the characteristics obtained by comparing the stationary object and the moving object as the background. Specifically, the processing execution unit classifies the first distance calculated continuously for a first period exceeding a first threshold as stationary object distance information. This classification method is applicable regardless of whether the stationary object as the background is flat or not. Even if the stationary object is not flat, the distance indicating the stationary object can be extracted from the distance data.
[0007] The processing execution unit may classify the first distance as the stationary body distance information when a specific condition is satisfied when the first distance is calculated sporadically over a second period, and the specific condition may be that the first distance is calculated with a frequency equal to or greater than a specific level during the second period.
[0008] For example, it is assumed that a moving object frequently passes in front of a stationary object as the background. In this case, the first distance is not continuously calculated. However, even if a moving object frequently passes in front of the background, the background is calculated sporadically, and further, the background tends to be calculated with a certain degree of frequency. According to the above configuration, even if the first distance is calculated sporadically, when the first distance is calculated with a frequency equal to or higher than a certain degree in the second period, it is possible to estimate that the first distance is a distance indicating a stationary object as the background, and classify the first distance as stationary object distance information. Even if a moving object frequently passes in front of a stationary object, it is possible to extract a distance indicating a stationary object from the distance data.
[0009] The processing execution unit may assign a specific counter to the first distance when the first distance is calculated for the first time, count up the specific counter when another distance shorter than the first distance is calculated during the second period, and reset the specific counter to its initial value when the first distance is calculated during the second period, and the specific condition may be that the value of the specific counter is less than a predetermined value when the second period exceeds a second threshold.
[0010] If the first distance is calculated with a frequency equal to or greater than the specified level, the value of the specific counter is reset before counting up to a value exceeding the specified value. In other words, since the value of the specific counter is less than the specified value, it can be inferred that the first distance is calculated with a frequency equal to or greater than the specified level.
[0011] The analysis device further includes a memory control unit that stores the first distance in a confirmed memory area that stores distances confirmed as stationary objects when the first distance is classified as the stationary object distance information, and the processing execution unit may classify the third distance as the stationary object distance information when the absolute value of the difference between a third distance calculated in a period after the first period and the first distance stored in the confirmed memory area is less than or equal to a predetermined value.
[0012] According to this configuration, the third distance can be classified as stationary object distance information without making a determination regarding the third distance using the first threshold value.
[0013] The analysis device may further include a decision unit that decides to maintain the first distance in the defined memory area when a distance shorter than the first distance stored in the defined memory area is calculated, and a first deletion unit that deletes the first distance from the defined memory area when a distance longer than the first distance stored in the defined memory area is calculated.
[0014] A calculated distance shorter than the first distance means that a moving object moving in front of the stationary object is calculated, and it is highly likely that the stationary object has not changed. On the other hand, a calculated distance longer than the first distance means that it is highly likely that the stationary object once determined has moved. With the above configuration, it is possible to manage the maintenance and deletion of information in the determined storage area, taking these situations into consideration.
[0015] After the first distance is stored in the committed memory area, the processing execution unit classifies a fourth distance shorter than the first distance that satisfies a specific condition as the stationary body distance information, the specific condition being either that the fourth distance is calculated continuously over a third period in which it exceeds the first threshold, or that, when the fourth distance is calculated sporadically over a fourth period, the frequency at which the fourth distance is calculated during the fourth period is equal to or greater than a specific level, and the memory control unit may store the fourth distance in the committed memory area in addition to the first distance when the fourth distance is classified as the stationary body distance information.
[0016] For example, there is a case where an object (e.g., a chair) is placed in front of the first distance. According to the above configuration, in addition to the first distance, a fourth distance indicating an object placed in front of the first distance can also be classified as a stationary object.
[0017] The analysis device may further include a second deletion unit that deletes the fourth distance from the committed memory area when the fourth distance is not calculated and the first distance is calculated in a period after either the third period or the fourth period.
[0018] When the fourth distance is not calculated and the first distance is calculated, it means that the object located in front of the first distance is no longer present. Unnecessary data can be deleted from the committed storage area. [Brief description of the drawings]
[0019] [Figure 1] A box diagram of the analysis system is shown. [Diagram 2] 1 shows a conceptual diagram of distance data. [Diagram 3] The structure of the analysis data is shown. [Figure 4] FIG. 13 is a flowchart of the process of an analysis application. [Diagram 5] FIG. 13 is a flowchart of a candidate writing process. [Figure 6] FIG. 13 is a flowchart of a confirmed box update process. [Figure 7] FIG. 13 is a flowchart of a candidate box update process. [Figure 8] FIG. 11 is a flowchart of a migration process. [Figure 9] FIG. 13 is a diagram illustrating a specific case C1. [Figure 10] FIG. 10 is a diagram illustrating a second case C2 following FIG. [Figure 11] FIG. 13 is a diagram illustrating a specific case C3. [Figure 12] FIG. 12 is a diagram illustrating case C4 continued from FIG. [Figure 13] FIG. 13 is a diagram illustrating a case C5 continued from FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] (Configuration of analysis system 2; Figure 1) The analysis system 2 is a system for analyzing the positions of one or more people (for example, 4a to 4d) moving within a predetermined area. The predetermined area is, for example, an indoor area, an outdoor area, etc. Indoor areas are, for example, offices, factories, shopping malls, exhibition halls, etc. Outdoor areas are, for example, the outside of a station, a building entrance, etc. Note that XYZ coordinates are defined in FIG. 1. In the following, the XYZ coordinates will be used appropriately for explanation.
[0021] The analysis system 2 includes a terminal device 10 and a LiDAR 100. The terminal device 10 is a desktop PC, a laptop PC, a smartphone, or the like. In a modified example, a server on the Internet may be used instead of the terminal device 10. The LiDAR 100 is a 3D LiDAR that measures the distance to a surrounding object three-dimensionally, which is called light detection and ranging. In a modified example, the LiDAR 100 may be a 2D LiDAR that measures the distance to a surrounding object two-dimensionally. The terminal device 10 and the LiDAR 100 are connected to each other via a wire or wirelessly so as to be able to communicate with each other. In a modified example, the analysis system 2 may be a single device, and the functions of the terminal device 10 and the LiDAR 100 may be integrated into the single device.
[0022] The LiDAR 100 is configured to repeatedly scan a laser over a predetermined range R around the LiDAR 100 and output distance data indicating a distance calculated from the time from the irradiation of the laser to the reception of the reflected light of the laser. The laser is irradiated by a laser light source built into the LiDAR 100. The laser light source rotates, for example, by using a rotation mechanism such as a motor. Scanning over the predetermined range R is realized by rotating the laser light source at a predetermined angle (for example, 180 degrees) in the XY plane and a predetermined angle (for example, 120 degrees) up and down in the Z direction. For example, the laser light source rotates at a rotation speed of 5 times / second. In a modified example, the LiDAR 100 may scan the laser using a method that does not use a rotation mechanism called a solid-state type.
[0023] As shown in FIG. 1, the person 4a, etc. to be analyzed passes in front of the background 6, which is a stationary object. The background 6 is, for example, a wall of a building, etc., a parked car, or furniture (e.g., a chair) installed indoors. The distance data output from the LiDAR 100 includes a mixture of distances indicating the person 4a, etc., which is a moving object, and distances indicating the background 6, which is a stationary object. The process of analyzing the position of the person 4a, etc. from the distance data including the distance indicating the background 6 is complicated, and the processing load is high. However, if the distance indicating the background 6, which is a stationary object, is removed from the distance data, the amount of information of the data to be analyzed can be reduced. By analyzing the data from which the distance indicating the background 6 is removed from the distance data, the process of analyzing the position of the person 4a, etc. can be simplified, and the processing load can be reduced.
[0024] (Structure of terminal device 10; Figure 1) The terminal device 10 includes a display unit 12, an operation unit 14, a communication interface 16, and a control unit 30. In the following, the "interface" will be abbreviated as "I / F".
[0025] The display unit 12 is a display for displaying various information. The operation unit 14 includes a plurality of keys for receiving instructions from a user. The display unit 12 may function as a touch screen (i.e., an operation unit). The communication I / F 16 is an I / F for executing communication with the LiDAR 100.
[0026] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes according to programs 40 and 42 stored in the memory 34. The OS program 40 is a program that controls the basic operation of the terminal device 10. The analysis application program 42 (hereinafter, referred to as "analysis app 42") is a program for analyzing distance data 44 received from the LiDAR 100. The distance data 44 is received from the LiDAR 100 via the communication I / F 16 and stored in the memory 34. The analysis app 42 is provided, for example, by a business entity that provides the analysis system 2.
[0027] (Structure of distance data 44; Figure 2) The coordinates of the point P calculated by the LiDAR 100 are indicated by polar coordinates (α, ω, D). The angle α is a horizontal angle in the XY plane, and the angle ω is an up-down angle in the Z-axis direction. D is a linear distance from the LiDAR 100 (i.e., the origin) to the point P. In this embodiment, the coordinates of each point P included in the distance data 44 are indicated by polar coordinates (α, ω, D) at time t. The time t is a unit time for scanning the entire predetermined range R once. In a modified example, the coordinates of each point P included in the distance data 44 may be Cartesian coordinates (X, Y, Z) at time t. In this case, the control unit 30 may change the Cartesian coordinates (X, Y, Z) to polar coordinates (α, ω, D).
[0028] For example, among the distance data 44, a plurality of coordinates calculated in one scan of the entire predetermined range R (i.e., one time t) are expressed as a straight-line distance D mapped as a two-dimensional coordinate system 102 of coordinates (α, ω). The distance data 44 is expressed as the two-dimensional coordinate system 102 arranged in chronological order of time t.
[0029] (Structure of analysis data 110; Figure 3) In this embodiment, the analysis application 42 executes a classification process (see FIG. 4) for each coordinate in the two-dimensional coordinate system 102 arranged in chronological order of time t. In the classification process, all coordinates in the two-dimensional coordinate system 102 are classified using the analysis data 110 shown in FIG.
[0030] For example, the analysis data 110 for classifying the time series data of a specific coordinate (α1, ω1) in the two-dimensional coordinate system 102 includes classification data 112 and background determination data 120. The classification data 112 includes distance information 114 and classification flag information 116. The distance information 114 is time series data of the linear distance D of the specific coordinate (α1, ω1). The classification flag information 116 includes a plurality of classification flags. Each of the plurality of classification flags indicates one classification result among the linear distances D arranged in time series in the distance information 114. The classification flag indicates either a value "foreground" or a value "background". The value "foreground" indicates the result of classifying the linear distance D into an object other than the background 6 (i.e., a moving object). The value "background" indicates the result of classifying the linear distance D into the background 6.
[0031] The background determination data 120 includes a plurality of candidate boxes B1 to B5 and a plurality of confirmed boxes B6 to B10. Each of the candidate boxes B1 to B5 stores a straight-line distance D before it was confirmed as the background. Each of the confirmed boxes B6 to B10 stores a straight-line distance D at which it was confirmed as the background. Note that the number of the plurality of candidate boxes B1 to B5 and the plurality of confirmed boxes B6 to B10 is not limited to five, and may be, for example, two, six or more. Also, the number of confirmed boxes may be one.
[0032] Each of the multiple candidate boxes B1 to B5 and the multiple confirmed boxes B6 to B10 has the same configuration. The configuration of the candidate box B1 will be described below as a representative. The candidate box B1 has a distance box 130, a survival counter 132, and a refresh counter 134. A straight-line distance D assigned to the candidate box B1 is written in the distance box 130. The survival counter 132 is a counter that starts counting up after the straight-line distance D is written in the distance box 130. The survival counter 132 continues counting up until the straight-line distance D written in the distance box 130 is deleted. The refresh counter 134 is also a counter that starts counting up after the straight-line distance D is written in the distance box 130. The refresh counter 134 is reset to an initial value when a specific condition is satisfied. In this embodiment, the initial values of the survival counter 132 and the refresh counter 134 are "0". In addition, in a modified example, the initial values of the survival counter 132 and the refresh counter 134 may be a value other than "0", for example, "1". In the drawings, the "survival counter" may be abbreviated to "SC" and the "refresh counter" to "RC."
[0033] Analysis data 110 classifying time-series data of coordinates other than the specific coordinates (α1, ω1) has a similar configuration to analysis data 110 corresponding to the specific coordinates (α1, ω1).
[0034] The analysis application 42 executes the process of FIG. 4 described later to classify each distance indicated by the distance data 44 into background and an object other than the background (i.e., foreground). The analysis application 42 extracts a person from the data obtained by removing each distance classified as background from the distance data 44. For example, the analysis application 42 identifies a first coordinate group (i.e., a group of adjacent points) indicating a distance of "2 m" in the two-dimensional coordinate system 102 as a person 4a, and identifies a second coordinate group indicating a distance of "4 m" in the two-dimensional coordinate system 102 as another person 4b. The analysis application 42 extracts people at the same distance and the same coordinate group as the same person. Then, the analysis application 42 displays the result of the extracted people, for example, the number of extracted people, on the display unit 12. In general, the resolution of the LiDAR 100 is lower than that of an image sensor such as a CCD. With high-resolution image data, it is possible to identify a person using feature points. On the other hand, with low-resolution distance data 44, the same coordinate group is used as described above.
[0035] (Analysis App Processing; Figure 4) The process executed by the CPU 32 in accordance with the analysis application 42 will be described with reference to Fig. 4. The process in Fig. 4 is triggered, for example, by the operation unit 14 receiving an instruction to start analysis from a user.
[0036] In S10, the CPU 32 selects the coordinates of the target from the distance data 44. Here, the distance data 44 is expressed as a two-dimensional coordinate system 102 arranged in chronological order of time t as shown in Fig. 2, and the coordinates of the target are, for example, specific coordinates (α1, ω1) at a specific time t1.
[0037] In S12, the CPU 32 acquires a linear distance D at the coordinates of the object selected in S10. In the following, the linear distance acquired in S12 is referred to as the "distance of the object." Also, the time corresponding to the coordinates of the object selected in S10 is referred to as the "time of the object."
[0038] In S14, CPU 32 determines whether or not there is a confirmed box that stores the same distance as the target distance among confirmed boxes B6-B10 in analysis data 110 that correspond to the coordinates of the target. Here, "the same distance as the target distance" means that the absolute value of the difference with the target distance is equal to or less than a predetermined value, and does not necessarily mean that it is strictly the same. If CPU 32 determines that there is no confirmed box that stores the same distance as the target distance (NO in S14), it proceeds to S16.
[0039] In S16, CPU 32 determines whether or not a candidate box storing the same distance as the target distance exists among candidate boxes B1-B5 in analytical data 110 corresponding to the coordinates of the target. If CPU 32 determines that a candidate box storing the same distance as the target distance does not exist (NO in S16), it proceeds to S18.
[0040] In S18, the CPU 32 executes a candidate writing process (see FIG. 5) for writing data to the candidate box.
[0041] In S20, the CPU 32 writes the distance of the object as a distance corresponding to the time of the object in the distance information 114 of the classification data 112. Furthermore, the CPU 32 writes the value "foreground" in the classification flag information 116 of the classification data 112 as a value corresponding to the time of the object.
[0042] In S22, the CPU 32 executes a confirmed box update process (see FIG. 6) for updating the contents of the confirmed boxes B6 to B10 corresponding to the target coordinates.
[0043] In S24, the CPU 32 executes a candidate box update process (see FIG. 7) for updating the contents of the candidate boxes B1 to B5 corresponding to the target coordinates.
[0044] In S26, the CPU 32 judges whether all the coordinates indicated by the distance data 44 have been selected. When the CPU 32 judges that all the coordinates indicated by the distance data 44 have not been selected (NO in S26), the process returns to S10 and selects new coordinates as the target coordinates. Note that, as the order of selecting the target coordinates, for example, a method of fixing the coordinates (α, ω) and selecting the coordinates so as to advance the time t in order may be adopted. Also, for example, a method of fixing the time t and selecting the coordinates (α, ω) in order may be adopted. Note that the counters 132 and 134 count up in accordance with the progress of the time t. In other words, the counters 132 and 134 do not count up when the time t is fixed. The counters 132 and 134 are linked to the progress of the time t.
[0045] Moreover, when the CPU 32 determines that all coordinates indicated by the distance data 44 have been selected (YES in S26), it ends the processing of FIG.
[0046] Furthermore, when the CPU 32 determines that a candidate box that stores the same distance as the target distance exists (YES in S16), the process proceeds to S30. In S30, the CPU 32 determines whether the live counter 132 in the candidate box that stores the same distance as the target distance is equal to or greater than a predetermined counter value. The predetermined counter value in S30 is, for example, "5", but this value is merely an example.
[0047] When the CPU 32 determines that the live counter 132 in the candidate box that stores the same distance as the target distance is less than a predetermined counter value (NO in S30), the CPU 32 proceeds to S32. In S32, the CPU 32 resets the refresh counter 134 in the candidate box that stores the same distance as the target distance. When the process of S32 ends, the CPU 32 proceeds to S20.
[0048] Furthermore, when the CPU 32 determines that the live counter 132 in the candidate box that stores the same distance as the target distance is equal to or greater than a predetermined counter value (YES in S30), the CPU 32 proceeds to S40. In S40, the CPU 32 executes a transfer process (see FIG. 8) for transferring the data in the candidate box to the confirmed box.
[0049] The next step S42 is the same as S20, except that the value "background" is written to the classification flag. When the process of S42 ends, the CPU 32 proceeds to S22.
[0050] Furthermore, when the CPU 32 determines that a fixed box exists that stores the same distance as the target distance (YES in S14), the CPU 32 proceeds to S50. In S50, the CPU 32 resets the refresh counter 134 in the fixed box that stores the same distance as the target distance. When the process of S50 ends, the CPU 32 proceeds to S42.
[0051] (Candidate writing process; Figure 5) The candidate writing process of S18 in Fig. 4 will be described with reference to Fig. 5. In S100, the CPU 32 judges whether or not there is an empty candidate box in which no data has been written among the candidate boxes B1 to B5 corresponding to the target coordinates. When the CPU 32 judges that there is an empty candidate box (YES in S100), the process proceeds to S102.
[0052] In S102, the CPU 32 writes the target distance into the distance box 130 in the free candidate box. In S104, the CPU 32 sets initial values to the alive counter 132 and the refresh counter 134 in the free candidate box, and starts counting the counters 132 and 134. That is, the alive counter 132 and the refresh counter 134 are assigned to the target distance by the processes of S102 and S104. When S104 ends, the CPU 32 ends the process of FIG. 5.
[0053] Furthermore, if the CPU 32 determines that there is no free candidate box (NO in S100), the process proceeds to S110. In S110, the CPU 32 deletes data from the box with the smallest value of the live counter 132 among the candidate boxes B1 to B5. When S110 ends, the CPU 32 proceeds to S102.
[0054] (Determined box update process; Figure 6) The confirmed box update process of S22 in Fig. 4 will be described with reference to Fig. 6. In S200, the CPU 32 selects one target box from among the confirmed boxes B6 to B10, which contain data.
[0055] In S202, CPU 32 judges whether the distance written in distance box 130 in the target box is equal to or greater than the target distance (see S12 in FIG. 4). If CPU 32 judges that the distance in the target box is equal to or greater than the target distance (YES in S202), CPU 32 proceeds to S204. On the other hand, if CPU 32 judges that the distance in the target box is less than the target distance (NO in S202), CPU 32 skips S204 and proceeds to S210.
[0056] In S204, the CPU 32 resets the refresh counter 134 in the target box. When S204 ends, the CPU 32 proceeds to S210.
[0057] In S206, CPU 32 determines whether the current value of refresh counter 134 in the target box is equal to or greater than a predetermined counter value. The predetermined counter value is, for example, "3," but this value is merely an example. When CPU 32 determines that the current value of refresh counter 134 in the target box is equal to or greater than the predetermined counter value (YES in S206), CPU 32 proceeds to S208.
[0058] In S208, the CPU 32 deletes the data from the target box. Specifically, the CPU 32 deletes the data from the distance box 130 in the target box, and stops the counting of the live counter 132 and the refresh counter 134 in the target box. When S208 ends, the CPU 32 proceeds to S210.
[0059] Furthermore, when the CPU 32 determines that the current value of the refresh counter 134 in the target box is less than the predetermined counter value (NO in S206), it skips S208 and proceeds to S210. In S210, the CPU 32 determines whether or not all of the one or more confirmed boxes in which data is written have been selected in S200. When the CPU 32 determines that all of the one or more confirmed boxes have not been selected in S200 (NO in S210), it returns to S200. On the other hand, when the CPU 32 determines that all of the one or more confirmed boxes have been selected in S200 (YES in S210), it ends the processing of FIG. 6.
[0060] According to the process of FIG. 6, if the value of the refresh counter 134 is less than a predetermined counter value, data is not deleted from the candidate box. Here, the refresh counter 134 is reset when the distance in the confirmed box is longer than the target distance. A calculated distance shorter than the distance in the confirmed box means that a moving object moving in front of the background 6 has been calculated, and it is highly likely that the background has not changed. On the other hand, a measured distance longer than the distance in the confirmed box means that a stationary object once confirmed as the background has moved. Taking these situations into consideration, the maintenance and deletion of information in the confirmed box can be managed.
[0061] (Candidate box update process; Fig. 7) The candidate box update process of S24 in Fig. 4 will be described with reference to Fig. 7. In S300, the CPU 32 selects one target box from among one or more candidate boxes B1 to B5 in which data is written.
[0062] In S302, CPU 32 judges whether the distance written in distance box 130 in the target box is the same as the target distance (see S12 in FIG. 4). If CPU 32 judges that the distance in the target box is the same as the target distance (YES in S302), it proceeds to S304. On the other hand, if CPU 32 judges that the distance in the target box is not the same as the target distance (NO in S302), it skips S304 and proceeds to S306.
[0063] S304 is similar to S204 in Fig. 6, except that it is a process for a candidate box. When S304 ends, the CPU 32 proceeds to S306.
[0064] In S306, CPU 32 determines whether the current value of refresh counter 134 in the target box is equal to or greater than a predetermined counter value. The predetermined counter value is, for example, "3", but this value is merely an example. Note that the predetermined counter value in S306 may be the same as or different from the predetermined counter value in S206 of FIG. 6. When CPU 32 determines that the current value of refresh counter 134 in the target box is equal to or greater than the predetermined counter value (YES in S306), it proceeds to S308.
[0065] S308 is similar to S208 in Fig. 6, except that it is a process for a candidate box. When S308 ends, the CPU 32 proceeds to S310.
[0066] Furthermore, if the CPU 32 determines that the current value of the refresh counter 134 in the target box is less than the predetermined counter value (NO in S306), it skips S308 and proceeds to S310. In S310, the CPU 32 determines whether or not all of the one or more candidate boxes in which data is written have been selected in S300. If the CPU 32 determines that all of the one or more candidate boxes have not been selected in S300 (NO in S310), it returns to S300. On the other hand, if the CPU 32 determines that all of the one or more candidate boxes have been selected in S300 (YES in S310), it ends the processing of FIG. 7.
[0067] (Transition process; Figure 8) The transition process of S40 in Fig. 4 will be described with reference to Fig. 8. In S400, CPU 32 judges whether or not there is an empty confirmed box in which no data has been written among confirmed boxes B6 to B10 corresponding to the target coordinates. When CPU 32 judges that there is an empty confirmed box (YES in S400), it proceeds to S402.
[0068] In S402, the CPU 32 copies data in the candidate box that stores the same distance as the target distance to the empty confirmed box specified in S400. Specifically, the CPU 32 writes the distance written in the distance box 130 of the candidate box to the distance box 130 of the empty confirmed box. Then, the CPU 32 changes the value of the alive counter 132 of the empty confirmed box to the value of the alive counter 132 of the candidate box, and changes the value of the refresh counter 134 of the empty confirmed box to the value of the refresh counter 134 of the candidate box. That is, the values of the counters 132 and 134 of the candidate box are taken over to the counters 132 and 134 of the empty confirmed box.
[0069] In S404, the CPU 32 deletes the data in the candidate box that has been copied to the confirmed box. When S404 ends, the CPU 32 ends the process of FIG.
[0070] Furthermore, if the CPU 32 determines that there is no free confirmed box (NO in S400), the process proceeds to S410. In S410, the CPU 32 deletes data from the confirmed box B6 to B10 that has the smallest value of the alive counter 132. When S110 ends, the CPU 32 proceeds to S402.
[0071] (Specific case C1; Figure 9) Case C1 shown in Fig. 9 is a specific case in which time series data of a straight-line distance D at a specific coordinate (α1, ω1) in a two-dimensional coordinate system 102 is classified. In other words, the process of Fig. 4 is executed using analysis data 110 corresponding to the specific coordinate (α1, ω1). Note that each of the cases in Fig. 10 and subsequent figures is also a specific case in which time series data of a straight-line distance D at a specific coordinate (α1, ω1) is classified.
[0072] In this case, the laser continuously reaches the background 6 over the period from time t1 to time t6. The CPU 32 executes the process of FIG. 4 for time t1. The CPU 32 selects a specific coordinate (α1, ω1) at time t1 as a target coordinate from the distance data 44, and obtains the linear distance "10 m" at the target coordinate (S10, S12 in FIG. 4). The CPU 32 determines that there is no confirmed box that stores the same distance as the linear distance "10 m" and that there is no candidate box that stores the same distance as the linear distance "10 m" (NO in S14, NO in S16). The CPU 32 writes the linear distance "10 m" in the empty candidate box B1, and starts counting the live counter 132 and the refresh counter 134 of the empty candidate box B1 from "0" (S102, S104 in FIG. 5). The CPU 32 writes the distance "10 m" and the classification flag "foreground" corresponding to time t1 into the classification data 112 (S20 in FIG. 4). At the time when the process in FIG. 4 for time t1 is executed, there is no confirmed box into which data has been written, so the confirmed box update process in S22 is skipped. At that time, there is a candidate box B1 into which data has been written (S300). Since the straight-line distance "10 m" in the candidate box B1 is the same as the straight-line distance "10 m" at the target coordinates, the refresh counter 134 in the candidate box B1 is reset (YES in S302, S304 in FIG. 7). Furthermore, since the value "0" of the refresh counter 134 in the candidate box B1 is less than the predetermined counter value "3", the data in the candidate box B1 is not deleted (NO in S306).
[0073] The CPU 32 executes the process of FIG. 4 for time t2. At the start of this process, the values of the counters 132 and 134 in the candidate box B1 are counted up to "1". In this process, the CPU 32 determines that there is a candidate box B1 that stores the same distance as the straight-line distance "10 m" (YES in S16 of FIG. 4). The CPU 32 determines that the value "1" of the live counter 132 in the candidate box B1 is less than a predetermined counter value "5" (NO in S30). The CPU 32 resets the value of the refresh counter 134 in the candidate box B1 (S32). The CPU 32 writes the distance "10 m" and the classification flag "foreground" corresponding to time t2 into the classification data 112 (S20). Note that in the process of FIG. 4 for time t2, the final box update process is also skipped, and the data in the candidate box B1 is not deleted in the candidate box update process.
[0074] The processes in Fig. 4 for each of times t3 to t5 are the same as the process in Fig. 4 for time t2. At the time point when the process in Fig. 4 for time t5 is completed, the live counter 132 in the candidate box B1 indicates "4" and the refresh counter 134 in the candidate box B1 indicates "0".
[0075] The CPU 32 executes the process of FIG. 4 for time t6. At the time when the process of FIG. 4 for time t6 is started, the alive counter 132 in the candidate box B1 is counted up to "5", and the refresh counter 134 in the candidate box B1 is counted up to "1". In this process, the CPU 32 determines that a candidate box B1 exists that stores the same distance as the straight-line distance "10 m", and that the value "5" of the alive counter 132 in the candidate box B1 is equal to or greater than the predetermined counter value "5" (YES in S16 of FIG. 4, YES in S30). The CPU 32 copies the data in the candidate box B1 to an empty confirmed box B6, and further deletes the data from the candidate box B1 (S402, S404 of FIG. 8). The CPU 32 writes the distance "10 m" and the classification flag "background" corresponding to time t6 into the classification data 112 (S42 of FIG. 4). At the time when the process of FIG. 4 for time t6 is executed, a confirmed box B6 in which data has been written exists. Since the straight-line distance "10 m" in the confirmed box B6 is equal to or greater than the straight-line distance "10 m" in the target coordinates, the refresh counter 134 in the confirmed box B6 is reset (YES in S202, S204 in FIG. 6). Also, since the value "0" of the refresh counter 134 in the confirmed box B6 is less than the predetermined counter value "3", the data in the confirmed box B6 is not deleted (NO in 206).
[0076] A moving object (e.g., person 4a in FIG. 1) moves in front of the background 6. The moving object stays there for only a short period of time compared to the background 6, which is a stationary object. In other words, an object that stays there continuously for a long period of time is likely to be the background 6, which is a stationary object, rather than a moving object. According to this case, the CPU 32 writes the value "background" into the classification flag corresponding to the linear distance "10 m" that is continuously calculated for a period exceeding the predetermined counter value "5" in S30 in FIG. 4 (see time t6 in FIG. 9). That is, the linear distance "10 m" is classified as a distance indicating the background 6. This classification method is applicable regardless of whether the background 6 is flat or not. Even if the background 6 is not flat, the distance indicating the background 6 can be extracted from the distance data 44.
[0077] (Specific case C2; Figure 10) This case is a continuation of case C1 in Fig. 9. In this case, a person 4a passes in front of a background 6 between times t7 and t8, and a person 4b passes in front of the background 6 at time t10.
[0078] The CPU 32 executes the process of FIG. 4 for time t7. In this process, the CPU 32 acquires the straight-line distance "2m" at the target coordinates (α1, ω1) (S10, S12 in FIG. 4). Here, the distance "2m" is the distance between the LiDAR 100 and the person 4a. Since there is no confirmed box and no candidate box that stores the same distance as the straight-line distance "2m" (NO in S14, NO in S16), the CPU 32 writes the straight-line distance "2m" into the empty candidate box B1, and starts counting the alive counter 132 and the refresh counter 134 of the empty candidate box B1 from "0" (S102, S104 in FIG. 5). Note that the candidate box into which the straight-line distance "2m" is written is not limited to the candidate box B1 that became empty at time t6 in FIG. 9, and may be another empty candidate box. The CPU 32 writes the distance "2 m" and the classification flag "foreground" corresponding to the time t7 into the classification data 112 (S20 in FIG. 4).
[0079] The CPU 32 executes the process of FIG. 4 for time t8. In this process, the CPU 32 determines that there exists a candidate box B1 that stores the same distance as the straight-line distance "2 m" (YES in S16 of FIG. 4). The CPU 32 determines that the value "1" of the live counter 132 in the candidate box B1 is less than a predetermined counter value "5" (NO in S30). The CPU 32 resets the value of the refresh counter 134 in the candidate box B1 (S32). The CPU 32 writes the distance "2 m" and the classification flag "foreground" corresponding to time t8 into the classification data 112 (S20 of FIG. 4).
[0080] The CPU 32 executes the process of Fig. 4 for time t9. In this process, the CPU 32 determines that there is a confirmed box B6 that stores the same distance as the straight-line distance "10 m" (YES in S14). The CPU 32 resets the refresh counter 134 for the confirmed box B6 (S50). The CPU 32 writes the distance "10 m" and the classification flag "background" corresponding to time t9 into the classification data 112 (S42).
[0081] The CPU 32 executes the process of FIG. 4 for time t10. In this process, the CPU 32 acquires the straight-line distance "4m" at the target coordinates (α1, ω1) (S10, S12 in FIG. 4). Here, "4m" is the distance between the LiDAR 100 and the person 4b. Since there is no confirmed box or candidate box that stores the same distance as the straight-line distance "4m" (NO in S14, NO in S16), the CPU 32 writes the straight-line distance "4m" to the empty candidate box B2, and starts the counts of the live counter 132 and the refresh counter 134 of the empty candidate box B2 from "0" (S102, S104 in FIG. 5). The CPU 32 writes the distance "4m" and the classification flag "foreground" corresponding to time t10 to the classification data 112 (S20 in FIG. 4).
[0082] 4 for time t11. In this process, the distance "10 m" and the classification flag "background" corresponding to time t11 are written to the classification data 112, similar to the process in Fig. 4 for time t9.
[0083] In the process of FIG. 4 for time t7 to t11, the distance "10m" in the confirmed box B6 is equal to or greater than any one of the target distances "2m", "10m", and "4m" (YES in S202, S204 in FIG. 6), so the data in the confirmed box B6 is not deleted in the confirmed box update process (NO in S206). On the other hand, in the process of FIG. 4 for time t9 and t10, the target distances "10m" and "4m" are not equal to the distance "2m" in the candidate box B1 (NO in S302 in FIG. 7), so the refresh counter 134 in the candidate box B1 is not reset. As a result, in the process of FIG. 4 for time t11, the value of the refresh counter 134 in the candidate box B1 indicates "3". Since the value of the refresh counter 134, "3", is equal to or greater than the predetermined counter value "3", the CPU 32 deletes the data from the candidate box B1 (S308).
[0084] For example, a comparative example is assumed in which the confirmed boxes B6 to B10 do not exist and the processes of S14, S40, and S50 in FIG. 4 are not executed. In this comparative example, as long as the distance "10m" indicating the background 6 continues to be measured with a certain frequency, in the candidate box update process, the refresh counter 134 in the candidate box storing the distance "10m" continues to be reset, and the live counter 132 in the candidate box continues to count up. In this case, the CPU 32 determines that the value of the live counter 132 in the candidate box storing the distance "10m" is equal to or greater than a predetermined counter value, and writes the classification flag "background" to the classification data 112 (YES in S30, see S42 in FIG. 4). That is, even if the confirmed boxes B6 to B10 do not exist, the distance "10m" can be classified as the background 6. In contrast, in this embodiment in which the confirmed boxes B6 to B10 exist, the distance "10m" once confirmed as the background 6 can be classified as the background 6 without executing the judgment in S30 using the live counter 132. In addition, in the modified example, the configuration of the comparative example described above may be adopted.
[0085] (Specific case C3; Figure 11) In this case, during the period from time t1 to time t6, the people 4a and 4b pass in front of the background 6, and the laser reaches the background 6 sporadically.
[0086] The process of FIG. 4 for time t1 in this case is similar to the process of FIG. 4 for time t1 in case C1 of FIG.
[0087] At time t2, the person 4a passes in front of the background 6. Since there is no confirmed box or candidate box that stores the same distance as the straight-line distance "2m" (NO in S14 and NO in S16 in FIG. 4), the CPU 32 writes the straight-line distance "2m" to the empty candidate box B2, and restarts the live counter 132 and the refresh counter 134 of the empty candidate box B2 from "0" (S102 and S104 in FIG. 5). The CPU 32 writes the distance "2m" and the classification flag "foreground" corresponding to time t2 to the classification data 112 (S20). As shown in FIG. 11, as a result of the processing of FIG. 4 for time t2, data is written to the candidate boxes B1 and B2.
[0088] At time t3, the laser again reaches the background 6. As a result, the distance "10m" and the classification flag "foreground" corresponding to time t3 are written to the classification data 112 (S20 in FIG. 4). At time t4, the person 4b passes in front of the background 6. As a result, the straight-line distance "4m" is written to the empty candidate box B3, and the alive counter 132 and the refresh counter 134 of the empty candidate box B3 start counting from "0" (S102, S104 in FIG. 5). As shown in FIG. 11, as a result of the processing of FIG. 4 for time t4, data is written to the candidate boxes B1, B2, and B3.
[0089] At time t5, the laser again reaches the background 6. As a result, the distance "10 m" and the classification flag "foreground" corresponding to time t5 are written into the classification data 112 (S20).
[0090] For the candidate box B1 in which the distance "10m" indicating the background 6 is written, the distance "2m" of the object corresponding to time t2 is not the same as the distance "10m" in the candidate box B1 (NO in S302 in FIG. 7). As a result, at the time when the process of FIG. 4 for time t2 is executed, the refresh counter 134 in the candidate box B1 is not reset and is maintained at the value "1". However, the distance "10m" of the object corresponding to time t3 is the same as the distance "10m" in the candidate box B1 (YES in S302). As a result, in the process of FIG. 4 for time t3, the refresh counter 134 in the candidate box B1 is reset (S304). Even at times t4 and t5, the value of the refresh counter 134 in the candidate box B1 does not increase from "1". That is, the value of the refresh counter 134 in the candidate box B1 is less than the predetermined counter value, and the data in the candidate box B1 is not deleted (NO in S306 in FIG. 7).
[0091] At time t6, the laser reaches the background 6. As described above, at the time when the process of FIG. 4 for time t6 is executed, the data in the candidate box B1 is not deleted. As a result, at the time when the process of FIG. 4 for time t6 is executed, the alive counter 132 in the candidate box B1 indicates a value of "5". The target distance "10m" corresponding to time t6 is the same as the distance "10m" in the candidate box B1, and the value "5" of the alive counter 132 in the candidate box B1 is equal to or greater than the predetermined counter value "5" (YES in S16 of FIG. 4, YES in S30). As a result, the data in the candidate box B1 is copied to the empty confirmed box B6 (S402, S404 of FIG. 8). The distance "10m" and the classification flag "background" corresponding to time t6 are written to the classification data 112 (S42).
[0092] In this case, the people 4a and 4b pass in front of the background 6, and the distance "10 m" indicating the background 6 is not calculated continuously. However, even if a person (moving object) frequently passes in front of the background 6, the background 6 is calculated sporadically, and the background 6 tends to be calculated with a certain degree of frequency. For example, as shown in the case of FIG. 10, if the distance "10 m" indicating the background 6 is calculated with a certain degree of frequency or more, the value of the refresh counter 134 is reset before counting up to the predetermined counter value "3". That is, since the value of the refresh counter 134 is less than the predetermined counter value, it can be estimated that the distance "10 m" indicating the background 6 is calculated with a certain degree of frequency or more. According to this case, when it is estimated that the distance "10 m" indicating the background 6 is calculated with a certain degree of frequency or more, the distance "10 m" indicating the background 6 can be classified as "background". Even if a moving object frequently passes in front of the background 6, the distance "10 m" indicating the background 6 can be extracted from the distance data 44.
[0093] In this case, the distance "2m" indicating the person 4a is calculated at time t2, but the distance "2m" indicating the person 4a is not calculated after time t3. Therefore, the refresh counter 134 in the candidate box B2 continues to count up at times t3 and t4 (NO in S302 in FIG. 7). Then, in the process of FIG. 4 for time t5, it is determined that the value "3" of the refresh counter 134 in the candidate box B2 is equal to or greater than the predetermined counter value "3," and the data in the candidate box B2 is deleted (YES in S306, S308).
[0094] (Specific case C4; Figure 12) This case is a continuation of case C3 in Fig. 10. In this case, at time t7, a stationary object 8 is placed in front of the background 6, and the laser reaches the stationary object 8 over the period from time t7 to t12. The stationary object 8 is, for example, a piece of furniture such as a chair, or a parked vehicle.
[0095] At each of times t7 to t11, the distance to the stationary object 8 is calculated as "5 m." In the process of FIG. 4 for time t7, the straight-line distance "5 m" is written into the empty candidate box B1 (S18 in FIG. 4). In the process of FIG. 4 for each of times t7 to t11, the distance "5 m" and the classification flag "foreground" corresponding to each of the times t7 to t11 are written into the classification data 112 (S20).
[0096] The CPU 32 executes the process of FIG. 4 for time t12. At the time when the process of FIG. 4 for time t12 is started, the alive counter 132 in the candidate box B1 is counted up to "5". Therefore, the target distance "5m" corresponding to time t12 is the same as the distance "5m" in the candidate box B1, and the value "5" of the alive counter 132 in the candidate box B1 is equal to or greater than the predetermined counter value "5" (YES in S16 of FIG. 4, YES in S30). As a result, the data in the candidate box B1 is copied to the empty confirmed box B7 (S402, S404 of FIG. 8). The distance "5m" and the classification flag "background" corresponding to time t12 are written to the classification data 112 (S42). As a result of the process of FIG. 4 for time t12, data is written to the two confirmed boxes B6 and B7.
[0097] According to this case, in addition to the distance "10 m" indicating the background 6, the distance "5 m" indicating the stationary object 8 placed in front of the distance "10 m" can also be classified as the background. Note that even if the distance "5 m" is calculated sporadically with a frequency equal to or higher than a specific level during the time period t7 to t12, the distance "5 m" is classified as the background (see case C3 in FIG. 11).
[0098] (Specific case C5; Figure 13) This case is a continuation of case C4 in FIG. 12. In this case, the stationary object 8 is removed at time t13. The laser reaches the background 6 over times t14 and t15. The distance "5 m" to the stationary object 8 is not calculated over times t13 to t15. As a result, the value of the refresh counter 134 in the final box B7 is maintained at the value "3" at the time when the process of FIG. 4 for time t15 is executed. Since the value "3" of the refresh counter 134 is determined to be equal to or greater than the predetermined counter value "3", the data in the final box B7 is deleted (YES in S206, S208 in FIG. 6). The calculation of the distance "10 m" instead of the distance "5 m" means that the stationary object 8 no longer exists. Unnecessary data can be deleted from the final box B7.
[0099] (Correspondence) The background 6, the LiDAR 100, and the terminal device 10 are examples of a "stationary body", a "distance measurement device", and an "analysis device", respectively. The distance data 44 is an example of "distance data". The predetermined range R and each coordinate (α, ω) of the two-dimensional coordinate system 102 shown in FIG. 12 are examples of a "predetermined range" and a "multiple directions", respectively. The determined boxes B6 to B10 and the refresh counter 134 are examples of a "determined memory area" and a "specific counter", respectively. The classification flag "background" and the classification flag "foreground" are examples of "stationary body distance information" and "moving body distance information", respectively. S20 and S42 in FIG. 4 are examples of a "classification process". The predetermined counter value "5" in S30 in FIG. 4 and the value of the alive counter 132 in the process for time t6 in FIG. 9 are examples of a "first threshold (and second threshold)" and a "first period", respectively. The distance "10 m" from the background 6 in FIG. 9 is an example of a "first distance". The distance "2 m" from person 4a in FIG. 10 is an example of a "second distance." The distance "10 m" calculated at time t9 in FIG. 10 is an example of a "third distance." The value "5" of alive counter 132 in the process for time t6 in FIG. 11 is an example of a "second period." The frequency at which the distance "10 m" is sporadically calculated in FIG. 11 is an example of a "frequency equal to or higher than a specific level." The distance "5 m" in FIG. 12 is an example of a "fourth distance." The value "5" of alive counter 132 at time t12 in FIG. 12 is an example of a "third period."
[0100] The CPU 32 that executes S20 and S42 in Fig. 4 is an example of a "processing execution unit." The CPU 32 that executes S40 is an example of a "storage control unit." The CPU 32 that determines YES in S202 in Fig. 6 and the CPU 32 that executes S208 are examples of a "decision unit" and a "first deletion unit," respectively. The CPU 32 that deletes the data in the confirmed box B7 in the processing for time t15 in Fig. 13 is an example of a "second deletion unit."
[0101] Although specific examples of the technology disclosed in this specification have been described above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and variations of the specific examples exemplified above. For example, the following modifications may be adopted.
[0102] (Modification 1) At least one of the alive counter 132 and the refresh counter 134 may be a counter that counts down. In this case, if it is determined in S30 of Fig. 4 that the value of the alive counter 132 that counts down is equal to or less than a predetermined counter value, the process of S40 may be executed. Also, if it is determined in S206 of Fig. 6 (or S306 of Fig. 7) that the value of the refresh counter 134 that counts down is equal to or less than a predetermined counter value, the process of S208 (or S308) may be executed.
[0103] (Variation 2) The condition of the alive counter 132 for duplicating the candidate box B1 to the confirmed box B6 in case C1 of Fig. 9 may be different from the condition of the alive counter 132 for duplicating the candidate box B1 to the confirmed box B6 in case C3 of Fig. 11. For example, in case C1, the alive counter 132 may be "5" or more and the candidate box B1 may be duplicated to the confirmed box B6, while in case C3, the alive counter 132 may be "7" or more and the candidate box B1 may be duplicated to the confirmed box B6. Generally speaking, the "second threshold" may be a value different from the "first threshold".
[0104] (Modification 3) The process of case C3 in Fig. 9 may not be executed. In this case, for example, while the distance "10m" is calculated sporadically, the distance "10m" may not be determined as the background. In this modification, the "specific condition" may be omitted.
[0105] (Modification 4) The means for estimating the "frequency equal to or higher than a specific level" is not limited to the method of combining the alive counter 132 and the refresh counter 134, but may be, for example, a method of calculating from the transition of distance over a specific period of time in the distance data 44. In this modification, the "specific counter" can be omitted.
[0106] (Modification 5) The process of Fig. 6 does not have to be executed. In this modification, the "deciding unit" and the "first deleting unit" can be omitted.
[0107] (Modification 6) The process of case C4 in Fig. 12 does not need to be executed. In this case, for example, the distance "5 m" indicating the stationary object 8 may be classified as "foreground". In this modification, the "specific condition" can be omitted.
[0108] (Modification 7) The process of case C5 in Fig. 13 does not have to be executed. In this modification, the "second deletion unit" can be omitted.
[0109] (Variation 8) The process in Fig. 4 does not have to be performed on all data in distance data 44. For example, the process in Fig. 4 may be performed on the remaining data excluding data calculated in the first few seconds from distance data 44. Furthermore, data calculated in the first few seconds of distance data 44 may be forcibly classified as "background," and the process in Fig. 4 may be performed on the remaining data.
[0110] (Modification 9) The process of Fig. 4 may be executed on the distance data 44 that is updated as needed while the LiDAR 100 is actually performing measurement. That is, the process of Fig. 4 may be a real-time process. The process of Fig. 4 may also be executed on the distance data 44 stored in the memory 34 after the measurement by the LiDAR 100 is completed. That is, the process of Fig. 4 does not have to be a real-time process.
[0111] The technical elements described in this specification or drawings have technical utility either alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated in this specification or drawings achieve multiple objectives simultaneously, and achieving one of these objectives is itself technically useful. [Explanation of symbols]
[0112] 2: Analysis system 4a, 4b: People 6: Background 8: Stationary object 10: Terminal device 12:Display section 14:Operation section 16: Communication I / F 30: Control section 32 :CPU 34: Memory 40: OS program 42:Analysis App 44: Distance data 102: Two-dimensional coordinate system 110:Analysis data 112: Classification data 114: Distance information 116: Classification flag information 120: Background determination data B1~B5: Candidate box B6~B10: Confirmed box 130: Distance box 132: Survival counter 134: Refresh counter α :Angle ω :Angle D: straight line distance R : Range t1~t15: Time
Claims
1. An analysis device for analyzing distance data output from a distance measurement device, the distance measurement device is configured to repeatedly scan a laser over a predetermined range around the distance measurement device, and output the distance data indicating a distance calculated from a time from irradiation of the laser to reception of reflected light of the laser, The analysis device comprises: a processing execution unit that executes a classification process on time-series data of the distance indicated by the distance data in each of a plurality of directions in which the laser is irradiated within the predetermined range, the classification process includes a process of classifying each of the distances arranged in time series in the time series data into stationary object distance information indicating a stationary object and moving object distance information indicating a moving object moving in front of the stationary object within the predetermined range, The processing execution unit is classifying a first distance calculated continuously over a first period exceeding a first threshold as the stationary object distance information; classifying a second distance, which is calculated in a period after the first period and is shorter than the first distance, as the moving object distance information; Analyzer.
2. the processing execution unit classifies the first distance as the stationary object distance information when a specific condition is satisfied in a case where the first distance is calculated sporadically over a second period; The analysis device according to claim 1 , wherein the specific condition is that the first distance is calculated with a frequency equal to or greater than a specific level during the second period.
3. The processing execution unit is assigning a particular counter to the first distance when the first distance is first calculated; When a distance shorter than the first distance is calculated during the second period, the specific counter is counted up; resetting the particular counter to an initial value when the first distance is calculated during the second period; The analysis device according to claim 2 , wherein the specific condition is that the value of the specific counter is less than a predetermined value while the second period exceeds a second threshold value.
4. The analysis device further comprises: a storage control unit that stores the first distance in a determined storage area that stores a distance determined as the stationary object when the first distance is classified as the stationary object distance information; The analysis device described in claim 1, wherein the processing execution unit classifies the third distance as the stationary body distance information when the absolute value of the difference between a third distance calculated in a period after the first period and the first distance stored in the defined memory area is less than or equal to a predetermined value.
5. The analysis device further comprises: a determination unit that determines, when a distance shorter than the first distance stored in the committed storage area is calculated, to maintain the first distance in the committed storage area; a first deletion unit that deletes the first distance from the committed storage area when a calculated distance is greater than the first distance stored in the committed storage area; The analysis device of claim 4 .
6. the processing execution unit, after the first distance is stored in the defined storage area, classifies a fourth distance that satisfies a specific condition and is shorter than the first distance as the stationary object distance information; The specific conditions are: the fourth distance is continuously calculated over a third period during which the fourth distance exceeds the first threshold; and When the fourth distance is calculated sporadically over a fourth period, the frequency at which the fourth distance is calculated during the fourth period is equal to or higher than a specific level; and The analysis device according to claim 4 , wherein the memory control unit stores the fourth distance in the defined memory area in addition to the first distance when the fourth distance is classified as the stationary body distance information.
7. The analysis device further comprises: The analysis device according to claim 6, further comprising a second deletion unit that deletes the fourth distance from the committed memory area when the fourth distance is not calculated and the first distance is calculated in a period after either the third period or the fourth period.
Citation Information
Patent Citations
Point group processor, method for processing point group, and program
JP2019219248A