Method for estimating the speed of a vehicle
Patent Information
- Application Number
- FR2023002145
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-08
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2043-03-08
AI Technical Summary
Existing methods for estimating vehicle speed from lidar sensors require multiple acquisitions or combination with cameras, which can be cumbersome and inefficient.
A method using a single acquisition from a scanning lidar sensor to estimate vehicle speed by processing a point cloud with timestamped and oriented points, aligning points based on corrected positions, and calculating relative speed between the ego-vehicle and detected objects.
Enables accurate estimation of vehicle speed from a single lidar scan, leveraging point cloud distortions due to relative motion, thus simplifying the process and improving efficiency.
Abstract
Description
Description Title of the invention: Method for estimating the speed of a vehicle Technical field
[0001] = The present disclosure relates to a method for estimating the speed of a vehicle. It applies in particular to estimating the speed of neighboring vehicles at a vehicle of interest, for the implementation of driving assistance features in the vehicle of interest. Prior art
[0002] — Vehicles have been incorporating sensors of various types for several years, such as cameras or lidar sensors, to obtain information relating to the vehicle's environment. The data acquired by the sensors are processed by algorithms to analyze the scene surrounding the vehicle, to be able to including detecting obstacles on the road, detecting and tracking other vehicles, and also anticipate their trajectory.
[0003] — These different treatments help the driver in driving the vehicle, or even eventually, to replace it.
[0004] — In this context, several methods have already been proposed to estimate the speed other vehicles that are located in the environment of a vehicle of interest, hereinafter denoted ego-vehicle, from a lidar type sensor. In the following, the ego-vehicle is the reference vehicle comprising the observation sensor(s) of the environment and in which analysis treatments are implemented the environment of this vehicle.
[0005] — For example, we know from J. Zhang, W. Xiao, B. Coifman and JP Mills, "Vehicle Tracking and Speed Estimation From Roadside Lidar," in ZEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 13, p. 5597-5608, 2020, doi: 10.1109 / ISTARS.2020.3024921, a method for monitoring and estimating the vehicle speed from several successive acquisitions by a lidar sensor.
[0006] Also known from W. Zang et al. “Lidar with Velocity: Correcting Moving Objects Point Cloud Distortion from Oscillating Scanning Lidars by Fusion with Camera, arXiv:2111.09497v3 [cs. RO]; 2022, a process combining acquisitions of a scanning lidar sensor and a camera to estimate the speed of a vehicle observed, in which the radial velocity of a vehicle is obtained from the ac- lidar sensor acquisitions, and the tangential velocity is estimated from jointly lidar sensor and camera data. Summary The present disclosure improves the situation. In particular, one purpose of the present disclosure is to enable the speed of a vehicle to be estimated from a single acquisition of a lidar sensor. In this regard, a method for estimating the speed of a vehicle is proposed, the method being implemented by a device comprising a lidar sensor embedded in an ego-vehicle, and a computer, the lidar sensor being of the scanning type in which an acquisition of an observed area is implemented by a displacement of the line of sight of the lidar sensor in two directions of displacement comprising an azimuth scanning direction and an elevation scanning direction so as to cover the observed area according to a plurality of scanning lines, the method comprising the acquisition, by the lidar sensor, of a point cloud where each point is associated with an initial position in three dimensions, a timestamp and an orientation in azimuth and elevation of the line of sight of the lidar sensor, and a processing of the point cloud by the computer, comprising: The detection of at least one object, the object being represented by a sub- set of points in the point cloud, Determining a corrected position of a plurality of points of the object corresponding to the same azimuth or elevation value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned according to a reference direction, and The determination of a relative speed between the ego-vehicle and the object, from of a difference between a corrected position and an initial position of at least a point of the object, and the timestamp associated with said point. In embodiments, the method comprises: the calculation of a relative speed of a plurality of points of the object from of a difference between the corrected position and the initial position of each point of the plurality of points, and the timestamp associated with said point, and the determination of a relative speed between the ego-vehicle and the object from relative velocities calculated for each point of the plurality of points. In embodiments, the detected object is identified as static, and the method includes deriving the speed of the ego-vehicle from the determined relative speed between the ego-vehicle and the object. In embodiments, the detected object is a vehicle, the speed of the ego-vehicle is known, and the method includes deriving the speed of the detected object from the determined relative speed between the ego-vehicle and the object. In embodiments, the method comprises determining a corrected position of a plurality of points of the object corresponding to a same elevation value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned in a direction perpendicular to the longitudinal direction of the ego-vehicle and parallel to the road. In embodiments, the method further comprises classifying the detected object according to the height of the object among two predetermined classes corresponding respectively to high objects and low objects. In this case, when the object is classified as a low object, the determination of a corrected position of a plurality of the objects is implemented for points of the object corresponding to the same elevation value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned in a direction perpendicular to the longitudinal direction of the ego-vehicle and parallel to the road. When the object is classified as a tall object, the method comprises determining a corrected position of a plurality of points of the object corresponding to the same azimuth value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned in a direction perpendicular to the longitudinal direction of the ego-vehicle and perpendicular to the road. In embodiments, detecting an object includes implementing a point clustering algorithm based on the Euclidean distance between the points. According to another subject, a device for estimating the speed of a vehicle is described, comprising a lidar sensor capable of being embedded in an ego-vehicle, and a computer, the lidar sensor being of the scanning type in which an acquisition of an observed zone is implemented by a displacement of the line of sight of the sensor in azimuth and in elevation to carry out a scanning of the zone, characterized in that the device is configured to implement the method according to the preceding description. According to another object, a computer program product is described comprising code instructions for implementing the method according to the preceding description, when this program is executed by a computer. According to another object, a non-transitory recording medium readable by a computer is described on which is recorded a program for implementing the method according to the preceding description, when this program is executed by a computer. The proposed method makes it possible to estimate the speed of an observed vehicle, or of the ego-vehicle carrying the lidar sensor, from a single estimate of this sensor. By using a scanning lidar sensor, it is possible to exploit the fact that the point cloud acquired during the same acquisition, i.e. the same scan, are acquired at different times, and that when the observed object has a relative speed compared to the ego-vehicle, this relative speed induces a distortion between the positions of the points in the point cloud. The relative speed between the ego-vehicle and the observed object can be deduced from this distortion. Brief description of the drawings Other characteristics, details and advantages will appear on reading the detailed description below, and on analyzing the attached drawings, in which: [Fig.1] [Fig.1] schematically represents an example of a context in which the method is implemented according to one embodiment. [Fig.2] [Fig.2] schematically illustrates the operating principle of a scanning lidar sensor. [Fig.3] [Fig.3] schematically represents the main steps of a method according to one embodiment. [Fig.4] [Fig.4] shows a top view of an example acquisition of a scanning lidar sensor including an object with the same speed as the ego-vehicle and an object with a speed lower than that of the ego-vehicle. [Fig.5] [Fig.5] shows a side view of an example acquisition of a scanning lidar sensor including an object with a speed greater than that of the vehicle. Description of the embodiments A method for estimating the speed of a vehicle according to embodiments will now be described. This method can be implemented to estimate the speed of vehicles located in the environment of a reference vehicle V, also called ego-vehicle, or to estimate the speed of the ego-vehicle, With reference to [Fig. 1], the method is implemented by a device | comprising a lidar sensor 10 embedded in the ego-vehicle V, and a processing unit 20 comprising at least one computer 21 and a memory 22. The computer may comprise one or more processors, microprocessors, microcontrollers, graphics processor, etc. The memory 22 advantageously comprises a non-volatile memory for storing code instructions which are executed by the computer for implementing the method. The processing unit 20 may be embedded in the ego-vehicle and in communication with the sensor via a wired link, or be a remote unit adapted to receive the data acquired by the sensor via a wireless communications network. The lidar sensor may be positioned at a front end of the ego-vehicle, facing the front of the vehicle, advantageously in a direction parallel to the main direction of the vehicle. Alternatively, the lidar sensor may be positioned at a rear end of the ego-vehicle, being facing towards the rear of the vehicle, advantageously in a direction parallel to the main direction of the vehicle. With reference to [Fig. 2], the lidar sensor 10 is of the scanning type, for example of the microelectromechanical or MEMS (English acronym for Microelectromechanical Systems) type, which is configured to implement a displacement of the line of sight of the sensor in two different directions of displacement, to carry out a scanning of the observed area. A scanning lidar sensor 10 can thus comprise a light source 11, for example a laser, generating light pulses 11a at a determined frequency, a scanning device 12 comprising a movable mirror adapted to reflect the light emitted by the source in a variable orientation to obtain the desired orientation for the line of sight 12a, and a detector 13 adapted to receive the light reflected by the objects present in the observed scene.The movement of the scanning device is synchronized with the emissions of the light pulses so that each light pulse corresponds to a respective orientation of the line of sight. In the following, the reference orientation of the lidar sensor is considered to be that of the line of sight of the sensor when emitting the first light pulse of an acquisition. By "acquisition" (in English "frame"), we mean the acquisition of a point cloud corresponding to a complete scan of the scene observed by the lidar sensor, after which the line of sight returns to the reference orientation to implement the next acquisition. The orientation mentioned above of the lidar sensor relative to the vehicle therefore corresponds to the reference orientation. In Fig. 2, the Y and Z axes represent the two scanning directions of the line of sight. The Y axis advantageously corresponds to a horizontal axis, and the Z axis advantageously corresponds to a vertical axis, when the lidar sensor is on board the ego-vehicle. The displacement of the line of sight along the Y axis corresponds to a variation in azimuth relative to the reference orientation noted O in the figure, and the displacement along the Z axis corresponds to a variation in elevation relative to the reference orientation. As shown schematically in [Fig. 2], the scanning can be implemented by having the line of sight travel several successive parallel lines 14, horizontal or vertical, a horizontal line being an iso-elevation line and a vertical line being an iso-azimuth line. In embodiments, once a scanning line has been traveled, for example at iso-elevation, the line of sight can be returned to the azimuth corresponding to the reference orientation before traveling the next line at a different elevation, and so on. Alternatively, the scanning can comprise a scanning line in azimuth or in elevation, then, instead of returning to the azimuth, respectively to the elevation of the reference orientation, modify the elevation, respectively the azimuth, and scan in the opposite direction in azimuth, respectively in elevation to return to the azimuth, respectively the elevation of the reference orientation. The lidar sensor is adapted to implement at least one acquisition per second, for example ten acquisitions per second, where each acquisition corresponds to a point cloud and each point is associated with a respective orientation of the line of sight of the sensor, with a timestamp which corresponds to the respective moment of emission of the light pulse corresponding to the point, and with three-dimensional coordinates which correspond to the coordinates in space of a point of a surface on which the light pulse was reflected before being captured by the detector of the lidar sensor. As described below, the method presented makes it possible to estimate the speed of an observed vehicle knowing the speed of the ego-vehicle, or alternatively of the ego-vehicle, from a single acquisition, i.e. from a cloud of points obtained by a single scan of the scene. With reference to [Fig. 3], the method comprises the acquisition 100 by the lidar sensor 10 of a point cloud, each point of the point cloud indicating the position of an object in the environment of the ego-vehicle on which the light pulse emitted by the lidar sensor was reflected. Each point is associated with a respective timestamp corresponding to the instant of emission of the light pulse, three-dimensional coordinates, hereinafter called “position of the point” and a respective orientation of the line of sight of the sensor, expressed for example in azimuth and elevation relative to the reference orientation. This data is transmitted to the computer which implements the following steps. The method then comprises a step 200 of detecting at least one object located in the environment of the ego-vehicle, the object being represented by a subset of points of the point cloud. This step advantageously comprises the implementation of a point grouping algorithm (or in English "clustering") from the Euclidean distance between the points of the point cloud, for example a k-means type algorithm. In embodiments, and as shown in [Fig. 3], the method may then comprise a step 300 of classifying the detected object as a function of the height of the object, the height of the object being obtained by measuring the maximum difference observed along the Z axis between two points of the subset corresponding to the object. If the height is less than a pre-established threshold, the detected object is considered to be a “low” type object, for example a car, and if the height is greater than this threshold, the detected object is considered to be a “high” type object, for example a bus, a truck, etc. The method then comprises a step 400 of determining a corrected position of a plurality of points of the object, relative to the initial position of these points. The plurality of points whose position is corrected advantageously corresponds to a set of points obtained for the same azimuth value, but different elevations, or the same elevation value, but different azimuths, of the line of sight of the lidar sensor. With reference to [Fig.4], an example of a point cloud obtained by a lidar sensor is shown, in top view, that is to say that the representation is made in an XY plane where X is the main direction of the vehicle, preferably corresponding to the reference orientation of the lidar, and Y is a perpendicular corresponding to a scanning direction (azimuth scanning). Consequently, the Z coordinate of the points of the point cloud is not represented on the image. In [Fig.4], a first detected object O1 is represented, this object having the same speed as the ego-vehicle. Given this identical speed, the points belonging to this object and corresponding to different azimuths of the lidar line of sight appear with the same Y coordinate value, that is to say that all the points acquired for the same elevation of the line of sight but with different azimuth values are aligned horizontally (in [Fig.4], the points corresponding to a scan of the line of sight at iso-elevation have been connected together by a line LI and we note that this line forms a zero angle with the Y axis). A second detected O2 object is shown, this object having a speed lower than that of the ego-vehicle. Given the time interval between two consecutive points in the point cloud, we observe that points corresponding to different azimuths of the lidar line of sight are offset from each other in the Y direction. In [Fig.4], we have connected together by a line L2 the points corresponding to a scan of the line of sight at iso-elevation and we see that this line forms a non-zero angle with the Y axis. Consequently, step 400 advantageously comprises correcting the position of the points obtained for the same elevation value, but therefore corresponding to different azimuths of the line of sight, so that the corrected positions of the points are aligned, and more precisely are aligned in a direction perpendicular to the longitudinal direction of the ego-vehicle, that is to say to the X axis, and parallel to the road considered locally as a plane. The corrected positions of the points therefore all have the same coordinate along X. This corresponds, with the reference orientation mentioned above, to an alignment of the points parallel to the Y direction of azimuth scanning of the sensor. In one embodiment, step 400 may comprise applying a principal component analysis type algorithm to the subset of points of the point cloud corresponding to an object, to extract the principal directions x, y, and z along which the point cloud extends, followed by a rotation applied to the subset of points relative to the first detected point of the subset to align the subset of points according to the direction indicated above. It is therefore a global rotation which is estimated to align the set of points, which then corresponds to a correction applied to each point relative to its distance from the first detected point of the subset. In embodiments, particularly in cases where the lidar sensor is positioned at the front of the vehicle and therefore makes it possible to acquire data relating to the rear of surrounding vehicles, it is possible to verify after correction that the corrected point cloud has a concave envelope, which is the case for the rear of the vehicles. If this aspect is not verified, the process stops without concluding on the relative speed between the detected object and the ego-vehicle, and resumes at a next acquisition of the point cloud. When the method does not include a step 300 of classifying the object according to its height, this step 400 can be implemented for all vehicles. On the other hand, when the method comprises a step 300 of classifying the object according to its height, this implementation of step 400 advantageously only concerns low vehicles. High vehicles can then be subject to another correction, which is more precise taking into account the height of the vehicle. With reference to [Fig.5], another example of a point cloud obtained by a lidar sensor is shown, in side view, that is to say that the representation is made in an XZ plane where X is the main direction of the vehicle, preferably corresponding to the reference orientation of the lidar, and Z is a perpendicular corresponding to a scanning direction (elevation scanning). Consequently, the Y coordinate of the points of the point cloud is not represented on the image. In [Fig.5], a point cloud including a detected object with a speed greater than that of the ego-vehicle is shown. If the object had a speed identical to that of the ego-vehicle, the points belonging to this object and corresponding to different elevations of the lidar line of sight would appear with the same X coordinate value, that is to say that all the points acquired for the same azimuth of the line of sight but with different elevation values would be aligned vertically, parallel to the z axis. However, in the case shown, which corresponds to a top-down scan, the time interval between the acquisition of the points corresponding to the highest Z values and the points corresponding to the lowest Z values results in an offset along X of the positions of the points, and therefore a line L3 connecting points corresponding to the same azimuth of the line of sight inclined with respect to Z. In this case, step 400 comprises correcting the positions of the points obtained for the same azimuth value, but corresponding to different elevations of the line of sight, so that the corrected positions of the points are aligned in a direction perpendicular to the longitudinal direction of the ego-vehicle, i.e. to the X axis, and perpendicular to the road considered locally as a plane, therefore a substantially vertical direction when the road is horizontal. The corrected positions of the points therefore all have the same coordinate along X. This corresponds, with the reference orientation mentioned above, to an alignment of the points parallel to the Z direction of elevation scanning of the lidar sensor. In one embodiment, step 400” may comprise the application of a principal component analysis type algorithm to the subset of points of the point cloud corresponding to an object, to extract the principal directions x, y, and z along which the point cloud extends, followed by a rotation applied to the subset of points relative to the first detected point of the subset to align the subset of points in the direction described above. It is therefore a global rotation which is estimated to align the set of points, which then corresponds to a correction applied to each point relative to its distance relative to the first detected point of the subset. From the corrected positions of at least certain points belonging to the object, the method comprises a step 500 of determining a relative speed between the ego-vehicle and the object.This step is implemented from a difference between the corrected position of a point and the initial position of the point, and the timestamp associated with said point. More precisely, the relative speed can be calculated as follows: Vp= 752 Where V, is the relative velocity calculated for point p, pi is the initial position of point P, Pcor is the corrected position of point p, t, is the timestamp associated with point p and ts is a reference time, which is chosen as the timestamp of the first point of a scan line. The relative speed is advantageously calculated for several points belonging to the object and whose positions are corrected, and the method comprises the deduction of the relative speed between the ego-vehicle and the object from the speeds calculated for the different points, for example by an average of the calculated speeds. In the case where the detected object is a moving object, and if the speed of the ego-vehicle is known elsewhere, the method makes it possible to deduce the absolute speed of the moving object. Alternatively, if the detected object is a static object, for example a signaling element, the method makes it possible to deduce the speed of the ego-vehicle.
Claims
Claims
1. A method of estimating the speed of a vehicle, the method being implemented implemented by a device (1) comprising an on-board lidar sensor (10) in an ego-vehicle, and a calculator (21), the lidar sensor being of the scanning type in which an acquisition of an observed area is implemented by a displacement of the line aiming of the lidar sensor in two directions of movement comprising an azimuth scanning direction and a elevation scanning so as to cover the observed area according to a plurality of scanning lines, the method comprising the acquisition (100), by the lidar sensor (10), of a point cloud where each point is associated with an initial position in three dimensions, a timestamp and an orientation in azimuth and elevation of the lidar sensor line of sight, and cloud processing of points by the calculator (21), including: - the detection (200) of at least one object (O1, O2), the object being re- presented by a subset of points in the point cloud, - determining (400, 400') a corrected position of a plurality of points of the object (O1, O2) corresponding to the same azimuth value or elevation of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned according to a reference direction, and - the determination (500) of a relative speed between the ego-vehicle and the object, from a difference between a corrected position and a initial position of at least one point of the object, and the timestamp associated with said point.
2. A method according to claim !, comprising: - the calculation of a relative speed of a plurality of points of the object to from a difference between the corrected position and the initial position of each point of the plurality of points, and the timestamp associated with said point, and the determination of a relative speed between the ego-vehicle and the object to from the relative speeds calculated for each point of the plurality of points.
3. A method according to any one of claims 1 or 2, wherein the detected object is identified as static, and the method comprises the deduction of the speed of the ego-vehicle from the relative speed determined between the ego-vehicle and the object.
4. A method according to any one of claims 1 or 2, wherein the detected object is a vehicle, the speed of the ego-vehicle is known, and the method comprises deducing the speed of the detected object from of the relative speed determined between the ego-vehicle and the object.
5. Method according to any one of claims 1 to 3, comprising the determination of a corrected position of a plurality of points of the object corresponding to the same elevation value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned in a direction perpendicular to the longitudinal direction- tudinal of the ego-vehicle and parallel to the road.
6. A method according to any preceding claim, further comprising a classification (300) of the detected object into function of the height of the object among two predetermined classes cor- corresponding respectively to high objects and low objects.
7. The method of claim 6, wherein determining the corrected position of a plurality of points of the object is implemented The method of claim 6, comprising, when the object is classified as a tall object, the determination of a corrected position of a plurality of points of the object corresponding to the same azimuth value of the line of sight of the lidar sensor, so that the corrected positions of the plurality of points are aligned in a perpendicular direction to the longitudinal direction of the ego-vehicle and perpendicular to the road.
9. A method according to any preceding claim, in which the detection of an object includes the implementation of an al- point clustering algorithm based on Euclidean distance between the points.
10. Device for estimating the speed of a vehicle, comprising a lidar sensor capable of being embedded in an ego-vehicle, and a cal- culator, the lidar sensor being of the scanning type in which an ac- acquisition of an observed area is implemented by a movement of the sensor's line of sight in azimuth and elevation to achieve a scanning the area, characterized in that the device is configured to implementing the method according to any one of the claims previous.
11. | Computer program product comprising code instructions for implementing the method according to any one of claims 1 to 9 when this program is executed by a computer @n.