Patent Publication Number: US-8537199-B2

Title: Camera calibration device and method by computing coordinates of jigs in a vehicle system

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of International Application No. PCT/JP2008/070135, filed on Nov. 5, 2008, the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     The embodiments discussed herein are directed to a camera angle computing device for computing the installation parameters of a camera attached to a mobile body and a camera angle computing method. 
     BACKGROUND 
     In recent image display devices that are becoming widespread, a plurality of cameras attached to a mobile body are used to capture images of the surroundings of the mobile body. The captured images are combined into a bird&#39;s eye view or a 360° panorama, and the combined image is displayed. Examples of such image display devices include parking aid systems (around view monitors) for automobiles. 
     When such an image display device combines the images captured by the cameras, the installation parameters of the cameras are required. Examples of the installation parameters of each camera include its position (X-, Y-, and Z-coordinates) and angles (roll, pitch, and yaw angles) in the vehicle coordinate system. 
     It is not necessary to very strictly determine the positions in these installation parameters (initial values measured by the user may be used). However, the angles of the cameras installed in the vehicle must be accurately determined by calibrating the cameras because the angles largely affect the final combined image even when the errors in the angles are very small. 
     Various techniques have been proposed to compute the angles of cameras. For example, in one known technique (see, for example, Japanese Laid-open Patent Publication No. 2008-187566), one calibration jig (calibration pattern) of a known shape is disposed on a road surface at any position in each overlap region of the fields of view of cameras (each common image capturing range of the cameras). The installation parameters of the cameras are computed using the shape conditions of the calibration patterns. Each calibration jig used in this technique has a square shape with sides of about 1 meter to about 1.5 meters, and markers are provided at the four corners of the jig. 
     In another known technique (see, for example, Japanese Laid-open Patent Publication No. 2008-187564), some of the installation parameters of the cameras are computed in advance by a predetermined method, and two small calibration jigs each having one characteristic point are disposed in each common image capturing range of cameras. The rest of the installation parameters are computed under the conditions in which each camera captures an image containing four markers. 
     However, the conventional techniques described above have a problem in that the calibration of the cameras cannot be made in a narrow space. 
     For example, when square calibration patterns are placed to make the calibration of the cameras, at least two calibration patterns with sides of about 1 meter to about 1.5 meters must be disposed in each common image capturing range. Therefore, to compute the installation parameters of the cameras, a space of 2 meters to 3 meters must be provided on each side of the vehicle in addition to the footprint of the vehicle. 
     Even when small calibration jigs are placed to make the calibration of the cameras, two calibration jigs spaced apart from each other by a certain distance must be disposed in each common image capturing range of cameras, and therefore the calibrations of the cameras cannot be made in a small space. With this technique, some of the installation parameters must be computed in advance by a different method, and this technique alone cannot compute all the installation parameters of the cameras. 
     Therefore, one important object is to allow the calibration of the cameras to be made even in a narrow space to determine the installation parameters of the cameras accurately. 
     SUMMARY 
     According to an aspect of an embodiment of the invention, a camera angle computing device includes an image acquiring unit that acquires an image containing a first jig disposed in an overlap region of an image capturing range of a camera and an image capturing range of an adjacent camera and a second jig disposed vertically below the camera; and an angle computing unit that computes an angle of the camera from coordinates of the first jig and the second jig contained in the image acquired by the image capturing unit. 
     The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram ( 1 ) illustrating the installation parameters of cameras; 
         FIG. 2  is a diagram ( 2 ) illustrating the installation parameters of the cameras; 
         FIG. 3  is a diagram illustrating the positional relationships between cameras installed in a vehicle and markers; 
         FIG. 4  is a perspective view illustrating the positional relationships between the cameras installed in the vehicle and the markers; 
         FIG. 5  is a diagram illustrating the configuration of a calibration device according to a first embodiment; 
         FIG. 6  is a diagram illustrating an example of the data structure of camera position parameters; 
         FIG. 7  is a diagram illustrating an example of the data structure of camera angle parameters; 
         FIG. 8  is a diagram illustrating examples of the images captured by the cameras; 
         FIG. 9  is a diagram illustrating the results of extraction of markers by a marker extraction unit; 
         FIG. 10  is a diagram illustrating an example of the data structure of a conversion table; 
         FIG. 11  is a diagram illustrating the computation of the angles between line-of-sight vectors; 
         FIG. 12  is a diagram illustrating the coordinates of cameras and the coordinates of markers in a vehicle coordinate system; 
         FIG. 13  is a diagram ( 1 ) illustrating processing in a camera angle parameter estimation unit; 
         FIG. 14  is a diagram ( 2 ) illustrating the processing in the camera angle parameter estimation unit; 
         FIG. 15  is a diagram illustrating examples of the images outputted from an image combining processing unit; 
         FIG. 16  is a flow chart illustrating a processing procedure in the calibration device according to the first embodiment; 
         FIG. 17  is a diagram illustrating the split capturing of the images of the markers; 
         FIG. 18  is a diagram illustrating the combining of camera images; 
         FIG. 19  is a diagram illustrating the configuration of a calibration device according to a second embodiment; and 
         FIG. 20  is a diagram illustrating the hardware configuration of a computer that forms any of the calibration devices in the embodiments. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Preferred embodiments of the present invention will be explained with reference to accompanying drawings. In the embodiments described below, a calibration device is used as an example of the camera angle computing device. However, the present invention is not limited to the embodiments. 
     [a] First Embodiment 
     To compute the installation parameters of cameras installed in a vehicle, the calibration device according to a first embodiment uses images each including a marker (a calibration jig: the same applies to the following description) disposed vertically below a camera and markers disposed in overlap regions of the image capturing ranges of the camera and adjacent cameras. This allows a reduction in the area required for the installation of each camera and also allows the installation parameters to be accurately computed. 
     The installation parameters of the cameras will next be described.  FIGS. 1 and 2  are diagrams illustrating the installation parameters of the cameras. Of the installation parameters of cameras  10   a  to  10   d , their installation positions are given as coordinates (x, y, and z) in a vehicle coordinate system relative to a vehicle  1 , as illustrated in  FIG. 1 . In this embodiment, the coordinates of the cameras  10   a  to  10   d  are assumed to be known. In the following description, the position coordinates of the cameras are denoted as camera position parameters. 
     Of the installation parameters of the camera  10   a  (or any of  10   b  to  10   d ), its angles in a camera coordinate system relative to the optical axis of the camera  10   a  include a rotation angle φ about the optical axis of the camera  10   a , a rotation angle ψ of the optical axis of the camera  10   a  relative to the horizontal direction, and a rotation angle θ about an axis perpendicular to the ground, as illustrated in  FIG. 2 . In the following description, the rotation angle φ, the rotation angle y, and the rotation angle θ of a camera are collectively denoted as camera angle parameters. 
     The positional relationships between markers and the cameras  10   a  to  10   d  installed in the vehicle  1  will next be described.  FIG. 3  is a diagram illustrating the positional relationships between the markers and the cameras installed in the vehicle, and  FIG. 4  is a perspective view illustrating the positional relationships between the markers and the cameras installed in the vehicle. 
     As illustrated in  FIG. 3 , a marker  20   a  is disposed in the overlap region of the fields of view (image capturing ranges: the same applies to the following description) of the cameras  10   a  and  10   d , and a marker  20   b  is disposed in the overlap region of the fields of view of the cameras  10   a  and  10   b . A marker  20   c  is disposed vertically below the camera  10   b  (at a position in a vertically downward direction extending from the optical center (lens position) of the camera  10   b ) (see  FIG. 4 ). 
     Moreover, as illustrated in  FIG. 3 , a marker  20   d  is disposed in the overlap region of the fields of view of the cameras  10   b  and  10   c , and a marker  20   e  is disposed in the overlap region of the fields of view of the cameras  10   c  and  10   d . A marker  20   f  is disposed vertically below the camera  10   d  (at a position in a vertically downward direction extending from the optical center (lens position) of the camera  10   d ). The vehicle  1  and the markers  20   a  to  20   f  are assumed to be disposed on a horizontal plane. 
     The configuration of a calibration device  100  according to the first embodiment will next be described. For example, the calibration device  100  is installed in the vehicle  1  and computes the camera angle parameters of the cameras  10   a  to  10   d .  FIG. 5  is a diagram illustrating the configuration of the calibration device  100  according to the first embodiment. As illustrated in  FIG. 5 , the calibration device  100  includes a parameter storage unit  110 , a frame buffer  120 , a marker extraction unit  130 , a marker position estimation unit  140 , a camera angle parameter estimation unit  150 , an image combining processing unit  160 , and a display  170 . 
     Of these units, the parameter storage unit  110  is a storage unit that stores various types of data used when calibration is performed. In particular, camera position parameters  110   a  and camera angle parameters  110   b , which are closely related to the present invention, are stored. 
       FIG. 6  is a diagram illustrating one example of the data structure of the camera position parameters  110   a . As illustrated in  FIG. 6 , the camera position parameters  110   a  include the identification information of each camera stored in association with its coordinates. For example, the user measures the coordinates of the cameras  10   a  to  10   d  in advance and stores the camera position parameters  110   a  in the parameter storage unit  110  using an input unit (not illustrated). 
       FIG. 7  is a diagram illustrating an example of the data structure of the camera angle parameters  110   b . As illustrated in  FIG. 7 , the camera angle parameters  110   b  include the identification information of each camera stored in association with its rotation angles φ, ψ, and θ. The camera angle parameters  110   b  are computed by the camera angle parameter estimation unit  150 . The camera angle parameter estimation unit  150  will be described later. 
     The frame buffer  120  is a storage unit that sequentially stores the images captured by the cameras  10   a  to  10   d .  FIG. 8  is a diagram illustrating examples of the images captured by the cameras  10   a  to  10   d . As illustrated in the upper left in  FIG. 8 , the image captured by the camera  10   a  contains the markers  20   a  and  20   b . As illustrated in the upper right in  FIG. 8 , the image captured by the camera  10   c  contains the markers  20   d  and  20   e.    
     As illustrated in the lower left in  FIG. 8 , the image captured by the camera  10   d  contains the markers  20   e ,  20   f , and  20   a . As illustrated in the lower right in  FIG. 8 , the image captured by the camera  10   b  contains the markers  20   b ,  20   c , and  20   d.    
     The marker extraction unit  130  is a processing unit that acquires the data of the images captured by the cameras  10   a  to  10   d  from the frame buffer  120 , extracts the markers contained in the images, and then determines the coordinates of the extracted markers on the images. Any known image processing technique may be used as the method of extracting the markers contained in the images. 
       FIG. 9  is a diagram illustrating the results of extraction of markers by the marker extraction unit  130 . If it is assumed that the image illustrated in  FIG. 9  is captured by the camera  10   b , then the marker extraction unit  130  extracts the coordinates of the markers  20   b ,  20   c , and  20   d  as P 1 , P 2 , and P 3  in an image coordinate system. The marker extraction unit  130  also determines the coordinates of the markers in the images captured by the cameras  10   a ,  10   b , and  10   c  (the coordinates in image coordinate systems). The marker extraction unit  130  outputs the determined coordinates of each marker to the marker position estimation unit  140 . 
     To allow the marker extraction unit  130  to easily extract the positions of the markers, steady/flashing LEDs (Light Emitting Diodes), for example, may be disposed as the markers. In such a case, the marker extraction unit  130  may have a function of recognizing a set of clustered flashing pixels having the same light-emitting pattern as a single marker. Alternatively, the marker extraction unit  130  may display an image on the display  170 , and the user may input the coordinates of markers on the image using a pointing device to notify the marker extraction unit  130  of the coordinates of the markers. 
     The marker position estimation unit  140  is a processing unit that computes the coordinates of the markers  20   a  to  20   f  in the vehicle coordinate system from the coordinates of the markers  20   a  to  20   f  (the coordinates in the image coordinate systems) and the camera position parameters  110   a  (see  FIG. 6 ) and also computes the optical axis vectors R and vertical vectors D of the cameras  10   a  to  10   d  in the vehicle coordinate system. The camera angle parameters of the cameras  10   a  to  10   d  can be computed using these optical axis vectors and vertical vectors. 
     The processing used in the marker position estimation unit  140  will be specifically described. First, the marker position estimation unit  140  compares the coordinates of the markers  20   a  to  20   f  (the coordinates in the image coordinate systems) with coordinates in a conversion table to determine the line-of-sight vectors to the coordinate points of the markers. The line-of-sight vector is a direction vector of a line segment extending from the optical center of a camera to the coordinate point of a marker and is oriented in a direction from the camera to the marker. 
     The conversion table is a table used to convert the coordinates on the image captured by a camera to a line-of-sight vector, and the relationships between coordinate points and line-of-sight vectors are pre-computed from the characteristic values of the cameras and the lens systems. The conversion table is stored in the marker position estimation unit  140 .  FIG. 10  illustrates an example of the data structure of the conversion table. 
     Next, the marker position estimation unit  140  computes the angles between the line-of-sight vectors in each camera coordinate system.  FIG. 11  is a diagram illustrating the computation of the angles between line-of-sight vectors. In this example, the markers are denoted by P 1  to P 3  (P 3  is a marker vertically below a camera), and the line-of-sight vectors to the markers are denoted by v 1  to v 3 . The angle formed between the line-of-sight vectors to markers is computed by
 
