Patent Description:
Computer vision, such as used in advanced driver assistant systems (ADAS), may assign points in space to pixels or areas of an image acquired by a camera. For ADAS, accurate estimates of a projection of the camera are essential for accurately estimating the distance to objects in front of the vehicle. Latter, in turn, is crucial for camera based traffic safety applications like, e.g., automated braking or automated cruise control.

For ADAS purposes in a vehicle, the camera is typically mounted behind the windshield pane in the mirror cover. Evidently, this solves the problem of blocking the camera lenses by dirt or rain. Unfortunately, the particular location of the camera introduces the optical properties of the windshield pane into the projection geometry of the complete optical system. Windshield pane influences can introduce a substantially different behavior of the optical paths compared to that of the coaxially ordered lenses inside the camera optics. Consequently, the optical system of the camera together with the windshield pane can yield significant image deviations compared to the same camera without the windshield pane in front of it. The above class of optical distortions are refered to as windshield pane distortions of the camera image.

The problem of estimation of the projection properties of an optical system including any type of emerging distortions is referred to as camera calibration. Typically, latter process has a parametric character. That is, there is a family of functions - a camera model - customized by a vector of parameters, which for each fixed vector of parameters describes a physical camera device, that is, how points in space are projected onto the image by this particular camera. The vector above is referred then to as the camera parameters.

The application of a camera model in ADAS usually addresses the inverse problem to projection. That is, given a pixel location in the image, the objective is to estimate the set of points in space that are imaged to this particular pixel location. Camera calibration is then utilized as a tool to remove the unwanted influences of the optics in order to describe the optical system by a computationally simple model. This simple model is a pinhole camera, which is in turn essentially the central projection. Further removing the effects of the windshield pane is refered to as image rectification. In particular for stereo imaging, rectification is a major tool to estimate dense distance maps of a scene efficiently. Stereo rectification modifies the images of a system of two different cameras as to come from a parallel system of two optically identical pinhole cameras. In such a system, corresponding object points can be found on the same horizontal image line, which significantly simplifies the search for corresponding points and, consequently, the disparity computation.

Ignoring the impact of the windshield pane distortion can severely obscure the distance estimation to objects, in particular at short distances, in front of the vehicle. Consequently, it is essential to model and estimate the windshield pane distortions.

As an example, European patent application <CIT> comprises a method for rectification of images aquired by at least one camera of a camera-based system of a vehicle with a windshield pane. The camera-based system is calibrated by placing an imaging target in form of a board with a known pattern in the field of view of a camera of the camera based system, such that the camera can acquire a calibration image of the board through the windshield pane. From this, windshield distortions which are introduced by the windshield pane are calculated. Then, an image is acquired with the camera and a set of points in space that is projected to a location on the image is calculated using the determined windshield distortion. This method, however, is computationally intensive and treats the camera and the windshield pane as one optical system. Hence, for every combination of camera and windshield pane, a new calibration has to be performed.

As another example, the article "<NPL>) discloses computations of refractions of spherical windshields.

As yet another example, French patent application <CIT> discloses a method for calibrating a camera mounted on the windshield of a motor vehicle, compensating for the distortion generated by the acquisition of the images through the windshield.

As yet another example, the article "<NPL>) discloses a local camera model based on B-splines which can handle various distortions.

It is an object of the present invention to provide a method for rectification of images and/or image points acquired by at least one camera of a camera-based system of a vehicle with a windshield pane that is computationally fast and separates the optical effects of the windshield pane and the camera. It is a further object of the present invention to provide a camera-based system for a vehicle that is adapted to perform said method and a vehicle comprising a windshield pane and said camera-based system.

The problem is solved by the subject-matter of the independent claims.

Embodiments are provided by the dependent claims, the following description and the accompanying figures.

According to a first aspect of the invention, a method for rectification of images and/or image points is provided. That is, the method applies to both the rectification of full images and the rectification of some image points of an image, e.g., image points relating to objects of interest, image points relating to very characteristic objects in the image or image points relating to bounding boxes, e.g., of other vehicles or pedestrians.

The images or image points are acquired by at least one camera of a camera-based system of a vehicle with a windshield pane. If the camera-based system comprises more than one camera, e.g., stereoscopic information may be obtained by the cameras. The camera is mounted behind the windshield pane, i.e., the windshield is arranged between the camera and the surroundings of the vehicle. Hence, the camera is protected from environmental influences such as rain or dirt.

As a first step of the method, a raw image of a scene is acquired with the camera. The scene may be a traffic scene, comprising a road, road signs, buildings, pedestrians and/or other vehicles. Since the windshield pane is arranged in front of the camera, light rays from the scene are first deflected by the windshield pane and then focused by an objective lens onto an image sensor. The objective lens may be a wide-angle lens, e.g., a fisheye lens or a rectilinear wide-angle lens. The image sensor may be, e.g., a CMOS sensor or a CCD sensor.

