Field
[0001] The present disclosure relates to concepts for sensing surrounding objects and more particularly to apparatuses, methods and computer programs for detecting and characterizing edges of one or more objects, which can be useful in the field of autonomous driving, for example.
Background
[0002] Since a development of autonomous driving and driving assistant systems, there is a demand of locating and tracking surrounding objects reliably and precisely. In order to make such systems work safely and, for example, to prevent a car, equipped with one of these systems, from crashing with surrounding objects, the accuracy of the object characterization is essential. In case of autonomous driving or driving assistant systems such surrounding objects can be traffic participants like cars, trucks, motorcyclists or pedestrians, for example.
[0003] For the functionality of such systems it may be necessary to determine the object's spatial parameters (e.g. position, distance, orientation, shape) and parameters of motion (e.g. velocity, rotation). Various types of location sensors can be used to gather information from the surrounding. In some applications laser scanners are used to scan the environment and to generate measurement data including spatial coordinates of measurement points on edges of one or more objects from reflections of a laser beam at these edges. Known methods use algorithms to assign clusters of measured coordinates to one or more respective objects. So-called box fitting algorithms determine a best fitting rectangular box or parts thereof representing the edges of an object taking into account its measured spatial coordinates. Since location sensors typically detect one or more edges of an object, one or more orthogonal lines of a rectangular box can be fitted to the edges. The object's parameters can be derived from the parameters of the one or more fitted lines (line parameters). From a single measurement scan it is possible to determine a shape and an orientation of the one or more fitted lines while also tracking over time is possible from multiple consecutive measurement scans to determine an object's velocity and rotation. Thus an object can be characterized by such calculated parameters approximating a shape, a position, an orientation, a rotation and a velocity of the obj ect.
[0005] For a reliable characterization of small or distant objects location sensors with a high spatial measurement resolution can provide accurate results. Common applications use laser scanners as location sensors. However it is also possible to use other location sensors like high resolution radar, cameras or ultra sonic sensors. In order to achieve an increased spatial measurement resolution it is also conceivable to apply multiple location sensors or even a combination of them. A consequence of an increased spatial resolution is an increased amount of measurement samples. Thus a processing time of conventional line fitting methods increases, while for a precise tracking of the line parameters over time it is important to provide a high rate of calculated line parameters. This is not possible if the processing time of a line fitting method is too large.
[0006] Hence there is a demand of lowering the processing time, while at the same time keeping the spatial accuracy of the estimated line parameters as high as possible.
Summary
[0007] This demand is met by apparatuses, vehicles, methods and computer programs in accordance with the independent claims. Further embodiments which may be beneficial under specific circumstances are addressed by the dependent claims.
[0008] According to a first aspect, the present disclosure provides a method for characterizing an object based on measurement samples from one or more location sensors. The measurement samples have a first spatial resolution. Further the method comprises a quantization of measurement samples to a grid map of weighted cells. The grid map has a second spatial resolution lower than the first spatial resolution. Each measurement sample contributes to a weight coefficient of one or more weighted cells depending on a measurement accuracy. The method also comprises a computation of line parameters of one or more lines fitting the weighted cells to obtain a characterization of the object.
[0009] The measurement samples can be digital samples directly or indirectly produced by distance or location sensors, such as one or more LIDAR (light detection and ranging) sensors, one or more Radar (radio detection and ranging) sensors, or one or more ultrasonic sensors, just to name a few examples. The skilled person having benefit from the present disclosure will appreciate that different distance detection technologies can also be combined. In some example implementations, the measurement samples can be indicative of coordinates of points of one or more objects from which distance measurement signals, such as light, radio, or ultrasonic signals, have been reflected. As mentioned above, in case of automotive applications, such objects can be traffic participants like cars, trucks, motorcyclists or pedestrians, for example. Some applications aim at detecting edges of such objects.
[0010] Depending on the measurement accuracy of the one or more location sensors, the measurement samples or the coordinates have a certain spatial resolution. In general, there is a tendency to higher and higher resolutions. A downside of the latter is that computational efforts increase, such as, for example, a computational complexity of fitting one or more lines, for example corresponding to one or more object edges, to the measurement samples. For that reason the present disclosure proposes to reduce the computational complexity of the line fitting by mapping measurement samples of higher spatial resolution to cells of a grid map with lower spatial resolution. While the first spatial resolution of the measurement samples in x- and y-direction can be, for example, 5000 x 5000 pixels, the second spatial resolution of the grid map can be, for example, 125 x 125 cells. Additional information is provided by the respective cell weights. More than one measurement sample can fall within a cell and/or contribute to a cell weight.
[0011] One or more lines are then fitted to the weighted cells or the coordinates thereof. The lines can correspond to one or more edges of an object. The line fitting can be done by setting up a system of linear equations and solving for the respective line parameters. The line parameters can be indicative of the respective line's slope and its position. The system of linear equations can include a vector including the deviations/distances of the weighted cells from the one or more lines, a system matrix including the coordinates corresponding to the weighted cells, and a vector including the line parameters.
[0012] In some example implementations, the method can include determining the weight coefficient of a weighted cell based on a probability distribution around the measurement sample, wherein the probability distribution is based on the measurement accuracy of the one or more location sensors. The probability distribution can be a Gaussian distribution or a Laplace distribution, for example, depending on the characteristics of the one or more location sensors. The skilled person having benefit from the present disclosure will appreciate that locations sensors will provide their measurements with certain measurement inaccuracies, which can be modeled by such probability distributions. A measurement appearing at coordinates (x, y) can thus have an uncertainty of (x±Δx, y±Δy), where (x, y) then marks the positional peak of the probability distribution. The positional peak will be located within a cell of the grid map, thereby contributing to its weight coefficient. Portions of the probability distribution around the peak may reach into one or more neighboring cells, thereby also contributing to their respective weight coefficients. Thus, a single measurement sample can contribute to the weight coefficients of more than one cell. In other words, a measurement sample having an associated non-vanishing probability distribution in an area of a weighted cell adds to the weight coefficient of said cell.
[0013] In some examples, the lines can be interpreted as reflecting edges of the one or more objects. Therefore the lines can be indicative of a position and/or orientation of a remote object relative to the one or more location sensors. In case of vehicles the lines can circumscribe a vehicle or a part thereof "seen" by the sensors. In case only two edges are "visible" the measurement samples and hence the lines may have an L-shape, for example. The method may thus include detecting, based on the weighted cells one or more edges of the object, the one or more edges corresponding to the one or more lines.
[0014] In some example implementations orthogonality between two lines can be assumed. Thus the method can include computing line parameters of two orthogonal lines fitting the weighted cells. This can reduce the computational complexity of the linear equation system since the slope of both lines can be expressed by the same line parameters (with different signs and swapped vector elements though). The assumption of orthogonality between two lines is feasible in the case of vehicles, for example, which have roughly box-like external contours.
[0015] In some example implementations, the line parameters of the one or more lines can be computed based on a least squares fit. For example, a (constraint) least square algorithm can be used for that. In constrained least squares one solves a linear least squares problem with an additional constraint on the solution. I.e., the unconstrained equation
Wr =
WAp must be fit as closely as possible (in the least squares sense), while ensuring that some other property of
p is maintained. The constraint can be that the lines are orthogonal. In the above equation
r denotes the vector of deviations (minimized in least square sense) of the center of weighted cells from the one or more lines,
A denotes a system matrix, and
p denotes the vector of line parameters. The system matrix
A can include the coordinates of the centers of the respective cells, for example. Here, the system matrix
A is multiplied with the corresponding matrix of weights
W to consider the quantization of the measurement samples into the cells of the grid map.
[0016] In some example implementations the method provides computing a first and a second line parameter corresponding to an orientation of the one or more lines. The calculation of line parameters can be based on a computation of an eigenvector of a normalized system matrix. The normalized system matrix comprises normalized coordinates of the weighted cells, the normalized coordinates being normalized to weighted mean coordinates of the one or more lines.
[0017] Since for some implementations of the present method it may be feasible to assume orthogonality of two lines, the orientation of both lines can be expressed by two parameters (with different signs and swapped vector elements though). Those comprise the first line parameter
n_{1} and the second line parameter
n_{2}. A third and fourth line parameter, representing the position of the lines are independent from the first and the second line parameter and can be computed from those and the weighted system matrix
WA. Hence for determining the first and the second line parameter the normalized system matrix can be used. The normalized system matrix represents a grid map of cells shifted to the grid map of weighted cells of the system matrix
A. The cells of the lines are relocated so that the weighted average of the cell coordinates of one of the one or more lines is equivalent to the coordinate origin. The weights used for averaging correspond to the weight coefficients of the respective cells. The normalization can be done by subtracting the calculated mean values of the coordinates from the coordinates of the weighted system matrix according to:
wherein
x̃_{j} = ∑
_{i} w_{j,i} x_{j,i} and
ỹ_{j} = ∑
_{i} w_{j,i} y_{j,i}
[0018] Note that this example provides two orthogonal lines. However this is also possible for one or more lines.
[0019] The first and the second line parameter then can be estimated by determining the eigenvector corresponding to the lower eigenvalue of the squared weighted normalized system matrix according to:
, wherein
A_{norm} denotes the normalized system matrix.
[0020] In some example implementations the method provides computing at least one further line parameter
c_{j} corresponding to a position of line
j based on
wherein
n_{1} and
n_{2} correspond to the first and a second line parameter and
A_{j} is the corresponding part of the system matrix
A, including the measurement samples of line
j. For an example of two-dimensional measurement samples and a L-shape fitting of two orthogonal lines there are two further parameters,
c_{1} and
c_{2}. These parameters can be interpreted as parameters defining the position of the fitted lines. Basically
and
define the y-axis intercept of the both lines.
[0021] In some example implementations, the method provides computing a system covariance matrix including variances of the respective line parameters and covariances between different line parameters based on a system matrix including coordinates of the weighted cells, the weight coefficients of the weighted cells, and based on deviations of the weighted cells from the one or more lines. The system covariance matrix can be regarded as a measure of reliability of the measurements and can be used as a baseline for further computations, such as adjusting tracking or discrete time filters, for example. The tracking of objects can thus be improved.
[0022] In some example implementations, in particular related to L-shape fitting, the system covariance matrix can be computed according to
[0023] ∑
_{j,i} w_{j,i} denotes a sum of weights of the
i-th measurement sample of line
j. In case two orthogonal lines are defined by four line parameters, a dimension of ∑
_{Sys} would be 4 x 4. The skilled person having benefit from the present disclosure will appreciate that the dimension of ∑
_{Sys} will be dependent on the number of lines and thus the number of line parameters needed for defining the lines. The system covariance matrix ∑
_{Sys} can be used to derive further quantities of interest for tracking or prediction of the one or more objects.
[0024] For example, a covariance matrix of coordinates (
x_{c} ,
y_{c}) of an intersection point between a first and a second line can be computed based on the system covariance matrix and the coordinates (
x_{c} , y_{c})
. The covariance matrix of the coordinates (
x_{c}, y_{c}) of the intersection point can be computed according to
wherein
p_{1} and
p_{2} denote vectors corresponding to the coordinates of the intersection point of two lines according to
and
[0025] The skilled person having benefit from the present disclosure will appreciate that here the coordinates of an intersection point of two lines are expressed in a form that solves the linear equation of the lines according to:
for a first line
or 0 =
n_{2}x_{c} -
n_{1}y_{c} + 1 ·
c_{2} =
p^{T} ·
p_{2} for a second line, orthogonal to the first line for vector of line parameters according to:
p = [
n_{1},
n_{2}, c_{1},
c_{2}]
^{T}
n_{1} and
n_{2} denote the slope of the fitted lines, while
c_{1} respectively
c_{2} denote a vertical position of each fitted line.
[0026] Other mathematical expressions are however also possible. The covariance matrix of the coordinates of the intersection point has a dimension of 2 x 2 and can be used to estimate an accuracy of the fitting process of the two orthogonal lines to the respective measured coordinates. Basically a covariance of line parameters denotes a joint variability of two vector elements of the vector of deviations. If the greater values of one vector element tend to correspond with greater values of another element and vice versa, the covariance is positive. If greater values of one vector element tend to correspond with smaller values of another element, and vice versa, the covariance is negative. For some example, the covariance can be calculated from a vector
r =
Ap representing the deviations of the fitted lines from the measurement samples. Here covariance can be used to estimate an uncertainty of a first line parameter taking into account an uncertainty of a second line parameter. Further a small absolute value of a covariance denotes a weak correlation and a large absolute value a strong correlation.
[0027] Additionally or alternatively, a variance of an estimated orientation can be computed based on a combination of line parameters corresponding to an orientation of the fitted lines, variances of said line parameters, and covariances of said line parameters obtained from the system covariance matrix. For example, the variance of the orientation can be computed according to
wherein
n_{1} and
n_{2} are line parameters,
are variances of the respective line parameters and cov(
n_{1}, n_{2}) is the covariance of the respective line parameters. If
is relatively low, then a current estimate of the object's orientation appears relatively trustworthy. If
is relatively high on the other hand, then a current estimate of the object's orientation appears relatively weak. This information can be used for tracking objects by means of discrete time filters, such as Kalman or particle filters, for example.
[0028] Thus, in some example implementations the method can further include adjusting a discrete time filter for estimating a current state (e.g. position, velocity, acceleration) of the object based on previous measurements directly or indirectly based on the computed system covariance matrix.
[0029] According to a further aspect, the present disclosure provides an apparatus for characterizing an object based on measurement samples from one or more location sensors. The measurement samples of the location sensors have a first spatial resolution. The apparatus further comprises a quantization of the measurement samples to a grid map of weighted cells having a second spatial resolution lower than the first spatial resolution. Every measurement sample contributes to a weight coefficient of one or more weighted cells depending on a measurement accuracy. Fitting the weighted cells the apparatus provides computing parameters of one or more lines to obtain a characterization of the object.
[0030] The skilled person having benefit from the present disclosure will appreciate that the methods and/or apparatuses can be implemented by using a computer program having a corresponding program code for carrying out the method when the computer program is run on a programmable hardware device, such as a digital signal processor (DSP) or a field programmable gate array (FPGA), for example.
Brief description of the Figures
[0031] Some examples of apparatuses and/or methods will be described in the following by way of example only, and with reference to the accompanying figures, in which
- Fig. 1
- illustrates an example implementation of an automotive application comprising one or more location sensors and an apparatus for characterizing objects from measurement samples of those sensors.
- Fig. 2
- illustrates a process of fitting lines to two-dimensional measurement samples.
- Fig. 3
- illustrates the principle of a tracking filter in one dimension.
- Fig. 4
- shows a flowchart of a method of covariance estimation according to an embodiment of the present disclosure;
- Fig. 5
- illustrates an influence of a number of measurement sample on covariance estimation;
- Fig. 6
- illustrates a plot of fitted lines with the corresponding orientation and the variance of the orientation;
- Fig. 7
- illustrates an influence of a number of measurement sample on orientation covariance estimation;
- Fig. 8
- shows an impact of correct and wrong covariance estimation on tracking;
- Fig. 9
- shows a flowchart summarizing covariance estimation according to an embodiment of the present disclosure;
- Fig. 10
- shows a flowchart of a method of line fitting based on grid maps, according to an embodiment of the present disclosure;
- Fig. 11
- illustrates mapping measurement samples to a grid map;
- Fig. 12
- illustrates how a measurement sample adds weight to a cell; and
- Fig. 13
- shows a flowchart summarizing line fitting based on grid maps according to an embodiment of the present disclosure.
Detailed Description
[0032] Various examples will now be described more fully with reference to the accompanying drawings in which some examples are illustrated. In the figures, the thicknesses of lines, layers and/or regions may be exaggerated for clarity.
[0033] Accordingly, while further examples are capable of various modifications and alternative forms, some particular examples thereof are shown in the figures and will subsequently be described in detail. However, this detailed description does not limit further examples to the particular forms described. Further examples may cover all modifications, equivalents, and alternatives falling within the scope of the disclosure. Same or like numbers refer to like or similar elements throughout the description of the figures, which may be implemented identically or in modified form when compared to one another while providing for the same or a similar functionality.
[0034] It will be understood that when an element is referred to as being "connected" or "coupled" to another element, the elements may be directly connected or coupled or via one or more intervening elements. If two elements A and B are combined using an "or", this is to be understood to disclose all possible combinations, i.e. only A, only B as well as A and B, if not explicitly or implicitly defined otherwise. An alternative wording for the same combinations is "at least one of A and B" or "A and/or B". The same applies, mutatis mutandis, for combinations of more than two Elements.
[0035] The terminology used herein for the purpose of describing particular examples is not intended to be limiting for further examples. Whenever a singular form such as "a," "an" and "the" is used and using only a single element is neither explicitly or implicitly defined as being mandatory, further examples may also use plural elements to implement the same functionality. Likewise, when a functionality is subsequently described as being implemented using multiple elements, further examples may implement the same functionality using a single element or processing entity. It will be further understood that the terms "comprises," "comprising," "includes" and/or "including," when used, specify the presence of the stated features, integers, steps, operations, processes, acts, elements and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, processes, acts, elements, components and/or any group thereof.
[0036] Unless otherwise defined, all terms (including technical and scientific terms) are used herein in their ordinary meaning of the art to which the examples belong.
[0037] Safety may be regarded as an important aspect of driving assistant and autonomous driving systems. To ensure reliability of such concepts and to pretend, for example, autonomously driving cars from crashing with surrounding objects, the surrounding objects may be characterized by position, distance, orientation, velocity, acceleration, rotation, or a combination thereof. In case of automotive applications, the surrounding objects typically can be pedestrians, cars, motorcycles or trucks. For characterizing those objects, commonly location/distance sensors like LIDAR systems, Radar systems, cameras or ultra sonic sensors can be used. Measurement samples coming from such location sensors can be used to characterize an object, for example, regarding its shape, position, orientation, velocity and/or acceleration. To get a higher accuracy, a single measurement (e.g. of the object's position or orientation) may be filtered over time to get a higher accuracy and to estimate derivations of the states (e.g. velocity out of position displacement over time). Conventional filtering techniques include Kalman Filters or Particle Filters.
[0038] In autonomous driving, a common source of information can be laser scanners, which can provide detailed information about the shape of the object (contour). In case of traffic participants, objects can be represented by a box. There are conventional methods extracting these boxes with its parameters (e.g. position of box, orientation).
[0039] To incorporate the measurement information (box parameters) it is helpful to model its accuracy (usually expressed by a variance in 1D, otherwise by a covariance matrix). Conventional require a covariance matrix, describing the variance of the different measured line parameters and their covariance (correlation). The system covariance matrix is helpful to get not only a precise estimation of the object's state, but as well represents the accuracy of the estimated states and the correlation of the state(s). Decisions of following (downstream) processing modules are usually based on the accuracy of the states. Conventional approaches usually use heuristics or look-up-tables for the covariance matrix and ignore covariance between different parameters.
[0040] While embodiments of the present disclosure will be described with regard to automotive applications, the skilled person having benefit from the present disclosure will appreciate that the presented concepts can be used in other scenarios as well, such as for airplanes or for boats, for example.
[0041] Fig. 1 schematically shows a vehicle 110 in accordance with embodiments of the present disclosure. The vehicle includes an apparatus 120 comprising one or more location/distance sensors 122 and a processing circuit 121.
[0042] The location/distance sensors 122 can be LIDAR, Radar, or ultrasonic sensors, or a combination thereof, transmitting signals and receiving the signals reflected from a remote object 130. The location/distance sensors 122 are coupled to the processing circuit 121 in order to transfer measurement data. Measurement data can be, for example, indicative of coordinates of reflection points of the object's surface. The processing circuit 121 is configured to compute, based on the measurement samples, line parameters of one or more lines fitting the coordinates of the measurement points to obtain a characterization of the object 130, for example with regard to its position/distance, orientation, velocity, acceleration or rotation.
[0043] An example of fitting boxes or lines to coordinates of measurement points 21, 22 is illustrated in
Fig. 2. The measurement points 21, 22 may be assigned to one or more edges of the object depending on their positional arrangement. In the example of Fig. 2 the measurement points 21, 22 are assigned to two edges of object 130, thereby assuming that the object 130 can be sufficiently characterized by the two edges. The edges may be modeled by respective lines 23 and 24. Thus, a line fitting process may fit the two lines 23, 24 to the coordinates of the measurement points 21, 22. In some examples, the lines 23, 24 can be assumed to be orthogonal to each other. In this case the respective orientation of the two lines 23, 24 can be defined by the same line parameters. The skilled person having benefit of the present disclosure will appreciate that the line fitting is also possible for one or more than two lines and for "non-orthogonal" lines. Further examples of line fitting processes are "I-shape-fitting" for one line, "U-shape-fitting" for three lines of a rectangle or fitting of a complete rectangle.
[0044] In some example implementations, the line parameters of the lines 23, 24 can be computed based on a least squares fit. For example, a (constraint) least square algorithm can be used for that. In constrained least squares one solves a linear least squares problem with an additional constraint on the solution. I.e., the unconstrained equation
has to be fit as closely as possible (in the least squares sense) while ensuring that some other property of
p is maintained. The linear equation system (1) is based on a system matrix A including the coordinates of the measurement points 21, 22. In the illustrated example the coordinates are Cartesian coordinates in the form (x, y). The vector r denotes deviations (distances) of the measurement points 21, 22 from the (fitted) lines 23 and 24. The line parameters defining the lines 23, 24 are included in vector
p. For the example of two orthogonal lines 23, 24 the line parameters can be expressed as:
p = [
n_{1},
n_{2}, c_{1}, c_{2}]
^{T}. The two line parameters
n_{1},
n_{2} define the slope/orientation of the (orthogonal) lines 23, 24. A third line parameter
c_{1} and a fourth line parameter
c_{2} correspond to a position of the lines 23, 24. The slope or orientation is determined by
for the first line 23 and by
for the second line 24. The y-intercepts of the lines can be defined according to:
(for line 23) and
(for line 24).
[0045] For the present example with two orthogonal lines 23, 24, the system matrix
A can be represented according to:
wherein
x_{j,i} ∈ {
x_{j=0,i=1,} ... ,
x_{j=0,i=N}} and
y_{j,i} ∈ {
y_{j=0,i=1}, ...,
y_{j=0,i=N}} denote the
i-th of
N measurement coordinates assigned to a first line
j = 0 and
x_{j,i} ∈ {
x_{j=1},_{i=1,} ...,
x_{j=1},_{i=M}} and
y_{j,i} ∈ {
y_{j=1,i=1,} ...,
y_{j=1,i=M}} denote the
i-th of M coordinates of measurement points of a second line
j = 1. Hence a system of linear equation can be set up according to:
(for the first line 23)
or
r_{i} =
n_{2}x_{j,i} -
n_{1}y_{j,i} +
c_{2} (for the second orthogonal line 24),
wherein
r_{i} is the distance of the
i-th measurement point from the respective line 23, 24 defined by line parameters
n_{1},
n_{2}, c_{1} and
c_{2}.
[0046] The determination of the line parameters
p = [
n_{1},
n_{2}, c_{1}, c_{2}]
^{T} is known and provides lines 23, 24 approaching the object's 130 external contours. For example, an intersection point (
x_{i}, y_{i}) between lines 23 and 24 can be used as a reference point for the object's position.
[0047] To get a higher accuracy, a single measurement of the lines 23, 24 or another quantity derived thereof may be filtered over time to get a higher accuracy. Conventional filtering techniques include Kalman Filters or Particle Filters. The principle of such filters is to estimate a state of an object based on adequately weighting previous and current measurements in order to achieve an optimal estimation of an object's state. The object's state may be any state of interest, such as its position, distance, orientation, velocity, acceleration, rotation, etc.
[0048] Fig. 3 illustrates an operation principle of a Kalman filter for the example of tracking an object's 130 state
x_{k} (e.g. position, orientation, etc.).
[0049] Kalman filtering, also known as linear quadratic estimation (LQE), is an algorithm that uses a series of measurements
y_{k} observed over timeframes
k, containing statistical noise 32 (and other inaccuracies), and produces estimates
of unknown variables that tend to be more accurate than those based on a single measurement alone, by estimating a joint probability distribution over the variables for each timeframe. The algorithm works in a two-phase process. In the prediction phase, the Kalman filter produces estimates
of the current state variables, along with their uncertainties 33. Once the outcome of the next measurement
y_{k} (necessarily corrupted with some amount of error, including random noise) is observed, these estimates are updated
using a weighted average, with more weight being given to estimates with higher certainty. The algorithm is recursive. It can run in real time, using the present input measurements
y_{k} and the previously calculated state
and its uncertainty 31; no additional past information is required.
[0050] The estimate
of the current state can be computed according to:
wherein
denotes a weight coefficient calculated from a variance or covariance
(reference numeral 31) of the object's previously estimated state
a measurement variance or covariance
R (reference numeral 32) and a measurement coefficient
C. The measurement coefficient
C expresses a relation of the measurement sample
and a true state of the tracked state
according to:
[0051] For the present example the object's 130 position can directly be measured (e.g., intersection point (
x_{i}, y_{i}))
. Thus
C is according to:
C = 1.
[0052] The above calculation of
K_{k} includes both an uncertainty
of the previously calculated state
and an uncertainty
R of the current measurement
y_{k}. The coefficient
K_{k} represents a contribution of the current measurement
y_{k} and the previously calculated state
to the estimate
of the current state. A relatively large value of
K_{k} can indicate a relatively low uncertainty (high certainty) of the current measurement
y_{k} compared to the uncertainty of the previously calculated state
In such a case the estimate
of the current state is predominantly determined by the current measurement
y_{k}. For a small value of
K_{k}, the estimate
of the current state is predominantly determined by the previously calculated state
[0053] Conventional methods of adjusting the uncertainties
and/or
R use look-up-tables or heuristics, which often include predefined uncertainties. The predefined uncertainties can be selected based on a measurement accuracy of the sensors 122 and/or distance between the sensors 122 and the object 130, for example. Methods using such predefined uncertainties do not ensure a reliable adaption of the filters to the actual uncertainties of the line fitting process (yielding the current measurements
y_{k}). This may be the case if an uncertainty of the line fitting process changes rapidly, for example due to a partly obstructed line of sight towards the object 130 or changing weather conditions.
[0054] It is one finding of the present disclosure that a tracking filter can operate more accurately when the adaptation of weight coefficient
K_{k}. gets based on an online computation of the uncertainty
R of current measurements
y_{k} instead on relying on predefined values. Here, the term "online" means that the uncertainty is determined along with determining the current measurements, e.g. along with determining the current measurement of lines 23, 24 defined by line parameters
p = [
n_{1},
n_{2}, c_{1}, c_{2}]
^{T}, the position (
x_{i}, y_{i})
, and/or the orientation. The present disclosure provides a method for estimating such uncertainties, expressed by covariances and variances of the fitted lines, simultaneously with respect to the measurement samples and the line parameters. Depending on the dimension of the measurements, the covariances can be scalars or matrices.
[0055] A high-level flowchart 400 of such a method for characterizing an object 130 based on measurement samples from one or more location sensors 122 is shown in
Fig. 4. The skilled person having benefit from the present disclosure will appreciate that method 400 can be implemented by an appropriately configured apparatus 120 of Fig. 1.
[0056] Method 400 includes computing 410 line parameters (e.g.,
p = [
n_{1},
n_{2},
c_{1},
c_{2}]
^{T}) of one or more lines 23, 24 fitting the measurement samples 21, 22 to obtain a characterization (e.g., position, orientation) of the object 130. Further, method 400 includes computing 420 a system covariance matrix ∑
_{sys} including variances of the respective line parameters and covariances between different line parameters based on the system matrix A including coordinates of the measurement samples 21, 22 and based on deviations
r of the measurement samples 21, 22 from the one or more lines 23, 24.
[0057] For the example scenario of Fig. 2, the system covariance matrix ∑
_{sys} can be computed according to:
wherein (
N +
M - 4) denotes the cumulated number of measurement samples 21, 22 of both lines 23, 24 minus the number of degrees of freedom. In this case the degrees of freedom are equal to four due to the four line parameters [
n_{1},
n_{2}, c_{1},
c_{2}]
^{T}. The skilled person will appreciate that in the illustrated example with the two orthogonal lines 23, 24 the covariance matrix ∑
_{sys} is a 4 x 4 matrix having the respective variances of the four line parameters
n_{1},
n_{2}, c_{1},
c_{2} on its main diagonal and covariances between different line parameters on its minor diagonals. The variance of a random variable can be regarded as a measure of the variability of the random variable. Likewise, the covariance is a measure of the joint variability of two random variables. The system covariance matrix ∑
_{sys} can be regarded as a measure of the uncertainty of the of the current measurement of lines 23, 24. In this sense it can be used similar to R in above equation (3) for updating the weight coefficient of a Kalman filter while tracking lines/edges 23, 24, for example.
[0058] Optionally, the system covariance matrix ∑
_{sys} can also be used to determine further variances or covariances of arbitrary points located on the fitted lines 23, 24 according to:
wherein
p_{a} = [
x_{a},y_{a},1,0]
^{T} denotes a point on the first line 23 or a point
p_{a} = [
-y_{a},x_{a},0,1]
^{T} on the second line 24. Such points can be expressed in form of a four-dimensional vector to solve the linear functions according to:
for the first line 23
or 0 =
n_{2}x_{a} -
n_{1}y_{a} + 1 ·
c_{2} =
p^{T} ·
p_{a} for the second line 24, orthogonal to the first line and for a vector of line parameters according to:
p = [
n_{1},
n_{2},c_{1},
c_{2}]
^{T}.
[0059] The covariance ∑
_{a} can be regarded as a measure of the uncertainty of the current measurement of point
p_{a}. In this sense it can be used similar to
R in above equation (3) for updating the weight coefficient of a Kalman filter while tracking measurement point
p_{a}, for example.
[0060] Further optionally, a covariance matrix ∑
_{i} related to the intersection point (
x_{i},y_{i}) between lines 23 and 24 can be determined in a similar way. The intersection corresponds to a point (
x_{i},y_{i}) located on both lines. Hence point coordinates for both linear equations of the respective lines can be used to compute the covariance matrix according to:
wherein
p_{1} and
p_{2} can be expressed as
p_{1} = [
x_{i},y_{i},1,0]
^{T} for the first line 23 and
p_{2} = [
-y_{i},x_{i},1,0]
^{T} for the second line 24. The skilled person will appreciate that in the illustrated example with the two orthogonal lines 23, 24 the covariance matrix ∑
_{i} is a 2 x 2 matrix having the respective variances of x- and y-coordinates its main diagonal and the covariances between them next to it. The mentioned variances and covariances are illustrated graphically in the right chart of Fig. 2 in the form of black ellipses around the intersection point (
x_{i},y_{i}). ∑
_{i} can be regarded as a measure of the uncertainty of the intersection point (
x_{i},y_{i})
. In this sense it can be used similar to
R in above equation (3) for updating the weight coefficient of a Kalman filter while tracking the intersection point (
x_{i},y_{i})
, for example.
[0061] Fig. 5 schematically illustrates different measurement scenarios and their influence on the uncertainty of a resulting reference point used for update in tracking position (dot) and covariance (circle around dot).
[0062] Sketch "A)" illustrates a scenario with only one measurement sample at a corner of object 130 serving as the reference point for tracking. Here, no computation according to equations (4) and (6) is possible. The reference point has the same uncertainty/covariance as the sensor(s) (
R_{pos} = ∑
_{sensor})
. Further, the covariance is without correlation between x- and y-position.
[0063] Sketch "B)" illustrates a scenario with a relatively small number of measurement samples 21, 22 not close to the corner, but enough for setting up linear equation system (1), estimating lines 23, 24, estimating the system covariance matrix ∑
_{sys} according to equation (4), estimating intersection point (
x_{i},y_{i}) as reference point for tracking, and estimating the covariance matrix ∑
_{i} according to equation (6). The small number of measurement samples 21, 22 not too close to the corner can lead to a rather high uncertainty of the current measurement of reference point (
x_{i},y_{i}) (
R_{pos} = ∑
_{i} > ∑
_{Sensor})
. The covariance is relatively large with correlation between x- and y-position.
[0064] Sketch "C)" illustrates a scenario with a higher number of measurement samples 21, 22 closer to the corner, leading to a lower uncertainty of the current measurement of reference point (
x_{i},y_{i}) compared to sketch "B)". The resulting covariance is relatively small with correlation between x- and y-position (
R_{pos} = ∑
_{i} < ∑
_{Sensor})
.
[0065] According to some example embodiments, the object 130 can additionally or alternatively be characterized by its (angular) orientation
φ, which is schematically illustrated in
Fig. 6. As can bee seen, the object's orientation
φ can be measured using the line parameters [
n_{1},
n_{2},c_{1},c_{2}]
^{T} of the fitted lines 23, 24 according to:
[0066] Using the variances and covariances contained in the system covariance matrix ∑
_{sys}, it is possible to compute the variance
of the orientation
φ based on a combination of the line parameters
n_{1},
n_{2}, variances of said line parameters
n_{1},
n_{2}, and covariances of said line parameters. In a particular embodiment related to estimating two orthogonal lines 23, 24, the variance of the orientation
φ can be computed according to
wherein
and
denote the variances of the respective line parameters
n_{1},
n_{2}, and cov(
n_{1},
n_{2}) denotes the corresponding covariance.
can be regarded as a measure of the uncertainty of the current measurement of orientation
φ. In this sense it can be used similar to
R in above equation (3) for updating the weight coefficient of a Kalman filter while tracking the orientation
φ, for example.
[0067] Fig. 7 schematically illustrates different measurement scenarios and their influence on the uncertainty of the orientation
φ.
[0068] Sketch "A)" illustrates a scenario with only one measurement sample 21 at a corner of object 130. Here, no computation according to equations (4) and (7) is possible. Since the single measurement does not yield any information about the object's orientation,
can be assumed infinite.
[0069] Sketch "B)" illustrates a scenario with a small number of measurement samples 21, 22, enough for setting up linear equation system (1), estimating lines 23, 24, estimating the system covariance matrix ∑
_{sys} according to equation (4), and estimating
according to equation (7). The small number of measurement samples 21, 22 will lead to a lower uncertainty of the current measurement of
φ compared to sketch "A", however.
[0070] Sketch "C)" illustrates a scenario with a higher number of measurement samples 21, 22 leading to a lower uncertainty of the current measurement
φ compared to sketch "B)", i.e.
[0071] The above calculations of the various variances and/or covariances may further be useful to estimate the quality of the fitting process. Large variances and/or covariances may indicate an inaccurate characterization of an object and vice versa. Thus, for example, for automotive implementations the variances and/or covariances can be used to ensure the safety of autonomous driving. For example, an autonomously driving car may decelerate earlier in order to maintain a safety distance with regard to an inaccurate characterization of another car driving in front of the autonomously driving car. Further, as mentioned above, the variances and/or covariances can be used to improve tracking of moving objects by adjusting the coefficient
K_{k} of a Kalman filter. Especially for a characterization of moving objects, such as cars, a tracking filter can be adapted to rapidly changing measurement uncertainties.
[0072] In order to explain possible benefits of the proposed online estimation of the various variances and/or covariances,
Fig. 8 illustrates an example traffic situation of a turning object 130, for example a car. The example illustrates a left turn.
[0073] Due to the rotation of the object 130, an orientation of the edges of the object 130 changes. Depending on the object's orientation, a different number of measurement points characterizing the edges may be "visible". In a first phase denoted by "1" the object 130 moves towards a location/distance sensor 122 detecting the edges of the object 130. In phase "1", the location sensor 122 only sees the front edge of object 130 and barely sees the side edge(s) of object 130. Thus the line fitting will be rather poor and the uncertainty of the fitting process is large. In a next phase denoted by "2" the object 130 turned a bit more. In phase "2", the location sensor 122 thus "sees" both the front edge and the side edge of object 130. As a result the lines 23, 24 modeling the edges of the object 130 can be fitted more precisely and the uncertainty of the fitting process is lower. In a next phase denoted by "3" the object 130 turned yet a bit more and the location sensor 122 only sees the side edge of object 130 and barely sees the front edge of object 130. Hence the uncertainty of the fitting process increases again.
[0074] Chart a) shown in Fig. 8 shows a tracking process with online uncertainty (covariance) estimation in accordance with the different phases 1, 2, and 3. In chart a) the tracked state (e.g. orientation) of the object 130 fits the true state quite well during all phases since measurements with correct covariance estimation are used. Chart "b)" illustrates a tracking process with an underestimated measurement noise in phases 1 and 3 by using a conventional method, such as a look-up-table, for determining the uncertainty. Here, the current measurements
y_{k} are weighted too much compared to the compared to the previously calculated state
This can lead to a change in the estimate
of the current state with low latency, but with high noise. This can be very uncomfortable control due to high noise. Chart "c)" illustrates a tracking process with an overestimated measurement noise in phase 2 by using a conventional method, such as a look-up-table, for determining the uncertainty. Here, the current measurements
y_{k} are weighted too little compared to the previously calculated state
This can lead to a change in the estimate
of the current state with high latency and strong damping. This can lead to slow reactions on critical maneuvers.
[0075] Chart "a)" of Fig. 8 shows a desired behavior of a tracking filter which can be provided by embodiments of the present disclosure. While the uncertainty of the fitting process and thus the covariance for phases "1" and "3" is large, the tracking filter characterizes the object predominantly using previously calculated states
which are more precise than the current measurements
y_{k} of the line fitting process. During the object 130 being in phase "2" the tracking filter "trusts" the measurement measurements
y_{k} more since the uncertainty of the line fitting process and thus the covariance is low.
[0076] The mentioned process of chart "a)" in Fig. 8 of tracking an orientation of a turning object can be achieved by an adaptive estimation of a the coefficient
K_{k} adjusting a Kalman filter. A constant estimation of such a coefficient from look-up-tables or heuristics cannot achieve similar results of tracking a turning object, for example. Hence adjusting a discrete time filter by computing the system covariance matrix ∑
_{sys} as a baseline for further covariances ∑
_{a}, ∑
_{i}, or
can provide a more reliable and precise tracking compared to conventional methods based on look-up-tables or heuristics.
[0077] Fig. 9 provides an overview of the previously described concept of covariance estimation.
[0078] In Fig. 9, reference numeral 910 denotes a process of estimating one or more characteristics (e.g., position, orientation, etc.) of the one or more surrounding objects 130 based on measurement samples from the one or more location sensors 122. At 911, clusters of measurement samples can be assigned to different objects 130 using known algorithms, such as density based clustering (DBSCAN) or K-Means. At 912, measurement samples of a cluster can be assigned to different edges of the corresponding object. This can be done by using known algorithms, such as principal component analysis (PCA) or random sample consensus (RANSAC) algorithm. At 913, the object 130 can be characterized by fitting lines to the measurement samples of the respective edges. The fitting process 913 can be for example a (constraint) least square fit setting up the system matrix
A from the measurement samples and solving the linear equation system (1) based on the system matrix
A and the vector
p including the line parameters [
n_{1},
n_{2},c_{1},
c_{2}]
^{T}. The eigenvector corresponding to the lowest eigenvalue of system matrix
A corresponds to the vector of line parameters. At 914, an orientation
φ of the lines 23, 24 and an intersection point (
x_{i},y_{i}) (reference point) of the two lines 23, 24 can be determined.
[0079] Embodiments of the present disclosure propose to additionally determine the respective covariance
∑
_{i} as respective uncertainty of the measurements
φ, (
x_{i},y_{i})
. This additional process is denoted by reference numeral 920 in Fig. 9. At 921, the system covariance matrix ∑
_{sys} is estimated, serving as a baseline for computing
at 924 and for computing ∑
_{i} at 922. Optionally, the covariance ∑
_{a} of arbitrary point (
x_{a},
y_{a}) can also be computed at 923.
[0080] At 930, the measured orientation
φ of the object together with its related covariance
and the measured reference point (
x_{i},y_{i}) together with its related covariance ∑
_{i} can be used for tracking the respective object 130.
[0081] With increasing accuracy or spatial resolution of location/distance sensors, future location/distance sensors (such as laser scanners) are likely to output an enormous number of detections/measurement samples. This can prohibitively increase the computational complexity for estimating object characteristics based on the (constraint) least square fit according to equation (1) since the dimensions of the system matrix
A including the measurement samples increase enormously. Thus a processing time may correlate to the number of detections/measurement samples. According to another aspect of the present disclosure, which can also be combined with aforementioned aspects, it is proposed reduce the computational complexity for estimating object characteristics based on the (constraint) least square fit by registering the measurement samples in a grid map with discrete cell size. It can be shown, if the cell size is not significant larger than the sensor measurement uncertainty, an equal performance can be reached compared to directly using all detections.
[0082] For this purpose embodiments provide a method for characterizing an object based on measurement samples from one or more location sensors. A schematic flowchart of the method 1000 is shown in
Fig. 10.
[0083] The measurement samples have a first spatial resolution, e.g. corresponding to a spatial resolution of the one or more location/distance sensors. Method 1000 includes quantizing 1010 the measurement samples to a grid map of weighted cells having a second spatial resolution, which is lower than the first spatial resolution. A measurement sample contributes to a weight coefficient of one or more weighted cells depending on a measurement accuracy of the respective measurement sample. Method 1000 further includes computing 1020 parameters of one or more lines 23, 24 fitting the weighted cells to obtain a characterization of the object 130. That is, the measurement samples with high resolution are mapped to cells of the grid map with a lower resolution. In this way, the dimensions of the system matrix system matrix
A can be reduced from a high number of measurement samples to a lower number of cells.
[0084] The skilled person having benefit from the present disclosure will appreciate that method 1000 can be implemented by an appropriately configured apparatus 120 of Fig. 1.
[0085] As one can see in
Fig. 11 in order to quantize the measurement samples 21, 22, they are registered in the grid map 1100 of cells with a spatial resolution which is lower than the spatial resolution of the measurement samples 21, 22. Each cell of the grid map 1100 can be characterized by its coordinates (e.g., corresponding to the cell center), while a characterization of the cell is not limited to Cartesian coordinates, but may also work by using different coordinate systems (e.g. polar coordinates). Further each cell can be characterized by a weight coefficient. Each measurement sample 21, 22 contributes weight to the cell its falls within. Further it can also contribute weight to surrounding cells, depending on the measurement uncertainty (measurement covariance). The weights can be calculated using a predefined probability density function, optionally with normalization. The cell weight is equal to the probability that the detection/ measurement is in this cell. For the ease of understanding, this is explained in
Fig. 12 for an exemplary 1D case.
[0086] Fig. 12 illustrates a series of measurement samples 21. The weight coefficient of a weighted cell 1210 is determined based on a probability distribution 1220 around the measurement sample. The probability distribution 1220 can be based on the measurement accuracy of the one or more location sensors 122, for example. In the illustrated example the probability distribution 1220 corresponds to a Gaussian probability distribution having a predefined standard deviation depending on the measurement accuracy. As can be seen, a measurement sample having an associated non-vanishing probability distribution in an area of a weighted cell 1210 adds to the weight coefficient of said cell. If
j measurement samples contribute to the weight
w_{i} of cell
i, the weight coefficient of cell
i can be determined according to w
_{i} = ∑
_{j}w_{j,i}.
[0087] One all measurement samples 21, 22 have been mapped to weighted cells, the weighted cells can be treated as a lower resolution version of the measurement samples and be used as a baseline for a least squares fit similar to equation (1). That is to say, one ore more lines are fitted to the positions of weighted cells instead of the original measurement samples. This means that act 1020 can comprise detecting, based on the weighted cells, one or more edges of the object 130, the one or more edges corresponding to the one or more lines 23, 24.
[0088] The cells have a varying weights since more or less detections are in close proximity. These weights have to be taken into account when fitting the shape. In some example implementations, the line parameters of the lines 23, 24 can be computed based on a weighted constraint least square algorithm taking into account the weight coefficients of the one or more weighted cells. The corresponding linear equation system can be
[0089] The linear equation system (8) is based on a system matrix A including the coordinates of the centers of the weighted cells. In the illustrated example the coordinates are Cartesian coordinates in the form (x, y), while regarding further possible examples, the coordinates may relate to different coordinate systems (e.g. polar coordinates). The vector r denotes deviations (distances) of the weighted cells from the (fitted) lines. Again, the line parameters defining the lines are included in vector
p.
W denotes a matrix of the respective cell weights according to:
w_{j,i} denotes the weight coefficient of the
i-th weighted cell of line
j.
[0090] A first and a second line parameter
n_{1},
n_{2} defining an orientation of the one or more lines can be determined based on a computation of an eigenvector of a normalized system matrix, wherein the normalized system matrix comprises normalized coordinates of the weighted cells, wherein the normalized coordinates are normalized to mean coordinates of the one or more lines. Expressed mathematically, the first and a second line parameter
n_{1},
n_{2} can be computed according to
(with regard to the lower eingenvalue of
A) wherein
A_{norm} can be calculated according to:
with
and
x̃_{j} = ∑
_{i}w_{j,i}x_{j,i} and
ỹ_{j} = ∑
_{i}w_{j,i}y_{j,i}, x_{j,i} and
y_{j,i} denoting the coordinates of the center of the
i-th weighted cell of line
j.
[0091] Further, a line parameter defining the position of line
j can be determined according to:
[0092] For the example scenario of Fig. 11 (two orthogonal lines), the system covariance matrix ∑
_{sys} can be computed according to:
[0093] The skilled person will appreciate that in the illustrated example with the two orthogonal lines 23, 24 the covariance matrix ∑
_{sys} is a 4 x 4 matrix having the respective variances of the four line parameters
n_{1},
n_{2}, c_{1}, c_{2} on its main diagonal and covariances between different line parameters on its minor diagonals. The variance of a random variable can be regarded as a measure of the variability of the random variable. Likewise, the covariance is a measure of the joint variability of two random variables. The system covariance matrix ∑
_{sys} can be regarded as a measure of the uncertainty of the of the current measurement of lines 23, 24. In this sense it can be used similar to R in above equation (3) for updating the weight coefficient of a Kalman filter while tracking lines/edges 23, 24, for example.
[0094] Based on the system covariance matrix ∑
_{sys}, the variance of an orientation, the variance of any point on one of the fitted lines or a covariance matrix of the intersection point can be computed similar to the above calculations. Such uncertainties can then again be used to adapt a tracking filter for a precise tracking result as mentioned before. However while the spatial resolution of the weighted grid map is lower than the spatial resolution of the one or more location sensors, the uncertainty of the fitting process should be equal to a fitting process based on fitting lines directly to the measurement samples.
[0095] Fig. 13 provides an overview of the previously described concept of using grid maps.
[0096] At 1301 measurement samples of one scan from one or more sensors are received. At 1302, the measurement samples are mapped to grid map as described before. At 1303, clusters of cells can be assigned to different objects 130 using known algorithms, such as density based clustering (DBSCAN) or K-Means. At 1304, cells of a cluster can be assigned to different edges of the corresponding object. This can be done by using known algorithms, such as principal component analysis (PCA) or random sample consensus (RANSAC) algorithm. At 1306, the object 130 can be characterized by fitting two lines to the weighted cells of the respective edges. The fitting process 1306 can be, for example, a weighted constraint least square fit setting up the system matrix
A from the weighted cells and solving the linear equation system (8). The eigenvector corresponding to the lowest eigenvalue of
corresponds to the vector of line parameters [
n_{1},
n_{2}]
^{T}. At 1307, an orientation
φ of the lines 23, 24 and an intersection point (
x_{i},y_{i}) (reference point) of the two lines 23, 24 can be determined. At 1308, the system covariance matrix ∑
_{sys} can be determined according to equation (12). Embodiments of the present disclosure propose to additionally determine the respective covariance
∑
_{i} as respective uncertainty of the measurements
φ and (
x_{i},y_{i})
. The measured orientation
φ of the object together with its related covariance
and the measured reference point (
x_{i},
y_{i}) together with its related covariance ∑
_{i} can be used for tracking the respective object 130.
[0097] Note that the proposed concept is not limited to L-Shapes, but also I-Shape (Line), U-Shape (open rectangle) or Rectangle can be fitted. This is straight-forward since the linear equation system is equivalent, only A and p matrix is varied. The sensors are not limited to laser scanners, but could be as well high resolution radar, camera detections, ultra sonic etc. or a mixture of multiple sensors registered in the same measurement grid.
[0098] As an approximation instead of a measurement grid a standard occupancy grid map can be used, which is typically calculated using sensor models. The probability density function does not need to be evaluated for each measurement sample / cell combination, but can be based on a look-up-table (patch) increasing close-by cell weights.
[0099] In theory each measurement sample influences an infinite number of cells, since a normal or Laplace distribution is not bounded. Practically after some standard deviations the values are really low. Practically e.g. only the likelihood of cells in 1σ-2σ range may be changed for each detection. Since e.g. the laser scanner has for a detection in a certain distance always the same measurement uncertainty, the increasing value can be calculated before and stored in a look-up-table.
[0100] If sensor detections does not always emerge from the edge of a vehicle or outliers are present (close-by-detections not from the object), the approach can be extended by a RANSAC algorithm to exclude these cells from fitting.
[0101] From the linear equations of the fitted lines including the determined line parameters one can compute an intersection point 1107. Defining and/or tracking the position and/or motion of an intersection point can be useful to estimate a position, velocity or rotation of a detected object. Instead of using, for example a measurement point, to determine a position or velocity of an object, using the intersection point of two fitted lines as a reference point should be more reasonable. While measurement points are not fixed to a specified point on the object's surface, the intersection point defines approximately the corner of an object. Thus the intersection point is also called reference point. In some example of a vehicle of the present disclosure it may be useful to determine such a reference point, for example to compute a maneuver to pass another car on a highway. However this may also be useful to initiate emergency braking in case of an emergency situation.
[0102] Further the present disclosure comprises determining an orientation of an object. The said orientation can directly be calculated from the first line parameters
n_{1} and
n_{2} for a present example of fitting two orthogonal lines according to:
[0103] However for further implementations of the present disclosure an orientation may also be defined for one or more lines, which can also be non-orthogonal.
[0104] As mentioned above, for tracking purposes an estimation of the uncertainty of the fitting process can be useful, for example to adapt a Kalman filter. However this is also possible using a grid map of weighted cells and the corresponding fitted lines. Similar to a fitting process without using grid maps, calculating uncertainties of a fitting process can be based on a system covariance matrix including covariances and variances of the line parameters 1108. Additionally to a vector of deviations
r and a system matrix
A, one may also provide the matrix
W including the cumulated cell weights
w_{j,i} to calculate a system covariance matrix according to:
wherein
r denotes a vector including the deviations of cell coordinates of weighted cells to the fitted lines and
A denotes a system matrix of cell coordinates as mentioned before.
[0105] Based on the calculated system covariance matrix, the variance of an orientation, the variance of any point on one of the fitted lines or a covariance matrix of the intersection point can be computed similar to the above calculations. Such uncertainties can then again be used to adapt a tracking filter for a precise tracking result as mentioned before. However while the spatial resolution of the weighted grid map is lower than the spatial resolution of the one or more location sensors, the uncertainty of the fitting process should be equal to a fitting process based on fitting lines directly to the measurement samples.
[0106] Due to the similar uncertainty of the fitting process and a reduced effort of fitting lines to quantized measurement samples, the method of the present disclosure provides an efficient characterization of surrounding objects. Thus the quantization of measurement samples of location sensors with high resolution can be used for tracking purposes. Further for tracking objects tracking filter, such as a Kalman filter, can be used. Then again a tracking filter can be adapted by using a system covariance matrix calculated simultaneously from the weighted grid map.
[0107] The aspects and features mentioned and described together with one or more of the previously detailed examples and figures, may as well be combined with one or more of the other examples in order to replace a like feature of the other example or in order to additionally introduce the feature to the other example.
[0108] Examples may further be or relate to a computer program having a program code for performing one or more of the above methods, when the computer program is executed on a computer or processor. Steps, operations or processes of various above-described methods may be performed by programmed computers or processors. Examples may also cover program storage devices such as digital data storage media, which are machine, processor or computer readable and encode machine-executable, processor-executable or computer-executable programs of instructions. The instructions perform or cause performing some or all of the acts of the above-described methods. The program storage devices may comprise or be, for instance, digital memories, magnetic storage media such as magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Further examples may also cover computers, processors or control units programmed to perform the acts of the above-described methods or (field) programmable logic arrays ((F)PLAs) or (field) programmable gate arrays ((F)PGAs), programmed to perform the acts of the above-described methods.
[0109] The description and drawings merely illustrate the principles of the disclosure. Furthermore, all examples recited herein are principally intended expressly to be only for illustrative purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor(s) to furthering the art. All statements herein reciting principles, aspects, and examples of the disclosure, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0110] A functional block denoted as "means for ..." performing a certain function may refer to a circuit that is configured to perform a certain function. Hence, a "means for s.th." may be implemented as a "means configured to or suited for s.th.", such as a device or a circuit configured to or suited for the respective task.
[0111] Functions of various elements shown in the figures, including any functional blocks labeled as "means", "means for providing a signal", "means for generating a signal.", etc., may be implemented in the form of dedicated hardware, such as "a signal provider", "a signal processing unit", "a processor", "a controller", etc. 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 or all of which may be shared. However, the term "processor" or "controller" is by far not limited to hardware exclusively capable of executing software, but may include digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and nonvolatile storage. Other hardware, conventional and/or custom, may also be included.
[0112] A block diagram may, for instance, illustrate a high-level circuit diagram implementing the principles of the disclosure. Similarly, a flow chart, a flow diagram, a state transition diagram, a pseudo code, and the like may represent various processes, operations or steps, which may, for instance, be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. Methods disclosed in the specification or in the claims may be implemented by a device having means for performing each of the respective acts of these methods.
[0113] It is to be understood that the disclosure of multiple acts, processes, operations, steps or functions disclosed in the specification may not be construed as to be within the specific order, unless explicitly or implicitly stated otherwise, for instance for technical reasons.
[0114] Therefore, the disclosure of multiple acts or functions will not limit these to a particular order unless such acts or functions are not interchangeable for technical reasons. Furthermore, in some examples a single act, function, process, operation or step may include or may be broken into multiple sub-acts, -functions, -processes, -operations or -steps, respectively. Such sub acts may be included and part of the disclosure of this single act unless explicitly excluded.
1. Vorrichtung (120) zum Charakterisieren eines Objekts (130) auf der Basis von Messwerten (21) von einem oder mehreren Positionssensoren (122), wobei die Messwerte (21, 22) eine erste räumliche Auflösung haben, wobei die Vorrichtung (120) Folgendes umfasst:
eine Prozessorschaltung (121), die konfiguriert ist, die folgenden Schritte auszuführen:
Quantisieren der Messwerte (21) in eine Netzkarte (1100) mit gewichteten Zellen, die eine zweite räumliche Auflösung haben, die niedriger als die erste räumliche Auflösung ist, wobei ein Messwert (21, 22) zu einem Gewichtungskoeffizienten einer oder mehrerer gewichteter Zellen in Abhängigkeit von einer Messgenauigkeit beiträgt; und
Berechnen von Linienparametern von einer oder mehreren Linien (23, 24), die zu den gewichteten Zellen passen, um eine Charakterisierung des Objekts (130) zu erhalten.
2. Vorrichtung (120) nach Anspruch 1, wobei die Prozessorschaltung (121) konfiguriert ist, den Gewichtungskoeffizienten einer gewichteten Zelle auf der Basis einer Wahrscheinlichkeitsverteilung (1220) um den Messwert (21, 22) zu ermitteln, wobei die Wahrscheinlichkeitsverteilung (1220) auf der Messgenauigkeit des einen oder der mehreren Positionssensoren (122) beruht.
3. Vorrichtung (120) nach Anspruch 2, wobei ein Messwert (21, 22), der eine zugehörige nicht verschwindende Wahrscheinlichkeitsverteilung (1220) in einem Bereich einer gewichteten Zelle aufweist, zu dem Gewichtungskoeffizienten der Zelle beiträgt.
4. Vorrichtung (120) nach einem der vorhergehenden Ansprüche, wobei die Prozessorschaltung (121) konfiguriert ist, auf der Basis der gewichteten Zellen eine oder mehrere Kanten des Objekts zu detektieren, wobei die eine oder die mehreren Kanten der einen oder mehreren Linien (23, 24) entsprechen.
5. Vorrichtung (120) nach einem der vorhergehenden Ansprüche, wobei die Prozessorschaltung (121) konfiguriert ist, Linienparameter von zwei senkrechten Linien (23, 24), die zu den gewichteten Zellen passen, zu berechnen.
6. Vorrichtung (120) nach einem der vorhergehenden Ansprüche, wobei die Prozessorschaltung (121) konfiguriert ist, die Linienparameter der einen oder der mehreren Linien (23, 24) auf der Basis eines Algorithmus der gewichteten beschränkten kleinesten Quadrate zu berechnen, wobei die Gewichtungskoeffizienten der einen oder der mehreren gewichteten Zellen berücksichtigt werden.
7. Vorrichtung (120) nach Anspruch 6, wobei die Prozessorschaltung (121) konfiguriert ist, einen ersten und einen zweiten Linienparameter, die einer Orientierung der einen oder der mehreren Linien (23, 24) entsprechen, auf der Basis einer Berechnung eines Eigenvektors einer normierten Systemmatrix zu berechnen, wobei die normierte Systemmatrix normierte Koordinaten der gewichteten Zellen umfasst, wobei die normierten Koordinaten auf gemittelte Koordinaten der einen oder der mehreren Linien (23, 24) normiert sind.
8. Vorrichtung (120) nach Anspruch 7, wobei die Prozessorschaltung (121) konfiguriert ist, wenigstens einen weiteren Linienparameter C
_{j} in Übereinstimmung mit einer Position einer Linie j auf der Basis der folgenden Gleichung zu berechnen:
wobei n
_{1} und n
_{2} dem ersten und einem zweiten Linienparameter entsprechen, mit:
wobei w_{j,i} die Gewichtung der i-ten gewichteten Zelle der Linie j ist,
wobei A_{j} der entsprechende Teil der Systemmatrix A ist, die die Messwerte der Linie j umfasst.
9. Vorrichtung (120) nach Anspruch 6, wobei die Prozessorschaltung (121) konfiguriert ist, eine System-Kovarianzmatrix (921), die Varianzen der jeweiligen Linienparameter und Kovarianzen zwischen unterschiedlichen Linienparametern umfasst, auf der Basis einer Systemmatrix, die Koordinaten der gewichteten Zellen und die Gewichtungskoeffizienten der gewichteten Zellen enthält, und auf der Basis von Abweichungen der gewichteten Zellen von der einen oder den mehreren Linien (23, 24) zu berechnen.
10. Vorrichtung (120) nach Anspruch 9, wobei die Prozessorschaltung (121) konfiguriert ist, die System-Kovarianzmatrix (921) ∑
_{Sys} nach der folgenden Gleichung zu berechnen:
wobei A eine Systemmatrix ist, die Koordinaten der Messwerte enthält,
r ein Vektor ist, der die Abweichungen der gewichteten Zellen von der einen oder den mehreren Linien (23, 24) umfasst, ∑ eine Matrix ist, die Varianzen und Kovarianzen der Linienparameter umfasst, und
W eine Matrix ist, die gewichtete Matrizen entsprechend der einen oder den mehreren Linien (23, 24) nach der folgenden Darstellung umfasst:
wobei K die Anzahl der Linien ist.
11. Vorrichtung (120) nach Anspruch 9 oder 10, wobei die Prozessorschaltung (121) konfiguriert ist, eine Kovarianzmatrix (921) von Koordinaten (x_{c}, y_{c}) eines Schnittpunkts zwischen einer ersten und einer zweiten Linie (23, 24) auf der Basis der System-Kovarianzmatrix und der Koordinaten (x_{c}, y_{c}) zu berechnen.
12. Vorrichtung (120) nach einem der Ansprüche 9 bis 11, wobei die Prozessorschaltung (121) konfiguriert ist, eine Varianz einer Orientierung (924) der einen oder mehreren Linien (23, 24) auf der Basis von Linienparametern, die einer Orientierung der einen oder der mehreren Linien (23, 24) entsprechen, der Varianzen und der Kovarianzen zu berechnen.
13. Fahrzeug (110), das einen oder mehrere Positionssensoren (122) und eine Vorrichtung (120) nach einem der vorhergehenden Ansprüche umfasst.
14. Verfahren zum Charakterisieren eines Objekts (130) auf der Basis von Messwerten (21, 22) von einem oder mehreren Positionssensoren (122), wobei die Messwerte (21, 22) eine erste räumliche Auflösung haben, wobei das Verfahren die folgenden Schritte umfasst:
Quantisieren der Messwerte (21, 22) in eine Netzkarte (1100) gewichteter Zellen, die eine zweite räumliche Auflösung haben, die niedriger als die erste räumliche Auflösung ist, wobei ein Messwert (21, 22) zu einem Gewichtungskoeffizienten einer oder mehrerer gewichteter Zellen in Abhängigkeit von einer Messgenauigkeit beiträgt; und
Berechnen von Parametern der einen oder der mehreren Linien (23, 24), die zu den gewichteten Zellen passen, um eine Charakterisierung des Objekts (130) zu erhalten.
15. Computerprogramm, das Programmcode besitzt, um das Verfahren nach Anspruch 14 auszuführen, wenn das Computerprogramm auf einer programmierbaren Hardwarevorrichtung einer Vorrichtung nach Anspruch 1 ausgeführt wird.