arccos ( v   m   ·v   n )  (1)
 
Herein, the symbol “·” in this Equation (1) denotes the inner product of vectors.
 
     Using Equation (1), the angle α (∠P 1 OP 2 ) formed between P 1  and P 2 , the angle β A  (∠P 1 OP 3 ) formed between P 1  and P 3 , and the angle γ B  (∠P 2 OP 3 ) formed between P 2  and P 3  in the camera coordinate system are computed from the image captured by the camera  10   d  or  10   b . The images captured by the cameras  10   a  and  10   c  do not contain the marker P 3 , and therefore only the angle α formed between P 1  and P 2  is computed. 
     In the following description, the angle a for the camera  10   a  is denoted by α 1 , the angle α for the camera  10   b  is denoted by α 2 , the angle α for the camera  10   c  is denoted by α 3 , and the angle α for the camera  10   d  is denoted by α 4 . The angles β A  and β B  for the camera  10   b  are denoted by β 2A  and β 2B , respectively, and the angles β A  and β B  for the camera  10   d  are denoted by β 4A  and β 4B , respectively. 
     Next, the marker position estimation unit  140  determines the coordinates M 1  to M 4  of the markers  20   a  to  20   f  in the vehicle coordinate system using an evaluation function of
 
 F ( M   1   , M   2   , M   3   , M   4 )=(α 1   −∠M   1   C   1   M   2 ) 2 +(α 2   −∠M   2   C   2   M   3 ) 2 +(α 3   −∠M   3   C   3   M   4 ) 2 +(α 4   −∠M   4   C   4   M   1 ) 2 + K {(β 2A   −∠M   2   C   2   N   2 )++(β 2B   −∠M   3   C   2   N   2 ) 2 +(β 4A   −∠M   4   C   4   N   4 ) 2 +(β 4B   −∠M   1   C   4   N   4 ) 2 }  (2)
 
     In this Equation (2), M 1  is the coordinates of the marker  20   a  in the vehicle coordinate system, and M 1 =(m 1x , m 1y , 0). M 2  is the coordinates of the marker  20   b  in the vehicle coordinate system, and M 2 =(m 2x , m 2y , 0). M 3  is the coordinates of the marker  20   d  in the vehicle coordinate system, and M 3 =(m 3x , m 3y , 0). M 4  is the coordinates of the marker  20   e  in the vehicle coordinate system, and M 4 =(m  4x , m 4y , 0) . 
     In Equation (2), N 2  is the coordinates of the marker  20   c  in the vehicle coordinate system, and N 2 =(c 2x , c 2y , 0). N 4  is the coordinates of the marker  20   f  in the vehicle coordinate system, and N 4 =(c 4x , c 4y , 0). Since the markers  20   a  to  20   f  are placed on the ground, the z components of M 1  to M 4 , N 2 , and N 4  are “0”. 
     In Equation (2), C 1  is the coordinates of the camera  10   a  in the vehicle coordinate system, and C 1 =(c 1x , c 1y , c 1z ). C 2  is the coordinates of the camera  10   b  in the vehicle coordinate system, and C 2 =(c 2x , c 2y , c 2z ). C 3  is the coordinates of the camera  10   c  in the vehicle coordinate system, and C 3 =(c 3x , c 3y , c 3z ). C 4  is the coordinates of the camera  10   d  in the vehicle coordinate system, and C 4 =(c 4x , c 4y , c 4z ). 
     Since the marker  20   c  is disposed vertically below the camera  10   b , the x and y components of C 2  and N 2  are equal to each other. Since the marker  20   f  is disposed vertically below the camera  10   d , the x and y components of C 4  and N 4  are equal to each other. K in Equation (2) is a constant.  FIG. 12  is a diagram illustrating the coordinates C 1  to C 4  of the cameras  10   a  to  10   d  and the coordinates M 1  to M 4 , N 2 , and N 4  of the markers  20   a  to  20   f  in the vehicle coordinate system. 
     The marker position estimation unit  140  computes M 1  to M 4  that give a minimum value of the evaluation function F(M 1 , M 2 , M 3 , M 4 ) represented by Equation (2). For example, the marker position estimation unit  140  computes M 1  to M 4  by assigning initial values to M 1  to M 4  and then determining M 1  to M 4  that make the evaluation function F(M 1 , M 2 , M 3 , M 4 ) equal to 0 (or as close to 0 as possible) using the well-known steepest descent method. The values of the coordinates C 1  to C 4  of the cameras  10   a  to  10   d  and the value of N 2  and N 4  contained in Equation (2) are known, and the values in the camera position parameters  110   a  are used. 
     The marker position estimation unit  140  outputs the information of the coordinates M 1  to M 4  of the markers  20   a  to  20   f  in the vehicle coordinate system to the camera angle parameter estimation unit  150 . 
     The camera angle parameter estimation unit  150  is a processing unit that acquires the coordinates M 1  to M 4  of the markers  20   a  to  20   f  and then computes the camera angle parameters of the cameras  10   a  to  10   d  from the acquired coordinates M 1  to M 4 . The processing in the camera angle parameter estimation unit  150  will next be specifically described. 
       FIGS. 13 and 14  are diagrams illustrating the processing in the camera angle parameter estimation unit  150 . First, the camera angle parameter estimation unit  150  computes the optical axis vectors R n  (n=1, 2, 3, and 4: see  FIG. 13 ) of the cameras in the vehicle coordinate system and the vertical vectors d n  (n=1, 2, 3, 4: see  FIG. 14 ) of the cameras in their camera coordinate systems from the coordinates M 1  to M 4  of the cameras  10   a  to  10   d . The optical axis vectors R 1  to R 4  correspond to the optical axis vectors of the cameras  10   a  to  10   d , respectively, and the vertical vectors d 1  to d 4  correspond to the vertical vectors of the cameras  10   a  to  10   d , respectively. 
     In  FIG. 13 , D n  (n=1, 2, 3, 4) represents a vertical vector in the vehicle coordinate system. γ nA  (n=1, 2, 3, 4) represents the angle formed between the optical axis vector R n  and a vector from a camera to the coordinate point of a marker, and γ nB  (n=1, 2, 3, 4) represents the angle formed between the optical axis vector R n  and a vector from the camera to the coordinate point of another marker. For example, in  FIG. 13 , which focuses on the camera  10   b , γ 2A  represents the angle formed between a vector from the camera  10   b  to the coordinate point M 2  and the optical axis vector R n , and γ 2B  represents the angle formed between a vector from the camera  10   b  to the coordinate point M 3  and the optical axis vector R n . 
     In  FIG. 13 , β nA  (n=1, 2, 3, 4) represents the angle formed between a vector from a camera to the coordinate point of a marker and the vertical vector d n , and β nB  (n=1, 2, 3, 4) represents the angle formed between a vector from the camera to the coordinate point of another marker and the vertical vector d n . For example, in  FIG. 13 , which focuses on the camera  10   b , β 2A  represents the angle formed between a vector from the camera  10   b  to the coordinate point M 2  and the vertical vector D n , and β 2A  represents the angle formed between a vector from the camera  10   b  to the coordinate point M 3  and the vertical vector D n . 
     In  FIG. 13 , the vectors from the camera to the coordinate points of the markers in the vehicle coordinate system are converted from the coordinate points of the markers in the vehicle coordinate system using, for example, a conversion table. 
     In  FIG. 14 , r n  (n=1, 2, 3, 4) represents the optical axis vector of a camera in its camera coordinate system, γ nA  (n=1, 2, 3, 4) represents the angle formed between a line-of-sight vector v 1  and the optical axis vector r n , and γ nB  (n=1, 2, 3, 4) represents the angle formed between a line-of-sight vector v 2  and the optical axis vector r n . β nA  (n=1, 2, 3, 4) represents the angle formed between the line-of-sight vector v 1  and a vertical vector d n , and β nB  (n=1, 2, 3, 4) represents the angle formed between the line-of-sight vector v 2  and the vertical vector d n . 
     The values of γ nA , γ nB , β nA , and β nB  in the vehicle coordinate system are equal to the values of γ nA , γ nB , β nA , and β nB  in a camera coordinate system. For example, the values of γ 2A , γ 2B , β 2A , and β 2B  in  FIG. 13  are equal to the values of γ 2A , γ 2B , β 2A , and β nB  in  FIG. 14 . Next, a description will be given of an example in which the camera angle parameter estimation unit  150  computes the optical axis vector R 2  and the vertical vector d 2  of the camera  10   b.    
     In  FIG. 14 , the optical axis vector in the camera coordinate system is known as r 2 =(0, 0, −1). Therefore, the camera angle parameter estimation unit  150  computes γ 2A  and γ 2B  from the optical axis vector r 2  and the line-of-sight vectors using Equation (1). The computed γ 2A  and γ 2B  are valid also in the vehicle coordinate system illustrated in  FIG. 13 . Therefore, an appropriate vector is selected as R 2  from vectors satisfying angular relationships γ 2A  and γ 2B  with respect to the direction vectors from the lens of the camera  10   b  to the markers M 2  and M 2 . Generally, two vectors satisfy the angular relationships. However, one vector can be determined from the relationship between the camera and the ground. 
     In  FIG. 13 , the vertical vector in the vehicle coordinate system is known as D2=(0, 0, −1). Therefore, the camera angle parameter estimation unit  150  computes P 2A  and β 2B  from the vertical vector D and direction vectors (the direction vector from the lens of the camera  10   d  to the marker M 2  and the direction vector from the lens of the camera  10   d  to the marker M 3 ) using Equation (1). Since the computed β 2A  and β 2B  are valid also in the camera coordinate system illustrated in  FIG. 14 , a vector satisfying the angular relationships with the line-of-sight vectors is selected as d 2 . 
     The camera angle parameter estimation unit  150  computes the optical axis vectors R n  (n=1, 2, 3, 4) and the vertical vectors d n  (n=1, 2, 3, 4) of the cameras  10   a  to  10   d  using the method illustrated in  FIGS. 13 and 14 . In the case where a marker is disposed vertically below a camera as in the cameras  10   b  and  10   d , the vertical vector d n  is identical to the line-of-sight vector to the marker disposed vertically below the camera and therefore is not necessarily computed using the above method. 
     After computation of the optical axis vectors R n  and the vertical vectors d n  of the cameras  10   a  to  10   d , the camera angle parameter estimation unit  150  computes the camera angle parameters using
 