Then, raw image data is selected from the raw image, wherein the raw image data is the full raw image, a part of the raw image or a plurality of raw image points of the raw image. The part of the raw image may be an area of particular interest and the raw image points may relate to objects of interest, to very characteristic objects in the image or to bounding boxes, e.g., of other vehicles or pedestrians.

Based on the raw image data, intermediate image data is calculated. The intermediate image data comprises an intermediate image or a plurality of intermediate image points and resembles an image or image points of the scene obtained by a pinhole camera through the windshield pane. In other words, the effects of the objective lens are removed in the intermediate image and replaced by a pinhole camera. To do so, the calculation of the intermediate image data is further based on camera parameters, i.e., on parameters characterizing the objective lens. The details of said calculation are known to the person skilled in the art. By removing the effects of the objective lens in this step, the optical effects of the camera and the windshield pane are separated from one another. Hence, if a different camera is to be used behind a given windshield pane, only the new camera parameters have to be provided and if a camera with known camera parameters is installed behind a different windshield pane, only the effects of the different windshield pane have to be evaluated.

As a last step of the method, a set of points in space of the scene is calculated. Said points in space of the scene correspond to pixels of the intermediate image or to the intermediate image points. That is, the points in space of the scene are points in space that, if projected through the windshield pane by a pinhole camera would yield the pixels of the intermediate image or the intermediate image points. For the calculation of the points in space of the scene, a parallel shift of the optical path induced by the windshield pane is used. That is, the effect of the windshield pane is modeled as a parallel shift of the optical path. This is exactly true for plane windshield panes and a very good approximation for windshield panes with only a slight curvature in the region of the camera. Said calculation is based on windshield pane parameters and is computationally fast.

Hence, the method provides a rectification of images and/or image points acquired by at least one camera that separates the effects of the windshield pane and the camera and is computationally fast.

According to an embodiment, a sequence of raw images of a scene is acquired with the camera. Said sequence is in particular a time-series of images of the scene. In the sequence, the scene changes as objects in the scene move and/or as the vehicle and therefore the camera moves. As the scene changes, the raw image points and/or the intermediate image points are tracked. The set of points in space also changes along with the sequence of raw images and corresponds to the tracked raw image points and/or intermediate image points. By tracking the raw and/or intermediate image points, a distance of the points in space corresponding to said image points may be determined.

The windshield pane parameters comprise a normal vector n of the windshield pane in the region close to the camera, a thickness t of the windshield pane and a refraction coefficient v of the windshield pane. The region close to the camera is in particular the region of the windshield pane around the center of vision of the camera. The normal vector n and the thickness t of the windshield pane may be, e.g., determined by geometric measurements.

The parallel shift equals to a slab shift σ times the normal vector n. This choice of parallel shift results in a very effective and fast computation and can be shown by a direct computation of the optical path.

The slab shift σ is approximated as a constant. Approximating the slab shift as a constant is computationally extremely fast and provides good results for relatively small angles of view. The slab shift σ is equal to t (v - <NUM>) / v, which is the exact solution for an optical path that is perpendicular to the windshield pane.

Alternatively, the slab shift σ is calculated as the root σ<NUM> of the quartic g (σ) = a<NUM> σ<NUM> + a<NUM> σ<NUM> + a<NUM> σ<NUM> + a<NUM> σ + a<NUM>, wherein <NUM> ≤ σ<NUM> ≤ t, a<NUM> = v<NUM>, a<NUM> = - 2v<NUM> (w + t), a<NUM> = (v<NUM> - <NUM>)(u<NUM> + t<NUM>) + v<NUM>w(w + 4t), a<NUM> = - 2t(v<NUM>(w<NUM> + u<NUM>) + tw(v<NUM> - <NUM> ) - u<NUM>), a<NUM> = (v<NUM> - <NUM>)t<NUM>(w<NUM> + u<NUM>), w = n·s and u = √(s·s - w<NUM>). The point s is the space point of a point in space of the scene which is supposed to correspond to the pixel of the intermediate image or to the intermediate image point. Said quartic may be arrived at by computing the optical path from the point s to the origin, at which the pinhole of the pinhole camera is assumed. A rotation of the coordinates to have n in the direction of the e<NUM> axis and s in the e<NUM>-e<NUM>-plane simplifies the calculation. The quartic may be solved exactly by Ferrari's solution and has a unique solution for σ<NUM> in the given range. While this solution is exact and provides the maximal accuracy, it is computationally rather intensive.

