CONTROL DEVICE, PROGRAM, AND LiDAR SYSTEM
Patent Information
- Application Number
- PCT/JP2024/033761
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-22
- Filing Date
- 2024-09-20
- Publication Date
- 2025-03-27
Smart Images

Figure JP2024033761_27032025_PF_FP_ABST
Abstract
Description
Control device, program, and LiDAR system
[0001] The present invention relates to a control device, a program, and a LiDAR system.
[0002] Light detection and ranging (LiDAR) devices are known that can measure the distance to and shape of an object by detecting reflected light from irradiated light, and Patent Document 1 below discloses an object detection system that uses this LiDAR device.
[0003] In the object detection system described in Patent Document 1 below, distance data to an object is acquired using a LiDAR device, and the location of the object is calculated by calculating the difference from pre-stored background data.
[0004] JP 2009-58927 A
[0005] As described above, the object detection system of Patent Document 1 stores background data in advance. This background data is obtained by measuring an unmanned monitoring area with a LiDAR device. However, when acquiring background data, there is a concern that the background data may not be acquired if a moving object is located in the unmanned monitoring area.
[0006] Therefore, the present invention aims to provide a control device, program, and LiDAR system that can separate data that can be used as background data from other data even when a moving object is located in the monitored area.
[0007] In order to achieve the above-mentioned object, the present invention provides a control device that processes point cloud data output from a LiDAR device, comprising: a partition unit that divides data indicating a space into a plurality of voxels; an assigning unit that assigns initial values of variables to each of the voxels; a variation unit that, based on the point cloud data input from the LiDAR device, performs one of the following operations for each predetermined period: increasing the variable by a predetermined increase amount or decreasing the variable by a predetermined decrease amount for the variable of the voxels in which a predetermined number of points indicating that an object has been detected for a first period or longer that is less than the predetermined period; and an output unit that, after repeating the variation of the variable in the variation unit a predetermined number of times, outputs data in which the voxels in which the variable is equal to or greater than a predetermined threshold value and the other voxels are separated.
[0008] The present invention also provides a program executed by a control device that processes point cloud data output from a LiDAR device, which causes the control device to execute the following steps: dividing data indicating a space into multiple voxels; assigning initial values to each of the voxels; and, based on the point cloud data input from the LiDAR device, at each predetermined period, performing one of the following steps: increasing the variable of the voxels in which a predetermined number of points indicating that an object has been detected for a first period or longer that is less than the predetermined period, by increasing the variable by a predetermined amount or decreasing the variable by a predetermined amount; and, after repeating the step of varying the variable a predetermined number of times, outputting data in which the voxels in which the variable is greater than a predetermined threshold value and the other voxels are separated.
[0009] The present invention also provides a LiDAR system comprising a LiDAR device and a control device to which point cloud data from the LiDAR device is input, wherein the control device has a partition section that divides data indicating a space into a plurality of voxels, an assignment section that assigns initial values of variables to each of the voxels, and a variation section that, based on the point cloud data input from the LiDAR device, performs one of the following operations for each predetermined period: increasing the variable by a predetermined increase amount or decreasing the variable by a predetermined decrease amount for voxels in which a predetermined number of points indicating that an object has been detected for a first period or longer that is less than the predetermined period; and an output section that, after repeating the variation of the variable in the variation section a predetermined number of times, outputs data in which the voxels in which the variable is equal to or greater than a predetermined threshold value and the other voxels are separated.
[0010] According to the above-described control device, program, and LiDAR system, the following first or second operation is performed. In the first operation, in voxels where a predetermined number of points that detect an object are located for a first period or more, a variable increases every predetermined period, and in voxels where the number of points is less than the predetermined number, the variable decreases every predetermined period. Furthermore, in background locations, detected objects such as walls do not move. Therefore, in voxels representing areas where background objects such as walls are located, the variable continues to increase. Furthermore, in voxels representing areas where a moving object is located, even if the variable increases during a temporary period when the moving object is located, the variable decreases before the moving object is located in the area or after the moving object moves out of the area. Therefore, in voxels representing areas that may be background, the variable may become equal to or greater than a predetermined threshold after the variable is varied a predetermined number of times, while in voxels representing other areas, the variable may become smaller than the predetermined threshold after the variable is varied a predetermined number of times.
[0011] In the second operation, according to the control device, program, and LiDAR system, in voxels where a predetermined number of points detecting an object are located for a first period or more, the variable decreases every predetermined period, while in voxels where the number of points is less than the predetermined number, the variable increases every predetermined period. In voxels indicating an area where a background object, such as a wall, is located, the variable continues to decrease. In voxels indicating an area where a moving object is located, the variable may decrease during a temporary period when the moving object is located, but increase before the moving object is located in the area or after the moving object moves out of the area. Therefore, in voxels indicating areas that may be background, the variable may become smaller than a predetermined threshold after the variable is varied a predetermined number of times, while in voxels indicating other areas, the variable may become greater than or equal to the predetermined threshold after the variable is varied a predetermined number of times.
[0012] Therefore, in both the first and second operations, data is output that distinguishes between voxels whose variables are equal to or greater than a predetermined threshold and other voxels, thereby making it possible to distinguish between voxels that may be background and other voxels. Thus, according to the present invention, even if a moving object is located in the monitored area, data that can be used as background data can be distinguished from other data. Therefore, the background can be set in the device that receives the data.
[0013] The initial value may be determined based on the number of points indicating that an object has been detected for at least a second period less than the specific period, based on the point cloud data, for each voxel during a specific period. Alternatively, the initial value may be determined based on the number of points indicating that an object has been detected for at least a second period less than the specific period, based on the point cloud data, for each voxel during a specific period, and durations of the points.
[0014] When the initial values are determined in this manner, in the first operation, the initial value variables of voxels representing areas that may be background may be set to high values, and the initial value variables of other voxels may be set to low values. Also, in the second operation, the initial value variables of voxels representing areas that may be background may be set to low values, and the initial value variables of other voxels may be set to high values. In other words, the initial value of each voxel can be weighted. Therefore, the period during which the variable of a voxel representing an area that may be background is equal to or greater than a predetermined threshold can be shortened.
[0015] The specific period may have the same length as the predetermined period, in which case the second period may have the same length as the first period.
[0016] In these cases, the period can be easily managed.
[0017] The initial value may be the same for each of the voxels.
[0018] In this case, since the initial value can be set to a specific value, the process of determining the initial value becomes easier, and control can be simplified.
[0019] When the initial value is the same for each of the voxels, the initial value is preferably the predetermined threshold value.
[0020] In this case, even if the number of times the variable changes is one, the variable may be equal to or greater than a predetermined threshold in voxels that represent areas that may be background, and may be smaller than the predetermined threshold in voxels that represent areas that may not be background. Therefore, the time required for the output unit to output data that is separated into voxels whose variables are equal to or greater than the predetermined threshold and other voxels can be shortened.
[0021] The predetermined number may be one.
[0022] In this case, points indicating the detection of small objects can distinguish between voxels that represent areas that may be background and the other voxels.
[0023] The predetermined number may be two or more.
[0024] In this case, it is possible to suppress the possibility that noise entering a specific position will cause the voxel representing the area including that position to become background.
[0025] At least one of the predetermined increase range and the predetermined decrease range may be a constant value.
[0026] In this case, the processing can be simplified compared to when the increase or decrease varies every predetermined period, for example.
[0027] Preferably, at least one of the predetermined increase width and the predetermined decrease width is determined for each voxel based on the number of points indicating that an object has been detected for the first period or longer during the predetermined period. Alternatively, at least one of the predetermined increase width and the predetermined decrease width is determined for each voxel based on the number of points indicating that an object has been detected for the first period or longer during the predetermined period and the duration of the points.
[0028] When the range of increase or decrease is defined in this way, the difference in the variation of the variables of the voxels that indicate the area that may be the background and the other voxels can be increased, and therefore the voxels that indicate the area that may be the background can be more appropriately distinguished from the other voxels.
[0029] Preferably, the first period has the same length as the predetermined period.
[0030] In principle, background objects do not move. Therefore, points that detect the object always remain within the voxel. Therefore, points that are detected temporarily within a specified period can be eliminated as noise. This makes it possible to more accurately distinguish between voxels that indicate areas that may be background and other voxels.
[0031] As described above, according to the present invention, it is possible to provide a control device, program, and LiDAR system that can separate data that can be used as background data from other data, even when a moving object is located in the monitoring area.
[0032] It is a schematic diagram showing a LiDAR system according to an embodiment of the present invention. It is a conceptual diagram showing a monitoring area. It is a flowchart showing the operation of a control device.
[0033] Preferred embodiments of a control device, a program, and a LiDAR system according to the present invention will be described in detail below with reference to the drawings. The embodiments exemplified below are intended to facilitate understanding of the present invention and are not intended to limit the present invention. The present invention can be modified and improved within the scope of the claims without departing from the spirit thereof. The present invention may also be achieved by appropriately combining the components in the embodiments exemplified below. Note that in the drawings referred to below, the dimensions of each component may be changed to facilitate understanding. Also, in the drawings, for ease of viewing, similar components may be denoted with reference symbols only in part, and some reference symbols may be omitted.
[0034] 1 is a schematic diagram showing a LiDAR system according to the present embodiment. The LiDAR system 1 of the present embodiment mainly includes a LiDAR device 10, a control device 20, a memory 30, and a monitor 40.
[0035] The LiDAR device 10 of this embodiment detects objects within the monitoring area of the LiDAR device 10. Through this detection, the LiDAR device 10 can detect background objects such as walls and benches, as well as moving objects such as people and vehicles. The LiDAR device 10 of this embodiment may be, for example, a raster scan LiDAR device. The LiDAR device 10 of this embodiment includes a cover 19, a driver circuit 11, a laser light source 12, an H-direction scanning drive mirror 13, a V-direction scanning drive mirror 14, a light receiving element 15, and a point cloud data generator 16. In the example of FIG. 1 , the LiDAR device 10 is a mechanical LiDAR device, but it may also be a phased array LiDAR device that does not include a drive unit.
[0036] The cover 19 has a storage space for housing the driver circuit 11, the laser light source 12, the driving mirror 13 for H-direction scanning, the driving mirror 14 for V-direction scanning, the light receiving element 15, and the point cloud data generation unit 16, and transmits the laser light Lb emitted from the laser light source 12 and the reflected light Lr that is reflected by an object within the monitoring area.
[0037] The driver circuit 11 is composed of, for example, a plurality of logic circuits, and is electrically connected to the laser light source 12, the H-direction scanning drive mirror 13, and the V-direction scanning drive mirror 14 to control them.
[0038] The laser light source 12 emits laser light Lb of a predetermined wavelength. This laser light Lb is near-infrared light with a wavelength of, for example, 905 nm or 1550 nm. The timing at which the laser light source 12 emits the laser light Lb is controlled by a driver circuit 11, and the laser light source 12 emits the laser light Lb in response to a signal from the driver circuit 11. The driver circuit 11 is electrically connected to a point cloud data generator 16, and outputs data including the timing at which the laser light Lb is emitted from the laser light source 12 to the point cloud data generator 16.
[0039] The H-direction scanning drive mirror 13 includes a mirror that reflects the laser light Lb emitted from the laser light source 12 and a drive unit (not shown) that is controlled by the driver circuit 11. When reflecting the laser light Lb, the H-direction scanning drive mirror 13 reflects the laser light Lb while changing the reflection angle in the horizontal direction using the drive unit. By changing the reflection angle of the H-direction scanning drive mirror 13, the LiDAR device 10 performs horizontal scanning.
[0040] The V-direction scanning drive mirror 14 includes a mirror that reflects the laser light Lb reflected by the H-direction scanning drive mirror 13 and a drive unit (not shown) that is controlled by the driver circuit 11. When reflecting the laser light Lb, the V-direction scanning drive mirror 14 reflects the laser light Lb while changing the reflection angle in the vertical direction using the drive unit. This change in the reflection angle of the V-direction scanning drive mirror 14 changes the horizontal scanning position performed by the LiDAR device 10 in the vertical direction. The laser light reflected by the V-direction scanning drive mirror 14 passes through the cover 19 and is irradiated forward of the vehicle VE.
[0041] The H-direction scanning drive mirror 13 and the V-direction scanning drive mirror 14 are configured to include, for example, a polygon mirror or a galvanometer mirror. The H-direction scanning drive mirror 13 and the V-direction scanning drive mirror 14 may each be configured with a MEMS mirror. The H-direction scanning drive mirror 13 and the V-direction scanning drive mirror 14 may be combined into one biaxial scan mirror, and the order in which the laser light Lb is reflected by the H-direction scanning drive mirror 13 and the V-direction scanning drive mirror 14 may be reversed.
[0042] The light receiving element 15 receives reflected light Lr, which is laser light Lb reflected by an object in the monitored area. The reflected light Lr received by the light receiving element 15 contains information about the object located in the monitored area. The light receiving element 15 is electrically connected to the point cloud data generation unit 16, and the information is input to the point cloud data generation unit 16 as an electrical signal.
[0043] The point cloud data generator 16 generates point data for each reflection position based on the direction of the reflection position where the laser beam Lb is reflected and the distance to the reflection position, based on data related to the emission timing of the laser beam Lb input from the driver circuit 11, information input from the light receiving element 15, and timing data of the information input from the light receiving element 15. The point data includes the coordinates of the point. Therefore, the point cloud data generator 16 generates point cloud data, which is a collection of point data. The point cloud data generator 16 is electrically connected to the control device 20, and the point cloud data is input to the control device 20.
[0044] Next, the control device 20 will be described.
[0045] The control device 20 is formed of, for example, an integrated circuit such as a microcontroller, an integrated circuit (IC), a large-scale integrated circuit (LSI), or an application specific integrated circuit (ASIC), or an NC (numerical control) device. The control device 20 may or may not use a machine learning device.
[0046] The control device 20 has an input interface 21, a partition unit 22, an application unit 23, a variation unit 24, an output unit 25, and an output interface 29, each of which is electrically connected via a bus line.
[0047] The input interface 21 is electrically connected to the point cloud data generation unit 16. Therefore, the point cloud data is input from the input interface 21.
[0048] The partition unit 22 divides the data, which is represented by three-axis coordinates indicating the space, into multiple voxels. This space is monitored by the LiDAR system 1. FIG. 2 is a conceptual diagram showing the monitoring area. In FIG. 2, voxels B are indicated by dashed lines. Note that to avoid complicating the diagram, FIG. 2 is shown in a plan view, but in reality, the monitoring area AR is divided into voxels B at predetermined intervals in the x, y, and z directions. Also, although shown simply in FIG. 2, the size of voxels B is smaller than the size shown in FIG. 2, and the monitoring area AR is divided into more voxels than the voxels B shown in FIG. 2. Therefore, the coordinates of each voxel B are calculated as data, and the calculated data is sent to the variation unit 24 via a bus line.
[0049] Each voxel B is sized to include multiple points r representing multiple reflection points. That is, for example, if there are reflection positions adjacent to each other in the H direction, and data for multiple points r is formed by the reflected light Lr reflected at each reflection position, each point r can be located in a single voxel B. In the example of FIG. 2 , a fixed object F and a moving object M are located across the regions of voxels B1 to B3 and voxels B4 to B6, respectively. In the regions represented by voxels B2, B3, and voxels B4 to B6, there are multiple reflection positions where the laser light Lb is reflected by the fixed object F and the moving object M. Therefore, multiple points r for detecting objects are located in voxels B2, B3, and voxels B4 to B6. However, depending on the position of the fixed object F, there are also regions with only one reflection point, such as the region represented by voxel B1. In this case, voxel B1 has only one point r.
[0050] The assigning unit 23 assigns an initial value f(0) of the variable f(n) to each voxel B. In this embodiment, the initial value f(0) is the same for each voxel B. By making the initial value f(0) uniform for each voxel B in this way, the initial value f(0) can be set to a specific value, which makes it easier to determine the initial value f(0), simplifies control, and reduces the load on the assigning unit 23.
[0051] The variation unit 24 varies the variable f(n) at predetermined intervals. If this is the first variation of the variable immediately after the initial value f(0) is set, the variation is relative to the initial value f(0). Specifically, based on the point cloud data input from the LiDAR device 10, the variation unit 24 increases the variable f(n) of a voxel B in which a predetermined number or more of points r indicating that an object has been detected for a first period or longer, which is equal to or shorter than the predetermined period, are located, by a predetermined increase amount. Conversely, the variation unit 24 decreases the variable f(n) of a voxel B in which a predetermined number of points r indicating that an object has been detected for a first period or longer are located, by a predetermined decrease amount.
[0052] The predetermined number is, for example, 1. In this case, a voxel B indicating a region that may be background because a small object is located within the region indicated by the voxel B and there is only one point r that detects the object can be distinguished from the other voxels B. The predetermined number may be 2 or more. In this case, noise introduced into a specific position can reduce the possibility that the voxel B indicating the region including that position will be background. The predetermined period is, for example, a period during which 12 frames of point cloud data are input from the LiDAR device 10. The number of frames is not limited to 12 frames. For example, it may be a predetermined number of frames between 4 and 36 frames. The first period is, for example, a period during which 10 frames, but not more than 12 frames, of point cloud data are input from the LiDAR device 10. The number of frames indicating the first period is not limited to 10 frames. For example, if the first period is equal to or shorter than the predetermined period, it may be a predetermined number of frames between 4 and 24 frames. In this case, if there are a predetermined number or more points r indicating that an object will be detected at a predetermined coordinate over 10 frames or more within a predetermined period, the variable f(n) of the voxel B at which the coordinates are located is increased by a predetermined increase amount, and if there are fewer than a predetermined number of points r indicating that an object will be detected at a predetermined coordinate over 10 frames or more within a predetermined period, the variable f(n) of the voxel B at which the coordinates are located is decreased by a predetermined decrease amount.
[0053] The predetermined increase amount and the predetermined decrease amount may be equal to each other. It is also preferable that the predetermined increase amount and the predetermined decrease amount are constant values. In this case, processing can be simplified compared to when the increase amount and the decrease amount change every predetermined period. If the predetermined increase amount and the predetermined decrease amount are constant value a and the variable after the change is f(n+1), the variable is changed as follows: f(n+1) = f(n) + a or f(n+1) = f(n) - a. When the variable after the change is set in this way, counter control is performed so that n+1 becomes n after the change. Details of this control will be described later.
[0054] After repeating the variation of the variable f(n) in the variation unit 24 a predetermined number of times, the output unit 25 outputs data in which voxels B for which the variable f(n) is equal to or greater than a predetermined threshold t are separated from other voxels B. Therefore, the output unit 25 compares the predetermined threshold t with the variable f(n) of each voxel B, and assigns, for example, a predetermined flag to voxels B for which the variable f(n) is equal to or greater than the threshold t, and assigns another flag to voxels B for which the variable f(n) is less than the threshold t. Processing may be performed in which a flag is assigned to only one of voxels B for which the variable f(n) is equal to or greater than the threshold t and voxels B for which the variable f(n) is less than the threshold t.
[0055] The predetermined number of times is not particularly limited as long as it is, for example, a value equal to or greater than 1. If the predetermined number of times is 1, the output interval from the output unit 25 becomes shorter, and data indicating voxels B that may be background can be updated in a short period of time depending on changes in the situation. Furthermore, if the predetermined number of times is a large value, voxels B that may be background can be more reliably identified. This large value is, for example, between 50 and 200, or may be between 80 and 120, or may be 100.
[0056] Furthermore, it is preferable that the threshold value t is equal to the initial value f(0), for example. By making the initial value f(0) equal to the threshold value t, even if the number of times the variable f(n) changes is one, the variable f(n) can be equal to or greater than the threshold value t in voxels B that indicate areas that may be background, and the variable f(n) can be smaller than the threshold value t in voxels B that indicate other areas. Therefore, the time required for outputting data that separates voxels B whose variable f(n) is equal to or greater than the threshold value t from other voxels B can be shortened. However, the threshold value t and the initial value f(0) may be different.
[0057] The control device 20 is electrically connected to the memory 30. Note that terminals between the memory 30 and the control device 20 are omitted in FIG. 1 . The memory 30 is configured to store information and to be able to read the stored information. The memory 30 is, for example, a non-transitory recording medium, and is preferably a semiconductor recording medium such as a random access memory (RAM) or a read-only memory (ROM), but may also include any type of recording medium, such as an optical recording medium or a magnetic recording medium. Note that the term "non-transitory" recording medium includes all computer-readable recording media except for transient, propagating signals, and does not exclude volatile recording media. Note that the memory 30 and the control device 20 may be provided in an integrated package. The memory 30 stores various programs for controlling several components of the control device 20 and generating information, as well as data required for generating information. The control device 20 reads the programs and information stored in the memory 30. The memory 30 also stores information, etc., in response to instructions from the control device 20.
[0058] The monitor 40 displays, for example, the state of each voxel B displayed by the control device 20. For example, the monitor 40 displays a voxel B for which the variable f(n) exceeds a threshold value t in a different color from other voxels B. Note that the monitor 40 is not an essential component of the LiDAR system 1.
[0059] Next, the operation of the control device 20 will be described.
[0060] Fig. 3 is a flowchart showing the operation of the control device 20. A program for executing the operation of the flowchart is stored in the memory 30. Therefore, the control device 20 executes the flowchart of Fig. 3 by reading the program from the memory 30. As shown in Fig. 3, the operation of the control device 20 of this embodiment includes steps S1 to S7.
[0061] <Step S1> This step is a partitioning step in which data indicating a space is partitioned into a plurality of voxels B. In this step, the partitioning unit 22 of the control device 20 partitions data indicating a space represented by three-axis coordinates into a plurality of voxels B, as shown in Fig. 2. As described above about the partitioning unit 22, the partitioning unit 22 calculates the coordinates of each voxel B as data, and the calculated data is sent to the variation unit 24 via the bus line.
[0062] <Step S2> This step is a step in which n, which is the number of the counter, is set to the initial value 0. Therefore, after this step, n=0.
[0063] <Step S3> This step is an assignment step in which an initial value f(0) of the variable f(n) is assigned to each voxel B. Since the variable f(n) is n=0 as described above, the variable f(n) after this step is f(0). In this embodiment, the initial value f(0) is the same value for each voxel B as described above by the assignment unit 23, and is, for example, the same value as the threshold value t.
[0064] <Step S4> This step is a variation step in which the variable f(n) is varied at predetermined intervals. In this step, as described above for the variation unit 24, the variation unit 24 increases the variable f(n) of a voxel B in which a predetermined number or more of points r indicating that an object has been detected for a first period or longer, which is less than the predetermined period, are located, by a predetermined increase amount, based on the point cloud data input from the LiDAR device 10. Conversely, the variation unit 24 decreases the variable f(n) of a voxel B in which a predetermined number of points r indicating that an object has been detected for a first period or longer is located, by a predetermined decrease amount. The predetermined number, increase amount, and decrease amount are, for example, as described above for the variation unit 24.
[0065] Each voxel B is sized to include multiple points r representing multiple reflection points. That is, for example, if there are reflection positions adjacent to each other in the H direction, and data for point r is formed by reflected light Lr reflected at each reflection position, each point r can be located in a single voxel B. In the example of FIG. 2 , a fixed object F and a moving object M are located across the regions of voxels B1-B3 and voxels B4-B6, respectively. In the regions represented by voxels B2, B3, and voxels B4-B6, there are multiple reflection positions where laser light Lb is reflected, and in the region represented by voxel B1, there is one reflection position where laser light Lb is reflected. Therefore, multiple points r for detecting objects are located in voxels B2, B3, and voxels B4-B6, and one point r for detecting an object is located in voxel B1.
[0066] Since voxels B1 to B3 are voxels that indicate the area where fixed object F is located, points r that indicate reflection points exist in voxels B1 to B3 for the first period or longer. Therefore, for example, if the predetermined number is 1 as described above, the variation unit 24 increases the variable f(n) of voxels B1 to B3 by a predetermined increase amount. On the other hand, if the predetermined number is 2, for example, the variation unit 24 increases the variable f(n) of voxels B2 and B3 by a predetermined increase amount, but decreases the variable f(n) of voxel B1, where the number of points r is 1, by a predetermined decrease amount.
[0067] Since voxels B4 to B6 are voxels that indicate the area where moving body M is located, in voxels B4 to B6, point r indicating a reflection point may exist for the first period or longer, or may not exist for the first period or longer. If point r exists in any of voxels B4 to B6 for the first period or longer, and the number of points is equal to or greater than a predetermined number, the variation unit 24 increases the variable f(n) of that voxel B by a predetermined increase amount. Furthermore, if the number of points r that exist for the first period or longer in any of voxels B4 to B6 is less than the predetermined number, the variation unit 24 decreases the variable f(n) of that voxel B by a predetermined decrease amount.
[0068] As explained above with respect to the variation unit 24, if the predetermined increase amount and the predetermined decrease amount are constant values a and the variable after this step is f(n+1), the variable becomes f(n+1) = f(n) + a or f(n+1) = f(n) - a. Therefore, the variable of voxel B indicating the area where an object is located increases, and the variable of voxel B indicating the area where no object is located decreases.
[0069] <Step S5> This step is a step for incrementing the counter. n = n + 1 means that 1 is added to the value of n before this step to create a new n. Therefore, the n on the right side of this equation indicates the n before this step, and the n on the left side indicates the n after this step. After the first step S4, n = 0, so after this step following the first step S4, n = 1.
[0070] <Step S6> This step is for changing the next step depending on whether step S4 has been performed a predetermined number of times. In this step, n is equal to the number of times step S4 has been performed. Therefore, if the predetermined number of times is X, the control device 20 returns to step S4 if n<X, and proceeds to step S7 if n≧X.
[0071] <Step S7> This step is an output step for outputting data in which voxels B whose variable f(n) is equal to or greater than a predetermined threshold t are separated from other voxels B. In this step, the output unit 25 compares the variable f(n) of each voxel B with the predetermined threshold t. The output unit 25 then generates data in which a predetermined flag is assigned to voxels B whose variable f(n) is equal to or greater than the threshold t. The output unit 25 also generates data in which a different flag is assigned to voxels B whose variable f(n) is less than the threshold t. The output unit 25 then outputs the data of the flagged voxels B. In this way, in this embodiment, data in which voxels B whose variable f(n) is equal to or greater than the predetermined threshold t are separated from other voxels B by the flag is output. The output is output from the output interface 29 via a bus line.
[0072] As described above, voxels B1 to B3 are voxels that indicate the region in which fixed object F is located. Therefore, among voxels B1 to B3, for voxel B in which variation unit 24 increases variable f(n) by a predetermined increase amount in step S4 as described above, variable f(n) increases each time step S4 is repeated, and there is a high probability that variable f(n) will become equal to or greater than threshold value t in this step.
[0073] Furthermore, as described above, voxels B4 to B6 are voxels that indicate the area in which moving body M is located. Therefore, even if the variation unit 24 increases the variable f(n) by a predetermined increase amount in step S4 for voxels B4 to B6, in the next step S4, the variation unit 24 may decrease the variable f(n) by a predetermined decrease amount. For this reason, if moving body M is temporarily stopped, there is a possibility that the variable f(n) will be equal to or greater than the threshold value t in this step, and if moving body M is moving, there is a possibility that the variable f(n) will be smaller than the threshold value t in this step.
[0074] In this embodiment, the data output in this step is input to the monitor 40, and the monitor 40 displays voxels B that have been assigned a specific flag in a visually distinguishable manner from voxels B that have been assigned a different flag.
[0075] After this step, the control device 20 returns to step S2 and repeats steps S2 to S7.
[0076] As described above, according to the control device, program, and LiDAR system, even if a moving object is located in the monitoring area of this embodiment, data that can be used as background data can be separated from other data.
[0077] Next, a modification of the above embodiment will be described.
[0078] (Variation 1) In the above embodiment, the initial value f(0) assigned by the assignment unit 23 to each voxel B was the same for each voxel B. However, the initial value f(0) does not have to be the same for each voxel B. In this variation, the assignment unit 23 determines the initial value f(0) for each voxel B based on the number of points r indicating that an object has been detected for a second period or longer that is less than the specific period, based on the point cloud data, during a specific period. That is, when determining the initial value f(0) for each voxel B, in step S3, the assignment unit 23 counts the number of points r indicating that an object has been detected in each voxel B during the specific period or longer. The larger the number of points r, the larger the value of the initial value f(0). This specific period is, for example, a period during which 12 frames of point cloud data are input from the LiDAR device 10. For example, the specific period is the same length as the predetermined period in step S4 of the above embodiment. In this case, the second period is, for example, 10 frames, which is less than 12 frames. If the specific period has the same length as the predetermined period in step S4 of the above embodiment, the first period in step S4 and the second period in step S2 may be the same length. However, even if the specific period has the same length as the predetermined period, the first period and the second period may have different lengths. Furthermore, the specific period may have a different length from the predetermined period.
[0079] (Variation 2) Similar to Variation 1, this variation is an example in which the initial value f(0) is not the same for each voxel B. In this variation, the assigning unit 23 determines the initial value f(0) for each voxel B based on the number of points r indicating that an object has been detected for at least a second period that is less than the specific period, based on the point cloud data, and the duration of the points r. That is, the initial value f(0) is determined for each voxel B based on the occupancy of the points r. When determining the initial value f(0) for each voxel B, in step S3, the assigning unit 23 counts the number of points r indicating that an object has been detected for at least the second period in each voxel B, similar to Variation 1, and further counts the duration of each point r. This duration is counted, for example, based on the number of frames. The greater the number of points r and the longer the duration of the points r, the larger the initial value f(0). The specific period and the second period in this variation are the same as those in Variation 1.
[0080] When the initial value f(0) is determined as in Modifications 1 and 2, the initial value f(0) of the variable of voxel B indicating a region that may be background can be set to a high value, and the initial value f(0) of the variable of other voxel B can be set to a low value, thereby weighting the initial value of each voxel B. Therefore, the period during which the variable of voxel B indicating a region that may be background is equal to or greater than a predetermined threshold value t can be shortened. In Modifications 1 and 2, the second period is preferably the same length as the specific period. Objects in the background generally do not move. Therefore, a point that detects the object always remains within voxel B. Therefore, by making the second period the same length as the specific period, a point r that is temporarily detected during the specific period can be eliminated as noise. Therefore, a clear difference can be created between the initial value f(0) of voxel B indicating a region that may be background and the initial value f(0) of other voxel B.
[0081] (Variation 3) In the above embodiment, the increase and decrease widths by which the variation unit 24 varies the variable f(n) of each voxel B are a constant value a. However, the increase and decrease widths may be different constant values. For example, the increase width may be a constant value a, and the decrease width may be a constant value b that is larger than the constant value a. In this case, the variable f(n) of the voxel B indicating the area where the moving object is located increases, but after the moving object moves out of that area, the variable f(n) of that voxel B may decrease early. Alternatively, the increase width may be a constant value a, and the decrease width may be a constant value b that is smaller than the constant value a.
[0082] (Variation 4) The increase or decrease by which the variation unit 24 varies the variable f(n) for each voxel B may differ for each voxel B. In this variation, at least one of the predetermined increase or decrease is determined for each voxel B based on the number of points r indicating that an object has been detected for a first period or longer within a predetermined period. That is, in determining the increase or decrease for each voxel B, the variation unit 24 counts the number of points r indicating that an object has been detected for a first period or longer within a predetermined period in each voxel B in step S4. Then, when the number of points r is equal to or greater than a predetermined number, the variation unit 24 sets the increase amount to a larger value as the number of points r increases. Furthermore, when the number of points r is less than the predetermined number, the variation unit 24 sets the decrease amount to a larger value as the number of points r decreases. However, when the variation unit 24 sets the decrease amount to a larger value as the number of points r decreases, the predetermined number is 2 or greater.
[0083] (Variation 5) In this variation, similar to Variation 4, the increase and decrease amounts by which the variation unit 24 varies the variable f(n) for each voxel B are different for each voxel B. In this variation, at least one of the predetermined increase and decrease amounts is determined for each voxel B based on the number of points r indicating that an object has been detected for a first period or longer during a predetermined period and the duration of the points r. That is, the initial value f(0) is determined for each voxel B based on the occupancy of the points r. In determining the increase or decrease amount for each voxel B, in step S4, similar to Variation 3, the variation unit 24 counts the number of points r indicating that an object has been detected in each voxel B for a first period or longer during the predetermined period, and further counts the duration of each point r. This period is counted based on, for example, the number of frames. Then, when the number of points r is equal to or greater than a predetermined number, the variation unit 24 sets a larger increase amount as the number of points r increases and the duration of the points r increases. Furthermore, when the number of points r is smaller than a predetermined number, the smaller the number of points r and the shorter the duration of the points r, the larger the value of the decrease range. In this modified example, when the variation unit 24 increases the value of the decrease range as the number of points r is smaller and the duration of the points r is shorter, the predetermined number is a value of 2 or greater.
[0084] When the initial value f(0) is determined as in Modifications 1 and 2, or when the ascending width or descending width is determined as in Modifications 4 and 5, the difference in the variation of the variable can be increased between the variable of voxel B indicating a region that may be the background and the variable of other voxels B. Therefore, it is possible to more appropriately distinguish between voxels B indicating a region that may be the background and the variable of other voxels B. Note that one of the ascending width or descending width may be determined as in Modifications 4 and 5, and the other may be set to a constant value a.
[0085] Furthermore, it is preferable that the first period be the same length as the predetermined period. In principle, background objects do not move. Therefore, the point that detects the object always remains within voxel B. Therefore, by making the first period the same length as the predetermined period, point r that is temporarily detected during the predetermined period can be eliminated as noise. This makes it possible to more accurately distinguish between voxels B that indicate areas that may be background and other voxels B.
[0086] As described above, one aspect of the present invention according to the above embodiment and the above modified example is a control device 20 that processes point cloud data output from a LiDAR device 10, and includes a partition unit 22 that divides data indicating a space into a plurality of voxels B, an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B, and a fluctuating unit 24 that fluctuates the variable f(n) based on the point cloud data input from the LiDAR device 10 at each predetermined period, by increasing the variable f(n) of voxels B where a predetermined number of points r indicating that an object has been detected for a first period or more that is less than the predetermined period by a predetermined increase amount, and decreasing the variable f(n) of voxels B where fewer than the predetermined number of points r indicating that an object has been detected for the first period or more by a predetermined decrease amount, and an output unit 25 that, after repeating the variation of the variable f(n) in the fluctuating unit 24 a predetermined number of times, outputs data in which voxels B where the variable f(n) is greater than a predetermined threshold value t and other voxels B are separated.
[0087] Another aspect of the present invention according to the above embodiment and the above modified example is a program executed by a control device 20 that processes point cloud data output from the LiDAR device 10, and causes the control device 20 to execute the following steps: dividing data indicating a space into multiple voxels B; assigning an initial value f(0) of variable f(n) to each voxel B; and varying variable f(n) at predetermined intervals based on the point cloud data input from the LiDAR device 10, by increasing the variable f(n) of voxels B in which a predetermined number of points r indicating that an object has been detected for a first period or more that is less than the predetermined period by a predetermined increase amount, and by decreasing the variable f(n) of voxels B in which fewer than the predetermined number of points indicating that an object has been detected for the first period or more by a predetermined decrease amount; and after repeating the step of varying variable f(n) a predetermined number of times, outputting data in which voxels B in which variable f(n) is greater than a predetermined threshold value t and other voxels B are separated.
[0088] Further, still another aspect of the present invention according to the above embodiment and the above modified example is a LiDAR system 1 including a LiDAR device 10 and a control device 20 to which point cloud data from the LiDAR device 10 is input, wherein the control device 20 includes a partition unit 22 that divides data representing a space into a plurality of voxels B, an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B, and a control unit 24 that detects an object for a first period or more that is equal to or shorter than a predetermined period based on the point cloud data input from the LiDAR device 10 at predetermined intervals. The variable f(n) is varied by a predetermined amount to increase the variable f(n) of voxels B where a predetermined number or more of points r, indicating that an object has been detected, are located, and by a predetermined amount to decrease the variable f(n) of voxels B where fewer than a predetermined number of points r, indicating that an object has been detected for a first period or longer, and an output unit 25 that outputs data in which voxels B where the variable f(n) is equal to or greater than a predetermined threshold value t and other voxels B are separated after repeating the variation of the variable f(n) in the variation unit 24 a predetermined number of times.
[0089] According to these aspects of the control device 20, program, and LiDAR system 1, in voxels B where a predetermined number or more of points r that detect an object are located for a first period or more, the variable f(n) increases every predetermined period, and in voxels B where the number of points r is less than the predetermined number, the variable f(n) decreases every predetermined period. In background positions, detected objects such as walls do not move. Therefore, in voxels B that indicate areas where background objects such as walls are located, the variable f(n) continues to increase. Furthermore, in voxels B that indicate areas where a moving object is located, even if the variable f(n) increases during a temporary period when the moving object is located, the variable f(n) decreases before the moving object is located in the area or after the moving object moves out of the area. Therefore, in voxels B indicating areas that may be background, the variable f(n) may become equal to or greater than a predetermined threshold value t after a predetermined number of cycles of variation in the variable f(n), while in voxels B indicating other areas, the variable f(n) may become smaller than the predetermined threshold value t after a predetermined number of cycles of variation in the variable f(n). Therefore, by outputting data that separates voxels B for which the variable f(n) is equal to or greater than the predetermined threshold value t from other voxels B, it is possible to separate voxels B that may be background from other voxels B. Thus, according to the present invention, even if a moving object is located in the monitored area, data that can be used as background data can be separated from other data. Therefore, the background can be set in the device receiving the data.
[0090] Here, a further modification of the above invention will be described.
[0091] (Variation 6) In the above embodiment and variation, the variation unit 24 varied the variables by increasing, by a predetermined increase amount, the variable f(n) of voxels B where a predetermined number of points r, indicating that an object has been detected for at least a first period less than the predetermined period, based on the point cloud data input from the LiDAR device 10, and decreasing, by a predetermined decrease amount, the variable f(n) of voxels B where fewer than the predetermined number of points r, indicating that an object has been detected for at least the first period. However, the variation unit 24 may also varied the variables by decreasing, by a predetermined decrease amount, the variable f(n) of voxels B where a predetermined number of points r, indicating that an object has been detected for at least a first period less than the predetermined period, based on the point cloud data input from the LiDAR device 10, and increasing, by a predetermined increase amount, the variable f(n) of voxels B where fewer than the predetermined number of points r, indicating that an object has been detected for at least the first period.
[0092] In this case, if the predetermined increase amount and the predetermined decrease amount are a constant value a, as in the above embodiment, and the variable after step S4 is f(n+1), then in voxels B where a predetermined number or more of points r indicating that an object has been detected for the first period or longer are located, f(n+1) = f(n) - a, and in voxels B where fewer than the predetermined number of points r indicating that an object has been detected for the first period or longer, f(n+1) = f(n) + a. Therefore, the variable of voxels B indicating areas where an object is located decreases, and the variable of voxels B indicating areas where no object is located increases.
[0093] As described above, step S7 is an output step that outputs data that is separated into voxels B for which the variable f(n) is equal to or greater than the predetermined threshold value t and other voxels B. Therefore, in this modified example, voxels B that have been assigned other flags in step S7 are voxels B that may be background voxels B, and voxels B that have been assigned a predetermined flag are other voxels B.
[0094] Furthermore, in the case of this modification, modification 1 is as follows. As described above, in modification 1, the assigning unit 23 determines the initial value f(0) for each voxel B during a specific period based on the point cloud data, based on the number of points r that indicate that an object has been detected for at least a second period that is less than or equal to the specific period. In the case of modification 1 to which this modification is applied, this means that the assigning unit 23 sets the initial value f(0) to a smaller value as the number of points r increases.
[0095] Furthermore, in the case of this modification, modification 2 is as follows. As described above, in modification 2, the assigning unit 23 determines the initial value f(0) for each voxel B during a specific period based on the point cloud data, based on the number of points indicating that an object has been detected for at least a second period that is less than the specific period, and the duration of the points. In the case of modification 2 to which this modification is applied, this means that the assigning unit 23 sets the initial value f(0) to a smaller value as the number of points r increases and the duration of the points r increases.
[0096] Furthermore, in the case of this modified example, modified example 4 is as follows: As described above, in modified example 4, at least one of the predetermined increase width and the predetermined decrease width is determined for each voxel B based on the number of points r that indicate that an object has been detected for a first period or longer within a predetermined period. In the case of modified example 4 to which this modified example is applied, this means that when the number of points r is equal to or greater than a predetermined number, the variation unit 24 sets a larger decrease width as the number of points r increases, and when the number of points r is less than the predetermined number, the variation unit 24 sets a larger increase width as the number of points r decreases.
[0097] Furthermore, in the case of this modification, modification 5 is as follows: As described above, in modification 5, at least one of the predetermined increase width and the predetermined decrease width is determined for each voxel B based on the number of points r that indicate that an object has been detected for a first period or longer within a predetermined period, and the duration of the points r. This means that when the number of points r is equal to or greater than the predetermined number, the variation unit 24 sets the decrease width to a larger value as the number of points r increases and the duration of the points r increases, and when the number of points r is less than the predetermined number, the increase width is set to a larger value as the number of points r decreases and the duration of the points r decreases.
[0098] As described above, one aspect of the present invention according to variant example 6 is a control device 20 that processes point cloud data output from a LiDAR device 10, and includes a partition unit 22 that divides data indicating a space into multiple voxels B, an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B, and a fluctuating unit 24 that fluctuates the variable f(n) based on the point cloud data input from the LiDAR device 10 at each predetermined period, by lowering the variable f(n) of voxels B where a predetermined number of points r indicating that an object has been detected for a first period or more that is less than the predetermined period by a predetermined decrease amount, and by raising the variable f(n) of voxels B where fewer than the predetermined number of points r indicating that an object has been detected for the first period or more by a predetermined increase amount, and an output unit 25 that, after repeating the variation of the variable f(n) in the fluctuating unit 24 a predetermined number of times, outputs data in which voxels B where the variable f(n) is greater than a predetermined threshold value t and other voxels B are separated.
[0099] Another aspect of the present invention according to variant example 6 is a program executed by a control device 20 that processes point cloud data output from the LiDAR device 10, and causes the control device 20 to perform the following steps: divide data indicating a space into multiple voxels B; assign an initial value f(0) of variable f(n) to each voxel B; vary variable f(n) at predetermined intervals based on the point cloud data input from the LiDAR device 10, by lowering variable f(n) of voxels B in which a predetermined number of points r indicating that an object has been detected for a first period or longer that is less than the predetermined period by a predetermined decrease amount, and by raising variable f(n) of voxels B in which fewer than the predetermined number of points indicating that an object has been detected for the first period or longer by a predetermined increase amount; and after repeating the step of varying variable f(n) a predetermined number of times, outputting data in which voxels B in which variable f(n) is greater than a predetermined threshold value t and other voxels B are separated.
[0100] Furthermore, yet another aspect of the present invention according to the sixth modification is a LiDAR system 1 including a LiDAR device 10 and a control device 20 to which point cloud data from the LiDAR device 10 is input, wherein the control device 20 includes a partition unit 22 that divides data representing a space into a plurality of voxels B, an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B, and a controller 24 that detects an object for a first period or more that is equal to or shorter than a predetermined period, based on the point cloud data input from the LiDAR device 10, for each predetermined period. The variable f(n) is varied by a predetermined amount to decrease the variable f(n) of voxels B where a predetermined number or more of points r indicating that an object has been detected for a first period or longer are located, and is varied by a predetermined amount to increase the variable f(n) of voxels where there are fewer than a predetermined number of points r indicating that an object has been detected for a first period or longer; and an output unit 25 which, after repeating the variation of the variable f(n) in the variation unit 24 a predetermined number of times, outputs data in which voxels B where the variable f(n) is equal to or greater than a predetermined threshold value t and other voxels B are separated.
[0101] In view of the above, one aspect of the present invention is as follows. That is, one aspect of the present invention is a control device 20 that processes point cloud data output from a LiDAR device 10, and includes a partition unit 22 that divides data indicating a space into a plurality of voxels B; an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B; a variation unit 24 that, based on the point cloud data input from the LiDAR device 10, performs one of the following operations: increasing a variable f(n) by a predetermined amount or decreasing a variable f(n) by a predetermined amount based on the point cloud data input from the LiDAR device 10; and performing the other operation: increasing a variable f(n) by a predetermined amount or decreasing a variable f(n) by a predetermined amount based on the point cloud data input from the LiDAR device 10; and an output unit 25 that, after repeating the variation of the variable f(n) in the variation unit 24 a predetermined number of times, outputs data in which voxels B whose variable f(n) is equal to or greater than a predetermined threshold value t and other voxels B are separated.
[0102] Another aspect of the present invention is a program executed by a control device 20 that processes point cloud data output from the LiDAR device 10, causing the control device 20 to perform the following steps: dividing data indicating a space into multiple voxels B; assigning an initial value f(0) of variable f(n) to each voxel B; and, based on the point cloud data input from the LiDAR device 10, at each predetermined period, performing one of the following steps: increasing the variable f(n) by a predetermined increase amount or decreasing it by a predetermined decrease amount for voxels B where a predetermined number of points r indicating that an object has been detected for a first period or longer that is less than the predetermined period; and performing the other of the following steps: increasing the variable f(n) by a predetermined increase amount or decreasing it by a predetermined decrease amount for voxels B where fewer than the predetermined number of points r indicating that an object has been detected for the first period or longer; and, after repeating the step of varying variable f(n) a predetermined number of times, outputting data in which voxels B where variable f(n) is greater than a predetermined threshold t and other voxels B are separated.
[0103] Furthermore, still another aspect of the present invention is a LiDAR system 1 including a LiDAR device 10 and a control device 20 to which point cloud data from the LiDAR device 10 is input, wherein the control device 20 includes a partition unit 22 that divides data indicating a space into a plurality of voxels B, an assigning unit 23 that assigns an initial value f(0) of a variable to each voxel B, and a variable assigning unit 24 that assigns a predetermined number of points r indicating that an object has been detected for at least a first period less than the predetermined period based on the point cloud data input from the LiDAR device 10 for each predetermined period. The apparatus has a variation unit 24 that performs one of the following variations on the variable f(n): increasing the variable f(n) by a predetermined increase amount or decreasing the variable f(n) by a predetermined decrease amount, and performs the other of the following variations on the variable f(n) of voxels B where the number of points r indicating that an object has been detected for a first period or more is less than a predetermined number: increasing the variable f(n) by a predetermined increase amount or decreasing the variable f(n) by a predetermined decrease amount, and an output unit 25 that outputs data in which voxels B where the variable f(n) is equal to or greater than a predetermined threshold value t and other voxels B are separated after repeating the variation of the variable f(n) in the variation unit 24 a predetermined number of times.
[0104] According to the present invention, a control device, program, and LiDAR system can be provided that can separate data that can be used as background data from other data even when a moving object is located in the monitored area, and can be used in fields such as indoor and outdoor monitoring systems.
Claims
1. A control device that processes point cloud data output from a LiDAR device, comprising: a partition unit that divides data indicating a space into a plurality of voxels; an assignment unit that assigns initial values of variables to each of the voxels; a variation unit that, for each predetermined period, performs one of an upward fluctuation by a predetermined upward range or a downward fluctuation by a predetermined downward range on the variables of the voxels in which a predetermined number or more of points indicating that an object has been detected for a first period or more that is less than the predetermined period, based on the point cloud data input from the LiDAR device, and performs the other of an upward fluctuation by a predetermined upward range or a downward fluctuation by a predetermined downward range on the variables of the voxels in which there are fewer than the predetermined number of points indicating that an object has been detected for the first period or more; and an output unit that, after repeating the variation of the variables in the variation unit a predetermined number of times, outputs data in which the voxels in which the variables are equal to or greater than a predetermined threshold value and the other voxels are separated.
2. The control device described in claim 1, characterized in that the initial value is determined for each voxel during a specific period based on the number of points indicating that an object has been detected for a second period or longer that is less than the specific period, based on the point cloud data.
3. The control device described in claim 1, characterized in that the initial value is determined for each voxel during a specific period based on the point cloud data, based on the number of points indicating that an object has been detected for a second period or longer that is less than the specific period, and the duration of the points.
4. The control device according to claim 2 or 3, characterized in that the specific period is equal in length to the predetermined period.
5. The control device according to claim 4, wherein the second period is equal in length to the first period.
6. The control device according to claim 1, wherein the initial value is the same for each of the voxels.
7. The control device according to claim 6, wherein the initial value is the predetermined threshold value.
8. The control device according to claim 1, characterized in that the predetermined number is 1.
9. The control device according to claim 1, characterized in that the predetermined number is 2 or more.
10. The control device according to claim 1, characterized in that at least one of the predetermined increase range and the predetermined decrease range is a constant value.
11. The control device described in claim 1, characterized in that at least one of the specified increase range and the specified decrease range is determined for each voxel based on the number of points indicating that an object has been detected for the specified period of time or longer during the first period.
12. The control device described in claim 1, characterized in that at least one of the specified increase range and the specified decrease range is determined for each voxel based on the number of points indicating that an object has been detected for the specified period or longer, and the duration of the points.
13. The control device according to claim 1, wherein the first period is the same length as the predetermined period.
14. A program executed by a control device that processes point cloud data output from a LiDAR device, the program causing the control device to execute the following steps: partitioning data indicating a space into a plurality of voxels; assigning initial values of variables to each of the voxels; and, for each predetermined period, based on the point cloud data input from the LiDAR device, performing one of increasing fluctuations by a predetermined upward range or decreasing fluctuations by a predetermined downward range on the variables of the voxels in which a predetermined number or more of points indicating that an object has been detected for a first period or longer that is less than the predetermined period, and performing the other of increasing fluctuations by a predetermined upward range or decreasing fluctuations by a predetermined downward range on the variables of the voxels in which fewer than the predetermined number of points indicating that an object has been detected for the first period or longer; and, after repeating the step of varying the variables a predetermined number of times, outputting data in which the voxels in which the variables are equal to or greater than a predetermined threshold value and the other voxels are separated.
15. A LiDAR system comprising: a LiDAR device; and a control device to which point cloud data from the LiDAR device is input, wherein the control device has: a partition unit that divides data indicating a space into a plurality of voxels; an assignment unit that assigns initial values of variables to each of the voxels; a variation unit that, for each predetermined period, performs one of an upward fluctuation by a predetermined upward range or a downward fluctuation by a predetermined downward range on the variable of the voxels in which a predetermined number or more of points indicating that an object has been detected for a first period or more that is less than the predetermined period, based on the point cloud data input from the LiDAR device, and performs the other of an upward fluctuation by a predetermined upward range or a downward fluctuation by a predetermined downward range on the variable of the voxels in which there are fewer than the predetermined number of points indicating that an object has been detected for the first period or more; and an output unit that, after repeating the variation of the variable in the variation unit a predetermined number of times, outputs data in which the voxels in which the variable is equal to or greater than a predetermined threshold value and the other voxels are separated.
Citation Information
Patent Citations
Method for producing toner for electrophotography
JP2009058927A
Travel environment recognition device, travel environment recognition method, and program
JP2019046147A
Model generation device, method and program
JP2021196977A
Three-dimensional (3D) object detection and multi-agent behavior recognition using 3D motion data
US8948501B1
Autonomous mobile system
WO2013076829A1