WO2019155719A1 - キャリブレーション装置とキャリブレーション方法およびプログラム - Google Patents
キャリブレーション装置とキャリブレーション方法およびプログラム Download PDFInfo
- Publication number
- WO2019155719A1 WO2019155719A1 PCT/JP2018/042448 JP2018042448W WO2019155719A1 WO 2019155719 A1 WO2019155719 A1 WO 2019155719A1 JP 2018042448 W JP2018042448 W JP 2018042448W WO 2019155719 A1 WO2019155719 A1 WO 2019155719A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- calibration
- unit
- information
- peripheral object
- information acquisition
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/50—Systems of measurement based on relative movement of target
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/497—Means for monitoring or calibrating
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/497—Means for monitoring or calibrating
- G01S7/4972—Alignment of sensor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Definitions
- This technology enables stable calibration for calibration devices, calibration methods and programs.
- an object in a peripheral area is recognized using a distance measuring device.
- a distance measurement sensor that measures a distance to a structure and a sensor position measurement device that measures a three-dimensional position of the distance measurement sensor are provided on a moving body, and the measurement result of the distance measurement sensor and the sensor position measurement device are provided.
- the three-dimensional position of the structure is calculated using the measurement result. Further, calibration is performed for the mounting position and mounting posture of the distance measurement sensor.
- the sensor used for recognizing the object in the peripheral region is not limited to the distance measuring sensor shown in Patent Document 1.
- three-dimensional measurement or the like is performed based on a captured image acquired by the imaging device.
- the three-dimensional measurement is performed using the principle of triangulation based on the captured images acquired by two imaging devices whose relative positions and orientations are known.
- a distance measuring device is used in order to improve the reliability of three-dimensional measurement.
- the relative positions and orientations between imaging devices and between imaging devices and ranging devices are determined in advance.
- an object of this technology is to provide a calibration apparatus, a calibration method, and a program that can perform calibration stably.
- the first aspect of this technology is According to the point cloud data related to the feature points of the peripheral object generated based on the peripheral object information acquired by the plurality of information acquisition units, and the situation of the peripheral object and the information acquisition unit when the peripheral object information is acquired
- the calibration apparatus includes a calibration processing unit that calculates parameters related to positions and orientations of the plurality of information acquisition units using the weights.
- the plurality of information acquisition units are configured to receive peripheral object information for a predetermined period, for example, a preset period from the start of movement of the mobile object provided with the plurality of information acquisition units, or a preset period from the end of movement. Acquired multiple times.
- the plurality of information acquisition units are configured to acquire at least captured images of peripheral objects as peripheral object information.
- the information acquisition unit measures a distance to each position of the peripheral object using a plurality of information acquisition units that acquire a captured image of the peripheral object or an information acquisition unit that acquires a captured image of the peripheral object and a distance measuring sensor.
- the information acquisition unit uses the measurement result as peripheral object information.
- the information processing unit performs registration processing on the measurement result of the distance to each position of the peripheral object acquired by the information acquisition unit, and generates point cloud data for each position of the peripheral object as point cloud data for each feature point . Further, the information processing unit performs feature point detection using the captured image of the peripheral object acquired by the information acquisition unit, and obtains point cloud data for each feature point through registration processing for the detected feature point of the peripheral object. Generate.
- the calibration processing unit includes point cloud data related to feature points of the peripheral object, weights related to the situation of the peripheral object and the information acquisition unit when the peripheral object information is acquired, and positions of a plurality of information acquisition units stored in advance.
- a new external parameter is calculated using a parameter (external parameter) related to the posture.
- the weight regarding the situation between the peripheral object and the information acquisition unit the relative speed and distance between the peripheral object and the information acquisition unit, and the motion vector of the feature point are used.
- the calibration processing unit sets the weight according to the movement speed for each acquisition of the peripheral object information of the moving object provided with the plurality of information acquisition units, and decreases the weight as the movement speed increases.
- the calibration processing unit sets a weight according to the distance between the peripheral object and the information acquisition unit, and decreases the weight as the distance increases. Furthermore, in the setting of the weight, the weight is set according to the motion vector of the feature point, and the weight is reduced as the motion vector increases.
- the calibration processing unit calculates the cost indicating the error of the parameter for each acquisition of the peripheral object information using the weight, the point cloud data, and the parameter stored in advance, and based on the accumulated value of the cost for each acquisition. A new parameter that minimizes the error is calculated. Further, the parameter updating unit converts the stored parameter to the parameter calculated by the calibration processing unit from when the moving body provided with a plurality of information acquisition units is stopped or from the end of movement to the start of the next movement. Update.
- the second aspect of this technology is According to the point cloud data related to the feature points of the peripheral object generated based on the peripheral object information acquired by the plurality of information acquisition units, and the situation of the peripheral object and the information acquisition unit when the peripheral object information is acquired
- the calibration method includes calculating the parameters related to the positions and orientations of the plurality of information acquisition units by the calibration processing unit using the weights obtained.
- the third aspect of this technology is A program for performing calibration on a computer, A procedure for acquiring point cloud data related to feature points of a peripheral object generated based on peripheral object information acquired by a plurality of information acquisition units;
- the computer executes a procedure for calculating parameters relating to positions and orientations of the plurality of information acquisition units using weights according to the situation between the peripheral object and the information acquisition unit when the peripheral object information is acquired. It is in the program to let you.
- the program of the present technology is, for example, a storage medium or a communication medium provided in a computer-readable format to a general-purpose computer that can execute various program codes, such as an optical disk, a magnetic disk, or a semiconductor memory. It is a program that can be provided by a medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer.
- the point cloud data related to the feature points of the peripheral object generated based on the peripheral object information acquired by the plurality of information acquisition units, and the peripheral object and the information acquisition unit when the peripheral object information is acquired.
- An external parameter between a plurality of information acquisition units is calculated using a weight according to the situation. For this reason, calibration can be performed stably. Note that the effects described in the present specification are merely examples and are not limited, and may have additional effects.
- FIG. 1 illustrates the configuration of the calibration apparatus of the present technology.
- the calibration apparatus 10 includes a plurality of information acquisition units 11-1, 11-2 (2a), information processing units 12-1, 12-2 (2a), a weight setting unit 13, a parameter storage unit 14, and a calibration processing unit. 15 and the parameter update unit 16.
- the calibration apparatus 10 is not limited to the case where the blocks shown in FIG. 1 are provided integrally, and may have a configuration in which some blocks are provided separately.
- the information acquisition units 11-1 to -2 (2a) acquire peripheral object information.
- the peripheral object information is information that makes it possible to acquire information related to feature points of the peripheral object, such as a captured image obtained by capturing the peripheral object, distance measurement data up to each position of the peripheral object, and the like.
- the information processing unit 12-1 generates point cloud data of feature points in the peripheral object based on the peripheral object information acquired by the information acquisition unit 11-1, and outputs the point cloud data to the calibration processing unit 15.
- the information processing unit 12-2 (2a) generates point cloud data of feature points in the peripheral object based on the peripheral object information acquired by the information acquisition unit 11-2 (2a) to generate a calibration processing unit. 15 is output.
- the weight setting unit 13 sets a weight according to the situation of the surrounding object and the information acquisition unit that affects the calibration accuracy.
- the weight setting unit 13 outputs the set weight to the calibration processing unit 15.
- the parameter storage unit 14 holds parameters (hereinafter referred to as “external parameters”) relating to the positions and orientations of a plurality of information acquisition units.
- the parameter storage unit 14 outputs the held external parameters to the calibration processing unit 15. Further, when an external parameter is supplied from the parameter update unit 16, the parameter storage unit 14 updates the held external parameter to the external parameter supplied from the parameter update unit 16.
- the calibration processing unit 15 acquires the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2 (2 a), the weight set by the weight setting unit 13, and the parameter storage unit 14. Using the external parameter, a cost corresponding to the error of the external parameter is calculated based on the cost function. In addition, the calibration processing unit 15 calculates a new external parameter that minimizes the accumulated value of costs for a predetermined period, and outputs the new external parameter to the parameter update unit 16.
- the parameter update unit 16 outputs the new external parameter calculated by the calibration processing unit 15 to the parameter storage unit 14 so that the parameter storage unit 14 holds external parameters that can be stably calibrated. .
- FIG. 2 illustrates the configuration of the first embodiment.
- the information acquisition unit 11-1 acquires a captured image by using an imaging device.
- the information acquisition unit 11-2 is configured by using a distance measuring device such as a TOF (Time of Flight) camera, a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), or the like, and generates point cloud data indicating a distance value. get.
- the weight setting unit 13 sets a weight according to the situation of the surrounding object and the information acquisition unit.
- the weight setting unit 13 uses the moving speed as the situation between the peripheral object and the information acquisition unit.
- the moving speed is, for example, the moving speed of the information acquisition units 11-1 and 11-2 with respect to surrounding objects.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2 outputs the acquired point cloud data to the information processing unit 12-2.
- the information processing unit 12-1 performs SfM (Structure from Motion) processing.
- SfM Structure from Motion
- the point group data for each feature point for example, the distance for each feature point is obtained by the registration process for the feature points of the peripheral objects detected from the plurality of captured images in time order acquired by the information acquisition unit 11-1.
- the point cloud data shown is generated.
- the information processing unit 12-1 outputs the generated point cloud data to the calibration processing unit 15.
- the information processing unit 12-2 performs a registration process on the measurement result of the distance to each position of the peripheral object acquired by the information acquisition unit 11-1, and obtains point cloud data for each position of the peripheral object for each feature point. It is generated as point cloud data and output to the calibration processing unit 15.
- the weight setting unit 13 includes a moving speed acquisition unit 131 and a weight setting processing unit 132.
- the moving speed acquisition unit 131 is configured using a sensor or the like that can detect the moving speed of the moving body. For example, when the moving body is a vehicle, the moving speed acquisition unit 131 is configured using a vehicle speed detection sensor, and outputs speed information indicating the detected moving speed to the weight setting processing unit 132.
- the weight setting processing unit 132 sets a weight according to the moving speed acquired by the moving speed acquiring unit 131.
- the positions of the peripheral objects are the position and the point cloud indicated by the captured image. The difference in position indicated by the data may become large. Therefore, the weight setting processing unit 132 decreases the weight as the moving speed increases.
- FIG. 3 illustrates the relationship between the speed and the weight, and the weight setting processing unit 132 sets the weight Wsp according to the acquired moving speed Vsp and outputs the weight Wsp to the calibration processing unit 15.
- the parameter storage unit 14 stores, for example, external parameters between the information acquisition units 11-1 and 11-2, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2, and sets the point cloud data of the same feature points as data in the same coordinate system. Further, the calibration processing unit 15 uses the point group data after registration, the weight set by the weight setting unit 13, and the external parameter stored in the parameter storage unit 14 to calculate the accumulated value of the cost for a predetermined period. A new external parameter that is minimized is calculated.
- the predetermined period is a period set in advance from the start of traveling of the vehicle. Further, it may be a preset period until the vehicle finishes traveling.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t), and the data after registration of the point cloud data supplied from the information processing unit 12-2 Is point cloud data L (i, t).
- t is an index related to time (hereinafter referred to as “time index”)
- i is an index related to feature points (hereinafter referred to as “feature point index”).
- the external parameters are a translation parameter T and a rotation parameter R.
- the translation parameter T is a parameter related to the positions of the information acquisition unit 11-1 and the information acquisition unit 11-2
- the rotation parameter R is a parameter related to the posture of the information acquisition unit 11-1 and the information acquisition unit 11-2. is there.
- FIG. 4 illustrates feature points.
- FIG. 4A is a feature point acquired by the information acquisition unit 11-1
- FIG. 4B is a feature acquired by the information acquisition unit 11-2. The point is illustrated.
- the calibration processing unit 15 calculates the cost E based on the equation (1) using the weight Wsp (t) for each time index set by the weight setting unit 13. Further, the calibration processing unit 15 calculates a translation parameter T and a rotation parameter R that minimize the calculated cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 uses the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15 to update the external parameters (translation parameter and rotation parameter) stored in the parameter storage unit 14 at a predetermined timing.
- the external parameters transmission parameter and rotation parameter
- the external parameters are calculated using peripheral object information acquired in a predetermined period set in advance from the start of traveling of the vehicle.
- the external parameter stored in the parameter storage unit 14 is updated with the newly calculated external parameter at the timing when the vehicle is subsequently stopped.
- a new external parameter is calculated using the peripheral object information acquired in a predetermined period set in advance until the vehicle finishes traveling. In this case, since the vehicle is in the travel end state, the external parameter stored in the parameter storage unit 14 is updated with the newly calculated external parameter immediately or during the period until the next travel start.
- FIG. 5 is a flowchart illustrating the operation of the first embodiment.
- the calibration apparatus performs image acquisition processing.
- the information acquisition unit 11-1 of the calibration apparatus acquires a captured image as the peripheral object information, and proceeds to step ST2.
- step ST2 the calibration apparatus performs feature point detection processing in SfM processing.
- the information processing unit 12-1 of the calibration apparatus detects a feature point (for example, an edge or a corner) representing the feature of the image from the captured image acquired in step ST1, and proceeds to step ST3.
- a feature point for example, an edge or a corner
- step ST3 the calibration device performs matching processing.
- the information processing unit 12-1 of the calibration device performs a feature point matching process between captured images having different imaging times, and detects which feature point in the captured image corresponds to which feature point in the captured image. Proceed to step ST4.
- step ST4 the calibration apparatus performs a registration process.
- the information processing unit 12-1 of the calibration apparatus detects the positional relationship of the corresponding feature points on the image based on the detection result of step ST3, and proceeds to step ST5.
- step ST5 the calibration device performs triangulation processing.
- the information processing unit 12-1 of the calibration device calculates the distance to the feature point using the positional relationship on the image of the feature point that matches between captured images with different imaging times. Further, the information processing section 12-1 proceeds to step ST41 using the distance for each feature point as point cloud data.
- the SfM process is not limited to the process from step ST2 to step ST5, and may include a process (not shown) such as a bandal adjustment.
- step ST11 the calibration process performs distance measurement information acquisition process.
- the information acquisition unit 11-2 of the calibration apparatus acquires point cloud data indicating the distance measurement result of each point in the imaging range by the information acquisition unit 11-1 as the peripheral object information, and proceeds to step ST12.
- step ST12 the calibration apparatus performs a registration process.
- the information processing unit 12-2 of the calibration apparatus detects the point cloud data of the corresponding point from the point cloud data for each time obtained in step ST11, and proceeds to step ST41.
- step ST31 the calibration device performs a movement speed acquisition process.
- the weight setting unit 13 of the calibration apparatus includes a moving speed acquisition unit 131 and a weight setting processing unit 132.
- the moving speed acquisition unit 131 acquires speed information indicating the moving speed of the moving body provided with the information acquisition units 11-1 and 11-2 from, for example, a vehicle speed detection sensor, and proceeds to step ST32.
- step ST32 the calibration device performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight based on the speed information acquired in step ST31, and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence between the point cloud data obtained by the processing of steps ST1 to ST5 and the point cloud data obtained by the processing of steps ST11 to ST12, and calculates the above formula.
- the cost is calculated using the corresponding point cloud data and the weight set in step ST32.
- the calibration processing unit 15 calculates an external parameter, that is, a translation parameter T and a rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- FIG. 6 is a diagram illustrating an operation example of the first embodiment.
- the information acquisition units 11-1 and 11-2 are fixed to the side surface of the moving body in the same direction, if the moving speed of the moving body in the forward direction is slow, the position change of the feature point is small, but the moving speed is If it is fast, the position change of the feature point is large. Therefore, when a difference ⁇ is generated between the timing at which the information acquisition unit 11-1 acquires the captured image and the information acquisition unit 11-2 acquires the peripheral object information, if the moving speed is low, the position difference between the feature points is small. However, as the moving speed increases, the position difference of the feature points increases.
- the weight is reduced as the moving speed is increased, so that the influence of the observation point error (observation point position difference) in the calibration can be reduced. Therefore, the calibration can be performed with high accuracy and stability compared to the case where the calibration is performed without using the weight according to the speed.
- FIG. 7 illustrates the configuration of the second embodiment.
- the information acquisition unit 11-1 acquires a captured image by using an imaging device.
- the information acquisition unit 11-2 is configured by using a distance measuring device such as a TOF (Time of Flight) camera, LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), or the like, to thereby show point cloud data indicating a distance value.
- a distance measuring device such as a TOF (Time of Flight) camera, LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), or the like, to thereby show point cloud data indicating a distance value.
- the weight setting unit 13 uses the distance as the situation between the surrounding object and the information acquisition unit.
- the distance is, for example, a distance to each point of the peripheral object.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2 outputs the acquired point cloud data to the information processing unit 12-2.
- the information processing unit 12-1 performs SfM (Structure from Motion) processing, generates point cloud data for each feature point detected from a plurality of captured images in time order acquired by the information acquisition unit 11-1. Output to the calibration processing unit 15. Further, the information processing unit 12-1 outputs the distance for each feature point to the weight setting unit 13.
- SfM Structure from Motion
- the information processing unit 12-2 performs a registration process on the measurement result of the distance to each position of the peripheral object acquired by the information acquisition unit 11-1, and obtains point cloud data for each position of the peripheral object for each feature point. It is generated as point cloud data and output to the calibration processing unit 15.
- the weight setting unit 13 has a weight setting processing unit 133.
- the weight setting processing unit 133 sets a weight according to the distance for each feature point acquired from the information processing unit 12-1.
- the weight setting processing unit 133 decreases the weight as the distance becomes longer.
- FIG. 8 illustrates the relationship between the distance and the weight, and the weight setting processing unit 133 sets the weight Wdist according to the acquired distance Ldist and outputs it to the calibration processing unit 15.
- the parameter storage unit 14 stores, for example, external parameters between the information acquisition units 11-1 and 11-2, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2 and the weight set by the weight setting unit 13 after the registration. Using the external parameters stored in the parameter storage unit 14, a new external parameter that minimizes the accumulated value of the cost for a predetermined period is calculated as in the first embodiment.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t), and the data after registration of the point cloud data supplied from the information processing unit 12-2 Is point cloud data L (i, t).
- T is a time index
- i is a feature point index.
- the external parameters are a translation parameter T and a rotation parameter R.
- the calibration processing unit 15 calculates the cost E based on the equation (2) using the weight Wdist (i) for the feature point of the feature point index i set by the weight setting unit 13. Further, the calibration processing unit 15 calculates a translation parameter T and a rotation parameter R that minimize the calculated cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 updates the external parameters in the parameter storage unit 14 at a predetermined timing using the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15 as in the first embodiment.
- FIG. 9 is a flowchart illustrating the operation of the second embodiment. Note that the processing in steps ST1 to ST12 is the same as that in the first embodiment.
- step ST1 the calibration apparatus performs image acquisition processing and proceeds to step ST2.
- step ST2 the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST3.
- step ST3 the calibration apparatus performs a matching process and proceeds to step ST4.
- step ST4 the calibration apparatus performs a registration process and proceeds to step ST5.
- step ST5 the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point group data.
- step ST11 the calibration processing performs distance measurement information acquisition processing, and proceeds to step ST12.
- step ST12 the calibration apparatus performs a registration process.
- the information processing unit 12-2 detects the point cloud data of the corresponding point from the point cloud data for each time obtained in step ST11, and proceeds to step ST41.
- step ST33 the calibration apparatus performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight according to the distance calculated in step ST5 and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence between the point cloud data obtained by the processing of steps ST1 to ST5 and the point cloud data obtained by the processing of steps ST11 to ST12, and calculates the above formula.
- the cost is calculated using the corresponding point cloud data and the weight set in step ST33.
- the calibration processing unit 15 calculates the translation parameter T and the rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- FIG. 10 is a diagram illustrating an operation example of the second embodiment.
- the weight is reduced as the distance increases. Therefore, the influence of a decrease in distance measurement accuracy is reduced, and the calibration can be performed with high accuracy and stability compared to the case where calibration is performed without using a weight corresponding to the distance.
- FIG. 11 illustrates the configuration of the third embodiment.
- the information acquisition unit 11-1 acquires a captured image by using an imaging device.
- the information acquisition unit 11-2 is configured by using a distance measuring device such as a TOF (Time of Flight) camera, LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), or the like, to thereby show point cloud data indicating a distance value.
- a distance measuring device such as a TOF (Time of Flight) camera, LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging), or the like.
- the weight setting unit 13 uses a motion vector for each feature point as the situation between the peripheral object and the information acquisition unit.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2 outputs the acquired point cloud data to the information processing unit 12-2.
- the information processing unit 12-1 performs SfM (Structure from Motion) processing, generates point cloud data for each feature point detected from a plurality of captured images in time order acquired by the information acquisition unit 11-1. Output to the calibration processing unit 15. In addition, the information processing unit 12-1 outputs the detected feature points to the weight setting unit 13.
- SfM Structure from Motion
- the information processing unit 12-2 performs a registration process on the measurement result of the distance to each position of the peripheral object acquired by the information acquisition unit 11-1, and obtains point cloud data for each position of the peripheral object for each feature point. It is generated as point cloud data and output to the calibration processing unit 15.
- the weight setting unit 13 includes a feature point holding unit 134, a motion vector calculation unit 135, and a weight setting processing unit 136.
- the feature point holding unit 134 stores the feature points detected by the information processing unit 12-1.
- the stored feature points are output to the motion vector calculation unit 135.
- the motion vector calculation unit 135 includes feature points stored in the feature point holding unit 134 and feature points detected by the information processing unit 12-1 and corresponding to the stored feature points.
- a motion vector is calculated for each feature point from the position on the image and output to the weight setting processing unit 136.
- the weight setting processing unit 136 sets a weight according to the motion vector calculated by the motion vector calculating unit 135.
- the distance measurement accuracy may be lower than when the motion vector is small.
- the weight setting processing unit 136 decreases the weight as the motion vector increases.
- FIG. 12 illustrates the relationship between the magnitude (norm) of the motion vector and the weight, and the weight setting processing unit 136 sets the weight Wflow according to the motion vector MVflow calculated by the motion vector calculating unit 135. And output to the calibration processing unit 15.
- the parameter storage unit 14 stores, for example, external parameters between the information acquisition units 11-1 and 11-2, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2 and the weight set by the weight setting unit 13 after the registration. Using the external parameters stored in the parameter storage unit 14, a new external parameter that minimizes the cost is calculated.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t), and the data after registration of the point cloud data supplied from the information processing unit 12-2 Is point cloud data L (i, t).
- T is a time index
- i is a feature point index.
- the external parameters are a translation parameter T and a rotation parameter R.
- the calibration processing unit 15 calculates the cost E based on Expression (3) using the weight Wflow (i) for the feature point of the feature point index i set by the weight setting unit 13. Further, the calibration processing unit 15 calculates a translation parameter T and a rotation parameter R that minimize the calculated cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 updates the external parameters in the parameter storage unit 14 at a predetermined timing using the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15.
- FIG. 13 is a flowchart illustrating the operation of the third embodiment. Note that the processing in steps ST1 to ST12 is the same as that in the first embodiment.
- step ST1 the calibration apparatus performs image acquisition processing and proceeds to step ST2.
- step ST2 the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST3.
- step ST3 the calibration apparatus performs a matching process and proceeds to step ST4.
- step ST4 the calibration apparatus performs a registration process and proceeds to step ST5.
- step ST5 the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point group data.
- step ST11 the calibration processing performs distance measurement information acquisition processing, and proceeds to step ST12.
- step ST12 the calibration apparatus performs a registration process.
- the information processing unit 12-2 detects the point cloud data of the corresponding point from the point cloud data for each time obtained in step ST11, and proceeds to step ST41.
- step ST34 the calibration device performs a motion vector calculation process.
- the weight setting unit 13 of the calibration apparatus calculates a motion vector based on the feature points detected in step ST2 and stored in the feature point holding unit 134 and the corresponding feature points detected from the subsequent captured image. Calculation at 135 proceeds to step ST35.
- step ST35 the calibration apparatus performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight in the weight setting processing unit 136 according to the motion vector detected in step ST34, and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence between the point cloud data obtained by the processing of steps ST1 to ST5 and the point cloud data obtained by the processing of steps ST11 to ST12, and calculates the above formula.
- the cost is calculated using the corresponding point cloud data and the weight set in step ST35.
- the calibration processing unit 15 calculates the translation parameter T and the rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- the weight of the feature point having a large motion vector is reduced, the influence of the motion is reduced, and the calibration is performed without using the weight according to the motion vector. Compared to, calibration can be performed accurately and stably.
- the imaging device and the distance measuring device are used to perform calibration using weights according to the speed.
- a plurality of imaging devices are used. Calibration is performed using a weight corresponding to the speed.
- FIG. 14 illustrates the configuration of the fourth embodiment.
- the information acquisition units 11-1 and 11-2a acquire captured images by being configured using an imaging device.
- the weight setting unit 13 sets a weight according to the moving speed, as in the first embodiment.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2a outputs the acquired captured image to the information processing unit 12-2a.
- the information processing units 12-1 and 12-2a perform SfM (Structure from Motion) processing, detect feature points for each captured image from a plurality of captured images in time order, and detect the feature points in the time direction from the detected feature points.
- Point cloud data indicating corresponding feature points for each feature point is generated and output to the calibration processing unit 15.
- the weight setting unit 13 includes a moving speed acquisition unit 131 and a weight setting processing unit 132.
- the moving speed acquisition unit 131 is configured using a sensor or the like that can detect the moving speed of the moving body. For example, when the moving body is a vehicle, the moving speed acquisition unit 131 is configured using a vehicle speed detection sensor, and outputs speed information indicating the detected moving speed to the weight setting processing unit 132.
- the weight setting processing unit 132 sets a weight according to the moving speed acquired by the moving speed acquiring unit 131.
- the weight setting processing unit 132 decreases the weight as the moving speed increases. Similar to the first embodiment, the weight setting processing unit 132 sets the weight Wsp according to the acquired moving speed Vsp based on the relationship between the speed and the weight shown in FIG. Output to.
- the parameter storage unit 14 stores external parameters between the information acquisition units 11-1 and 11-2a, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2a, and the weight set by the weight setting unit 13 after the registration. Using the external parameters stored in the parameter storage unit 14, a new external parameter that minimizes the cost is calculated.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t) and the data after registration of the point cloud data supplied from the information processing unit 12-2a.
- T is a time index
- i is a feature point index.
- the external parameters are a translation parameter T and a rotation parameter R.
- the calibration processing unit 15 calculates the cost E based on the equation (4) using the weight Wsp (t) for each time index set by the weight setting unit 13. Further, when the calculated cost E is not the minimum, the calibration processing unit 15 newly calculates a translation parameter T and a rotation parameter R that minimize the cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 updates the external parameters in the parameter storage unit 14 at a predetermined timing using the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15.
- FIG. 15 is a flowchart illustrating the operation of the fourth embodiment.
- the calibration apparatus performs an image acquisition process, acquires a captured image from the information acquisition unit 11-1, and proceeds to step ST2.
- the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST3.
- the calibration apparatus performs a matching process and proceeds to step ST4.
- the calibration apparatus performs a registration process and proceeds to step ST5.
- the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point group data.
- step ST21 the calibration apparatus performs an image acquisition process, acquires a captured image from the information acquisition unit 11-2a, and proceeds to step ST22.
- step ST22 the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST23.
- step ST23 the calibration apparatus performs matching processing and proceeds to step ST24.
- step ST24 the calibration apparatus performs a registration process and proceeds to step ST25.
- step ST25 the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point cloud data.
- step ST31 the calibration device performs a movement speed acquisition process.
- the weight setting unit 13 of the calibration apparatus includes a moving speed acquisition unit 131 and a weight setting processing unit 132.
- the moving speed acquisition unit 131 acquires speed information indicating the moving speed of the moving body provided with the information acquisition units 11-1 and 11-2a from, for example, a vehicle speed detection sensor, and proceeds to step ST32.
- step ST32 the calibration device performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight based on the speed information acquired in step ST31, and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence relationship between the point cloud data obtained by the processing of steps ST1 to ST4 and the point cloud data obtained by the processing of steps ST21 to ST25, and calculates the above formula. As shown in (4), the cost is calculated using the corresponding point cloud data and the weight set in step ST32. In addition, the calibration processing unit 15 calculates the translation parameter T and the rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- the calibration can be performed with high accuracy and stability compared to the case where the calibration is performed without using the weight according to the speed.
- the imaging device and the distance measuring device are used to perform the calibration using the weight according to the distance to the peripheral object.
- a plurality of imaging devices are used. Is used to perform calibration using a weight corresponding to the distance to the surrounding object.
- FIG. 16 illustrates the configuration of the fifth embodiment.
- two information acquisition units 11-1 and 11-2a are used.
- the information acquisition units 11-1 and 11-2a acquire captured images by being configured using an imaging device.
- the weight setting unit 13 sets the weight according to the distance, as in the second embodiment.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2a outputs the acquired captured image to the information processing unit 12-2a.
- the information processing units 12-1 and 12-2a perform SfM (Structure from Motion) processing, detect feature points for each captured image from a plurality of captured images in time order, and detect the feature points in the time direction from the detected feature points.
- Point cloud data indicating corresponding feature points for each feature point is generated and output to the calibration processing unit 15.
- the weight setting unit 13 has a weight setting processing unit 133.
- the weight setting processing unit 133 sets a weight according to the distance for each feature point acquired from the information processing unit 12-1.
- the weight setting processing unit 133 decreases the weight as the distance becomes longer. Similar to the second embodiment, the weight setting processing unit 133 sets the weight Wdist according to the acquired distance Ldist based on the relationship between the distance and the weight shown in FIG. Output.
- the parameter storage unit 14 stores external parameters between the information acquisition units 11-1 and 11-2a, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2a, and the weight set by the weight setting unit 13 after the registration. Using the external parameters stored in the parameter storage unit 14, a new external parameter that minimizes the cost for a predetermined period is calculated.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t) and the data after registration of the point cloud data supplied from the information processing unit 12-2a.
- T is a time index
- i is a feature point index.
- the external parameters are a translation parameter T and a rotation parameter R.
- the calibration processing unit 15 calculates the cost E based on the equation (5) using the weight Wdist (i) for the feature point of the feature point index i set by the weight setting unit 13. Further, the calibration processing unit 15 calculates a translation parameter T and a rotation parameter R that minimize the calculated cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 updates the external parameters in the parameter storage unit 14 at a predetermined timing using the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15.
- FIG. 17 is a flowchart illustrating the operation of the fifth embodiment.
- the calibration apparatus performs an image acquisition process, acquires a captured image from the information acquisition unit 11-1, and proceeds to step ST2.
- the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST3.
- the calibration apparatus performs a matching process and proceeds to step ST4.
- the calibration apparatus performs a registration process and proceeds to step ST5.
- the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point group data.
- step ST21 the calibration apparatus performs an image acquisition process, acquires a captured image from the information acquisition unit 11-2a, and proceeds to step ST22.
- step ST22 the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST23.
- step ST23 the calibration apparatus performs matching processing and proceeds to step ST24.
- step ST24 the calibration apparatus performs a registration process and proceeds to step ST25.
- step ST25 the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point cloud data.
- step ST33 the calibration apparatus performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight according to the distance calculated in step ST5 and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence between the point cloud data obtained by the processing of steps ST1 to ST5 and the point cloud data obtained by the processing of steps ST21 to ST25, and the above equation. As shown in (5), the cost is calculated using the corresponding point cloud data and the weight set in step ST33. In addition, the calibration processing unit 15 calculates an external parameter, that is, a translation parameter T and a rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- an external parameter that is, a translation parameter T and a rotation parameter R that minimize the accumulated value of the cost in a predetermined period
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- the calibration can be performed with high accuracy and stability compared to the case where the calibration is performed without using the weight according to the distance.
- FIG. 18 illustrates the configuration of the sixth embodiment.
- two information acquisition units 11-1 and 11-2a are used.
- the information acquisition units 11-1 and 11-2a acquire captured images by being configured using an imaging device.
- the weight setting unit 13 sets a weight according to the motion vector, as in the third embodiment.
- the information acquisition unit 11-1 outputs the acquired captured image to the information processing unit 12-1, and the information acquisition unit 11-2a outputs the acquired captured image to the information processing unit 12-2a.
- the information processing units 12-1 and 12-2a perform SfM (Structure from Motion) processing, detect feature points for each captured image from a plurality of captured images in time order, and detect the feature points in the time direction from the detected feature points.
- Point cloud data indicating corresponding feature points for each feature point is generated and output to the calibration processing unit 15.
- the weight setting unit 13 includes a feature point holding unit 134, a motion vector calculation unit 135, and a weight setting processing unit 136.
- the feature point holding unit 134 stores the feature points detected by the information processing unit 12-1.
- the stored feature points are output to the motion vector calculation unit 135.
- the motion vector calculation unit 135 includes feature points stored in the feature point holding unit 134 and feature points detected by the information processing unit 12-1 and corresponding to the stored feature points.
- a motion vector is calculated for each feature point from the position on the image and output to the weight setting processing unit 136.
- the weight setting processing unit 136 sets a weight according to the motion vector calculated by the motion vector calculating unit 135.
- the distance measurement accuracy may decrease as compared to the case where the motion vector is small.
- the weight setting processing unit 136 decreases the weight as the motion vector increases. Similar to the third embodiment, the weight setting processing unit 136 sets the weight Wflow according to the motion vector MVflow calculated by the motion vector calculation unit 135 based on the relationship between the magnitude and the weight of the motion vector shown in FIG. Set and output to the calibration processing unit 15.
- the parameter storage unit 14 stores external parameters between the information acquisition units 11-1 and 11-2a, and the stored external parameters can be updated by the parameter update unit 16.
- the calibration processing unit 15 performs registration of the point cloud data for a predetermined period supplied from the information processing units 12-1 and 12-2a, and the weight set by the weight setting unit 13 after the registration. Using the external parameters stored in the parameter storage unit 14, a new external parameter that minimizes the cost is calculated.
- the data after registration of the point cloud data supplied from the information processing unit 12-1 is the point cloud data Ca (i, t) and the data after registration of the point cloud data supplied from the information processing unit 12-2a.
- T is a time index
- i is a feature point index.
- the external parameters are a translation parameter T and a rotation parameter R.
- the calibration processing unit 15 uses the weight Wflow (i) for the feature point of the feature point index i set by the weight setting unit 13 to calculate the cost E based on Expression (6). Further, the calibration processing unit 15 calculates a translation parameter T and a rotation parameter R that minimize the calculated cost E. The calibration processing unit 15 outputs the translation parameter T and the rotation parameter R that minimize the cost E to the parameter update unit 16.
- the parameter update unit 16 updates the external parameters in the parameter storage unit 14 at a predetermined timing using the translation parameter T and the rotation parameter R supplied from the calibration processing unit 15.
- FIG. 19 is a flowchart illustrating the operation of the sixth embodiment.
- the calibration apparatus performs an image acquisition process and proceeds to step ST2.
- the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST3.
- the calibration apparatus performs a matching process and proceeds to step ST4.
- the calibration apparatus performs a registration process and proceeds to step ST5.
- the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point group data.
- step ST21 the calibration apparatus performs an image acquisition process, acquires a captured image from the information acquisition unit 11-2a, and proceeds to step ST22.
- step ST22 the calibration apparatus performs a feature point detection process in the SfM process and proceeds to step ST23.
- step ST23 the calibration apparatus performs matching processing and proceeds to step ST24.
- step ST24 the calibration apparatus performs a registration process and proceeds to step ST25.
- step ST25 the calibration apparatus performs triangulation processing, calculates a distance for each feature point, and proceeds to step ST41 using the calculated distance as point cloud data.
- step ST34 the calibration device performs a motion detection process.
- the weight setting unit 13 of the calibration apparatus calculates a motion vector based on the feature points detected in step ST2 and stored in the feature point holding unit 134 and the corresponding feature points detected from the subsequent captured image. Calculation at 135 proceeds to step ST35.
- step ST35 the calibration apparatus performs weight setting processing.
- the weight setting unit 13 of the calibration apparatus sets a weight in the weight setting processing unit 136 according to the motion vector detected in step ST34, and proceeds to step ST41.
- step ST41 the calibration apparatus performs parameter calculation processing.
- the calibration processing unit 15 of the calibration device discriminates the correspondence between the point cloud data obtained by the processing of steps ST1 to ST5 and the point cloud data obtained by the processing of steps ST21 to ST25, and the above equation. As shown in (6), the cost is calculated using the corresponding point cloud data and the weight set in step ST35. In addition, the calibration processing unit 15 calculates the translation parameter T and the rotation parameter R that minimize the accumulated value of the cost in a predetermined period, and proceeds to step ST42.
- step ST42 the calibration device performs parameter update processing.
- the parameter update unit 16 of the calibration apparatus updates the external parameter stored in the parameter storage unit 14 using the translation parameter T and the rotation parameter R calculated in step ST41.
- the calibration can be performed with high accuracy and stability compared to the case where the calibration is performed without using the weight according to the motion vector.
- the technology according to the present disclosure can be applied to various products.
- the technology according to the present disclosure may be any kind of movement such as an automobile, an electric vehicle, a hybrid electric vehicle, a motorcycle, a bicycle, personal mobility, an airplane, a drone, a ship, a robot, a construction machine, and an agricultural machine (tractor).
- FIG. 20 is a block diagram illustrating a schematic configuration example of a vehicle control system 7000 that is an example of a mobile control system to which the technology according to the present disclosure can be applied.
- the vehicle control system 7000 includes a plurality of electronic control units connected via a communication network 7010.
- the vehicle control system 7000 includes a drive system control unit 7100, a body system control unit 7200, a battery control unit 7300, an outside information detection unit 7400, an in-vehicle information detection unit 7500, and an integrated control unit 7600. .
- the communication network 7010 for connecting the plurality of control units conforms to an arbitrary standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), or FlexRay (registered trademark). It may be an in-vehicle communication network.
- Each control unit includes a microcomputer that performs arithmetic processing according to various programs, a storage unit that stores programs executed by the microcomputer or parameters used for various calculations, and a drive circuit that drives various devices to be controlled. Is provided.
- Each control unit includes a network I / F for communicating with other control units via a communication network 7010, and is connected to devices or sensors inside and outside the vehicle by wired communication or wireless communication. A communication I / F for performing communication is provided. In FIG.
- a microcomputer 7610 As the functional configuration of the integrated control unit 7600, a microcomputer 7610, a general-purpose communication I / F 7620, a dedicated communication I / F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I / F 7660, an audio image output unit 7670, An in-vehicle network I / F 7680 and a storage unit 7690 are illustrated.
- other control units include a microcomputer, a communication I / F, a storage unit, and the like.
- the drive system control unit 7100 controls the operation of the device related to the drive system of the vehicle according to various programs.
- the drive system control unit 7100 includes a driving force generator for generating a driving force of a vehicle such as an internal combustion engine or a driving motor, a driving force transmission mechanism for transmitting the driving force to wheels, and a steering angle of the vehicle. It functions as a control device such as a steering mechanism that adjusts and a braking device that generates a braking force of the vehicle.
- the drive system control unit 7100 may have a function as a control device such as ABS (Antilock Brake System) or ESC (Electronic Stability Control).
- a vehicle state detection unit 7110 is connected to the drive system control unit 7100.
- the vehicle state detection unit 7110 includes, for example, a gyro sensor that detects the angular velocity of the rotational movement of the vehicle body, an acceleration sensor that detects the acceleration of the vehicle, an operation amount of an accelerator pedal, an operation amount of a brake pedal, and steering of a steering wheel. At least one of sensors for detecting an angle, an engine speed, a rotational speed of a wheel, or the like is included.
- the drive system control unit 7100 performs arithmetic processing using a signal input from the vehicle state detection unit 7110, and controls an internal combustion engine, a drive motor, an electric power steering device, a brake device, or the like.
- the body system control unit 7200 controls the operation of various devices mounted on the vehicle body according to various programs.
- the body system control unit 7200 functions as a keyless entry system, a smart key system, a power window device, or a control device for various lamps such as a headlamp, a back lamp, a brake lamp, a blinker, or a fog lamp.
- the body control unit 7200 can be input with radio waves or various switch signals transmitted from a portable device that substitutes for a key.
- the body system control unit 7200 receives input of these radio waves or signals, and controls a door lock device, a power window device, a lamp, and the like of the vehicle.
- the battery control unit 7300 controls the secondary battery 7310 that is a power supply source of the drive motor according to various programs. For example, information such as battery temperature, battery output voltage, or remaining battery capacity is input to the battery control unit 7300 from a battery device including the secondary battery 7310. The battery control unit 7300 performs arithmetic processing using these signals, and controls the temperature adjustment of the secondary battery 7310 or the cooling device provided in the battery device.
- the outside information detection unit 7400 detects information outside the vehicle on which the vehicle control system 7000 is mounted.
- the outside information detection unit 7400 is connected to at least one of the imaging unit 7410 and the outside information detection unit 7420.
- the imaging unit 7410 includes at least one of a ToF (Time Of Flight) camera, a stereo camera, a monocular camera, an infrared camera, and other cameras.
- the outside information detection unit 7420 detects, for example, current weather or an environmental sensor for detecting weather, or other vehicles, obstacles, pedestrians, etc. around the vehicle equipped with the vehicle control system 7000. At least one of the surrounding information detection sensors.
- the environmental sensor may be, for example, at least one of a raindrop sensor that detects rainy weather, a fog sensor that detects fog, a sunshine sensor that detects sunlight intensity, and a snow sensor that detects snowfall.
- the ambient information detection sensor may be at least one of an ultrasonic sensor, a radar device, and a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) device.
- the imaging unit 7410 and the outside information detection unit 7420 may be provided as independent sensors or devices, or may be provided as a device in which a plurality of sensors or devices are integrated.
- FIG. 21 shows an example of installation positions of the imaging unit 7410 and the vehicle outside information detection unit 7420.
- the imaging units 7910, 7912, 7914, 7916, and 7918 are provided at, for example, at least one of the front nose, the side mirror, the rear bumper, the back door, and the upper part of the windshield in the vehicle interior of the vehicle 7900.
- An imaging unit 7910 provided in the front nose and an imaging unit 7918 provided in the upper part of the windshield in the vehicle interior mainly acquire an image in front of the vehicle 7900.
- Imaging units 7912 and 7914 provided in the side mirror mainly acquire an image of the side of the vehicle 7900.
- An imaging unit 7916 provided in the rear bumper or the back door mainly acquires an image behind the vehicle 7900.
- the imaging unit 7918 provided on the upper part of the windshield in the passenger compartment is mainly used for detecting a preceding vehicle or a pedestrian, an obstacle, a traffic light, a traffic sign, a lane, or
- FIG. 21 shows an example of shooting ranges of the respective imaging units 7910, 7912, 7914, and 7916.
- the imaging range a indicates the imaging range of the imaging unit 7910 provided in the front nose
- the imaging ranges b and c indicate the imaging ranges of the imaging units 7912 and 7914 provided in the side mirrors, respectively
- the imaging range d The imaging range of the imaging part 7916 provided in the rear bumper or the back door is shown. For example, by superimposing the image data captured by the imaging units 7910, 7912, 7914, and 7916, an overhead image when the vehicle 7900 is viewed from above is obtained.
- the vehicle outside information detection units 7920, 7922, 7924, 7926, 7928, and 7930 provided on the front, rear, sides, corners of the vehicle 7900 and the upper part of the windshield in the vehicle interior may be, for example, an ultrasonic sensor or a radar device.
- the vehicle outside information detection units 7920, 7926, and 7930 provided on the front nose, the rear bumper, the back door, and the windshield in the vehicle interior of the vehicle 7900 may be, for example, LIDAR devices.
- These outside information detection units 7920 to 7930 are mainly used for detecting a preceding vehicle, a pedestrian, an obstacle, and the like.
- the vehicle exterior information detection unit 7400 causes the imaging unit 7410 to capture an image outside the vehicle and receives the captured image data. Further, the vehicle exterior information detection unit 7400 receives detection information from the vehicle exterior information detection unit 7420 connected thereto. When the vehicle exterior information detection unit 7420 is an ultrasonic sensor, a radar device, or a LIDAR device, the vehicle exterior information detection unit 7400 transmits ultrasonic waves, electromagnetic waves, or the like, and receives received reflected wave information.
- the outside information detection unit 7400 may perform an object detection process or a distance detection process such as a person, a car, an obstacle, a sign, or a character on a road surface based on the received information.
- the vehicle exterior information detection unit 7400 may perform environment recognition processing for recognizing rainfall, fog, road surface conditions, or the like based on the received information.
- the vehicle outside information detection unit 7400 may calculate a distance to an object outside the vehicle based on the received information.
- the outside information detection unit 7400 may perform image recognition processing or distance detection processing for recognizing a person, a car, an obstacle, a sign, a character on a road surface, or the like based on the received image data.
- the vehicle exterior information detection unit 7400 performs processing such as distortion correction or alignment on the received image data, and combines the image data captured by the different imaging units 7410 to generate an overhead image or a panoramic image. Also good.
- the vehicle exterior information detection unit 7400 may perform viewpoint conversion processing using image data captured by different imaging units 7410.
- the vehicle interior information detection unit 7500 detects vehicle interior information.
- a driver state detection unit 7510 that detects the driver's state is connected to the in-vehicle information detection unit 7500.
- Driver state detection unit 7510 may include a camera that captures an image of the driver, a biosensor that detects biometric information of the driver, a microphone that collects sound in the passenger compartment, and the like.
- the biometric sensor is provided, for example, on a seat surface or a steering wheel, and detects biometric information of an occupant sitting on the seat or a driver holding the steering wheel.
- the vehicle interior information detection unit 7500 may calculate the degree of fatigue or concentration of the driver based on the detection information input from the driver state detection unit 7510, and determines whether the driver is asleep. May be.
- the vehicle interior information detection unit 7500 may perform a process such as a noise canceling process on the collected audio signal.
- the integrated control unit 7600 controls the overall operation in the vehicle control system 7000 according to various programs.
- An input unit 7800 is connected to the integrated control unit 7600.
- the input unit 7800 is realized by a device that can be input by a passenger, such as a touch panel, a button, a microphone, a switch, or a lever.
- the integrated control unit 7600 may be input with data obtained by recognizing voice input through a microphone.
- the input unit 7800 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device such as a mobile phone or a PDA (Personal Digital Assistant) that supports the operation of the vehicle control system 7000. May be.
- the input unit 7800 may be, for example, a camera.
- the passenger can input information using a gesture.
- data obtained by detecting the movement of the wearable device worn by the passenger may be input.
- the input unit 7800 may include, for example, an input control circuit that generates an input signal based on information input by a passenger or the like using the input unit 7800 and outputs the input signal to the integrated control unit 7600.
- a passenger or the like operates the input unit 7800 to input various data or instruct a processing operation to the vehicle control system 7000.
- the storage unit 7690 may include a ROM (Read Only Memory) that stores various programs executed by the microcomputer, and a RAM (Random Access Memory) that stores various parameters, calculation results, sensor values, and the like.
- the storage unit 7690 may be realized by a magnetic storage device such as an HDD (Hard Disc Drive), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
- General-purpose communication I / F 7620 is a general-purpose communication I / F that mediates communication with various devices existing in the external environment 7750.
- General-purpose communication I / F7620 is a cellular communication protocol such as GSM (registered trademark) (Global System of Mobile communications), WiMAX (registered trademark), LTE (registered trademark) (Long Term Evolution) or LTE-A (LTE-Advanced).
- GSM Global System of Mobile communications
- WiMAX registered trademark
- LTE registered trademark
- LTE-A Long Term Evolution-Advanced
- another wireless communication protocol such as a wireless LAN (also referred to as Wi-Fi (registered trademark)), Bluetooth (registered trademark), or the like may be implemented.
- the general-purpose communication I / F 7620 is connected to a device (for example, an application server or a control server) existing on an external network (for example, the Internet, a cloud network, or an operator-specific network) via, for example, a base station or an access point. May be.
- the general-purpose communication I / F 7620 is a terminal (for example, a driver, a pedestrian or a store terminal, or an MTC (Machine Type Communication) terminal) that exists in the vicinity of the vehicle using, for example, P2P (Peer To Peer) technology. You may connect with.
- the dedicated communication I / F 7630 is a communication I / F that supports a communication protocol formulated for use in vehicles.
- the dedicated communication I / F 7630 is a standard protocol such as WAVE (Wireless Access in Vehicle Environment), DSRC (Dedicated Short Range Communications), or cellular communication protocol, which is a combination of the lower layer IEEE 802.11p and the upper layer IEEE 1609. May be implemented.
- the dedicated communication I / F 7630 typically includes vehicle-to-vehicle communication, vehicle-to-infrastructure communication, vehicle-to-home communication, and vehicle-to-pedestrian communication. ) Perform V2X communication, which is a concept that includes one or more of the communications.
- the positioning unit 7640 receives, for example, a GNSS signal from a GNSS (Global Navigation Satellite System) satellite (for example, a GPS signal from a GPS (Global Positioning System) satellite), performs positioning, and performs latitude, longitude, and altitude of the vehicle.
- the position information including is generated.
- the positioning unit 7640 may specify the current position by exchanging signals with the wireless access point, or may acquire position information from a terminal such as a mobile phone, PHS, or smartphone having a positioning function.
- the beacon receiving unit 7650 receives, for example, radio waves or electromagnetic waves transmitted from a radio station installed on the road, and acquires information such as the current position, traffic jam, closed road, or required time. Note that the function of the beacon receiving unit 7650 may be included in the dedicated communication I / F 7630 described above.
- the in-vehicle device I / F 7660 is a communication interface that mediates the connection between the microcomputer 7610 and various in-vehicle devices 7760 present in the vehicle.
- the in-vehicle device I / F 7660 may establish a wireless connection using a wireless communication protocol such as a wireless LAN, Bluetooth (registered trademark), NFC (Near Field Communication), or WUSB (Wireless USB).
- the in-vehicle device I / F 7660 is connected to a USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface, or MHL (Mobile High) via a connection terminal (and a cable if necessary). -definition Link) etc.
- the in-vehicle device 7760 includes, for example, at least one of a mobile device or a wearable device possessed by the passenger, or an information device carried into or attached to the vehicle. Further, the in-vehicle device 7760 may include a navigation device that searches for a route to an arbitrary destination, and the in-vehicle device I / F 7660 transmits a control signal to and from these in-vehicle devices 7760. Or, exchange data signals.
- the in-vehicle network I / F 7680 is an interface that mediates communication between the microcomputer 7610 and the communication network 7010.
- the in-vehicle network I / F 7680 transmits and receives signals and the like in accordance with a predetermined protocol supported by the communication network 7010.
- the microcomputer 7610 of the integrated control unit 7600 is connected via at least one of a general-purpose communication I / F 7620, a dedicated communication I / F 7630, a positioning unit 7640, a beacon receiving unit 7650, an in-vehicle device I / F 7660, and an in-vehicle network I / F 7680.
- the vehicle control system 7000 is controlled according to various programs based on the acquired information. For example, the microcomputer 7610 calculates a control target value of the driving force generation device, the steering mechanism, or the braking device based on the acquired information inside and outside the vehicle, and outputs a control command to the drive system control unit 7100. Also good.
- the microcomputer 7610 realizes ADAS (Advanced Driver Assistance System) functions including vehicle collision avoidance or impact mitigation, following traveling based on inter-vehicle distance, vehicle speed maintaining traveling, vehicle collision warning, or vehicle lane departure warning. You may perform the cooperative control for the purpose. Further, the microcomputer 7610 controls the driving force generator, the steering mechanism, the braking device, or the like based on the acquired information on the surroundings of the vehicle, so that the microcomputer 7610 automatically travels independently of the driver's operation. You may perform the cooperative control for the purpose of driving.
- ADAS Advanced Driver Assistance System
- the microcomputer 7610 is information acquired via at least one of the general-purpose communication I / F 7620, the dedicated communication I / F 7630, the positioning unit 7640, the beacon receiving unit 7650, the in-vehicle device I / F 7660, and the in-vehicle network I / F 7680.
- the three-dimensional distance information between the vehicle and the surrounding structure or an object such as a person may be generated based on the above and local map information including the peripheral information of the current position of the vehicle may be created.
- the microcomputer 7610 may generate a warning signal by predicting a danger such as a collision of a vehicle, approach of a pedestrian or the like or an approach to a closed road based on the acquired information.
- the warning signal may be, for example, a signal for generating a warning sound or lighting a warning lamp.
- the audio image output unit 7670 transmits an output signal of at least one of audio and image to an output device capable of visually or audibly notifying information to a vehicle occupant or the outside of the vehicle.
- an audio speaker 7710, a display unit 7720, and an instrument panel 7730 are illustrated as output devices.
- Display unit 7720 may include at least one of an on-board display and a head-up display, for example.
- the display portion 7720 may have an AR (Augmented Reality) display function.
- the output device may be other devices such as headphones, wearable devices such as glasses-type displays worn by passengers, projectors, and lamps.
- the display device can display the results obtained by various processes performed by the microcomputer 7610 or information received from other control units in various formats such as text, images, tables, and graphs. Display visually. Further, when the output device is an audio output device, the audio output device converts an audio signal made up of reproduced audio data or acoustic data into an analog signal and outputs it aurally.
- At least two control units connected via the communication network 7010 may be integrated as one control unit.
- each control unit may be configured by a plurality of control units.
- the vehicle control system 7000 may include another control unit not shown.
- some or all of the functions of any of the control units may be given to other control units. That is, as long as information is transmitted and received via the communication network 7010, the predetermined arithmetic processing may be performed by any one of the control units.
- a sensor or device connected to one of the control units may be connected to another control unit, and a plurality of control units may transmit / receive detection information to / from each other via the communication network 7010. .
- the calibration processing unit 15, the weight setting unit 13, the parameter storage unit 14, and the parameter update unit 16 can be applied to the outside information detection unit 7400 of the application example shown in FIG.
- the information acquisition unit 11-1 can be applied to the imaging unit 7410
- the information acquisition unit 11-2 can be applied to the vehicle outside information detection unit 7420.
- Accuracy can be increased. Therefore, for example, it is possible to acquire information necessary for reducing driver fatigue and automatic driving with high accuracy.
- the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both.
- a program in which a processing sequence is recorded is installed and executed in a memory in a computer incorporated in dedicated hardware.
- the program can be installed and executed on a general-purpose computer capable of executing various processes.
- the program can be recorded in advance on a hard disk, SSD (Solid State Drive), or ROM (Read Only Memory) as a recording medium.
- the program is a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical disc), a DVD (Digital Versatile Disc), a BD (Blu-Ray Disc (registered trademark)), a magnetic disk, or a semiconductor memory card. It can be stored (recorded) in a removable recording medium such as temporarily or permanently. Such a removable recording medium can be provided as so-called package software.
- the program may be transferred from the download site to the computer wirelessly or by wire via a network such as a LAN (Local Area Network) or the Internet.
- the computer can receive the program transferred in this way and install it on a recording medium such as a built-in hard disk.
- the calibration apparatus of the present technology can be configured as follows. (1) Point cloud data related to feature points of a peripheral object generated based on peripheral object information acquired by a plurality of information acquisition units, and the peripheral object and the information acquisition unit when the peripheral object information is acquired A calibration apparatus including a calibration processing unit that calculates parameters related to positions and orientations of the plurality of information acquisition units using weights according to situations. (2) The calibration processing unit uses the point cloud data acquired by the plurality of information acquisition units, the weights, and the parameters stored in advance for the feature points, and the cost indicating the error of the parameters. The calibration device according to (1), wherein the calibration is performed and a parameter that minimizes the error is calculated based on the calculated cost.
- the calibration device (3) The calibration device according to (2), wherein the peripheral object information is acquired a plurality of times within a predetermined period.
- the calibration processing unit sets the weight according to the moving speed for each acquisition of the peripheral object information in the moving object provided with the plurality of information acquiring units, and the moving speed increases.
- the calibration device according to (3), wherein the weight is reduced.
- the predetermined period is a preset period from the start of movement of the mobile object provided with the plurality of information acquisition units, or a preset period from the end of movement to (3) to (5)
- the calibration device according to any one of the above.
- the calibration processing unit sets the weight according to the distance from the plurality of information acquisition units to the feature point, and decreases the weight as the distance increases (2) to (6)
- the parameter update unit updates the parameter from when the moving body provided with the plurality of information acquisition units is stopped or from the end of movement to the start of the next movement. apparatus.
- An information acquisition unit that acquires a captured image of the peripheral object as the peripheral object information, and a distance sensor to measure the distance to each position of the peripheral object, and the measurement result is used as the peripheral object information.
- Registration processing is performed on the measurement result of the distance to each position of the peripheral object acquired by the information acquisition unit, and point cloud data for each position of the peripheral object is used as point cloud data for each feature point
- the calibration device according to (10), wherein an information acquisition unit that acquires a captured image of the peripheral object as the peripheral object information is provided as the plurality of information acquisition units.
- Feature point detection is performed using the captured image of the peripheral object acquired by the information acquisition unit, and point cloud data for each feature point is generated by registration processing for the detected feature point of the peripheral object (10)
- the point cloud data related to the feature points of the peripheral object generated based on the peripheral object information acquired by the plurality of information acquisition units, and the peripheral object information are acquired.
- Parameters relating to the positions and orientations of the plurality of information acquisition units are calculated using weights according to the situation of the peripheral object and the information acquisition unit. Therefore, calibration can be performed stably. For this reason, it is suitable for devices that recognize peripheral objects based on information acquired by a plurality of information acquisition units, for example, devices such as automobiles and flying objects.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
情報取得部11-1,11-2(11-2a)は周辺物体情報を取得して、情報処理部12-1,12-2(12-2a)は、周辺物体情報に基づき周辺物体の特徴点に関する点群データを生成する。重み設定部13は、周辺物体情報を取得したときの周辺物体と情報取得部との状況に応じた重みを設定する。キャリブレーション処理部15は、点群データと重みとパラメータ記憶部14に記憶された外部パラメータを用いて、外部パラメータの誤差を示すコストに基づき、誤差が最小となる新たな外部パラメータを算出する。パラメータ更新部16は、算出された新たな外部パラメータを用いて、パラメータ記憶部14に記憶された外部パラメータを更新する。パラメータ記憶部14には、精度の高い外部パラメータが記憶されるようになるので、安定してキャリブレーションを行うことができる。
Description
この技術は、キャリブレーション装置とキャリブレーション方法およびプログラムに関し、安定したキャリブレーションを行えるようにする。
従来、測距装置を用いて周辺領域の物体を認識することが行われている。例えば特許文献1では、構造物までの距離を計測する距離計測センサと距離計測センサの3次元位置を計測するセンサ位置計測装置を移動体に設けて、距離計測センサの計測結果とセンサ位置計測装置の計測結果を用いて、構造物の3次元位置が算出されている。また、距離計測センサの取り付け位置および取り付け姿勢についてキャリブレーションが行われている。
ところで、周辺領域の物体を認識するために用いられるセンサは、特許文献1に示す距離計測センサに限られない。例えば撮像装置を用いて、撮像装置で取得された撮像画に基づいて三次元計測等が行われている。撮像画に基づく三次元計測では、例えば相対的な位置及び姿勢が既知な2台の撮像装置で取得された撮像画をもとに三角測量の原理を利用して三次元計測が行われている。また、三次元計測の信頼性を高めるために、撮像装置だけでなく測距装置も用いられている。このように、複数の撮像装置あるいは撮像装置と測距装置を用いて三次元計測を行うためには、撮像装置間や撮像装置と測距装置との間の相対的な位置及び姿勢を事前にキャリブレーションしておく必要がある。しかし、測距装置で取得された点群データと撮像画から検出した特徴点に基づく点群データを用いてキャリブレーションを行う場合、遠方の物体に焦点をあわせると近景の物体の画像がボケを生じるおそれや、物体が遠方になるに伴い測距装置の測距精度が低下するおそれがある。したがって、キャリブレーションを安定して行うことができない。また、撮像装置と測距装置が非同期であると移動速度が速い場合に観測点の位置の差が大きくなってしまう場合があり、キャリブレーションを安定して行うことができない。
そこで、この技術では、安定してキャリブレーションを行うことができるキャリブレーション装置とキャリブレーション方法およびプログラムを提供することを目的とする。
この技術の第1の側面は、
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出するキャリブレーション処理部
を備えるキャリブレーション装置にある。
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出するキャリブレーション処理部
を備えるキャリブレーション装置にある。
この技術において、複数の情報取得部は、所定期間例えば複数の情報取得部が設けられた移動体の移動開始から予め設定された期間、または移動終了までの予め設定された期間に周辺物体情報が複数回取得される。また、複数の情報取得部は、周辺物体情報として少なくとも周辺物体の撮像画を取得するように構成されている。例えば情報取得部は、周辺物体の撮像画を取得する複数の情報取得部、あるいは周辺物体の撮像画を取得する情報取得部と測距センサを用いて周辺物体の各位置までの距離を測定して測定結果を周辺物体情報とする情報取得部で構成されている。情報処理部は、情報取得部で取得された周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、周辺物体の位置毎の点群データを特徴点毎の点群データとして生成する。また、情報処理部は、情報取得部で取得された周辺物体の撮像画を用いて特徴点検出を行い、検出した周辺物体の特徴点についてのレジストレーション処理によって、特徴点毎の点群データを生成する。
キャリブレーション処理部は、周辺物体の特徴点に関する点群データと、周辺物体情報を取得したときの周辺物体と情報取得部との状況に関する重みと予め記憶されている複数の情報取得部の位置と姿勢に関するパラメータ(外部パラメータ)を用いて、新たな外部パラメータを算出する。周辺物体と情報取得部との状況に関する重みとしては、周辺物体と情報取得部との相対速度や距離、特徴点の動きベクトルを用いる。キャリブレーション処理部は、複数の情報取得部が設けられた移動体の周辺物体情報の取得毎の移動速度に応じて重みの設定を行い、移動速度が速くなるに伴い重みを小さくする。また、キャリブレーション処理部は、周辺物体と情報取得部との距離に応じて重みの設定を行い、距離が長くなるに伴い重みを小さくする。さらに、重みの設定では、特徴点の動きベクトルに応じて重みの設定を行い、動きベクトルが大きくなるに伴い重みを小さくする。キャリブレーション処理部は、重みと点群データと予め記憶されているパラメータを用いて、該パラメータの誤差を示すコストの算出を周辺物体情報の取得毎に行い、取得毎のコストの累積値に基づき、誤差が最小となる新たなパラメータを算出する。さらに、パラメータ更新部は、複数の情報取得部が設けられた移動体の移動停止時または移動終了時から次の移動開始までに、記憶されているパラメータをキャリブレーション処理部で算出されたパラメータに更新する。
この技術の第2の側面は、
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータをキャリブレーション処理部で算出すること
を含むキャリブレーション方法にある。
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータをキャリブレーション処理部で算出すること
を含むキャリブレーション方法にある。
この技術の第3の側面は、
キャリブレーションをコンピュータで行うためのプログラムであって、
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データを取得する手順と、
前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出する手順と
を前記コンピュータで実行させるプログラムにある。
キャリブレーションをコンピュータで行うためのプログラムであって、
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データを取得する手順と、
前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出する手順と
を前記コンピュータで実行させるプログラムにある。
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
この技術によれば、複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、周辺物体情報を取得したときの周辺物体と情報取得部との状況に応じた重みを用いて、複数の情報取得部間の外部パラメータが算出される。このため、安定してキャリブレーションを行うことができるようになる。なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.キャリブレーション装置の構成
2.第1の実施の形態
3.第2の実施の形態
4.第3の実施の形態
5.第4の実施の形態
6.第5の実施の形態
7.第6の実施の形態
8.他の実施の形態
9.応用例
1.キャリブレーション装置の構成
2.第1の実施の形態
3.第2の実施の形態
4.第3の実施の形態
5.第4の実施の形態
6.第5の実施の形態
7.第6の実施の形態
8.他の実施の形態
9.応用例
<1.キャリブレーション装置の構成>
図1は、本技術のキャリブレーション装置の構成を例示している。キャリブレーション装置10は、複数の情報取得部11-1,11-2(2a)と情報処理部12-1,12-2(2a)、重み設定部13、パラメータ記憶部14、キャリブレーション処理部15、およびパラメータ更新部16を用いて構成されている。なお、キャリブレーション装置10は、図1に示すブロックが一体に設けられる場合に限らず、一部のブロックが別個に設けられた構成であってもよい。
図1は、本技術のキャリブレーション装置の構成を例示している。キャリブレーション装置10は、複数の情報取得部11-1,11-2(2a)と情報処理部12-1,12-2(2a)、重み設定部13、パラメータ記憶部14、キャリブレーション処理部15、およびパラメータ更新部16を用いて構成されている。なお、キャリブレーション装置10は、図1に示すブロックが一体に設けられる場合に限らず、一部のブロックが別個に設けられた構成であってもよい。
情報取得部11-1~-2(2a)は、周辺物体情報を取得する。周辺物体情報とは、周辺物体の特徴点に関する情報を取得可能とする情報であり、例えば周辺物体を撮像した撮像画や周辺物体の各位置までの測距データ等である。情報処理部12-1は、情報取得部11-1で取得された周辺物体情報に基づき、周辺物体における特徴点の点群データを生成してキャリブレーション処理部15へ出力する。同様に、情報処理部12-2(2a)は、情報取得部11-2(2a)で取得された周辺物体情報に基づき、周辺物体における特徴点の点群データを生成してキャリブレーション処理部15へ出力する。
重み設定部13は、キャリブレーションの精度に影響を与える周辺物体と情報取得部との状況に応じた重みを設定する。重み設定部13は、設定した重みをキャリブレーション処理部15へ出力する。
パラメータ記憶部14は、複数の情報取得部の位置と姿勢に関するパラメータ(以下「外部パラメータ」という)を保持している。パラメータ記憶部14は、保持している外部パラメータをキャリブレーション処理部15へ出力する。また、パラメータ記憶部14は、パラメータ更新部16から外部パラメータが供給された場合、保持している外部パラメータをパラメータ更新部16から供給された外部パラメータに更新する。
キャリブレーション処理部15は、情報処理部12-1,12-2(2a)から供給された所定期間の点群データと、重み設定部13で設定された重みと、パラメータ記憶部14から取得した外部パラメータを用いて、外部パラメータの誤差に応じたコストを、コスト関数に基づいて算出する。また、キャリブレーション処理部15は、所定期間のコストの累積値が最小となる新たな外部パラメータを算出してパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15で算出した新たな外部パラメータをパラメータ記憶部14へ出力することで、パラメータ記憶部14には安定してキャリブレーションを行うことができる外部パラメータを保持させる。
<2.第1の実施の形態>
次に第1の実施の形態について説明する。図2は、第1の実施の形態の構成を例示している。第1の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成して、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況に応じた重みを設定する。重み設定部13は、周辺物体と情報取得部との状況として移動速度を用いる。ここで、移動速度とは例えば周辺物体に対する情報取得部11-1,11-2の移動速度とする。
次に第1の実施の形態について説明する。図2は、第1の実施の形態の構成を例示している。第1の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成して、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況に応じた重みを設定する。重み設定部13は、周辺物体と情報取得部との状況として移動速度を用いる。ここで、移動速度とは例えば周辺物体に対する情報取得部11-1,11-2の移動速度とする。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2は取得した点群データを情報処理部12-2へ出力する。
情報処理部12-1は、SfM(Structure from Motion)処理を行う。SfM処理では、情報取得部11-1で取得された時間順である複数の撮像画から検出した周辺物体の特徴点についてのレジストレーション処理によって特徴点毎の点群データ例えば特徴点毎に距離を示す点群データを生成する。情報処理部12-1は、生成した点群データをキャリブレーション処理部15へ出力する。
情報処理部12-2は、情報取得部11-1で取得された周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、周辺物体の位置毎の点群データを特徴点毎の点群データとして生成してキャリブレーション処理部15へ出力する。
重み設定部13は、移動速度取得部131と重み設定処理部132を有している。移動速度取得部131は、移動体の移動速度を検出可能なセンサ等を用いて構成されている。例えば移動体が車両である場合、移動速度取得部131は車速検出センサを用いて構成されており、検出した移動速度を示す速度情報を重み設定処理部132へ出力する。
重み設定処理部132は、移動速度取得部131で取得された移動速度に応じて重みの設定を行う。ここで、移動速度が速くなると、情報取得部11-1と情報取得部11-2が非同期で撮像画や点群データを取得する場合、周辺物体の位置は撮像画で示される位置と点群データで示される位置の差が大きくなる場合がある。そこで、重み設定処理部132は、移動速度が速くなるに伴い重みを小さくする。図3は、速度と重みの関係を例示しており、重み設定処理部132は、取得した移動速度Vspに応じて重みWspを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、例えば情報取得部11-1,11-2間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2から供給された所定期間の点群データのレジストレーションを行い、同じ特徴点の点群データを同一座標系のデータとする。さらに、キャリブレーション処理部15は、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、所定期間のコストの累積値が最小となる新たな外部パラメータを算出する。所定期間とは、例えば情報取得部11-1,11-2が車両に設けられている場合、車両の走行開始から予め設定された期間とする。また、車両の走行終了までの予め設定された期間であってもよい。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2から供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間に関するインデックス(以下「時間インデックス」という)であり、「i」は特徴点に関するインデックス(以下「特徴点インデックス」という)である。また、外部パラメータを並進パラメータTと回転パラメータRとする。なお、並進パラメータTは、情報取得部11-1と情報取得部11-2の位置に関するパラメータであり、回転パラメータRは、情報取得部11-1と情報取得部11-2の姿勢に関するパラメータである。
図4は、特徴点を例示しており、図4の(a)は情報取得部11-1で取得された特徴点、図4の(b)は情報取得部11-2で取得された特徴点を例示している。特徴点は、時間インデックスt=1~mに対応する時間で取得されている。また、特徴点として、例えば特徴点インデックスi=1~nで示す特徴点が取得されている。さらに、時間インデックス間で対応する特徴点は、特徴点インデックスiを等しい値としている。
キャリブレーション処理部15は、重み設定部13で設定された時間インデックス毎の重みWsp(t)を用いて、式(1)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小となる並進パラメータTと回転パラメータRを算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータ(並進パラメータと回転パラメータ)を所定のタイミングで更新する。例えば、情報取得部11-1,11-2が車両に設けられており、車両の走行開始から予め設定された所定期間に取得された周辺物体情報を用いて新たな外部パラメータが算出されたとする。この場合、その後に車両が停止状態となったタイミングでパラメータ記憶部14に記憶されている外部パラメータを新たに算出された外部パラメータで更新する。また、車両の走行終了までの予め設定された所定期間に取得された周辺物体情報を用いて新たな外部パラメータが算出されたとする。この場合、車両が走行終了状態であるから、直ちにあるいは次の走行開始までの期間中に、パラメータ記憶部14に記憶されている外部パラメータを新たに算出された外部パラメータで更新する。
図5は、第1の実施の形態の動作を例示したフローチャートである。ステップST1でキャリブレーション装置は画像取得処理を行う。キャリブレーション装置の情報取得部11-1は、周辺物体情報として撮像画を取得してステップST2に進む。
ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行う。キャリブレーション装置の情報処理部12-1は、ステップST1で取得した撮像画から画像の特徴を現す特徴点(例えばエッジやコーナ等)を検出してステップST3に進む。
ステップST3でキャリブレーション装置はマッチング処理を行う。キャリブレーション装置の情報処理部12-1は、撮像時刻が異なる撮像画間で特徴点のマッチング処理を行い、撮像画における特徴点が他の撮像画における何れの特徴点に対応するか検出してステップST4に進む。
ステップST4でキャリブレーション装置はレジストレーション処理を行う。キャリブレーション装置の情報処理部12-1は、ステップST3の検出結果に基づき対応する特徴点の画像上の位置関係を検出してステップST5に進む。
ステップST5でキャリブレーション装置は三角測量処理を行う。キャリブレーション装置の情報処理部12-1は、撮像時刻が異なる撮像画間でマッチングする特徴点の画像上の位置関係を利用して特徴点までの距離を算出する。また、情報処理部12-1は、特徴点毎の距離を点群データとしてステップST41に進む。なお、SfM処理は、ステップST2乃至ステップST5までの処理に限らず、図示されていない処理例えばバンダル調整等が含まれてもよい。
ステップST11でキャリブレーション処理は測距情報取得処理を行う。キャリブレーション装置の情報取得部11-2は、周辺物体情報として、情報取得部11-1による撮像範囲の各点の測距結果を示す点群データを取得してステップST12に進む。
ステップST12でキャリブレーション装置はレジストレーション処理を行う。キャリブレーション装置の情報処理部12-2は、ステップST11で得られた時間毎の点群データから対応する点の点群データを検出してステップST41に進む。
ステップST31でキャリブレーション装置は移動速度取得処理を行う。キャリブレーション装置の重み設定部13は、移動速度取得部131と重み設定処理部132を有している。移動速度取得部131は、例えば車速検出センサから、情報取得部11-1,11-2が設けられている移動体の移動速度を示す速度情報を取得してステップST32に進む。
ステップST32でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST31で取得した速度情報に基づき重みを設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST5の処理で得られた点群データとステップST11乃至ST12の処理で得られた点群データとの対応関係を判別して、上述の式(1)に示すように、対応する点群データとステップST32で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる外部パラメータすなわち並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第1の実施の形態によれば、移動速度が速い区間のコストは重みが小さくされる。図6は第1の実施の形態の動作例を示す図である。例えば、情報取得部11-1,11-2が等しい向きで移動体の側面に固定されている場合、移動体の前方向の移動速度が遅いと特徴点の位置変化は小さいが、移動速度が速いと特徴点の位置変化が大きい。したがって、情報取得部11-1で撮像画を取得するタイミングと情報取得部11-2で周辺物体情報を取得するタイミングに差δを生じた場合、移動速度が遅いと特徴点の位置差は少ないが、移動速度が速くなるに伴い特徴点の位置差が大きくなる。このため、移動速度が低速である速度V1であるときの時間インデックスt=a,t=dの重みWsp(t=a),Wsp(t=d)は、移動速度が中速である速度V2(V1<V2)であるときの時間インデックスt=bの重みWsp(t=b)よりも大きくする。また、移動速度が高速である速度V3(V2<V3)であるときの時間インデックスt=cの重みWsp(t=c)は、重みWsp(t=b)よりも小さくする。
このように、第1の実施の形態によれば移動速度が速くなるに伴い重みが小さくされるので、キャリブレーションにおける観測点の誤差(観測点の位置差)の影響を少なくできる。このため、速度に応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<3.第2の実施の形態>
次に第2の実施の形態について説明する。図7は、第2の実施の形態の構成を例示している。第2の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成することで、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況として距離を用いる。ここで、距離とは例えば周辺物体の各点までの距離とする。
次に第2の実施の形態について説明する。図7は、第2の実施の形態の構成を例示している。第2の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成することで、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況として距離を用いる。ここで、距離とは例えば周辺物体の各点までの距離とする。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2は取得した点群データを情報処理部12-2へ出力する。
情報処理部12-1は、SfM(Structure from Motion)処理を行い、情報取得部11-1で取得された時間順である複数の撮像画から検出した特徴点毎の点群データを生成してキャリブレーション処理部15へ出力する。また、情報処理部12-1は、特徴点毎の距離を重み設定部13へ出力する。
情報処理部12-2は、情報取得部11-1で取得された周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、周辺物体の位置毎の点群データを特徴点毎の点群データとして生成してキャリブレーション処理部15へ出力する。
重み設定部13は、重み設定処理部133を有している。重み設定処理部133は、情報処理部12-1から取得した特徴点毎の距離に応じて重みの設定を行う。ここで、距離が長くなると測距精度が低下するおそれがあることから、重み設定処理部133は、距離が長くなるに伴い重みを小さくする。図8は、距離と重みの関係を例示しており、重み設定処理部133は、取得した距離Ldistに応じて重みWdistを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、例えば情報取得部11-1,11-2間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2から供給された所定期間の点群データのレジストレーションを行い、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、第1の実施の形態と同様に、所定期間のコストの累積値が最小となる新たな外部パラメータを算出する。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2から供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間インデックスであり、「i」は特徴点インデックスである。また、外部パラメータを並進パラメータTと回転パラメータRとする。
キャリブレーション処理部15は、重み設定部13で設定された特徴点インデックスiの特徴点についての重みWdist(i)を用いて、式(2)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小となる並進パラメータTと回転パラメータRを算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14の外部パラメータを第1の実施の形態と同様に所定のタイミングで更新する。
図9は、第2の実施の形態の動作を例示したフローチャートである。なお、ステップST1乃至ステップST12の処理は、第1の実施の形態と同様である。
ステップST1でキャリブレーション装置は画像取得処理を行いステップST2に進む。ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST3に進む。ステップST3でキャリブレーション装置はマッチング処理を行いステップST4に進む。ステップST4でキャリブレーション装置はレジストレーション処理を行いステップST5に進む。ステップST5でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST11でキャリブレーション処理は測距情報取得処理を行いステップST12に進む。ステップST12でキャリブレーション装置はレジストレーション処理を行う。情報処理部12-2は、ステップST11で得られた時間毎の点群データから対応する点の点群データを検出してステップST41に進む。
ステップST33でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST5で算出した距離に応じて重みを設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST5の処理で得られた点群データとステップST11乃至ST12の処理で得られた点群データとの対応関係を判別して、上述の式(2)に示すように、対応する点群データとステップST33で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第2の実施の形態によれば、距離が離れている特徴点のコストは重みが小さくされる。図10は第2の実施の形態の動作例を示す図である。特徴点インデックスi=a,b,c,dで示される特徴点について距離が「a<b<c<d」である場合、特徴点インデックスi=aに対する重みWdist(i=a)は、他の特徴点インデックスよりも大きい値とされる。また、特徴点インデックスi=bに対する重みWdist(i=b)は、特徴点インデックスi=aに対する重みWdist(i=a)よりも小さく、特徴点インデックスi=dに対する重みWdist(i=d)より大きい値とされる。特徴点インデックスi=cに対する重みWdist(i=c)は、他の特徴点インデックスよりも小さい値とされる。さらに、特徴点インデックスi=dに対する重みWdist(i=d)は、特徴点インデックスi=bに対する重みWdist(i=b)よりも小さく、特徴点インデックスi=cに対する重みWdist(i=c)より大きい値とされる。
このように、第2の実施の形態では距離が長くなるに伴い重みが小さくされる。したがって、測距精度の低下の影響が少なくなり、距離に応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<4.第3の実施の形態>
次に第3の実施の形態について説明する。図11は、第3の実施の形態の構成を例示している。第3の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成することで、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況として特徴点毎の動きベクトルを用いる。
次に第3の実施の形態について説明する。図11は、第3の実施の形態の構成を例示している。第3の実施の形態では、2つの情報取得部11-1,11-2を用いる。情報取得部11-1は、撮像装置を用いて構成することで撮像画を取得する。情報取得部11-2は、測距装置例えばTOF(Time of Flight)カメラやLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)等を用いて構成することで、測距値を示す点群データを取得する。また、重み設定部13は、周辺物体と情報取得部との状況として特徴点毎の動きベクトルを用いる。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2は取得した点群データを情報処理部12-2へ出力する。
情報処理部12-1は、SfM(Structure from Motion)処理を行い、情報取得部11-1で取得された時間順である複数の撮像画から検出した特徴点毎の点群データを生成してキャリブレーション処理部15へ出力する。また、情報処理部12-1は、検出した特徴点を重み設定部13へ出力する。
情報処理部12-2は、情報取得部11-1で取得された周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、周辺物体の位置毎の点群データを特徴点毎の点群データとして生成してキャリブレーション処理部15へ出力する。
重み設定部13は、特徴点保持部134と動きベクトル算出部135と重み設定処理部136を有している。特徴点保持部134は、情報処理部12-1で検出した特徴点を記憶する。また、記憶している特徴点を動きベクトル算出部135へ出力する。動きベクトル算出部135は、特徴点保持部134に記憶されている特徴点と、その後に情報処理部12-1で検出した特徴点であって、記憶されている特徴点と対応する特徴点の画像上の位置から、特徴点毎に動きベクトルを算出して重み設定処理部136へ出力する。重み設定処理部136は動きベクトル算出部135で算出された動きベクトルに応じて重みの設定を行う。ここで、動きベクトルが大きくなると動きベクトルが小さい場合に比べて測距精度が低下しているおそれがあるため、重み設定処理部136は、動きベクトルが大きくなるに伴い重みを小さくする。図12は、動きベクトルの大きさ(ノルム)と重みの関係を例示しており、重み設定処理部136は、動きベクトル算出部135で算出された動きベクトルMVflowに応じて重みWflowを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、例えば情報取得部11-1,11-2間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2から供給された所定期間の点群データのレジストレーションを行い、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、コストが最小となる新たな外部パラメータを算出する。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2から供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間インデックスであり、「i」は特徴点インデックスである。また、外部パラメータを並進パラメータTと回転パラメータRとする。
キャリブレーション処理部15は、重み設定部13で設定された特徴点インデックスiの特徴点についての重みWflow(i)を用いて、式(3)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小となる並進パラメータTと回転パラメータRを算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14の外部パラメータを所定のタイミングで更新する。
図13は、第3の実施の形態の動作を例示したフローチャートである。なお、ステップST1乃至ステップST12の処理は、第1の実施の形態と同様である。
ステップST1でキャリブレーション装置は画像取得処理を行いステップST2に進む。ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST3に進む。ステップST3でキャリブレーション装置はマッチング処理を行いステップST4に進む。ステップST4でキャリブレーション装置はレジストレーション処理を行いステップST5に進む。ステップST5でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST11でキャリブレーション処理は測距情報取得処理を行いステップST12に進む。ステップST12でキャリブレーション装置はレジストレーション処理を行う。情報処理部12-2は、ステップST11で得られた時間毎の点群データから対応する点の点群データを検出してステップST41に進む。
ステップST34でキャリブレーション装置は動きベクトル算出処理を行う。キャリブレーション装置の重み設定部13は、ステップST2で検出されて特徴点保持部134に記憶された特徴点と、その後の撮像画から検出された対応する特徴点に基づき動きベクトルを動きベクトル算出部135で算出してステップST35に進む。
ステップST35でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST34で検出した動きベクトルに応じて重みを重み設定処理部136で設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST5の処理で得られた点群データとステップST11乃至ST12の処理で得られた点群データとの対応関係を判別して、上述の式(3)に示すように、対応する点群データとステップST35で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第3の実施の形態によれば、動きベクトルが大きい特徴点は重みが小さくされるので、動きによる影響が少なくなり、動きベクトルに応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<5.第4の実施の形態>
次に第4の実施の形態について説明する。上述の第1の実施の形態では撮像装置と測距装置を用いて、速度に応じた重みを用いてキャリブレーションを行っているが、第4の実施の形態では複数の撮像装置を用いて、速度に応じた重みを用いてキャリブレーションを行う。
次に第4の実施の形態について説明する。上述の第1の実施の形態では撮像装置と測距装置を用いて、速度に応じた重みを用いてキャリブレーションを行っているが、第4の実施の形態では複数の撮像装置を用いて、速度に応じた重みを用いてキャリブレーションを行う。
図14は、第4の実施の形態の構成を例示しており、第4の実施の形態では、2つの情報取得部11-1,11-2aを用いる。情報取得部11-1,11-2aは、撮像装置を用いて構成することで撮像画を取得する。重み設定部13は、第1の実施の形態と同様に、移動速度に応じて重みを設定する。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2aは取得した撮像画を情報処理部12-2aへ出力する。
情報処理部12-1,12-2aは、SfM(Structure from Motion)処理を行い、時間順である複数の撮像画から撮像画毎に特徴点を検出して、検出した特徴点から時間方向に対応する特徴点を特徴点毎に示す点群データを生成してキャリブレーション処理部15へ出力する。
重み設定部13は、移動速度取得部131と重み設定処理部132を有している。移動速度取得部131は、移動体の移動速度を検出可能なセンサ等を用いて構成されている。例えば移動体が車両である場合、移動速度取得部131は車速検出センサを用いて構成されており、検出した移動速度を示す速度情報を重み設定処理部132へ出力する。
重み設定処理部132は、移動速度取得部131で取得された移動速度に応じて重みの設定を行う。ここで、移動速度が速くなると、情報取得部11-1と情報取得部11-2aが非同期で撮像画を取得する場合、周辺物体の位置は撮像画間の差が大きくなる場合がある。そこで、重み設定処理部132は、移動速度が速くなるに伴い重みを小さくする。重み設定処理部132は、第1の実施の形態と同様に、例えば図3に示す速度と重みの関係に基づき、取得した移動速度Vspに応じて重みWspを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、情報取得部11-1,11-2a間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2aから供給された所定期間の点群データのレジストレーションを行い、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、コストが最小となる新たな外部パラメータを算出する。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2aから供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間インデックスであり、「i」は特徴点インデックスである。また、外部パラメータを並進パラメータTと回転パラメータRとする。
キャリブレーション処理部15は、重み設定部13で設定された時間インデックス毎の重みWsp(t)を用いて、式(4)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小でない場合は、コストEが最小となる並進パラメータTと回転パラメータRを新たに算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14の外部パラメータを所定のタイミングで更新する。
図15は、第4の実施の形態の動作を例示したフローチャートである。ステップST1でキャリブレーション装置は画像取得処理を行い、情報取得部11-1から撮像画を取得してステップST2に進む。ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST3に進む。ステップST3でキャリブレーション装置はマッチング処理を行いステップST4に進む。ステップST4でキャリブレーション装置はレジストレーション処理を行いステップST5に進む。ステップST5でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST21でキャリブレーション装置は画像取得処理を行い、情報取得部11-2aから撮像画を取得してステップST22に進む。ステップST22でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST23に進む。ステップST23でキャリブレーション装置はマッチング処理を行いステップST24に進む。ステップST24でキャリブレーション装置はレジストレーション処理を行いステップST25に進む。ステップST25でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST31でキャリブレーション装置は移動速度取得処理を行う。キャリブレーション装置の重み設定部13は、移動速度取得部131と重み設定処理部132を有している。移動速度取得部131は、例えば車速検出センサから、情報取得部11-1,11-2aが設けられている移動体の移動速度を示す速度情報を取得してステップST32に進む。
ステップST32でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST31で取得した速度情報に基づき重みを設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST4の処理で得られた点群データとステップST21乃至ST25の処理で得られた点群データとの対応関係を判別して、上述の式(4)に示すように、対応する点群データとステップST32で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第4の実施の形態によれば、複数の撮像装置を用いた場合にも、移動速度が速い区間のコストは重みが小さくされる。したがって、第1の実施の形態と同様に、速度に応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<6.第5の実施の形態>
次に第5の実施の形態について説明する。上述の第2の実施の形態では撮像装置と測距装置を用いて、周辺物体までの距離に応じた重みを用いてキャリブレーションを行っているが、第5の実施の形態では複数の撮像装置を用いて、周辺物体までの距離に応じた重みを用いてキャリブレーションを行う。
次に第5の実施の形態について説明する。上述の第2の実施の形態では撮像装置と測距装置を用いて、周辺物体までの距離に応じた重みを用いてキャリブレーションを行っているが、第5の実施の形態では複数の撮像装置を用いて、周辺物体までの距離に応じた重みを用いてキャリブレーションを行う。
図16は、第5の実施の形態の構成を例示しており、第5の実施の形態では、2つの情報取得部11-1,11-2aを用いる。情報取得部11-1,11-2aは、撮像装置を用いて構成することで撮像画を取得する。重み設定部13は、第2の実施の形態と同様に、距離に応じて重みを設定する。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2aは取得した撮像画を情報処理部12-2aへ出力する。
情報処理部12-1,12-2aは、SfM(Structure from Motion)処理を行い、時間順である複数の撮像画から撮像画毎に特徴点を検出して、検出した特徴点から時間方向に対応する特徴点を特徴点毎に示す点群データを生成してキャリブレーション処理部15へ出力する。
重み設定部13は、重み設定処理部133を有している。重み設定処理部133は、情報処理部12-1から取得した特徴点毎の距離に応じて重みの設定を行う。ここで、距離が長くなると測距精度が低下するおそれがあることから、重み設定処理部133は、距離が長くなるに伴い重みを小さくする。重み設定処理部133は、第2の実施の形態と同様に、例えば図8に示す距離と重みの関係に基づき、取得した距離Ldistに応じて重みWdistを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、情報取得部11-1,11-2a間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2aから供給された所定期間の点群データのレジストレーションを行い、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、所定期間のコストが最小となる新たな外部パラメータを算出する。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2aから供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間インデックスであり、「i」は特徴点インデックスである。また、外部パラメータを並進パラメータTと回転パラメータRとする。
キャリブレーション処理部15は、重み設定部13で設定された特徴点インデックスiの特徴点についての重みWdist(i)を用いて、式(5)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小となる並進パラメータTと回転パラメータRを算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14の外部パラメータを所定のタイミングで更新する。
図17は、第5の実施の形態の動作を例示したフローチャートである。ステップST1でキャリブレーション装置は画像取得処理を行い、情報取得部11-1から撮像画を取得してステップST2に進む。ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST3に進む。ステップST3でキャリブレーション装置はマッチング処理を行いステップST4に進む。ステップST4でキャリブレーション装置はレジストレーション処理を行いステップST5に進む。ステップST5でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST21でキャリブレーション装置は画像取得処理を行い、情報取得部11-2aから撮像画を取得してステップST22に進む。ステップST22でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST23に進む。ステップST23でキャリブレーション装置はマッチング処理を行いステップST24に進む。ステップST24でキャリブレーション装置はレジストレーション処理を行いステップST25に進む。ステップST25でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST33でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST5で算出した距離に応じて重みを設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST5の処理で得られた点群データとステップST21乃至ST25の処理で得られた点群データとの対応関係を判別して、上述の式(5)に示すように、対応する点群データとステップST33で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる外部パラメータすなわち並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第5の実施の形態によれば、複数の撮像装置を用いた場合にも、距離が離れている特徴点のコストは重みが小さくされる。したがって、第2の実施の形態と同様に、距離に応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<7.第6の実施の形態>
次に第6の実施の形態について説明する。上述の第3の実施の形態では撮像装置と測距装置を用いて、動きベクトルに応じた重みを用いてキャリブレーションを行っているが、第6の実施の形態では複数の撮像装置を用いて、動きベクトルに応じた重みを用いてキャリブレーションを行う。
次に第6の実施の形態について説明する。上述の第3の実施の形態では撮像装置と測距装置を用いて、動きベクトルに応じた重みを用いてキャリブレーションを行っているが、第6の実施の形態では複数の撮像装置を用いて、動きベクトルに応じた重みを用いてキャリブレーションを行う。
図18は、第6の実施の形態の構成を例示しており、第6の実施の形態では、2つの情報取得部11-1,11-2aを用いる。情報取得部11-1,11-2aは、撮像装置を用いて構成することで撮像画を取得する。重み設定部13は、第3の実施の形態と同様に、動きベクトルに応じて重みを設定する。
情報取得部11-1は、取得した撮像画を情報処理部12-1へ出力して、情報取得部11-2aは取得した撮像画を情報処理部12-2aへ出力する。
情報処理部12-1,12-2aは、SfM(Structure from Motion)処理を行い、時間順である複数の撮像画から撮像画毎に特徴点を検出して、検出した特徴点から時間方向に対応する特徴点を特徴点毎に示す点群データを生成してキャリブレーション処理部15へ出力する。
重み設定部13は、特徴点保持部134と動きベクトル算出部135と重み設定処理部136を有している。特徴点保持部134は、情報処理部12-1で検出した特徴点を記憶する。また、記憶した特徴点を動きベクトル算出部135へ出力する。動きベクトル算出部135は、特徴点保持部134に記憶されている特徴点と、その後に情報処理部12-1で検出した特徴点であって、記憶されている特徴点と対応する特徴点の画像上の位置から、特徴点毎に動きベクトルを算出して重み設定処理部136へ出力する。重み設定処理部136は動きベクトル算出部135で算出された動きベクトルに応じて重みの設定を行う。ここで、動きベクトルが大きくなると動きベクトルが小さい場合に比べて測距精度が低下するおそれがあることから、重み設定処理部136は、動きベクトルが大きくなるに伴い重みを小さくする。重み設定処理部136は、第3の実施の形態と同様に、図12に示す動きベクトルの大きさと重みの関係に基づき、動きベクトル算出部135で算出された動きベクトルMVflowに応じて重みWflowを設定して、キャリブレーション処理部15へ出力する。
パラメータ記憶部14は、情報取得部11-1,11-2a間の外部パラメータが記憶されており、記憶されている外部パラメータは、パラメータ更新部16によって更新可能とされている。
キャリブレーション処理部15は、情報処理部12-1,12-2aから供給された所定期間の点群データのレジストレーションを行い、レジストレーション後の点群データと重み設定部13で設定された重みとパラメータ記憶部14に記憶されている外部パラメータを用いて、コストが最小となる新たな外部パラメータを算出する。
ここで、情報処理部12-1から供給された点群データのレジストレーション後のデータを点群データCa(i,t)、情報処理部12-2aから供給された点群データのレジストレーション後のデータを点群データL(i,t)とする。なお、「t」は時間インデックスであり、「i」は特徴点インデックスである。また、外部パラメータを並進パラメータTと回転パラメータRとする。
キャリブレーション処理部15は、重み設定部13で設定された特徴点インデックスiの特徴点についての重みWflow(i)を用いて、式(6)に基づきコストEを算出する。さらに、キャリブレーション処理部15は、算出したコストEが最小となる並進パラメータTと回転パラメータRを算出する。キャリブレーション処理部15は、コストEが最小となる並進パラメータTと回転パラメータRをパラメータ更新部16へ出力する。
パラメータ更新部16は、キャリブレーション処理部15から供給された並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14の外部パラメータを所定のタイミングで更新する。
図19は、第6の実施の形態の動作を例示したフローチャートである。ステップST1でキャリブレーション装置は画像取得処理を行いステップST2に進む。ステップST2でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST3に進む。ステップST3でキャリブレーション装置はマッチング処理を行いステップST4に進む。ステップST4でキャリブレーション装置はレジストレーション処理を行いステップST5に進む。ステップST5でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST21でキャリブレーション装置は画像取得処理を行い、情報取得部11-2aから撮像画を取得してステップST22に進む。ステップST22でキャリブレーション装置はSfM処理における特徴点検出処理を行いステップST23に進む。ステップST23でキャリブレーション装置はマッチング処理を行いステップST24に進む。ステップST24でキャリブレーション装置はレジストレーション処理を行いステップST25に進む。ステップST25でキャリブレーション装置は三角測量処理を行い特徴点毎の距離を算出して、算出した距離を点群データとしてステップST41に進む。
ステップST34でキャリブレーション装置は動き検出処理を行う。キャリブレーション装置の重み設定部13は、ステップST2で検出されて特徴点保持部134に記憶された特徴点と、その後の撮像画から検出された対応する特徴点に基づき動きベクトルを動きベクトル算出部135で算出してステップST35に進む。
ステップST35でキャリブレーション装置は重み設定処理を行う。キャリブレーション装置の重み設定部13は、ステップST34で検出した動きベクトルに応じて重みを重み設定処理部136で設定してステップST41に進む。
ステップST41でキャリブレーション装置はパラメータ算出処理を行う。キャリブレーション装置のキャリブレーション処理部15は、ステップST1乃至ST5の処理で得られた点群データとステップST21乃至ST25の処理で得られた点群データとの対応関係を判別して、上述の式(6)に示すように、対応する点群データとステップST35で設定された重みを用いてコストの算出を行う。また、キャリブレーション処理部15は、所定期間におけるコストの累積値が最小となる並進パラメータTと回転パラメータRを算出してステップST42に進む。
ステップST42でキャリブレーション装置はパラメータ更新処理を行う。キャリブレーション装置のパラメータ更新部16は、ステップST41で算出した並進パラメータTと回転パラメータRを用いて、パラメータ記憶部14に記憶されている外部パラメータを更新する。
このような第6の実施の形態によれば、複数の撮像装置を用いた場合にも、動きベクトルが大きい特徴点のコストは重みが小さくされる。したがって、第3の実施の形態と同様に、動きベクトルに応じた重みを用いることなくキャリブレーションを行った場合に比べて、精度よく安定してキャリブレーションを行うことができるようになる。
<8.他の実施の形態>
ところで、上述の実施の形態では、速度に応じた重みと距離に応じた重みおよび移動ベクトルに応じた重みを個々に用いてコストの算出を行う場合を例示している。しかし、重みは個々に用いる場合に限らず複数の重みを組み合わせて用いてもよい。速度に応じた重みと距離に応じた重みを用いてコストの算出を行い、コストが最小となる外部パラメータを算出してもよい。
ところで、上述の実施の形態では、速度に応じた重みと距離に応じた重みおよび移動ベクトルに応じた重みを個々に用いてコストの算出を行う場合を例示している。しかし、重みは個々に用いる場合に限らず複数の重みを組み合わせて用いてもよい。速度に応じた重みと距離に応じた重みを用いてコストの算出を行い、コストが最小となる外部パラメータを算出してもよい。
<9.応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図20は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図20に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図20では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図21は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図21には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図20に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX(登録商標)、LTE(登録商標)(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図20の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図20に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
以上説明した車両制御システム7000において、例えばキャリブレーション処理部15,重み設定部13,パラメータ記憶部14およびパラメータ更新部16は、図20に示した応用例の車外情報検出ユニット7400に適用できる。また、情報取得部11-1は撮像部7410、情報取得部11-2は車外情報検出部7420に適用できる。このように、車両制御システム7000に本技術のキャリブレーション装置を設けるようにすれば、複数の撮像部、あるいは撮像部と車外情報検出部の位置関係を正しく把握できるようになり、周辺物体の検出精度を高めることができる。したがって、例えばドライバの疲労等の軽減や自動運転等に必要な情報を高精度で取得することが可能となる。
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやSSD(Solid State Drive)、ROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、BD(Blu-Ray Disc(登録商標))、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからLAN(Local Area Network)やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、本明細書に記載した効果はあくまで例示であって限定されるものではなく、記載されていない付加的な効果があってもよい。また、本技術は、上述した技術の実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、請求の範囲を参酌すべきである。
また、本技術の キャリブレーション装置は以下のような構成も取ることができる。
(1) 複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出するキャリブレーション処理部
を備えるキャリブレーション装置。
(2) 前記キャリブレーション処理部は、前記特徴点について前記複数の情報取得部で取得された点群データと前記重みと予め記憶されているパラメータとを用いて、該パラメータの誤差を示すコストの算出を行い、算出されたコストに基づき、誤差が最小となるパラメータを算出する(1)に記載のキャリブレーション装置。
(3) 前記周辺物体情報は所定期間内に複数回取得されている(2)に記載のキャリブレーション装置。
(4) 前記キャリブレーション処理部は、前記複数の情報取得部が設けられた移動体における前記周辺物体情報の取得毎の移動速度に応じて前記重みの設定を行い、移動速度が速くなるに伴い重みを小さくする(3)に記載のキャリブレーション装置。
(5) 前記キャリブレーション処理部は、前記特徴点の動きベクトルに応じて前記重みの設定を行い、前記動きベクトルが大きくなるに伴い重みを小さくする(3)または(4)に記載のキャリブレーション装置。
(6) 前記所定期間は、前記複数の情報取得部が設けられた移動体の移動開始から予め設定された期間、または移動終了までの予め設定された期間である(3)乃至(5)の何れかに記載のキャリブレーション装置。
(7) 前記キャリブレーション処理部は、前記複数の情報取得部から前記特徴点までの距離に応じて前記重みの設定を行い、距離が長くなるに伴い重みを小さくする(2)乃至(6)の何れかに記載のキャリブレーション装置。
(8) 前記キャリブレーション処理部で算出されたパラメータを用いて、前記記憶されているパラメータを更新するパラメータ更新部をさらに備える(2)乃至(7)の何れかに記載のキャリブレーション装置。
(9) 前記パラメータ更新部は、前記複数の情報取得部が設けられた移動体の移動停止時または移動終了時から次の移動開始までに前記パラメータの更新を行う(8)に記載のキャリブレーション装置。
(10) 前記複数の情報取得部は、前記周辺物体情報として少なくとも前記周辺物体の撮像画を取得する(1)乃至(9)の何れかに記載のキャリブレーション装置。
(11) 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部と、測距センサを用いて前記周辺物体の各位置までの距離を測定して測定結果を前記周辺物体情報とする情報取得部を、前記複数の情報取得部として備える(10)に記載のキャリブレーション装置。
(12) 前記情報取得部で取得された前記周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、前記周辺物体の位置毎の点群データを前記特徴点毎の点群データとして生成する情報処理部をさらに備える(11)に記載のキャリブレーション装置。
(13) 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部を、前記複数の情報取得部として備える(10)に記載のキャリブレーション装置。
(14) 前記情報取得部で取得された前記周辺物体の撮像画を用いて特徴点検出を行い、検出した前記周辺物体の特徴点についてのレジストレーション処理によって、特徴点毎の点群データを生成する情報処理部をさらに備える(10)に記載のキャリブレーション装置。
(1) 複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出するキャリブレーション処理部
を備えるキャリブレーション装置。
(2) 前記キャリブレーション処理部は、前記特徴点について前記複数の情報取得部で取得された点群データと前記重みと予め記憶されているパラメータとを用いて、該パラメータの誤差を示すコストの算出を行い、算出されたコストに基づき、誤差が最小となるパラメータを算出する(1)に記載のキャリブレーション装置。
(3) 前記周辺物体情報は所定期間内に複数回取得されている(2)に記載のキャリブレーション装置。
(4) 前記キャリブレーション処理部は、前記複数の情報取得部が設けられた移動体における前記周辺物体情報の取得毎の移動速度に応じて前記重みの設定を行い、移動速度が速くなるに伴い重みを小さくする(3)に記載のキャリブレーション装置。
(5) 前記キャリブレーション処理部は、前記特徴点の動きベクトルに応じて前記重みの設定を行い、前記動きベクトルが大きくなるに伴い重みを小さくする(3)または(4)に記載のキャリブレーション装置。
(6) 前記所定期間は、前記複数の情報取得部が設けられた移動体の移動開始から予め設定された期間、または移動終了までの予め設定された期間である(3)乃至(5)の何れかに記載のキャリブレーション装置。
(7) 前記キャリブレーション処理部は、前記複数の情報取得部から前記特徴点までの距離に応じて前記重みの設定を行い、距離が長くなるに伴い重みを小さくする(2)乃至(6)の何れかに記載のキャリブレーション装置。
(8) 前記キャリブレーション処理部で算出されたパラメータを用いて、前記記憶されているパラメータを更新するパラメータ更新部をさらに備える(2)乃至(7)の何れかに記載のキャリブレーション装置。
(9) 前記パラメータ更新部は、前記複数の情報取得部が設けられた移動体の移動停止時または移動終了時から次の移動開始までに前記パラメータの更新を行う(8)に記載のキャリブレーション装置。
(10) 前記複数の情報取得部は、前記周辺物体情報として少なくとも前記周辺物体の撮像画を取得する(1)乃至(9)の何れかに記載のキャリブレーション装置。
(11) 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部と、測距センサを用いて前記周辺物体の各位置までの距離を測定して測定結果を前記周辺物体情報とする情報取得部を、前記複数の情報取得部として備える(10)に記載のキャリブレーション装置。
(12) 前記情報取得部で取得された前記周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、前記周辺物体の位置毎の点群データを前記特徴点毎の点群データとして生成する情報処理部をさらに備える(11)に記載のキャリブレーション装置。
(13) 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部を、前記複数の情報取得部として備える(10)に記載のキャリブレーション装置。
(14) 前記情報取得部で取得された前記周辺物体の撮像画を用いて特徴点検出を行い、検出した前記周辺物体の特徴点についてのレジストレーション処理によって、特徴点毎の点群データを生成する情報処理部をさらに備える(10)に記載のキャリブレーション装置。
この技術のキャリブレーション装置とキャリブレーション方法およびプログラムでは、複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、周辺物体情報を取得したときの周辺物体と情報取得部との状況に応じた重みを用いて、複数の情報取得部の位置と姿勢に関するパラメータが算出される。したがって、安定してキャリブレーションを行うことができるようになる。このため、複数の情報取得部で取得された情報に基づき周辺物体を認識する機器、例えば自動車や飛行体等の機器に適している。
10・・・キャリブレーション装置
11-1,11-2,11-2a・・・情報取得部
12-1,12-2,12-2a・・・情報処理部
13・・・重み設定部
14・・・パラメータ記憶部
15・・・キャリブレーション処理部
16・・・パラメータ更新部
131・・・移動速度取得部
132,133,136・・・重み設定処理部
134・・・ 特徴点保持部
135・・・動きベクトル算出部
11-1,11-2,11-2a・・・情報取得部
12-1,12-2,12-2a・・・情報処理部
13・・・重み設定部
14・・・パラメータ記憶部
15・・・キャリブレーション処理部
16・・・パラメータ更新部
131・・・移動速度取得部
132,133,136・・・重み設定処理部
134・・・ 特徴点保持部
135・・・動きベクトル算出部
Claims (16)
- 複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出するキャリブレーション処理部
を備えるキャリブレーション装置。 - 前記キャリブレーション処理部は、前記特徴点について前記複数の情報取得部で取得された点群データと前記重みと予め記憶されているパラメータとを用いて、該パラメータの誤差を示すコストの算出を行い、算出されたコストに基づき、誤差が最小となるパラメータを算出する
請求項1に記載のキャリブレーション装置。 - 前記周辺物体情報は所定期間内に複数回取得されている
請求項2に記載のキャリブレーション装置。 - 前記キャリブレーション処理部は、前記複数の情報取得部が設けられた移動体における前記周辺物体情報の取得毎の移動速度に応じて前記重みの設定を行い、移動速度が速くなるに伴い重みを小さくする
請求項3に記載のキャリブレーション装置。 - 前記キャリブレーション処理部は、前記特徴点の動きベクトルに応じて前記重みの設定を行い、前記動きベクトルが大きくなるに伴い重みを小さくする
請求項3に記載のキャリブレーション装置。 - 前記所定期間は、前記複数の情報取得部が設けられた移動体の移動開始から予め設定された期間、または移動終了までの予め設定された期間である
請求項3に記載のキャリブレーション装置。 - 前記キャリブレーション処理部は、前記複数の情報取得部から前記特徴点までの距離に応じて前記重みの設定を行い、距離が長くなるに伴い重みを小さくする
請求項2に記載のキャリブレーション装置。 - 前記キャリブレーション処理部で算出されたパラメータを用いて、前記記憶されているパラメータを更新するパラメータ更新部をさらに備える
請求項2に記載のキャリブレーション装置。 - 前記パラメータ更新部は、前記複数の情報取得部が設けられた移動体の移動停止時または移動終了時から次の移動開始までに前記パラメータの更新を行う
請求項8に記載のキャリブレーション装置。 - 前記複数の情報取得部は、前記周辺物体情報として少なくとも前記周辺物体の撮像画を取得する
請求項1に記載のキャリブレーション装置。 - 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部と、測距センサを用いて前記周辺物体の各位置までの距離を測定して測定結果を前記周辺物体情報とする情報取得部を、前記複数の情報取得部として備える
請求項10に記載のキャリブレーション装置。 - 前記情報取得部で取得された前記周辺物体の各位置までの距離の測定結果についてレジストレーション処理を行い、前記周辺物体の位置毎の点群データを前記特徴点毎の点群データとして生成する情報処理部をさらに備える
請求項11に記載のキャリブレーション装置。 - 前記周辺物体の撮像画を前記周辺物体情報として取得する情報取得部を、前記複数の情報取得部として備える
請求項10に記載のキャリブレーション装置。 - 前記情報取得部で取得された前記周辺物体の撮像画を用いて特徴点検出を行い、検出した前記周辺物体の特徴点についてのレジストレーション処理によって、特徴点毎の点群データを生成する情報処理部をさらに備える
請求項10に記載のキャリブレーション装置。 - 複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データと、前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータをキャリブレーション処理部で算出すること
を含むキャリブレーション方法。 - キャリブレーションをコンピュータで行うためのプログラムであって、
複数の情報取得部で取得された周辺物体情報に基づき生成された周辺物体の特徴点に関する点群データを取得する手順と、
前記周辺物体情報を取得したときの前記周辺物体と前記情報取得部との状況に応じた重みを用いて、前記複数の情報取得部の位置と姿勢に関するパラメータを算出する手順と
を前記コンピュータで実行させるプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019570305A JP7294148B2 (ja) | 2018-02-09 | 2018-11-16 | キャリブレーション装置とキャリブレーション方法およびプログラム |
US16/964,906 US20210033712A1 (en) | 2018-02-09 | 2018-11-16 | Calibration apparatus, calibration method, and program |
CN201880088349.1A CN111670572B (zh) | 2018-02-09 | 2018-11-16 | 校准装置、校准方法和计算机可读存储介质 |
DE112018007048.4T DE112018007048T5 (de) | 2018-02-09 | 2018-11-16 | Kalibrationsvorrichtung, kalibrationsverfahren und programm |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018021494 | 2018-02-09 | ||
JP2018-021494 | 2018-02-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019155719A1 true WO2019155719A1 (ja) | 2019-08-15 |
Family
ID=67548823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/042448 WO2019155719A1 (ja) | 2018-02-09 | 2018-11-16 | キャリブレーション装置とキャリブレーション方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210033712A1 (ja) |
JP (1) | JP7294148B2 (ja) |
CN (1) | CN111670572B (ja) |
DE (1) | DE112018007048T5 (ja) |
WO (1) | WO2019155719A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210083198A (ko) * | 2019-12-25 | 2021-07-06 | 아다트 테크놀러지 컴퍼니 리미티드 | 증강 현실 장치 및 위치 설정 방법 |
CN115797401A (zh) * | 2022-11-17 | 2023-03-14 | 昆易电子科技(上海)有限公司 | 对齐参数的验证方法、装置、存储介质及电子设备 |
DE112021006776T5 (de) | 2021-03-08 | 2023-10-26 | Mitsubishi Electric Corporation | Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren und datenverarbeitungsprogramm |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110031822B (zh) * | 2019-04-22 | 2020-05-22 | 上海禾赛光电科技有限公司 | 可用于激光雷达的噪点识别方法以及激光雷达系统 |
DE102021209538A1 (de) | 2021-08-31 | 2023-03-02 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Kalibrieren eines Infrastruktursensorsystems |
US20230150518A1 (en) * | 2021-11-15 | 2023-05-18 | Waymo Llc | Calibration of sensors in autonomous vehicle applications |
CN114494609B (zh) * | 2022-04-02 | 2022-09-06 | 中国科学技术大学 | 一种3d目标检测模型的构建方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005141655A (ja) * | 2003-11-10 | 2005-06-02 | Olympus Corp | 3次元モデリング装置及び3次元モデリング方法 |
WO2012137434A1 (ja) * | 2011-04-07 | 2012-10-11 | パナソニック株式会社 | 立体撮像装置 |
WO2015015542A1 (ja) * | 2013-07-29 | 2015-02-05 | 株式会社日立製作所 | 車載ステレオカメラシステム及びそのキャリブレーション方法 |
JP2015212849A (ja) * | 2014-05-01 | 2015-11-26 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP2018004420A (ja) * | 2016-06-30 | 2018-01-11 | 株式会社リコー | 装置、移動体装置、位置ずれ検出方法及び測距方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173185A1 (en) * | 2010-12-30 | 2012-07-05 | Caterpillar Inc. | Systems and methods for evaluating range sensor calibration data |
JP5442164B2 (ja) * | 2011-03-08 | 2014-03-12 | 三菱電機株式会社 | 移動体周辺映像補正装置 |
WO2013069012A1 (en) * | 2011-11-07 | 2013-05-16 | Dimensional Perception Technologies Ltd. | Method and system for determining position and/or orientation |
US9128185B2 (en) * | 2012-03-15 | 2015-09-08 | GM Global Technology Operations LLC | Methods and apparatus of fusing radar/camera object data and LiDAR scan points |
EP2914975B1 (en) * | 2012-11-05 | 2019-03-06 | The Chancellor, Masters and Scholars of The University of Oxford | Extrinsic calibration of imaging sensing devices and 2d lidars mounted on transportable apparatus |
EP3041228A4 (en) * | 2013-08-30 | 2017-06-28 | Clarion Co., Ltd. | Camera calibration device, camera calibration system, and camera calibration method |
JP6398300B2 (ja) * | 2014-05-09 | 2018-10-03 | 株式会社デンソー | 車載キャリブレーション装置 |
KR101786237B1 (ko) * | 2015-12-09 | 2017-10-17 | 현대자동차주식회사 | 운전자보조시스템용 센서의 고장진단 및 보정을 위한 장치 및 방법 |
US10509120B2 (en) * | 2017-02-16 | 2019-12-17 | GM Global Technology Operations LLC | Lidar-radar relative pose calibration |
EP3615955A4 (en) * | 2017-04-28 | 2020-05-13 | SZ DJI Technology Co., Ltd. | CALIBRATION OF LASER AND VISION SENSORS |
CN107656259B (zh) * | 2017-09-14 | 2021-04-30 | 同济大学 | 外场环境标定的联合标定系统与方法 |
US11479213B1 (en) * | 2017-12-11 | 2022-10-25 | Zoox, Inc. | Sensor obstruction detection and mitigation |
US11415683B2 (en) * | 2017-12-28 | 2022-08-16 | Lyft, Inc. | Mobile sensor calibration |
-
2018
- 2018-11-16 DE DE112018007048.4T patent/DE112018007048T5/de not_active Withdrawn
- 2018-11-16 WO PCT/JP2018/042448 patent/WO2019155719A1/ja active Application Filing
- 2018-11-16 JP JP2019570305A patent/JP7294148B2/ja active Active
- 2018-11-16 CN CN201880088349.1A patent/CN111670572B/zh not_active Expired - Fee Related
- 2018-11-16 US US16/964,906 patent/US20210033712A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005141655A (ja) * | 2003-11-10 | 2005-06-02 | Olympus Corp | 3次元モデリング装置及び3次元モデリング方法 |
WO2012137434A1 (ja) * | 2011-04-07 | 2012-10-11 | パナソニック株式会社 | 立体撮像装置 |
WO2015015542A1 (ja) * | 2013-07-29 | 2015-02-05 | 株式会社日立製作所 | 車載ステレオカメラシステム及びそのキャリブレーション方法 |
JP2015212849A (ja) * | 2014-05-01 | 2015-11-26 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP2018004420A (ja) * | 2016-06-30 | 2018-01-11 | 株式会社リコー | 装置、移動体装置、位置ずれ検出方法及び測距方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210083198A (ko) * | 2019-12-25 | 2021-07-06 | 아다트 테크놀러지 컴퍼니 리미티드 | 증강 현실 장치 및 위치 설정 방법 |
JP2021103168A (ja) * | 2019-12-25 | 2021-07-15 | エーディーエーティー テクノロジー カンパニー リミテッド | 拡張現実装置及び位置決め方法 |
JP7114686B2 (ja) | 2019-12-25 | 2022-08-08 | エーディーエーティー テクノロジー カンパニー リミテッド | 拡張現実装置及び位置決め方法 |
KR102585821B1 (ko) * | 2019-12-25 | 2023-10-10 | 아다트 테크놀러지 컴퍼니 리미티드 | 증강 현실 장치 및 위치 설정 방법 |
DE112021006776T5 (de) | 2021-03-08 | 2023-10-26 | Mitsubishi Electric Corporation | Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren und datenverarbeitungsprogramm |
CN115797401A (zh) * | 2022-11-17 | 2023-03-14 | 昆易电子科技(上海)有限公司 | 对齐参数的验证方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210033712A1 (en) | 2021-02-04 |
JPWO2019155719A1 (ja) | 2021-02-18 |
JP7294148B2 (ja) | 2023-06-20 |
DE112018007048T5 (de) | 2020-10-15 |
CN111670572A (zh) | 2020-09-15 |
CN111670572B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7294148B2 (ja) | キャリブレーション装置とキャリブレーション方法およびプログラム | |
JP6834964B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
WO2017057044A1 (ja) | 情報処理装置及び情報処理方法 | |
JP6764573B2 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
WO2017212928A1 (ja) | 画像処理装置、画像処理方法、および車両 | |
US20200349367A1 (en) | Image processing device, image processing method, and program | |
US11585898B2 (en) | Signal processing device, signal processing method, and program | |
WO2022024602A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US12067795B2 (en) | Information processing device and information processing method | |
WO2020195965A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20210042886A1 (en) | Image processing apparatus, image processing method, and program | |
WO2022044830A1 (ja) | 情報処理装置、および情報処理方法 | |
JP2018046353A (ja) | 通信装置、および通信システム | |
JP7173056B2 (ja) | 認識装置と認識方法およびプログラム | |
JP7559748B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2022059489A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2022249533A1 (ja) | 情報処理装置、キャリブレーションシステム及び情報処理方法 | |
WO2020255589A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2020017172A1 (ja) | 情報処理装置と情報処理方法およびプログラム | |
JP2024065130A (ja) | 情報処理装置、情報処理方法及びプログラム |
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: 18905563 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019570305 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18905563 Country of ref document: EP Kind code of ref document: A1 |