Alternatively, the slab shift σ is calculated as the fixed point of the fixed point equation σ = φ (σ), wherein φ (σ) = t(<NUM> - <NUM>/√((v<NUM> - <NUM>)(u<NUM>/(w - σ)<NUM> + <NUM>) + <NUM>)), w = n·s, u = √(s·s - w<NUM>). Again, s is the space point of a point in space of the scene which is supposed to correspond to the pixel of the intermediate image or to the intermediate image point. Said fixed point equation may also be arrived at by computing the optical path from the point s to the origin, at which the pinhole of the pinhole camera is assumed. Again, a rotation of the coordinates to have n in the direction of the e<NUM> axis and s in the e<NUM>-e<NUM>-plane simplifies the calculation. It can be shown that the fixed point equation is a contraction with a Lipschitz constant bounded from above by c = t / (w - t) which is less than one for all practical purposes. Therefore, the fixed point equation converges and a given accuracy may be achieved with a finite number of iterations of the fixed point equation.

According to an embodiment, only one or two iterations of the fixed point equation are computed. This makes the computation of the slab shift σ very fast and yet provides a very good accuracy.

According to an embodiment, the camera parameters are determined for the camera by acquiring a calibration image of a known pattern that is placed, without the windshield pane, in the field of view of the camera. Said known pattern may be, e.g., a checkerboard pattern. The calibration image is then compared to the known pattern, in particular, points of the calibration image are identified with points of the known pattern. Based on said comparison, the camera parameters are determined. The camera parameters may also be determined by performing the above steps for another camera that is similar to the camera. The camera parameters of said other camera are expected to be very similar and for all practical purposes almost identical to the camera parameters of the camera.

According to an embodiment, the windshield pane parameters are determined for the windshield pane by acquiring a calibration image of a known pattern that is placed in the field of view of the camera with the windshield pane in front of the camera. Said known pattern may be, e.g., a checkerboard pattern. Based on said calibration image and on the camera parameters, an intermediate calibration is calculated. The intermediate calibration image resembles an image of the known pattern taken by a pinhole camera through the windshield pane. In other words, in the intermediate calibration image, the effects of the camera objective lens are eliminated. The intermediate calibration image is the compared to the known pattern, in particular, points of the intermediate calibration image are identified with points of the known pattern. Based on said comparison, the windshield pane parameters are determined. The influence of the windshield pane on the optical path may be computed as described above. The windshield pane parameters may also be determined by performing the above steps for another windshield pane that is similar to the windshield pane and/or for another camera that is similar to the camera. In all cases, the obtained windshield pane parameters are expected to be very similar and for all practical purposes almost identical to the windshield pane parameters.

According to an embodiment, the windshield pane parameters are determined or improved based on an autocalibration of the camera-based system. Said autocalibration is explained, e.g., in the German patent application <CIT> and will not be detailed here. The autocalibration may, e.g., correct for slight variations in mounting the camera behind the windshield pane.

According to an embodiment, the calculation of the points in space of the scene corresponding to the pixels of the intermediate image or to the intermediate image points is performed by bundle adjustment. This technique is, e.g., described in <NPL>. The fast method for rectification of the images as described above leads to a fast computation of the points in space.

According to an embodiment, the calculated set of points in space of the scene is used for object recognition, object tracking and/or for advanced driver assistance systems. These are applications that benefit greatly from the fast computation and from the added accuracy by taking the effects of the windshield pane into account.

According to another aspect of the invention, a camera-based system for a vehicle is provided. The camera-based system comprising at least one camera to be mounted behind a windshield pane of the vehicle and a computing unit. It is adapted to perform the method according to the above description and hence benefits from the fast computation and the separation of the optical effects of the windshield pane and the camera.

According to yet another aspect of the invention, a vehicle is provided, comprising a windshield pane and a camera-based system according to the above description.

These and other aspects of the present invention will become apparent from and elucidated with reference to the embodiments described hereinafter.

The figures are merely schematic representations and serve only to illustrate embodiments of the invention.

<FIG> shows a schematic view of a camera-based system <NUM> for a vehicle. The camera-based system <NUM> comprises a camera <NUM> and a computing unit <NUM>. The camera <NUM> comprises an objective lens <NUM> and an image sensor <NUM>. The objective lens <NUM> may be, for example, a fisheye lens or a rectilinear wide-angle lens. The image sensor <NUM> may be a CMOS sensor or a CCD sensor. That light that is captured by the objective lens <NUM> is detected by the image sensor <NUM>. The raw image that is obtained that way is then further processed by the computing unit <NUM>.

The camera-based system <NUM> is mounted behind a windshield pane <NUM>. The windshield pane <NUM> has a thickness t and an orientation given by the normal vector to the windshield pane n. The windshield pane <NUM> has further a refractive index v.

Also shown in <FIG> is a space point s which is a point in space of a scene. The space point s may, e.g., be a point of particular interest or a corner of a bounding box of, e.g., a pedestrian or another vehicle. Moreover, an optical path <NUM> of light is shown, emerging from the space point s, being deflected by the windshield pane <NUM> and being focused by the objective lens <NUM> on the image sensor <NUM>.

