Patent Description:
Driver assistance systems rely on the detection of objects in a surrounding of the vehicle. Modem vehicles can comprise multiple sensors of different types, such as radar sensors, cameras, infrared sensors, lidar sensors and the like. <CIT> relates to extended object tracking. <CIT> relates to an object fusion system. <CIT> relates to an estimation apparatus.

Based on the sensor data, objects can be identified. For example, a radar sensor can emit radar signals which are reflected by objects in a surrounding of the vehicle. The coordinates of the reflecting objects can be determined by analyzing the received radar signals. Each of the recognized objects can be tracked over time. For example, the moving directions or velocities of the tracked candidate objects can be determined. Such information is important to estimate the likelihoods of possible events, such as a possible collision with another vehicle. Based on this information, the driver assistance systems can inform the driver of possibly dangerous situations or can control functions of the vehicle, such as an adjustment of the speed or the steering angle of the vehicle.

For tracking objects, newly detected measurements must be associated with already tracked candidate objects, if possible. Tracking solutions are taking care of the association problem between objects detected in a subsequent frame by creating dynamic entities with a predefined lifespan. Although there are various solutions, due to the computation resource limitations, usually modeling assumptions have to be introduced. Filtering techniques (like Kalman filtering) can give a procedure-skeleton to such assumptions, in which the main steps are the following: prediction of the state of the observed objects for the next timestamp, the association between the predicted state of the object and the measurement at the next timestamp, and an update of the state of the observed object for further tracking.

Implementation of radar detection systems may comprise rule-based filtering. Reliable locations may be identified as object candidates which are fed into a decision tree process to gain multi-layer probabilities. Bayesian classification methods can stabilize the output probabilities.

An exemplary tracking method is known from <CIT> which can make use of a mean square deviation of curves.

The present invention provides a method and a device for classifying and tracking objects in a surrounding of a vehicle, and a driver assistance system, as recited in the independent claims.

According to a first aspect, the invention therefore relates to a device for detecting and tracking objects in a surrounding of a vehicle. An interface is configured to receive, from at least one vehicle sensor of the vehicle, new measurement data acquired at a current measurement cycle. A computing device is configured to determine time coordinates and spatial coordinates of newly identified candidate objects in a surrounding of the vehicle based on the new measurement data, wherein the spatial coordinates of the newly identified candidate objects are defined relative to a global coordinate system. The computing device further associates each newly identified candidate object with at most one tracked candidate object of a plurality of tracked candidate objects identified at earlier measurement cycles, based on distances between the newly identified candidate object and the tracked candidate objects of the plurality of tracked candidate objects. The distance depends on both a difference between the spatial coordinates of the newly identified candidate object and the tracked candidate object and a difference between the time coordinates of the newly identified candidate object and the tracked candidate object. The computing device is configured to update spatial coordinates of the tracked candidate objects using a Kalman filtering method, using the associated newly identified candidate objects. The computing device is further configured to detect at least one tracked real object of the tracked candidate objects based on a time behavior of the spatial coordinates of the candidate objects.

According to a second aspect, the invention provides a driver assistance system for a vehicle, comprising at least one vehicle sensor of the vehicle configured to acquire measurement data, and a device for detecting and tracking objects in a surrounding of a vehicle according to the first aspect of the invention.

According to a third aspect, the invention relates to a method for detecting and tracking objects in a surrounding of a vehicle. New measurement data acquired at a current measurement cycle are received from at least one vehicle sensor of the vehicle. Time coordinates and spatial coordinates of newly identified candidate objects in a surrounding of the vehicle are determined based on the new measurement data. The spatial coordinates of the newly identified candidate objects are defined relative to a global coordinate system. Each newly identified candidate object is associated with at most one tracked candidate object of a plurality of tracked candidate objects identified at earlier measurement cycles, based on distances between the newly identified candidate object and the plurality of tracked candidate objects. The distance depends on both a difference between the spatial coordinates of the newly identified candidate object and the tracked candidate object and a difference between the time coordinates of the newly identified candidate object and the tracked candidate object. Spatial coordinates of the tracked candidate objects are updated using a Kalman filtering method, using the associated newly identified candidate objects. At least one tracked real object of the tracked candidate objects is detected based on a time behavior of the spatial coordinates of the candidate objects.

