Point cloud filtering techniques
Point cloud filters in FMCW LIDAR systems address noise-related issues by identifying and removing false alarm points based on neighborhood context and statistical metrics, enhancing the accuracy of distance and velocity estimation.
Patent Information
- Application Number
- JP2023523136
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-08-10
- Filing Date
- 2021-10-08
- Publication Date
- 2024-12-19
- Estimated Expiration
- 2041-10-08
AI Technical Summary
Traditional frequency modulated continuous wave (FMCW) LIDAR systems suffer from phase disturbances such as laser phase noise, circuit phase noise, flicker noise, temperature/weather drift, and chirp rate offset, leading to incorrect peak matching and the appearance of false alarm (FA) points in point clouds, which can introduce errors in estimated target distance/velocity.
Implementing point cloud filters that utilize the distinct characteristics of FA points to identify and remove them by analyzing the context and metrics of points of interest (POIs) within the point cloud, using neighborhood context and statistical indicators to determine whether points are true detections or false alarms.
The filtering process effectively removes FA points, resulting in a more accurate point cloud with reduced errors in estimated target distance and velocity measurements.
Smart Images

Figure 0007602853000001 
Figure 0007602853000002 
Figure 0007602853000003
Abstract
Description
[Technical field]
[0001] This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 63 / 092,228, filed October 15, 2020, and U.S. Patent Application No. 17 / 398,895, filed August 10, 2021, the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates generally to techniques for filtering a set of points or a point cloud, and more particularly to techniques for filtering a set of points or a point cloud for use in Light Detection and Ranging (LiDAR) systems. Summary of the Invention [Problem to be solved by the invention]
[0003] Traditional frequency modulated continuous wave (FMCW) LIDAR systems contain phase impairments such as laser phase noise, circuit phase noise, flicker noise from the laser's driving electronics, temperature / weather drift, chirp rate offset, etc. FMCW LIDAR point clouds can exhibit unique noise patterns due to incorrect matching of peaks. This can result in falsely detected points appearing in the scene when none exist. For example, if an FMCW LIDAR is pointed at a fence or bushes, a large number of ghost points may appear in the scene between the LIDAR and the fence. These ghost or noisy points are also classified as false alarm (FA) points, and if left unfiltered, they may introduce ghost objects and cause errors in the estimated target distance / velocity. [Means for solving the problem]
[0004] This disclosure describes various examples of point cloud filters in LIDAR systems.
[0005] In some of the examples disclosed below, methods for filtering point clouds are described. Different features of FA points that distinguish between FA points and true detections can be used to identify FA points and distances. When a point cloud is passed to a filtering algorithm, referred to herein as a filter, the filter operates on either a single point or multiple points, referred to as points of interest (POIs), at a given time. Some points and statistics from the vicinity of the POI are provided to the filter to provide context. The context can be used to see if the characteristics of the POI match the nearby points and make a decision about the POI. The context includes contextual data around the POI, which helps the filter check the consistency of the POI with the nearby points to determine the POI. Different metrics are developed to quantify these statistics / characteristics. Several filters can be designed to identify FA points with different characteristics from the point cloud. The identified FA points are then modified or removed from the point cloud. The resulting point cloud is a filtered version of the original point cloud minus the FA points. For example, a filter may iteratively retrieve POIs from the point cloud, select nearby points of the POI to provide context to the filter, calculate metrics for the POI and its neighbors, and make a decision (e.g., based on the calculated metrics) to keep, remove, or modify the POI.
[0006] In some examples, a method for filtering points in a point cloud is disclosed herein. Each POI of the set of POIs includes one or more points, and the set of POIs of the point cloud is received at a first filter. Each POI of the set of POIs is filtered. A set of neighboring points of the POI is selected. An index of the set of neighboring points is calculated. Based on the index, it is determined whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information related to the target. If the POI is accepted or modified, the POI is sent to the filtered point cloud to extract at least one of distance or speed information related to the target. If the POI is rejected, the POI is prevented from reaching the filtered point cloud. If the POI is not accepted, not modified, or rejected, the POI is sent to a second filter to determine whether to accept, modify, or reject the POI and to extract at least one of distance or speed information related to the target.
[0007] In some examples, a LIDAR system is disclosed herein. Each POI in the set of POIs includes one or more points, and the LIDAR system includes a processor and a memory storing instructions executable by the processor to cause the system to receive the set of POIs of the point cloud in a first filter. The system further filters each POI in the set of POIs. The system selects a set of neighboring points of a POI, calculates an index of the set of neighboring points, and based on the index, decides whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information related to the target; if the POI is accepted or modified, the system sends the POI to a filtered point cloud to extract at least one of distance or speed information related to the target, and if the POI is rejected, the system blocks the POI from reaching the filtered point cloud; if the POI is not accepted, not modified, or rejected, the system sends the POI to a second filter, decides whether to accept, modify, or reject the POI, and extracts at least one of distance or speed information related to the target.
[0008] In some examples, a LIDAR system is disclosed herein. The LIDAR system includes a light source that transmits a portion of an optical signal toward a target, an optical receiver that receives a return beam from the target based on the optical signal, a circuit, and a memory storing instructions that, when executed by the circuit, cause the LIDAR system to receive at a first filter a set of POIs of a first point cloud, each POI including one or more points. The LIDAR system further filters each POI of the set of POIs. The LIDAR system selects a set of neighboring points of a POI, calculates an index for the set of neighboring points, decides based on the index whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information related to the target, if the POI is accepted or modified, sends the POI to a filtered point cloud and extracts at least one of distance or speed information related to the target, if the POI is rejected, blocks the POI from reaching the filtered point cloud, and if the POI is not accepted, not modified, or rejected, sends the POI to the second filter and decides whether to accept, modify, or reject the POI, and extracts at least one of distance or speed information related to the target.
[0009] While some embodiments of the present disclosure illustrate the use of point clouds, embodiments of the present invention are not limited thereto and can include, but are not limited to, the use of point sets, and the like.
[0010] These and other aspects of the present disclosure will become apparent from a reading of the following detailed description in conjunction with the accompanying figures, which are briefly described below. The present disclosure includes any combination of two, three, four or more features or elements defined in the disclosure, regardless of whether the features or elements are explicitly combined in a specific exemplary implementation described herein or otherwise described. The present disclosure is intended to be read holistically in its entirety, and in any aspect or example of the present disclosure, separable features or elements should be considered as combinable unless the context of the disclosure clearly indicates otherwise.
[0011] As such, it will be understood that the Summary is intended to summarize some examples and provide a basic understanding of some aspects of the disclosure, without limiting or narrowing the scope or spirit of the disclosure. Other examples, aspects, and advantages will become apparent from the following detailed description, taken in conjunction with the accompanying figures illustrating the principles of the described embodiments. [Brief description of the drawings]
[0012] In order to clarify various aspects of the present invention, reference is made to the drawings which are referred to in the following detailed description (embodiments), in which like reference numerals refer to like elements.
[0013] [Figure 1A] FIG. 1 is a block diagram illustrating an example LIDAR system according to an embodiment of the present disclosure.
[0014] [Figure 1B] FIG. 1 is a block diagram illustrating an example of a point cloud filtering module of a LIDAR system according to an embodiment of the present disclosure.
[0015] [Diagram 2] FIG. 2 is a time-frequency diagram illustrating an example FMCW LIDAR waveform according to an embodiment of the present disclosure.
[0016] [Figure 3A]FIG. 1 is a block diagram illustrating an example of a point cloud filter according to an embodiment of the present disclosure.
[0017] [Figure 3B] FIG. 1 is a block diagram illustrating an example of a filter core of a point cloud filter according to an embodiment of the present disclosure.
[0018] [Figure 4A] FIG. 2 is a block diagram illustrating an example of a filter core according to an embodiment of the present disclosure.
[0019] [Figure 4B] FIG. 2 is a block diagram illustrating another example of a filter core according to an embodiment of the present disclosure.
[0020] [Figure 5A] FIG. 13 is a block diagram illustrating yet another example of a filter core according to an embodiment of the present disclosure.
[0021] [Figure 5B] FIG. 13 is a block diagram illustrating yet another example of a filter core according to an embodiment of the present disclosure.
[0022] [Figure 6] 1 is a flow diagram illustrating an example of a process for filtering a point cloud according to an embodiment of the present disclosure.
[0023] [Figure 7] FIG. 1 is a block diagram illustrating an example of a process for filtering a point cloud according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] Various embodiments and aspects of the present disclosure are described with reference to the following detailed description, and the various embodiments are illustrated by the accompanying drawings. The following description and drawings are illustrative of the present disclosure, but are not intended to limit the present disclosure. Numerous specific details are described in order to provide a thorough understanding of the various embodiments of the present disclosure. However, in some cases, well-known or conventional details are not described in order to provide a concise discussion of the embodiments of the present disclosure.
[0025] The LIDAR systems described herein can be implemented in any sensing market, including but not limited to transportation, manufacturing, metrology, medical, virtual reality, augmented reality, and security systems. According to some embodiments, the LIDAR system described above is implemented as part of an autonomous driving assistance system or a front end of a frequency modulated continuous wave (FMCW) device that aids in the spatial awareness of autonomous vehicles.
[0026] FIG. 1 illustrates a LIDAR system 100 according to an exemplary embodiment of the present disclosure. LIDAR system 100 may include any one or more of numerous components, but may include fewer or additional components than those shown in FIG. 1. According to some embodiments, one or more of the components described herein with respect to LIDAR system 100 may be implemented on a photonics chip. Optical circuit 101 includes a combination of active and passive optical components. In some examples, the active optical components have light beams of different wavelengths and include one or more optical amplifiers, one or more photodetectors, etc.
[0027] The free space optics 115 includes one or more optical waveguides for transmitting optical signals and for routing and manipulating the optical signals to the appropriate input / output ports of the active optical circuitry. The free space optics 115 includes one or more optical components such as taps, wavelength division multiplexers (WDMs), splitters / combiners, polarizing beam splitters (PBSs), collimators, couplers, etc. In one embodiment, the free space optics 115 includes components for converting the polarization state and directing the received polarized light to a photodetector, for example, using a PBS. The free space optics 115 may further include a diffractive element for deflecting light beams having different frequencies at different angles.
[0028] The LIDAR system 100 of this embodiment includes an optical scanner 102 having one or more scanning mirrors that are rotatable along an axis orthogonal or substantially orthogonal to the fast axis (e.g., a slow axis) of the diffractive element to direct an optical signal that scans the environment according to a scanning pattern. For example, the scanning mirrors can be rotated by one or more galvanometers. Objects in the target environment may scatter the incident light into a return light beam or a target return signal, and the optical scanner 102 may collect the return light beam or the target return signal, which may be returned to the optical circuit components of the optical circuit 101. For example, the return light beam may be directed to a photodetector by a polarizing beam splitter. Note that the optical scanner 102 may include quarter wave plates, lenses, anti-reflective coated optical windows, etc., in addition to mirrors and galvanometers.
[0029] The LIDAR system 100 is provided with a LIDAR controller 110 to control and support the optical circuit 101 and the optical scanner 102. The LIDAR controller 110 includes the processing unit required for the LIDAR system 100. In one aspect, the processing unit is one or more general-purpose processing units, such as a microprocessor, a central processing unit, or the like. More specifically, the processing unit is a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or a combination of instruction sets. The processing unit may also be one or more special-purpose processing units, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like.
[0030] In one embodiment, the LIDAR controller 110 is provided with a signal processing unit 112, such as a digital signal processor (DSP). Thus, the LIDAR controller 110 outputs a digital control signal for controlling the optical driver 103. The digital control signal is converted to an analog signal via the signal conversion unit 106. For example, the signal conversion unit 106 includes a digital-to-analog converter. The optical driver 103 provides driving signals to the active optical components of the optical circuit 101 to drive light sources, such as lasers and amplifiers. In one embodiment, multiple optical drivers 103 and signal conversion units 106 may be provided to drive multiple light sources.
[0031] The LIDAR controller 110 is also configured to output digital control signals to the optical scanner 102. The motion controller 105 can control the galvanometers of the optical scanner 102 based on the control signals received from the LIDAR controller 110. In particular, a digital-to-analog converter can be used to convert coordinate routing information from the LIDAR controller 110 into signals that can be processed by the galvanometers of the optical scanner 102. In one aspect, the motion controller 105 can also send information regarding the position or movement of components of the optical scanner 102 back to the LIDAR controller 110. In particular, an analog-to-digital converter can be used to convert information regarding the position of the galvanometers into signals that can be processed by the LIDAR controller 110 in turn.
[0032] The LIDAR controller 110 is further configured to analyze the input digital signal. In this regard, the LIDAR system 100 is provided with an optical receiver 104 for measuring one or more beams received by the optical circuit 101. In particular, the optical receiver 104 as a reference beam receiver measures the amplitude of a reference beam from the active optical components and converts the signal from the reference beam receiver by an analog / digital converter into a signal that can be processed by the LIDAR controller 110. The target receiver, as the optical receiver 104, also measures an optical signal carrying information about the range and velocity of the target in the form of a beat frequency modulated optical signal, where the reflected beam of the optical signal may be mixed with a signal from a local oscillator. The optical receiver 104 may include a high speed analog-to-digital converter to convert the signal from the target receiver into a signal that can be processed by the LIDAR controller 110. In one aspect, the signal from the optical receiver 104 may be subject to signal conditioning by the signal conditioning unit 107 before being received by the LIDAR controller 110. For example, the signal from the optical receiver 104 may be provided to an operational amplifier in the signal conditioning unit 107 for amplification of the return signal, and the amplified signal provided by the operational amplifier to the LIDAR controller 110.
[0033] In some applications, the LIDAR system 100 may additionally be provided with one or more imagers 108 configured to capture images of the environment, a global positioning system (GPS) 109 configured to provide a geographic location of the system, or other sensor inputs. The LIDAR system 100 may also include an image processor 114 that may be configured to receive images and geographic locations from the imager 108 and Global Positioning System (GPS) 109, and to transmit the images and location or related information to the LIDAR controller 110 or other systems connected to the LIDAR system 100.
[0034] In operation according to some embodiments, the LIDAR system 100 is configured to simultaneously measure range and velocity in two dimensions using a non-degenerate optical source. This capability enables real-time, long-range measurements of range, velocity, azimuth, and elevation of the surrounding environment.
[0035] In some examples, the scanning process is initiated by the optical driver 103 and the LIDAR controller 110. The LIDAR controller 110 instructs the optical driver 103 to modulate one or more light beams, respectively, and these modulated signals are sent through the passive optical circuits of the optical circuit 101 to a collimator of the free-space optics 115. The collimator directs the modulated signals to the optical scanner 102, which scans the environment in a pre-programmed pattern defined by the motion controller 105. The optical circuit 101 may be provided with a polarizing waveplate (PWP) that transforms the polarization state of the light as it exits the optical circuit 101. In one embodiment, the polarizing waveplate may be a quarter waveplate or a half waveplate. A portion of the polarized light beam may be reflected back into the optical circuit 101. For example, a lens or collimating system used in the LIDAR system 100 may have natural reflective properties or a reflective coating that causes a portion of the light beam to be reflected back into the optical circuit 101.
[0036] The optical signal reflected from the environment is sent to the receiver (optical receiver 104) through the optical circuit 101. At this time, the polarization state of the light has been transformed, so it is reflected by the polarizing beam splitter along with a portion of the polarized light that was reflected back to the optical circuit 101. As a result, the reflected optical signal does not return to the same optical fiber or waveguide as the light source, but is reflected to different optical receivers. These signals interfere with each other to generate a combined signal. Each beam signal returning from the target produces a time-shifted waveform, and the time phase difference between these two waveforms produces a beat frequency that is measured by an optical receiver (photodetector). The combined signal can then be reflected back to the optical receiver 104.
[0037] The analog signals received by the optical receiver 104 are converted to digital signals by an ADC (analog-to-digital converter). The digital signals are then sent to the LIDAR controller 110, whose signal processing unit 112 receives and processes the digital signals. In one embodiment, the signal processing unit 112 receives position data from the motion controller 105 and a galvanometer (not shown) and image data from the image processor 114. This allows the signal processing unit 112 to generate a 3D point cloud with information about the distance and velocity of points in the environment as the optical scanner 102 scans additional points. The signal processing unit 112 may also overlay the 3D point cloud with image data to determine the speed and distance of surrounding objects. The system may also process satellite-based navigation position data to provide precise global position information.
[0038] FIG. 1B is a block diagram 100b illustrating an example of a point cloud filtering module 140 in a LIDAR system according to an embodiment of the present disclosure. The signal processing unit 112 may include a point cloud filtering module 140. Although the point cloud filtering module is depicted as residing within the signal processing unit 112, embodiments of the present disclosure are not so limited. For example, in one embodiment, the point cloud filtering module 140 may reside in computer memory (e.g., RAM, ROM, flash memory, etc.) within the system 100 (e.g., the LIDAR control system 110).
[0039] With reference to FIG. 1B, the point cloud filtering module 140 includes functionality to use one or more filters to select neighboring data points from a set of points, calculate metrics, and make decisions regarding the inclusion, modification, removal, and / or transmission of points into the set or point cloud.
[0040] For example, the point cloud filtering module 140 may include a filter 121. In some circumstances, the point cloud filtering module 140 may receive (e.g., obtain, acquire, generate, etc.) a set of POIs from a point cloud in the filter 121, where each POI in the set of POIs includes one or more points. Filter 121 includes functionality for filtering POIs of a given set of POIs provided by a particular point cloud.
[0041] 1B, the filter 121 includes a neighborhood context module 122, an index calculation module 123, and a judgment module 124. The neighborhood context module 122 is capable of selecting a set of neighborhood points of a POI. The index calculation module 123 is capable of calculating one or more indexes for a given set of neighborhood points.
[0042] The decision module 124 has the functionality to decide, inter alia, based on certain indicators, whether to accept the POI, modify the POI, reject the POI, or send the POI to a subsequent filter (not shown). In some situations, the decision module 124 has the ability to send a POI to another point cloud, provided that the POI is accepted or modified by a particular filter module. In some situations, the decision module 124 is configured to block a POI from reaching a particular point cloud, e.g., an output point cloud, provided that the POI is rejected by a particular filter module.
[0043] In some circumstances, provided that a POI is not accepted, not modified, or rejected in a particular filter, the determination module 124 is configured to transmit the POI to a subsequent filter module for determining whether to accept, modify, or reject the POI.
[0044] 2 is a time-frequency diagram 200 of an FMCW scanning signal 201 that a LIDAR system, such as LIDAR system 100, can use to scan a target environment in one embodiment. FM The FMCW scanning signal 201, labeled (t), has a chirp bandwidth Δf C and a sawtooth waveform (sawtooth "chirp") with a chirp period T. The slope of the sawtooth is k = (Δf C / T). Also shown in FIG. 2 is a target return signal 202 in one embodiment. f FM( The target return signal 202, denoted as t-Δt, is a time delayed version of the FMCW scanning signal 201, where Δt is the round trip time to and from the target illuminated by the FMCW scanning signal 201. This round trip time is given by Δt=2R / v, where R is the range of the target and v is the speed of light, c, which is the speed of the light beam. Therefore, the range R of the target can be calculated as R = c(Δt / 2). When the target return signal 202 is optically mixed with the FMCW scanning signal, a distance-dependent difference frequency ("beat frequency") Δf R (t) is generated. Beat frequency Δf R (t) is linearly related to the time delay Δt by the sawtooth slope k, i.e. ΔfR(t)=kΔt. The target distance R is proportional to Δt, so the target distance R is R=(c / 2)(Δf R (t) / k) In other words, the distance R can be calculated as the beat frequency Δf R It has a linear relationship with (t). Beat frequency Δf R (t) is generated as an analog signal, for example, in optical receiver 104 of LIDAR system 100. This beat frequency is digitized, for example, by an analog-to-digital converter (ADC) in signal conditioning unit 107 of LIDAR system 100. The beat frequency signal thus digitized is then digitally processed in a signal processing unit (e.g., signal processing unit 112) in LIDAR system 100. However, the target return signal 202 typically contains a frequency offset (Doppler shift) if the target has a relative velocity with respect to the LIDAR system 100. For simplicity and ease of illustration, the Doppler shift is not shown in FIG. 2 because it is detected separately and used to correct the frequency of the return signal. The sampling frequency of the ADC is also determined by the highest beat frequency that the system can handle without aliasing, which is generally half the sampling frequency (i.e. the "Nyquist limit"). For example, but not by way of limitation, if the ADC sampling frequency is 1 GHz, then the maximum beat frequency that can be processed without aliasing (Δf Rmax ) is 500 MHz. This limit is the system's maximum target range R max=(c / 2)(Δf Rmax / k), which can be adjusted by changing the inclination k of the sawtooth. In one example, data samples from the ADC may be continuous, but subsequent digital processing, described below, may be divided into "time segments" that may be associated with a predetermined periodicity of the LIDAR system 100. For example, but not limited to, a time segment may correspond to a number of chirp periods T, or a number of azimuthal rotations by the optical scanner described above.
[0045] FIG. 3A is a block diagram illustrating a system 300a that includes the use of a point cloud filter (eg, filter 310) in accordance with an embodiment of the present disclosure. In some situations, a point cloud (e.g., 311) is a set of data points (or points) in a scene collected using one or more components of an optical scanning system (e.g., LIDAR system 100). In this disclosure, the terms "data points" and "points" are used interchangeably.
[0046] Each point has a set of coordinates, e.g., (X, Y, Z) and / or (range, azimuth, elevation), that are used by the LIDAR system 100 to determine the location of the point in the scene relative to the location of one or more sensors used by the LIDAR system 100. Additional attributes, such as speed, intensity, reflectivity, recording time, metadata, etc., may also be calculated for a particular point. A true detection (TD) point is a point in a scene that represents an object or a segment of a scene, such as the ground, foliage, etc. A false alarm (FA) point is a detection point in a scene whose authenticity is unknown, e.g., ghost points, noise points, etc. An FA point cannot be associated with an object or segment of a scene.
[0047] In some situations, point clouds (e.g. FMCW LIDAR point clouds) have characteristic noise patterns that mainly result from inaccurate peak matching, which can cause FA points (false positive points) to appear in the scene even when none exist. For example, when an FMCW LIDAR system scans points corresponding to a fence or a bush, a large number of FA points, e.g., ghost points, may appear in the scene between the LIDAR system and the fence. FA points have different characteristics from the true detection (TD) points. As described in more detail herein, embodiments of the present disclosure can utilize these distinguishing features to identify these points and regions and then modify or remove them from the point cloud while leaving the TD points alone. The resulting point cloud (e.g., filtered point cloud 319) is a filtered version of the original point cloud (e.g., point cloud 311) that excludes the FA points.
[0048] As described herein, the filtering of the point cloud performed by the embodiments can remove points from the point cloud that do not meet a predetermined threshold for the metric. For example, a filter may refer to a filtering technique or algorithm that processes a point cloud and outputs a filtered point cloud. In some embodiments, the filter includes a step in which the point cloud is processed, e.g., to remove points that do not meet a predetermined threshold for the metric, and output a filtered point cloud. In the filtered point cloud generated by the embodiments described herein, some points may be modified and some points may be removed.
[0049] The filtering described herein according to embodiments may process a number of points at a time, e.g., a single point or multiple points. The filters are configured to operate on a number of data points at a time, including POIs. Each POI includes one or more points. Depending on the embodiment, the POIs may be identified based on a predefined threshold, such as a speed threshold, or other type of self-explanatory identifier. The filters described herein may be configured to operate on a POI at a time, including a single point or multiple points.
[0050] Upon receiving one or more points from the point cloud, the filters described herein, as described in more detail below, act on either a POI, a single point, or multiple points at a given time. These filters can be configured to use points from the vicinity of the POI, and the filters may be provided with statistics to provide context. The filters can be configured to use the context information in decisions made on the POI, checking whether the characteristics of the POI match those of nearby points. The filters make decisions about the POI by checking for consistency between the POI and nearby points, while the context information includes contextual data around the POI that can aid in the decision. The embodiments described herein can be configured to use different metrics to quantify these statistics / characteristics. Multiple filters can be used to identify FA points with different characteristics from the point cloud. The identified FA points are then subsequently modified or removed from the point cloud according to the described embodiment, and the resulting point cloud is a filtered version of the original point cloud without the FA.
[0051] 3A , a point cloud 311 is received by, for example, a filter 310. In some situations, the filter 310 includes a point cloud fragmentor 312, a POI dispatcher 313, a filter core 315, a POI collector 316, and / or a point cloud builder 317. The point cloud 311 is provided to the point cloud fragmentor 312, which identifies areas of the point cloud 311 that the filter 310 operates on and creates one or more POIs to send to the POI dispatcher 313. Portions of the point cloud 311 that are not operated on by the filter 310 are communicated or forwarded to the point cloud builder 317. The point cloud fragmenter 312 identifies regions of the point cloud 311 that are likely to have FA points, and thus identifies a set of POIs on which the filter should act. The point cloud fragmenter 312 identifies a set of POIs within the region on which the filter 310 should act based on a pre-configured threshold, e.g., a velocity threshold. For example, if the filter 310 acts on all points with a velocity >10 m / s, the point cloud fragmenter 312 is configured to ignore any points with a velocity <10 m / s. The ignored points are then sent (e.g., transmitted) to the point cloud builder 317 via link 318 between the point cloud fragmentor 312 and the point cloud builder 317. Points that are not acted upon by the filter 310 are considered to have been accepted by the filter 310, and are therefore present in the filtered point cloud 319.
[0052] In some circumstances, the size of the POI may be selected, for example the quantity of points in the POI, and a region of the point cloud 311 that the filter 310 will operate on is identified. The POI size and region information may help the point cloud fragmenter 312 fragment the point cloud 311 into a set of POIs that the filter core 315 operates on.
[0053] The POI Dispatcher 313 receives POIs from the Point Cloud Fragmenter 312 and sends them one by one to the Filter Core 315 for processing. In some cases, this dispatching mechanism may be parallelized on multiple threads / graphics processing unit (GPU) cores or field programmable gate arrays (FPGAs) for faster processing. The dispatch strategy selected by an embodiment depends on how the filter core 315 operates on the POI. In some situations, multiple filter cores may be initialized to handle multiple threads or GPU cores. In these situations, the POI dispatcher 313 may be configured to handle this coordination.
[0054] The filter core 315 houses one or more modules of the filter 310, each individually configured to process POIs as described below. The filter core 315 can be configured to select a combination of nearby context strategies, indicators, and decisions that the filter makes, which may depend on the noise patterns that the filter is configured to target.
[0055] In some embodiments, the filter 310 is configured to make decisions regarding the POI, including approving, modifying, rejecting, or taking over (sending to another filter). Once the POI is processed, the filter determines a "filtered POI" that includes the decisions made for the POI (e.g., including but not limited to approving, modifying, rejecting, or delegating).
[0056] The POI collector 316 is configured to collect the filtered POIs received from the filter core 315 and, for example, send the filtered POIs to the point cloud builder 317 once all the POIs have been processed.
[0057] The point cloud builder 317 is configured to build a filtered point cloud 319 from all the accepted points of the POIs and the bypassed POIs received from the point cloud fragmentor 312. The filtered point cloud 319 is output from the filter 310. In some circumstances, the filtered point cloud 319 may have a smaller number of points than the point cloud 311 because points rejected by the filter 310 may be removed from the point cloud 311. The point cloud builder 317 may be configured to operate in coordination with the point cloud fragmentor 312. The point cloud builder 317 is configured to receive information related to points that have not been processed by the filter core 315.
[0058] The filter 310 may also be configured to selectively operate on smaller groups of points rather than waiting for the entire POI frame to be constructed in order to reduce overall system latency.
[0059] FIG. 3B is a block diagram illustrating an example of a filter core 315 of a filter 310 according to an embodiment of the disclosure. A filter core may be configured to target noise with specific characteristics. Multiple filter cores may be designed to address different noise patterns potential in a situation. The functionality of a filter as described herein may be encompassed by a filter core. In this specification, the terms "filter" and "filter core" may be used interchangeably. In some embodiments, the filter core 315 includes a neighborhood context module 322, an index calculation module 323, and a determination module 324. The neighborhood context module 322 is configured to select a set of neighborhood points of the POI. The index calculation module 323 is configured to calculate an index for the set of neighborhood points. The determination module 124 is configured to decide, based on the index, whether to accept the POI, modify the POI, reject the POI, or send the POI to another filter.
[0060] In some implementations, the filter core 315 may be configured to process only one POI at a time. The nearby context module 322 may also be configured to receive multiple nearby POIs, one or more statistics for the nearby POIs, and / or the entire point cloud 311. This context information can be used to determine the POI by checking whether features match with nearby points. In some examples, an indication may be used by embodiments described herein of the type of noise the filter processes. After processing the POI, the decision module 124 is configured to perform one or more actions, including but not limited to accepting, modifying, discarding, or transmitting (handing off) the POI.
[0061] FIG. 4A is a block diagram of a system 400a including a filter core 415a used in accordance with an embodiment of the present disclosure. In this disclosure, the terms "filter" and "filter core" are used interchangeably. According to some embodiments, a filter operates on a set of POIs in a point cloud based on, for example, different selections of nearby data points, different indicators, and / or a combination of judgments. The examples described herein are for illustrative purposes only. There may be many other different embodiments of a filter core according to this disclosure.
[0062] 4A, the filter core 415a includes a nearby context module 422a, an index calculation module 423a, and a determination module 424a. The nearby context module 422a may be configured to select a window of points near the POI 430a, for example, a window of data points around the POI that have either the same azimuth / elevation angle.
[0063] The index calculation module 423a is configured to calculate a confidence index based on the similarity of point characteristics, e.g., speed, across the POI and selected neighboring data points. The filter core 415a may be configured to check whether the POI has characteristics that are not too different from the neighboring points. For example, if the minimum, maximum, or distance of the POI's speed is within a predefined threshold relative to the minimum, maximum, or distance of the neighboring points, respectively, the confidence index of the POI is determined to be high.
[0064] The determination module 424a is configured to determine whether to accept the POI, modify the POI, reject the POI, or delegate / send the POI to a filter core, e.g., 515a, based on the confidence index. If it determines that the confidence index of the POI is high, it accepts the POI. For example, if the confidence index is within a first predefined threshold, the POI 430a is accepted and becomes the filtered POI 440a. If the confidence index is within a first predefined threshold, but an inconsistency with the nearby context is detected within a certain predefined threshold, a modification may be applied to the POI. For example, the point characteristics such as distance and / or speed may be modified. If the confidence index of a POI does not match the neighboring points, e.g., does not match a second predefined or specified threshold, the POI is classified as FA and is discarded, removed or filtered.
[0065] If no decision can be made but the POI is determined to be suspicious, the POI is marked as a delegated POI 450a and sent (e.g., delegated) to a subsequent filter core, e.g., filter core 515a. The POI may be passed to the subsequent filter core 515a. The filter core, e.g., subsequent filter core 515a, is configured to make a decision to accept, modify, or reject the POI. Delegating the decision in this manner may reduce the load on the subsequent filter core 515a, since the subsequent filter core 515a operates only on a subset of points (i.e., undetermined or sent POIs) rather than the entire point cloud.
[0066] FIG. 4B is a block diagram of a system 400b including a filter core 415b as may be used in accordance with an embodiment of the present disclosure. 4B provides additional examples illustrating the types of functions that filters can perform based on their respective hardware / software profiles described herein. For example, filters can be configured to perform the processing described herein based on constraints such as computation time, power consumption, etc.
[0067] 4B, the filter core 415b includes a neighborhood context module 422b, an index calculation module 423b, and a judgment module 424b. The neighborhood context module 422b can be configured to bypass neighborhood selection for the POI 430b. The index calculation module 423b can be configured to check whether the POI has a very low speed (lower than a first predetermined threshold, e.g., 1 m / s) or whether the POI point has a very high speed (higher than a second predetermined threshold, e.g., 100 m / s). The decision module 424b accepts a POI if it has a very low speed, and the POI becomes the filtered POI 440b. The decision module 424b can be configured to reject a POI if the POI point has a very high speed. The decision module 424b can also be configured to delegate (send) any POI that has a speed that is between a first and a second predetermined threshold, for example, and the POI then becomes the delegated POI 450b. Since most of the scene is usually static, noisy dynamic points can be addressed in a subsequent filter core, for example 515b.
[0068] FIG. 5A is a block diagram of a system 500a including a filter core 515a as may be used in accordance with an embodiment of the present disclosure. For example, referring now to Figure 5A, in one embodiment, the filter core 515a includes a neighborhood context module 522a, an index calculation module 523a, and a determination module 524a. The neighborhood context module 522a is configured to select a neighborhood in three-dimensional space for a delegated POI 530a (e.g., 450a). To obtain the nearby data points, a search tree (KD tree, Oct tree, or its variations) can be built for every POI.
[0069] The metric calculation module 523a is configured to calculate the variance of point characteristics including speed, intensity, or distance. The variance of the POI characteristics can be calculated or calculated over a neighborhood in three-dimensional space. The POI characteristics can include the speed, intensity, distance, or higher moments such as skewness or kurtosis of the data points / POIs. The variance of the POI characteristics (e.g., speed or intensity) may be calculated over a neighborhood (e.g., neighboring data points).
[0070] The decision module 524a is configured to decide whether to accept the POI, modify the POI, reject the POI, or delegate / send the POI to another filter core based on the confidence metric. The variance of the data point / POI characteristics (e.g., speed or intensity) can be compared to a predefined threshold. If the POI characteristics (e.g., speed or intensity) are lower than the predefined threshold, the data point / POI is accepted or approved to become the filtered POI 540a. The filtered POI 540a is added to the filtered point cloud. If the POI characteristics (e.g., speed or intensity) are not lower than the predefined threshold, the data point / POI may be rejected. In case of uncertainty, the POI may be sent to a subsequent filter core.
[0071] Referring to FIG. 5B, the filter core 515b includes a neighborhood context module 522b, a metric calculation module 523b, and a determination module 524b. The neighborhood context module 522b selects a window of data points at the same azimuth or elevation angle around the POI 530b. The neighborhood context module 522b selects a window of adjacent points along the scan pattern. In some embodiments, multiple nearby data points may be selected, including a neighborhood in two-dimensional or three-dimensional space, to consider additional coverage of the data points.
[0072] The up chirp frequencies and down chirp frequencies from a window of adjacent points in the scan pattern are stored. The metric calculation module 523b calculates a metric of the variance of the up chirp frequencies or the down chirp frequencies from the window of points. For example, the variance of the up chirp frequencies, or the variance of the down chirp frequencies, or the difference between the variance of the up chirp frequencies and the variance of the down chirp frequencies, is compared to respective predefined thresholds.
[0073] If the up-chirp frequency variance, or the down-chirp frequency variance, or the difference between the up-chirp frequency variance and the down-chirp frequency variance, is not below a respective predefined threshold, the decision module 524b decides to reject the POI, otherwise the data POI may be admitted to become the filtered POI 540b or delegated / sent to another filter (not shown).
[0074] FIG. 6 is a flow diagram illustrating an example of a process for filtering a point cloud according to an embodiment of the present disclosure. In step 602, a point cloud is received, for example, at filter 121 (shown in FIG. 1B). The point cloud includes a number of points / data points.
[0075] A set of POIs in the point cloud is identified or obtained in step 604. A filter (e.g., filter 121, 315, 415a, 415b, 515a, 515b) filters each POI in the set of POIs, for example, by iterating through each POI in the set of POIs in the point cloud.
[0076] In step 606, a set of nearby POIs around the POI is selected in a neighborhood context module (e.g., 122, 322, 422a, 422b, 522a, 522b) of the filter. For example, a number of nearby data points around the POI are selected. The neighborhood context module selects points from the nearby POIs and / or from the point cloud. The nearby points must be selected to provide context to the metric calculation module (e.g., 123, 323, 423a, 423b, 523a, 523b) of the filter.
[0077] In one embodiment, a window of data points around the POI at the same azimuth or elevation angle is selected. A set of nearby data points at the same azimuth or elevation angle around the POI in the one-dimensional array can be selected.
[0078] In one embodiment, a set of nearby points in a two-dimensional grid around the POI is selected. Also, a set of nearby data points in the two-dimensional grid around the POI is selected.
[0079] In one embodiment, a 3D space / grid neighborhood point around the POI is selected. Alternatively, a set of nearby data points in the 3D space / grid around the POI may be selected. To obtain the nearby neighboring data points, a search tree (k-dimensional (KD) tree, Oct-tree, or variations thereof) can be constructed for all the points. A KD tree is a space-partitioning data structure for organizing data points in k-dimensional space. KD trees are useful in several applications, such as searches involving multidimensional search keys (such as range searches and nearest neighbor searches) and creating point clouds. An Oct-Tree is a tree data structure where each internal node has exactly eight child nodes. Oct-Tree is most commonly used to recursively divide a 3D space into eight octants. In one embodiment, nearby points in 3D space-time from the previous frame around the POI are selected.
[0080] In step 608, a metric for the set of nearby points is calculated in a metric calculation module (e.g., 123, 323, 423a, 423b, 523a, 523b). Once the neighborhood of the POI is selected, a metric for the set of nearby points is calculated. For example, one or more characteristics are calculated to distinguish between FA points and correct detections. The metric includes one or more characteristics of the POI and / or the set of nearby points.
[0081] In one embodiment, variances of point characteristics are calculated, including variances of velocity, intensity, distance, and higher order moments such as skewness and kurtosis. Point characteristics may include velocity, intensity, distance, and higher order moments such as skewness and kurtosis. Indicators include variances of point characteristics including velocity, intensity, distance, and higher order moments such as skewness and kurtosis.
[0082] In one embodiment, a confidence (e.g., confidence index or value) is determined if there is similarity between the POI and the selected neighboring data points for characteristics including speed, intensity, distance, etc. For example, the confidence index or value can be determined based on the similarity of speed, intensity, or distance. The confidence index checks whether the POI has characteristics that are not too different from the neighboring points. For example, if the minimum, maximum, or distance of the POI is within a predetermined threshold value for the minimum, maximum, or similarity of the speed of the neighboring points, respectively, the confidence index of the POI is determined to be high. The confidence index indicates the similarity of the point characteristics of the POI and the point characteristics of the neighboring points. In case of uncertainty, the confidence index is lowered and more complex filters may be added to determine such POIs. POIs that are obvious outliers may be rejected.
[0083] In one embodiment, absolute thresholds for the characteristics (e.g., speed, intensity, and distance) are determined. For example, POI characteristics including speed, intensity, distance, or higher moments (skewness, kurtosis, etc.) have pre-defined thresholds. The indicator may include the absolute thresholds for the characteristics.
[0084] In one embodiment, variances, confidence indices, differences in frequency and / or intensity estimates, etc. are determined for both up and down chirp detection. For example, the up and / or down chirp frequencies from a window of adjacent points in the scan pattern (as shown in FIG. 2) can be stored and the variances of the up and / or down chirp frequencies calculated. The indices include variances, confidence indices, differences in frequency and / or intensity estimates for both up and down chirp detection.
[0085] In step 610, in the filter's decision module (e.g., 124, 324, 424a, 424b, 524a, 524b), a decision is made regarding the POI after it has been processed on the index calculation module. Options may be available such as accepting the POI, modifying the POI, discarding the POI, delegating or sending the POI to a subsequent filter, scoring the POI, etc.
[0086] If the indicators or characteristics of the POI are within a first predetermined or specified threshold, the POI is not classified as a FA, and thus the POI is accepted as a correct detection and the POI is sent to the filtered point cloud (e.g., 319).
[0087] If the metrics or characteristics of a POI are within a first predefined or specified threshold, but have minor misalignment with nearby context, minor modifications may be made to the POI, for example, modifying the POI to smooth the point cloud.
[0088] If the indices or characteristics of the POI based on the indices do not match the neighboring points or do not match a second predefined or specified threshold, the POI is classified as a FA, and the POI is discarded or removed or filtered so that it is not present in the filtered point cloud.
[0089] If no decision can be made, but the POI is found to be suspected to be FA, the POI is marked, sent, or delegated to a subsequent filter, which may then pass the POI to a more complex subsequent filter, which can decide whether to accept, modify, or reject the POI.
[0090] A filter may score the probability that a data point / POI is not a FA. Multiple scores of a POI from multiple filters may be reviewed, for example by different algorithms, and the POI may be removed if one of the multiple scores is low.
[0091] In step 612, it is determined whether all POIs in the point cloud have been processed.
[0092] If it is determined that all POIs in the point cloud have not been processed, then in step 614, the filter gets another POI and repeats the previous steps, e.g., steps 604-610, until all POIs in the point cloud have been processed. The steps are repeated until all regions in the point cloud have been processed.
[0093] When all POIs in the point cloud have been processed, in step 616 the filtered point cloud is output.
[0094] A filter may be chosen by selecting a particular combination of nearby context strategies, indicators, and decisions that the filter can make.
[0095] In one embodiment, the filters are designed to operate at specific distances by distance or azimuth because different distances may have different characteristics and the expected values of PD / FA points and / or predefined thresholds of POI characteristics vary by distance. Thus, the filters may vary by distance. In one embodiment, the filters may operate immediately on a portion of the point cloud instead of waiting for the entire point cloud to be constructed to reduce the overall latency.
[0096] FIG. 7 is a block diagram illustrating an example of a process for filtering a point cloud according to an embodiment of the present disclosure. For example, the processing can be performed by the signal processing unit 112 of a LIDAR system as shown in Figures 1A-1B, where the FA points can be removed to improve the accuracy of the estimated target range / velocity.
[0097] In block 701, a set of POIs of a point cloud is received, for example, in a first filter. Each POI of the set of POIs includes one or more points. In one embodiment, receiving the set of POIs further includes identifying the set of POIs of the point cloud based on a predetermined threshold.
[0098] In block 702, each POI in the set of POIs is filtered, for example, in a first filter.
[0099] In block 703, a set of neighboring points of the POI is selected.
[0100] At block 704, indices for the set of neighboring points are calculated.
[0101] In block 705, a decision is made based on the indicator to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information associated with the target.
[0102] If the POI is accepted or modified in the first filter at block 706, the POI is sent to the filtered point cloud to extract at least one of distance or speed information associated with the target. The filtered point cloud becomes the output point cloud. In one embodiment, the POI is accepted or modified in response to the indicator satisfying a first predetermined threshold set for the indicator.
[0103] If the POI is rejected in the first filter, the POI is prevented from reaching the filtered point cloud at block 707. In one embodiment, the POI is rejected in response to the indicator not satisfying a second predefined threshold set for the indicator.
[0104] In block 708, if the POI is not accepted, modified, or rejected in the first filter, the POI is sent to a second filter to determine whether to accept, modify, or reject the POI and to extract at least one of distance or speed information associated with the target.
[0105] In the above description, a number of specific examples of specific systems, components, methods, etc. are shown to facilitate understanding of the embodiments of the present invention, but those skilled in the art can practice the present invention without the description of these specific examples. In addition, details of known components and methods may be omitted or shown in the form of simple block diagrams, but this is for the purpose of facilitating understanding of the present invention. Therefore, the contents disclosed are merely examples, and even if one example differs from other examples, it is considered to be included within the scope of the present invention.
[0106] When the phrase "one embodiment" or "an embodiment" is used in this specification, it means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places in this specification do not necessarily refer to the same embodiment.
[0107] Although the operations of the methods described herein are shown in a particular order, the order of operations of each method may be changed, certain operations may be performed in reverse order, at least some operations may be performed simultaneously with other operations, and instructions for different operations or auxiliary operations may be performed intermittently or alternately.
[0108] The description of the embodiments of the invention described above, including the contents described in the Abstract, is not intended to be detailed or exhaustive, nor is it intended to be limited to the specific forms disclosed. Specific embodiments and examples of the invention are described herein for illustrative purposes, but various equivalent modifications will be apparent to those skilled in the art. As used herein, the word "example" or "exemplary" is used to mean serving as an example, illustration, or explanation. An aspect or design described herein as "example" or "exemplary" should not necessarily be construed as preferred or advantageous over other aspects or designs. Rather, use of the term "example" or "exemplary" is intended to illustrate a concept in a concrete manner. The term "or" as used herein is intended to be interpreted as an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, the phrase "X includes A or B" refers to any of the natural inclusive permutations. That is, if X includes A, if X includes B, or if X includes both A and B, then in any of the above cases, the condition "X includes A or B" is satisfied. Furthermore, the articles "a" and "an" as used in this specification and the appended claims are to be construed to mean "one or more" unless otherwise specified and unless the singular form is clear from the context. Furthermore, when terms such as "first," "second," "third," and "fourth" are used in this specification, these terms are used as identifiers to distinguish different elements and do not necessarily indicate an order according to the numerical designation.
Claims
1. 1. A method for filtering points in a Light Detection and Ranging (LiDAR) system, comprising: receiving a set of points of interest (POIs) of a point cloud in a first filter, each POI including one or more points; The step of filtering each POI of the set of POIs comprises: selecting a set of neighbouring points of a POI; calculating an index for the set of nearby points based on characteristics including speed of the set of nearby points and each of the POIs; determining based on the indicator whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information associated with a target; If the POI is accepted or modified, transmitting the POI to a filtered point cloud to extract at least one of distance or velocity information associated with the target; blocking said POI from reaching said filtered point cloud if said POI is rejected by said first filter; if the POI is not accepted, not modified, or rejected by the first filter, sending the POI to a second filter to determine whether to accept, modify, or reject the POI and extract at least one of distance or speed information associated with the target; The method includes:
2. The step of selecting a set of neighboring points of a POI comprises: The method of claim 1 , comprising selecting a window of data points at the same azimuth or elevation angle around the POI.
3. The step of selecting a set of neighboring points of a POI comprises: The method of claim 1 , comprising selecting a set of neighboring points in a two-dimensional grid around the POI.
4. The step of selecting a set of neighboring points of a POI comprises: The method of claim 1 , comprising the step of selecting a set of nearby points in a three-dimensional space around the POI.
5. The step of selecting a set of neighboring points of a POI comprises: The method of claim 1 , comprising selecting a set of three-dimensional spatiotemporal neighboring points from a previous frame around the POI.
6. The step of calculating indices for a set of nearby points comprises: The method of claim 1 , comprising calculating the index based on a variance of the characteristic of the set of nearby points and each of the POIs.
7. The method of claim 6 , wherein the index is further calculated based on higher order moment properties, including skewness or kurtosis, of the set of neighboring points and the POI, respectively.
8. The step of calculating indices for a set of nearby points comprises: The method of claim 1 , further comprising: calculating the index based on confidence scores corresponding to similarities in speed, intensity, and distance of the set of nearby points and each of the POIs.
9. The step of calculating indices for a set of nearby points comprises: The method of claim 1 , further comprising calculating the index based on speed, intensity and distance thresholds for each of the set of nearby points and the POI.
10. The step of calculating indices for a set of nearby points comprises: The method of claim 1 , comprising calculating the index based on a variance of up-chirp or down-chirp frequencies of the set of neighboring points and the POI, respectively.
11. 1. A light detection and ranging (LiDAR) system comprising: A processor; A (LiDAR) system comprising: a memory for storing instructions executed by the processor; and configured to perform the following in accordance with the instructions: receiving in a first filter a set of points of interest (POIs) of a first point cloud, each POI including one or more points; filtering each POI in the set of POIs; Here, the LiDAR system is selecting a set of neighboring points of said POI; calculating an index for the set of nearby points based on characteristics including speed of the set of nearby points and each of the POIs; determining based on the indicator whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information associated with a target; If the POI is accepted or modified, sending the POI to a filtered point cloud to extract at least one of distance or velocity information associated with the target; If the POI is rejected, blocking the POI from reaching the filtered point cloud; Further, if the POI is not accepted, not modified, or rejected, the POI is sent to a second filter to determine whether to accept, modify, or reject the POI and extract at least one of distance information or speed information related to the target.
12. The (LiDAR) system of claim 11 , wherein the (LiDAR) system selects a window of data points at the same azimuth or elevation angle around the POI.
13. The (LiDAR) system of claim 11 , wherein the (LiDAR) system selects a set of two-dimensional grid neighbors, three-dimensional spatial neighbors, or three-dimensional spatiotemporal neighbors from a previous frame around the POI.
14. The (LiDAR) system of claim 11, wherein the (LiDAR) system calculates the index based on a variance of the characteristics of the set of nearby points and the POI, respectively, or the system calculates the index based on a variance of up-chirp or down-chirp frequencies of the set of nearby points and the POI.
15. The (LiDAR) system of claim 11 , wherein the (LiDAR) system calculates the index based on a confidence level corresponding to the similarity of speed, intensity, and distance of each of the set of nearby points and the POI.
16. The (LiDAR) system of claim 11 , wherein the (LiDAR) system calculates the index based on a speed, intensity, or distance threshold of each of the set of nearby points and the POI.
17. 1. A light detection and ranging (LiDAR) system comprising: a light source for transmitting a portion of the optical signal toward a target; an optical receiver for receiving a return beam from the target based on the optical signal; The circuit, A (LiDAR) system comprising: a memory for storing instructions executed by the circuitry; and configured to perform the following in accordance with the instructions: receiving in a first filter a set of points of interest (POIs) of a first point cloud, each POI including one or more points; filtering each POI in the set of POIs; Here, the LiDAR system is Select a set of neighboring points of the POI; calculating an index for the set of nearby points based on characteristics including speed of the set of nearby points and each of the POIs; determining based on the indicator whether to accept the POI, modify the POI, reject the POI, or send the POI to a second filter to extract at least one of distance or speed information associated with the target; If the POI is accepted or modified, sending the POI to a filtered point cloud to extract at least one of distance or velocity information associated with the target; If the POI is rejected, blocking the POI from reaching the filtered point cloud; If the POI is not accepted, not modified, or rejected, the POI is sent to a second filter to determine whether to accept, modify, or reject the POI and extract at least one of distance information or speed information associated with the target.
18. The (LiDAR) system of claim 17, wherein the (LiDAR) system selects a window of data points at the same azimuth or elevation angle around the POI.
19. The (LiDAR) system of claim 17, wherein the (LiDAR) system selects a set of two-dimensional grid neighbors, three-dimensional spatial neighbors, or three-dimensional spatiotemporal neighbors from a previous frame around the POI.
20. The (LiDAR) system of claim 17, wherein the (LiDAR) system calculates the index based on a variance of the characteristics of the set of nearby points and the POI, or the system calculates the index based on a variance of up-chirp or down-chirp frequencies of the set of nearby points and the POI.
21. The (LiDAR) system of claim 17, wherein the (LiDAR) system calculates the index based on a confidence level corresponding to the similarity of speed, intensity, and distance of each of the set of nearby points and the POI.
22. The (LiDAR) system of claim 17, wherein the (LiDAR) system calculates the index based on a speed, intensity, or distance threshold of each of the set of nearby points and the POI.
Citation Information
Patent Citations
Object detection device
JP2007304069A
Object detecting device
JP2009042177A
Radar device
JP2014139536A
Monitoring device and program
JP2015022541A
Position recognition device
JP2018066679A
