Advanced driver assistance system and method
11164012 · 2021-11-02
Assignee
Inventors
Cpc classification
G06V10/457
PHYSICS
B60W2552/53
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A driver assistance system detects lane markings in a perspective image of a road in front of a vehicle. The driver assistance system extracts a plurality of features, in particular lane markings, from the perspective image for generating a set of feature coordinates, in particular lane marking coordinates. The system generates a plurality of pairs of feature coordinates, each pair defining a straight line, and estimates a lane curvature on the basis of a subset of the pairs of feature coordinates. For each pair a straight line defined by the pair intersects a predefined target portion of the perspective image, the predefined target portion including a plurality of possible positions of a vanishing point.
Claims
1. A driver assistance system configured to detect lane markings in a perspective image of a road in front of a vehicle, the perspective image comprising a vanishing point, wherein a position of the vanishing point depends upon a road curvature, the driver assistance system comprising a processor configured to: extract a plurality of features from the perspective image for generating a set of feature coordinates, wherein the set of feature coordinates defines respective positions of the plurality of features in the perspective image; generate a plurality of pairs of feature coordinates, wherein each of the pairs of feature coordinates defines a straight line; and estimate a lane curvature on the basis of a subset of the plurality of pairs of feature coordinates, wherein for each pair of feature coordinates of the subset of the plurality of pairs of feature coordinates, the straight line defined by the respective pair of feature coordinates intersects a predefined target portion of the perspective image, wherein the predefined target portion defines an area of the perspective image where a plurality of possible positions of the vanishing point can appear, wherein one or more pairs of feature coordinates of the plurality of pairs of feature coordinates are excluded from the subset of the plurality of features, wherein for each pair of feature coordinates of the one or more pairs of feature coordinates, a straight line defined by the pair of feature coordinates does not intersect the predefined target portion.
2. The system of claim 1, wherein the predefined target portion has a quadrilateral shape in the perspective image.
3. The system of claim 1, wherein the processor is configured to estimate the lane curvature on the basis of the subset of the plurality of pairs of feature coordinates using a RANSAC algorithm.
4. The system of claim 3, wherein the processor is configured to estimate the lane curvature on the basis of the subset of the plurality of pairs of feature coordinates using the RANSAC algorithm by performing the following steps: randomly selecting n pairs of feature coordinates from the plurality of pairs of feature coordinates, wherein n is a minimum number required to generate a fitting model; generate the fitting model on the basis of then pairs of feature coordinates; counting the number of pairs of feature coordinates consistent with the fitting model; and repeating the previous steps until a fitting model consistent with a large number of pairs of feature coordinates is found.
5. The system of claim 1, wherein the processor is configured to generate the plurality of pairs of feature coordinates: by dividing the perspective image into a plurality of horizontally extending stripes, and by processing the plurality of horizontally extending stripes from bottom to top.
6. The system of claim 5, wherein for a currently processed horizontally extending stripe, of the horizontally extending stripes, the processor is configured: to divide the currently processed horizontally extending stripe into a plurality of source windows, and to generate first feature coordinates, of a pair of feature coordinates of the plurality of pairs of feature coordinates, by selecting feature coordinates from at least one feature located in at least one of the plurality of source windows.
7. The system of claim 6, wherein for the currently processed horizontally extending stripe, the processor is configured: to divide a neighbouring horizontally extending stripe above the currently processed horizontally stripe into a plurality of destination windows, and to generate second feature coordinates of the pair of feature coordinates by selecting feature coordinates from at least one feature located in at least one of the plurality of destination windows.
8. The system of claim 7, wherein the plurality of destination windows of the neighbouring horizontally extending stripe above the currently processed horizontally extending stripe are at least partially overlapping.
9. The system of claim 1, wherein the processor is configured: to cluster the plurality of straight lines defined by the plurality of pairs of feature coordinates of the subset of the plurality of pairs of feature coordinates into a set of straight line clusters comprising one or more of the plurality of straight lines, and to determine for each straight line cluster a representative cluster line.
10. The system of claim 9, wherein the processor is configured to estimate the lane curvature on the basis of the set of representative cluster lines.
11. The system of claim 1, wherein the system further comprises a stereo camera configured to provide the perspective image of the road in front of the vehicle as a stereo image having a first channel and a second channel.
12. The system of claim 11, wherein the processor is configured: to independently extract features from the first channel of the stereo image and the second channel of the stereo image, and to determine those features, which have been extracted from both the first channel and the second channel of the stereo image.
13. A method of detecting lane markings in a perspective image of a road in front of a vehicle, the perspective image defining a vanishing point, wherein a position of the vanishing point depends upon a road curvature, and wherein the method comprises: extracting a plurality of features from the perspective image for generating a set of feature coordinates, wherein the set of feature coordinates defines respective positions of the plurality of features in the perspective image; generating a plurality of pairs of feature coordinates, wherein each of the pairs of feature coordinates defines a straight line; and estimating a lane curvature on the basis of a subset of the plurality of pairs of feature coordinates, wherein for each pair of feature coordinates of the subset of the plurality of pairs of feature coordinates, the straight line defined by the respective pair of feature coordinates intersects a predefined target portion of the perspective image, wherein the predefined target portion defines an area of the perspective image where a plurality of possible positions of the vanishing point can appear; wherein one or more pairs of feature coordinates of the plurality of pairs of feature coordinates are excluded from the subset of the plurality of features, wherein for each pair of feature coordinates of the one or more pairs of feature coordinates, a straight line defined by the pair of feature coordinates does not intersect the predefined target portion.
14. A non-transitory computer readable medium comprising program code for performing the method of claim 13 when executed on a computer or a processor.
15. The system of claim 1, wherein the plurality of features are lane markings and the set of feature coordinates are lane marking coordinates.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Exemplary embodiments of the present invention will be described with respect to the following figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) In the various figures, identical reference signs will be used for identical or at least functionally equivalent features.
DETAILED DESCRIPTION
(10) In the following description, reference is made to the accompanying drawings, which form part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the present invention may be placed. It is understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the present invention is defined by the appended claims.
(11) For instance, it is understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise.
(12)
(13) In the embodiment shown in
(14) As illustrated in
(15) Moreover, the ADAS 100 includes a processing unit 109 configured to generate a plurality of pairs of feature coordinates, where each pair of feature coordinates defines a straight line, and to estimate a lane curvature on the basis of a subset of the plurality of pairs of feature coordinates, where for each pair of feature coordinates of the subset of the plurality of pairs of feature coordinates a respective straight line defined by, i.e. running through the pair of feature coordinates intersects a predefined target portion of the perspective image, where the predefined target portion includes a plurality of possible positions of the vanishing point, as will be described in more detail further below in particular in the context of
(16) As illustrated in
(17) In an embodiment, the feature extractor 101 can be further configured to perform convolution operations and compare the respective result of a respective convolution operation with a respective threshold value for extracting the features, in particular coordinates of the lane markings. Mathematically, such a convolution operation can be described by the following equation for a 2-D discrete convolution:
(18)
where the kernel K is a matrix of the size (Kr×Kc) or (Kernel row or height×Kernel column or width) and I(i, j) and O (i, j) denote the respective arrays of input and output image intensity values. The feature extractor 101 of the ADAS 100 can be configured to perform feature extraction on the basis of a horizontal 1-D kernel K, i.e. a kernel with a kernel matrix only depending on m (i.e. the horizontal direction) but not on n (i.e. the vertical direction).
(19) In the exemplary embodiment shown in
(20) As illustrated in
(21) The geometrical transformation from the bird's eye view, i.e. the non-distorted view 200 to the perspective image view, i.e. the distorted view 200′ is feasible through a transformation matrix H which maps each point of the distorted domain into a corresponding point of the non-distorted domain and vice versa, as the transformation operation is invertible.
(22) L.sub.x and L.sub.y are the non-distorted expected width of lane marking and sampling step, respectively. They may be obtained from the camera projection parameter Θ, the expected physical width Ω of the lane marking, and the expected physical gap Ψ between the markings of a dashed line.
L.sub.y=f(Θ,Ω,Ψ)
L.sub.x=f(Θ,Ω,Ψ)
(23) Each horizontal stripe of index r in the image view has the height of a distorted sampling step L′.sub.y(r), which corresponds to the non-distorted sampling step, i.e. L.sub.y.
(24) The expected width of lane marking at stripe r is denoted by a distorted expected width L′.sub.x(r), which corresponds to the non-distorted expected width of lane marking L.sub.x. The geometrical transformation from the distorted domain (original image) to the non-distorted domain (bird's eye view) is feasible through a transformation matrix H which maps each point of the distorted domain into a corresponding point of the non-distorted domain. The operation is invertible.
(25) As illustrated in the perspective image view 200′ of
(26) As will be appreciated and as illustrated in
(27) As already mentioned above, the processing unit 109 of the ADAS shown in
(28)
(29) In addition to the predefined target portion 301,
(30) In an embodiment, the processing unit 109 of the ADAS 100 is configured to estimate the lane curvature on the basis of the subset of the plurality of pairs of feature coordinates using a RANSAC (random sample consensus) algorithm. Thus, in an embodiment, the processing unit 109 of the ADAS 100 is configured to estimate the lane curvature on the basis of the subset of the plurality of pairs of feature coordinates by performing the following steps: randomly selecting n pairs of feature coordinates, where n is the minimum number needed to generate a fitting model; generate the fitting model on the basis of the n pairs of feature coordinates; counting the number of pairs of feature coordinates consistent with this fitting model; and repeating the previous steps until a fitting model consistent with a large number of pairs of feature coordinates is found.
(31) As can be taken from
(32) As will be appreciated, a source/destination window can contain zero or more feature coordinates and may have an arbitrarily defined size. In an embodiment, the destination windows can be wider than the source windows. A source window can be considered as a grid located within the perspective image 300. The grid is not necessarily equidistantly spaced. For example, an equidistantly spaced grid is obtained by dividing the image width by a constant cw and the image height by a constant ch. In an embodiment, the scanning operation places a source window on possible lane marking appearances in the perspective image 300, e.g., only the lower half part of the perspective image 300 is scanned.
(33) As already described above, a destination window (which can be considered to define a guided search area) is located in the horizontal stripe “above” the source window stripe. There is no overlap between source and destination windows. The destination windows may overlap between them. In an embodiment, the construction of a destination window is taking into account the a-priori definition of the target portion, i.e. the area where the vanishing point might appear (e.g., given a stereo camera, the vanishing point might appear in the middle of the camera at a certain distance). Therefore, the destination window for a source window located on the left side tends to occupy more space to the right of the source window). The windows scan the image horizontally and vertically.
(34) As can be taken from
(35)
(36) In a pre-processing stage 501 the perspective image 300 (or at least a part thereof) is divided into source windows, such as the source window 302, and the corresponding (possibly overlapping) destination windows, such as the destination window 302, based on the a-priori definition of the target portion 301, i.e. the area where the vanishing point might appear.
(37) In a processing stage 503 the following steps are performed for every source-destination window pair:
(38) In a step 503a obtaining a set of feature coordinates in the source window, for instance in the source window 302, and a set of feature coordinates in the destination window, for instance in the destination window 303.
(39) In a step 503b choosing N (N<=All possible combinations) different feature pairs, where each feature pair includes a feature coordinate from the source window 302 and a feature coordinate from the destination window 303.
(40) In a step 503c determining a straight line, such as the straight line 305, from the source window 302 to the destination window 303, by fitting the line to the chosen feature pairs.
(41) The above steps 503a-c provide an initial set of lines for each source-destination window pair. In a final stage 505 this initial set of lines can be further processed by clustering these lines into a set of straight line clusters consisting of one or more of the plurality of straight lines and to determine for each straight line cluster a representative cluster line. In such an embodiment, the processing unit 109 of the ADAS can estimate the lane curvature on the basis of the set of representative cluster lines.
(42)
(43)
(44) While a particular feature or aspect of the disclosure may have been disclosed with respect to only one of several implementations or exemplary embodiments, such a feature or aspect may be combined with one or more further features or aspects of the other implementations or embodiments as may be desired or advantageous for any given or particular application. Furthermore, to the extent that the terms “include”, “have”, “with”, or other variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprise”. Also, the terms “exemplary”, “for example” and “e.g.” are merely meant as an example, rather than the best or optimal. The terms “coupled” and “connected”, along with derivatives thereof may have been used. It should be understood that these terms may have been used to indicate that two elements cooperate or interact with each other regardless whether they are in direct physical or electrical contact, or they are not in direct contact with each other.
(45) Although exemplary aspects have been illustrated and described herein, it will be appreciated that a variety of alternate and/or equivalent implementations may be substituted for the exemplary aspects shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein.
(46) Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
(47) Many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the above teachings. Of course, those skilled in the art readily recognize that there are numerous applications of the present invention beyond those described herein. While the invention has been described with reference to one or more particular embodiments, those skilled in the art recognize that many changes may be made thereto without departing from the scope of the present invention. It is therefore to be understood that within the scope of the appended claims and their equivalents, the present invention may be practiced otherwise than as specifically described herein.