The present invention applies a space-time input representation and a modification to the association step. By using a distance which depends both on spatial coordinates and time coordinates, tracking is more robust to object movement. An improved object detector performance can be achieved. The tracking can be achieved in a space-time representation, where the distance metric is applied. The invention allows to detect objects based on the time behavior of the spatial coordinates of the candidate objects. For example, if a candidate object is found which follows a trajectory to be expected from a physical object, e.g. a straight line, the candidate object can be identified as a real object. The space-time representation allows to identify such straight movements, i.e. movement-dependent linear patterns.

When the ego vehicle's movement is properly tracked by transforming the object detectors' frames (i.e., coordinates) taken at different time instants into a common coordinate system, and a proper multi-dimensional representation is chosen (2D/3D Cartesian coordinates and a time-like attribute), movement-dependent linear patterns can be formed for each object. Also, if these patterns are detected, their speed and momentum can be calculated to stabilize the classification itself.

According to a further embodiment of the device, the computing device is configured to identify a candidate object as a real object if the time behavior of the spatial coordinates of the candidate object corresponds to an essentially linear (straight) line. By using a space-time representation in the global coordinate system, real objects follow (at least on not too long timescales) straight lines and can therefore be identified based on the time behavior of the spatial coordinates of candidate objects.

According to a further embodiment of the device, the computing device is configured to classify the at least one real object based on a time behavior of the spatial coordinates of the candidate objects. Herein, classifying can comprise classifying the at least one real object as a moving object or a stationary object. The method combines object detection and a classification process where past information is used to stabilize the detection objective, and the classification is supported by the movement derived from the changing state of the continuously updated tracklet. When the ego vehicle's movement is properly tracked, by transforming the radar frames taken at different measurements into the common coordinate system and a proper 3D representation is chosen (e.g. planar radar coordinates and a time-like attribute), movement-dependent linear patterns are formed per object.

According to a further embodiment of the device, the computing device is configured to classify the at least one real object as a stationary object, if the time behavior of the spatial coordinates of the candidate object corresponds to an essentially linear line parallel to a time axis. In a global coordinate system, stationary objects follow straight (linear) lines along the time axis. According to some embodiments, the at least one real object is identified as a stationary object if the time behavior of the spatial coordinates forms a line which includes an angle with the time axis which is smaller than a predefined threshold value.

According to a further embodiment of the device, the computing device is configured to classify the at least one real object as a moving object, if the time behavior of the spatial smaller than a predefined threshold value.

According to a further embodiment of the device, the computing device is configured to classify the at least one real object as a moving object, if the time behavior of the spatial coordinates of the candidate object corresponds to an essentially linear line tilted with respect to a time axis. According to some embodiments, the at least one real object is identified as a moving object if the time behavior of the spatial coordinates forms a line which includes an angle with the time axis which is greater than a predefined threshold value.

According to a further embodiment of the device, the computing device is configured to compute a velocity of the real object based on an angle of the essentially linear line with respect to the time axis. In some embodiments, an angle between a line defined by the spatial coordinates of the real object at different time points and the time axis is computed. The velocity is computed based on the angle. In the space-time representation, each angle is uniquely related to a corresponding velocity.

According to the invention, the distance D (i.e. metric) between a newly identified candidate object and a tracked candidate object is computed by the following formula: <MAT> wherein dx, dy and dz denote differences between the spatial coordinates of the newly identified candidate object and the tracked candidate object for three orthogonal axes of the global coordinate system, wherein v denotes a velocity of the vehicle, and wherein t denotes a difference between the temporal coordinate of the newly identified candidate object and the tracked candidate object. That is, the distance response to a space-time interval. The distance is selected in a way that stationary objects (i.e., moving with the speed of the vehicle) have zero distance. The association of the object therefore takes the movement of the vehicle into account by using a distance which takes care of the ego vehicle movement. This leads to a more robust association. Also, by applying the above formula for the distance, asynchronous measurements merged into one continuous input stream can be handled, as a way of multimodal late-fusion technique. For the multimodal setup, a synchronization method may be present (e.g., timestamp-based).