In order to rectify the raw image or some raw image points, an intermediate image data is calculated. Said intermediate image data comprises an intermediate image or intermediate image points. The intermediate image data is calculated by eliminating the effects of the objective lens <NUM>, wherein said calculation is based on camera parameters, in particular parameters of the objective lens <NUM>.

The elimination of the effects of the objective lens <NUM> leads to an image that would be obtained by a pinhole camera <NUM> instead of the camera <NUM>, as shown in <FIG>. The optical path <NUM> of light goes through the pinhole <NUM> of the pinhole camera <NUM> and ends on the sensor <NUM>.

Also shown in <FIG> is another virtual light ray <NUM> going through the pinhole <NUM> and ending on the same point of the sensor <NUM> as the optical path <NUM>. The virtual light ray <NUM> is drawn as if the windshield pane <NUM> did not exist.

On the side of the windshield pane <NUM> opposite to the pinhole camera <NUM>, there is a parallel shift <NUM> of the optical path <NUM> compared to the virtual light ray. Said parallel shift <NUM> equals to a slab shift σ times the normal vector n.

The slab shift σ may be approximated as a constant, in particular as t (v - <NUM>) / v. This approximation is computationally extremely fast but sufficiently accurate only for small angles of incidence.

Alternatively, the slab shift σ may be calculated as the root σ<NUM> of the quartic g (σ) = a<NUM> σ<NUM> + a<NUM> σ<NUM> + a<NUM> σ<NUM> + a<NUM> σ + a<NUM>,
wherein <NUM> ≤ σ<NUM> ≤ t, a<NUM> = v<NUM>, a<NUM> = - 2v<NUM> (w + t), a<NUM> = (v<NUM> - <NUM>)(u<NUM> + t<NUM>) + v<NUM>w(w + 4t), a<NUM> = - 2t(v<NUM>(w<NUM> + u<NUM>) + tw(v<NUM> - <NUM>) - u<NUM>), a<NUM> = (v<NUM> - <NUM>)t<NUM>(vr<NUM> + u<NUM>), w = n·s and u = √(s·s - w<NUM>). This calculation leads to a perfectly accurate result but is computationally very intensive.

As yet another alternative, the slab shift σ may be calculated as the fixed point of the fixed point equation σ = φ (σ), wherein φ (σ) = t(<NUM> - <NUM>/√((v<NUM> - <NUM>)(u<NUM>/(w - σ)<NUM> + <NUM>) + <NUM>)) and w and u as above. One or two iterations of this convergent fixed point equation yield very accurate results and are computationally fast.

Once the parallel shift <NUM> is known, the optical path <NUM> can be traced back and the point in space s may be calculated, further using, e.g., bundle adjustment or stereoscopic vision.

<FIG> shows a setup for the determination of the windshield pane parameters. A chart <NUM> with a known pattern <NUM> is mounted in front of a vehicle <NUM> which comprises a windshield pane <NUM> and a camera-based system <NUM> mounted behind the windshield pane <NUM>. A calibration image of the known pattern <NUM> is acquired by the camera-based system <NUM>. Using the already known camera parameters, an intermediate calibration image is calculated from the calibration image, wherein the intermediate calibration image resembles an image of the known pattern <NUM> taken by a pinhole camera <NUM> through the windshield pane <NUM>. Then, a set of points <NUM> of the known pattern <NUM> are identified and compared with pixels in the intermediate calibration image. Based on said comparison, the windshield pane parameters are obtained.

Claim 1:
Computer-implemented method for rectification of images and/or image points acquired by at least one camera (<NUM>) of a camera-based system (<NUM>) of a vehicle (<NUM>) with a windshield pane (<NUM>), the method comprising the steps of
acquiring a raw image of a scene with the camera (<NUM>);
selecting raw image data from the raw image, wherein the raw image data is the full raw image, a part of the raw image or a plurality of raw image points of the raw image;
calculating intermediate image data based on the raw image data and on camera parameters, wherein the intermediate image data comprises an intermediate image or a plurality of intermediate image points and wherein the intermediate image data resembles an image or image points of the scene obtained by a pinhole camera (<NUM>) through the windshield pane (<NUM>); and
calculating a set of points in space of the scene corresponding to pixels of the intermediate image or to the intermediate image points, using a parallel shift (<NUM>) of the optical path (<NUM>) induced by the windshield pane (<NUM>) based on windshield pane parameters,
wherein the windshield pane parameters comprise a normal vector n of the windshield pane (<NUM>) in the region close to the camera (<NUM>), a thickness t of the windshield pane (<NUM>) and a refraction coefficient v of the windshield pane (<NUM>),
characterized in that
the parallel shift (<NUM>) equals to a slab shift σ times the normal vector n and
the slab shift σ is equal to t (v - <NUM>) / v.