This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2000-296836, filed Sep. 28, 2000, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
This invention relates to an image processing apparatus and image-processing method of compensating the shake of an image obtained by a camera mounted on a mobile object represented by vehicles, such as a car.
2. Description of the Related Art
Generally, movement of a mobile object generates a shake in a video image by the unevenness of the ground, or steering of the mobile object.
In the device which detects an obstacle by analyzing the motion vector (optical flow) of each point of the video image, using the video stream inputted from a TV camera, the camera shake becomes the cause of detecting the obstacle accidentally. Therefore, it is necessary to compensate in advance the shake of a video image caused by the shake of the TV camera. In order to compensate the shake of the video image, the TV camera shake must be detected. In the method of detecting the camera shake there are a method that uses additional devices, such as an angular-velocity sensor, and a method that measures the variation in the obtained image. Moreover, in a method of compensating the image shake there are a method that compensates the image shake optically, and a method that compensates the image shake in software. The optical compensation method compensates the image shake optically by mounting an actuator, a variangle prism, etc. in TV camera. The software compensation method compensates the shake by transforming the video image based on an amount of shake, and extracting a part of the video image.
In a case where an obstacle is detected by the TV camera mounted on the mobile object, the method which compensates the shake in software is advantageous in the following points. That is, there is no fall of the durability because of a movable mechanism. Since devices other than the TV camera are unnecessary, cost can be reduced.
Moreover, when the mobile object moves at high speed, the video image obtained by the TV camera mounted on the mobile object changes violently in almost all the regions in a screen. For that reason, there is a problem that it does not know whether the motion is caused by the shake or it arises from translation of the mobile object even if the motion vector of the region in the video image is detected based on such a video image.
It is an object of the present invention to provide an image processing apparatus and an image processing method that compensates a video image of a TV camera and the like to a video image which is not influenced by a camera shake caused by the unevenness of a road surface, or the steering of the mobile object.
According to the first aspect of the present invention, there is provided an image processing apparatus, comprising an image capture device configured to generate a video image containing an image shake caused by a shake of the image capture device, a region selector configured to select, from the video image, a given image region used for detecting the image shake, a shake detector configured to detect an amount of the image shake within the given image region, and an image compensator which compensates the video image based on the amount of the image shake to cancel the image shake.
According to the second aspect of the present invention, there is provided an image processing apparatus provided for a mobile object movable in real space, comprising: an image capture device mounted on the mobile object and configured to generate a video image containing an image shake caused by a shake of the image capture device; a region selector configured to select, from the video image, a given image region used for detecting the image shake; a shake detector configured to detect an amount of the image shake within the given image region; and an image compensator which compensates the video image based on the amount of the image shake to cancel the image shake.
According to the third aspect of the present invention, there is provided an image processing method, comprising: generating a video image containing an image shake caused by a shake of the image capture device mounted on a mobile object running a road; selecting, from the video image, a given image region used for detecting the image shake caused by running of the mobile object; detecting an amount of the image shake within the given image region; and compensating the video image based on the amount of the image shake to cancel the image shake.
In an image captured by a camera, two or more parallel straight lines in a scene look so as to be crossed at one certain point in the image. This point is called a vanishing point. The present invention is attained by paying attention to that the temporal variation of the video image caused by the translation of a vehicle other than the unevenness of a road surface or steering of the vehicle becomes minute in a specific region containing a vanishing point in the image stream from a TV camera which observes a scene from the front or the back of a mobile object. By analyzing the motion vector (optical flow) of each pixel of the image detected in this region, the rotation component corresponding to the amount of shake is computed, and an image is compensated so that this amount of shake may be set to 0.
There will now be described an embodiment according to the present invention referring to the drawings.
The image capture device 1 generates a video image that contains a vanishing point or an area near the vanishing point in a visual field. From the video image (refer to
There will now be described hereinafter the image region selector 2, the shake detector 3, and the shake compensator 4.
In addition, in the following description, T→ expresses a vector T and Ω→ and v→ express a vector similarly.
First, the image region selector 2 is explained. The image region selector 2 selects a region wherein the image shake caused by the translation of a vehicle other than the image shake produced by a camera shake caused by the unevenness of a road surface or steering of the vehicle is minute.
When the vehicle provided with the TV camera moves on the ground with a velocity T→=(Tx, Ty, Tz) and an angular velocity Ω→=(Ωx, Ωy, Ωz), namely, when the coordinate system Oc-XYZ (camera coordinate system) whose origin corresponds to the camera center moves with the velocity T→ and angular velocity Ω→ with respect to the coordinate system Oω-XYZ (global coordinate system) fixed on the ground (refer to
u=(xy/f)Ωx−((x2+f2)/f)Ωy+yΩz−(f/Z)Tx+(x/Z)Tz
v=((y2+f2)/f)Ωx−(xy/f)Ωy−xΩz−(f/Z)Ty+(y/Z)Tz (1)
where, Z shows the depth in the camera coordinate system of point P→. Moreover, a focal length f assumes to be known.
Supposing Z is infinite in the above equation, the term of translation is set to 0, and only the terms of angular velocity remain as shown by the following equation:
u=(xy/f)Ωx−((x2+f2)/f)Ωy+yΩz
v=((y2+f2)/f)Ωx−(xy/f)Ωy−xΩz (2)
Thus, the variation of the image is mainly produced by the rotation component (Ωx, Ωy, Ωz), which corresponds to the shake of the vehicle, in the image region where Z is large.
When a camera is mounted on a mobile object (e.g., car) running on the ground, the ground which spreads infinitely converges at a certain straight line in an image. This straight line is called horizon. Generally, the straight line at which the plane spreading infinitely in the image converges is called a vanishing line.
Since Z is large near the vanishing line, variation of the image near the vanishing line is mainly influenced by the shake of the vehicle. Then, fundamentally, a region including the vanishing line and its circumference is selected as a region for shake detection. Considering the case where the car is running the road as shown in
Moreover, the vanishing line can be determined by obtaining a vanishing point (infinite distance) as a point of intersection of two lines which are the projected lines of the parallel straight lines on the ground to the image plane.
The following method can be used for a setup of a select region.
When Tx component of the translation of the mobile object is minute, and the x-coordinate of an image center (origin on the image), which corresponds to the point projected to the image plane of the camera center Oc, and the x-coordinate of the vanishing point are almost equal to each other, that is, x is close to 0, the term u of the equation (1) is expressed by the following equation:
u=−fΩy+yΩz (3)
Moreover, when Ty component of the translation of the mobile object is minute, and the y-coordinate of an image center (origin on the image) and the y-coordinate of the vanishing point are almost equal to each other, that is, y is close to 0, the term v of the equation (1) is expressed by the following equation:
v=fΩx−xΩz (4)
What the coordinate of the image center and that of the vanishing point become equal is the case where the optical axis of the TV camera and the running direction of the vehicle are made parallel. In this case, the shake of an image is influenced by the rotation component (Ωx, Ωy, Ωz) which is the shake of the vehicle. Since the condition wherein the depth Z is large is not necessary, shake detection is able to be done if other stationary objects exist. Therefore, as shown in
In
The select region R2 is a select region about v component when the Ty component of translation motion is minute, and y coordinate of the image center and that of the vanishing point are almost equal. The select region R2 is for detecting the vertical shake but not for the lateral shake.
Next, the shake detector 3 is explained.
As shown in
The shake amount computation section 32 computes an amount of an image shake from the motion vector detected by the motion vector detector 31.
Since the equation (2) is applied to each of a plurality of pixels in a select region, rotation components Ωx, Ωy and Ωz are presumed using the optimization technique, such as the method of least square. They correspond to the amount of shake to be computed.
As described in the image region selector 2, when select regions R1 and R2 as shown in
Next, the shake compensator 4 is explained. The shake compensator 4 generates an image that has no shake by compensating an input image using the amount of shakes computed by the shake detector 3.
In order to generate the image which does not shake with respect to a reference frame set up by the shake detector 3, the amount of image shake (Ωx, Ωy, Ωz) computed by the shake detector 3 is used, and the amount of image shake for each pixel from the reference frame to the current frame is computed using the equation (2). The shake compensator 4 compensates the current image so that this amount of image shake may be set to 0, to generate a compensated image.
The flow of the whole processing is explained according to the flow chart of
First, an initial image is set to a reference image (Step S1). Next, a video image is inputted from the image capture device 1 (Step S2). An image region used for detecting an image shake is selected by the image region selector 2 (Step S3). A motion vector is computed in the selected image region using the reference image and the current image (Step S4). Based on the motion vector, the amount of shake (Ωx, Ωy, Ωz) is computed (Step S5) in the shake computation device 32.
The current image is compensated based on the amount of shake (Step S6). It is determined whether the amount of shake, or time lapse is more than a threshold (Step S7). If this determination is YES, the reference image is set to the current image (Step S8). Processing of the steps S2–S8 is performed repeatedly.
In order to generate an image that does not shake with respect to an initial frame, it is necessary to compute the amount of shake (Ω′x, Ω′y, Ω′z) relative to the initial frame. In this case, the amount of shake (Ω′x, Ω′y, Ω′z) from the initial frame or arbitrary frame to the current image is calculated based on the following equation:
Ω′i=ωi+Ωi i=x, y, z (5)
ωx, ωy, and ωz are initialized to 0 in the initial frame, and are updated by the following equation at the time of renewal of the reference frame.
ωi=ωPi+Ωi i=x, y, z (6)
where ωPi expressesωi before renewal of the reference frame.
In the shake compensator 4, the amount of image shake for each pixel is computed by the equation (2) using Ω′x, Ω′y, Ω′z, and the current image is compensated so that this amount of image shake may be set to 0.
The above function is realizable as software. Moreover, the present invention may be applied to a computer readable record medium that stores a program for making a computer execute the present image processing, for example, process shown in
According to this invention, it becomes possible to compensate the image which is observed from the front or the back of a mobile object to an image which is not influenced by the camera shake caused by the unevenness of a road surface, or steering of the mobile object such as a car. As a result, the invention can contribute to evasion of malfunction in image processing, such as obstacle detection. For example, when the vehicle largely shakes, the video image largely shakes. At this time, when an object burst into the road, it cannot be discriminated from the largely shaking image. However, in the present invention, since the image shake based on the shake of the vehicle is removed, the object burst into the road can be discriminated.
The image shake includes not only a shake caused by the shake of the mobile object, e.g., vehicle but also a shake caused by a shock impacted to the TV camera mounted on the mobile object.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2000-296836 | Sep 2000 | JP | national |
| Number | Name | Date | Kind |
|---|---|---|---|
| 5053876 | Blissett et al. | Oct 1991 | A |
| 5128874 | Bhanu et al. | Jul 1992 | A |
| 5259040 | Hanna | Nov 1993 | A |
| 5731832 | Ng | Mar 1998 | A |
| 5926212 | Kondo | Jul 1999 | A |
| 6246719 | Agarwal | Jun 2001 | B1 |
| Number | Date | Country |
|---|---|---|
| 449283 | Oct 1991 | EP |
| 59028606 | Feb 1984 | JP |
| 4-213973 | Aug 1992 | JP |
| 9-161060 | Jun 1997 | JP |
| 2813395 | Aug 1998 | JP |
| 2936793 | Jun 1999 | JP |
| Number | Date | Country | |
|---|---|---|---|
| 20020036692 A1 | Mar 2002 | US |