According to a further embodiment of the device, the computing device is configured to associate the newly identified candidate object with the at most one tracked candidate object using the Hungarian method. Herein, the above metric defined in formula (<NUM>) can be used instead of a conventional Euclidean metric.

According to a further embodiment, the device further comprises a first-in first-out, FIFO, memory device, wherein the computing device is configured to store the time coordinates and spatial coordinates of newly identified candidate objects in the FIFO memory device. For an efficient space-time representation, multiple past frames (i.e., time coordinates and spatial coordinates) can be kept.

According to a further embodiment of the device, the computing device is further configured to transform spatial coordinates of the plurality of tracked candidate objects into the global coordinate system before associating each newly identified candidate object with at most one tracked candidate object of the plurality of tracked candidate objects. Therefore, the newly identified candidate objects can easily be associated with the tracked candidate object.

According to a further embodiment of the device, the computing device is further configured to generate a new tracked candidate object based on a newly identified candidate object if said newly identified candidate object is not associated with any tracked candidate object of the plurality of tracked candidate objects. Therefore, the list of tracked candidate objects can be extended.

According to a further embodiment of the device, the computing device is further configured to delete a tracked candidate object of the plurality of tracked candidate objects if no newly identified candidate object is associated with the tracked candidate object. Therefore, objects no longer present in the field of view of the at least one vehicle sensor can be deleted. Such objects are generally no longer relevant for driver assistance systems or the like.

The numbering of process steps is for clarity and is generally not intended to imply any particular chronological order. In particular, several process steps can also be carried out simultaneously.

<FIG> shows a block diagram of a driver assistance system <NUM> comprising a device <NUM> for detecting and tracking objects in a surrounding of a vehicle. The device <NUM> comprises an interface <NUM> which communicates with one or more vehicle sensors <NUM> of the vehicle. Preferably, the vehicle sensors may comprise at least one radar sensor. The vehicle sensors <NUM> can also comprise sensors like cameras, lidar sensors, infrared sensors and the like.

The interface <NUM> may communicate with the vehicle sensors <NUM> via a CAN bus or the like. The device <NUM> receives via the interface <NUM> new measurement data from the vehicle sensor <NUM>. That is, after each measurement cycle (time stamp), new measurement data is provided to the device <NUM>. The device <NUM> may receive raw data from the radar sensor <NUM>. According to other embodiments, the data may already be preprocessed.

The device <NUM> comprises a computing device <NUM>, such as a microprocessor, microcontroller, a field-programmable gate array, or the like. The computing device <NUM> determines time coordinates and spatial coordinates of newly identified candidate objects in a surrounding of the vehicle based on the newly acquired measurement data. Herein, the term "newly identified candidate object" relates to a particular measurement (i.e., within a present measurement cycle) of an object. The candidate object can be a candidate object (or real object) already tracked by the device <NUM> or a new object.

The spatial coordinates of the newly identified candidate objects are defined relative to a global coordinate system, which may be given as a current pose of the vehicle, e.g., based on a current velocity of the vehicle.

The computing device <NUM> associates each newly identified candidate object with one or none tracked candidate object of a plurality of tracked candidate objects. At each time, multiple objects may be tracked, e.g., corresponding to further vehicles, barriers, road signs, pedestrians and so on.

The computing device <NUM> associates newly identified candidate objects with a tracked candidate object by computing for each tracked candidate object a distance between the newly identified candidate object and said tracked candidate object. The distance is computed based on both a difference between the spatial coordinates of the newly identified candidate object and the tracked candidate object and a difference between the time coordinates of the newly identified candidate object and the tracked candidate object. For example, the distance can be computed using formula (<NUM>) above. In general, the difference between the time coordinates of the newly identified candidate object and the tracked candidate object corresponds to the time difference between two subsequent measurements.

The computing device <NUM> further updates the spatial coordinates of the tracked candidate objects using a Kalman filtering method.

