METHOD AND SYSTEM FOR FILTERING OUT SENSOR DATA FOR A VEHICLE

20220404468 · 2022-12-22

    Inventors

    Cpc classification

    International classification

    Abstract

    A method and system are devised for filtering out sensor data by a Sensor scan filtering system. It comprises: creating acquisition tables of angular size data of a cluster of points for a Reference object placed at N respective distances from a sensor in a range [D.sub.min;D.sub.max]; creating calibrated threshold tables, by associating to adjacent distance intervals M in the range [D.sub.min;D.sub.max]respective thresholds calculated as a function of the angular size data for the Reference object when placed at distances falling within the respective distance intervals M; selecting one of the created calibrated threshold tables by the Sensor scan filtering system, and processing of sensor data as a function of the angular size data of a cluster of points for a Field object located at a distance D from the sensor, relative to the threshold in the selected calibrated threshold table for the distance interval M within which D falls.

    Claims

    1. A method for filtering out sensor data, comprising: creating one or more acquisition tables comprising acquiring from a Sensor scan points clustering system, coupled to a Sensor having a field of view operating range [F.sub.min;F.sub.max], angular size data of a cluster of points for a Reference object placed at N respective distances from the sensor, the N distances being located in a range [D.sub.min;D.sub.max] included within [F.sub.min;F.sub.max]; creating one or more calibrated threshold tables comprising for each created calibrated threshold table: dividing the range [D.sub.min;D.sub.max] into i, i>=1, adjacent distance intervals M; and associating to each M.sub.i distance interval an angular size threshold T.sub.i calculated as a function of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval; transmitting the one or more calibrated threshold tables to a Sensor scan filtering system configured to process data output by the Sensor scan points clustering system coupled to the Sensor mounted on a vehicle; and selecting one of the one or more transmitted calibrated threshold tables, and processing by the Sensor scan filtering system of data output by the Sensor scan points clustering system, wherein the processing comprises a function of: the angular size data S of a cluster of points for a Field object located at a distance D from, and detected by, the coupled Sensor mounted on the vehicle; relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.

    2. The method of claim 1, wherein the processing by the Sensor scan filtering system of data output by the Sensor scan points clustering system, further comprises: rejecting the detected Field object based on a comparison of the respective values of the angular size data S and the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls; and if the detected Field object is not rejected, transmitting to a Vehicle navigation system information representative of at least the relative position of the detected Field object.

    3. The method of claim 1, wherein the creating one or more acquisition tables comprises placing a Background object at a distance D.sub.Back from the Reference object, and positioned so that the Reference object lies between the Sensor and the Background object.

    4. The method of claim 3, wherein the creating one or more acquisition tables further comprises using respective Reference objects that differ from one another by at least one of their size, their reflectivity, and their distance D.sub.Back to the Background object.

    5. The method of claim 1, wherein: the transmitting the one or more calibrated threshold tables further comprises transmitting metadata associated to each one of the one or more calibrated threshold tables; and the selecting one of the one or more calibrated threshold tables comprises matching one of the metadata with at least one of the vehicle navigation requirements, conditions and environment, and selecting the calibrated threshold table associated to the matched metadata.

    6. The method of claim 1, wherein the adjacent distance intervals M are increasing in range from the distance interval adjacent to D.sub.min, to the distance interval adjacent to D.sub.max.

    7. The method of claim 1, wherein the angular size threshold T.sub.i is calculated as one of the minimum or the maximum of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval.

    8. The method of claim 2, wherein the creating one or more calibrated threshold tables further comprises for each created calibrated threshold table, associating to a distance interval [D.sub.max;F.sub.max] an angular size threshold T value such that the detected Field object is not rejected if the distance D falls within [D.sub.max;F.sub.max].

    9. A system for a vehicle for filtering out sensor data, comprising a Sensor scan filtering system configured to process data output by a Sensor scan points clustering system coupled to a Sensor having a field of view operating range [F.sub.min;F.sub.max], and mounted on the vehicle, by: receiving one or more calibrated threshold tables, each calibrated threshold table being created by: creating one or more acquisition tables, each acquisition table being created by acquiring from the Sensor scan points clustering system coupled to the Sensor, angular size data of a cluster of points for a Reference object placed at N respective distances from the sensor, the N distances being located in a range [D.sub.min;D.sub.max] included within [F.sub.min;F.sub.max]; dividing the range [D.sub.min;D.sub.max] into i, i>=1, adjacent distance intervals M; and associating to each M.sub.i distance interval an angular size threshold T.sub.i calculated as a function of the acquired angular size data in one of the one or more acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval; and selecting one of the one or more received calibrated threshold tables, and processing data output by the Sensor scan points clustering system, wherein the processing comprises a function of: the angular size data S of a cluster of points for a Field object located at a distance D from, and detected by, the coupled Sensor mounted on the vehicle; relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.

    10. The system of claim 9, wherein the Sensor scan filtering system is further configured to process data output by the Sensor scan points clustering system, by: rejecting the detected Field object based on a comparison of the respective values of the angular size data S and the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls; and if the detected Field object is not rejected, transmitting to a Vehicle navigation system information representative of at least the relative position of the detected Field object.

    11. The system of claim 9, wherein the creating one or more acquisition tables comprises placing a Background object at a distance D.sub.Back from the Reference object, and positioned so that the Reference object lies between the Sensor and the Background object.

    12. The system of claim 11, wherein the creating one or more acquisition tables further comprises using respective Reference objects that differ from one another by at least one of their size, their reflectivity, and their distance D.sub.Back to the Background object.

    13. The system of claim 9, wherein the Sensor scan filtering system is further configured to process data output by the Sensor scan points clustering system, by: receiving metadata associated to each one of the one or more calibrated threshold tables; and selecting one of the one or more calibrated threshold tables by matching one of the metadata with at least one of the vehicle navigation requirements, conditions and environment, and selecting the calibrated threshold table associated to the matched metadata.

    14. The system of claim 9, wherein the adjacent distance intervals M are increasing in range from the distance interval adjacent to D.sub.min, to the distance interval adjacent to D.sub.max.

    15. The system of claim 9, wherein the angular size threshold T.sub.i is calculated as one of the minimum or the maximum of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0045] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:

    [0046] FIG. 1 provides a representation of the present technology in the particular environment of an autonomous vehicle;

    [0047] FIG. 2 illustrates a view of the field by a sensor in the example provided FIG. 1, and its filtering out according to the present technology;

    [0048] FIG. 3 presents an overview of the method in the present technology;

    [0049] FIG. 4 illustrates an acquisition set-up according to the present technology;

    [0050] FIG. 5 illustrates a threshold calculation as part of the calibration process according to the present technology;

    [0051] FIG. 6 presents a more detailed view of the method in the present technology;

    [0052] FIG. 7 illustrates a view of the field by a sensor in the example provided FIG. 1 with a background object, and result examples after filtering out according to the present technology;

    [0053] FIG. 8 illustrates a view of the field by a sensor in the example provided FIG. 1 with an object that is less reflective, and result examples after filtering out according to the present technology; and

    [0054] FIG. 9 illustrates a computing system that may be used in the present technology.

    [0055] It should be noted that, unless otherwise explicitly specified herein, the drawings are not to scale. Finally, elements that are identical from one drawing to the other bear the same numeral reference across drawings.

    DETAILED DESCRIPTION

    [0056] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.

    [0057] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.

    [0058] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and/or that what is described is the sole manner of implementing that element of the present technology.

    [0059] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

    [0060] The functions of the various elements shown in the figures, including any functional block, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some aspects of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP). In the aforementioned, explicit use of the term a «processor» should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included.

    [0061] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and/or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. Moreover, it should be understood that «module» may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.

    [0062] With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.

    [0063] FIG. 1 provides a representation of the present technology in the particular environment of an autonomous vehicle. A Sensor 100 may be mounted on a vehicle 106, which in this example, is an autonomous one. The Sensor 100 may have a field of view 105. The field of view 105 may, depending on the characteristics of the Sensor 100, have an operating range [F.sub.min;F.sub.max]. Field objects 101- 104 may be present in the field of view 105. The Sensor 100 may receive reflections (backscattering) from Field objects 101-104, and transform them into for example, depending on the Sensor 100 technology, pointclouds fed ( 107) to a Sensor scan points clustering system 108. The Sensor scan points clustering system 108 among other things may implement an algorithm to reduce the pointclouds to clusters of points for each one of the Field objects 101-104. The Sensor scan points clustering system 108 may provide information about clusters (111) to a Sensor scan filtering system 109. The Sensor scan filtering system 109 may interact (112) with a Vehicle navigation system 110 that may control speed and trajectory of the autonomous vehicle 106. In the case of a driven vehicle (not shown), the Sensor scan filtering system 109 may instead interact with a control and/or alert center for the vehicle. At the interfaces 111 and 112, various technologies may be had, for example pointclouds or lists of “detected” Field objects 101-104. “Detected” for a field object as used herein, means that information is conveyed at interfaces 111 and/or 112 about the presence of a field object in the field of view 105, including at least information about the position of the field object relative to the Sensor 100.

    [0064] Smaller objects 102 and 103 may, as the case may be, not constitute true obstacles for the safe trajectory of autonomous vehicle 106, even if present on its path. For example, smaller objects 102 and 103 may be grass stems. Detection of such smaller objects 102 and 103 should not result in the autonomous vehicle 106 automatically slowing down, making a stop or otherwise changing trajectory. On the other hand, larger Field objects 101 and 104 may constitute true obstacles that warrant and should trigger avoidance navigation control (brake, steer, etc.) by the Vehicle navigation system 110. For example, larger Field objects 101 and 104 may be rocks or other objects that are susceptible of damaging the autonomous vehicle 106 or affect the safety of its passengers, or obstacles that should not be run over under any circumstance, such as a body part of a pedestrian. The present technology implemented in the Sensor scan filtering system 109 aims at filtering out points clustered by the Sensor scan points clustering system 108, by removing/rejecting clusters of detected objects that are not true obstacles to the autonomous vehicle 106, using calibrated threshold tables created as described below. This may for example be performed by the Sensor scan filtering system 109: [0065] if receiving a pointcloud at interface 111: removing/rejecting points from the point cloud and providing a modified pointcloud at interface 112; [0066] if receiving a list of clustered detected objects at interface 111: removing/rejecting clustered objects from the list and providing a modified list at interface 112.

    [0067] As will be appreciated by the person skilled in the art, FIG. 1 provides merely a logical representation of functions as regard systems 108-110, and the Sensor scan points clustering system 108, the Sensor scan filtering system 109 and the Vehicle navigation system 110 may be physically implemented differently from as represented. For example, and without limitation: [0068] the Sensor scan points clustering system 108 may be integrated into the Sensor 100; [0069] the Sensor scan filtering system 109 may be integrated into the Vehicle navigation system 110; [0070] part or all of the functions in the Sensor scan points clustering system 108, the Sensor scan filtering system 109 or the Vehicle navigation system 110 may not be implemented aboard the autonomous vehicle 106 (but remotely, in the cloud etc.).

    [0071] FIG. 2 illustrates a view 210 of the field by Sensor 100 in the example provided FIG. 1, and its filtering out according to the method of the present technology. The view 210 may be had after (111 on FIG. 1) processing by the Sensor scan points clustering system 108 of FIG. 1. The view 211 may be had after (112 on FIG. 1) processing by the Sensor scan filtering system 109 of FIG. 1. In view 210, clusters of points 201-204 are provided by the Sensor scan points clustering system 108 in relation to respectively detected Field objects 101-104 present in the Sensor 100 field of view. In view 211, clusters of points 202 and 203 have been removed/rejected by the Sensor scan filtering system 109, having been recognized according to the present technology as not being true obstacles to the autonomous vehicle 106. This information, exempt of smaller objects 102 and 103, may thus be fed to the Vehicle navigation system 110 of FIG. 1, and be taken into consideration so as to not unnecessarily affect the vehicle's 100 trajectory.

    [0072] FIG. 3 presents an overview of the method in the present technology. At step 301, one or more acquisition tables may be created. For each created acquisition table, an acquisition may be made, for example through a set-up that is described below in relation to FIG. 4, of data from a Sensor scan points clustering system (ie: 108 on FIG. 1), coupled to a Sensor (100 on FIG. 1) having a field of view operating range [F.sub.min;F.sub.max] (ie: 105 on FIG. 1). These data may consist of respective angular sizes of the cluster of points corresponding to a reference object (ie: 400 on FIG. 4 below) placed at N distances from the sensor (N being a positive integer of at least 1). The N distances may be located in a range [D.sub.min;D.sub.max] included within [F.sub.min;F.sub.max]. “Angular size” as used herein equates to the angle formed between two opposite edge points of the cluster generated by the Sensor scan points clustering system upon detection of an object, and the sensor. As will be appreciated by the person skilled in the art, the angular size is straightforwardly correlated to the amount of points in the cluster and the angular resolution of the sensor, in the nominal case of full detection of an object (ie: all lightwave beams intersecting with the object provide a reflection that is captured by the Sensor and contributes to a measure of the relative position of the object).

    [0073] At step 302, one or more calibrated threshold tables may be created. This may be performed by, for each created calibrated threshold table: [0074] dividing the range [D.sub.min;D.sub.max] into i, with i>=1, distance intervals M: these distance intervals may be adjacent, ie: non overlapping (no intersection), and their sum may be equal to the range [D.sub.min;D.sub.max]; and [0075] associating to each distance interval M.sub.i an angular size threshold T.sub.i which may be calculated as a function of the angular sizes that were acquired at step 301 for the reference object at distances among the N that are falling within the distance interval M.sub.i.

    [0076] Optionally, metadata to characterize the created calibrated threshold tables may accompany each one of them, as seen below.

    [0077] In a very simplified example for illustration purposes, N=8 acquired angular size data (in degrees or radians) for a reference object, may correspond to N=8 distances (of the reference object from the sensor) equally distributed over 1 (D.sub.min) to 8 (D.sub.max) meters as follows:

    TABLE-US-00001 Acquisition table 1 Distance Acquired from angular size sensor of reference (N = 8) object 1 15 2 9 3 7 4 6 5 5.50 6 5 7 4.75 8 4.60

    [0078] Based on these acquired angular size data, a calibrated threshold table may for example be created for M=4 adjacent and non overlapping distance intervals, that may or may not be evenly distributed within the range [D.sub.min;D.sub.max]. Each such created calibrated threshold table associates to each distance interval, a calculated threshold. The threshold may be calculated as a function of those acquired angular size data corresponding to distances falling within the associated distance interval. For example, as in calibrated threshold table 1 below, the function is the minimum of the acquired angular size data values at the corresponding distances:

    TABLE-US-00002 Calculated threshold as a function of those N acquired data within M (m) range Calibrated threshold table 1 [1-3.99] 7 [4-5.99] 5.5 [6-7.50] 4.75 [7.51-8]     4.60 Calibrated threshold table 2 [1-3.99] 15 [4-5.99] 6 [6-7.50] 5 [7.51-8]     4.60 Calibrated threshold table 3 [1-1.49] 15 [1.5-2.99].sup.  9 [3-4.99] 6.5 [5-8]   4.96

    [0079] In the case of calibrated threshold table 2 above, the four distance intervals M are the same as those in calibrated threshold table 1. But the function for the calculated threshold is the maximum of the acquired angular size data values at the corresponding distances.

    [0080] In the case of calibrated threshold table 3 above, the number of distance intervals M is still the same (4), but the intervals are different, and the function for the calculated threshold is an average of the acquired angular size data values at the corresponding distances.

    [0081] The person skilled in the art will appreciate, that still within the teachings of the present disclosure: [0082] the N distances for acquired angular size data may or may not be evenly distributed over the range [D.sub.min;D.sub.max]; [0083] the adjacent distance intervals M may not necessarily be equal in range, and may for example be smaller for distances closer to the sensor; and [0084] the function for obtaining the calculated threshold may be one of many possibilities of using the acquired angular size data values at corresponding distances, depending on the intended objectives for the safety of navigation of vehicle 106.

    [0085] At step 303, the one or more created calibrated threshold tables may be transmitted to a Sensor scan filtering system (109) configured to process data output by the Sensor scan points clustering system (108) coupled to the Sensor (100) mounted on a vehicle.

    [0086] At step 304, one of the one or more created calibrated threshold tables may be selected and used by the Sensor scan filtering system (109) to process data output by the Sensor scan points clustering system (108). The processing may comprise a function of the angular size data S of a cluster of points for a Field object (101-104), detected by the coupled Sensor (100), and located at a distance D of the coupled Sensor (100) mounted on the vehicle, relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.

    [0087] Optionally, a calibrated threshold table may be selected based on accompanying metadata characterizing its content, as seen below.

    [0088] The person skilled in the art will appreciate that, still within the teachings of the present disclosure, the datasheets from providers and suppliers of sensors, including when coupled to, or integrated with, Sensor scan points clustering systems as the case may be, may be used to verify and/or complement the empirical results of the acquisition (301) of angular size data for a reference object. For example, in an aspect of the present technology, a calibrated threshold table created through the process described at step 302, may be complemented with thresholds for distance ranges [F.sub.min;D.sub.min] and/or [D.sub.max;F.sub.max]. For example, extrapolating threshold values for distance ranges [F.sub.min;D.sub.min] and [D.sub.max;F.sub.max] may be performed through a calculation based on the aforementioned datasheets.

    [0089] It will also be apparent to the person skilled in the art, that still within the teachings of the present disclosure, a calibrated threshold table may encompass, beyond a table with discrete M.sub.i values, a continuous function f of values M.sub.i (ie: the equivalent of a table where i tends to the infinite, and each distance interval M.sub.i tends to zero). The processing of data output by the Sensor scan points clustering system (108) may then comprise a function of the angular size data S of a cluster of points for a Field object (101-104), detected by the coupled Sensor (100), and located at a distance D, relative to f(D). Such a continuous function f may, for example, be calculated by regression analysis of the N values in an acquisition table.

    [0090] In another aspect, thresholds for distance ranges [F.sub.min;D.sub.min] and/or [D.sub.max;F.sub.max] may be set by: [0091] adopting as threshold for the distance range [F.sub.min;D.sub.min] the threshold calculated for the distance D.sub.min; and/or [0092] adopting as threshold for the distance range [D.sub.max;F.sub.max] a value of 0 (or a value indicative that no filtering out is to be performed in the range).

    [0093] FIG. 4 illustrates an acquisition set-up according to the present technology. A Reference object 400 may be exposed to the Sensor 100 coupled to a Sensor scan points clustering system 108, at N various distances from the Sensor 100, within a distance range [D.sub.min;D.sub.max]. The Reference object 400 may be moved in the field of view 105 from D.sub.min to D.sub.max (or the other way around). Alternatively, the Sensor 100 may be moved relative to the Reference object 400 maintained in fixed position. Alternatively, during acquisition, the Sensor 100 and/or the Reference object 400 may be moved back and forth relative to each other, so as to acquire more points in the same acquisition set-up. As will be appreciated by the person skilled in the art, the number N, and the minimum distance between consecutive of the N points, may depend notably on the acquisition frequency of the Sensor 100 (for example 10 Hz), and/or the velocity of the Sensor 100 relative to the Reference object 400.

    [0094] The acquisition set-up allows to obtain from Sensor scan points clustering system 108, a cluster of points for the Reference object 400 at each of N distances from the Sensor 100 within [D.sub.min;D.sub.max]. For example, the minimum distance interval between two consecutive of the N distances may be driven by the range resolution of Sensor 100. For example, the maximum distance interval between two consecutive of the N distances may be 1 cm. The acquisition information at N successive distances is fed (401) to a Calibrated threshold table calculator 402.

    [0095] The Calibrated threshold table calculator 402 may use the acquisition information to create one or more acquisition tables of the angular size value of the cluster of points for the Reference object 400, at each of the N distance values. The acquisition table may then be used by the Calibrated threshold table calculator 402 to create one or more calibrated threshold tables, of thresholds calculated from angular size values for the Reference object 400 at distances falling within each one of M adjacent and non overlapping distance intervals within [D.sub.min;D.sub.max]. For example a minimum distance interval M may be 5 cm.

    [0096] In aspects of the present technology, the calculated threshold for a given distance interval M may be the minimum angular size value of all acquired angular size values for the Reference object 400 at distances falling within that distance interval M. In other aspects, the maximum angular size value may be adopted instead. In yet other aspects, the average of the acquired angular size values for the Reference object 400 at distances falling within that distance interval M, may be adopted instead. Other functions of the acquired angular size values for the Reference object 400 at distances falling within that distance interval M may be used.

    [0097] Optionally, the acquisition set-up may include a corridor 404 longitudinally extending in the motion direction of the Sensor 100 relative to the Reference object 400. This has the effect of virtually delimiting the trajectories of Sensor 100 and Reference object 400 for acquisition. Such a corridor 404 may be opted for, for example to minimize the post-processing requirements after acquisition with less complex algorithms and fewer computing power requirements. For example, without a corridor 404, clusters of points for objects other than Reference object 400 appearing in the field of view of Sensor 100, may have to be processed.

    [0098] Optionally, the acquisition set-up may include a Background object (405) placed at a distance D.sub.Back from the Reference object (400), and positioned so that the Reference object (400) lies between the Sensor (100) and the Background object (405). Acquisition with a background object brings about technical effects and advantages that are detailed below.

    [0099] Optionally, the acquisition set-up may involve a Reference object (400) with different reflectivity characteristics. Acquisition with successive reference objects with different reflectivity characteristics brings about technical effects and advantages that are detailed below.

    [0100] One or more calibrated threshold tables may be created by Calibrated threshold table calculator 402 and be transmitted to the Sensor scan filtering system 109 of FIG. 1 at reference 403. For example, calibrated threshold tables may be created using with the acquisition set-up, different Reference objects 400 having different characteristics, such as size (for example, 1, 3, and 5 cm, for example for the diameter of a cylinder) and/or reflectivity and/or their distance D.sub.Back (for example 80 cm) to the Background object (405) when used in the acquisition set-up. For example, different calibrated threshold tables may be created based on different adoptions of range values for the distance intervals M, and/or of the calculation leading to the threshold for the distance intervals M, as explained above.

    [0101] FIG. 5 illustrates a threshold calculation as part of the calibration process according to the present technology. In a graph 500, the angular size values for the Reference object 400, as seen by the Sensor 100 within a range of distances [D.sub.min;D.sub.max] in an acquisition set up according to FIG. 4, is plotted as a function 501 of the distance between the Reference object 400 and the Sensor 100. Graph 501 is obtained with data output by the Sensor scan points clustering system 108, and may for example include N points (ie: acquired angular sizes for the Reference object 400 placed at N different distances from the Sensor 100).

    [0102] From graph 501, a calibrated threshold table may be created comprising i values. A discretization of acquired angular size values may be performed for example by; [0103] defining i distance intervals M between D.sub.min and D.sub.max. For example, the distance intervals M.sub.i may be of the same length, for example 5 cm, when the maximum distance between two consecutive of the N points is 1 cm; [0104] for each of the distance intervals M.sub.i calculating a value which is a function of the values for those of the N angular sizes acquired at a distance from the Sensor 100 falling within the particular distance interval M. For example, the function may be the minimum of all such angular size values. The calculated value may then constitute a threshold T.sub.i for that distance interval M.sub.i. The table of thresholds T.sub.i may be represented under the form of graph 502.

    [0105] FIG. 6 presents a more detailed view of the method in the present technology, specifically in relation to steps 303-304 of FIG. 3, when performed by a Sensor scan filtering system 109 connected to a Sensor scan points clustering system 108 coupled to a Sensor 100 mounted on a vehicle 106 as seen FIG. 1. At step 601, one or more calibrated threshold tables may be received from a Calibrated threshold table calculator 402 as seen FIG. 4. Such calibrated threshold tables may have been created as described above. Each calibrated threshold table may comprise i threshold values T each corresponding to a distance interval M. Metadata about each one of the calibrated threshold tables may also be received, that characterize its content. For example, metadata associated to a calibrated threshold table may: [0106] precisely describe how such calibrated threshold table was created, describing for example choices of parameters made for the creating acquisition tables (ex: N, D.sub.max values), and/or choices of parameters made for the selection among the created acquisition tables, and/or choices of parameters made for the creating calibrated threshold table (ex: i, M.sub.i and T.sub.i values); or [0107] provide a receiving system more general information about at least one of: [0108] the navigation safety requirements for the vehicle 106, that the calibrated threshold table allows to meet; for example, a calibrated threshold table may allow the Sensor scan filtering system 109 to filter out/remove/reject detected field objects that are below a given size, for example 5 cm; [0109] the navigation weather conditions for the vehicle 106, that the calibrated threshold table allows to meet; for example, a calibrated threshold table may allow the Sensor scan filtering system 109 to more efficiently (ie: without impacting safety) filter out/remove/reject detected field objects in dry, rainy, or snowy conditions; [0110] the navigation environment constraints for the vehicle 106, that the calibrated threshold table allows to meet; for example, a calibrated threshold table may allow the Sensor scan filtering system 109 to filter out/remove/reject detected field objects more accurately in a densely populated area, while another calibrated threshold table may be better adapted to an area where no pedestrians are expected, with both tables allowing to meet the same safety standard for the vehicle navigation.

    [0111] At step 602, the Sensor scan filtering system 109 may select one of the received calibrated threshold tables based on the matching of associated received metadata with one of a vehicle 106 navigation safety requirements, conditions and environment. In an aspect of the present technology, the selecting may be dynamic. For example, while the vehicle 106 is in motion, the selecting may be made/modified: [0112] when the vehicle 106 encounters certain weather conditions, such as rain or snow accumulation; [0113] when the vehicle 106 travels during certain periods of the year, when for example bugs, or leaves, are more prone to be around, or during certain times of the day; or [0114] when the vehicle 106 enters certain geographical areas that are identified to require meeting different safety standards (for example more densely populated areas etc.).

    [0115] At step 603, the Sensor scan filtering system 109 may receive from the Sensor scan points clustering system 108 information relative to a detected Field objects 101-104. As seen above, this information may take different forms, to include at least the angular size S and the distance D from the Sensor 100, for the detected Field objects 101-104.

    [0116] At step 604, the Sensor scan filtering system 109 may apply a filtering decision function on the angular size S relative to the threshold T.sub.i indicated in the selected one of the received calibrated threshold tables, as corresponding to the distance interval M.sub.i in which the distance D falls. Based on the result of the filtering decision function, the Sensor scan filtering system 109 may reject (step 605) the detected Field objects 101-104, and loop back to step 603 to receive the next detected Field objects 101-104.

    [0117] If not rejected, information about the detected Field objects 101-104 may be transmitted (step 606) by the Sensor scan filtering system 109 to the Vehicle navigation system 110, including the position of the detected Field objects 101-104 relative to the Sensor 100. As mentioned before, such information may take for example the form of points in a pointcloud, or of listed objects with for example associated approximate geometrical shape. The person skilled in the art will appreciate that in the case of a driven vehicle, this information may be transmitted to some other control or alert center in the vehicle. A loop back to step 603 may be made to receive the next detected Field objects 101-104.

    [0118] While the above has been described in a simplified serial handling of received detected field objects' information, it will be apparent to the person skilled in the art that information about several simultaneously detected field objects may be received, with a parallel applying of the filtering decision function (step 604), rejecting (step 605) or transmitting of information to the Vehicle navigation system 110 (step 606) on all detected field objects simultaneously or quasi-simultaneously.

    [0119] The filtering decision function of step 604 may for example consist in comparing the respective values of the angular size S and of the threshold T.sub.i. For example, a detected field object may be rejected if its angular size S is larger than the threshold T.sub.i; in another aspect, it may be rejected if its angular size S is smaller than the threshold T.sub.i. In yet another aspect, the margin with which the angular size S and of the threshold T.sub.i differ may be taken into consideration.

    [0120] With a further combination of the selecting of a particular received calibrated threshold table (step 602) and the adopting of a particular filtering decision function (step 604), the Sensor scan filtering system 109 may provide assistance to the Vehicle navigation system 110 that is tailored to the vehicle 106 navigation particular safety requirements, conditions and environment. For example, the Sensor scan filtering system 109 may opt to: [0121] under dry navigation conditions, not reject detected field objects that are larger (filtering decision function: steps 604/605) than 1 cm in size (selection of the corresponding calibrated threshold table: step 602); and [0122] under rainy navigation conditions, reject detected field objects that are smaller (filtering decision function: steps 604/605) than 3 cm in size (selection of the corresponding calibrated threshold table: step 602).
    While the selecting and the adopting may be dynamically adjusted while the vehicle 106 is in motion.

    [0123] FIG. 7 illustrates a view of the field by a sensor in the example provided FIG. 1 with a background object, and result examples after filtering out according to the present technology. The view 210a may be had after (111 on FIG. 1) processing by the Sensor scan points clustering system 108 of FIG. 1. The views 211a and 211b may be had after (112 on FIG. 1) processing by the Sensor scan filtering system 109 of FIG. 1. In view 210a, clusters of points 201a and 202-204 are provided by the Sensor scan points clustering system 108 in relation to respectively detected Field objects 101-104 present in the Sensor 100 field of view. Field object 101 may lie between the Sensor 100 and a Field background object 700. As will be appreciated by the person skilled in art, depending on Sensor 100 technology, an edge effect, owing to the presence of Field background object 700, may affect the clustering of points for Field object 101, with edge points 701 and 702 appearing at a distance from Sensor 100 between Field object 101 and Field background object 700. This may result in the Field object 101 appearing as a smaller object that does not constitute a true obstacle to the safe trajectory of autonomous vehicle 106.

    [0124] With the present technology, depending on the combination made of the selecting of a particular received calibrated threshold table (step 602 on FIG. 6), the adopting of a particular filtering decision function (step 604 on FIG. 6), and the creating of acquisition tables, themselves leading to the creation of the calibrated threshold tables, in a set-up involving a Background object (405 on FIG. 4), at least two views of the field may be had 211a and 211b as shown FIG. 7.

    [0125] In view 211a, clusters of points 201a, 202 and 203 have been removed/rejected by the Sensor scan filtering system 109, having been viewed as not being true obstacles to the autonomous vehicle 106. This information, exempt of actual smaller objects 102 and 103, and also of object 101 appearing as a smaller object, may be fed to the Vehicle navigation system 110 of FIG. 1.

    [0126] In view 211b, safer navigation may be achieved: cluster of points 203 alone has been removed/rejected by the Sensor scan filtering system 109, having been recognized as not being a true obstacle to the autonomous vehicle 106, while cluster of points 101 in particular has not been removed/rejected. This information, exempt of actual smaller object 103, may be fed to the Vehicle navigation system 110 of FIG. 1.

    [0127] FIG. 8 illustrates a view of the field by a sensor in the example provided FIG. 1 with an object that is less reflective, and result examples after filtering out according to the present technology. The view 210b may be had after (111 on FIG. 1) processing by the Sensor scan points clustering system 108 of FIG. 1. The views 211c and 211d may be had after (112 on FIG. 1) processing by the Sensor scan filtering system 109 of FIG. 1. In view 210b, clusters of points 201-203 and 204a are provided by the Sensor scan points clustering system 108 in relation to respectively detected Field objects 101-104 present in the Sensor 100 field of view. Field object 104 may have a low reflectivity. As will be appreciated by the person skilled in art, depending on Sensor 100 technology, this low reflectivity may affect the clustering of points for Field object 104, with Field object 104 providing fewer points and therefore appearing as a smaller object than it actually is. This may result in the Field object 104 appearing as if a smaller object that does not constitute a true obstacle to the safe trajectory of autonomous vehicle 106.

    [0128] With the present technology, depending on the combination made of the selecting of a particular received calibrated threshold table (step 602 on FIG. 6), the adopting of a particular filtering decision function (step 604 on FIG. 6), and the creating of acquisition tables, themselves leading to the creation of the calibrated threshold tables, in a set-up involving successive Reference objects (400 on FIG. 4) with different reflectivity characteristics, at least two views of the field may be had 211c and 211d as shown FIG. 8.

    [0129] In view 211c, clusters of points 202, 203 and 204a have been removed/rejected by the Sensor scan filtering system 109, having been viewed as not being true obstacles to the autonomous vehicle 106. This information, exempt of actual smaller objects 102 and 103, and also of object 104 appearing as a smaller object, may be fed to the Vehicle navigation system 110 of FIG. 1.

    [0130] In view 211d, safer navigation may be achieved: cluster of points 202 alone has been removed/rejected by the Sensor scan filtering system 109, having been recognized as not being a true obstacle to the autonomous vehicle 106, while cluster of points 104 in particular has not been removed/rejected. This information, exempt of actual smaller object 102, may be fed to the Vehicle navigation system 110 of FIG. 1.

    [0131] FIG. 9 illustrates a computing system that may be used in the present technology. An example of implementation of computing system 900 that may be used for the Sensor scan filtering system 109 is presented. As will be appreciated by the person skilled in the art, such computing system may be implemented in any other suitable hardware, software, and/or firmware, or a combination thereof, and may be a single physical entity, or several separate physical entities with a distributed functionality.

    [0132] In some aspects of the present technology, the Computing System 900 may comprise various hardware components including one or more single or multi-core processors collectively represented by a processor 901, a solid-state drive 902, a memory 903 and an input/output interface 904. In this context, the processor 901 may or may not be included in a FPGA. In some other aspects, the Computing System 900 may be an “off the shelf” generic computing system. In some aspects, the Computing System 900 may also be distributed amongst multiple systems. The Computing System 900 may also be specifically dedicated to the implementation of the present technology. As a person in the art of the present technology may appreciate, multiple variations as to how the Computing System 900 is implemented may be envisioned without departing from the scope of the present technology.

    [0133] Communication between the various components of the Computing System 900 may be enabled by one or more internal and/or external buses 905 (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, ARINC bus, etc.), to which the various hardware components are electronically coupled.

    [0134] The input/output interface 904 may allow enabling networking capabilities such as wire or wireless access. As an example, the input/output interface 904 may comprise a networking interface such as, but not limited to, a network port, a network socket, a network interface controller and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present technology. According to implementations of the present technology, the solid-state drive 902 may store program instructions, such as those part of, for example, a library, an application, etc. suitable for being loaded into the memory 903 and executed by the processor 901 for the method and process steps according to the present technology.

    [0135] While the above-described implementations have been described and shown with reference to particular steps performed in a particular order, it will be understood that these steps may be combined, sub-divided, or re-ordered without departing from the teachings of the present disclosure. At least some of the steps may be executed in parallel or in series. Accordingly, the order and grouping of the steps is not a limitation of the present technology. It should further be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every aspect of the present technology.

    [0136] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.