WO2017138216A1 - キャリブレーションシステム、キャリブレーション装置 - Google Patents
キャリブレーションシステム、キャリブレーション装置 Download PDFInfo
- Publication number
- WO2017138216A1 WO2017138216A1 PCT/JP2016/084648 JP2016084648W WO2017138216A1 WO 2017138216 A1 WO2017138216 A1 WO 2017138216A1 JP 2016084648 W JP2016084648 W JP 2016084648W WO 2017138216 A1 WO2017138216 A1 WO 2017138216A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vehicle
- reliability
- camera
- calibration
- attitude
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 32
- 238000003384 imaging method Methods 0.000 claims description 47
- 238000012937 correction Methods 0.000 claims description 41
- 238000011156 evaluation Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 description 88
- 230000008569 process Effects 0.000 description 75
- 230000036544 posture Effects 0.000 description 50
- 238000012545 processing Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 20
- 230000008859 change Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
Definitions
- the present invention relates to a calibration system and a calibration apparatus.
- In-vehicle cameras are becoming popular for the purpose of assisting drivers.
- the in-vehicle camera is attached to the vehicle at a position and posture based on the design, but it is inevitable that an error occurs in the attachment.
- this mounting error greatly affects the distance accuracy.
- an error in mounting an in-vehicle camera is estimated in advance as an external parameter, and the external parameter of the camera is taken into account when performing distance calculation or the like.
- the external parameter is calculated as follows, for example.
- Patent Document 1 discloses an invention in which an external parameter is calculated using an image obtained by photographing with a vehicle-mounted camera.
- the calibration system is mounted on a vehicle, the posture sensor that acquires posture information of the vehicle coordinate system of the vehicle, the imaging unit that captures the surroundings of the vehicle, and the reliability of the posture sensor.
- An attitude sensor reliability calculation unit for calculating the attitude sensor reliability, and the attitude information output by the attitude sensor when the calculated attitude sensor reliability is greater than a predetermined threshold, and the imaging unit for the vehicle coordinate system A posture use estimation unit that estimates an external parameter of the imaging unit using the relationship of the coordinate system.
- a posture sensor mounted on a vehicle and acquiring posture information of the vehicle coordinate system of the vehicle, and a calibration device connected to an imaging unit that captures the surroundings of the vehicle are:
- the external parameter can be calculated even when an image suitable for calculating the external parameter of the imaging unit cannot be obtained.
- FIG. 1 is a diagram showing a configuration of a calibration system 100 according to the present invention.
- the calibration system 100 includes an imaging unit 111, a calculation device 101, a RAM 102, a ROM 103, a display device 104, a vehicle speed sensor 105, a rudder angle sensor 106, a vehicle height sensor 107, a gyro sensor 108, and an input.
- a device 109 and a flash memory 112 are provided.
- the calibration system 100 is mounted on the vehicle 1.
- the imaging unit 111 captures a front camera 111 a that captures the front of the vehicle 1, a rear camera 111 b that captures the rear of the vehicle 1, a left camera 111 c that captures the left side of the vehicle 1, and a right side of the vehicle 1. And right camera 111d.
- the front camera 111a, the rear camera 111b, the left camera 111c, and the right camera 111d are collectively referred to as cameras 111a to 111d.
- the mounting positions of the cameras 111a to 111d are, for example, as follows. That is, the front camera 111a and the rear camera 111b are attached in the vicinity of the number plate at the front and rear of the vehicle body.
- the left camera 111c and the right camera 111d are attached under the left and right side mirrors.
- the cameras 111a to 111d are attached during the production process of the vehicle 1, and the position and orientation relationship of the cameras 111a to 111d with respect to the vehicle coordinate system does not change after factory shipment.
- the cameras 111a to 111d are mounted such that the optical axis is directed downward from the parallel plane by a predetermined angle.
- the cameras 111a to 111d are attached according to known design information, but an attachment error is inevitable.
- the cameras 111a to 111d can not only acquire images of the entire periphery of the vehicle 1 when the fields of view of the four cameras are combined, but also have wide-angle fisheye lenses so that the fields of view of the respective cameras partially overlap.
- the fisheye lens can obtain a distorted image based on a known distortion function.
- Each image obtained by the cameras 111 a to 111 d is transmitted to the arithmetic device 101.
- the camera parameters related to the cameras 111a to 111d are composed of internal parameters and external parameters.
- the internal parameters are stored in the ROM 103 and the external parameters are stored in the flash memory 112.
- the internal parameters are information unique to the camera such as optical characteristics such as focal length / lens distortion and image sensor size, and are information that does not change after shipment from the factory.
- the external parameter is information related to the camera mounting position / angle with respect to the ground, and changes depending on the posture of the vehicle 1 even after factory shipment in which the positions and postures of the cameras 111a to 111d with respect to the vehicle 1 are fixed.
- the external parameters of the camera are referred to as “camera parameters”.
- the arithmetic unit 101 is a CPU, and develops and executes a program stored in the ROM 103 on the RAM 102.
- This program mainly calculates the distance based on the captured images of the cameras 111a to 111d, generates an overhead image, and performs calibration, that is, calculates camera parameters.
- the calculation of the distance based on the captured images of the cameras 111a to 111d is used for an obstacle avoidance function for avoiding a collision with an obstacle and a parking assist function for assisting steering based on a distance to a surrounding vehicle.
- the generation and calibration of the overhead image will be described later.
- the arithmetic unit 101 is connected to the cameras 111a to 111d, the vehicle speed sensor 105, the rudder angle sensor 106, the vehicle height sensor 107, the gyro sensor 108, and the input device 109 through signal lines, receives various information, and stores them in the program described above. Based on the calculation processing.
- the RAM 102 In the RAM 102, numerical data required in the arithmetic processing process in the arithmetic unit 101, program variables for processing results during the arithmetic operation, and the like are written. Further, the RAM 102 reads out the written data as necessary during the arithmetic processing and uses it for the arithmetic processing.
- the RAM 102 also stores image data taken by the cameras 111a to 111d.
- the ROM 103 stores, for example, a program that executes calibration, information that is necessary for the program and does not change, and internal parameters of the cameras 111a to 111d. Further, the ROM 103 stores a program for realizing a collision avoidance function and a parking assist function using images obtained by the cameras 111a to 111d.
- the flash memory 112 is a nonvolatile memory, and stores camera parameters of the cameras 111a to 111d and gyro correction information of the gyro sensor 108. As described above, the camera parameters change after shipment from the factory, and are calculated by the arithmetic unit 101 by calibration. The gyro correction information of the gyro sensor 108 is also calculated by the arithmetic unit 101.
- the display device 104 is a liquid crystal display and presents information received from the arithmetic device 101 to the user. For example, the display device 104 displays the overhead image created by the arithmetic device 101 based on the images taken by the cameras 111a to 111d. Further, the display device 104 switches display contents according to the output of the arithmetic device 101, such as displaying only the image of the camera 111b after photographing the rear of the vehicle.
- the vehicle speed sensor 105, the rudder angle sensor 106, the vehicle height sensor 107, and the gyro sensor 108 are sensors for observing the vehicle speed, the rudder angle, the height of the vehicle 1 with respect to the ground, and the angular velocity of the three axes of the vehicle 1, respectively. This is used in arithmetic processing in the apparatus 101.
- the vehicle speed sensor 105 detects the traveling speed of the vehicle 1 and outputs it to the arithmetic unit 101. Based on the output of the vehicle speed sensor 105, the arithmetic unit 101 determines, for example, whether the vehicle 1 is in a running state or in a stopped state.
- the steering angle sensor 106 detects the steering angle of the vehicle 1 and outputs it to the arithmetic unit 101. Based on the output of the rudder angle sensor 106, the arithmetic unit 101 determines, for example, whether the vehicle 1 is traveling straight or turning.
- the vehicle height sensor 107 detects the height of the vehicle 1 with respect to the ground and outputs it to the arithmetic device 101.
- the gyro sensor 108 is a three-axis gyro sensor that outputs an angular velocity (posture information) of a yaw angle, a roll angle, and a pitch angle.
- the computing device 101 can obtain posture angle information at a certain time by accumulating the angular velocities output from the gyro sensor 108 every short time. Since the angular velocity output from the gyro sensor 108 includes an error, the accumulated error of the posture angle information obtained based on the output of the gyro sensor 108 increases with time. In order to eliminate this accumulated error, gyro correction information described later is created and stored in the flash memory 112.
- the arithmetic unit 101 can obtain the attitude angle information in which the influence of the accumulated error is reduced from the output of the gyro sensor 108 by considering the gyro correction information. However, errors are accumulated again after the creation of the gyro correction information.
- the input device 109 includes switches and buttons, receives user operations, and outputs them to the arithmetic device 101. Based on the output of the input device 109, the arithmetic unit 101 performs, for example, on / off switching of a calibration function, initialization of a calibration result, and the like.
- the arithmetic device 101 converts / combines viewpoints of the images input from the cameras 111a to 111d, generates an image that looks down on the ground from above, that is, an overhead image, and outputs the image to the display device 104.
- the overhead image is generated by the arithmetic device 101 as follows. First, the arithmetic unit 101 removes distortion of images input from the cameras 111 a to 111 d using a known distortion function stored in advance in the ROM 103.
- the arithmetic unit 101 converts each image from which distortion has been removed based on the camera parameters of the cameras 111a to 111d stored in the flash memory 112, the design values relating to known camera attachments stored in advance in the ROM 103, and the like.
- the viewpoint is converted / synthesized into an image viewed from the overhead viewpoint. This is realized by calculating a specific pixel of the overhead view image and a specific pixel of the corresponding camera 111a-d using a known geometric transformation formula of the camera, and assigning the luminance value of the pixel to the pixel of the overhead image. it can.
- a process of assigning an intermediate luminance of peripheral pixels is performed by a known luminance interpolation process.
- the arithmetic device 101 outputs the overhead image generated by the above-described processing to the display device 104.
- the arithmetic unit 101 calculates camera parameters of the cameras 111a to 111d and gyro correction information of the gyro sensor 108 when the engine key switch of the vehicle 1 is ON. Note that the camera parameters of the cameras 111a to 111d and the gyro correction information of the gyro sensor 108 can be calculated before the vehicle 1 is shipped from the factory, but this is not performed in the present embodiment.
- the outline of the calibration method is described below. The feature of this calibration is that the camera parameters are calculated using the output of the gyro sensor 108 even when the camera parameters cannot be calculated using the captured images of the cameras 111a to 111d.
- the cameras 111a to 111d are attached to a vehicle 1 that is a rigid body, and after the vehicle 1 is shipped from the factory, the relative relationship between the coordinate systems of the cameras 111a to 111d with respect to the vehicle coordinate system is constant. Therefore, once the relative relationship of each of the cameras 111a to 111d with respect to the vehicle coordinate system is estimated, the camera parameters of the cameras 111a to 111d can be calculated using the output of the gyro sensor 108. The position and orientation relationship of the cameras 111a to 111d with respect to the vehicle coordinate system can be estimated using the captured images of the cameras 111a to 111d. However, since a cumulative error occurs in the posture angle information obtained by accumulating the output of the gyro sensor 108, the gyro correction information is calculated using the captured images of the cameras 111a to 111d.
- the calibration process that is, the camera parameter calculation process of the cameras 111a to 111d and the gyro correction information calculation process of the gyro sensor 108 will be described with reference to the flowcharts of FIGS. 3 to 8 are called from the main flowchart shown in FIG.
- the execution subject of the processing shown in the flowcharts of FIGS. 2 to 8 described below is the arithmetic unit 101.
- FIG. 2 is a main flowchart showing the operation of the calibration process. This process is repeatedly executed while the ignition key switch of the vehicle 1 is ON.
- step S201 and step S205 are executed in parallel.
- step S201 captured images are received from the cameras 111a to 111d, and the process proceeds to step S202.
- step S202 camera reliability is calculated for each of the cameras 111a to 111d using the captured image received in step S201.
- the camera reliability is an index that serves as a guideline that a feature amount necessary for image processing can be acquired from an image captured by the camera.
- the image processing here is image processing in the posture sensor calibration processing in step S208 and image processing in the camera calibration processing in step S204.
- the camera reliability calculation process will be described later with reference to FIG. When the calculation of the camera reliability is completed, the process proceeds to step S203.
- step S203 if it is determined that all four camera reliability values calculated in step S202 exceed a predetermined threshold value, the process proceeds to step S208 and step S204.
- step S208 When it is determined that at least one of the four camera reliability levels calculated in step S202 is equal to or less than a predetermined threshold value, the program whose operation is represented by FIG. 2 is terminated.
- step S205 executed in parallel with step S201, the attitude angle information of the vehicle 1 is acquired based on the output of the gyro sensor 108, and the process proceeds to step S206.
- step S206 the attitude sensor reliability is calculated.
- attitude sensor reliability As described above, in the calculation of the posture angle information based on the output of the gyro sensor 108, errors accumulate with time. This accumulated error can be reduced once by creating the gyro correction information, but it will increase over time thereafter.
- attitude sensor reliability Such characteristics are expressed as attitude sensor reliability. That is, an attitude sensor reliability function that takes a maximum value immediately after creating the gyro correction information and then linearly attenuates as time passes is set. The inclination of the attitude sensor reliability function is called an attenuation rate, and the attenuation rate is set to a predetermined value in the initial state. The setting of the attenuation rate based on the actual measurement will be described later.
- the arithmetic unit 101 calculates the attitude sensor reliability based on the attitude sensor reliability function and the elapsed time since the creation of the gyro correction information, and the process proceeds to step S207.
- step S207 it is determined whether or not the attitude sensor reliability calculated in step S206 is less than a predetermined threshold value. If it is determined that the value is less than the threshold value, the process proceeds to step S208. If it is determined that the value is equal to or greater than the threshold value, the process proceeds to step S204.
- step S208 is executed.
- the attitude sensor reliability is equal to or less than the threshold value
- the calibration process of the gyro sensor 108 is necessary, and when the camera reliability exceeds the threshold value, the calibration process of the gyro sensor 108 is possible.
- step S208 calibration processing of the gyro sensor 108 using the captured image, that is, generation of gyro correction information is performed.
- the attitude sensor reliability since the attitude sensor reliability takes the maximum value immediately after the gyro correction information is created and then linearly attenuates with the passage of time, the attitude sensor reliability temporarily becomes temporary when the gyro sensor 108 is calibrated. To increase.
- step S208 if the posture sensor calibration process is executed, the process proceeds to step S204. However, if the data accumulation is insufficient and the posture sensor calibration process cannot be executed, step S204 is not executed. The program whose operation is represented by is terminated.
- Step S204 is executed when an affirmative determination is made in step S203, a negative determination is made in step S207, or a predetermined condition is satisfied in step S208.
- Step S204 is executed when at least one of the camera reliability and the attitude sensor reliability exceeds the threshold value.
- step S204 a camera parameter calculation method is selected according to the camera reliability and the attitude sensor reliability, and the camera parameters are calculated. Details of the processing in this step will be described later with reference to FIG. When the execution of this step is finished, the program whose operation is represented by FIG. 2 is finished.
- FIG. 3 is a flowchart showing details of the camera reliability calculation process executed in step S202 of FIG. When the camera reliability calculation process is started, step S301 and step S302 are executed in parallel.
- the contrast is determined, that is, the brightness contrast is evaluated for each of the captured images of the cameras 111a to 111d.
- the edges of the captured images of the cameras 111a to 111d are extracted by a known Sobel filter or the like, and evaluation values corresponding to the number of pixels having edge strengths equal to or greater than a predetermined threshold are obtained. Calculate for each. A large evaluation value is calculated on the assumption that the higher the number of pixels having edge strengths equal to or greater than the threshold value, the higher the contrast.
- the evaluation value is an integer from 0 to 100.
- step S302 executed in parallel with step S301, the determination of the attached matter, that is, for each of the cameras 111a to 111d, the presence / absence of a shielding object with respect to the imaging surface and the size of the area where the imaging surface is shielded are evaluated.
- the region where the imaging surface is shielded is a region of the imaging surface where light from the subject does not reach due to, for example, water droplets or mud adhering to the lens.
- the maximum evaluation value is output, and the smaller the shielding area, the smaller the evaluation value is output.
- the arithmetic device 101 evaluates the difference between the captured images captured at different times, that is, the time-series change of the captured images as follows.
- an area where the difference in luminance is smaller than a predetermined threshold and is present for a predetermined time or longer is determined as a shielding area, and a smaller evaluation value is calculated as the proportion of the shielding area in the captured image is larger.
- the evaluation value is an integer from 0 to 100.
- step S303 which is executed when step S301 and step S302 are completed, the reliability is calculated for each of the cameras 111a to 111d based on the evaluation values calculated in step S301 and step S302. Since any evaluation value takes a large value when it is suitable for image processing, the greater the evaluation value, the greater the reliability calculated.
- the reliability is, for example, an integer from 0 to 100, and is calculated as the average value of the evaluation values output in steps S301 and S302 or the square root of the product.
- FIG. 4 is a flowchart showing details of the attitude sensor calibration process executed in step S208 of FIG.
- step S401 it is determined whether the traveling state of the vehicle 1 is straight traveling, turning, or stopping.
- the arithmetic unit 101 acquires the outputs of the vehicle speed sensor 105, the rudder angle sensor 106, and the gyro sensor 108, calculates the behavior of the vehicle 1 at the latest time, for example, the past few seconds, and determines the traveling state. If the vehicle speed of the vehicle 1 is equal to or lower than a predetermined speed, it is determined that the vehicle is stopped.
- step S402 the running state determined in step S401 is evaluated. If it is determined that the vehicle is traveling straight, the process proceeds to step S403. If it is determined that the vehicle is turning, the process proceeds to step S404. If it is determined that the vehicle is stopped or in any other state, the process of the flowchart shown in FIG. In step S403, the captured images of the cameras 111a to 111d and the output of the gyro sensor 108 are stored in the RAM 102 as straight running data, and the process proceeds to step S405. In step S404, the captured images of the cameras 111a to 111d and the output of the gyro sensor 108 are stored in the RAM 102 as turning data, and the process proceeds to step S405.
- step S405 it is determined whether the number of straight-ahead data stored in the RAM 102 is greater than the threshold and whether the number of turning data stored in the RAM 102 is greater than the threshold.
- the process proceeds to step S406.
- the threshold value of the straight traveling time data and the threshold value of the turning time data may be the same or different.
- posture sensor calibration that is, calculation of gyro correction information, is performed using the straight traveling data and turning data stored in the RAM 102.
- the arithmetic unit 101 performs pitch axis correction using the straight traveling data, and performs yaw axis correction using the turning data.
- Calibration between the vehicle 1 and the gyro sensor 108 is realized by correcting the two axes so as to match the vehicle coordinate system.
- This posture sensor calibration is performed as follows. First, two or more linear structures parallel to the traveling direction such as parallel white lines and curbs are simultaneously recognized and extracted from the image data included in the straight traveling data.
- the method for recognizing the straight structure is not limited to a specific method, and is realized using, for example, a known Hough transform.
- instantaneous pitch angle fluctuation of the vehicle 1 can be estimated.
- a rotation matrix is obtained such that the estimated pitch angle variation matches the pitch angle variation output from the gyro sensor 108.
- the yaw angle information is corrected so as to match.
- the yaw angle information is obtained from the turning data.
- Corner feature points are tracked in the image data included in the turning data, and the yaw angle fluctuation amount of the vehicle 1 is obtained from the tracking trajectory. Corner feature points are detected using a Harris corner detector, and feature point tracking uses SAD (SumSof Absolute Difference), SSD (Sum of Squared Difference), or the like.
- the rotation matrix is estimated so that the yaw angle fluctuation amount of the vehicle 1 and the corresponding yaw angle data obtained from the gyro sensor 108 also coincide with each other. That is, a rotation matrix is obtained such that the pitch angle fluctuation and yaw angle fluctuation of the vehicle 1 obtained from the image coincide with the two axes of the gyro sensor 108.
- the other axis that is, the roll angle is automatically matched.
- the estimation of the rotation matrix is performed using a known optimization method.
- the accumulated value of the attitude sensor is reset by correcting the current value of the angle output value of the attitude sensor to the angle obtained from the image.
- the rotation matrix calculated in this way and the angle obtained from the image are the gyro correction information.
- step S502 it is determined whether or not the attitude sensor reliability is greater than a threshold value. If it is determined that the value is larger than the threshold value, Steps S503 and S504 are executed in parallel. If it is determined that the value is equal to or less than the threshold value, the process proceeds to Step S507. Note that the threshold value used here is the same as the threshold value in step S207 of FIG. In step S503, calibration based on image information, that is, calculation of camera parameters using captured images of the cameras 111a to 111d is performed. Details of this step will be described later with reference to FIG. Next, the process proceeds to step S505.
- step S504 executed in parallel with step S503, calibration based on posture information, that is, calculation of camera parameters using the output of the gyro sensor 108 is performed. Details of this step will be described later with reference to FIG.
- step S505 which is executed when the execution of steps S503 and S504 is completed, the camera parameter weighting process calculated in each of steps S503 and S504 is performed. That is, a weighted average value based on the camera reliability and the posture sensor reliability is calculated between the camera parameter calculated based on the image information and the camera parameter calculated based on the posture information. To do.
- step S506 When the execution of only one of step S503 or step S504 is completed, the completion of the other execution is awaited. While waiting for the completion of the other execution, the calibration result that has been completed, that is, the camera parameter is displayed. Use to calculate the distance to the obstacle.
- step S506 calibration is performed between the coordinate system of the cameras 111a to 111d and the vehicle coordinate system. That is, the attitude angles of the cameras 111a to 111d are calculated based on the camera parameters obtained in step S503, and the difference from the attitude angle information of the vehicle 1 calculated based on the output of the gyro sensor 108 is recorded in the flash memory 112. Further, the heights of the cameras 111a to 111d are calculated based on the camera parameters obtained in step S503, and the difference from the output value of the vehicle height sensor 107 is recorded in the flash memory 112. The difference between the posture angle and the height obtained in this way is the relationship of the coordinate system of the imaging unit with respect to the vehicle coordinate system. Above, the process of the flowchart shown in FIG. 5 is complete
- FIG. 6 is a flowchart showing details of the calibration processing based on image information, which is executed in steps S503 and S507 in FIG.
- steps S601 to S604 are executed in parallel. These four steps are unit calibration processing for each of the cameras 111a to 111d. Details of steps S601 to S604 will be described with reference to FIG. When all executions of steps S601 to S604 are completed, step S605 is executed.
- step S605 the inter-camera relative calibration, that is, the translation position of the cameras 111a to 111d is estimated using the angles and heights of the cameras 111a to 111d obtained by the processing in steps S601 to S604.
- Inter-camera relative calibration is a process necessary for creating a bird's-eye view image using captured images of the cameras 111a to 111d.
- one of the cameras 111a to 111d is used as a reference camera, and the translation position of the camera is estimated so that overlapping portions of the visual fields of the respective cameras overlap when coordinate conversion is performed to the overhead view viewpoint.
- the parameters of the rear camera 111b, the left camera 111c, and the right camera 111d are adjusted so that there is no shift in the image displayed in the overlapping common imaging region of the visual field.
- the parameters of the rear camera 111b, the left camera 111c, and the right camera 111d are adjusted so that there is no shift in the image displayed in the overlapping common imaging region of the visual field.
- using an image in which pedestrian crossings are photographed in areas with overlapping fields of view recognizing the straight lines that make up the pedestrian crossings, and the coordinates of the straight lines match when the coordinates are converted to the overhead view viewpoint Correct the translation parameters.
- the correction can be realized by an optimization method. The process of the flowchart shown in FIG.
- FIG. 7 is a flowchart showing details of the single camera calibration process executed in steps S601 to S604 of FIG. Steps S601 to S604 are different in processing target camera, but the processing contents are almost the same, so the processing in step S601 for the front camera 111a as a representative will be described.
- the processing contents differ depending on the processing target camera is processing related to estimation of the yaw angle and pitch angle in step S705.
- step S701 corner feature points that are unlikely to be confused with other feature points are extracted from the image captured by the front camera 111a.
- the corner feature points are extracted using, for example, a Harris corner detector.
- step S702 the feature points extracted in step S701 are tracked in the captured images of the previous camera 111a captured at different times. For tracking feature points, for example, a peripheral region of the feature points extracted in step S701 is cut out, and a region that matches the region is searched from the next photographed image by a method such as SSD.
- step S703 the trajectory of the feature point tracked in step S702 is stored in the RAM 102.
- Steps S701 to S703 are repeatedly executed until a predetermined number or more of feature point trajectories are accumulated in the RAM 102.
- step S705 which is executed in parallel with step S701
- a linear structure along the vehicle traveling direction for example, a lane boundary line constituting the traveling lane is extracted from the captured image of the front camera 111a.
- a known technique such as Hough transform can be used.
- the process proceeds to step S705.
- step S705 which is executed when both step S703 and step S704 are completed, camera angle correction, that is, the front camera 111a is performed using the feature point trajectory saved in step S703 and the linear structure information extracted in step S704. Estimate the angle to the ground and the height from the ground, and correct the previous calculation results. In the camera angle correction, three corrections of pitch angle correction, yaw angle correction, and roll angle correction are sequentially performed, and finally the height is estimated.
- the pitch angle affects the parallelism of the linear structure in the traveling direction of the vehicle 1 as viewed from the front camera 111a
- the yaw angle is the parallelism of the linear structure in the width direction of the vehicle 1 as viewed from the front camera 111a. Affects. Since the linear structure in the width direction has only a pedestrian crossing and a stop line, and the appearance frequency during running on public roads is low, a feature point trajectory is used. At the same time, corner feature points appearing on the image are paired and feature point tracking is performed.
- the yaw angle parameter is estimated so that the straight line group is parallel.
- an optimization method such as the Gauss-Newton method can be used with the parallelism of the straight line as an objective function.
- the roll angle correction pays attention to the feature point trajectory in the vehicle traveling direction or the extracted linear structure as in the case of the pitch angle correction.
- the straight line formed by the straight structure or the feature point locus should coincide with the traveling direction of the vehicle 1 and coincide with the vertical axis direction in the overhead image, that is, the axial direction of the vehicle 1. Therefore, the roll angle is corrected so that the feature point trajectory in the vehicle traveling direction or the extracted linear structure matches the vertical axis direction in the overhead view image.
- the camera height is corrected so that the distance corresponding to the length of the feature point locus matches the traveling distance of the vehicle 1.
- the traveling distance of the vehicle 1 is obtained by time integration of the output of the vehicle speed sensor 105.
- the distance corresponding to the length of the feature point trajectory can be obtained from the design value.
- the camera height is estimated using an optimization process such as the Gauss-Newton method so that the length of the feature point trajectory matches the actual travel distance obtained from the vehicle speed.
- FIG. 8 is a flowchart showing details of calibration processing based on posture information, which is executed in steps S504 and S509 of FIG.
- the cameras 111a to 111d are attached to a rigid vehicle body, and the fact that the positions and postures of the cameras 111a to 111d fluctuate in conjunction with the posture variation of the vehicle body is used.
- step S800 it is determined whether or not step S506 in FIG. 5 has been executed, that is, whether or not calibration based on image information has been executed so far. In other words, it is determined whether or not the relationship of the coordinate systems of the cameras 111a to 111d with respect to the vehicle coordinate system is known. If it is determined that it has been executed once, the process proceeds to step S801. If it is determined that it has never been executed, the process of the flowchart shown in FIG. 8 ends. Whether or not step S506 in FIG. 5 has been executed can be determined based on whether or not information indicating that step S506 has been executed is stored in the flash memory 112, for example.
- step S801 the coordinate conversion values of the cameras 111a to 111d are obtained using the attitude angle information of the vehicle coordinate system and the relationship of the coordinate systems of the cameras 111a to 111d with respect to the vehicle coordinate system calculated in step S506 of FIG. calculate.
- the attitude angle information of the vehicle coordinate system is obtained based on the output of the gyro sensor 108, the gyro correction information, and the output of the vehicle height sensor 107.
- steps S802 to S805 are executed in parallel.
- steps S802 to S805 camera parameters of the cameras 111a to 111d are calculated based on the coordinate conversion values of the cameras 111a to 111d calculated in step S801.
- Attenuation rate setting A method of setting the attenuation rate used for calculating the attitude sensor reliability in S206 of FIG. 2 will be described.
- an initial value that is, a predetermined value is used as the attenuation rate at the time of shipment from the factory, but the arithmetic unit 101 sets the attenuation rate based on actual measurement as follows.
- the arithmetic unit 101 performs the following process.
- the arithmetic unit 101 observes a change in drift amount with time, obtains a straight line that approximates a point group obtained by observation by taking the elapsed time on the horizontal axis and the drift amount on the vertical axis.
- the slope of this straight line is set as a new attenuation rate.
- the drift amount referred to here is a difference between the attitude angle of the vehicle 1 calculated using a photographed image of the camera and the attitude angle obtained by integrating the outputs of the gyro sensor 108.
- the vehicle 1 has a collision avoidance function and a parking assist function.
- this operation example is started in a state where the collision avoidance function and the parking assist function do not function sufficiently. It is assumed that a plurality of people get on this vehicle 1 and travel on the roadway to the destination, the passenger gets off at the entrance of the parking lot attached to the destination, and the driver parks alone at the parking lot. . It is expected that the collision avoidance function works effectively on the road and the parking assist function works effectively in the parking lot.
- step S208 that is, the process shown in FIG. 4, assuming that the amount of accumulated data is not sufficient (FIG.
- step S405 NO
- the posture sensor calibration in step S406 is not executed.
- step S204 that is, the process shown in FIG. 5, only the camera reliability exceeds the threshold value, so calibration based on the image information in step S507 is executed, and the processes shown in FIGS. 6 and 7 are executed. Thereafter, the process shown in the main flowchart is executed again.
- step S208 is repeatedly executed, and when the amount of accumulated data is sufficient (FIG. 4, step S405: YES), the posture sensor calibration of step S406 is executed, and gyro correction information is created. Since the attitude sensor reliability has a characteristic that takes a maximum value immediately after the gyro correction information is created and then decays with the lapse of time, the attitude sensor reliability is greater than the threshold value after the gyro correction information is created (see FIG. 2). S207: NO, S502 in FIG. 5: YES), and calibration based on the posture information in step S504 is also executed.
- step S208 If the time further elapses thereafter, it is determined that the attitude sensor reliability decreases and is equal to or less than the threshold value, but if the camera reliability is greater than the threshold value, the attitude sensor calibration in step S208 is executed again (S203: YES and S207: YES ⁇ S208).
- the processing shown in FIGS. 6 and 7 performs camera parameter calibration during traveling. Therefore, the arithmetic unit 101 can calculate the distance to the obstacle existing around the vehicle 1 with high accuracy using the captured images of the cameras 111a to 111d, and the collision avoidance function is effective. Further, posture sensor calibration in step S406 is also performed by accumulating data.
- both the camera reliability and the attitude sensor reliability are larger than the threshold values, both calibration based on image information (FIG. 5, S502) and calibration based on attitude information (FIG. 5, S504) are executed. .
- calibration based on image information may not be performed in a parking lot because the feature quantity required for calibration based on image information may not be obtained. There is no possibility.
- the calibration based on the posture information can be executed immediately because there is no particular problem in obtaining the posture information even in the parking lot.
- the position and orientation of the vehicle 1 with respect to the ground change due to the passenger getting off, the position and orientation relationship of the cameras 111a to 111d with respect to the vehicle coordinate system does not change, so that there is no problem in performing calibration based on the orientation information.
- the calibration based on the image information takes time until execution and is not realistic.
- the calibration based on the posture information can be performed immediately even in the parking lot if the posture sensor reliability is larger than the threshold value.
- the calibration system 100 includes a gyro sensor (posture sensor) 108 that is mounted on the vehicle 1 and acquires posture information of the vehicle coordinate system of the vehicle 1, and an imaging unit 111 that captures the surroundings of the vehicle 1. .
- the calibration system 100 calculates the attitude sensor reliability, which is the reliability of the attitude sensor 108, as shown in step S206 of FIG.
- the calibration system 100 determines the angular velocity (posture information) output by the posture sensor and the vehicle coordinate system when the calculated posture sensor reliability is greater than a predetermined threshold.
- the external parameters of the image capturing unit 111 are estimated using the relationship of the image capturing unit 111 with respect to.
- the external parameters of the image capturing unit 111 can be calculated even when an image suitable for camera parameter calculation cannot be obtained from the image capturing unit 111. That is, with the processing shown in steps S504 and S509 in FIG. 5, the camera parameters of the imaging unit 111 can be calculated even when the vehicle 1 does not travel after the posture of the vehicle 1 changes due to the passenger getting off or the like. Therefore, it is possible to calculate the distance with high accuracy using the captured image of the imaging unit 111 even after the attitude of the vehicle 1 changes.
- the calculation device 101 calculates the relationship of the imaging unit 111 with respect to the vehicle coordinate system, and the processing shown in steps S504 and S509 in FIG. Thus, camera parameters can be calculated.
- the attitude sensor reliability calculation process shown in step S206 of FIG. 2 calculates the attitude sensor reliability based on the elapsed time from the time when the calibration by the attitude sensor correction unit is executed. Therefore, the magnitude of the error included in the posture angle information calculated based on the output of the gyro sensor 108 can be easily estimated.
- the camera reliability calculation process shown in step S202 of FIG. 2 includes the contrast determination process for evaluating the contrast of the image obtained by the imaging unit 111 shown in step S301 of FIG. 3 and the step S302 of FIG. Including an attached matter determination process that evaluates an attached matter that shields the imaging surface of the image pickup unit by using a difference between a plurality of images obtained by the imaging unit 111 shown in FIG. Calculate the degree. Therefore, it is possible to generate information for determining whether or not camera parameters can be calculated using an image obtained by photographing by the imaging unit 111.
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Combustion & Propulsion (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Chemical & Material Sciences (AREA)
- Studio Devices (AREA)
- Closed-Circuit Television Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
キャリブレーションシステムは、車両に搭載され、車両の車両座標系の姿勢情報を取得する姿勢センサと、車両の周囲を撮影する撮像部と、姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する姿勢情報、および車両座標系に対する撮像部の座標系の関係を用いて撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
Description
本発明は、キャリブレーションシステム、およびキャリブレーション装置に関する。
ドライバーを支援する目的で、車載カメラの普及が進んでいる。車載カメラは設計に基づいた位置、姿勢で車両に取り付けられるが、取り付けに誤差が生じることが避けられない。車載カメラにより撮影して得られた画像を用いて距離計算などを行う際には、この取付け誤差が距離精度に大きな影響を与える。そのため、車載カメラの取り付けの誤差を外部パラメータとしてあらかじめ推定し、距離計算などを行う際にカメラの外部パラメータを考慮することが広く行われている。
外部パラメータはたとえば以下のように算出される。すなわち、所定のテストパターンを決められた位置に精密に設置し、これを車載カメラにより撮影し、撮影して得られた画像が設計値どおりに製造/設置されたカメラで撮影した場合の画像と一致するように外部パラメータが算出される。しかし、乗車人員の増減や車両中の重量物の移動などにより車両の姿勢が変化するため、それに伴って地面に対するカメラの据え付け状態も変化する。すなわち、工場出荷時に外部パラメータが算出された場合であっても、外部パラメータの修正が必要となる。
特許文献1には、車載カメラにより撮影して得られた画像を用いて外部パラメータを算出する発明が開示されている。
外部パラメータはたとえば以下のように算出される。すなわち、所定のテストパターンを決められた位置に精密に設置し、これを車載カメラにより撮影し、撮影して得られた画像が設計値どおりに製造/設置されたカメラで撮影した場合の画像と一致するように外部パラメータが算出される。しかし、乗車人員の増減や車両中の重量物の移動などにより車両の姿勢が変化するため、それに伴って地面に対するカメラの据え付け状態も変化する。すなわち、工場出荷時に外部パラメータが算出された場合であっても、外部パラメータの修正が必要となる。
特許文献1には、車載カメラにより撮影して得られた画像を用いて外部パラメータを算出する発明が開示されている。
特許文献1に記載されている発明では、撮像部の外部パラメータの算出に適した画像が得られなければ外部パラメータが算出できない。
本発明の第1の態様によると、キャリブレーションシステムは、車両に搭載され、車両の車両座標系の姿勢情報を取得する姿勢センサと、車両の周囲を撮影する撮像部と、姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する姿勢情報、および車両座標系に対する撮像部の座標系の関係を用いて撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
本発明の第2の態様によると、車両に搭載され、車両の車両座標系の姿勢情報を取得する姿勢センサ、および車両の周囲を撮影する撮像部と接続されるキャリブレーション装置は、姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する姿勢情報、および車両座標系に対する撮像部の座標系の関係を用いて撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
本発明の第2の態様によると、車両に搭載され、車両の車両座標系の姿勢情報を取得する姿勢センサ、および車両の周囲を撮影する撮像部と接続されるキャリブレーション装置は、姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する姿勢情報、および車両座標系に対する撮像部の座標系の関係を用いて撮像部の外部パラメータを推定する姿勢使用推定部と、を備える。
本発明によれば、撮像部の外部パラメータの算出に適する画像が得られない場合でも、外部パラメータを算出できる。
(実施の形態)
以下、図1~図8を参照して、キャリブレーションシステムの実施の形態を説明する。
(構成)
図1は、本発明に係るキャリブレーションシステム100の構成を示す図である。キャリブレーションシステム100は、撮像部111と、演算装置101と、RAM102と、ROM103と、表示装置104と、車速センサ105と、舵角センサ106と、車高センサ107と、ジャイロセンサ108と、入力装置109と、フラッシュメモリ112とを備える。このキャリブレーションシステム100は、車両1に搭載される。
以下、図1~図8を参照して、キャリブレーションシステムの実施の形態を説明する。
(構成)
図1は、本発明に係るキャリブレーションシステム100の構成を示す図である。キャリブレーションシステム100は、撮像部111と、演算装置101と、RAM102と、ROM103と、表示装置104と、車速センサ105と、舵角センサ106と、車高センサ107と、ジャイロセンサ108と、入力装置109と、フラッシュメモリ112とを備える。このキャリブレーションシステム100は、車両1に搭載される。
撮像部111は、車両1の前方を撮影する前カメラ111aと、車両1の後方を撮影する後カメラ111bと、車両1の左側方を撮影する左カメラ111cと、車両1の右側方を撮影する右カメラ111dとから構成される。以下では、前カメラ111aと、後カメラ111bと、左カメラ111cと、右カメラ111dとをまとめて、カメラ111a~dと呼ぶ。カメラ111a~dの取付け位置はたとえば以下のとおりである。すなわち、前カメラ111aおよび後カメラ111bは、車体前方および車体後方のナンバープレート付近に取り付けられる。左カメラ111cおよび右カメラ111dは、左右のサイドミラーの下に取り付けられる。本実施の形態では、カメラ111a~dは車両1の生産過程において取り付けられ、工場出荷後は車両座標系に対するカメラ111a~dの位置姿勢関係は変化しないこととする。
カメラ111a~dは、水平面に対して平行から所定角度下方向に光軸が向くように取り付けられる。カメラ111a~dは、既知の設計情報にしたがって取り付けられるが、取り付け誤差の発生が避けられない。カメラ111a~dは、4つのカメラの視野をあわせると車両1の全周囲の画像を取得できるだけでなく、それぞれのカメラの視野が一部重複するように、広角の魚眼レンズを備える。魚眼レンズは広角の画像を取得する為に、既知の歪み関数に基づいた歪んだ画像が得られる。カメラ111a~dが撮影して得られたそれぞれの画像は、演算装置101に送信される。カメラ111a~dに関するカメラパラメータは、内部パラメータと外部パラメータとから構成され、内部パラメータはROM103に、外部パラメータはフラッシュメモリ112に保存される。内部パラメータとは、焦点距離/レンズ歪みなどの光学的特性や撮像素子サイズなどのカメラ固有の情報であって、工場出荷後に変化しない情報である。外部パラメータとは、地面に対するカメラの取り付け位置/角度に関する情報であり、車両1に対するカメラ111a~dの位置および姿勢が固定された工場出荷後でも車両1の姿勢により変化する。以下では、後述するジャイロ補正情報と区別するために、カメラの外部パラメータを「カメラパラメータ」と呼ぶ。
演算装置101は、CPUであり、ROM103に保存されるプログラムをRAM102に展開して実行する。このプログラムは、主にカメラ111a~dの撮影画像に基づく距離の算出、俯瞰画像の生成、およびキャリブレーション、すなわちカメラパラメータの算出を行う。カメラ111a~dの撮影画像に基づく距離の算出は、障害物との衝突を避ける障害物回避機能や、周囲の車両との距離に基づき操舵をアシストする駐車アシスト機能に利用される。俯瞰画像の生成、およびキャリブレーションは後述する。演算装置101は、カメラ111a~d、車速センサ105、舵角センサ106、車高センサ107、ジャイロセンサ108、および入力装置109と信号線により接続され、種々の情報を受信して前述のプログラムに基づき計算処理を実行する。
RAM102には、演算装置101における演算処理過程で必要となる数値データ、演算途中の処理結果に対するプログラムの変数などが書き込まれる。またRAM102は、演算処理過程で適宜必要に応じて、書き込まれたデータが読み出され、演算処理に使用される。RAM102には、カメラ111a~dによって撮影された画像データなども格納される。
ROM103には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報であって変化しない情報、および、カメラ111a~dの内部パラメータが格納される。さらにROM103には、カメラ111a~dが撮影して得られた画像を利用し衝突回避機能および駐車アシスト機能を実現するプログラムが格納される。
ROM103には、例えば、キャリブレーションを実行するプログラムや、プログラムで必要となる情報であって変化しない情報、および、カメラ111a~dの内部パラメータが格納される。さらにROM103には、カメラ111a~dが撮影して得られた画像を利用し衝突回避機能および駐車アシスト機能を実現するプログラムが格納される。
フラッシュメモリ112は不揮発性メモリであり、カメラ111a~dのカメラパラメータ、およびジャイロセンサ108のジャイロ補正情報が格納される。前述のとおりカメラパラメータは工場出荷後に変化し、キャリブレーションにより演算装置101により算出される。ジャイロセンサ108のジャイロ補正情報も、演算装置101により算出される。
表示装置104は、液晶ディスプレイであり、演算装置101から受信した情報をユーザーに提示する。例えば表示装置104は、カメラ111a~dの撮影画像に基づき演算装置101が作成した俯瞰画像を表示する。また表示装置104は、車両後方を撮影する後カメラ111bの画像だけを表示するなど、演算装置101の出力に従って、表示内容を切り替えたりする。
表示装置104は、液晶ディスプレイであり、演算装置101から受信した情報をユーザーに提示する。例えば表示装置104は、カメラ111a~dの撮影画像に基づき演算装置101が作成した俯瞰画像を表示する。また表示装置104は、車両後方を撮影する後カメラ111bの画像だけを表示するなど、演算装置101の出力に従って、表示内容を切り替えたりする。
車速センサ105、舵角センサ106、車高センサ107、およびジャイロセンサ108はそれぞれ、車速、舵角、地面に対する車両1の高さ、および車両1の3軸の角速度を観測するセンサであり、演算装置101における演算処理において利用される。
車速センサ105は、車両1の走行速度を検出して演算装置101に出力する。演算装置101は車速センサ105の出力に基づき、たとえば、車両1が走行状態にあるか停止状態にあるかを判断する。
舵角センサ106は、車両1の操舵角を検出して演算装置101に出力する。演算装置101は舵角センサ106の出力に基づき、たとえば、車両1の走行状態が直進/旋回のいずれであるかを判断する。
車高センサ107は、地面に対する車両1の高さを検出して演算装置101に出力する。
車速センサ105は、車両1の走行速度を検出して演算装置101に出力する。演算装置101は車速センサ105の出力に基づき、たとえば、車両1が走行状態にあるか停止状態にあるかを判断する。
舵角センサ106は、車両1の操舵角を検出して演算装置101に出力する。演算装置101は舵角センサ106の出力に基づき、たとえば、車両1の走行状態が直進/旋回のいずれであるかを判断する。
車高センサ107は、地面に対する車両1の高さを検出して演算装置101に出力する。
ジャイロセンサ108は、ヨー角、ロール角、ピッチ角の角速度(姿勢情報)を出力する3軸ジャイロセンサである。演算装置101は、ジャイロセンサ108が出力する角速度を短時間ごとに累積することにより、ある時刻における姿勢角情報が得られる。ジャイロセンサ108が出力する角速度には誤差が含まれるので、ジャイロセンサ108の出力に基づき得られる姿勢角情報は時間の経過とともに累積誤差が大きくなる。この累積誤差を解消するために後述するジャイロ補正情報が作成され、フラッシュメモリ112に格納される。そのため演算装置101は、ジャイロ補正情報を考慮することによりジャイロセンサ108の出力から累積誤差の影響を低減した姿勢角情報が得られる。ただし、そのジャイロ補正情報の作成以後は再び誤差が累積する。
入力装置109は、スイッチやボタンを備え、ユーザーの操作を受け付けて演算装置101に出力する。演算装置101は入力装置109の出力に基づき、たとえば、キャリブレーション機能のオン/オフ切り替え、キャリブレーション結果の初期化などを行う。
入力装置109は、スイッチやボタンを備え、ユーザーの操作を受け付けて演算装置101に出力する。演算装置101は入力装置109の出力に基づき、たとえば、キャリブレーション機能のオン/オフ切り替え、キャリブレーション結果の初期化などを行う。
(俯瞰画像の生成)
演算装置101は、カメラ111a~dから入力された画像を視点変換/合成し、上方から地面を見下ろしたような画像、すなわち俯瞰画像を生成し、表示装置104に出力する。演算装置101によるこの俯瞰画像の生成は、たとえば以下のように行われる。
まず演算装置101は、カメラ111a~dから入力された画像の歪みを、ROM103に事前に格納された既知の歪み関数を用いて除去する。次に演算装置101は、歪みを除去した各画像を、フラッシュメモリ112に格納されたカメラ111a~dのカメラパラメータや、ROM103などに事前に格納された既知のカメラ取り付けに関する設計値などに基づいて、俯瞰視点から見た画像に視点変換/合成する。これは公知のカメラの幾何変換式を使って、俯瞰画像の特定の画素とそれに対応するカメラ111a~dの特定の画素を計算し、その画素の輝度値を俯瞰画像の画素に割り当てることによって実現できる。対応する画素が小数点を含み、該当する画素がない場合は、公知の輝度の補間処理によって、周辺画素の中間輝度を割り当てる処理が行われる。
演算装置101は、上述した処理により生成した俯瞰画像を表示装置104に出力する。
演算装置101は、カメラ111a~dから入力された画像を視点変換/合成し、上方から地面を見下ろしたような画像、すなわち俯瞰画像を生成し、表示装置104に出力する。演算装置101によるこの俯瞰画像の生成は、たとえば以下のように行われる。
まず演算装置101は、カメラ111a~dから入力された画像の歪みを、ROM103に事前に格納された既知の歪み関数を用いて除去する。次に演算装置101は、歪みを除去した各画像を、フラッシュメモリ112に格納されたカメラ111a~dのカメラパラメータや、ROM103などに事前に格納された既知のカメラ取り付けに関する設計値などに基づいて、俯瞰視点から見た画像に視点変換/合成する。これは公知のカメラの幾何変換式を使って、俯瞰画像の特定の画素とそれに対応するカメラ111a~dの特定の画素を計算し、その画素の輝度値を俯瞰画像の画素に割り当てることによって実現できる。対応する画素が小数点を含み、該当する画素がない場合は、公知の輝度の補間処理によって、周辺画素の中間輝度を割り当てる処理が行われる。
演算装置101は、上述した処理により生成した俯瞰画像を表示装置104に出力する。
(キャリブレーションの概要)
演算装置101は、以下に説明するように、車両1のエンジンキースイッチがONの場合にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行う。なお、車両1の工場出荷前にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行うこともできるが、本実施の形態ではこれを行わない。
以下にキャリブレーション方法の概要を述べる。
本キャリブレーションの特徴は、カメラ111a~dの撮影画像を用いたカメラパラメータの算出が行えない場合でも、ジャイロセンサ108の出力を用いてカメラパラメータを算出する点である。
演算装置101は、以下に説明するように、車両1のエンジンキースイッチがONの場合にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行う。なお、車両1の工場出荷前にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行うこともできるが、本実施の形態ではこれを行わない。
以下にキャリブレーション方法の概要を述べる。
本キャリブレーションの特徴は、カメラ111a~dの撮影画像を用いたカメラパラメータの算出が行えない場合でも、ジャイロセンサ108の出力を用いてカメラパラメータを算出する点である。
カメラ111a~dは剛体である車両1に取り付けられており、車両1の工場出荷後は車両座標系に対するカメラ111a~dそれぞれの座標系の相対関係は一定である。したがって、車両座標系に対するカメラ111a~dそれぞれの座標系の相対関係を一度推定すれば、ジャイロセンサ108の出力を用いて、カメラ111a~dのカメラパラメータを算出することができる。カメラ111a~dの車両座標系に対する位置姿勢関係は、カメラ111a~dの撮影画像を用いて推定できる。
ただし、ジャイロセンサ108の出力を累積して得られる姿勢角情報には累積誤差が発生するため、カメラ111a~dの撮影画像を用いてジャイロ補正情報を算出する。
ただし、ジャイロセンサ108の出力を累積して得られる姿勢角情報には累積誤差が発生するため、カメラ111a~dの撮影画像を用いてジャイロ補正情報を算出する。
(キャリブレーション処理)
図2~図8のフローチャートを用いて、キャリブレーション処理、すなわちカメラ111a~dのカメラパラメータの算出処理、およびジャイロセンサ108のジャイロ補正情報の算出処理について説明する。図3~図8のフローチャートは、図2に示すメインフローチャートから呼び出される。以下に説明する図2~図8のフローチャートで示す処理の実行主体は、演算装置101である。
図2~図8のフローチャートを用いて、キャリブレーション処理、すなわちカメラ111a~dのカメラパラメータの算出処理、およびジャイロセンサ108のジャイロ補正情報の算出処理について説明する。図3~図8のフローチャートは、図2に示すメインフローチャートから呼び出される。以下に説明する図2~図8のフローチャートで示す処理の実行主体は、演算装置101である。
(メインフローチャート)
図2は、キャリブレーション処理の動作を示すメインフローチャートである。この処理は、車両1のイグニションキースイッチがONの間は繰り返し実行される。
メインフローチャートの処理が開始されると、ステップS201およびステップS205が並列に実行される。
ステップS201では、カメラ111a~dから撮影画像を受信してステップS202に進む。
図2は、キャリブレーション処理の動作を示すメインフローチャートである。この処理は、車両1のイグニションキースイッチがONの間は繰り返し実行される。
メインフローチャートの処理が開始されると、ステップS201およびステップS205が並列に実行される。
ステップS201では、カメラ111a~dから撮影画像を受信してステップS202に進む。
ステップS202ではステップS201において受信した撮影画像を用いて、カメラ111a~dのそれぞれについてカメラ信頼度を算出する。カメラ信頼度とは、そのカメラにより撮影された画像から、画像処理に必要な特徴量を取得することができることの目安となる指標である。ここでいう画像処理とは、ステップS208の姿勢センサキャリブレーション処理における画像処理、およびステップS204のカメラキャリブレーション処理における画像処理である。カメラ信頼度の算出処理は、後に図3を用いて説明する。カメラ信頼度の算出が完了すると、ステップS203に進む。
ステップS203では、ステップS202において算出した4つ全てのカメラ信頼度が予め定めた閾値を上回ると判断する場合はステップS208およびステップS204に進む。ステップS202において算出した4つのカメラ信頼度のうち、1つでも予め定めた閾値以下であると判断する場合は図2により動作が表されるプログラムを終了する。
ステップS201と並列して実行されるステップS205では、ジャイロセンサ108の出力に基づき車両1の姿勢角情報を取得し、ステップS206に進む。
ステップS201と並列して実行されるステップS205では、ジャイロセンサ108の出力に基づき車両1の姿勢角情報を取得し、ステップS206に進む。
ステップS206では、姿勢センサ信頼度を算出する。前述のとおり、ジャイロセンサ108の出力に基づく姿勢角情報の算出では時間の経過とともに誤差が累積する。この累積誤差は、ジャイロ補正情報を作成することにより一旦は削減できるが、その後も時間の経過とともに増加する。このような特性を姿勢センサ信頼度として表す。すなわち、ジャイロ補正情報を作成した直後に最大値をとり、その後時間の経過とともに線形に減衰する姿勢センサ信頼度関数を設定する。姿勢センサ信頼度関数の傾きを減衰率とよび、減衰率は初期状態ではあらかじめ定めた値を設定する。実測に基づく減衰率の設定は後述する。演算装置101は、姿勢センサ信頼度関数と、ジャイロ補正情報の作成からの経過時間とに基づき姿勢センサ信頼度を算出し、ステップS207に進む。
ステップS207では、ステップS206において算出した姿勢センサ信頼度が、予め定めた閾値未満であるか否かを判断する。閾値未満であると判断する場合はステップS208に進み、閾値以上であると判断する場合はステップS204に進む。
ステップS207では、ステップS206において算出した姿勢センサ信頼度が、予め定めた閾値未満であるか否かを判断する。閾値未満であると判断する場合はステップS208に進み、閾値以上であると判断する場合はステップS204に進む。
ステップS203において肯定判断され、なおかつステップS207において肯定判断されるとステップS208が実行される。換言すると、姿勢センサ信頼度が閾値以下なのでジャイロセンサ108のキャリブレーション処理が必要であり、かつ、カメラ信頼度が閾値を上回るのでジャイロセンサ108のキャリブレーション処理が可能な場合にステップS208が実行される。このステップS208では、撮影画像を用いたジャイロセンサ108のキャリブレーション処理、すなわちジャイロ補正情報の作成が行われる。前述のとおり、姿勢センサ信頼度はジャイロ補正情報を作成した直後に最大値をとり、その後時間の経過とともに線形に減衰するので、ジャイロセンサ108のキャリブレーションが行われると姿勢センサ信頼度が一時的に増加する。本ステップの処理の詳細は後に図4を用いて説明する。なおステップS208では、姿勢センサのキャリブレーション処理を実行すると次にステップS204に進むが、データの蓄積が不十分であり姿勢センサのキャリブレーション処理が実行できない場合はステップS204を実行せずに図2により動作が表されるプログラムを終了する。
ステップS203において肯定判断された場合、ステップS207において否定判断された場合、またはステップS208において所定の条件を満たした場合にステップS204が実行される。換言すると、カメラ信頼度および姿勢センサ信頼度のうち、すくなくとも一方が閾値を上回るとステップS204が実行される。このステップS204では、カメラ信頼度と姿勢センサ信頼度に応じてカメラパラメータの算出方法が選択され、カメラパラメータが算出される。本ステップの処理の詳細は、後に図5を用いて説明する。本ステップの実行が終了すると、図2により動作が表されるプログラムを終了する。
(カメラ信頼度)
図3は、図2のステップS202において実行されるカメラ信頼度算出処理の詳細を示すフローチャートである。
カメラ信頼度算出処理が開始されると、ステップS301およびステップS302が並列に実行される。
図3は、図2のステップS202において実行されるカメラ信頼度算出処理の詳細を示すフローチャートである。
カメラ信頼度算出処理が開始されると、ステップS301およびステップS302が並列に実行される。
ステップS301では、コントラストの判定、すなわちカメラ111a~dの撮影画像それぞれに対して輝度のコントラストの大きさを評価する。コントラストの評価はたとえば、カメラ111a~dの撮影画像のエッジを公知のソーベルフィルタなどによって抽出し、あらかじめ定めた閾値以上のエッジ強度をもつ画素の数に応じた評価値をカメラ111a~dのそれぞれに対して算出する。閾値以上のエッジ強度をもつ画素が多く抽出されるほど高いコントラストを有するとして、大きな評価値を算出する。たとえば、評価値は0~100の整数である。
ステップS301と並列に実行されるステップS302では、付着物の判定、すなわちカメラ111a~dのそれぞれに対して、撮像面に対する遮蔽物の有無および撮像面が遮蔽される領域の広さを評価する。撮像面が遮蔽される領域とは、たとえばレンズに水滴や泥が付着することにより被写体からの光が届かない撮像面の領域である。遮蔽物がない場合に最大の評価値が出力され、遮蔽領域が広いほど小さい評価値が出力される。演算装置101は、異なる時刻に撮影された撮影画像の差分、すなわち撮影画像の時系列変化を以下のように評価する。すなわち、輝度の差分が所定の閾値より小さい領域であって、所定の時間以上継続して存在する領域を遮蔽領域と判定し、撮影画像に占める遮蔽領域の割合が大きいほど小さい評価値を算出する。たとえば、評価値は0~100の整数である。
ステップS301およびステップS302が終了すると実行されるステップS303では、カメラ111a~dのそれぞれに対してステップS301およびステップS302において算出された評価値に基づき信頼度を算出する。いずれの評価値も画像処理に適する場合に大きな値をとるので、それぞれの評価値が大きいほど算出される信頼度も大きくなる。信頼度はたとえば0~100の整数であり、ステップS301およびステップS302において出力された評価値の平均値や積の平方根として算出される。
以上の処理によりカメラ111a~dのそれぞれに対して信頼度が算出され、図3に示すフローチャートの処理を終了し、図2のステップS203に戻る。
以上の処理によりカメラ111a~dのそれぞれに対して信頼度が算出され、図3に示すフローチャートの処理を終了し、図2のステップS203に戻る。
(姿勢センサキャリブレーション)
図4は、図2のステップS208において実行される、姿勢センサキャリブレーション処理の詳細を示すフローチャートである。
ステップS401では、車両1の走行状態が、直進、旋回、停止のいずれであるか判定する。演算装置101は、車速センサ105、舵角センサ106、およびジャイロセンサ108の出力を取得し、直近の時刻、たとえば過去数秒間における車両1の挙動を算出して走行状態を判定する。車両1の車速が所定の速度以下であれば停止状態と判定する。車両1の向き、すなわちヨー角の変化があらかじめ設定した閾値より小さく、舵角もあらかじめ設定した閾値よりも小さければ直進と判定する。また、車両の向きが直進と判定する場合とは異なる閾値よりも大きく、舵角も直進と判定する閾値とは異なる閾値よりも大きければ、旋回状態と判定する。次にステップS402に進む。
図4は、図2のステップS208において実行される、姿勢センサキャリブレーション処理の詳細を示すフローチャートである。
ステップS401では、車両1の走行状態が、直進、旋回、停止のいずれであるか判定する。演算装置101は、車速センサ105、舵角センサ106、およびジャイロセンサ108の出力を取得し、直近の時刻、たとえば過去数秒間における車両1の挙動を算出して走行状態を判定する。車両1の車速が所定の速度以下であれば停止状態と判定する。車両1の向き、すなわちヨー角の変化があらかじめ設定した閾値より小さく、舵角もあらかじめ設定した閾値よりも小さければ直進と判定する。また、車両の向きが直進と判定する場合とは異なる閾値よりも大きく、舵角も直進と判定する閾値とは異なる閾値よりも大きければ、旋回状態と判定する。次にステップS402に進む。
ステップS402では、ステップS401において判定した走行状態を評価する。直進状態と判定する場合はステップS403に進み、旋回状態と判定する場合はステップS404に進み、停車状態、またはその他の状態と判定する場合は図4に示すフローチャートの処理を終了する。
ステップS403では、カメラ111a~dの撮影画像とジャイロセンサ108の出力を直進時データとしてRAM102に保存し、ステップS405に進む。
ステップS404では、カメラ111a~dの撮影画像とジャイロセンサ108の出力を旋回時データとしてRAM102に保存し、ステップS405に進む。
ステップS403では、カメラ111a~dの撮影画像とジャイロセンサ108の出力を直進時データとしてRAM102に保存し、ステップS405に進む。
ステップS404では、カメラ111a~dの撮影画像とジャイロセンサ108の出力を旋回時データとしてRAM102に保存し、ステップS405に進む。
ステップS405では、RAM102に保存されている直進時データの数が閾値より多く、かつ、RAM102に保存されている旋回時データの数が閾値より多いか否かを判断する。いずれのデータの数(DN)も閾値より多いと判断する場合はステップS406に進み、少なくともいずれかのデータの数(DN)が閾値以下であると判断する場合は図4に示すフローチャートの処理を終了する。なお、直進時データの閾値と旋回時データの閾値は同一であってもよいし、異なってもよい。
ステップS406では、RAM102に保存された直進時データと旋回時データを用いて姿勢センサキャリブレーション、すなわちジャイロ補正情報の算出を行う。演算装置101は、直進時データを用いてピッチ軸補正を実施し、旋回時データを用いてヨー軸補正を実施する。この二軸を車両座標系と合わせるように補正することで、車両1とジャイロセンサ108間のキャリブレーションを実現する。
ステップS406では、RAM102に保存された直進時データと旋回時データを用いて姿勢センサキャリブレーション、すなわちジャイロ補正情報の算出を行う。演算装置101は、直進時データを用いてピッチ軸補正を実施し、旋回時データを用いてヨー軸補正を実施する。この二軸を車両座標系と合わせるように補正することで、車両1とジャイロセンサ108間のキャリブレーションを実現する。
この姿勢センサキャリブレーションは、以下のように行われる。まず、直進時データに含まれる画像データに関して、平行白線や縁石などの進行方向に対して平行な直線構造物を2つ以上同時に認識し抽出する。直線構造物の認識方法は特定の手法に限定されず、例えば公知のハフ変換などを用いて実現する。この直線構造物の平行性を用いることで、車両1の瞬時的なピッチ角変動を推定することができる。そして、この推定したピッチ角変動と、ジャイロセンサ108から出力されるピッチ角変動量が一致するような回転行列を求める。この際、1軸の情報だけでは一致する回転行列が一意に決まらないため、ヨー角の情報も一致するように補正する。ヨー角の情報は、旋回時データから取得する。旋回時データに含まれる画像データにおいてコーナー特徴点を追跡し、追跡軌跡から車両1のヨー角変動量を求める。コーナー特徴点はハリスコーナー検出器を用いて検出し、特徴点追跡にはSAD(Sum of Absolute Difference)やSSD(Sum of Squared Difference)などを用いる。この車両1のヨー角変動量とジャイロセンサ108から得られた対応するヨー角データもあわせて一致するように回転行列を推定する。すなわち、画像から得られた車両1のピッチ角変動とヨー角変動と、ジャイロセンサ108の2軸が一致するような回転行列を求める。なお、2軸を一致させることでもう1軸、すなわちロール角についても自動的に一致する。回転行列の推定は公知の最適化法を用いて実施する。また同時に、姿勢センサの角度出力値の現在値を画像から得られた角度に補正することで、姿勢センサの累積誤差をリセットする。このように算出された回転行列および画像から得られた角度がジャイロ補正情報である。以上で図4に示すフローチャートの処理を終了する。
(カメラキャリブレーション)
図5は、図2のステップS204において実行されるカメラキャリブレーション処理の詳細を示すフローチャートである。このカメラキャリブレーション処理は、前述のとおりカメラ信頼度、および姿勢センサ信頼度のうち少なくとも一方が閾値よりも大きい場合に実行される。
ステップS501では、カメラ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップS502に進み、閾値以下であると判断する場合はステップS508に進む。なおここで用いられる閾値は、図2のステップS203における閾値と同一である。
図5は、図2のステップS204において実行されるカメラキャリブレーション処理の詳細を示すフローチャートである。このカメラキャリブレーション処理は、前述のとおりカメラ信頼度、および姿勢センサ信頼度のうち少なくとも一方が閾値よりも大きい場合に実行される。
ステップS501では、カメラ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップS502に進み、閾値以下であると判断する場合はステップS508に進む。なおここで用いられる閾値は、図2のステップS203における閾値と同一である。
ステップS502では、姿勢センサ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップS503、およびステップS504を並列に実行し、閾値以下であると判断する場合はステップS507に進む。なおここで用いられる閾値は、図2のステップS207における閾値と同一である。
ステップS503では、画像情報によるキャリブレーション、すなわちカメラ111a~dの撮影画像を用いたカメラパラメータの算出が行われる。本ステップの詳細は後に図6を用いて説明する。次にステップS505に進む。
ステップS503では、画像情報によるキャリブレーション、すなわちカメラ111a~dの撮影画像を用いたカメラパラメータの算出が行われる。本ステップの詳細は後に図6を用いて説明する。次にステップS505に進む。
ステップS503と並列に実行されるステップS504では、姿勢情報によるキャリブレーション、すなわちジャイロセンサ108の出力を用いたカメラパラメータの算出が行われる。本ステップの詳細は後に図8を用いて説明する。
ステップS503およびステップS504の実行が完了すると実行されるステップS505では、ステップS503およびステップS504のそれぞれにおいて算出されたカメラパラメータの重みづけ処理が行われる。すなわち、画像情報に基づき算出されたカメラパラメータと、姿勢情報に基づき算出されたカメラパラメータとの、カメラ信頼度と姿勢センサ信頼度の大きさに基づく加重平均値を算出し、これをカメラパラメータとする。次にステップS506に進む。なお、ステップS503またはステップS504の片方のみの実行が完了すると他方の実行の完了を待つこととなるが、他方の実行の完了を待つ間は実行が完了しているキャリブレーション結果、すなわちカメラパラメータを用いて障害物までの距離などを算出する。
ステップS503およびステップS504の実行が完了すると実行されるステップS505では、ステップS503およびステップS504のそれぞれにおいて算出されたカメラパラメータの重みづけ処理が行われる。すなわち、画像情報に基づき算出されたカメラパラメータと、姿勢情報に基づき算出されたカメラパラメータとの、カメラ信頼度と姿勢センサ信頼度の大きさに基づく加重平均値を算出し、これをカメラパラメータとする。次にステップS506に進む。なお、ステップS503またはステップS504の片方のみの実行が完了すると他方の実行の完了を待つこととなるが、他方の実行の完了を待つ間は実行が完了しているキャリブレーション結果、すなわちカメラパラメータを用いて障害物までの距離などを算出する。
ステップS506では、カメラ111a~dの座標系と車両座標系とのキャリブレーションを行う。すなわち、ステップS503において得られたカメラパラメータに基づきカメラ111a~dの姿勢角を算出し、ジャイロセンサ108の出力に基づき算出される車両1の姿勢角情報との差異をフラッシュメモリ112に記録する。さらに、ステップS503において得られたカメラパラメータに基づきカメラ111a~dの高さを算出し、車高センサ107の出力値との差異をフラッシュメモリ112に記録する。こうして得られる姿勢角の差異と高さの差異が、車両座標系に対する撮像部の座標系の関係である。以上で図5に示すフローチャートの処理を終了する。
ステップS502において否定判定されると実行されるステップS507では、ステップS503と同様に画像情報によるキャリブレーション処理を行い、図5に示すフローチャートの処理を終了する。
ステップS508では、姿勢センサ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップS509に進み、閾値以下であると判断する場合は図5に示すフローチャートの処理を終了する。なおここで用いられる閾値は、図2のステップS207における閾値と同一である。
ステップS509では、ステップS504と同様に姿勢情報によるキャリブレーション処理を行い、図5に示すフローチャートの処理を終了する。
ステップS508では、姿勢センサ信頼度が閾値よりも大きいか否かが判断される。閾値よりも大きいと判断する場合はステップS509に進み、閾値以下であると判断する場合は図5に示すフローチャートの処理を終了する。なおここで用いられる閾値は、図2のステップS207における閾値と同一である。
ステップS509では、ステップS504と同様に姿勢情報によるキャリブレーション処理を行い、図5に示すフローチャートの処理を終了する。
(画像情報によるキャリブレーション)
図6は、図5のステップS503、およびステップS507において実行される、画像情報によるキャリブレーション処理の詳細を示すフローチャートである。
画像情報によるキャリブレーション処理が開始されると、ステップS601~S604が並列に実行される。これら4つのステップは、カメラ111a~dそれぞれについての単体キャリブレーション処理である。ステップS601~S604の詳細は図7を用いて説明する。
ステップS601~S604の全ての実行が完了すると、ステップS605が実行される。
図6は、図5のステップS503、およびステップS507において実行される、画像情報によるキャリブレーション処理の詳細を示すフローチャートである。
画像情報によるキャリブレーション処理が開始されると、ステップS601~S604が並列に実行される。これら4つのステップは、カメラ111a~dそれぞれについての単体キャリブレーション処理である。ステップS601~S604の詳細は図7を用いて説明する。
ステップS601~S604の全ての実行が完了すると、ステップS605が実行される。
ステップS605では、ステップS601~S604の処理により得られたカメラ111a~dの地面に対する角度、および高さを用いてカメラ間相対キャリブレーション、すなわちカメラ111a~dの並進位置を推定する。カメラ間相対キャリブレーションは、カメラ111a~dの撮影画像を用いた俯瞰画像の作成に必要な処理である。カメラ間相対キャリブレーションでは、カメラ111a~dのうち1つを基準カメラとし、俯瞰視点に座標変換した際にそれぞれのカメラの視野の重複部分が重なるように、カメラの並進位置を推定する。例えば、前カメラ111aの撮影画像を基準とし、視野の重複共通撮像領域に映る画像のズレがなくなるように、後カメラ111b、左カメラ111c、および右カメラ111dのパラメータを調整する。例えば視野が重複する領域に横断歩道が撮影されている画像を使用し、横断歩道を構成する直線をそれぞれ認識して、俯瞰視点に座標変換を行った際に直線の位置が一致するようにカメラ並進パラメータを補正する。補正は最適化手法によって実現できる。
以上により図6に示すフローチャートの処理を終了する。
以上により図6に示すフローチャートの処理を終了する。
(カメラ単体キャリブレーション)
図7は、図6のステップS601~S604において実行される、カメラ単体キャリブレーション処理の詳細を示すフローチャートである。ステップS601~S604は、処理対象となるカメラは異なるが処理内容はほぼ同一なので、代表して前カメラ111aを対象とするステップS601の処理を説明する。処理対象のカメラが異なることにより処理内容が異なるのは、ステップS705のヨー角およびピッチ角の推定に関する処理である。
図7は、図6のステップS601~S604において実行される、カメラ単体キャリブレーション処理の詳細を示すフローチャートである。ステップS601~S604は、処理対象となるカメラは異なるが処理内容はほぼ同一なので、代表して前カメラ111aを対象とするステップS601の処理を説明する。処理対象のカメラが異なることにより処理内容が異なるのは、ステップS705のヨー角およびピッチ角の推定に関する処理である。
カメラ単体キャリブレーション処理が開始されると、ステップS701とS704とが並列に実行される。
ステップS701では、前カメラ111aの撮影画像から他の特徴点との混同が生じにくいコーナー特徴点を抽出する。コーナー特徴点は例えばハリスコーナー検出器を用いて抽出される。次にステップS702に進む。
ステップS702では、ステップS701において抽出した特徴点を、異なる時刻に撮影した前カメラ111aの撮影画像において追跡する。特徴点の追跡は、例えばステップS701において抽出された特徴点の周辺領域を切り出し、その領域と一致する領域を次に撮影された画像からSSDなどの手法により探索する。次にステップS703に進む。
ステップS701では、前カメラ111aの撮影画像から他の特徴点との混同が生じにくいコーナー特徴点を抽出する。コーナー特徴点は例えばハリスコーナー検出器を用いて抽出される。次にステップS702に進む。
ステップS702では、ステップS701において抽出した特徴点を、異なる時刻に撮影した前カメラ111aの撮影画像において追跡する。特徴点の追跡は、例えばステップS701において抽出された特徴点の周辺領域を切り出し、その領域と一致する領域を次に撮影された画像からSSDなどの手法により探索する。次にステップS703に進む。
ステップS703では、ステップS702において追跡した特徴点の軌跡をRAM102に保存する。ステップS701~S703は、特徴点の軌跡がRAM102に所定の数以上蓄積されるまで繰り返し実行される。次にステップS705に進む。
ステップS701と並列に実行されるステップS704では、前カメラ111aの撮影画像から車両進行方向に沿った直線的構造物、たとえば走行中の自車線を構成する車線境界線を抽出する。直線的構造物の抽出には、例えばハフ変換などの公知技術が利用できる。次にステップS705に進む。
ステップS701と並列に実行されるステップS704では、前カメラ111aの撮影画像から車両進行方向に沿った直線的構造物、たとえば走行中の自車線を構成する車線境界線を抽出する。直線的構造物の抽出には、例えばハフ変換などの公知技術が利用できる。次にステップS705に進む。
ステップS703およびステップS704の両方が完了すると実行されるステップS705では、ステップS703において保存した特徴点軌跡と、ステップS704において抽出した直線的構造物の情報を用いて、カメラ角度補正、すなわち前カメラ111aの地面に対する角度と地面からの高さを推定し、以前の算出結果を補正する。カメラ角度補正は、ピッチ角補正、ヨー角補正、ロール角補正の3つの補正を順に行い、最後に高さ推定を行う。
ピッチ角補正では、車両進行方向の特徴点軌跡、または抽出した直線的構造物の平行性に注目して補正する。前カメラ111aの撮影画像を俯瞰視点に座標変換した画像上では、もともと平行な直線や直進走行時の車両進行方向の特徴点軌跡は平行に見えるはずであるが、ピッチ角にキャリブレーション誤差がある場合は、平行にならずハの字状に見える。これを平行になるようにカメラパラメータを補正することでピッチ角のキャリブレーションができる。俯瞰視点に座標変換した画像上で平行になる角度は、直線の平行性を目的関数として、ガウスニュートン法などの最適化法によって求めることができる。
ヨー角補正も、上記と同様の考えで補正を実施する。ピッチ角は前カメラ111aから見た車両1の進行方向の直線的構造物の平行性に影響するが、ヨー角は、前カメラ111aから見た車両1の幅方向の直線的構造物の平行性に影響する。幅方向の直線的構造物は横断歩道や停止線しかなく、公道走行中の登場頻度が低いため、特徴点軌跡を用いる。同時に画像上に出現したコーナー特徴点をペアとして、それぞれ特徴点追跡を実施する。追跡時にペアを結んだ直線群はヨー角誤差がなければ平行をなすはずであるため、この直線群が平行となるように、ヨー角のパラメータを推定する。この推定には、ピッチ角の場合と同様に、直線の平行性を目的関数として、ガウスニュートン法などの最適化法を用いることができる。なお、左カメラ111c、および右カメラ111dを処理対象とする場合は、ピッチ角とヨー角の推定に用いる特徴がいれかわる。
ロール角補正は、ピッチ角補正の場合と同様に、車両進行方向の特徴点軌跡、または抽出した直線的構造物に注目する。ロール角に誤差がない場合、直線構造物や特徴点軌跡がなす直線は、車両1の進行方向と一致し、俯瞰画像における縦軸方向、すなわち車両1の軸方向と一致するはずである。そこで、車両進行方向の特徴点軌跡か、抽出した直線的構造物が俯瞰画像における縦軸方向と一致するようにロール角を補正する。
高さ補正では、特徴点軌跡の長さと車両進行距離の対応関係を利用する。すなわち、正しいカメラ高さが推定されていれば、特徴点軌跡の長さに対応する距離と車両1の進行距離が一致するが、カメラ高さに誤差がある場合は、これらの距離に差異が生じることに着目する。そこで、特徴点軌跡の長さに対応する距離と車両1の進行距離とが一致するようにカメラ高さを補正する。車両1の進行距離は、車速センサ105の出力の時間積分により得られる。特徴点軌跡の長さに対応する距離は、設計値から求めることができる。車両速度から求めた実際の進行距離に、特徴点軌跡の長さが一致するようにガウスニュートン法などの最適化処理を用いてカメラ高さを推定する。
以上により、図7に示すフローチャートの処理を終了する。
以上により、図7に示すフローチャートの処理を終了する。
(姿勢情報によるキャリブレーション)
図8は、図5のステップS504、およびステップS509において実行される、姿勢情報によるキャリブレーション処理の詳細を示すフローチャートである。姿勢情報によるキャリブレーションでは、カメラ111a~dは剛体である車体に取り付けられており、車体の姿勢変動に連動してカメラ111a~dの位置及び姿勢が変動することを利用している。
図8は、図5のステップS504、およびステップS509において実行される、姿勢情報によるキャリブレーション処理の詳細を示すフローチャートである。姿勢情報によるキャリブレーションでは、カメラ111a~dは剛体である車体に取り付けられており、車体の姿勢変動に連動してカメラ111a~dの位置及び姿勢が変動することを利用している。
ステップS800では、図5のステップS506が実行済みであるか否か、すなわち画像情報によるキャリブレーションがこれまでに実行されたか否かを判断する。換言すると、車両座標系に対するカメラ111a~dそれぞれの座標系の関係が既知であるか否かを判断する。一度でも実行されたと判断する場合はステップS801に進み、一度も実行されていないと判断する場合は図8に示すフローチャートの処理を終了する。図5のステップS506が実行済みであるか否かは、たとえばフラッシュメモリ112にステップS506が実行済みであることを示す情報が保存されているか否かにより判断することができる。
ステップS801では、車両座標系の姿勢角情報と、図5のステップS506により算出された車両座標系に対するカメラ111a~dそれぞれの座標系の関係を用いて、カメラ111a~dそれぞれの座標変換値を算出する。車両座標系の姿勢角情報は、ジャイロセンサ108の出力、ジャイロ補正情報、および車高センサ107の出力に基づき得られる。次にステップS802~S805が並列に実行される。
ステップS802~S805では、ステップS801において算出したカメラ111a~dの座標変換値に基づき、カメラ111a~dのカメラパラメータをそれぞれ算出する。ステップS802~S805の全てが完了すると、図8に示すフローチャートの処理を終了する。
ステップS802~S805では、ステップS801において算出したカメラ111a~dの座標変換値に基づき、カメラ111a~dのカメラパラメータをそれぞれ算出する。ステップS802~S805の全てが完了すると、図8に示すフローチャートの処理を終了する。
(減衰率の設定)
図2のS206において、姿勢センサ信頼度の算出に使用される減衰率の設定方法を説明する。上述のとおり、初期値、すなわち工場出荷時は減衰率として予め定めた値が使用されるが、演算装置101は以下のように実測に基づく減衰率を設定する。
演算装置101は、図2のステップS204に示すカメラキャリブレーション処理、および図2のステップS208に示す姿勢センサキャリブレーション処理が少なくとも1回ずつ実行されると以下の処理を行う。すなわち演算装置101は、ドリフト量の経時変化を観測し、横軸に経過時間、縦軸にドリフト量をとり、観測して得られる点群を最小二乗近似する直線を求める。この直線の傾きを新たな減衰率として設定する。ただしここでいうドリフト量とは、カメラの撮影画像を用いて算出される車両1の姿勢角と、ジャイロセンサ108の出力を積算して得られる姿勢角の差である。
図2のS206において、姿勢センサ信頼度の算出に使用される減衰率の設定方法を説明する。上述のとおり、初期値、すなわち工場出荷時は減衰率として予め定めた値が使用されるが、演算装置101は以下のように実測に基づく減衰率を設定する。
演算装置101は、図2のステップS204に示すカメラキャリブレーション処理、および図2のステップS208に示す姿勢センサキャリブレーション処理が少なくとも1回ずつ実行されると以下の処理を行う。すなわち演算装置101は、ドリフト量の経時変化を観測し、横軸に経過時間、縦軸にドリフト量をとり、観測して得られる点群を最小二乗近似する直線を求める。この直線の傾きを新たな減衰率として設定する。ただしここでいうドリフト量とは、カメラの撮影画像を用いて算出される車両1の姿勢角と、ジャイロセンサ108の出力を積算して得られる姿勢角の差である。
(動作例)
本実施の形態に係るキャリブレーションシステム100の動作例を説明する。前述のとおり車両1は衝突回避機能、および駐車アシスト機能を有するが、ここでは工場から出荷された直後のキャリブレーションシステム100が車両1aに搭載されていることとする。すなわち、衝突回避機能や駐車アシスト機能が十分に機能しない状態でこの動作例が開始される。この車両1に複数人が乗車して目的地まで車道を走行し、目的地に併設された駐車場の入り口で同乗者は降車し、運転者は一人で駐車場で駐車を行う場面を想定する。車道では衝突回避機能、駐車場では駐車アシスト機能が有効に働くことが期待される。
本実施の形態に係るキャリブレーションシステム100の動作例を説明する。前述のとおり車両1は衝突回避機能、および駐車アシスト機能を有するが、ここでは工場から出荷された直後のキャリブレーションシステム100が車両1aに搭載されていることとする。すなわち、衝突回避機能や駐車アシスト機能が十分に機能しない状態でこの動作例が開始される。この車両1に複数人が乗車して目的地まで車道を走行し、目的地に併設された駐車場の入り口で同乗者は降車し、運転者は一人で駐車場で駐車を行う場面を想定する。車道では衝突回避機能、駐車場では駐車アシスト機能が有効に働くことが期待される。
(動作例・・・目的地到着まで)
まず、目的地に到着するまでのキャリブレーションシステム100の動作を説明する。
運転者によりエンジンキースイッチがONにされると、演算装置101は図2に示すメインフローチャートを実行する。カメラ111a~dのレンズには汚れがなく、撮影画像のコントラストも高いので、カメラ信頼度は閾値より大きいと判断される(ステップS203:YES)。姿勢センサ信頼度は、初期設定された減衰率が大きかったので閾値以下と判断される(ステップS207:YES)。そのためステップS208とステップS204が実行される。ステップS208、すなわち図4に示す処理では、データの蓄積量が十分ではないとして(図4、ステップS405:NO)ステップS406の姿勢センサキャリブレーションは実行されない。ステップS204、すなわち図5に示す処理では、カメラ信頼度のみが閾値を上回るのでステップS507の画像情報によるキャリブレーションが実行され、図6および図7に示す処理が実行される。その後、再びメインフローチャートに示す処理が実行される。
まず、目的地に到着するまでのキャリブレーションシステム100の動作を説明する。
運転者によりエンジンキースイッチがONにされると、演算装置101は図2に示すメインフローチャートを実行する。カメラ111a~dのレンズには汚れがなく、撮影画像のコントラストも高いので、カメラ信頼度は閾値より大きいと判断される(ステップS203:YES)。姿勢センサ信頼度は、初期設定された減衰率が大きかったので閾値以下と判断される(ステップS207:YES)。そのためステップS208とステップS204が実行される。ステップS208、すなわち図4に示す処理では、データの蓄積量が十分ではないとして(図4、ステップS405:NO)ステップS406の姿勢センサキャリブレーションは実行されない。ステップS204、すなわち図5に示す処理では、カメラ信頼度のみが閾値を上回るのでステップS507の画像情報によるキャリブレーションが実行され、図6および図7に示す処理が実行される。その後、再びメインフローチャートに示す処理が実行される。
ステップS208の処理は繰り返し実行され、データの蓄積量が十分になると(図4、ステップS405:YES)、ステップS406の姿勢センサキャリブレーションが実行され、ジャイロ補正情報が作成される。姿勢センサ信頼度はジャイロ補正情報が作成された直後に最大値をとりその後時間の経過とともに減衰する特性を有するので、ジャイロ補正情報の作成後は姿勢センサ信頼度が閾値よりも大きい(図2のS207:NO、図5のS502:YES)と判断され、ステップS504の姿勢情報によるキャリブレーションも実行される。その後さらに時間が経過すると、姿勢センサ信頼度が減少して閾値以下であると判断されるが、カメラ信頼度が閾値より大きければ再度ステップS208の姿勢センサキャリブレーションが実行される(S203:YESかつS207:YES→S208)。
このように、車両1は工場出荷前にはキャリブレーションが行われていなかったが、走行中に図6および図7に示す処理がカメラパラメータのキャリブレーションが実行される。したがって演算装置101は、カメラ111a~dの撮影画像を用いて車両1の周囲に存在する障害物との距離を高い精度で算出でき、衝突回避機能が効果を奏する。また、データの蓄積によりステップS406の姿勢センサキャリブレーションも行われる。
(動作例・・・目的地到着後)
次に、目的地に到着した後のキャリブレーションシステム100の動作を説明する。
目的地に到着し、車両1が併設された駐車場の前まで到達すると、運転者を残して同乗者が降車して、運転者は駐車場で駐車を開始する。同乗者が降車したので車両1の積載総重量が減少し、荷重のバランスも変化する。すなわち車両1の地面に対する位置姿勢が変化するため、カメラ111a~dのカメラパラメータを再計算する必要がある。
次に、目的地に到着した後のキャリブレーションシステム100の動作を説明する。
目的地に到着し、車両1が併設された駐車場の前まで到達すると、運転者を残して同乗者が降車して、運転者は駐車場で駐車を開始する。同乗者が降車したので車両1の積載総重量が減少し、荷重のバランスも変化する。すなわち車両1の地面に対する位置姿勢が変化するため、カメラ111a~dのカメラパラメータを再計算する必要がある。
このとき、カメラ信頼度、および姿勢センサ信頼度のいずれも閾値より大きいと、画像情報によるキャリブレーション(図5、S502)、および姿勢情報によるキャリブレーション(図5、S504)の両方が実行される。しかし、画像情報によるキャリブレーションは、駐車場内では画像情報によるキャリブレーションに必要な特徴量が得られるとは限らないので実行できない場合があり、駐車アシスト機能が求められる駐車開始までにキャリブレーションが間に合わない可能性がある。
その一方、姿勢情報によるキャリブレーションは、姿勢情報の取得には駐車場内でも特に支障はないためすぐに実行が可能である。なお、同乗者の降車により地面に対する車両1の位置姿勢は変化したが、車両座標系に対するカメラ111a~dの位置姿勢関係は変化しないため、姿勢情報によるキャリブレーションの実行に支障はない。
このように、駐車場の手前で同乗者が降車したことによりカメラパラメータの再計算が必要になった際に、画像情報によるキャリブレーションでは実行までに時間を要して現実的ではない。しかし、姿勢情報によるキャリブレーションは、駐車場内においても姿勢センサ信頼度が閾値よりも大きければ即時実施できる利点がある。
このように、駐車場の手前で同乗者が降車したことによりカメラパラメータの再計算が必要になった際に、画像情報によるキャリブレーションでは実行までに時間を要して現実的ではない。しかし、姿勢情報によるキャリブレーションは、駐車場内においても姿勢センサ信頼度が閾値よりも大きければ即時実施できる利点がある。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)キャリブレーションシステム100は、車両1に搭載され、車両1の車両座標系の姿勢情報を取得するジャイロセンサ(姿勢センサ)108と、車両1の周囲を撮影する撮像部111と、を備える。キャリブレーションシステム100は、図2のステップS206に示すように姿勢センサ108の信頼度である姿勢センサ信頼度を算出する。キャリブレーションシステム100は、図5のステップS504、S509に示すように、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する角速度(姿勢情報)、および車両座標系に対する撮像部111の関係を用いて撮像部111の外部パラメータを推定する。
キャリブレーションシステム100をこのように構成したので、撮像部111からカメラパラメータの算出に適する画像が得られない場合でも、撮像部111の外部パラメータを算出できる。すなわち図5のステップS504、S509に示す処理により、同乗者の降車などにより車両1の姿勢が変化した後に車両1が走行を行わなくても、撮像部111のカメラパラメータを算出できる。そのため、車両1の姿勢が変化した後でも撮像部111の撮影画像を用いた高精度な距離の算出が可能である。
(1)キャリブレーションシステム100は、車両1に搭載され、車両1の車両座標系の姿勢情報を取得するジャイロセンサ(姿勢センサ)108と、車両1の周囲を撮影する撮像部111と、を備える。キャリブレーションシステム100は、図2のステップS206に示すように姿勢センサ108の信頼度である姿勢センサ信頼度を算出する。キャリブレーションシステム100は、図5のステップS504、S509に示すように、算出された姿勢センサ信頼度が予め定めた閾値より大きい場合に、姿勢センサが出力する角速度(姿勢情報)、および車両座標系に対する撮像部111の関係を用いて撮像部111の外部パラメータを推定する。
キャリブレーションシステム100をこのように構成したので、撮像部111からカメラパラメータの算出に適する画像が得られない場合でも、撮像部111の外部パラメータを算出できる。すなわち図5のステップS504、S509に示す処理により、同乗者の降車などにより車両1の姿勢が変化した後に車両1が走行を行わなくても、撮像部111のカメラパラメータを算出できる。そのため、車両1の姿勢が変化した後でも撮像部111の撮影画像を用いた高精度な距離の算出が可能である。
(2)キャリブレーションシステム100は、図2のステップS202に示すように撮像部111の信頼度であるカメラ信頼度を算出し、図5のステップS503やS507に示すように算出されたカメラ信頼度が予め定めた閾値より大きい場合に、撮像部の出力を用いて撮像部の外部パラメータを推定する。キャリブレーションシステム100は、算出された姿勢センサ信頼度が予め定めた閾値より大きく、かつ算出されたカメラ信頼度が予め定めた閾値より大きい場合に、図5のステップS506に示すように、図5のステップS503やS507において推定された外部パラメータと姿勢センサが出力する姿勢情報とに基づき、車両座標系に対する撮像部111の関係を算出する。
そのため、工場出荷前に車両座標系に対する撮像部111の関係が算出されていなくても、演算装置101が車両座標系に対する撮像部111の関係を算出し、図5のステップS504、S509に示す処理によりカメラパラメータの算出が可能である。
そのため、工場出荷前に車両座標系に対する撮像部111の関係が算出されていなくても、演算装置101が車両座標系に対する撮像部111の関係を算出し、図5のステップS504、S509に示す処理によりカメラパラメータの算出が可能である。
(3)キャリブレーションシステム100は、図4のステップS401に示すように車両1の直進状態と旋回状態とを判別処理を行い、図4のステップS406に示すように走行状態判定部により判別された姿勢センサの出力および撮像部111の出力に基づき、姿勢センサのキャリブレーションを行う。
そのため、ジャイロセンサ108の出力に基づく姿勢角情報の算出には累積誤差が生じることが避けられないが、図4のステップS406に示す姿勢センサキャリブレーションによりこの累積誤差の影響を排除することができる。
そのため、ジャイロセンサ108の出力に基づく姿勢角情報の算出には累積誤差が生じることが避けられないが、図4のステップS406に示す姿勢センサキャリブレーションによりこの累積誤差の影響を排除することができる。
(4)図2のステップS206に示す姿勢センサ信頼度算出処理は、姿勢センサ補正部によるキャリブレーションが実行された時刻からの経過時間に基づいて姿勢センサ信頼度を算出する。
そのため、ジャイロセンサ108の出力に基づいて算出される姿勢角情報に含まれる誤差の大きさを簡易に見積もることができる。
そのため、ジャイロセンサ108の出力に基づいて算出される姿勢角情報に含まれる誤差の大きさを簡易に見積もることができる。
(5)図2のステップS202に示すカメラ信頼度算出処理は、図3のステップS301に示す撮像部111が撮影して得られた画像のコントラストを評価するコントラスト判定処理と、図3のステップS302に示す撮像部111が撮影して得られた複数の画像の差分を用いて撮像部の撮像面を遮蔽する付着物を評価する付着物判定処理を含み、これら判定処理の評価を用いてカメラ信頼度を算出する。
そのため、撮像部111が撮影して得られた画像を用いたカメラパラメータの算出可否を判断する情報を生成することができる。
そのため、撮像部111が撮影して得られた画像を用いたカメラパラメータの算出可否を判断する情報を生成することができる。
(変形例1)
第1の実施の形態では、工場出荷前にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行わないこととした。しかし工場出荷前にカメラパラメータとジャイロ補正情報の両方を算出してもよい。この場合は、算出したカメラパラメータ、およびジャイロ補正情報は、フラッシュメモリ112に格納される。
この変形例1によれば、出荷直後から姿勢情報を用いたキャリブレーションが可能となる。
第1の実施の形態では、工場出荷前にカメラ111a~dのカメラパラメータの算出、およびジャイロセンサ108のジャイロ補正情報の算出を行わないこととした。しかし工場出荷前にカメラパラメータとジャイロ補正情報の両方を算出してもよい。この場合は、算出したカメラパラメータ、およびジャイロ補正情報は、フラッシュメモリ112に格納される。
この変形例1によれば、出荷直後から姿勢情報を用いたキャリブレーションが可能となる。
(変形例2)
第1の実施の形態ではステップS403およびステップS404において蓄積したデータを消去しなかったが、一定時間の経過後、またはステップS406の実行後に消去してもよい。
第1の実施の形態ではステップS403およびステップS404において蓄積したデータを消去しなかったが、一定時間の経過後、またはステップS406の実行後に消去してもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
日本国特許出願2016年第23600号(2016年2月10日出願)
日本国特許出願2016年第23600号(2016年2月10日出願)
1 … 車両
100 … キャリブレーションシステム
101 … 演算装置
105 … 車速センサ
106 … 舵角センサ
107 … 車高センサ
108 … ジャイロセンサ(姿勢センサ)
111 … 撮像部
111a … 前カメラ
111b … 後カメラ
111c … 左カメラ
111d … 右カメラ
112 … フラッシュメモリ
100 … キャリブレーションシステム
101 … 演算装置
105 … 車速センサ
106 … 舵角センサ
107 … 車高センサ
108 … ジャイロセンサ(姿勢センサ)
111 … 撮像部
111a … 前カメラ
111b … 後カメラ
111c … 左カメラ
111d … 右カメラ
112 … フラッシュメモリ
Claims (6)
- 車両に搭載され、
前記車両の車両座標系の姿勢情報を取得する姿勢センサと、
前記車両の周囲を撮影する撮像部と、
前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備えるキャリブレーションシステム。 - 請求項1に記載のキャリブレーションシステムにおいて、
前記撮像部の信頼度であるカメラ信頼度を算出するカメラ信頼度算出部と、
算出された前記カメラ信頼度が予め定めた閾値より大きい場合に、前記撮像部の出力を用いて前記撮像部の外部パラメータを推定する画像使用推定部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きく、かつ算出された前記カメラ信頼度が予め定めた閾値より大きい場合に、前記画像使用推定部が推定した前記外部パラメータと前記姿勢センサが出力する前記姿勢情報とに基づき、前記車両座標系に対する前記撮像部の座標系の関係を算出する相対姿勢算出部をさらに備える、キャリブレーションシステム。 - 請求項1に記載のキャリブレーションシステムにおいて、
前記車両の直進状態と旋回状態とを判別可能な走行状態判定部と、
前記走行状態判定部により判別された直進状態における前記姿勢センサの出力および撮像部の出力に、ならびに前記走行状態判定部により判別された旋回状態における前記姿勢センサの出力および撮像部の出力に基づき、前記姿勢センサのキャリブレーションを行う姿勢センサ補正部とをさらに備えるキャリブレーションシステム。 - 請求項3に記載のキャリブレーションシステムにおいて、
前記姿勢センサ信頼度算出部は、
前記姿勢センサ補正部によるキャリブレーションが実行された時刻からの経過時間に基づいて前記姿勢センサ信頼度を算出する、キャリブレーションシステム。 - 請求項2に記載のキャリブレーションシステムにおいて、
前記カメラ信頼度算出部は、
前記撮像部が撮影して得られた画像のコントラストを評価するコントラスト判定部と、
前記撮像部が異なる時刻に撮影して得られた複数の画像の差分を用いて、前記撮像部の撮像面を遮蔽する付着物を評価する付着物判定部とを備え、
前記コントラスト判定部の評価、および前記付着物判定部の評価を用いて前記カメラ信頼度を算出する、キャリブレーションシステム。 - 車両に搭載され、前記車両の車両座標系の姿勢情報を取得する姿勢センサ、および
前記車両の周囲を撮影する撮像部と接続されるキャリブレーション装置であって、
前記姿勢センサの信頼度である姿勢センサ信頼度を算出する姿勢センサ信頼度算出部と、
算出された前記姿勢センサ信頼度が予め定めた閾値より大きい場合に、前記姿勢センサが出力する前記姿勢情報、および前記車両座標系に対する前記撮像部の座標系の関係を用いて前記撮像部の外部パラメータを推定する姿勢使用推定部と、を備えるキャリブレーション装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/071,239 US11340071B2 (en) | 2016-02-10 | 2016-11-22 | Calibration system and calibration apparatus |
EP16889917.7A EP3416368B1 (en) | 2016-02-10 | 2016-11-22 | Calibration system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016023600A JP6511406B2 (ja) | 2016-02-10 | 2016-02-10 | キャリブレーションシステム、キャリブレーション装置 |
JP2016-023600 | 2016-10-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017138216A1 true WO2017138216A1 (ja) | 2017-08-17 |
Family
ID=59563210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/084648 WO2017138216A1 (ja) | 2016-02-10 | 2016-11-22 | キャリブレーションシステム、キャリブレーション装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11340071B2 (ja) |
EP (1) | EP3416368B1 (ja) |
JP (1) | JP6511406B2 (ja) |
WO (1) | WO2017138216A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019184885A1 (zh) * | 2018-03-30 | 2019-10-03 | 杭州海康威视数字技术股份有限公司 | 一种相机外参标定方法、装置及电子设备 |
CN111107310A (zh) * | 2018-10-25 | 2020-05-05 | 爱信精机株式会社 | 照相机参数估计装置、照相机参数估计方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6511406B2 (ja) * | 2016-02-10 | 2019-05-15 | クラリオン株式会社 | キャリブレーションシステム、キャリブレーション装置 |
KR102019383B1 (ko) * | 2017-11-13 | 2019-09-06 | 현대오트론 주식회사 | 차량 추적 장치 및 그것의 동작 방법 |
JP7019431B2 (ja) * | 2018-01-22 | 2022-02-15 | 株式会社デンソーアイティーラボラトリ | カメラキャリブレーション装置、カメラキャリブレーション方法、およびプログラム |
KR102071418B1 (ko) | 2018-05-17 | 2020-01-30 | 에스케이텔레콤 주식회사 | 차량용 카메라 캘리브레이션 장치 및 방법 |
JP7130041B2 (ja) * | 2018-07-17 | 2022-09-02 | 三菱電機株式会社 | 撮像装置 |
JP2021532382A (ja) * | 2018-07-30 | 2021-11-25 | ポニー エーアイ インコーポレイテッド | 車載型車両カメラを較正するシステムおよび方法 |
JP7137464B2 (ja) * | 2018-12-26 | 2022-09-14 | 株式会社デンソーアイティーラボラトリ | カメラキャリブレーション装置、カメラキャリブレーション方法、およびプログラム |
JP7263807B2 (ja) * | 2019-02-06 | 2023-04-25 | 株式会社デンソー | 情報処理装置 |
JP7286986B2 (ja) * | 2019-02-11 | 2023-06-06 | 株式会社デンソーテン | 画像生成装置 |
JP7217577B2 (ja) * | 2019-03-20 | 2023-02-03 | フォルシアクラリオン・エレクトロニクス株式会社 | キャリブレーション装置、キャリブレーション方法 |
JP7188228B2 (ja) * | 2019-03-27 | 2022-12-13 | 株式会社デンソーテン | 画像生成装置 |
JP2020162040A (ja) * | 2019-03-27 | 2020-10-01 | 株式会社デンソーテン | キャリブレーション装置およびキャリブレーション方法 |
US20200361452A1 (en) * | 2019-05-13 | 2020-11-19 | Toyota Research Institute, Inc. | Vehicles and methods for performing tasks based on confidence in accuracy of module output |
JP7405630B2 (ja) * | 2020-01-24 | 2023-12-26 | 京セラ株式会社 | 情報処理装置、検出装置、路側機、および較正方法 |
US20230021721A1 (en) * | 2020-01-14 | 2023-01-26 | Kyocera Corporation | Image processing device, imager, information processing device, detector, roadside unit, image processing method, and calibration method |
JP7320459B2 (ja) * | 2020-01-14 | 2023-08-03 | 京セラ株式会社 | 画像処理装置、撮像装置、路側機、および画像処理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009253571A (ja) * | 2008-04-04 | 2009-10-29 | Clarion Co Ltd | 車両用モニタ映像生成装置 |
JP2013222302A (ja) * | 2012-04-16 | 2013-10-28 | Alpine Electronics Inc | 車載カメラの取付角度補正装置および取付角度補正方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414625A (en) * | 1991-04-01 | 1995-05-09 | Nissan Motor Co., Ltd. | System and method for providing steering control for autonomous vehicle |
US5638116A (en) * | 1993-09-08 | 1997-06-10 | Sumitomo Electric Industries, Ltd. | Object recognition apparatus and method |
US6317674B1 (en) * | 1996-06-20 | 2001-11-13 | Itt Manufacturing Enterprises, Inc. | Acquisition and evaluation of measured variables which are critical for safety |
SE523023C2 (sv) * | 2000-04-12 | 2004-03-23 | Nira Dynamics Ab | Metod och anordning för att med rekursiv filtrering bestämma en fysikalisk parameter hos ett hjulfordon |
JP3733875B2 (ja) * | 2000-09-29 | 2006-01-11 | 日産自動車株式会社 | 道路白線認識装置 |
JP4861574B2 (ja) * | 2001-03-28 | 2012-01-25 | パナソニック株式会社 | 運転支援装置 |
JP4654208B2 (ja) * | 2007-02-13 | 2011-03-16 | 日立オートモティブシステムズ株式会社 | 車載用走行環境認識装置 |
CN100405017C (zh) * | 2007-06-22 | 2008-07-23 | 北京航空航天大学 | 阵列小孔式太阳敏感器信号处理方法和装置 |
US20120300072A1 (en) * | 2007-07-06 | 2012-11-29 | Chol Kim | Device and method for detection and prevention of motor vehicle accidents |
EP2020168A1 (en) * | 2007-08-03 | 2009-02-04 | AGROCOM GmbH & Co. Agrarsystem KG | Control system for agricultural working vehicles |
US9280824B2 (en) * | 2009-09-30 | 2016-03-08 | Panasonic Intellectual Property Management Co., Ltd. | Vehicle-surroundings monitoring device |
EP2523831B2 (en) * | 2010-01-13 | 2024-05-29 | Magna Electronics Inc. | Vehicular camera and method for periodic calibration of vehicular camera |
US8447519B2 (en) * | 2010-11-10 | 2013-05-21 | GM Global Technology Operations LLC | Method of augmenting GPS or GPS/sensor vehicle positioning using additional in-vehicle vision sensors |
WO2012143036A1 (en) | 2011-04-18 | 2012-10-26 | Connaught Electronics Limited | Online vehicle camera calibration based on continuity of features |
JP5992184B2 (ja) * | 2012-03-09 | 2016-09-14 | 株式会社トプコン | 画像データ処理装置、画像データ処理方法および画像データ処理用のプログラム |
JP2013191072A (ja) * | 2012-03-14 | 2013-09-26 | Hitachi Automotive Systems Ltd | 物体検出装置 |
KR102001659B1 (ko) * | 2012-11-19 | 2019-07-19 | 한국전자통신연구원 | 차량용 카메라 캘리브레이션 장치 및 방법 |
JP6191145B2 (ja) * | 2013-01-31 | 2017-09-06 | ヤマハ株式会社 | オフセット推定装置及びプログラム |
TW201443827A (zh) * | 2013-05-03 | 2014-11-16 | Altek Autotronics Corp | 鏡頭影像校正系統及鏡頭影像校正方法 |
JP6020729B2 (ja) * | 2013-08-01 | 2016-11-02 | 日産自動車株式会社 | 車両位置姿勢角推定装置及び車両位置姿勢角推定方法 |
KR20150051745A (ko) * | 2013-11-05 | 2015-05-13 | 현대모비스 주식회사 | 차량의 동역학 정보를 이용한 스테레오 카메라 영상 보정 장치 및 그 방법 |
JP5906272B2 (ja) * | 2014-03-28 | 2016-04-20 | 富士重工業株式会社 | 車両用ステレオ画像処理装置 |
JP6471749B2 (ja) * | 2014-04-25 | 2019-02-20 | 日本電気株式会社 | 位置姿勢推定装置、画像処理装置及び位置姿勢推定方法 |
US9986173B2 (en) * | 2014-05-16 | 2018-05-29 | GM Global Technology Operations LLC | Surround-view camera system (VPM) online calibration |
JP6439287B2 (ja) * | 2014-06-18 | 2018-12-19 | 株式会社デンソー | 運転支援装置、運転支援方法、画像補正装置、画像補正方法 |
US10234292B2 (en) * | 2014-08-08 | 2019-03-19 | Stmicroelefctronics S.R.L. | Positioning apparatus and global navigation satellite system, method of detecting satellite signals |
JP6285321B2 (ja) * | 2014-08-25 | 2018-02-28 | 株式会社Soken | 道路形状認識装置 |
CN105203098B (zh) * | 2015-10-13 | 2018-10-02 | 上海华测导航技术股份有限公司 | 基于九轴mems传感器的农业机械全姿态角更新方法 |
JP6559535B2 (ja) * | 2015-10-22 | 2019-08-14 | 株式会社東芝 | 障害物マップ生成装置、その方法、及び、そのプログラム |
WO2017122552A1 (ja) * | 2016-01-15 | 2017-07-20 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに画像処理システム |
JP6511406B2 (ja) * | 2016-02-10 | 2019-05-15 | クラリオン株式会社 | キャリブレーションシステム、キャリブレーション装置 |
JP6733267B2 (ja) * | 2016-03-31 | 2020-07-29 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
KR102528004B1 (ko) * | 2016-07-25 | 2023-05-02 | 현대모비스 주식회사 | 어라운드 뷰 생성 장치 및 그 방법 |
CN108445877A (zh) * | 2018-02-06 | 2018-08-24 | 武汉理工大学 | 基于移动3g/4g网络环境下的仿生运动控制系统与控制方法 |
JP7278740B2 (ja) * | 2018-10-19 | 2023-05-22 | 株式会社東芝 | 移動体制御装置 |
US11724669B2 (en) * | 2019-12-16 | 2023-08-15 | Plusai, Inc. | System and method for a sensor protection system |
-
2016
- 2016-02-10 JP JP2016023600A patent/JP6511406B2/ja not_active Expired - Fee Related
- 2016-11-22 EP EP16889917.7A patent/EP3416368B1/en active Active
- 2016-11-22 US US16/071,239 patent/US11340071B2/en active Active
- 2016-11-22 WO PCT/JP2016/084648 patent/WO2017138216A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009253571A (ja) * | 2008-04-04 | 2009-10-29 | Clarion Co Ltd | 車両用モニタ映像生成装置 |
JP2013222302A (ja) * | 2012-04-16 | 2013-10-28 | Alpine Electronics Inc | 車載カメラの取付角度補正装置および取付角度補正方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3416368A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019184885A1 (zh) * | 2018-03-30 | 2019-10-03 | 杭州海康威视数字技术股份有限公司 | 一种相机外参标定方法、装置及电子设备 |
CN111107310A (zh) * | 2018-10-25 | 2020-05-05 | 爱信精机株式会社 | 照相机参数估计装置、照相机参数估计方法 |
CN111107310B (zh) * | 2018-10-25 | 2024-05-03 | 株式会社爱信 | 照相机参数估计装置、照相机参数估计方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3416368B1 (en) | 2020-11-04 |
US20200271449A1 (en) | 2020-08-27 |
JP2017143417A (ja) | 2017-08-17 |
EP3416368A4 (en) | 2019-09-04 |
EP3416368A1 (en) | 2018-12-19 |
JP6511406B2 (ja) | 2019-05-15 |
US11340071B2 (en) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017138216A1 (ja) | キャリブレーションシステム、キャリブレーション装置 | |
US11836989B2 (en) | Vehicular vision system that determines distance to an object | |
CN108496178B (zh) | 用于估计未来路径的系统和方法 | |
US10477102B2 (en) | Method and device for determining concealed regions in the vehicle environment of a vehicle | |
CN106663193B (zh) | 用于路缘检测和行人危险评估的系统和方法 | |
US8259174B2 (en) | Camera auto-calibration by horizon estimation | |
US8655019B2 (en) | Driving support display device | |
US10268904B2 (en) | Vehicle vision system with object and lane fusion | |
JP5441549B2 (ja) | 道路形状認識装置 | |
EP2045132B1 (en) | Driving support device, driving support method, and computer program | |
JP6567659B2 (ja) | レーン検出装置およびレーン検出方法 | |
US20150292891A1 (en) | Vehicle position estimation system | |
WO2015125590A1 (ja) | 外界認識システム、車両、及びカメラの汚れ検出方法 | |
EP2928178B1 (en) | On-board control device | |
CN106568448A (zh) | 用于验证针对机动车辆的道路位置信息的系统和方法 | |
JP6586849B2 (ja) | 情報表示装置及び情報表示方法 | |
WO2014084251A1 (ja) | 車載画像処理装置 | |
JP6697522B2 (ja) | 区画線認識装置 | |
CN108973858B (zh) | 用于确保行驶路线安全的装置 | |
JP6471522B2 (ja) | カメラパラメータ調整装置 | |
JP6493000B2 (ja) | 路面標示検出装置及び路面標示検出方法 | |
KR20190067578A (ko) | 오버랩 촬영 영역을 가지는 이종 카메라를 이용한 충돌 경고 장치 및 방법 | |
JP7232005B2 (ja) | 車両の走行環境検出装置及び走行制御システム | |
EP3163533A1 (en) | Adaptive view projection for a vehicle camera system | |
US20230150499A1 (en) | Vehicle control system and vehicle driving method using the vehicle control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16889917 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016889917 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2016889917 Country of ref document: EP Effective date: 20180910 |