Identification of artifacts in 3D models created based on data captured by lidar systems
By evaluating neighbor points to adjust classifications in LIDAR 3D models, the method corrects blooming artifacts, enhancing detection accuracy and reliability for safer autonomous navigation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- INNOVIZ TECH LTD
- Filing Date
- 2025-12-11
- Publication Date
- 2026-07-02
AI Technical Summary
LIDAR systems face performance degradation due to high intensity light reflections from highly reflective objects, leading to blooming artifacts that distort 3D models and hinder accurate object detection, posing safety risks in autonomous driving.
A method and system for identifying and adjusting the classification of points in a 3D model based on the classification of neighbor points, using confidence scores and weighted aggregation to reduce blooming artifacts, thereby improving object detection accuracy.
Enhances the reliability and accuracy of object detection by correcting false classifications in 3D models, reducing computing resources, and improving the integrity of LIDAR data for safer autonomous navigation.
Smart Images

Figure IL2025051109_02072026_PF_FP_ABST
Abstract
Description
IDENTIFICATION OF ARTIFACTS IN 3D MODELS CREATED BASED ON DATA CAPTURED BY LIDAR SYSTEMSTECHNICAL FIELD
[0001] The present disclosure relates to Light Detection and Ranging (LIDAR) technology for scanning a surrounding environment, and, more specifically, but not exclusively, to identifying, marking and optionally removing artifacts in 3 Dimensional (3D) models created based on data captured by LIDAR systems, in particular evaluating points of the 3D model suspected as artifacts based on their neighbor points.BACKGROUND
[0002] With the advent of driver assist systems and autonomous vehicles, automobiles are equipped with systems capable of reliably sensing and interpreting their surroundings, including identifying obstacles, hazards, objects, and other physical parameters that might impact navigation of the vehicle. To this end, various technologies are currently used, for example, Radio Detection and Ranging (RADAR), LIDAR, camera-based systems, and / or the like operating alone, in conjunctions and / or in a redundant manner.
[0003] LIDAR based object detection and surroundings mapping has proved to be highly efficient, reliable, and robust compared to other detection technologies. However, while such LIDAR based detection systems may be extremely efficient, their performance, whether employing pulsed or continuous wave illumination, may be affected, and possibly significantly degraded due to high intensity light reflections reflected by highly reflective objects, for example, retroreflectors characterized by specular reflection (e.g., traffic signs, metallic surfaces, etc.), nearby objects located in close proximity to the LIDAR system, and / or the like.SUMMARY
[0004] It is an object of the present disclosure to provide methods, systems and / or software program products for improving object detection performance of LIDAR systems by identifying artifacts in 3D models created based on data captured by the LIDAR system which may be induced by highly reflective objects scanned by the LIDAR system. This objective is achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description, and the figures. It should be noted that multiple such implementation forms may be combined together to any single embodiment.
[0005] According to a first aspect of embodiments disclosed herein, there is provided a method of removing artifacts from a 3 dimensions (3D) model constructed using LIDAR system data,comprising using one or more processors for receiving a 3D model of at least part of an FOV scanned by a LIDAR system, the 3D model comprises a plurality of points computed based on data generated by the LIDAR system, each of the plurality of points is associated with a classification indicating whether the respective point is a blooming artifact, selecting from the plurality of points a set of neighbor points of one or more of the plurality of points suspected to have a false classification, determining an adjusted classification of one or more of the suspected points based on the classifications of their neighbor points, and updating the 3D model according to the adjusted classification to reduce blooming artifacts for improved object detection.
[0006] According to a first aspect of embodiments disclosed herein, there is provided a system for removing artifacts from a 3 dimensions (3D) model constructed using LIDAR system data, comprising one or more processors configured to execute program instructions for receiving a 3D model of at least part of an FOV scanned by a LIDAR system, the 3D model comprises a plurality of points computed based on data generated by the LIDAR system, each of the plurality of points is associated with a classification indicating whether the respective point is a blooming artifact, selecting from the plurality of points a set of neighbor points of one or more of the plurality of points suspected to have a false classification, determining an adjusted classification of one or more of the suspected points based on the classifications of the neighbor points, and updating the 3D model according to the adjusted classification to reduce blooming artifacts for improved object detection.
[0007] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, determining the classification of the one or more suspected points comprises adjusting the classification of one or more of the suspected points to indicate they are not blooming artifacts in case of false positive classification (i.e., the point was initially classified as non-blooming) or adjusting the classification of one or more of the suspected points to indicate they are detections of a real object in case of false negative classification (i.e., the point was initially classified as blooming artifact).
[0008] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, updating the 3D model comprises associating the one or more suspected points with the adjusted classification.
[0009] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, updating the 3D model further comprises erasing one or more of the suspected points from the 3D model in case of false positive classification of the respective suspected point which is determined to be a blooming artifactand leaving in the 3D model one or more of the suspected points in case of false negative classification of the respective suspected point which is determined to be a detection of a real object.
[0010] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, each of the plurality of points of the 3D model is further associated with a confidence score indicative of confidence of the classification of the respective point.
[0011] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the one or more processors are further configured to determine an adjusted confidence score of one or more of the suspected points based on the confidence scores of the neighbor points of the respective suspected point.
[0012] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the classification of the plurality of points is based on signal data generated by a plurality of detectors of the LIDAR system, each of the plurality of detectors is associated with a respective one of a plurality of light beams projected by the LIDAR system such that the signal data generated by each detector is indicative of light of the associated light beam reflected from one or more objects in the FOV.
[0013] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the 3D model comprises a point cloud and / or a polygon mesh.
[0014] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, each of the plurality of points is processed as a suspected point suspected to have a false classification.
[0015] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, one or more of the suspected points are identified based on comparison between the classification of the respective suspected point and the classification of one or more adjacent points spatially adjacent to the respective suspected point in the 3D model.
[0016] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, one or more of the suspected points are identified based on comparison between an intensity level associated with the respective suspected point and the intensity level of one or more adjacent points spatially adjacent to the respective suspected point in the 3D model.
[0017] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, one or more of the suspected points are identified by comparing between a confidence score of the respective suspected point and a confidence threshold confidence score.
[0018] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the confidence threshold is defined based on one or more attributes relating to each of the one or more suspected points. The one or more attributes are members of a group comprising: a distance to the one or more suspected points, a scanning resolution of the FOV around the one or more suspected points, a region of the FOV in which the one or more suspected points are located, an illumination condition, and / or an environmental condition.
[0019] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the set of neighbor points is selected according to a fixed bounding box having a predefined size such that the set of neighbor points includes points of the plurality of points which are encompassed in the bounding box.
[0020] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the set of neighbor points of one or more of the suspected points is selected according to a dynamically adjusted bounding box such that the set of neighbor points includes points of the plurality of points which are encompassed in the bounding box. A size of the bounding box is adjusted according to one or more attributes relating to the respective suspected point. The one or more attributes are members of a group comprising: a distance to the one or more suspected point, a scanning resolution of the FOV around the one or more suspected points, and / or a region of the FOV in which the one or more suspected points are located.
[0021] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, each of the neighbor points is associated with a respective weight, wherein the one or more processors are further configured to evaluate the classification of one or more of the suspected points based on aggregation of the classification of the neighbor points of the respective suspected point each weighted with a respective associated weight.
[0022] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the weight associated with each neighbor point is assigned according to one or more attributes relating to the respective neighbor point. The one or more attributes are members of a group comprising: a distance of the respectiveneighbor point from the one or more suspected points, a position of the respective neighbor point with respect to the one or more suspected points, a confidence score of the classification of the respective neighbor point, an intensity level of the respective neighbor point, and / or a detection confidence score of the respective neighbor point.
[0023] In a further implementation form of the first, and / or second aspects optionally together with one or more of the other implementation forms, the one or more processors are further configured to initiate one or more additional iterations in which the classification of one or more points of the plurality of points of the 3D model is determined based on an adjusted classification of one or more neighbor points of the respective point determined in one or more previous iteration.
[0024] Consistent with other disclosed embodiments, non-transitory computer-readable storage media may store program instructions, which are executed by at least one processor and perform any of the methods described herein.
[0025] The foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments by way of example only. With specific reference now to the drawings in detail, it is stressed that the particulars are shown by way of example and for purposes of illustrative discussion of embodiments disclosed herein. In this regard, the description taken with the drawings makes apparent to those skilled in the art how disclosed embodiments may be practiced.
[0027] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments.
[0028] In the drawings:
[0029] FIG. 1 and FIG. 2 are schematic illustrations of an exemplary LIDAR system, in accordance with embodiments of the present disclosure;
[0030] FIG. 3 is a flow chart of an exemplary process of evaluating classification of points of a 3D model representing at least part of a Field of View (FOV)of a LIDAR system to identify points estimated to have false classification based on classification of the neighbor points and determine an adjusted classification accordingly, in accordance with embodiments of the present disclosure;
[0031] FIG. 4 depicts schematic illustrations of exemplary LIDAR systems configured toproject light for scanning their Field of View (FOV) and collect data used for creating a 3D model comprising a plurality of points of which some are reevaluated to determine whether or not they are blooming artifacts, in accordance with embodiments of the present disclosure;
[0032] FIG. 5A, FIG. 5B, and FIG. 5C illustrate exemplary scenarios of false classification of points in a 3D model to indicate whether or not these points are blooming artifacts; and
[0033] FIG. 6 illustrates exemplary sets of neighbor points selected for evaluating classification of points in a 3D model suspected to have false classification, in accordance with embodiments of the present disclosure.DETAILED DESCRIPTION
[0034] The present disclosure relates to Light Detection and Ranging (LIDAR) technology for scanning a surrounding environment, and, more specifically, but not exclusively, to identifying, marking and optionally removing artifacts in 3D models created based on data captured by LIDAR systems, in particular evaluating points of the 3D model suspected as artifacts based on their neighbor points.
[0035] The 3D model may comprise depth maps of one or more types, for example, a point cloud model (designated point cloud for brevity), a polygon mesh, a depth image (holding depth information for each pixel of an image or of a 2D array), or any other type of 3D model of a scene. It should be noted that the term 3D model used throughout this disclosure may comprise one or more 3D models, as well as partial 3D models, for example, a frame, which is a 3D or 2D representation of the Field of View (FOV) of the LIDAR system constructed based on data captured by the LIDAR system during one or more scans of the FOV. The term 3D model relates to 3D data of a plurality of points representing respective positions in the FOV, for example, raw 3D information which may be arranged in a model and / or in one or more data structures, for example, a data stream, a data record (e.g., table, list, etc.), and / or the like.
[0036] LIDAR systems are configured to detect objects in their external environment by scanning their external environment, specifically a Field of View (FOV) of the LIDAR system. To scan the FOV, the LIDAR systems may project light, for example, one or more light beams, to illuminate the FOV and / or part thereof and receive light reflected by one or more objects in the FOV illuminated with the projected light.
[0037] The LIDAR system, specifically the light detectors of the LIDAR system configured to receive multiple light reflections from the FOV including the light reflected from illuminated objects may be subject to optical crosstalk noise originating from one or more sources, eitheroptical and / or electrical, which may distort the signal data generated by the detectors that is indicative of the reflected light and thus degrade performance of LIDAR system.
[0038] In particular, scanning LIDAR systems that have an array of light detectors may be susceptible to interference due to optical crosstalk between the detectors. For example, one or more objects in the FOV may be highly reflective objects, specifically a retroreflector, for example, a license plate, a traffic sign, or other type of retroreflector object may reflect excessive light when illuminated by light projected from the LIDAR system due to its high reflectivity properties. As such, when such highly reflective object (retroreflector) is illuminated, one or more detectors of the LIDAR system may receive reflections from a portion of the FOV that is larger than the portion of the FOV of the single detector due to glare and scattering from the retroreflector. This reflection results in a blooming artefact that may block the LIDAR detector from receiving reflections from essential parts of the scene resulting in a shadowing effect. Thus, objects located in the FOV covered by this blooming artefact or “shadow” may go undetected leading to inaccuracies in imaging and may ultimately cause safety issues in the field of autonomous driving.
[0039] Therefore, an improved LIDAR system that mitigates optical crosstalk due to artefacts caused by highly reflective objects may be desirable.
[0040] Blooming distortion may manifest as artifacts in 3D models, for example, a point cloud, a polygon mesh, and / or the like of the external environment of a LIDAR system which is created and / or constructed based on the data generated by the detector(s) of the LIDAR system that is indicative of light signals reflected from objects in the FOV of the LIDAR system. The blooming artifact may present as an expansion of a point representation (point cloud) of one or more detected objects beyond the object’s contour into an area surrounding the object (hence “blooming”) thus distorting the apparent outline or boundary of the detected object, causing appearance of a bright halo around the object, and / or the like.
[0041] Blooming effects may be induced by optical crosstalk, i.e., high intensity reflected light or stray light (internal reflections) “leaking” to adjacent (neighboring) active light detection elements of the LIDAR system’s light detector(s) which may thus register phantom detections, i.e., generate signal data which may be interpreted as detections without a real object in the FOV. High intensity reflections may be typically received from highly reflective (e.g., retroreflector) and / or nearby objects which reflect a high level of radiant intensity, for example, traffic signs, road markings comprising retr or ef ective elements (e.g., markers, beads, etc.), retroreflective stickers (e.g., on vehicle bumpers), and / or the like. However, high intensity light may also originate from highly radiant light emission sources, such as a LIDAR system ofanother vehicle for example. Blooming effects may also be induced by one or more electric phenomena, such as leakage or overflow of photodetector electrons between adjacent active detection elements (i.e., electrical crosstalk).
[0042] Blooming may cause inaccuracies in the 3D model, for example, a point cloud, generated based on the reflected light signals and significantly hinder the ability to accurately identify and determine characteristics of high reflectivity objects and / or their surrounding area. For example, blooming may lead to misrepresentation of object size and / or shape in the point cloud. In another example, blooming effects in the point cloud may obstruct and / or at least partially obscure one or more other objects in the vicinity of the highly reflective object which may prevent their detection.
[0043] Various methods, techniques and algorithms are known in the art for identifying, estimating and / or classifying points, alternatively designated pixels, as blooming artifacts or blooming candidates. However, these blooming detection methods may misclassify points (pixels) in the 3D model, in particular points associated with high intensity value which may result from reflection from a high reflectivity object (e.g., retroreflector, nearby object, etc.) that may saturate the detector(s) or may result from overload of the detector due to blooming effects.
[0044] False classification of such points may include, for example, false positive classification in which a detection which is actually an artifact (e.g., interference, such as a blooming artifact) may be erroneously estimated to be a real object, (e.g., a high reflectivity object). Another false classification type is a false negative classification, in which a detection which is actually a real object, may be erroneously classified as an artifact.
[0045] According to some embodiments of the present disclosure, there are provided, devices, systems, and methods for identifying, marking and optionally removing artifacts in the 3D models of a LIDAR environment created based on data captured by LIDAR systems, i.e., the signal data generated by one or more light detectors of the LIDAR system which is indicative of light received from the FOV of the LIDAR system and / or part thereof, specifically of light reflected from one or more objects in the FOV which are illuminated with light projected by the LIDAR system. In particular, points in the 3D model that are suspected to be misclassified as blooming artifacts or non-blooming artifacts may be evaluated based on the classification of their neighbor points and their classification may be determined and optionally adjusted accordingly.
[0046] Each of the plurality of points (pixels) in the 3D model may be associated with metadata including values such as reflectivity, confidence, ambient measurements, velocity, etc. Inaddition, each of the plurality of points (pixels) may be associated with a classification (label) indicating whether the respective point is a blooming artifact. As such, one or more of the points may be classified to indicate the respective point is a blooming artifact while one or more other points may be classified to indicate the respective points is a real detection and maps a real object detected in the FOV.
[0047] Each of the plurality of points may be further associated with a blooming confidence score indicative of a confidence (level) of the classification of the respective point, or in an alternative definition a probability of correct classification. For example, a first point classified as a blooming artifact may be associate with a high blooming confidence score which is indicative that the first point is estimated with a high confidence level to be a blooming artifact while a second point also classified as a blooming artifact may be associated with a low blooming confidence score indicating that the second point is estimated to be a blooming artifact with a reduced confidence level. In another example, a first point classified as a nonblooming artifact (e.g., detection of real object or no detection) may be associate with a high blooming confidence score indicative that the first point is estimated with a high confidence level to be a non-blooming point while a second point also classified as a non-blooming artifact may be associated with a low confidence score indicating that the second point is estimated to be a non-blooming point with a reduced confidence level.
[0048] Typically, the analysis to identify, estimate and / or determine false classification of blooming artifacts may be applicable for points (pixels) in the 3D model which have a high intensity level since the high intensity level may be due to optical and / or electrical crosstalk induced by reflections from a high reflectivity object (e.g., retroreflectors, nearby objects, etc.) which may saturate or overload the detector(s). The classification may be therefore interpreted as classifying whether a point is a detection of a real object, specifically a high intensity object or the point is a blooming artifact.
[0049] One or more of the points in the 3D model which are suspected to be falsely classified may be re-evaluated to determine and / or estimate whether they are correctly or falsely classified. In particular, the suspected points which are evaluated to determine and / or estimate whether or not these points are blooming artifacts.
[0050] Specifically, the classification and / or confidence score of one or more points in the 3D model which are suspected to have false positive and / or false negative classification may be evaluated, analyzed and / or otherwise determined based on the classification of their neighbor points, i.e., points which are spatially adjacent to the suspected points, and optionally further based on the confidence scores of the neighbor points. Neighbor points may include, forexample, points which are immediately adjacent to the processed suspected point, and / or points which are within a certain distance in one or more axes from the processed suspected point. False positive classification may refer to points which were (initially) classified as nonblooming and suspected to be blooming artifacts, and false negative classification may refer to points which were (initially) classified as blooming artifacts and suspected to be non-blooming points.
[0051] For example, assuming a certain suspected point is classified as a detection of a real object (non-blooming point) while its neighbor points are classified as potential blooming artifacts and / or no detections. In such case, based on analysis of the classifications of the neighbor points, the suspected point may be determined to be a false positive and its classification may be adjusted accordingly to indicate it is estimated to be a blooming artifact. Moreover, assuming a suspected point classified as a blooming point is associated with a low confidence score indicating it is estimated with low confidence to be a blooming artifact, and the neighbor points of the suspected point are associated with significantly high confidence scores indicating they are estimated with high confidence to be blooming artifacts. In such cases, based on analysis of the blooming confidence scores of the neighbor points, the suspected point may be determined to be a false positive and its confidence score may be adjusted accordingly (e.g., increased) to indicate it is estimated with high confidence to be a blooming artifact.
[0052] In another example, assuming a certain suspected point is classified as a blooming artifact while its neighbor points are classified as non-blooming points (e.g., detection of a real object, no detection), based on analysis of the classifications of the neighbor points, the suspected point may be determined to be a false negative and its classification may be adjusted accordingly to indicate it is estimated to be a detection of the real object. Moreover, assuming a suspected point classified as a non-blooming point may be further associated with a low confidence score indicating it is estimated with low confidence to be a non-blooming point while its neighbor points have significantly high confidence scores indicating they are estimated with high confidence to map a real object. In such cases, based on analysis of the confidence score of the neighbor points, the suspected point is determined to be a false negative and its confidence score may be adjusted (e.g., increased) to indicate with high confidence it is not a blooming artifact but rather a detection of a real object or no detection.
[0053] Optionally, each of the neighbor points of one or more suspected points may be assigned a respective weight which may be used for evaluating the classification of the suspected point. For example, the classifications and / or confidence scores of the neighborpoints of a respective suspected point may be aggregated using one or more weighted aggregation algorithms to evaluate the classification of the respective suspected point and determine, and / or estimate whether the respective suspected point is classified correctly or falsely. The weights may be assigned to each neighbor point according to one or more methods, and / or algorithms, for example, a kernel distribution (e.g., Gaussian, etc.) applied to the neighbor points according to their spatial distance from the respective suspected point such that neighbor points which are spatially (e.g., laterally and / or longitudinally) closer to the suspected points may be assigned with higher weights compared to neighbor points which are farther away from the suspected point. The kernel may be a cuboid or rectangular kernel (e.g., on a grid in space) that includes nearest neighbor points in 3d space, of which di agonal / comer points may have a lower rating to neighbor points adjacent to the center point. Alternatively the kernel may extend beyond the nearest neighbor points to neighbor points at a greater distance (e.g., a kernel of 3x3x3, 4x4x4, or larger).
[0054] Optionally, the 3D model may be updated according to the adjusted classification of one or more points. For example, the 3D model may be updated by erasing and / or removing one or more points which were initially erroneously classified as non-blooming points (false positive) and based on the classification of their neighbor points, these points were determined to be blooming artifacts and their classification was adjusted accordingly to indicate they are estimated to be blooming artifacts. On the other hand, one or more points which were initially erroneously classified as blooming points (false negative) and based on the classification of their neighbor points, these points were determined not to be blooming artifacts and their classification was adjusted accordingly to indicate they are estimated to be detections of real object(s) may be left in the 3D model.
[0055] One or more methods may be applied to identify points in the 3D model which are suspected to have false classification, i.e., false positive points and / or false negative points. For example, in a naive approach, all points of the 3D model may be analyzed and / or processed to evaluate whether their classification is correct or false based on the classification of their neighbor points. In another example, one or more suspected points may be identified based on analysis of adjacent points to identify points whose classification stand out compared to their surrounding points. In another example, one or more suspected points may be identified based on comparison of their confidence score to one or more confidence thresholds.
[0056] The set of neighbor points selected for evaluating the classification of one or more suspected points in the 3D model may be selected using one or more methods, techniques and / or algorithms. For example, the set of neighbor points of one or more suspected points maybe selected according to a fixed bounding box having a predefined size, radius, and / or the like such that the set of neighbor points includes points which are encompassed in the bounding box. In another example, the bounding box may be dynamically adjusted for one or more suspected points according to one or more attributes relating to the respective suspected point, for example, a distance (range) to the suspected point, a scanning resolution of the FOV around the suspected point, a region of the FOV in which the suspected point is located, and / or the like.
[0057] Identifying false classification of points in a 3D model of an FOV of a LIDAR system and / or part thereof as blooming artifacts or not based on classification of their neighbor points may present major benefits and advantages over currently existing methods for detecting and classifying blooming artifacts.
[0058] First, by evaluating the classification of points in the 3D model based on the classification of their neighbor points, the spatial context of the suspected points may be identified, evaluated, and / or determined independently and detached from the scanning scheme used by the LIDAR system to scan the FOV. This is in contrast to the existing systems and methods which may apply spatial analysis for detection of objects in the FOV but may lack the ability to infer whether points of the 3D model are blooming artifacts or not based on spatial context of these points with respect to their neighbor points, i.e., spatially adjacent points computed based on data captured by the LIDAR system at other scan times.
[0059] As known in the art, the data collected by the LIDAR system and used to compute the points (i.e., distance (range), position, intensity, reflectivity, etc.) may be highly correlated to the scanning scheme of the LIDAR system, for example, a scanning pattern, a scanning mode, and / or the like which may often lack spatial context since the scanning schemes may typically scan only a limited and / or partial portion of the FOV at any given time. As such, estimation and classification of the points according to this spatially lacking data may be limited and may significantly reduce classification performance and / or quality, for example, reliability, accuracy, robustness and / or the like. For example, assuming the LIDAR system scans the FOV with an array of a plurality of vertically arranged light beams projected simultaneously and an array of light sensors each corresponding to a respective light beam. In such cases, crosstalk between the detectors may result in blooming artifacts manifested in points (pixels) vertically positioned with respect to each other. However, such interpretation and classification may be limited to the data indicative of reflected light received during each instantaneous scan (time) and lack the spatial context of adjacent points in the FOV which are scanned during other scan times.
[0060] Therefore, since points of the 3D model which are spatially adjacent (i.e., neighbor points) are assumed and / or estimated to be detections (or non detections) of common objects and / or part thereof, evaluating the classification, and optionally the confidence score, of suspected points compared to the classification of their neighbor points may provide a spatial context for the suspected points and their classification. The classification of the suspected points may be thus analyzed and evaluated in their spatial context to detect false classification of one or more of the suspected points, i.e., false positive and / or false negative. The classification of suspected points determined to be falsely classified may be thus adjusted to correctly indicate whether or not they are blooming artifacts which may significantly increase reliability, accuracy, and / or confidence of their correct classification. The increased reliability, accuracy, and / or confidence of the classification of the points of the 3D model may significantly improve reliability, accuracy, and / or integrity of the 3D model thus significantly increase object detection performance, for example, detection reliability, accuracy, and / or robustness.
[0061] Moreover, by applying a confidence threshold and / or neighbor points analysis to identify suspected points, the number of suspected points which are processed and / or analyzed to determine whether or not they are falsely classified may be significantly reduced compared to a naive approach in which all points of the 3D model may be processed. This may significantly reduce computing time and / or computing resources of the LIDAR system, for example, processing resources, storage resources, and / or the like.
[0062] Furthermore, by adjusting the criteria for selecting neighbor points of one or more suspected points according to attributes relating to the respective suspected point (e.g., distance (range), resolution, region, etc.), the set of neighbor points selected for evaluating the classification of each suspected point may be significantly more efficient, fitting, applicable and / or suitable thus significantly increasing accuracy, reliability, and / or robustness of correct classification of the suspected points.
[0063] In addition, applying weighted aggregation of the classifications and / or the confidence scores of the neighbor points of suspected points based on their spatial distance from the suspected point may significantly increase accuracy, reliability and / or robustness of the classification evaluation of the suspected point. This is due to increased contribution of neighbor points which are closer to the suspected point and may therefore estimated and / or assumed to be more relevant and representative of the suspected point compared to neighbor points which are farther away from the suspected point.
[0064] The following detailed description refers to the accompanying drawings. Whereverpossible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts.
[0065] While illustrative embodiments are described herein, it is to be understood that these are not necessarily limited in their application to the details of construction and / or arrangement of the components, systems, or methods, since modifications, adaptations and other implementations are possible. For example, as may be appreciated by one skilled in the art, substitutions, additions, and / or modifications may be made to the components illustrated in the drawings, and the illustrative methods described herein may be modified by substituting, reordering, removing, or adding steps to the disclosed methods.
[0066] Accordingly, the following detailed description is not limited to the disclosed embodiments and examples. Instead, the proper scope is defined by the appended claims.
[0067] Referring now to the drawings, FIG. 1 and FIG. 2 are schematic illustrations of an exemplary LIDAR system, in accordance with embodiments of the present disclosure.
[0068] An exemplary LIDAR system 100 may be used, for example, in one or more ground autonomous or semi-autonomous vehicles 110, for example, road-vehicles such as, for example, cars, buses, vans, trucks and any other terrestrial vehicle. Autonomous ground vehicles 110 equipped with the LIDAR system 100 may scan their environment and drive to a destination vehicle with reduced and potentially without human intervention. In another example, the LIDAR system 100 may be used in one or more autonomous / semi -autonomous aerial-vehicles such as, for example, Unmanned Aerial Vehicles (UAV), drones, quadcopters, and / or any other airborne vehicle or device. In another example, the LIDAR system 100 may be used in one or more autonomous or semi -autonomous water vessels such as, for example, boats, ships, hovercrafts, submarines, and / or the like. Autonomous aerial-vehicles and watercrafts with LIDAR system 100 may scan their environment and navigate to a destination autonomously or under remote human operation.
[0069] It should be noted that the LIDAR system 100 or any of its components may be used together with any of the example embodiments and methods disclosed herein. Moreover, while aspects of the LIDAR system 100 may be described herein with respect to an exemplary vehicle-based LIDAR platform, the LIDAR system 100, any of its components, or any of the processes described herein may be applicable to one or more LIDAR systems of other platform types. As such, LIDAR systems such as the LIDAR system 100 may be installed, mounted, integrated, and / or otherwise deployed, in dynamic and / or stationary deployment for one or more other applications, for example, a surveillance system, a security system, a monitoring system, and / or the like. Such LIDAR systems 100 may be configured to scan their environmentin order to detect objects according to their respective application needs, criteria, requirements, and / or definitions.
[0070] The LIDAR system 100 may be configured to detect tangible objects in the external environment of the LIDAR system 100, specifically in a scene contained in an FOV 120 of the LIDAR system 100. The LIDAR system 100 may detect objects in the FOV 120 based on reflected light, and more specifically, based on light projected by the LIDAR system 100 and reflected by objects in the FOV 120.
[0071] The scene may include some or all objects within the FOV 120, in their relative positions and in their current states, for example, ground elements (e.g., earth, roads, grass, sidewalks, road surface marking, etc.), sky, man-made objects (e.g., vehicles, buildings, signs, etc.), vegetation, people, animals, light projecting elements (e.g., flashlights, sun, other LIDAR systems, etc.), and / or the like.
[0072] An object refers to a finite composition of matter that may reflect light from at least a portion thereof. An object may be at least partially solid (e.g., car, tree, etc.), at least partially liquid (e.g., puddles on a road, rain, etc.), at least partly gaseous (e.g., fumes, clouds, etc.), made of a multitude of distinct particles (e.g., sandstorm, fog, spray, etc.), and / or a combination thereof. An object may be of one or more scales of magnitude, such as, for example, ~1 millimeter (mm), -5 mm, -10 mm, ~50 mm, -100 mm, -500 mm, -1 meter (m), ~5m, ~10m, ~50m, ~100m, and so on.
[0073] The LIDAR system 100 may be configured to detect objects by scanning the environment of the LIDAR system 100, i.e., illuminating at least part of the FOV 120 of the LIDAR system 100 and collecting and / or receiving light reflected from (scattered of) objects in the illuminated part(s) of the FOV 120. The LIDAR system 100 may scan the FOV 120 and / or part thereof in a plurality of scanning cycles (frames) conducted at one or more frequencies (frame rate), for example, 5 frames per second (fps), 10 fps, 15 fps, 20 fps, and / or the like.
[0074] The LIDAR system 100 may apply one or more scanning mechanisms, methods, and / or implementations for scanning the environment. For example, the LIDAR system 100 may scan the environment by moving and / or pivoting one or more deflectors configured to deflect light emitted from one or more light sources of the LIDAR system 100 in differing directions toward distinct parts of the FOV 120. In another example, the LIDAR system 100 may scan the environment by changing positioning (i.e., location and / or orientation) of one or more sensors associated with the LIDAR system 100 with respect to the FOV 120. In another example, the LIDAR system 100 may scan the environment by changing positioning (i.e., location, and / ororientation) of one or more of the light sources associated with the LIDAR system 100 with respect to the FOV 120. In another example, the LIDAR system 100 may scan the environment by changing the positioning of the sensor(s) and the light source(s) associated with the LIDAR system 100 with respect to the FOV 120. In another example, the LIDAR system 100 may comprise an array of light sources each positioned, oriented, configured, and / or operated to scan a respective portion of the FOV 120.
[0075] The FOV 120 scanned by the LIDAR system 100, i.e., the environment in which the LIDAR system 100 may detect objects, may include an extent of the observable environment of LIDAR system 100 in which objects may be detected. The extent of the FOV 120 may be defined by a horizontal range (e.g., 50°, 120°, 360°, etc.), and a vertical elevation (e.g., ±20°, +40°-20°, ±90°, 0°-90°, etc.). The FOV 120 may also be defined within a certain range, for example, up to a certain depth / distance (e.g., 100 m, 200 m, 300 m, etc.), and up to a certain vertical distance (e.g., 10 m, 25 m, 50 m, etc.).
[0076] The FOV 120 may be divided (segmented) into a plurality of portions 122 (segments), also designated FOV pixels, having uniform and / or different sizes. In some embodiments, as illustrated in FIG. 1, the FOV 120 may be divided into a plurality of portions 122 arranged in the form of a two-dimensional array of rows and columns. At any given time during a scan of the FOV 120, the LIDAR system 100 may scan an instantaneous FOV which comprises a respective portion 122. Obviously, the portion 122 scanned during each instantaneous FOV may be narrower than the entire FOV 120, and the LIDAR system 100 may thus move the instantaneous FOV within the FOV 120 in order to scan the entire FOV 120.
[0077] Detecting an object may broadly refer to determining an existence of the object in the FOV 120 of the LIDAR system 100 which reflects light emitted by the LIDAR system 100 toward one or more light sensors, interchangeably designated sensors, or detectors, associated with the LIDAR system 100. Additionally, or alternatively, detecting an object may refer to determining one or more physical parameters relating to the detected object and generating information indicative of the determined physical parameters, for example, a distance between the detected object and one or more other objects (e.g., the LIDAR system 100, another object detected in the FOV 120, ground (earth), etc.), a kinematic parameter of the detected object (e.g., relative velocity, absolute velocity, movement direction, expansion of the object, etc.), a reflectivity (level) of the detected object, and / or the like.
[0078] The LIDAR system 100 may employ one or more detection technologies. For example, the LIDAR system 100 may employ Time of Flight (ToF) detection where the light signal emitted by the light source(s) of the LIDAR system 100 may comprise one or more short pulses,whose rise and / or fall time may be detected in a received signal reflected by one or more objects in the FOV 120 which are illuminated with the emitted light. In another example, the LIDAR system 100 may employ Continuous Wave (CW) detection, for example, Frequency Modulated Continuous Wave (FMCW), Phase Modulated Continuous Wave (PhMCW), and / or the like in which a continuous wave light signal is transmitted to illuminate the FOV and / or part thereof and the transmitted signal is compared to a received signal reflected by one or more objects in the FOV 120 to identify phase and / or frequency shifts between the transmitted and received light signals in order to determine physical properties of the objects, for example, distance, and / or velocity.
[0079] The LIDAR system 100 may detect objects in the scanned FOV 120 and / or part thereof by processing detection results based on sensory data received from the sensor(s) indicative of the light signals reflected from one or more objects in the FOV 120 illuminated with the light emitted (projected) by the LIDAR system. For example, in a ToF based LIDAR system 100, such sensory data may include temporal information indicative of a period of time between the emission of a light signal (pulse) by the light source(s) of the LIDAR system 100 and the time of detection of a reflected light signal (pulse) by the sensor(s) associated with the LIDAR system 100. In another example, in a CW based LIDAR system 100, the sensory data may include information indicative of one or more differences between the transmitted light signal, specifically a reference light signal replicating the transmitted light signal, and the reflected light signal, for example, a frequency difference, a phase difference, and / or the like.
[0080] For various reasons, the LIDAR system 100 may detect only part of one or more objects which are present in the FOV 120. For example, light may be reflected from only some sides of an object, typically the side(s) opposing the LIDAR system 100 which may be therefore detected by the LIDAR system 100. In another example, light emitted by the LIDAR system 100, for example, a laser beam may be projected on only part of an object projected onto a road or a building. In another example, an object may be partly blocked and / or obscured by another object between the LIDAR system 100 and the detected object. In another example, ambient light and / or one or more other interferences (e.g., adversarial environmental conditions) may interfere with detection of one or more portions of an object.
[0081] Optionally, detecting an object by the LIDAR system 100 may further refer to identifying the object, for example, classifying a type of the object (e.g., car, person, tree, road, traffic light, etc.), recognizing a specific object (e.g., natural site, structure, monument, etc.), determining a text value of the object (e.g., license plate number, road sign markings, etc.), determining a composition of the object (e.g., solid, liquid, transparent, semitransparent, etc.),and / or the like.
[0082] As seen in FIG. 1, the LIDAR system 100 may comprise an illumination unit 102, a scanning unit 104, a sensing unit 106, and a processing unit 108. According to some embodiments, the LIDAR system 100 may be mountable on a vehicle 110.
[0083] Optionally, the LIDAR system 100 may be associated with one or more optical windows 124 through which outgoing light may be projected toward the FOV 120 and / or through which incoming light reflected from objects in field of view 120 may be received in the LIDAR system 100. The window 124 may include, for example, a window of the LIDAR system 100, a window of the vehicle 110 (e.g., windshield) behind which the LIDAR system 100 is installed, a cover of a lamp in which the LIDAR system 100 is installed, and / or the like. Optionally, the optical window(s) 124, for example, an opening, a flat window, a lens, or any other type of optical window may be used for one or more purposes, for example, collimating the projected light, focusing of the reflected light, and / or the like.
[0084] The LIDAR system 100 may be contained in a single housing and / or divided among a plurality of distinct housings connected to each other via one or more communication channels, for example, a wired channel, a fiber optics cable, and / or the like deployed between the first and second housings, a wireless connection (e.g., RF connection), and / or any combination thereof. For example, light related components of the LIDAR system 100, such as, for example, the illumination unit 102, the scanning unit 104, and the sensing unit 106 may be deployed and / or contained in a first housing while the processing unit 108 may be deployed and / or contained in a second housing. In such cases, the processing unit 108 may communicate with the illumination unit 102, the scanning unit 104, and / or the sensing unit 106 via the communication channel(s) connecting the separate housings for controlling of the scanning unit 104 and / or for receiving from the sensing unit 106 sensory information indicative of light reflected from the scanned scene.
[0085] The LIDAR system 100 may apply one or more scanning modes, technologies, and / or techniques for scanning the FOV 120. For example, the LIDAR system 100 may apply raster (flying spot) scanning in which one or more light beams, for example, laser beams, are projected to scan the FOV 120 in one or more scan patterns, for example, scan side to side lines, scan up-down columns, and / or the like, and / or a combination thereof. In such cases, the FOV 120 may be segmented to a plurality of segments 122 each corresponding to an instantaneous FOV scanned at any given time by the raster LIDAR system 100. In another example, the LIDAR system 100 may apply scan -line scanning in which one or more light beams projected simultaneously by the LIDAR system 100 may form a beam array, and / or anelongated light beam, for example, a vertical line of light beams (e.g., lasers) which may be moved horizontally to scan the FOV 120 such that the instantaneous FOV scanned at any given time by the raster scan-line LIDAR system 100 may comprise a respective vertical portion of the FOV 120. In another example, the LIDAR system 100 may apply flash scanning in which one or more light beams (e.g., laser beams) may be projected by the LIDAR system 100 to simultaneously illuminate the entire FOV 120 such that the instantaneous FOV scanned at any given time by the raster scan-line LIDAR system 100 may comprise a major portion of the FOV 120 and typically the entire FOV 120.
[0086] The LIDAR system 100 may employ one or more designs, architectures, and / or configurations, optionally depending on the scanning mode of the LIDAR system 100, for implementing optical paths, specifically an outbound optical path (transmission path TX) for transmitting light 204 emitted by the illumination unit 102 and directed toward the scene, i.e., toward the FOV 120, and an inbound optical path (reception path RX) for directing light 206 reflected from objects in the FOV 120 toward the sensing unit 106.
[0087] For example, the LIDAR system 100 may employ bistatic architecture, sometimes referred to as biaxial architecture, in which the outbound light projected by the LIDAR system 100 (exiting) toward the scene and the inbound light reflected from the scene and entering the LIDAR system 100 (entering) pass through substantially different optical paths each comprising one or more distinct optical components, for example, a window, an aperture, a lens, a mirror, a beam splitter, and / or the like.
[0088] In another example, as shown in FIG. 2, the LIDAR system 100 may employ monostatic architecture, sometimes referred to as coaxial architecture, in which the outbound light 204 and the inbound light 206 may pass thorough substantially common or similar (same) optical paths sharing some and potentially most optical components. This means that the outbound light 204, directed toward the FOV 120 via the transmission optical path (TX), and the inbound light 206, directed from the FOV 120 toward one or more sensors of the LIDAR system 100 via the reception path (RX), may pass through the common optical path and thus through shared optical component(s) deployed along the common optical path.
[0089] Typically, configuration, and / or implementation of the optical paths of the transmitted light 204 and the reflected light 206 may depend on a scanning mode of the LIDAR system 100.
[0090] The illumination unit 102 may include one or more light sources 112 configured to emit light in one or more light forms, formats, and / or modes, for example, laser light. The light source(s) 112 may include, for example, a laser diode, a solid-state laser, a high-power laser,an edge emitting laser, a Vertical-Cavity Surface-Emitting Laser (VCSEL), an External Cavity Diode Laser (ECDL), A distributed Bragg reflector (DBR) laser, a laser array, and / or the like.
[0091] The light source(s) 112 may be configured and / or operated, for example, by the processing unit 108, to emit light according to one or more light emission patterns defined by one or more light emission parameters, for example lighting technology (e.g., pulsed, CW, quasi-CW, etc.), scanning mode (e.g., spot scanning, line-scanning, flash scanning, etc.), light format (e.g., angular dispersion, polarization, etc.), spectral range (wavelength), energy / power (e.g., average power, maximum power, power intensity, instantaneous power, etc.), timing (e.g., pulse width (duration), pulse repetition rate, pulse sequence, pulse duty cycle, etc.), and / or the like.
[0092] Optionally, the illumination unit 102 may further comprise one or more optical elements associated with one or more of the light source(s) 112, for example, a lens, an aperture, a window, a light filter, a waveplate, a waveguide, a beam splitter, and / or the like for adjusting the light emitted by the light source(s) 112, or example, collimating, focusing, polarizing, and / or the like the emitted light beams.
[0093] Moreover, the illumination unit 102 may include one or more light sources 112 configured to emit a plurality of light beams, typically simultaneously, such that each of the light beams illuminates a respective portion, section, and / or segment of the instantaneous FOV, for example, a respective portion 122 scanned by the LIDAR system 100 at any given moment. For example, assuming the LIDAR system 100 employs spot scanning, the light source(s) 112 may be configured to emit eight light beams for simultaneously scanning eight respective portions 122 of the FOV 120.
[0094] The scanning unit 104 may be configured to scan the FOV 120 and / or part thereof by illuminating FOV 120 with light emitted by the light source(s) 112 and projecting the light 204 toward the scene thus serving as a steering element on the outbound path, i.e., the transmission path TX, of the LIDAR system 100 for directing the projected light 204 toward the scene, i.e., toward the FOV 120.
[0095] Optionally, the scanning unit 104 may be further used on the inbound path of the LIDAR system 100, i.e., the reception path RX, for directing the light (photons) 206 reflected from one or more objects in at least part of the FOV 120 toward the sensing unit 106. The scanning unit 104 may optionally include one or more optical elements, for example, a lens, a mirror, a prism, a waveguide, a telephoto, a beam splitter, and / or the like configured to direct the reflected light 206 toward the sensing unit 106.
[0096] The scanning unit 104 may include one or more optical paths for transmitting the light204 toward the FOV 120 and / or for receiving the reflected light 206. These optical paths may be separate for the outbound light 205 and the inbound light 206, for example, in a bi-axial architecture, or at least partially common and shared by the outbound light 204 and the inbound light 206, for example, in a monostatic architecture.
[0097] Moreover, since the illumination unit 102 may be configured to emit a plurality of light beams, for example, a beam array, on the transmission path TX (outbound path) of the LIDAR system 100, the scanning unit 104 may be configured to project the plurality of light beams 204 for illuminating the FOV 120 and / or part thereof. Complementary, on the reception path RX (inbound path) of the LIDAR system 100, i.e., the scanning unit 104 may be configured to direct toward the sensing unit 106 light 206 reflected from one or more objects in at least part of the FOV 120 illuminated by the plurality of light beams 204.
[0098] The scanning unit 104 may include one or more light deflectors 114 configured to deflect the light emitted by the light source(s) 112 for scanning the FOV 120. The light deflector(s) 114 may include one or more scanning mechanism, module, devices, and / or elements configured to cause the emitted light to deviate from its original path, for example, a mirror, a prism, a controllable lens, a mechanical mirror, a mechanical scanning polygon, an active diffraction element (e.g., controllable LCD), a Risley prisms, a waveguide, a nonmechanical-electro-optical beam steering element, a polarization grating element, an Optical Phase Array (OP A), and / or the like.
[0099] For example, the deflector(s) 114 may comprise one or more mechanical light deflectors, for example, a scanning polygon, interchangeable designated polygon scanner, having a plurality of reflective facets, for example, three, four, five, six and / or the like configured as mirrors and / or prisms to deflect light projected onto the facet(s) of the polygon. In another example, the deflector(s) 114 may comprise one or more Micro Electro-Mechanical Systems (MEMS) mirrors configured to move by actuation of a plurality of benders connected to the mirror.
[0100] In another example, the scanning unit 104 may include one or more non-mechanical deflectors 114, for example, a non-mechanical-electro-optical beam steering element such as, for example, an OP A, which does not require any moving components or internal movements for changing the deflection angles of the projected light 204 but rather utilizes beam steering, through phase array means, for controlling and / or selecting a projection angle of the light emitted by the light source(s) 112 to a desired projection angle. It is noted that any discussion relating to moving or pivoting the light deflector(s) 114 is applicable, mutatis mutandis, to any type of light deflector 114, for example, non-mechanical deflectors.
[0101] At any given time, i.e., at any instantaneous point in time, during each scan cycle of the FOV 120 and / or part thereof by the LIDAR system 100, the deflector(s) 114 may be positioned in a respective instantaneous position defining a respective location, position, and / or orientation in space. In particular, each instantaneous position of the deflector(s) 114 may correspond to a respective instantaneous FOV, for example, one or more respective portions 122 of the FOV 120. This means that while positioned in each of a plurality of instantaneous positions during each scan cycle of the FOV 120 and / or part thereof, the deflector(s) 114 may scan one or more respective portions 122 of the FOV 120, i.e., project light 204 toward the respective portion(s) 122 and / or direct light (photons) reflected from the respective portion(s) 122 toward the sensing unit 106.
[0102] The scanning unit 104 may be configured and / or operated to scan the FOV 120 and / or part thereof, on the outbound path and / or on the inbound path, at one or more scales of scanning. For example, the scanning unit 104 may be configured to scan the entire FOV 120. In another example the scanning unit 104 may be configured to scan one or more Regions of Interest (ROI) which cover only part of the FOV 120, for example, 10% or 25% of the FOV 120. Optionally, the scanning unit 104 may dynamically adjust the scanning scale, i.e., the scanned area, either between different scanning cycles and / or during the same scanning cycle.
[0103] Optionally, the scanning unit 104 may further comprise one or more optical elements associated with the deflector(s) 114, for example, a lens, an aperture, a window, a light filter, a waveplate, a waveguide, a beam splitter, and / or the like for adjusting the light emitted by the light source(s) 112 and / or for adjusting the light reflected from the scene, for example, collimate the projected light 204, focus the reflected light 206, filter the light, and / or the like.
[0104] Moreover, in one or more monostatic configurations, the LIDAR system 100 may comprise one or more asymmetrical deflectors configured to separate between the projected light 204 and the reflected light 206. For example, as seen in FIG. 2, an exemplary asymmetrical deflector 216 may be configured not to deflect the projected light 204 emitted by the illumination unit 102 and deflect reflected light 206 toward the sensing unit 106. Optionally, the asymmetrical deflector 216 may be configured to prevent reflected light 206 from hitting the illumination unit 102, and to direct all the reflected light 206 toward the sensing unit 106, thereby increasing detection sensitivity. The asymmetrical deflector 216 may comprise one or more optical elements having two sides capable of deflecting a beam of light hitting it from one side in a different direction than it deflects a beam of light hitting it from the second side. The asymmetrical deflector 216 may include, for example, a polarization beam splitter. In another example, the asymmetrical deflector 216 may include an optical isolatorconfigured to allow passage of light in only one direction.
[0105] The sensing unit 106 may include one or more sensors 116, interchangeably designated light sensors, configured to capture and sample light received from the external environment surrounding the LIDAR system 100, specifically from a scene contained in the FOV 120, and generate reflection signals, interchangeably designated trace signals or trace data, indicative of the light captured by the sensor(s) 116 which may include light reflected from one or more objects in the FOV 120. The sensor(s) 116 may include one or more devices, elements, and / or systems capable of measuring properties of electromagnetic waves, specifically light, for example, energy / power, intensity, frequency, phase, timing, duration, and / or the like and generate output signals indicative of the measured properties. The sensor(s) 116 may be configured and / or operated to sample incoming light according to one or more operation modes, for example, continuous sampling, periodic sampling, sampling according to one or more timing schemes, and / or sampling instructions.
[0106] Moreover, the sensing unit 106 may include a sensor array comprising a plurality of sensors 116 wherein each set of one or more of the sensors 116 may correspond to a respective pixel mapping one or more portions 122 of the FOV 120 scanned at any given moment. For example, assuming the illumination unit 102 is configured to project a plurality of light beams, each set of one or more of the plurality of sensors 116 of the sensor array may be associated with a respective one of the plurality of light beams, i.e., each sensor 116 may be configured to receive light reflected from one or more objects in the FOV 120 illuminated by its respective associated light beam. In another example, assuming the illumination unit 102 is configured to project a single elongated light beam (scan -line), the light reflected by one or more objects in the FOV 120 responsive to being illuminated by the elongated light beam may be divided to a plurality of portions each directed (transmitted) to a respective one of the plurality of sensors 116.
[0107] These pixels, relating to the light sensors 116 and thus interchangeably designated sensing pixels, may typically correspond to non-overlapping regions in the FOV 120. The sensing pixels should not be confused with the FOV pixels. For example, each FOV pixel, which may correspond to a respective portion 122, i.e., an instantaneous FOV scanned during a certain instantaneous point in time, may be mapped to one or more sensing pixels activated during the certain instantaneous point in time. However, typically, each FOV pixel (e.g., each portion 122), may be mapped to a respective sensing pixel activated during the certain instantaneous point in time during which the respective portion 122 is scanned.
[0108] Each sensor 116 may include one or more light detectors of one or more types havingdiffering parameters, for example, sensitivity, size, recovery time, and / or the like. The sensor(s) 116 may include a plurality of light detectors of a single type, or of multiple types selected according to their characteristics to comply with one or more detection requirements of the LIDAR system 100, for example, reliable and / or accurate detection over a span of ranges (e.g., maximum range, close range, etc.), dynamic range, temporal response, robustness against varying environmental conditions (e.g., temperature, rain, illumination, etc.), and / or the like.
[0109] For example, as seen in FIG. 2, each sensor 116 comprising, for example, a Silicon Photomultipliers (SiPM), a non-silicon photomultipliers, and / or the like, may include one or more light detectors constructed from a plurality of detecting elements 220, for example, an Avalanche Photodiode (APD), Single Photon Avalanche Diode (SPAD), and / or the like. The plurality of detecting elements 220, each configured to cause an electric current to flow when light (photons) passes through an outer surface of the respective detecting element 220, may be disposed on a common silicon substrate for detecting photons reflected back from the FOV 120. The detecting elements 220 of each sensor 116 may be typically arranged as an array in one or more arrangements over a detection area of the sensor 116, for example, a rectangular arrangement, for example, as shown in FIG. 2, a square arrangement, an alternating rows arrangement, and / or the like. Optionally, the detecting elements 220 may be arranged in a plurality of regions which jointly cover the detection area of the sensor 116. Each of the plurality of regions may comprise a plurality of detecting elements 220, for example, SPADs having their outputs connected together to form a common output signal of the respective region.
[0110] The processing unit 108 may include one or more processors 118, homogenous or heterogeneous, comprising one or more processing nodes and / or cores optionally arranged for parallel processing, as clusters and / or as one or more multi core processor(s). The processor(s) 118 may execute one or more software modules such as, for example, a process, a script, an application, a (device) driver, an agent, a utility, a tool, an Operating System (OS), a plug-in, an add-on, and / or the like each comprising a plurality of program instructions stored in a storage medium (program store) of the LIDAR system 100 and executed by one or more processors such as the processor(s) 118. The storage medium may include, for example, persistent memory (e.g., ROM, Flash, SSD, NVRAM, etc.) volatile memory (e.g., RAM component, cache, etc.) and / or the like. The processor(s) 118 may optionally integrate, utilize and / or facilitate one or more hardware elements (modules), for example, a circuit, a component, an Integrated Circuit (IC), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signals Processor (DSP), a Graphic ProcessingUnit (GPU), an Artificial Intelligence (Al) accelerator and / or the like.[OHl] The processor(s) 118 may therefore execute one or more functional modules implemented using one or more software modules, one or more of the hardware modules and / or combination thereof. For example, the processor(s) 118 may execute one or more functional modules to control functionality of the LIDAR system 100, for example, configuration, operation, coordination, and / or the like of one or more of the functional elements of the LIDAR system 100, for example, the illumination unit 102, the scanning unit 104, and / or the sensing unit 106. The processor 118 may communicate with the functional elements of the LIDAR system 100 via one or more channels, interconnects, and / or networks deployed in the LIDAR system 100, for example, a bus (e.g., PCIe, etc.), a switch fabric, a network, a vehicle network, and / or the like. While the processor(s) 118 may comprise multiple processors, and / or processing devices, for brevity and clarity, the processor(s) 118 are designated in the singular form hereinafter, i.e., the processor 118.
[0112] The processor 118 may control, for example, the scanning unit 104 to scan the environment of the LIDAR system 100 according to one or more scanning schemes and / or scanning parameters, for example, extent (e.g., angular extent) of the FOV 120, extent of one or more ROIs within the FOV 120, maximal range within the FOV 120, maximal range within each ROI, maximal range within each region of non-interest, resolution (e.g., vertical angular resolution, horizontal angular resolution, etc.) within the FOV 120, resolution within each ROI, resolution within each region of non-interest, scanning mode (e.g., raster, alternating pixels, etc.), scanning speed, scanning cycle timing (e.g., cycle time, frame rate), and / or the like.
[0113] In another example, the processor 118 may be configured to coordinate operation of the light source(s) 112 with movement and / or operation of the deflector(s) 114 for scanning the FOV 120 and / or part thereof. In another example, the processor 118 may be configured to configure and / or operate the light source(s) 112 to project light according to one or more light emission patterns. In another example, the processor 118 may be configured to coordinate operation of the sensor(s) 116 with movement and / or operation of the deflector(s) 114 to activate one or more selected sensor(s) 116 and / or pixels according to the scanned portion of the FOV 120.
[0114] In another example, the processor 118 may be configured to receive the reflection signals (trace data) generated by the sensor(s) 116 which are indicative of light captured by the sensor(s) 116 including light reflected from the scene, specifically light reflected from one or more objects in the scanned FOV 120 and / or part thereof. In another example, the processor 118 may be configured to analyze the trace signals received from the sensor(s) 116 in order todetect one or more objects, conditions, and / or the like in the environment of the LIDAR system 100, specifically in the scanned FOV 120 and / or part thereof. Analyzing the trace data indicative of the reflected light 206 may include, for example, determining a ToF of the reflected light 206, based on timing of outputs of reflection signals, specifically with respect to transmission timing of projected light 204, for example, light pulses, corresponding to the respective reflected light 206. In another example, analyzing the trace data may include determining a power of the reflected light, for example, average power across an entire return pulse, and a photon distribution / signal may be determined over the return pulse period (“pulse shape”).
[0115] The processor 118 may be further configured to analyze the trace data, i.e., the reflection signals received from the sensor(s) 116 which are indicative of light received from the scene, i.e., the FOV 120 and / or part thereof including at least part of the light emitted by the LIDAR system 100 and reflected from one or more objects in the FOV 120. Based on analysis of the trace data indicative of the light reflected from the object(s) in the scene, i.e., the processor 118 may extract depth data relating to the scene and may derive and / or determine one or more attributes of the detected object(s). Such object attributes may include, for example, a distance between the LIDAR system 100 and the detected object, a reflectivity of the detected object, a spatial location of the detected object, for example, with respect to one or more coordinate systems (e.g., Cartesian (X, Y, Z), Polar (r, 9, (|>), etc.), a velocity of the detected object, and / or the like. Based on the trace data coupled with the scanning scheme of the scanning unit 104, i.e., the instantaneous positioning, orientation, and / or activation of the deflector 114, the processor 118 may determine the portion 122 of the FOV 120 to which the trace data relates and may map the objects detected in the scene scanned by the LIDAR system 100.
[0116] The processor 118 may further combine, join, merge, fuse, and / or otherwise aggregate information, for example, depth data pertaining to different objects, and / or different features of objects detected in the scene. For example, the processor 118 may be configured to generate and / or reconstruct one or more 3D models, interchangeably designated depth maps herein, of the environment of the LIDAR system 100, i.e., of objects scanned in the scene included in the FOV 120 and / or part thereof. The data resolution associated with the depth map representation(s) of the FOV 120 which may depend on the operational parameters of the LIDAR system 100 may be defined by horizontal and / or vertical resolution, for example, 0.05° x 0.05°, 0.05° x 0.1°, 0.1° x 0.1°, 0.3° x 0.3°, 0.1° x 0.5° of the FOV 120, and / or the like.
[0117] The processor 118 may generate depth map(s) in one or more forms, formats, and / ortypes, for example, a point cloud model, a polygon mesh, a depth image holding depth information for each pixel of a 2D image and / or array, and / or any other type of 3D model of the scene. A point cloud model (also known a point cloud) may include a set of data points located spatially which represent the scanned scene in some coordinate system, i.e., having an identifiable locations in a space described by a coordinate system, for example, Cartesian, Polar, and / or the like. Each of the plurality of points of the point cloud may therefore correspond to (represent) a respective spatial location in the scene, i.e., a respective spatial location in the FOV 120 and may express the location and distance to the respective spatial location. Each point in the point cloud, interchangeably designated pixel, may be a dimensionless, or a miniature cellular space whose location may be described by the point cloud model using the set of coordinates.
[0118] The point cloud may further include additional information for one or more and optionally all of its points, for example, intensity (energy of reflected light), reflectivity (of an object mapped by the pixel), color information, angle information, and / or the like. A polygon mesh or triangle mesh may include, among other data items, a set of vertices, edges and faces that define a shape of one or more 3D objects (polyhedral object) detected in the scanned scene.
[0119] The processor 118 may further generate a sequence of depth maps over time, i.e., generate a temporal sequence of depth maps, for example, each depth map in the sequence may be associated with a respective scanning cycle (frame). In another example, the processor 118 may update one or more depth maps over time based on depth data received and analyzed in each frame. For example, the processor 118 may generate and / or update a plurality of 3D models, for example, point clouds over time, such that each point cloud may be associated with a respective scan cycle of the LIDAR system 100 and constructed using data captured by the LIDAR system 100 during the respective scan cycle. In another example, a point cloud mapping the FOV 102 of the LIDAR system and / or part thereof may be updated during each scan cycle according to updated data captured by the LIDAR system 100.
[0120] Optionally, the processor 118 may control the light projection scheme of the light projected to the environment of the LIDAR system 100, for example, adapt, and / or adjust the light emission pattern and / or the scanning pattern, to improve mapping of the environment of the LIDAR system 100. For example, the processor 118 may control the light projection scheme to illuminate different portions 122 across the FOV 120 according to different illumination parameters in order to differentiate between light reflected from the different portions 122. In another example, the processor 118 may apply a first light projection scheme for one or more first areas in the FOV 120, for example, an ROI and a second light projectionscheme for one or more other parts of the FOV 120. For example, the first light projection scheme may be adapted to apply increased scanning resolution (e.g., vertical and / or horizontal resolution) compared to the second light projection scheme. In another example, the processor 118 may adjust the light projection scheme between scanning cycles (frames) such that a different light projection scheme may be applied in different frames, another example, the processor 118 may adjust the light projection scheme based on detection of reflected light, either during the same scanning cycle (e.g., the initial emission) and / or between different frames (e.g., successive frames), thus making the LIDAR system 100 extremely dynamic.
[0121] Optionally, the LIDAR system 100 may include a communication interface 214 comprising one or more wired and / or wireless communication channels and / or network links, for example, PCIe, Local Area Network (LAN), Gigabit Multimedia Serial Link (GMSL), vehicle network, InfiniBand, wireless LAN (WLAN), cellular network, and / or the like. Via the communication interface 214, the LIDAR system 100, specifically the processor 118 may transfer data and / or communicate with one or more external systems, for example, a host system 210, interchangeable designated host herein.
[0122] The host 210, which may include any computing environment comprising one or more processors 218 such as the processor 118 which may communicate, interface, and / or otherwise interact with the LIDAR system 100. For example, the host 210 may include one or more systems deployed and / or located in the vehicle 110 such as, for example, an ADAS, a vehicle control system, a vehicle safety system, a client device (e.g., laptop, smartphone, etc.), and / or the like. In another example, the host 210 may include one or more remote systems, for example, a security system, a surveillance system, a traffic control system, an urban modelling system, and / or other systems configured to monitor their surroundings. In another example, the host 210 may include one or more remote cloud systems, services, and / or platforms configured to collect data from vehicles 110 for one or more monitoring, analysis, and / or control applications. In another example, the host 210 may include one or more external systems, for example, a testing system, a monitoring system, a calibration system, and / or the like.
[0123] The host 210 may be configured to interact and communicate with the LIDAR system 100 for one or more purposes, operations, and / or actions, for example, configure the LIDAR system 100, control operation of the LIDAR system 100, analyze data received from the LIDAR system 100, and / or the like. For example, the host 210 may generate one or more depth maps and / or 3D models, for example, a point cloud based on trace data, and / or depth data received from the LIDAR system 100. In another example, the host 210 may configure one or more operation modes, and / or parameters of the LIDAR system 100, for example, define anROI, define an illumination pattern, define a scanning pattern, and / or the like. In another example, the host 210 may dynamically adjust in real-time one or more operation modes and / or parameters of the LIDAR system 100.
[0124] Optionally, one or more processing tasks may be distributed between the host 210 and the processor 118 of the LIDAR system 100. For example, generation of one or more depth maps, for example, a point cloud representing the environment of the LIDAR system 100 and / or part thereof, may be distributed between the host 210, specifically the processor(s) 218 and the processor 118, such that the point cloud may be generated jointly by the processor 118 and the processor(s) 218, each executing part of the point cloud generation task.
[0125] According to some embodiments disclosed herein, there are provided methods and systems for analyzing one or more 3D models such as, for example, a point cloud, a polygon mesh, and / or the like to identify, mark, and optionally remove one or more artifacts induced in the 3D models by one or more optical and / or electrical interference, for example, noise, distortion, and / or the like.
[0126] Specifically, the 3D models may be analyzed to identify blooming artifacts manifested in the 3D model by an expansion of the point cloud of one or more detected objects beyond the actual size of the object into its surrounding area thus distorting the apparent outline or boundary of the detected object and causing appearance of a larger object. As described herein before, blooming artifacts may be induced by optical and / or electrical crosstalk between adjacent active light detectors of the sensor(s) 116 of the LIDAR system 100 such that one or more of the light detectors receives reflections from a region in the field of view that corresponds to a neighboring light detector.
[0127] There are various methods, techniques and algorithms known in the art for identifying, estimating and / or classifying points (pixels) as blooming artifacts or blooming candidates. While out of scope of the present disclosure, such algorithms are briefly mentioned. In one example, such algorithms may be intensity based and configured to identify potential blooming artifacts based on an intensity level of light reflected from portions of the FOV, or based on relative intensity levels detected by neighboring detection elements of the system light detector. Another example may include object related algorithms, in which high brightness points around and / or in close proximity to highly reflective objects detected in the FOV may be classified as blooming artifacts. Yet another example may include fusion based algorithms which may identify highly reflective objects detected in the FOV based on image data captured by one or more other, non LIDAR, sensors, for example, a camera, an IR sensor, and / or the like and classify high brightness points associated with the detected highly reflective objects asblooming artifacts.
[0128] However, these blooming detection methods may fail to accurately classify points (pixels) in the 3D model, specifically points associated with high intensity value. One or more points of the 3D models, which are associated with classification indicating whether or not they are blooming artifacts, may be therefore further evaluated based on classification of a set of their neighbor (adjacent or nearby) points to determine and / or identify points estimated to have false classification, and adjust their classification accordingly.
[0129] Reference is now made to FIG. 3, which is a flow chart of an exemplary process of evaluating classification of points of a 3D model representing at least part of an FOV of a LIDAR system to identify points estimated to have false classification based on classification of the neighbor points and determine an adjusted classification accordingly, in accordance with embodiments of the present disclosure.
[0130] An exemplary process 300 may be executed, for example, by one or more processors such as the processor 118 of one or more LIDAR systems such as the LIDAR system 100 and / or the processor 218 of a host such as the host 210 for analyzing one or more 3D models, for example, a point cloud, comprising a plurality of points which are classified to indicate whether or not they are estimated to be blooming artifacts, i.e., blooming points or pixels. The processor 118 and / or the processor 218 may execute the process 300, separately or jointly through distributed processing, and for brevity these processors are collectively designated processor(s) hereinafter. The processor(s) may be coupled to one or more storage mediums, for example, a persistent memory, a volatile memory, and / or the like, configured to store program instructions (program store) which may be executed by the processor(s).
[0131] Reference is also made to FIG. 4, which depicts schematic illustrations of exemplary LIDAR systems configured to project light for scanning their FOV and collect data used for creating a 3D model comprising a plurality of points of which some are reevaluated to determine whether or not they are blooming artifacts, in accordance with embodiments of the present disclosure.
[0132] A first exemplary LIDAR system 400 A such as the LIDAR system 100 may include one or more light sources 412A such as the light source 112 configured to emit a light beam 454A, for example, a laser beam for scanning an FOV 420A such as the FOV 120 and / or part thereof.
[0133] The LIDAR system 400 A may further include a plurality of light sensors 416A, interchangeably designated light detectors or simply detectors, for example, four detectors 416A1, 416A2, 416A3 and 416A4 configured to receive, sample, and measure light 456Areflected from one or more objects in the FOV 420 A illuminated by the light beam 454 A. In particular, each detector 416 may correspond to a respective instantaneous FOV pixel illuminated by the light beam 454A at a given time. For example, the LIDAR system 400A may be configured, and / or operated such that, in a first time instance the reflected light 456A may be directed to the detector 416A1, in a second time instance the reflected light 456A may be directed to the detector 416A2 (as illustrated in FIG. 4), in a third time instance the reflected light 456A may be directed to the detector 416A3, and in a fourth time instance the reflected light 456A may be directed to the detector 416A4.
[0134] However, while the reflected light 456A may be directed to a single (target) detector 416, light may be also received and sampled by one or more of the other detectors 416A of the LIDAR system 400A which are also activated, specifically adjacent detectors 416A, due to optical and / or electrical crosstalk between the target detector and the other detectors 416A. For example, a strong beam of reflected light 456A corresponding to and received by detector 416A2 may be also received and sampled by one or more of its adjacent detectors which may be also active at this time, for example, the detector 416A1 and / or the detector 416A3 which may thus generate signal data which may be interpreted as detections while in reality this signal data is generated by the light overflow from the target detector 416A2.
[0135] The crosstalk may result from strong light 456A reflected from one or more high intensity reflective objects, for example, a retroreflector object characterized by specular reflection, a nearby object which may reflect high intensity light back to the LIDAR system 400A, and / or the like. As result of the crosstalk between the target detector 416A, one or more of the detectors 416A adjacent to the to target detector 416A may generate signal data indicative of the leaked light and thus register phantom detections, which may manifest as artifacts, for example, blooming artifacts which may be falsely interpreted as detections, i.e., it the signal may indicate a detection at a point in the FOV where there is actually no object and / or an object not characterized by high reflectivity.
[0136] Another exemplary LIDAR system 400B such as the LIDAR system 100 may include one or more light sources 412B such as the light source 112 configured to emit simultaneously a plurality of light beam 454B. For example, four light beams 454B1, 454B2, 454B3, and 454B4 may be laser beams for scanning an FOV 420B such as the FOV 120 and / or part thereof.
[0137] The LIDAR system 400B may further include a plurality of detectors 416B, for example, four detectors 416B1, 416B2, 416B3 and 416B4 configured to receive, sample, and measure light 456B reflected from the FOV 420A. In particular, each of the light beams 454B 1-454B4 may be configured to illuminate a respective portion (pixel) of the FOV 410B and eachof the detectors 416B may be associated with a respective one of the light beams 454B, meaning that each detector 416B may be configured, and / or operated to receive a respective reflected light 456B reflected from the respective portion (pixel) of the FOV 420B illuminated by the associated light beam 454B.
[0138] For example, the detector 416B 1 may be associated with the light beam 454B 1 meaning that the detector 416B1 may be configured, and / or operated to receive reflected light 456B1 reflected from a first portion (pixel) of the FOV 420B illuminated by the light beam 454B1. In another example, the detector 416B2 may be associated with the light beam 454B2 meaning that the detector 416B2 may be configured, and / or operated to receive a reflected light 456B2 reflected from a second portion (pixel) of the FOV 420B illuminated by the light beam 454B2. In another example, the detector 416B3 may be associated with the light beam 454B3 meaning that the detector 416B3 may be configured, and / or operated to receive a reflected light 456B3 reflected from a third portion (pixel) of the FOV 420B illuminated by the light beam 454B3. In another example, the detector 416B4 may be associated with the light beam 454B4 meaning that the detector 416B4 may be configured, and / or operated to receive a reflected light 456B4 reflected from a fourth portion (pixel) of the FOV 420B illuminated by the light beam 454B4.
[0139] However, while each reflected light 456B may be directed to a respective detector 416B, due to optical and / or electrical crosstalk, light may leak and be also received and sampled by one or more adjacent detectors 416B such that one or more of the detectors 416B may generate signal data indicative of the light leaked over to them from adjacent light beams 454B and thus register phantom detections sometimes manifested as blooming artifacts. For example, high intensity reflected light 456B2 directed to the detector 416B2 may be received and sampled by one or more of its adjacent detectors, for example, the detector 416B1 and / or the detector 416B3 which may thus generate signal data which may be falsely interpreted as detections while in reality they are phantom detections.
[0140] The process 300 may be therefore executed by one or more processors such as the processor 118 and / or the processor 218 for analyzing one or more 3D models generated based on data, for example, depth data, intensity data, reflectivity data, and / or the like generated by one or more LIDAR system such as the LIDAR system 400A, 400B, and / or similar LIDAR systems, collectively designated LIDAR system 400 configured to scan an FOV such as the FOV 420A and / or 420B respectively, collectively designated FOV 420. In particular, the process 300 may be executed to evaluate classification of one or more points of the 3D model and detect points which are falsely classified as blooming artifacts while in fact they are detections of a real object (false negative) and / or points which are falsely classified asdetections of a real object while in fact they are blooming artifacts (false positive).
[0141] As shown at 302, the process 300 the processor(s) receives a 3D model, for example, a point cloud, representing the FOV 420 of the LIDAR system 400 and / or part thereof.
[0142] As known in the art, the 3D model may comprise a plurality of points computed based on data captured and / or generated by the LIDAR system 400. The data generated by the LIDAR system 400 may include at least depth data of points in the FOV 420 and may further include one or more additional attributes of one or more of the points, for example, intensity of the light received from the respective point, reflectivity of an object detected at the respective point, and more.
[0143] Each of the plurality of points of the 3D model, computed based on the light reflected from the respective point in the FOV 420, may therefore correspond to and represent a respective point in the FOV 420 of the LIDAR system 400 and may be associated with at least a location in space described by one or more coordinate systems to express a distance and angle from the LIDAR system 400. Typically, one or more of the points may be further associated with one or more of the additional attributes of the respective point in the FOV 420 which the respective point in the 3D maps.
[0144] Each point in the 3D model may be classified to indicate whether or not the respective point is a real detection, i.e., whether the respective point represents a point of a surface of an object in the FOV 420 and is thus a detection of an object and / or part thereof. Each point may be further associated with a detection score indicating the confidence (level) of the detection indicated (mapped) by the respective point, for example, a high detection score associated with a respective point classified as a non-blooming point (artifact) may indicate that the respective point is estimated with high confidence to represent a detection of an object in the FOV 420 while a low detection score may indicate that the respective point is estimated with low confidence not to be a non-blooming point. Complementary, a high detection score associated with a respective point classified as a blooming point (artifact) may indicate that the respective point is estimated with high confidence to be a blooming artifact while a low detection score may indicate that the respective point is estimated with low confidence to be a blooming point.
[0145] Moreover, one or more of the points, and typically all points may be further associated with one or more additional attributes relating to the point in the FOV 420 mapped by (corresponding to) the respective point, for example, an intensity indicative of an intensity of light reflected from the point in place mapped by the respective point, a reflectivity of an object mapped by the respective point, a velocity of an object mapped by the respective point, and / or the like.
[0146] Therefore, one or more parameters, and / or characteristics of one or more objects detected in the FOV 420 may be estimated and / or determined based the detection classification of one or more of the points of the 3D model coupled with one or more of the attributes of the respective points. For example, one or more points, typically a cluster of adjacent points classified as detections and further having a high intensity value (e.g., a value indicative of saturation of the detector) may be estimated to be a detection of a high intensity reflective object, for example, a retroreflector, a nearby object, and / or the like. In another example, a cluster of adjacent points classified as detections and having a significantly low intensity value may be estimated to be a detections of, an object characterized by low reflectivity, for example, a dark, distant, and / or object that absorbs the light emitted by the light source.
[0147] Furthermore, as described herein before, one or more points of a plurality of points of the 3D model, in particular points associated with high intensity reflection may be classified to indicate whether or not they are blooming artifacts, i.e., classified as blooming points or blooming pixels. Classification of the points may be binary, meaning that each point may be classified to indicate whether or not the respective point is a blooming artifact. However, optionally, each point may be further associated with a confidence score indicating the confidence (level) of the classification or a probability of correct classification, for example, a high confidence score associated with a respective point classified as a blooming artifact may indicate that the respective point is estimated with high confidence to be a blooming artifact, while a low confidence score associated with a respective point may indicate that the respective point is estimated with low confidence, to be a blooming point classified as a blooming artifact with high confidence not to be a blooming artifact, i.e., a detection of a real object. In another example, a high confidence score associated with a respective point classified as a nonblooming point may indicate that the respective point is estimated with high confidence to be a ono-blooming artifact (i.e., a detection of a real object or no detection), while a low confidence score associated with a respective point classified as a non-blooming point may indicate that the respective point is estimated with low confidence, to be a non-blooming point.
[0148] As described herein before, classification of points of the 3D model as blooming artifacts or blooming candidates, and optionally computing their blooming confidence scores, may be done using one or more blooming detection methods and / or algorithms as known in the art and are out of scope of the present disclosure. These methods and systems may be used to classify the points of the 3D model (e.g., point cloud) to indicate whether or not they are blooming artifacts, and optionally compute the blooming confidence score for each point, based on the data generated by the LIDAR system which includes and / or derived from thesignal data generated by the detectors of the LIDAR system 400, for example, the detectors 416A of the LIDAR system 400A, the detectors 416B of the LIDAR system 400B, and / or similarly constructed LIDAR system 400 in which each detector 416 is associated with a respective one of the plurality of light beams 454 projected by the LIDAR system 400 such that the signal data generated by each detector 416 is indicative of light 56 of the associated light beam 454 reflected from one or more objects in the FOV 420.
[0149] As described herein before, the data generated by the LIDAR system 400 may include one or more data items, and / or attributes for each point scanned in the FOV 420, for example, depth data comprising, for example, distance, angle, and / or coordinates (with respect to one or more coordinate systems) of an object detected at the respective point, intensity data indicative of a level (energy, power, brightness, etc.) of the light reflected by an object detected at the respective point, reflectivity data indicative of reflectivity of an object detected at the respective point, and / or the like.
[0150] One or more of these attributes of one or more of the points may be used by the blooming classification algorithms for classification of the blooming points may be based on intensity of the points, for example, the intensity of a point in the 3D model which is indicative of the power (level) of the light reflected from a corresponding portion of the FOV 420 (e.g., pixel, point) and received by the light detector corresponding to the respective point.
[0151] As shown at 304, the processor(s) may identify one or more points suspected to be misclassified and thus associated with an incorrect classification label or optionally with an incorrect confidence score.
[0152] False classification may refer to, for example, false positive classification meaning that a point which is actually a blooming artifact may be erroneously classified as detection of a real object, typically a high intensity light reflecting object (e.g., retroreflector, nearby object, etc.). In another example, the false classification may refer to false negative classification, meaning that a point which is a detection of a real object may be erroneously classified as a blooming artifact. False classification may further include a wrong, inaccurate and / or marginal confidence score. For example, a false confidence score may relate to a wrong or marginal confidence score of a point classified as a blooming artifact, which is above a classification probability threshold, while in reality this point may not be a blooming artifact but rather a detection of a real object. In another example, a false confidence score may relate to a wrong or marginal confidence score of a point not classified as a blooming artifact, i.e., a real detection (of a real object), which is above a classification probability threshold, while in reality this point may a blooming artifact induced by a highly reflective object, for example.
[0153] The processor(s) may use one or more methods, techniques and / or algorithms for identifying points in the 3D model which are suspected to be misclassified, i.e., have a false classification, and / or wrong or inaccurate confidence score. For example, the processor(s) may process all of the points in the 3D model as points suspected to have false classification. In such cases, the processor(s) may execute steps 306-310 of the process 300 for each point of the 3D model to analyze and reevaluate and / or otherwise determine the classification of the respective point and adjust the classification, and / or the confidence score of points which are determined to have false classification.
[0154] In another example, the processor(s) may identify one or more suspected points based on analysis of the classification and / or the confidence score of respective point compared to the classification and / or the confidence score of one or more adjacent points of the plurality of points of the 3D model which are spatially adjacent (in close proximity) in the 3D model to the respective point. For example, assuming one or more points in a cluster comprising a large number of points mapping substantially the same region and distance (range) have a first classification, for example, blooming artifacts while the majority of points in the cluster have a second classification, specifically, non-blooming artifacts, for example, detections of a real object, and / or no detections of any object. In such cases, the processor(s) may identify the one or more points having the first classification as suspected points.
[0155] In another example, the processor(s) may identify one or more suspected points based on the intensity level associated with the points in the 3D model, in particular compared to the intensity level of one or more points in the 3D model which are spatially adjacent to the respective suspected point. For example, assuming one or more points in a cluster comprising a large number of points mapping substantially the same region and distance are associated with a high intensity level while the majority of the points in the cluster have a low intensity level. In such case, the processor(s) may identify one or more of the high intensity points in the cluster as suspected points. Moreover, the difference between the intensity of potential suspects points with respect to the intensity of their adjacent points may be optionally adjusted according to range, i.e., according to the distance of the point from the LIDAR system 400 since the intensity level may gradually decrease over increasing distance. For example, the processor(s) may apply a higher intensity level difference for identifying suspected points which are closer to the LIDAR system 400 while applying a lower intensity level difference for identifying suspected points which are farther away from the LIDAR system 400.
[0156] In another example, the processor(s) may identify one or more suspected points by comparing between the confidence score of the respective suspected point and a confidencethreshold. For example, assuming that the blooming confidence score is a range of [0, 1] where 1 reflects high confidence that the respective point is correctly classified while 0 reflects low confidence that the respective point is correctly classified. Further assuming that the confidence threshold is defined by a certain value, for example, 0.7. In such cases, the processor(s) may compare between the confidence score of each point in the 3D model and the confidence threshold value to identify suspected points having a confidence score which is below the threshold value.
[0157] Optionally, the confidence threshold may be defined, predefined and / or adjusted based on one or more attributes relating to one or more suspected points of the plurality of points of the 3D model, for example, a distance (range) to the respective suspected point, a scanning resolution of the FOV 420 around the respective suspected point, a region of the FOV 420 in which the respective suspected point is located, an illumination condition, an environmental condition, and / or the like.
[0158] For example, the confidence threshold may be defined, predefined and / or adjusted (e.g., selected, adapted) according to the distance of the suspected point from the LIDAR system 400. For example, the confidence threshold value may be relaxed (e.g., a range of [0.4-0.6]) for one or more short distance suspected points, i.e., suspected points reflected from one or more nearby objects which are in close proximity to the LIDAR system 400 (e.g., less than 5 meters) since classification performance at short range may be significantly high. However, the confidence threshold value may be tightened (e.g., a range of [0.25-0.75]) for one or suspected points mapping one or more object which are further away and more distant from the LIDAR system 400 (e.g., more than 100 meters) since classification performance may be reduced at long range.
[0159] In another example, the confidence threshold may be defined, predefined and / or adjusted according to the scanning resolution of the FOV 420 around the respective suspected point. For example, the confidence threshold value may be relaxed for one or more suspected points located in one or more high scanning resolution regions of the FOV 420 (e.g., 0.05 x 0.05 degrees) since classification performance at high resolution may be significantly high. However, the confidence threshold value may be tightened for one or suspected points mapping one or more objects located in one or more low scanning resolution regions of the FOV 420 (e.g., 0.2 x 0.25 degrees) since classification performance may be reduced for lower resolution scanning.
[0160] In another example, the confidence threshold may be defined, predefined and / or adjusted according to the region of the FOV 420 in which the respective suspected point islocated. For example, the confidence threshold value may be tightened for one or more suspected points located in one or more regions of interest (ROI) FOV 420 (e.g., forward looking region) to increase reliability of the classification while the confidence threshold value may be relaxed for one or suspected points located outside the ROI(s) (e.g., side or rear looking regions) where accurate classification may be less crucial.
[0161] In another example, the confidence threshold may be defined, predefined and / or adjusted according to one or more illumination conditions identified in the FOV 420 of the LIDAR system 400 and / or part thereof, specifically adverse light conditions such as, for example, ambient light, sun light, light projected by other LIDAR systems, and / or the like. For example, the confidence threshold value may be relaxed when no adverse light conditions are detected in the FOV 420 since classification of the points in such conditions may be significantly reliable and / or accurate. In contrast, the confidence threshold value may be tightened in case adverse light conditions are detected in the FOV 420 since classification performance may be significantly reduced under adverse light conditions.
[0162] In another example, the confidence threshold may be defined, predefined and / or adjusted according to one or more environmental conditions identified in the FOV 420 of the LIDAR system 400 and / or part thereof, specifically adverse environmental conditions such as, for example, rain, snow, hail, dust, fog, and / or the like which may degrade performance of the classification of the points of the 3D model as blooming artifacts or not. For example, the confidence threshold value may be relaxed when no adverse environmental conditions are detected in the FOV 420 since classification of the points in such environmental conditions may be significantly reliable and / or accurate. In contrast, the confidence threshold value may be tightened in case adverse environmental conditions are detected in the FOV 420 and / or part thereof since classification performance may be significantly reduced under such adverse environmental conditions.
[0163] Moreover, as described herein before, blooming artifacts may typically and / or primarily relate to points of the 3D model which have high intensity values since blooming artifacts result from saturation of the light detector(s) of the LIDAR system 400 due to exposure to high intensity light which may be reflected from high intensity reflective objects (e.g., retroreflectors, nearby objects, etc.) and / or may be induced by optical crosstalk (leakage) of light from adjacent pixels, i.e., light directed to adjacent detectors.
[0164] Reference is now made to FIG. 5A, FIG. 5B, and FIG. 5C, which illustrate exemplary scenarios of false classification of points in a 3D model to indicate whether or not these points are blooming artifacts.
[0165] Illustration 500 shows an exemplary 3D model, for example, a point cloud comprising a plurality of points computed based on data captured by a LIDAR system such as the LIDAR system 400 configured to scan an FOV such as the FOV 420.
[0166] One or more objects in the FOV may be high light intensity reflective objects which may reflect a large portion of the light projected by the LIDAR system 400 back to the LIDAR system. The excessive light reflected by such high light intensity reflective objects may saturate one or more detectors such as the detectors 416 of the LID ART system 400 and may further cause optical (and / or electrical) crosstalk between adjacent pixels, i.e., adjacent detectors 416 which may induce blooming effects and artifacts as described herein before.
[0167] Such high light intensity reflective objects may include, for example, one or more retroreflector objects characterized by specular reflection, for example, a traffic sign 510 A, and / or the like. In another example, the intensity reflective objects may include one or more nearby objects which may reflect excessive light back to the LIDAR system 400 due to their close proximity to the LIDAR system 400.
[0168] As seen in illustration 500, the traffic sign 510A may be mapped (represented, visualized, etc.) in the 3D model by a plurality of high intensity points, i.e., points associated with a high intensity level value. However, while most of the high intensity points are located within a point cloud area mapping the traffic sign 510A which is significantly distinguishable from the surroundings of the traffic sign 510A, some high intensity points, for example, points in area 520A, are located outside the contour line of the point cloud representing the traffic sign 510A.
[0169] The high intensity points in area 520A outside the point cloud of the traffic sign 510A, may be the result of crosstalk and blooming effects which may result in false classification of these points in the point cloud model as part of (mapping) the retroreflective traffic sign 510A while in reality they are blooming artifacts.
[0170] The processor(s) may therefore identify one or more of the points in the point cloud 500, for example, one or more of the high intensity points in area 520A as suspected points which may be falsely classified.
[0171] Illustration 502 shows an exemplary truck 503 having a highly reflective strip 510B, i.e., a retroreflector strip, across its side. As seen, while scanning the truck 503, the light projected by a LIDAR system such as the LIDAR system 400 may hit the retroreflector strip 510B. Assuming the LIDAR 400 is configured to project an array of light beams such as the light beams 454B, since the retroreflector strip 510B may be thin, only one of the light beams may hit the retroreflector strip 510B, for example, at point 518B. However, the retroreflectorstrip 51 OB may reflect excessive light which may be received by the detector 416 associated with the respective light beam 454B which hit the retroreflector strip 51 OB at the point 518B but may also leak (crosstalk) to adjacent detectors 416 which correspond to portions of the FOV which do not include the retroreflector strip 51 OB. For example, assuming there are 32 detectors 416 arranged to correspond to an array of vertically arranged light source such as the light source 412 configured to project the plurality of light beams 454B. In such case, during a certain instantaneous scan of the FOV, i.e., a simultaneous projection of the plurality of light beams, in which one or more of the light beams 454B hit the retroreflector strip 51 OB at the point 518B, optical crosstalk may cause other detectors 416 not corresponding to the retroreflector strip 51 OB, for example, corresponding to points in the area 520B, may also generate an output signal indicative of high intensity reflected light.
[0172] As described herein before, one or more points computed based on the output signal of the detectors 416, for example, points corresponding to points in the area 520B, affected by the optical crosstalk may have a significantly high intensity level which may be falsely interpreted as detection and may lead to false classification of these points. In particular, these points may be falsely classified as non-blooming points (false positive classification), for example, points indicative of detection of the retroreflector strip 51 OB while in reality these points are not detections of the retroreflector strip 51 OB, but rather blooming artifacts induced by the retroreflector strip 510B. The processor(s) may therefore identify one or more of these high intensity points as suspected points which may be falsely classified.
[0173] Illustration 504 shows another exemplary 3D model, for example, a point cloud comprising a plurality of points computed based on data captured by a LIDAR system such as the LIDAR system 400 configured to scan an FOV such as the FOV 420.
[0174] The point cloud 504 maps another retroreflector object, specifically a traffic sign 510C. As seen, the traffic sign 510C may be mapped in the 3D model by a plurality of high intensity points associated with high intensity level values. However, one or more points, for example, points in area 520C may be associated with reduced intensity level values and are thus visualized as dark points which may seem as “holes” or voids in the cloud point representation of the traffic sign 510C.
[0175] The lower intensity points in area 520C in the point cloud of the traffic sign 510C, may be the result of some measuring error, distortion, noise (e.g., ripple, spike, etc.), and / or the like which may distort the intensity measurement of one or more pixels in the FOV 420. In another example, the reduced intensity of one or more points such as the points in the area 520C may result from the fact that one or more surfaces, regions, and / or segments of the retroreflectivetraffic sign 510C may be less reflective compared to other points of the traffic sign 510C, for example, points mapping text on the traffic sign 510C, points mapping rusty, dirty, and / or obscured sections of the traffic sign 510C, and / or the like.
[0176] The reduced intensity level of the lower intensity points (e.g., the points in area 520C), compared to the high intensity points in the point cloud representation of the traffic sign 510C may lead to false classification of these points, in particular false negative classification of these points as blooming points while these points actually map the retroreflective traffic sign 510A. The processor(s) may therefore identify one or more of the points in the point cloud 504, for example, one or more of the lower intensity points in area 520C as suspected points which may be falsely classified.
[0177] Graph chart 550 illustrates a reflected light detection scenario which may lead to false classification. The graph chart 550 shows an intensity level of an exemplary detector response signal 554A generated by an array of detectors such as the detectors 416, for example, 32 detectors 416, designated detection channels (channels in the graph chart 552), as a function of the position of the detection channel along the 32 detectors array (x-axis).
[0178] As seen, the intensity of the signal 554A generated a first group of channels, for example, channels 1-15 is high which is indicative of a high intensity light received by these channels, for example, from a high reflectivity object such as the retroreflective strip 510B of the truck 503 for example.
[0179] However, due to crosstalk between the channels, specifically between adjacent channels, the intensity signal 554A may not directly drop but rather may gradually decay. As such the signal 554A may include a high intensity signal section 556 of the decaying signal 554A corresponding to the output signal 554A of some of the channels, for example, channels 16-19 which exceeds the intensity threshold 558 A due to crosstalk from their adjacent preceding channels, for example, channels 13-15. As result, the points (pixels) corresponding to the section 556 generated by channels 16-19 may be classified as detections of a high reflectivity object such as the traffic sign 510C (i.e., map the traffic sign 510C) while in reality these points are blooming artifacts, i.e., false positive.
[0180] The profile of the signal 554 A may be therefore highly indicative of blooming artifacts (blooming points). Specifically points in the 3D model which are computed based on the signal 554A generated by the detectors of channels 16-19 may be estimated, and / or determined as potential blooming points and may be classified accordingly. For example, a Classification signal 560A may represent the classification of pixels generated based on the signal 554A. As seen, ideally the classification 560A should define a step functions which is high (“1”) toindicate channels 0-15 received excessive light reflected from a high light intensity reflective object and low (“0”) indicating that channels 16-31 received significantly lower light energy. However, due to the decaying signal 556, the signal 560A may be distorted and not present the step function. In particular, the classification signal 560 may show a false positive classification signal (“1”) for the points corresponding to channels 16-19 which may be thus falsely classified as non-blooming artifacts, for example, points mapping a high light intensity reflective object, or points which are not detections.
[0181] Graph chart 552 illustrates a reflected light detection scenario which may lead to false classification. The graph chart 552 shows an intensity level of an exemplary detector response signal 554B generated by an array of detectors such as the detectors 416, for example, 32 detectors 416, designated detection channels ( channels in the graph chart 552), as a function of the position of the detection channel along the 32 detectors array (x-axis).
[0182] As seen, the intensity of the signal 554B generated a first group of channels, for example, channels 1-15 is high which is indicative of a high intensity light received by these channels, for example, from a high reflectivity object such as the traffic sign 510C for example.
[0183] However, the signal 554B suffers a drop 562 due to ripple and / or distortion induced by one or more noise sources. As result the signal 554B generated by some of the detection channels of the first group, for example, channels 6-9 may drop below an intensity threshold 558B. As result, the points (pixels) corresponding to the signal 554B generated by channels 6-9 may be classified as blooming artifacts while in reality these points are detections of the traffic sign 510C, i.e., false negative.
[0184] A Classification signal 560B represents the classification of pixels generated based on the signal 554B. As seen, the classification 560B should define a step functions which is high (“1”) to indicate channels 0-15 received excessive light reflected from a high light intensity reflective object and low (“0”) indicating that channels 16-31 received significantly lower light energy. However, due to the ripple 562 the signal 560B may be distorted and not present the step function. In particular, the classification signal 560B may show a false negative classification signal (“0”) for the points corresponding to channels 6-9 which may be thus falsely classified as blooming artifacts.
[0185] Reference is made once again to FIG. 3.
[0186] As shown at 306, for each point suspected to have a false classification, the processor(s) may select from the plurality of points of the 3D model a respective set of neighbor points of the respective suspected point. The neighbor points may include, for example, points which are immediately adjacent to the processed suspected point in one or more axes, points which arewithin a certain distance in one or more axes from the processed suspected point in one or more axes, and / or the like.
[0187] In particular, the processor(s) may select a respective set of neighbor points (adjacent points) of each suspected point which is estimated to include points that map the same object (i.e., indicate detections of the same object) or map nothing in case of no object in the location of the suspected point such that all or at least a majority of points of the respective set have the same classification. Moreover, the confidence score of all or at least most of the points in the respective set may be substantially similar, for example, distributed within a limited range of confidence score values, indicating that the points in the set are estimated to map the same object (i.e., detections) or map no object at all (i.e., no detections).
[0188] The processor(s) may apply one or more methods, techniques, and / or algorithms for selecting the set of neighbor points for each suspected point. In particular, the processor(s) may select the set of neighbor points according to their spatial relation with the respective suspected point, i.e., a spatial location of the neighbor points with respect to the suspected point.
[0189] For example, the processor(s) may select the set of neighbor points according to a bounding box having a certain size in 2D or 3D such that the set of neighbor points includes the points of the 3D model which are encompassed in the bounding box. The bounding box may define, for example, a longitudinal distance on the axis between the suspected point and the LIDAR system and a lateral distance on one or more axes perpendicular to axis between the suspected point and the LIDAR system, which combined together may define a 2D or 3D area of the bounding box. In another example, the bounding box may be defined by a certain radius which forms a 3D area of the bounding box around the suspected point and centered at the suspected point.
[0190] In some embodiments, the bounding box used for selecting the set of neighbor points for one or more suspected points may be fixed and have a size predefined according to one or more metrics and / or parameters. For example, in the longitudinal dimension, the longitudinal size of the bounding box may be set, for example, to 0.25, 0.5, and / or 1 meters such that the neighbor points included in the bounding box may be at substantially the same distance from the LIDAR system 400. In another example, in the lateral dimension in one axes, the lateral size of the fixed bounding box may be defined to encompass a certain angular range centered around the respective suspected point, for example, a lateral area defined by a 0.01 x 0.01 degrees. In another example, the lateral dimension of the fixed bounding box may be defined to encompass a certain area defined by a percentage of the range to the respective suspected point, for example, 1% of the distance to respective suspected point. As such, the set ofneighbor points selected for a first suspected point located 10 meters from the LIDAR system 400 may include points encompassed in a bounding box having a lateral size of 0.1 x 0.1 meters while the set of neighbor points selected for a second suspected point located 100 meters from the LIDAR system 400 may include points encompassed in a bounding box having a lateral size of 1 x 1 meters.
[0191] Optionally, the processor(s) may select the set of neighbor points according to a dynamically adjusted bounding box such that the set of neighbor points selected for one or more suspected points includes points of the 3D model which are encompassed in the bounding box. The processor(s) may adjust the size of the bounding box according to one or more attributes relating to each of pone or more suspected points, for example, the distance (range) to the respective suspected point, the scanning resolution of the FOV 420 around the respective suspected point, a region of the FOV 420 in which the respective suspected point is located, and / or the like.
[0192] For example, the longitudinal size of the bounding box relating to one or more respective points may be adjusted according to the distance of the respective suspected point from the LIDAR system 400, and / or according to a scanning resolution of the LIDAR system 400. For example, the longitudinal size of the bounding box may be increased for one or more suspected points which map one or more objects located farther away from the LIDAR system 400 (e.g., over 100 meters) compared to the longitudinal size of a bounding box defined for closer objects since it is assumed that range resolution and accuracy may be higher for closer objects and decrease over distance to objects in the FOV 420.
[0193] In another example, the lateral size of the bounding box relating to one or more respective points may be adjusted according to the distance of the respective suspected point from the LIDAR system 400. For example, the lateral size of the bounding box may be increased for one or more suspected points which map one or more objects located closer to the LIDAR system 400 (e.g., less than 10 meters) while the lateral size of the bounding box may be decreased for one or more suspected points which map one or more objects located farther away from the LIDAR system 400 (e.g., more than 120 meters) since its is estimated that closer objects may occupy a larger area of the FOV 420 and thus more points compared to farther objects which may occupy a significantly smaller area of the FOV 420 and thus less points.
[0194] In another example, the lateral size of the bounding box relating to one or more respective points may be adjusted according to the scanning resolution of the FOV 420 around the respective suspected point. For example, the lateral size of the bounding box may bereduced for one or more suspected points located in one or more high scanning resolution regions of the FOV 420 (e.g., 0.05 x x0.05 degrees) since density of the points around the respective suspected point may be significantly high which may enable using a sufficiently large number of points which are significantly close to the respective suspected point. In contrast, the lateral size of the bounding box may be increased for one or more suspected points located in one or more lower scanning resolution regions of the FOV 420 (e.g., 0.2 x x0.25 degrees) since density of the points around the respective suspected point may be low thus requiring selecting a sufficient number of neighbor points distributed in a larger area around the respective suspected point.
[0195] In another example, the size (lateral size and / or longitudinal size) of the bounding box relating to one or more respective points may be adjusted according to the region of the FOV 420 in which the respective suspected point is located. For example, the size of the bounding box relating to one or more suspected points located in one or more ROIs may be increased thus increasing the number of points used for evaluating the classification of the respective suspected point which may improve classification performance that may be highly desired for points in the ROI(s). However, since classification performance for points located outside the ROIs may be less demanding, the size of the bounding box may be reduced for one or more suspected points which are located outside the ROIs such that the bounding box encompasses a smaller number of points that are used for evaluating the classification of the respective suspected point since less demanding classification performance may be required for points outside the ROI(s).
[0196] Reference is now made to FIG. 6, which illustrates exemplary sets of neighbor points selected for evaluating classification of points in a 3D model suspected to have false classification, in accordance with embodiments of the present disclosure.
[0197] As described herein before, one or more suspected points may be identified in the exemplary cloud point 500, for example, a point 602A located in area 520A. In such cases, the processor(s) executing the process 300 may select a set of neighbor points of the suspected point 602A, for example, points encompassed by a bounding box 604A defined using one or more of the methods described herein before.
[0198] As seen, the points in the bounding box 604A map a background of the traffic sign 510A, for example, farther away objects which are significantly less reflective compared to the traffic sign 510A or map no objects in the range of the LIDAR system 400, i.e., no detection. As seen, since the points in the bounding box 604A map the background of the traffic sign 510A, most of the points have low intensity. However, one or more of the points, specificallythe suspected points may be associated with high reflected light intensity and may be thus erroneously classified as mapping a retroreflector, specifically the traffic sign 510A rather than a blooming artifact induced by the retroreflective traffic sign 510A (false positive).
[0199] In another example, one or more suspected may be identified in the exemplary cloud point 504, for example, a point 602B located in area 520C. In such cases, the processor(s) may select a set of neighbor points of the suspected point 602B, for example, points encompassed by a bounding box 604B defined using one or more of the methods described herein before.
[0200] As seen in the exemplary cloud point 504, the points in the bounding box 604B map a surface of the traffic sign 510C, and therefore most of the points have high intensity. However, some of the points, specifically the suspected points may be associated with lower reflected light intensity and may be thus erroneously classified as blooming artifacts, potentially induced by the retroreflective traffic sign 510C rather than a real detection of the traffic sign 510C (false negative).
[0201] Reference is made once again to FIG. 3.
[0202] As shown at 308, the processor(s) may determine and / or evaluate the classification of each suspected point based on the classification of its respective set of neighbor points. Optionally, the processor(s) may further evaluate the classification and / or the confidence score of one or more suspected points based on the confidence scores of the neighbor points of the set of the respective suspected point.
[0203] In particular, the processor(s) may analyze and / or evaluate the classification and / or the confidence score of each suspected point with respect to the classification and / or the confidence scores of the neighbor points to estimate and / or determine whether the classification and / or the confidence score of the respective suspected point is true or false in attempt to identify points associated with a false classification.
[0204] For example, as illustrated in the exemplary point cloud 500 (FIG. 6), assuming a first suspected point such as, for example, the point 602A associated with a high intensity value is estimated to be erroneously classified to indicate it is a detection of a real object, i.e., false positive. Further assuming that based on analysis of the classifications of a first set of neighbor points of the first suspected point 602A, for example, the points encompassed in the bounding box 604A, and optionally further analysis of their confidence scores, the processor(s) identifies that at least some of the neighbor points are classified as blooming points (blooming artifacts). Moreover, one or more of the neighbor points may be associated with significantly lower intensity values than the first suspected point 602A and may be each classified as either detections of a real object which is not highly reflective or as no detections. In such cases, theprocessor(s) may determine that the first suspected point 604A is a false positive since the first suspected point 602A is estimated to be a blooming artifact.
[0205] In another example, relating to illustration 502 (FIG. 5A), based on the classification of neighbor points of one or more suspected points in the area 520B, the processor(s) may evaluate that these suspected points were falsely classified as non-blooming (false positive), and determine that these suspected points are actually blooming artifacts.
[0206] Such blooming artifacts may result from a scanning scheme and / or scanning pattern of a LIDAR system such as, for example, the LIDAR system 400B, for example, horizontal scanning of lines in the FOV 420B using an array multiple vertically arranged light beams (e.g., 16 light beams), at each instantaneous scan time, a certain set of 16 portions (e.g., pixels) of the FOV 420B may be simultaneously scanned.
[0207] As such, while scanning the area of the retroreflector strip 510B one or more of the vertically arranged light beams may be incident upon the retroreflector strip 510B while other light beams may not be incident upon the retroreflector strip 510B. However, reflections of the light beams which did be incident upon the retroreflector strip 510B may cause blooming effects due to crosstalk between the detectors 416B. During other scans times of areas next to or near the retroreflector strip 510B, none of the light beams 454B may hit the retroreflector strip 510B and thus there may be no crosstalk between the detectors 416B and hence no blooming effects. In particular, points computed based on the signal generated by the detectors 416B during scans in which the light beams 454B do not hit the retroreflector strip 510B may be indicative of reflected light intensity significantly lower than that of the retroreflector strip 510B.
[0208] Therefore, when analyzing the classification of one or more of the suspected points in the area 520B, the spatial context may enable the processor(s) to classify the suspected points more accurately and / or more correctly according to neighbor points scanned at different instantaneous scan times and thus not suffer blooming effects. In this case, based on the classification of the neighbor points of one or more of the suspected points in the area 520B, the processor(s) may estimate and / or determine that, due to classification of the neighbor points as non-blooming points corresponding to a relatively low reflectivity object, the suspected point is a blooming artifact contrary to its initial classification as a detection of a high reflectivity object.
[0209] In another example, illustrated in the exemplary point cloud 504 (FIG. 6), assuming a second suspected point such as, for example, the point 602B is associated with a lower intensity value compared to its neighbor points and is thus estimated to be falsely classified to indicateit is a blooming artifact or map an object other than the high reflectivity traffic sign 510C, i.e., false negative, rather than mapping the traffic sign 510C. Further assuming that based on analysis of the classifications of a second set of neighbor points of the second suspected point 602B, for example, the points encompassed in the bounding box 604B, and optionally further analysis of their confidence scores, the processor(s) identifies that at least some of the neighbor points are classified as detections of a real object, specifically detections of the high reflectivity traffic sign 510C. In such cases, the processor(s) may determine that the second suspected point 604B is a false negative since the second suspected point 604B is estimated to map (indicate detection of) a real object, specifically detection of the high intensity reflective traffic sign 510C rather than a blooming artifact as it was initially classified.
[0210] Optionally, each of the neighbor points of one or more suspected points may be associated with a respective weight assigned to the respective neighbor point to reflect its contribution to the analysis and evaluation of the classification of the respective suspected point. The weights may be assigned to each neighbor point according to one or more attributes relating to each neighbor point, for example, a distance of the respective neighbor point from the respective suspected point, a position of the respective neighbor point with respect to the respective suspected point, an intensity level of the respective neighbor point, a detection score of the respective neighbor point, and / or the like.
[0211] For example, due to locality of detections, i.e., close proximity points may relate to the same object, spatial distribution of the neighbor points with respect to the suspected point may have significant impact on the contribution of each neighbor point to the analysis and evaluation of the classification of the suspected point. As such, one or more neighbor points which are closer to the suspected point may be associated with higher (larger) weights compared to one or more farther away neighbor points which may be associated with smaller weights.
[0212] In another example, the contribution of neighbor points to the evaluation of the classification of the suspected point may be affected by the position of the neighbor points with respect to the suspected point. For example, assuming the LIDAR system 400 scans the FOV 420 with an array of multiple light beams arranged vertically. As such, the scanning patterns of the LIDAR system 400 may be based on simultaneous projection of the plurality of vertically arranged light beams. As result there may be crosstalk between the light sensors 416 associated with the multiple light beams and blooming artifacts may affect points (pixels) computed based on the signal data generated by the light sensors 416 suffering the crosstalk. In such, case, one or more neighbor points which positioned substantially horizontally with respect to thesuspected point may be associated with higher weights compared to neighbor points positioned vertically with respect to the suspected point which may be associated with smaller weights since the horizontally positioned neighbor points are likely to be scanned at a different time than the suspected point and may thus have reduced mutual impact, i.e., crosstalk.
[0213] In another example, higher weights may be assigned to one or more neighbor points having higher detection scores compared to neighbor points having lower detection scores which may be associated with smaller weights since increasing the contribution of neighbor points having increased confidence in their correct detection (i.e., higher detection score) may significantly increase accuracy, reliability and / or robustness of classification of the suspected point.
[0214] In another example, weights may be assigned to one or more neighbor points according to their intensity level. For example, assuming one or more points (pixels) have an intensity level corresponding to a blooming profile such as the one illustrated in illustration 552. Further assuming that one or more points corresponding to channels 20-31 are suspected to have false classification, for example, false positive, i.e., suspected to be classified as non-blooming while in fact they are blooming artifacts. In such cases, higher weights may be assigned to one or more neighbor points having reduced intensity level compared to one or more neighbor points having higher intensity levels which may assigned lower weights since the low intensity neighbor points may indicate with high certainty that the suspected point is a blooming artifact.
[0215] After the neighbor points of a respective suspected point are associated with weights, the processor(s) may evaluate and / or analyze the classification of one or more of the suspected points to determine, and / or estimate whether the respective suspected point is correctly or falsely classified based on an aggregated classification, and / or an aggregated confidence score of the neighbor points of the respective suspected point computed using one or more weighted aggregation algorithms, for example, weighted average, weighted mean, and / or the like. Estimating and / or determined the classification and / or the confidence score of the respective suspected point based on the weighted aggregated classification of the neighbor points may significantly increase accuracy, reliability, and / or robustness of correct classification of the suspected point.
[0216] Reference is made once again to FIG. 3.
[0217] As shown at 310, the processor(s) may determine an adjusted classification and / or adjusted confidence score for one or more of the suspected points based on the evaluation and / or determination of the classification of the respective suspected point with respect to the classifications and / or the confidence scores of the set of neighbor points of the respectivesuspected point.
[0218] For example, assuming the processor(s) determined and / or estimated that one or more of the suspected points are false positives since they were initially erroneously classified as non-blooming, for example, detection of a real object, the processor(s) may determine an adjusted classification and / or adjusted confidence score for the respective suspected point to indicate it is a blooming artifact. In another example, assuming the processor(s) determined and / or estimated that one or more of the suspected points are false negatives since they were initially erroneously classified as blooming artifacts (blooming points), the processor(s) may determine an adjusted classification and / or adjusted confidence score for the respective suspected point to indicate it is a detection of a real object or no detection.
[0219] As shown at 312, the processor(s) may update the 3D model according to the adjusted classification and / or confidence score of one or more of the suspected points in order to reduce blooming artifacts.
[0220] Reducing the blooming artifacts may significantly improve performance of object detection using the 3D model, for example, accuracy, reliability, robustness, for example, against obscuring high reflectivity objects, against adverse illumination conditions, against adverse environmental conditions (e.g., precipitation), and / or the like.
[0221] The processor(s) may execute one or more actions, and / or operations to update the 3D model to reflect the adjusted classification and / or the adjusted confidence score of one or more points of the 3D model.
[0222] For example, the processor(s) may simply mark and / or state the adjusted classification and / or adjusted confidence score in the 3D model, for example, associate the points whose classification and / or confidence score was adjusted with the adjusted classification and / or adjusted confidence score. Such update may be useful for delivering the updated 3D model to one or more other systems, platforms, and / or services, for example, a host such as the host 210 which may use the updated 3D model for one or more applications, for example, object detection, environment mapping and / or monitoring, and / or the like optionally coupled and / or fused with one or more other 2D and / or 3D models generated using different sensory data than that generated by the LIDAR system 400.
[0223] In another example, the processor(s) may actively update the 3D model according to the adjusted classification and / or adjusted confidence score of one or more objects determined to be incorrectly classified. For example, the processor(s) may erase (i.e., delete, remove) one or more of the points determined to be a false positive, i.e., the classification and / or the confidence score of these points is adjusted to indicate these points are blooming artifacts ratherthan detections of a real object as erroneously initially (originally) classified. In contrast, the processor(s) may leave one or more points determined to be a false negative, i.e., the classification and / or the confidence score of these points is adjusted to indicate these points are not blooming artifacts, i.e., detections of a real object(s) rather than being blooming artifacts as erroneously initially (originally) classified. The updated 3D model may be then used for one or more applications, for example, object detection, environment mapping and / or monitoring, and / or the like, optionally coupled and / or fused with one or more other 2D and / or 3D models generated using different sensory data than that generated by the LIDAR system 400.
[0224] As shown at 314, the process 300 may be an iterative process comprising one or more additional iterations. This means that the processor(s) may be configured to initiate one or more additional iterations, where in each iteration, the processor(s) may evaluate the classification and optionally the confidence score of one or more of the points of the 3D model which may be still suspected to have a false classification. In each iteration the processor(s) may therefore determine and / or evaluate the classification and optionally the confidence score of each such suspected point based on the classification and / or the confidence score of one or more of its neighbor points which was adjusted during one or more previous iterations of the process 300.
[0225] This means that during an earlier iteration of the process 300, the classification and / or the confidence score of one or more points of the 3D model may have been adjusted and during one or more subsequent iterations of the process 300, the points having adjusted classification and / or adjusted confidence score may be selected as neighbor points for evaluating one or more other suspected points. The classification and / or confidence score of one or more of these other suspected points may then be determined and optionally adjusted based on the previously adjusted classification and / or previously adjusted confidence score of one or more of their neighbor points.
[0226] The foregoing description has been presented for purposes of illustration. It is not exhaustive and is not limited to the precise forms or embodiments disclosed. Modifications and adaptations will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed embodiments.
[0227] Moreover, aspects of the present disclosure may be embodied as a system, method, and / or computer program product. As such, aspects of the disclosed embodiments may be provided in the form of an entirely hardware embodiment, an entirely software embodiment, or a combination thereof.
[0228] Additionally, although aspects of the disclosed embodiments are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored onother types of computer readable media, such as secondary storage devices, for example, hard disks or CD ROM, or other forms of RAM or ROM, USB media, DVD, Blu-ray, or other optical drive media.
[0229] Computer programs and computer programs products based on the written description and disclosed methods are within the skill of an experienced developer. The various programs or program modules can be created using any of the techniques known to one skilled in the art or can be designed in connection with existing software. For example, program sections or program modules can be designed in or by means of .Net Framework, .Net Compact Framework (and related languages, such as Visual Basic, C, etc.), Java, C++, Objective-C, HTML, HTML / AJAX combinations, or HTML with included Java applets.
[0230] Moreover, while illustrative embodiments have been described herein, the scope of any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., of aspects across various embodiments), adaptations and / or alterations as would be appreciated by those skilled in the art based on the present disclosure.
[0231] It is expected that during the life of a patent maturing from this application many relevant systems, methods and computer programs will be developed and the scope of the terms LIDAR systems, light projection technologies, light sensing technologies, scanning mechanisms, 3D models, and blooming detection algorithms are intended to include all such new technologies a priori.
[0232] The terms “comprise”, “comprising”, “include”, “including”, “having” and their conjugates mean “including but not limited to”. These terms encompass the terms “consisting of’ and “consisting essentially of’ which mean that the composition or method may include additional ingredients and / or steps if the additional elements and / or steps do not materially alter the novel characteristics of the claimed composition or method.
[0233] As used herein the term “about” refers to ± 5 %.
[0234] Throughout this disclosure, various embodiments may be presented in a range format. Description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be construed to include all the possible subranges as well as individual numerical values within that range.
[0235] It is appreciated that certain features of embodiments disclosed herein, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Also, features described in combination in the context of a single embodiment may also be provided separately or in suitable sub-combinations in otherembodiments described herein.
[0236] Publications, patents, and patent applications referred to in this disclosure are to be incorporated into the specification in their entirety by reference as if each individual publication, patent, or patent application was specifically and individually included in the disclosure. However, indication and / or identification of any such referenced document may not be construed as admission that the referenced document is available as prior art to embodiments disclosed hereon.
[0237] The limitations in the claims are to be interpreted broadly based on the language employed in the claims and not limited to examples described in the present specification or during the prosecution of the application. The examples are to be construed as non-exclusive. Furthermore, the steps of the disclosed methods may be modified in any manner, including by reordering steps and / or inserting or deleting steps. It is intended, therefore, that the specification and examples be considered as illustrative only, with a true scope and spirit being indicated by the following claims and their full scope of equivalents.
Claims
1. WHAT IS CLAIMED IS:
1. A computerized method of removing artifacts from a 3 dimensional (3D) model, comprising:receiving a 3D model of at least part of a field of view scanned by a LIDAR system, the 3D model comprising a plurality of points computed based on data generated by the LIDAR system, each of the plurality of points is associated with a classification indicating whether the respective point is a blooming artifact;selecting from the plurality of points a set of neighbor points of at least one of the plurality of points suspected to have a false classification;determining an adjusted classification for the at least one suspected point based on the classifications of the neighbor points; andupdating the 3D model according to the adjusted classification to reduce blooming artifacts for improved object detection.
2. The method of claim 1, wherein determining the adjusted classification of the at least one suspected point comprises adjusting the classification of the at least one suspected point to indicate it is a blooming artifact in case of false positive classification or adjusting the classification of the at least one suspected point to indicate it is a detection of a real object in case of false negative classification.
3. The method of claim 2, wherein updating the 3D model comprises associating the at least one suspected point with the adjusted classification.
4. The method of claim 2, wherein updating the 3D model further comprises erasing the at least one suspected point from the 3D model in case of false positive classification of the at least one suspected point which is determined to be a blooming artifact and leaving in the 3D model the at least one suspected point in case of false negative classification of the at least one suspected point which is determined to be a detection of at least one real object.
5. The method of any one of claims 1 or 2, wherein each of the plurality of points of the 3D model is further associated with a confidence score indicative of confidence of the classification of the respective point.
6. The method of claim 5, wherein the at least one processor is further configured to determine an adjusted confidence score for the at least one suspected point based on the confidence scores of the neighbor points of the at least one suspected point.
7. The method of claim 5, wherein the at least one processor is further configured to determine the adjusted classification for the at least one suspected point based on the confidence scores of the neighbor points of the at least one suspected point.
8. The method of any one of claims 1 or 2, wherein the classification of the plurality of points is based on signal data generated by a plurality of detectors of the LIDAR system, each of the plurality of detectors is associated with a respective one of a plurality of light beams projected by the LIDAR system such that the signal data generated by each detector is indicative of light of the associated light beam reflected from at least one object in the field of view.
9. The method of any one of claims 1 or 2, wherein the 3D model comprises a point cloud and / or a polygon mesh.
10. The method of any one of claims 1 or 2, wherein each of the plurality of points is processed as a suspected point suspected to have a false classification.
11. The method of any one of claims 1 or 2, wherein the at least one suspected point is identified based on comparison between the classification of the at least one suspected point and the classification of at least one neighbor point spatially adjacent to the at least one suspected point in the 3D model.
12. The method of any one of claims 1 or 2, wherein the at least one suspected point is identified based on comparison between an intensity level associated with the at least one suspected point and the intensity level of at least one neighbor point spatially adjacent to the at least one suspected point in the 3D model.
13. The method of any one of claims 1 or 2, wherein the at least one suspected point is identified by comparing between a confidence score of the at least one suspected point and a confidence threshold confidence score.
14. The method of claim 13, wherein the confidence threshold is defined based on at least one attribute relating to the at least one suspected point, the at least one attribute is a member of a group comprising: a range to the at least one suspected point, a scanning resolution of the field of view around the at least one suspected point, a region of the field of view in which the at least one suspected point is located, an illumination condition, and an environmental condition.
15. The method of any one of claims 1 or 2, wherein the set of neighbor points is selected according to a fixed bounding box having a predefined size such that the set of neighbor points includes points of the plurality of points which are encompassed in the bounding box.
16. The method of any one of claims 1 or 2, wherein the set of neighbor points is selected according to a dynamically adjusted bounding box such that the set of neighbor points includes points of the plurality of points which are encompassed in the bounding box, a size of the bounding box is adjusted according to at least one attribute relating to the at least one suspected point, the at least one attribute is a member of a group comprising: a distance to the at least one suspected point, a scanning resolution of the field of view around the at least one suspected point, and a region of the field of view in which the at least one suspected point is located.
17. The method of any one of claims 1 or 2, wherein each of the neighbor points is associated with a respective weight, wherein the at least one processor is further configured to evaluate the classification of the at least one suspected point based on aggregation of the classification of the neighbor points each weighted with a respective associated weight.
18. The method of claim 17, wherein the weight associated with each neighbor point is assigned according to at least one attribute relating to the respective neighbor point, the at least one attribute is a member of a group comprising: a distance of the respective neighbor point from the at least one suspected point, a position of the respective neighbor point with respect to the at least one suspected point, a confidence score of the classification of the respective neighbor point, an intensity level of the respective neighbor point, and a detection score of the respective neighbor point.
19. The method of any one of claims 1 or 2, wherein the at least one processor is further configured to initiate at least one additional iteration in which the classification of at least one point of the plurality of points of the 3D model is determined based on an adjusted classification of at least one neighbor point of the at least one point determined in at least one previous iteration.
20. A system for removing artifacts from a 3 dimensional (3D) model constructed using LIDAR system data, comprising:at least one memory configured to store program instructions; andat least one processor coupled to the at least one memory, wherein the at least one processor is configured to execute the program instructions for:receiving a 3D model of at least part of a field of view scanned by a LIDAR system, the 3D model comprises a plurality of points computed based on data generated by the LIDAR system, each of the plurality of points is associated with a classification indicating whether the respective point is a blooming artifact;selecting from the plurality of points a set of neighbor points of at least one of the plurality of points suspected to have a false classification;determining an adjusted classification for the at least one suspected point based on the classifications of the neighbor points; andupdating the 3D model according to the adjusted classification to reduce blooming artifacts for improved object detection.