The computing device <NUM> may comprise a tracking pool for gathering the available Kalman filter instances, i.e., every tracked candidate object has one corresponding instance.

The device <NUM> further comprises a first-in first-out, FIFO, memory device <NUM> which stores the time coordinates and spatial coordinates corresponding to several previously measured objects. Tracking means monitoring one stream that contains subsequent frames in which the detected objects are located. For the space-time representation, multiple past frames can be kept. If these frames are in the same global coordinate system, linear patterns can be captured. Further, the memory device <NUM> may store the global coordinate system.

The computing device <NUM> detects at least one tracked real object of the tracked candidate objects based on a time behavior of the spatial coordinates of the candidate objects. Herein "real" means that the object moves like an actual physical object and is therefore be identified as a real (physical) object.

The computing device <NUM> may identify a tracked candidate object as a real object if the time behavior of the spatial coordinates of the candidate object corresponds to a straight line in the space-time representation (coordinate system). The computing device <NUM> may further classify the at least one real object based on a time behavior of the spatial coordinates of the candidate objects. For example, the computing device <NUM> may classify the at least one real object as a stationary object, if the time behavior of the spatial coordinates of the candidate object corresponds to an essentially linear line parallel to a time axis. Further, the computing device <NUM> may classify the at least one real object as a moving object, if the time behavior of the spatial coordinates of the candidate object corresponds to an essentially linear line tilted with respect to the time axis.

The computing device <NUM> may further compute a velocity of the real object based on a tiltness of the essentially linear line with respect to the time axis. The computing device <NUM> can compute an angle between the time axis and the essentially linear line. g, based upon entries in a look up table, the computing device <NUM> determines the velocity of the real object based on the angle.

<FIG> shows a schematic illustration of tracked candidate objects. There are moving objects <NUM> and <NUM> and stationary objects <NUM> and <NUM>. Herein, the stationary objects <NUM>, <NUM> follow trajectories which are essentially parallel to the time coordinate t.

<FIG> shows a flow chart of a method for detecting and tracking objects in a surrounding of a vehicle. The method can be carried out using the device <NUM> described above. Likewise, the device <NUM> can be configured to carry out any of the following method steps or aspects of the method.

In a step S1, tracking is initialized. Further, a tracking pool is initialized which may have an instance count of <NUM>. Further, FIFO memory storage may be allocated. The size can be maximized, e.g., restricted to <NUM> frames. The current pose of the vehicle may be extracted and stored as a global coordinate system. However, the invention is not restricted to the vehicle coordinate system as a global coordinate system. According to other embodiments, different common global coordinate systems can be used. The memory storage may be relocated.

After a drift occurs in ego vehicle positioning, the global coordinate system changes. The current ego vehicle is then again extracted as a global coordinate system. All tracked candidate objects from the tracking pool are transformed by transforming their spatial coordinates into the new global coordinate system. The new ego vehicle pose is stored as the global coordinate system.

Next, measurement initiates. The current ego vehicle speed is extracted. At least one vehicle sensor of the vehicle acquires measurement data. New measurement data is provided to the device <NUM> for tracking the objects. The device <NUM> may be located in the vehicle. At least some functions of the device <NUM> can also be located outside of the vehicle, e.g., in a distant server.

In a second step S2, the device <NUM> determines time coordinates and spatial coordinates (i.e., a measurement frame) of newly identified candidate objects in a surrounding of the vehicle based on the newly acquired measurement data. The time coordinates may simply be timestamps. The spatial coordinates of the newly identified candidate objects are defined relative to a global coordinate system. The spatial coordinates may first be defined in a non-global coordinate system and may then be transformed into the global coordinate system.

Together with the measurement data, the ego vehicle pose is tracked in the global coordinate system (i.e., common or "world" coordinate system) for each time instant where measurements are taken.

Moreover, a proper calibration may be required to be able to do affine transformation based coordination system changes between sensor coordinate systems, the space-time representation and the transformation into the global coordinate system.