θ n =arctan 2(− R   nx   , R   ny )  (3)
 
ψ n =π/2−arccos((0, 0, −1)· R   n )  (4)
 
φ n =−arctan 2( d   nx   , −d   ny )  (5)
 
After computation of the camera angle parameters, the camera angle parameter estimation unit  150  stores the camera angle parameters in the parameter storage unit  110 .
 
     The image combining processing unit  160  is a processing unit that acquires the images captured by the cameras  10   a  to  10   d  from the frame buffer  120 , combines the acquired images, and outputs the combined images to the display  170 .  FIG. 15  is a diagram illustrating examples of the images outputted from the image combining processing unit  160 . If the image combining processing unit  160  combines images using the initial values of the camera angle parameters without any modification, the image displayed on the display is skewed, as illustrated in the upper image in  FIG. 15  (for example, if the rotation angle φ has an error). 
     Therefore, the image combining processing unit  160  corrects the errors in the camera angle parameters using the camera angle parameters  110   b  stored in the parameter storage unit  110 , and then combines the images. In this manner, the combined image can be appropriately displayed, as illustrated in the lower image in  FIG. 15 . 
     The processing procedure in the calibration device  100  according to the first embodiment will next be described.  FIG. 16  is a flow chart illustrating the processing procedure in the calibration device  100  according to the first embodiment. As illustrated in  FIG. 16 , in the calibration device  100 , the marker extraction unit  130  acquires the data of the images captured by the cameras  10   a  to  10   d  (step S 101 ) and then extracts the positions of the markers in the images (step S 102 ). 
     The marker position estimation unit  140  converts the positions of the markers in the camera images to line-of-sight vectors (step S 103 ), computes the angles formed between the line-of-sight vectors (step S 104 ), and computes the marker positions M 1  to M 4  in the vehicle coordinate system using the evaluation function (step S 105 ). 
     Then the camera angle parameter estimation unit  150  computes the optical axis vectors in the vehicle coordinate system and the vertical vectors in the camera coordinate systems from the marker positions M 1  to M 4  in the vehicle coordinate system (step  5106 ) and computes the camera angle parameters  110   b  (step S 107 ). 
     As described above, in the calibration device  100  according to the first embodiment, the camera angle parameters of the cameras  10   a  to  10   d  installed in the vehicle are computed using images containing the markers  20   a ,  20   b ,  20   d , and  20   e  disposed in overlap regions of the image capturing ranges of adjacent cameras and the markers  20   c  and  20   f  disposed vertically below cameras. Therefore, the area required for camera calibration can be reduced (the placement areas of the markers can be reduced), and the camera angle parameters can be computed accurately. 
     [b] Second Embodiment
         Although the embodiment of the present invention has been described, the invention may be embodied in various modes other than the first embodiment. Other modes included in the present invention as a second embodiment will next be described.       

     (1) Markers Vertically Below Cameras
         For example, in the first embodiment above, the markers  20   c  and  20   f  are disposed vertically below the cameras  10   b  and  10   d , respectively, but the present invention is not limited thereto. Instead of disposing the markers  20   c  and  20   f  vertically below the cameras  10   b  and  10   d , the user may hang weights with strings from the cameras  10   b  and  10   d . By hanging the weights with strings from the cameras  10   b  and  10   d , the weights spontaneously move to the positions vertically below the cameras  10   b  and  10   d . This can reduce the load on the user.       

     (2) Capturing of Images of Markers
         The image capturing timing in the cameras  10   a  to  10   d  is not described in the first embodiment. Not all the camera images required for calibration may be captured simultaneously. For example, the calibration device  100  may capture the images of markers in divided image capturing ranges and then combine the images. Then the calibration device  100  computes the camera angle parameters in the same manner as in the first embodiment.       

       FIG. 17  is a diagram illustrating the split capturing of the images of the markers. As illustrated in  FIG. 17 , the calibration device captures the images of the markers in regions ( 1 ) to ( 4 ) in this order. The markers  20   a  to  20   f  are disposed when the images of the corresponding regions are captured. In other words, when the image of region ( 1 ) is captured, jigs may not be disposed in regions ( 2 ) and ( 3 ). 
     More specifically, the calibration device captures the images of region ( 1 ) using the cameras  10   a  and  10   d . The marker  20   a  is disposed in region ( 1 ) when the images are captured, and the cameras  10   a  and  10   d  capture the images of the marker  20   a.    
     Next, the calibration device captures the images of region ( 2 ) using the cameras  10   a  and  10   b . The marker  20   b  is disposed in region ( 2 ) when the images are captured, and the cameras  10   a  and  10   b  capture the images of the marker  20   b.    
     Then the calibration device captures the images of region ( 3 ) using the cameras  10   b  and  10   c . The markers  20   c  and  20   d  are disposed in region ( 3 ) when the images are captured. The camera  10   b  captures the image of the marker  20   c , and the camera  10   c  captures the image of the marker  20   d.    
     Next, the calibration device captures the images of region ( 4 ) using the cameras  10   c  and  10   d . The markers  20   e  and  20   f  are disposed in region ( 4 ) when the images are captured. The cameras  10   c  and  10   d  capture the images of the marker  20   e , and the camera  10   d  captures the image of the marker  20   f.    
     The calibration device combines camera images for each region illustrated in  FIG. 17 .  FIG. 18  is a diagram illustrating the combining of the camera images. The upper left image in  FIG. 18  is an image obtained by combining the image of the marker  20   a  in region ( 1 ) captured by the camera  10   a  and the image of the marker  20   b  in region ( 2 ) captured also by the camera  10   a . By combining the images in the above manner, the same image as the image obtained by simultaneously capturing the marker  20   a  in region ( 1 ) and the marker  20   b  in region ( 2 ) can be obtained as in the first embodiment. 
     The upper right image in  FIG. 18  is an image obtained by combining the image of the marker  20   d  in region ( 3 ) captured by the camera  10   c  and the image of the marker  20   e  in region ( 4 ) captured also by the camera  10   c . By combining the images in the above manner, the same image as the image obtained by simultaneously capturing the marker  20   d  in region ( 3 ) and the marker  20   e  in region ( 4 ) can be obtained as in embodiment 1. 
     The lower right image in  FIG. 18  is an image obtained by combining the image of the marker  20   b  in region ( 2 ) captured by the camera  10   b  and the image of the markers  20   c  and  20   d  in region ( 3 ) captured also by the camera  10   b . By combining the images in the above manner, the same image as the image obtained by simultaneously capturing the marker  20   b  in region ( 2 ) and the markers  20   c  and  20   d  in region ( 3 ) can be obtained as in the first embodiment. 
     The lower left image in  FIG. 18  is an image obtained by combining the image of the marker  20   a  in region ( 1 ) captured by the camera  10   d  and the image of the markers  20   e  and  20   f  in region ( 4 ) captured also by the camera  10   d . By combining the images in the above manner, the same image as the image obtained by simultaneously capturing the marker  20   a  in region ( 1 ) and the markers  20   e  and  20   f  in region ( 4 ) can be obtained as in the first embodiment. 
     After the combined images illustrated in  FIG. 18  are produced, the calibration device computes the camera angle parameters of the cameras  10   a  to  10   d  in the same manner as in the first embodiment. As described above, with the calibration device according to the second embodiment, the images of regions ( 1 ) to ( 4 ) are sequentially captured. Therefore, the space required for camera calibration can be further reduced. 
     A description will next be given of the configuration of the calibration device that computes the camera angle parameters of the cameras  10   a  to  10   d  using the method described in  FIGS. 17 and 18 .  FIG. 19  is a diagram illustrating the configuration of the calibration device according to the second embodiment. As illustrated in FIG.  19 , a combining processing device  200  is disposed between the calibration device  100  and cameras  10   a  to  10   d . The configuration of this calibration device  100  is identical to the configuration of the calibration device  100  illustrated in  FIG. 5 . 
     The combining processing device  200  is a device for combining images captured by the cameras  10   a  to  10   d  at different times and includes sub-frame buffers  200   a  to  200   h  and combining units  210   a  to  210   d . The combining processing device  200  is synchronized by a synchronization control unit  220 . 
     The sub-frame buffer  200   a  is a storage unit that stores the left half of the image (the image containing the marker  20   a  in region ( 1 )) captured by the camera  10   a , and the sub-frame buffer  200   b  is a storage unit that stores the right half of the image (the image containing the marker  20   b  in region ( 2 )) captured by the camera  10   a.    
     The sub-frame buffer  200   c  is a storage unit that stores the left half of the image. (the image containing the marker  20   b  in region ( 2 )) captured by the camera  10   b , and the sub-frame buffer  200   d  is a storage unit that stores the right half of the image (the image containing the markers  20   c  and  20   d  in region ( 3 )) captured by the camera  10   b.    
     The sub-frame buffer  200   e  is a storage unit that stores the left half of the image (the image containing the marker  20   d  in region ( 3 )) captured by the camera  10   c , and the sub-frame buffer  200   f  is a storage unit that stores the right half of the image (the image containing the marker  20   e  in region ( 4 )) captured by the camera  10   c.    
     The sub-frame buffer  200   g  is a storage unit that stores the left half of the image (the image containing the markers  20   e  and  20   f  in region ( 4 )) captured by the camera  10   d , and the sub-frame buffer  200   h  is a storage unit that stores the right half of the image (the image containing the marker  20   a  in region ( 1 )) captured by the camera  10   d.    
     The combining unit  210   a  is a processing unit that combines the images stored in the sub-frame buffers  200   a  and  200   b . The image combined by the combining unit  210   a  corresponds to, for example, the upper left image in  FIG. 18 . The combining unit  210   a  stores the combined image in the frame buffer  120  of the calibration device  100 . 
     The combining unit  210   b  is a processing unit that combines the images stored in the sub-frame buffers  200   c  and  200   d . The image combined by the combining unit  210   b  corresponds to, for example, the lower right image in  FIG. 18 . The combining unit  210   b  stores the combined image in the frame buffer  120  of the calibration device  100 . 
     The combining unit  210   c  is a processing unit that combines the images stored in the sub-frame buffers  200   e  and  200   f . The image combined by the combining unit  210   c  corresponds to, for example, the upper right image in  FIG. 18 . The combining unit  210   c  stores the combined image in the frame buffer  120  of the calibration device  100 . 
     The combining unit  210   d  is a processing unit that combines the images stored in the sub-frame buffers  200   g  and  200   h . The image combined by the combining unit  210   d  corresponds to, for example, the lower left image in  FIG. 18 . The combining unit  210   d  stores the combined image in the frame buffer  120  of the calibration device  100 . 
     (3) System Configuration Etc.
         Of the processes described in the above embodiments, processes described as automatic processes may be executed manually in part or in whole, and processes described as manual processes may be executed automatically in part or in whole using known methods. In addition, the processing procedures, control procedures, specific names, information including various types of data and various parameters illustrated in the above description and the drawings may be freely modified, unless otherwise specifically mentioned.       

     The components of each device illustrated in the figures are conceptual and functional and are not necessarily configured physically in the manner illustrated in the figures. More specifically, the specific configuration of the distribution and integration of each device is not limited to those illustrated in the figures. A part of or all the constituent components may be freely distributed or integrated functionally or physically according to various loads, use conditions, and other factors. Moreover, any part of or all the various processing functions executed on each unit may be implemented on a CPU as programs analyzed and executed on the CPU or implemented as a wired logic hardware device. 
       FIG. 20  is a diagram illustrating the hardware configuration of a computer that forms the calibration device  100  in the embodiments. As illustrated in  FIG. 20 , a computer (calibration device)  30  includes an input unit  31 , a display  32 , a random access memory (RAM)  33 , a read only memory (ROM)  34 , a medium reading unit  35  for reading data from a recording medium, a camera  36 , a central processing unit (CPU)  37 , and a hard disk drive (HDD)  38 , which are connected via a bus  39 . The computer  30  further includes cameras other than the camera  36 . 
     A calibration program  38   b  and an image combining program  38   c  that have the same functions as those of the calibration device  100  described above are pre-stored in the HDD  38 . The CPU  37  reads and executes the calibration program  38   b  and the image combining program  38   c , and a calibration process  37   a  and an image combining process  37   b  are thereby started. The calibration process  37   a  corresponds to the marker extraction unit  130 , the marker position estimation unit  140 , and the camera angle parameter estimation unit  150  illustrated in  FIG. 5 , and the image combining process  37   b  corresponds to the image combining processing unit  160 . 
     The HDD  38  also stores camera position parameters  38   a  corresponding to the information stored in the parameter storage unit  110 . The CPU  37  reads the camera position parameters  38   a  stored in the HDD  38 , stores the read parameters in the RAM  33 , computes the camera angle parameters using the camera position parameters  38   a  stored in the RAM  33  and the images captured by the camera  36 , and then combines the images using the computed camera angle parameters and the camera position parameters  38   a . 
     The calibration program  38   b  and the image combining program  38   c  illustrated in  FIG. 20  are not necessarily pre-stored in the HDD  38 . For example, the calibration program  38   b  and the image combining program  38   c  may be stored in a “mobile physical medium” to be inserted into the computer such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card, a “fixed physical medium” such as an internal or external hard disk drive (HDD) of the computer, or “another computer (or server)” connected to the computer via a public network, the Internet, a LAN, a WAN, etc. The computer may read the calibration program  38   b  and the image combining program  38   c  from such a medium or computer and execute the read programs. 
     In this camera angle computing device, an image containing a first jig disposed in an overlap region of the fields of view of a camera and an adjacent camera and a second jig disposed vertically below the camera is acquired, and the angles of the camera are computed from the coordinates of the first and second jigs contained in the acquired image. Therefore, the area necessary for the calibration of the camera can be reduced, and the angle parameters of the camera can be computed accurately. 
     All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.