In a step S3, the device <NUM> associates each newly identified candidate object with at most one tracked candidate object of a plurality of tracked candidate objects based on distances between the newly identified candidate object and the plurality of tracked candidate objects. The distance depends on both a difference between the spatial coordinates of the newly identified candidate object and the tracked candidate object under consideration and a difference between the time coordinates of the newly identified candidate object and the tracked candidate object under consideration.

The difference between the time coordinates can be set to <NUM> in the first iteration and can otherwise be set to the difference between a current timestamp and a stored timestamp.

It can also be possible to store a <NUM>-dimensional vector {x, y, z, vt} associated with each newly acquired object, comprising the spatial coordinates x, y, z and a parameter <MAT> where deltaT corresponds to the difference between a current timestamp and a stored timestamp and the length value is set based on a length of the vehicle. The transformed measurement frame {x, y, z, vt} is pushed into the memory storage <NUM>.

In a fourth step S4, the spatial coordinates of the tracked candidate objects are updated, using a Kalman filtering method. In space-time tracking, the past information is used to stabilize the association step of the selected Kalman filter, by the movement derived from the state change of the continuously updated tracklet (tracked candidate object).

Object detectors do have some noise arising from the measuring technique. Also, the tracking process can have ambiguity. These have to be modeled, a common choice is to use an additional normal distribution, and both have a dataset dependent hyperparameter (variance). The tracking is based on Kalman filtering. Herein, the state-transition model, the observation model, the measurement noise and the process noise are identical to the standard Kalman filtering method. The noises can be the above-mentioned normal distributions, e.g., with a variance of <NUM>, and a constant state-transition model can be used.

In the Kalman-update step, the current tracked state of the object is updated. Herein, the associated newly identified candidate object relates to new measurements taken into account in the Kalman method. If there is no match for some newly identified candidate object, a new tracked candidate object is generated. If none of the newly identified candidate objects is associated with one of the existing tracked candidate objects, the tracked candidate object is deleted.

Optionally, for currently available tracked candidate objects, further classification can be applied. The classification can be dynamic or stationary, depending on the tracked candidate object attributes available in Kalman filter inner states, e.g., momentum or speed.

In step S5, at least one tracked real object of the tracked candidate objects is detected based on a time behavior of the spatial coordinates of the candidate objects. The method may further comprise classifying the real objects (e.g. as stationary or moving objects).

Claim 1:
A device (<NUM>) for detecting and tracking objects in a surrounding of a vehicle, comprising:
an interface (<NUM>) configured to receive, from at least one vehicle sensor (<NUM>) of the vehicle, new measurement data acquired at a current measurement cycle; and
a computing device (<NUM>) configured to:
determine time coordinates and spatial coordinates of newly identified candidate objects in a surrounding of the vehicle based on the new measurement data, wherein the spatial coordinates of the newly identified candidate objects are defined relative to a global coordinate system;
associate each newly identified candidate object with at most one tracked candidate object (<NUM>-<NUM>) of a plurality of tracked candidate objects (<NUM>-<NUM>) identified at earlier measurement cycles, based on distances between the newly identified candidate object and the plurality of tracked candidate objects (<NUM>-<NUM>), wherein the distance depends on both a difference between the spatial coordinates of the newly identified candidate object and the tracked candidate object and a difference between the time coordinates of the newly identified candidate object and the tracked candidate object;
update spatial coordinates of the tracked candidate objects (<NUM>-<NUM>) using a Kalman filtering method, using the associated newly identified candidate objects; and
detect at least one tracked real object of the tracked candidate objects based on a time behavior of the spatial coordinates of the candidate objects (<NUM>-<NUM>);
characterized in that the distance D between a newly identified candidate object and a tracked candidate object (<NUM>-<NUM>) is computed by the following formula: <MAT>
wherein dx, dy and dz denote differences between the spatial coordinates x, y, z of the newly identified candidate object and the tracked candidate object (<NUM>-<NUM>) for three orthogonal axes of the global coordinate system, wherein v denotes a velocity of the vehicle, and wherein t denotes a difference between the temporal coordinate of the newly identified candidate object and the tracked candidate object (<NUM>-<NUM>).