WO2020153264A1 - 校正方法および校正装置 - Google Patents

校正方法および校正装置 Download PDF

Info

Publication number
WO2020153264A1
WO2020153264A1 PCT/JP2020/001553 JP2020001553W WO2020153264A1 WO 2020153264 A1 WO2020153264 A1 WO 2020153264A1 JP 2020001553 W JP2020001553 W JP 2020001553W WO 2020153264 A1 WO2020153264 A1 WO 2020153264A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature points
image
images
matching
calibration
Prior art date
Application number
PCT/JP2020/001553
Other languages
English (en)
French (fr)
Inventor
将貴 福田
敏康 杉尾
徹 松延
哲史 吉川
達也 小山
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2020568127A priority Critical patent/JP7426611B2/ja
Publication of WO2020153264A1 publication Critical patent/WO2020153264A1/ja
Priority to US17/370,402 priority patent/US20210335010A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • the present disclosure relates to a calibration method and a calibration device that calibrate parameters of a plurality of imaging devices.
  • Patent Document 1 discloses a technique of performing projective conversion on a plurality of images captured by an image capturing device to perform matching between images that differ greatly in how the image capturing device looks at the same subject.
  • the present disclosure provides a calibration method and a calibration device that can accurately calibrate the parameters of a plurality of imaging devices.
  • the calibration method is a calibration method that calibrates parameters of a plurality of image capturing devices that capture a common three-dimensional space by using a processor, and is imaged by each of the plurality of image capturing devices.
  • a plurality of acquired images acquires respective parameters of the plurality of imaging devices, and for each of the plurality of acquired images, determines a plurality of characteristic points of the image using the acquired plurality of parameters.
  • One or more search windows for extraction are generated, and for each of the plurality of acquired images, the plurality of feature points are extracted from the generated one or more search windows, and each of the plurality of images is extracted.
  • the parameters of the plurality of imaging devices Calibrate.
  • the calibration method according to the second aspect of the present disclosure is a calibration method that uses a processor to calibrate the parameters of a plurality of imaging devices that respectively image a common three-dimensional space, and the calibration methods according to the plurality of imaging devices respectively.
  • Acquiring a plurality of captured images acquiring a first parameter of the image capturing apparatus for each of the plurality of image capturing apparatuses, and acquiring the plurality of captured images and the plurality of acquired first parameters.
  • the three-dimensional information in the three-dimensional space is estimated, and the plurality of second parameters obtained by adding the estimated three-dimensional information to the plurality of first parameters are output and acquired.
  • one or more search areas for limiting combinations of matching of feature points are calculated based on the plurality of output second parameters, and for each of the plurality of images, a plurality of search areas are calculated.
  • Feature points are extracted, the candidate for matching of feature points is narrowed down from the plurality of extracted feature points using the calculated one or more search regions, and the plurality of feature points narrowed down as the candidates are used.
  • a calibration method is a calibration method that uses a processor to calibrate parameters of a plurality of imaging devices that respectively image a common three-dimensional space, and the calibration methods according to the plurality of imaging devices respectively.
  • the parameters of the plurality of imaging devices are calibrated based on the plurality of matching results obtained by the matching.
  • the calibration method and the calibration device according to the present disclosure can accurately calibrate the parameters of a plurality of imaging devices.
  • FIG. 1 is a diagram showing an outline of three-dimensional space recognition.
  • FIG. 2 is a diagram showing an outline of calibration.
  • FIG. 3 is a block diagram showing the configuration of the calibration system according to the first embodiment.
  • FIG. 4 is a block diagram showing the configuration of the image pickup apparatus according to the first embodiment.
  • FIG. 5 is a block diagram showing the configuration of the control device in the first embodiment.
  • FIG. 6 is a block diagram showing the configuration of the calibration device according to the first embodiment.
  • FIG. 7A is a diagram for explaining an example of parameter information.
  • FIG. 7B is a diagram for explaining an example of parameter information.
  • FIG. 7C is a diagram for explaining an example of parameter information.
  • FIG. 7D is a diagram for explaining an example of parameter information.
  • FIG. 7A is a diagram for explaining an example of parameter information.
  • FIG. 7B is a diagram for explaining an example of parameter information.
  • FIG. 7C is a diagram for explaining an example of parameter information.
  • FIG. 7E is a diagram for explaining an example of parameter information.
  • FIG. 7F is a diagram for explaining details of an example of the parameter information.
  • FIG. 8 is a diagram for explaining the details of the calibration process in the first embodiment.
  • FIG. 9 is a diagram for explaining the details of the calibration process in the first embodiment.
  • FIG. 10 is a diagram for explaining the details of the calibration process in the first embodiment.
  • FIG. 11 is a diagram for explaining the details of the calibration process in the first embodiment.
  • FIG. 12 is a sequence diagram for explaining the details of the calibration process.
  • FIG. 13 is a flow chart for explaining the details of the calibration processing in the first embodiment.
  • FIG. 14 is a flowchart showing an example of feature point extraction processing according to the first embodiment.
  • FIG. 14 is a flowchart showing an example of feature point extraction processing according to the first embodiment.
  • FIG. 15 is a block diagram showing the configuration of the calibration device according to the second embodiment.
  • FIG. 16 is a schematic diagram for explaining the details of the calibration process in the second embodiment.
  • FIG. 17 is a schematic diagram for explaining the details of the calibration process in the second embodiment.
  • FIG. 18 is a schematic diagram for explaining the details of the calibration process in the second embodiment.
  • FIG. 19 is a schematic diagram for explaining the details of the calibration process in the second embodiment.
  • FIG. 20 is a diagram for explaining a search window generation process in the first modification.
  • FIG. 21 is a diagram for explaining the search window generation processing in the second modification.
  • FIG. 22 is a diagram for explaining the search window generation process in the third modification.
  • the three-dimensional space recognition is realized by reconstructing (modeling) the three-dimensional shape of the subject or using the reconstruction result.
  • a three-dimensional space reconstructing device that reconstructs a three-dimensional shape of a subject is provided with image data provided from an imaging system including a plurality of cameras that capture an image of the same scene, the position of each camera obtained by calibration, and Modeling is performed using the camera parameters indicating the posture and the like (hereinafter referred to as “position and posture”). Therefore, if the camera position etc. changes after calibration, the 3D shape reconstruction of the subject cannot be executed properly because the camera parameters do not reflect the actual state of the camera position etc. As a result, the 3D space The recognition accuracy is reduced, or the generation itself fails. Therefore, it is necessary to calibrate the camera parameters regularly.
  • the conventional technology has not been able to easily calibrate the parameters of a plurality of image pickup devices.
  • the calibration method is a calibration method that uses a processor to calibrate the parameters of a plurality of imaging devices that respectively image a common three-dimensional space, and the calibration methods according to the plurality of imaging devices respectively.
  • Acquiring a plurality of captured images acquiring the respective parameters of the plurality of imaging devices, for each of the plurality of acquired images, a plurality of features of the image using the plurality of acquired parameters
  • One or more search windows for extracting points are generated, and for each of the acquired plurality of images, the plurality of feature points are extracted from the generated one or more search windows, and the plurality of images are extracted.
  • the plurality of feature points extracted for each of the plurality of images the plurality of feature points are matched between the plurality of images, and based on the plurality of matching results obtained by the matching, the plurality of imaging devices. Calibrate the parameters of.
  • extraction of a plurality of feature points for performing matching between a plurality of images is performed using one or more search windows generated using parameters of a plurality of image pickup devices.
  • each of the plurality of parameters relates to the position and orientation of the image pickup device corresponding to the parameter, and is obtained by calibration performed at a past time with respect to the corresponding image pickup device, and It may include an identifying camera label.
  • each of the plurality of parameters relates to the position and orientation of the image pickup apparatus corresponding to the parameter, and the relative position and orientation between the corresponding image pickup apparatus and another image pickup apparatus, and the corresponding image pickup apparatus.
  • each of the plurality of parameters relates to the position and orientation of the image pickup device corresponding to the parameter, and indicates a distance from the corresponding image pickup device to an arbitrary point in the three-dimensional space, and the corresponding image pickup device.
  • the parameters of multiple imaging devices can be efficiently calibrated.
  • the one image pickup device that picks up the image and the other image pickup device in the arrangement direction of the other image pickup devices A search window having a shape that is longer in a direction substantially perpendicular to the arrangement direction may be calculated as the positions and orientations therebetween are further apart.
  • a plurality of keypoints are detected from the image, and (ii) for each of the plurality of detected keypoints, (ii-i) the keypoint is the center.
  • one or more feature amount patches are extracted by arranging the one or more search windows on the image, and (ii-ii) the one or more feature points extracted corresponding to the key point.
  • the feature points may be extracted by calculating the distribution of each feature of the quantity patch as a feature amount and describing the calculated distribution of the features at the key point.
  • a calibration method is a calibration method that calibrates parameters of a plurality of imaging devices that image a common three-dimensional space by using a processor.
  • To obtain a plurality of images respectively captured to obtain a first parameter of the image capturing apparatus for each of the plurality of image capturing apparatuses, the plurality of captured images and the plurality of captured first parameters.
  • the three-dimensional information in the three-dimensional space is estimated, and the plurality of second parameters obtained by adding the estimated three-dimensional information to the plurality of first parameters are output and acquired.
  • one or more search regions for limiting a combination of matching of feature points is calculated based on the plurality of output second parameters, and for each of the plurality of images, A plurality of feature points are extracted, and using the calculated one or more search regions, the feature point matching candidates are narrowed down from the extracted plurality of feature points, and the plurality of feature points narrowed down as the candidates are selected.
  • the plurality of image the plurality of feature points are matched, and the parameters of the plurality of imaging devices are calibrated based on the plurality of matching results obtained by the matching.
  • the search area generated based on the second parameter including the three-dimensional information is used to narrow down the matching candidates of the feature points to perform the matching, so that the matching accuracy can be improved, and Matching can be performed efficiently. Therefore, it is possible to accurately calibrate the parameters of the plurality of imaging devices.
  • each of the plurality of first parameters is related to the position and orientation of the imaging device to which the first parameter corresponds, and is obtained by the calibration performed at the past time for the corresponding imaging device, and the corresponding imaging A camera label identifying the device may be included.
  • first search areas that are the one or more search areas in the first image of the plurality of images, and one or more search areas in the second image of the plurality of images 1
  • Each of the above-described second search areas corresponds to one or more areas in the three-dimensional space, and in the matching, one or more first feature points included in one first search area,
  • the one first search area and one or more second feature points included in the one second search area corresponding to a common area in the three-dimensional space are narrowed down as the candidates for the matching, and Matching may be performed using the first feature points described above and the one or more second feature points.
  • each of the first image and the second image is included in the second search region and one or more first feature points included in the corresponding first search region in the common region in the three-dimensional space. Since one or more second feature points are associated with each other, the accuracy of matching can be improved and the matching can be performed efficiently.
  • matching is not performed using the one or more first feature points and the feature points other than the one or more second feature points in the second image, and the one or more first feature points in the first image are used. It is not necessary to perform matching using the feature points other than the first feature point of 1) and the one or more second feature points.
  • the matching is not performed between the areas that are not common in the three-dimensional space, the matching accuracy can be improved and the matching can be performed efficiently.
  • a calibration method is a calibration method that uses a processor to calibrate parameters of a plurality of imaging devices that respectively image a common three-dimensional space, and the calibration methods according to the plurality of imaging devices, respectively.
  • the parameters of the plurality of imaging devices are calibrated based on the plurality of matching results obtained by the matching.
  • the feature points are matched using the search window that surrounds the shape of the object, so the matching processing accuracy is improved while reducing the matching processing load.
  • a recording medium such as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the system, the apparatus, the integrated circuit, the computer program.
  • a recording medium such as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the system, the apparatus, the integrated circuit, the computer program.
  • it may be realized by any combination of recording media.
  • FIG. 1 is a diagram showing an outline of three-dimensional space recognition.
  • FIG. 2 is a diagram showing an outline of calibration.
  • the calibration system includes a plurality of cameras 100 for capturing the same scene in a predetermined three-dimensional space A1 (hereinafter, also referred to as “space A1”).
  • the predetermined three-dimensional space A1 is a space on a traffic road, and the same scene means a scene in which a vehicle 21 travels on the road 20 or a pedestrian (not shown) exists. is there.
  • the three-dimensional space in which the monitoring target exists is a predetermined three-dimensional space, and the same scene includes movements of people or objects.
  • Each of the plurality of cameras 100 is arranged at a position different from each other, and images the common three-dimensional space. For this reason, the areas to be imaged by the plurality of cameras 100 in the three-dimensional space have areas that at least partially overlap.
  • the plurality of cameras 100 are installed at different positions so as to partially surround the space A1 on the road 20.
  • the plurality of cameras 100 have different postures. Then, at least some of the areas of the imaging targets of the plurality of cameras 100 overlap.
  • the fact that at least a part of the image pickup area overlaps is because the image data obtained by the image pickup is reconstructed in a three-dimensional space and is used for matching in the calibration of the camera. It should be noted that the areas to be imaged may overlap in some of the plurality of cameras 100, or may overlap in all of the plurality of cameras 100.
  • a plurality of images obtained from the plurality of cameras 100 installed in this way and a parameter indicating the position and orientation of the plurality of cameras 100 are used. Is used to reconstruct the three-dimensional model 22. Therefore, it is necessary to calibrate a plurality of cameras 100 to obtain the parameters.
  • the characteristic points on the image captured by each camera 100 are extracted, and the characteristic points extracted between the images 520 and 540 of different viewpoints are indicated by the dotted lines in the figure.
  • the parameters of each camera 100 are calculated by matching.
  • a characteristic point is a point indicated by a white circle in each of the images 520 and 540 in FIG.
  • the parameters calculated here are camera parameters that indicate the position of each camera 100 and the angle (posture) of the imaging direction in a common coordinate system.
  • the position and orientation of the camera 100 is also referred to as a camera pose.
  • the data of the three-dimensional model 22 obtained by the reconstruction is transmitted to the device that executes three-dimensional space recognition.
  • Functions of such a device for three-dimensional space recognition include three-dimensional object recognition, object shape/motion analysis, and free-viewpoint image generation.
  • 3D object recognition is a process of identifying what kind of object exists at which position on the 3D space.
  • the three-dimensional object recognition uses, for example, a three-dimensional model reconstructed from a plurality of images of the space A1 on the road 20 to determine the position of the vehicle 21 on the space A1 and the building on the space A1. This is a process of calculating the distance from the vehicle to the pedestrian. These calculation results are used, for example, to detect the vehicle position for automatic driving.
  • the shape/motion analysis of an object is a process of analyzing the shape of the object, the size in the real space, the motion speed, and the like.
  • the shape/motion analysis of the object uses, for example, a three-dimensional model reconstructed from a plurality of images of the space A1 on the road 20 to determine the size of the vehicle 21 and the moving speed of the vehicle 21, or This is processing for calculating the height of a pedestrian, the moving speed of the pedestrian, and the like.
  • the position where the vehicle 21 exists in the space A1 the size of the vehicle 21, the moving speed of the vehicle 21, and the like are further calculated by combining with the calculation result in the three-dimensional object recognition. May be.
  • Free-viewpoint video generation is the process of generating video when viewed from a virtual viewpoint, which is a viewpoint where no camera exists.
  • the free-viewpoint image generation is, for example, a three-dimensional model 22 reconstructed using a plurality of images of the space A1 on the road 20 and images of the vehicle 21 from different oblique directions. Is used to generate an image of a virtual viewpoint in which the vehicle 21 is imaged from a front direction that is not included in a plurality of diagonal directions.
  • any 3D space recognition function is realized based on a 3D model generated using multiple images captured from multiple different viewpoints.
  • a three-dimensional model with higher accuracy is required.
  • more accurate camera parameters are needed to reconstruct a more accurate three-dimensional model. If the accuracy of the camera parameter is low, the accuracy of the reconstructed three-dimensional model is reduced or cannot be reconstructed.
  • the accuracy of the 3D model data decreases, the accuracy of the 3D space recognition decreases. Also, if the three-dimensional model data is not reconstructed, it becomes difficult to realize the three-dimensional space recognition.
  • the following describes a calibration system that can calculate camera parameters with higher accuracy.
  • FIG. 3 is a block diagram showing the configuration of the calibration system according to the first embodiment.
  • the calibration system 1000 includes a plurality of imaging devices 10a to 10n, a control device 200, a calibration device 300, and a user interface 400.
  • the imaging devices 10a to 10n are communicatively connected to the control device 200.
  • the calibration device 300 and the user interface 400 are communicatively connected to the control device 200.
  • FIG. 4 is a block diagram showing a configuration of the image pickup devices 10a to 10n according to the first embodiment.
  • Each of the plurality of imaging devices 10a to 10n is a device including a camera corresponding to the camera 100 of FIG. 1 for imaging the predetermined space A1 and has a common configuration.
  • the predetermined space A1 referred to here is the union of the imaging areas of the plurality of cameras.
  • Each of the imaging devices 10a to 10n includes a camera 100 and a gantry 110. Since the configurations of the imaging devices 10a to 10n are the same thereafter, the imaging device 10a will be described when describing one imaging device in the present disclosure. In other words, the same points can be said for the other imaging devices 10b to 10n where the imaging device 10a is described below.
  • the camera 100 includes a storage unit 101, a control unit 102, an optical system 103, and an image sensor 104.
  • the storage unit 101 stores a program that the control unit 102 reads and executes. Further, in the storage unit 101, video data of an imaging region captured by using the image sensor 104, meta information such as a time stamp attached to the video data, camera parameters of the camera 100, and a frame rate being applied or Shooting settings such as resolution are temporarily stored.
  • Such a storage unit 101 is realized by using a rewritable nonvolatile semiconductor memory such as a flash memory.
  • a non-rewritable ROM (Read-Only Memory) or a volatile RAM (Random Access Memory) may be used as the storage unit depending on the necessity of rewriting the stored data or the required storage period.
  • the number of imaging devices provided in the calibration system 1000 is not particularly limited as long as it is plural. Further, the characteristics of the imaging devices 10a to 10n may not be common.
  • the camera 100 included in each of the imaging devices 10a to 10n is not limited to the monaural camera, and may include a stereo camera.
  • the calibration system 1000 includes a plurality of image pickup devices, but the present invention is not limited to this, and may include a single image pickup device.
  • an imaging target existing in a real space is photographed while moving one imaging device so that one imaging device generates a multi-viewpoint image including a plurality of images having different viewpoints. You may let me.
  • Each of the plurality of images is an image captured (generated) by an imaging device in which at least one of the position and the orientation of the imaging device is different from each other.
  • the control unit 102 is realized by using, for example, a CPU (Central Processing Unit), and reads and executes the program stored in the storage unit 101 to control each component included in the camera 100 to perform imaging and other operations. Bring out the function.
  • the control unit 102 may be realized by a dedicated circuit that controls each component included in the camera 100 to perform imaging and other functions. That is, the control unit 102 may be realized by software or hardware.
  • the optical system 103 is a component that forms light from the imaging area on the image sensor 104, and is realized by using an optical element including a lens. Further, the focal length and the angle of view may be changeable. Alternatively, a wide-angle lens or an ultra-wide-angle lens such as a fisheye lens may be used. For example, when the image captured by the calibration system 1000 is used in a surveillance system, a wide-angle lens may be used to obtain a wide imaging area.
  • the image sensor 104 is a solid-state image sensor such as a CCD image sensor, a CMOS image sensor, or a MOS image sensor that receives light collected by an optical system on a light-receiving surface and converts the received light into an electric signal indicating an image. Will be realized.
  • the gantry 110 is a component for fixing and supporting a camera, which is generating an image used for calibration by imaging, at a predetermined position, and is realized by, for example, a tripod.
  • the leg portion of the gantry 110 may be adjustable in length and angle.
  • the gantry 110 may be provided with a mechanism for rotating the platform for panning or tilting the camera 100, an elevator mechanism for vertically moving the camera 100, and the like.
  • the gantry 110 may include a mechanism for supporting and moving the camera 100, such as a dolly or a crane.
  • FIG. 5 is a block diagram showing a configuration of control device 200 in the first embodiment.
  • the control device 200 includes a storage unit 201, a control unit 202, and a timer 203.
  • the control device 200 controls the imaging devices 10a to 10n and processes the data received from the imaging devices 10a to 10n. Further, the control device 200 instructs the calibration device 300 to perform a calibration process of camera parameters of the camera 100 included in each of the imaging devices 10a to 10n.
  • Such a control device 200 is, for example, a computer.
  • the storage unit 201 is a storage device of this computer, and is realized by a hard disk drive, various semiconductor memories, or a combination thereof.
  • the control unit 202 is realized by the CPU of this computer, and the timer 203 is a timer provided in the computer that is referred to by this CPU.
  • the user interface 400 is realized by a display device, a touch screen, a track pad, a keyboard, a mouse, other controllers connected to the computer, or a combination thereof.
  • the storage unit 201 stores a program that the control unit 202 reads and executes.
  • the storage unit 201 also stores the data received from the imaging devices 10a to 10n, which is the data to be processed by the control unit 202.
  • the control unit 202 controls the imaging devices 10a to 10n and the calibration device 300 by reading and executing the program stored in the storage unit 201. Further, the control unit 202 executes processing in response to a user's instruction regarding these controls and processing. As one of these processes, there is a control of capturing a synchronized image by a plurality of cameras 100 included in each of the imaging devices 10a to 10n.
  • one of these processes may include event detection and calibration commands.
  • the event detection unit 202b included in the control unit 202 is a functional component realized by the control unit 202 executing a program for event detection.
  • the calibration command unit 202c included in the control unit 202 is a functional component realized by the control unit 202 executing a program for a calibration command.
  • the imaging control unit 202a, the event detection unit 202b, and the calibration command unit 202c of the control unit 202 may be realized by a dedicated circuit that performs imaging control, event detection, calibration command, calibration processing, and the like. That is, the control unit 202 may be realized by software or hardware.
  • the image capturing control unit 202a causes each of the plurality of image capturing devices 10a to 10n to capture an image of the three-dimensional space A1 that is an image capturing area at a plurality of different timings.
  • the imaging control unit 202a images the plurality of imaging devices 10a to 10n in a state in which each of the plurality of imaging devices 10a to 10n is in a predetermined position and is in a posture facing a predetermined direction. The area is imaged.
  • the event detection unit 202b detects the occurrence of a predetermined event that may be a reason for executing the calibration in any of the cameras 100 included in the imaging devices 10a to 10n based on the imaging status information provided from the imaging devices 10a to 10n. To detect.
  • the event that may be the reason for performing the calibration is, for example, an event in which the movement of the camera occurs or is likely to occur, or an event in which the matching is likely to be performed with high accuracy. A more specific example will be described later in the description of the operation of the calibration system 1000.
  • the event detection unit 202b determines whether or not to execute the calibration.
  • the calibration information indicating the calibration to be executed is output to, for example, the calibration command unit 202c.
  • the calibration command unit 202c causes the camera 100 indicated by the calibration information to perform calibration based on the calibration information received from the event detection unit 202b.
  • the order in which each camera 100 executes the calibration is determined based on the content of the event which is the reason for executing the calibration indicated by the calibration information, for example. May be. A specific example of the processing by the calibration command unit 202c will be described later.
  • FIG. 6 is a block diagram showing the configuration of the calibration device 300 according to the first embodiment.
  • the calibration device 300 includes a storage unit 301 and a calibration unit 302.
  • the calibration device 300 processes the data received via the control device 200. Specifically, the calibration device 300 executes a calibration process of camera parameters of the camera 100 included in each of the imaging devices 10a to 10n. Further, the calibration device 300 may execute a three-dimensional space forming process.
  • Such a calibration device 300 is, for example, a computer.
  • the storage unit 301 is a storage device of this computer, and is realized by a hard disk drive, various semiconductor memories, or a combination thereof.
  • the calibration unit 302 is realized by the CPU of this computer.
  • the calibration device 300 may be implemented by the same computer as the control device 200.
  • the storage unit 301 stores a program read and executed by the calibration unit 302. Further, the storage unit 301 stores the data received from the imaging devices 10a to 10n via the control device 200 and the data related to the imaging devices 10a to 10n acquired from an external device, and is the target of the processing by the calibration unit 302. Some data is stored. That is, the imaging situation information may be stored, or the parameter information regarding the camera parameters of the imaging devices 10a to 10n may be stored.
  • the calibration unit 302 processes the data received from the imaging devices 10a to 10n by reading and executing the program stored in the storage unit 301.
  • One of the processes is a process of calibrating the camera parameters of the camera 100 included in each of the image pickup devices 10a to 10n.
  • FIGS. 7A to 7F are diagrams for explaining an example of the parameter information.
  • 8 to 11 are diagrams for explaining the details of the calibration process.
  • the proofreading unit 302 has an image acquisition unit 302a, a parameter acquisition unit 302b, a preprocessing unit 302c, a search window generation unit 302d, an extraction unit 302e, a matching calculation unit 302f, and a reconstruction unit 302g.
  • the image acquisition unit 302a acquires a plurality of images respectively imaged by the plurality of imaging devices 10a to 10n.
  • the image acquisition unit 302a further acquires, together with the plurality of images, a camera label that corresponds to each of the plurality of images and that indicates the camera 100 that has captured each of the plurality of images.
  • the image acquisition unit 302a may acquire the plurality of images and the camera label, for example, by acquiring the image to which the camera label is attached.
  • Each of the plurality of images may be a still image or a moving image. It is preferable that the plurality of images used for the calibration process are images obtained by being imaged by the plurality of imaging devices 10a to 10n at a certain corresponding one timing.
  • the plurality of images acquired by the image acquisition unit 302a are stored in the storage unit 301.
  • the image acquisition unit 302a may store the image and the camera label in the storage unit 301 in advance before receiving the calibration command from the control device 200.
  • the calibration device 300 can start the calibration process when it is determined that the calibration is necessary. That is, the calibration device 300 can start the calibration process without newly acquiring the image and the camera label.
  • the parameter acquisition unit 302b acquires parameter information regarding each parameter of the imaging devices 10a to 10n from a device external to the calibration system 1000 or the storage unit 301.
  • the parameter acquisition unit 302b further acquires, together with the plurality of parameter information, a camera label that corresponds to each of the plurality of parameter information and that indicates the imaging device to which the parameter information corresponds.
  • the parameter acquisition unit 302b may acquire the plurality of parameter information and the camera label, for example, by acquiring the parameter information to which the camera label is attached.
  • Each of the plurality of parameter information is information related to the position and orientation of the camera 100 included in the imaging device corresponding to the parameter information.
  • Each parameter information is, for example, as shown in FIG. 7A, information indicating a relative position/orientation difference between the camera 100a included in the imaging device corresponding to the parameter information and the camera 100b included in another imaging device. It may be.
  • the cameras 100a and 100b are included in the plurality of cameras 100 included in the plurality of imaging devices 10a to 10n, respectively.
  • This relative difference in position and orientation may be the angle between the image capturing direction of the camera 100a and the image capturing direction of the camera 100b, or the distance between the camera 100a and the camera 100b. Both the angle and the distance may be included.
  • each parameter information is, for example, as shown in FIG. 7B, information including a calibration result obtained by calibration performed at a past time with respect to the camera 100 included in the imaging device corresponding to the parameter information. It may be.
  • each parameter information is, for example, as shown in FIG. 7C, an angle of an angle formed by a straight line connecting the camera 100a to an arbitrary point in the three-dimensional space and a straight line connecting the camera 100b to the arbitrary point. That is, it may be information indicating a convergence angle of the cameras 100a and 100b with respect to the arbitrary point.
  • each parameter information may be information indicating the distance from each camera 100 to an arbitrary point in the three-dimensional space, as shown in FIG. 7D, for example.
  • each parameter information may be, for example, as shown in FIG. 7E, information indicating the distance from each camera 100 to the center of the three-dimensional space A1 that is an imaging target common to each camera 100.
  • the center of the three-dimensional space A1 may be the center of gravity of the two-dimensional shape when the three-dimensional space A1 is viewed in a plan view from the vertical direction, or the center of gravity of the three-dimensional space A1 in the three-dimensional shape.
  • each parameter information may be, for example, as shown in FIG. 7F, information indicating the position and orientation of each camera 100 based on a design document, a specification document, etc. defined at the system design stage.
  • the parameter information described with reference to FIGS. 7A to 7F is an example, and does not limit the elements forming the parameter information.
  • the parameter information may not be capable of accurately expressing the position and orientation of each imaging device at the time when calibration is performed, may be information obtained based on the estimation result by a person, or may be information measured by a sensor. However, it may be information calculated by camera calibration at another time stored in the storage unit 301, or information configured by a combination thereof.
  • the parameter acquisition unit 302b may store the parameter information in the storage unit 301 in advance before receiving the calibration command from the control device 200. As a result, the calibration process can be started when it is determined that the calibration is necessary. That is, the calibration device 300 can start the calibration process without newly acquiring the parameter information.
  • the preprocessing unit 302c executes image preprocessing, matching preprocessing, or a combination thereof.
  • the image preprocessing is, for example, brightness adjustment, noise removal, resolution conversion, color space conversion, lens distortion correction, projective conversion, affine conversion, edge enhancement processing, trimming processing, or a combination thereof.
  • the image preprocessing may be performed on the plurality of images acquired by the image acquisition unit 302a. Therefore, the timing of performing the image preprocessing is performed in accordance with the timing of executing the calibration processing. It does not have to be given or may be done in advance.
  • the plurality of preprocessed images obtained by the image preprocessing performed by the preprocessing unit 302c may be stored in the storage unit 301.
  • the pre-matching process is, for example, a process of limiting the combination of images to be matched. As a result, it is possible to efficiently execute the matching calculation processing described later.
  • the pre-matching process may be executed using the parameter information.
  • the information obtained by performing the matching preprocessing by the preprocessing unit 302c may be stored in the storage unit 301.
  • each preprocessing by the preprocessing unit 302c does not necessarily have to be executed. Therefore, the calibration device 300 may not have the preprocessing unit 302c.
  • the search window generation unit 302d uses 1 for extracting a plurality of feature points of the image using the plurality of parameter information acquired by the parameter acquisition unit 302b.
  • Search window information indicating the above search windows is generated.
  • the search window is used to extract a patch having a shape of the search window and describing a feature amount from the image.
  • the patch is a region defined by the shape of the search window and is a partial image obtained by cutting out a partial region of the image, including the original image itself.
  • the patches extracted centering on the key points on the image and used to describe the feature amount are feature amount patches.
  • the search window information includes information indicating the shape of the search window for extracting the patch, and the shape of the search window is calculated by deforming the search window reference shape based on the parameter information.
  • the search window reference shape is a predetermined shape and is obtained from a device external to the calibration system 1000 or the storage unit 301.
  • the search window generation unit 302d in the arrangement direction of the camera 100a included in one image capturing device that captures the image to be processed and the camera 100b included in another image capturing device based on the plurality of parameter information.
  • the search window having a longer shape in a direction substantially perpendicular to the arrangement direction is generated as the positions and orientations of the cameras 100a and 100b are further apart.
  • the cameras 100a and 100b are arranged side by side in the horizontal direction. Therefore, the search window generation unit 302d generates a search window having a shape that is long in the vertical direction (hereinafter, also referred to as “vertical length”).
  • the search window generation unit 302d extracts a variable based on the parameter information, and uses the search window reference shape and the extracted variable to calculate a search window candidate in which the larger the variable, the longer the window becomes. ,
  • the calculated search window candidates are generated as search window information.
  • the search window generation unit 302d When a plurality of cameras are arranged in the vertical direction, the search window generation unit 302d generates a search window having a horizontally long shape.
  • the parameter information indicates that the difference in relative position and orientation between two cameras, for example, the cameras 100a and 100b, is the angle formed by the imaging directions of the two cameras. Is information indicating that is 90°.
  • the search window generation unit 302d determines the variable ⁇ (>0) for calculating the search window candidates to be ⁇ /2 using the above 90°.
  • the search window generation unit 302d generates, for example, a search window having a shape obtained by multiplying the height of the search window reference shape 500 by [ ⁇ + ⁇ ] as the first search window candidate 501, and sets the width of the search window reference shape 500 to [ A search window having a shape obtained by multiplying ⁇ ′(1/ ⁇ )+ ⁇ ′] times is generated as the second search window candidate 502. Thereby, the search window generation unit 302d generates search window information 510 including the first search window candidate 501 and the second search window candidate 502.
  • the width of the shape of the first search window candidate 501 is equal to the width of the search window reference shape 500.
  • the height of the shape of the second search window candidate 502 is equal to the height of the search window reference shape 500.
  • ⁇ , ⁇ ′, ⁇ and ⁇ ′ are arbitrary constants of 0 or more. Further, [ ⁇ + ⁇ ] is a value larger than 1, and [ ⁇ ′(1/ ⁇ )+ ⁇ ′] is a value smaller than 1.
  • the search window generation unit 302d may use an index that increases in proportion to the difference between the position and orientation of the cameras as the variable ⁇ , and the angle of the angle formed by the imaging directions of the two cameras described above is a variable. It is not limited to use as ⁇ . As described above, the search window generation unit 302d uses the index that increases in proportion to the difference in the position and orientation of the camera as the variable ⁇ , so that the longer the position of one camera is from the other camera, the longer the shape of the search is. The window can be calculated. The search window generation unit 302d only needs to generate one or more search window candidates, and is limited to generating the two first search window candidates 501 and the second search window candidates 502 as described above. is not.
  • the shape of the search window and the calculation method are not limited to the above.
  • the search window generation unit 302d prepares a plurality of search windows having different shapes and/or sizes in advance, and selects one or more search windows according to the parameter information of the imaging device from the prepared plurality of search windows.
  • search window information including one or more selected search windows may be generated.
  • the search window generation unit 302d may calculate the search window by performing geometric calculation according to the parameter information.
  • the search window generation unit 302d may generate search window information in advance and store the generated search window information in the storage unit 301 before receiving the calibration command from the control device 200. Thereby, the calibration device 300 can start the calibration process when it is determined that the calibration is necessary. That is, the calibration device 300 can start the calibration process without generating the search window information after it is determined that the calibration is necessary.
  • the extraction unit 302e executes a keypoint detection process, a feature amount patch extraction process, and a feature amount description process for each of the plurality of images after the preprocessing is performed by the preprocessing unit 302c. As a result, the extraction unit 302e extracts a plurality of feature points from each of the plurality of images.
  • the extraction unit 302e executes each of the above processes for each of the plurality of images acquired by the image acquisition unit 302a.
  • the key point detection process is a process of detecting a characteristic point on the image to be processed as a key point.
  • further orientation information indicating the orientation direction of the keypoint may be obtained.
  • the extraction unit 302e detects a characteristic point P 1 on the image 520 to be processed as a key point.
  • FIG. 9 shows an example in which one keypoint P1 is detected for the sake of simplicity of description, a plurality of keypoints are detected in the actual keypoint detection processing.
  • the feature amount patch extraction process is a process of extracting a plurality of feature amount patches from the image to be processed using the search window information generated by the search window generation unit 302d.
  • the feature amount patch extraction process for example, for each of the plurality of keypoints detected in the keypoint detection process, one or more search windows indicated by the search window information are set as the target of the process so that the keypoint is centered.
  • This is a process of extracting one or more feature amount patches by arranging them on the image. As a result, a plurality of feature amount patches are extracted from the image to be processed.
  • the extraction unit 302e extracts the feature amount patch so that the portrait direction matches the orientation direction D1 indicated by the orientation information of the key point P1.
  • the first search window candidate 501 and the second search window candidate 502 included in the information 510 are rotated.
  • the extraction unit 302e arranges the first search window candidate 501 at a position on the image 520 where the center of the first search window candidate 501 coincides with the key point P1.
  • the extraction unit 302e arranges the second search window candidate 502 on the image 520 at a position where the center of the second search window candidate 502 matches the key point P1.
  • the extraction unit 302e extracts the feature amount patch 521 by cutting out the image 520 with the shape of the first search window candidate 501, and extracts the feature amount patch 522 by cutting out the image 520 with the shape of the second search window candidate 502. Extract.
  • the extraction unit 302e generates the characteristic amount patch information 530 including the characteristic amount patches 521 and 522. Therefore, a more robust feature amount can be extracted in the feature amount description processing described later.
  • the extraction unit 302e may extract the feature amount patch after scaling the search window using the scale information of the detected key point.
  • the extraction unit 302e does not have to perform the process for the search window by using the rotation of the key point P1 in accordance with the orientation direction D1 and the scaling using the scale information.
  • the extraction unit 302e may extract the feature amount patch without performing the process on these search windows, or may extract the feature amount patch by performing either one of the processes. Alternatively, the feature amount patch may be extracted by performing both processes.
  • the feature amount description process is, for each of the plurality of key points detected in the key point detection process, calculates the distribution of each feature of the feature amount patches extracted corresponding to the key point as a feature amount, This is a process of extracting feature points by describing the distribution of the calculated features in key points.
  • the extraction unit 302e calculates the distribution of the features of the feature amount patch 521 extracted from the image 520 and normalizes the calculated distribution of the features. By using the result obtained in this way, it is possible to calculate the similarity between the feature amount patch 521 and the feature amount patch 541 regardless of the size of the feature amount patch.
  • the extraction unit 302e may perform the feature amount description processing after performing the projective transformation of the feature amount patches so that the sizes of all or some of the feature amount patches are unified.
  • the extraction unit 302e may extract feature points by using, for example, a SIFT (Scale-Invariant Feature Transform) algorithm.
  • SIFT Scale-Invariant Feature Transform
  • the matching calculation unit 302f uses the plurality of feature points extracted by the extraction unit 302e for each of the plurality of images to match the plurality of feature points between the plurality of images.
  • the matching calculation unit 302f associates, from among the plurality of feature points, feature points having similar normalized feature distributions, and outputs the associated feature points as one matching result.
  • the matching calculation unit 302f uses the squared error or absolute error of the feature points to determine whether the feature points are similar. For example, as illustrated in FIG.
  • the matching calculation unit 302f performs matching using a plurality of feature points indicated by white circles in the image 520 and a plurality of feature points indicated by white circles in the image 540, thereby The feature point P 1A in 520 and the feature point P 1B in the image 540 are associated as a matching point P 1 . Since the matching calculation unit 302f performs matching on other feature points in the same manner, a plurality of matching points are obtained as matching results.
  • the matching result output from the matching calculation unit 302f is stored in, for example, the storage unit 301.
  • the reconstruction unit 302g executes a calibration process based on the matching result obtained by the matching calculation unit 302f, and calibrates the parameters of the camera 100 included in the plurality of imaging devices 10a to 10n.
  • the calibration process is based on a plurality of matching results obtained by being imaged by each of the cameras 100 included in the imaging devices 10a to 10n, and using geometrical constraints such as epipolar constraints, the cameras included in the imaging devices 10a to 10n.
  • 100 external parameters, or internal parameters, or both are calculated.
  • the external parameters of the camera 100, the internal parameters, or both may be stored in the storage unit 301.
  • the external parameters and internal parameters of the camera stored in the storage unit 301 may be acquired by the parameter acquisition unit 302b during calibration at different times. As a result, the calibration can be executed by using the camera parameters obtained at the past time as the parameter information.
  • the reconstructing unit 302g also estimates the three-dimensional position of each matching result in the three-dimensional space from the plurality of matching results. Specifically, the reconstruction unit 302g estimates the three-dimensional position of each of the plurality of matching results in the three-dimensional space by using the triangulation method.
  • the calibration system 1000 determines whether or not to execute the calibration process when a change (event) occurs in the imaging device or the surrounding environment in order to execute the calibration in a timely manner.
  • FIG. 12 is a sequence diagram for explaining a series of operations by the calibration system 1000 according to the present embodiment, including a determination as to whether or not to perform calibration.
  • the imaging device 10 in FIG. 12 refers to any one of the imaging devices 10a to 10n shown in FIG.
  • the event detection unit 202b acquires the status of the imaging device 10 (or the camera 100) and the surrounding status of the video imaged by the imaging device 10 constantly or at a predetermined cycle, and detects changes in these conditions. It is detected as a change event (S31).
  • the change in the situation is a change in which the current camera parameter does not accurately indicate the position and orientation of the camera 100, and specifically, for example, a change in the imaging area.
  • the event detection unit 202b moves the camera 100 itself, moves the gantry 110 on which the camera 100 is installed, the pillar on which the imaging device 10 is installed, A movement of a surrounding object such as a table or the like, deterioration of a member of the camera 100, or a change in the situation due to a combination thereof is detected as a change event for executing the calibration process. Further, the change in the situation is not limited to the above change in the imaging region.
  • the event detection unit 202b detects a change to a situation in which the calibration process is easy as an easy event (S32).
  • the easy event is, for example, a change to a situation in which a certain number or more of moving objects such as people or cars exist in the three-dimensional space A1 to be imaged by the imaging device 10. That is, the easy event is a change from a situation in which the image captured by the imaging device 10 includes less than a certain number of moving bodies to a state in which the image captured by the image capturing apparatus 10 includes a certain number or more moving bodies.
  • the control device 200 can perform the calibration process at the timing when the calibration is necessary by issuing the calibration command at the timing when the easy event is detected after the change event is detected by the event detection unit 202b, and the camera parameters can be accurately obtained. ..
  • the control device 200 holds the change event detected result,
  • the captured image is received from the image capturing apparatus 10 by outputting the image capturing instruction to the image capturing apparatus 10, and it is determined again whether an easy event has occurred.
  • the event detecting unit 202b detects an easy event (Yes in S32)
  • the event detecting unit 202b outputs calibration information.
  • the calibration information includes the camera 100 (or the imaging device 10 including this camera 100) that is the target of the calibration and the reason for determining that the calibration is to be performed (the above event).
  • the calibration information is input to the calibration command unit 202c.
  • the calibration command unit 202c Upon receiving the calibration information, the calibration command unit 202c generates a calibration command based on the content of the calibration information, and transmits the generated calibration command to the imaging device 10 including the appropriate camera 100.
  • the calibration information may be sent to the user interface 400, for example, and presented to a user such as a system administrator (S33).
  • the user inputs, via the user interface 400, an instruction for causing the target camera 100 to perform calibration based on this information (S34).
  • the input user instruction is transmitted to the control device 200.
  • the camera 100 of the image pickup apparatus 10 that has received the image pickup instruction executes an image pickup process.
  • the calibration device 300 that has received the calibration command executes the calibration process (S35).
  • the calibration process is executed in the calibration apparatus 300 based on the calibration command, and the external parameters of all the imaging apparatuses 10a to 10n are calibrated.
  • the controller 202 of the camera 100 may calibrate.
  • the control device 200 outputs the camera parameter as the calibration result calculated by executing the calibration process (S36).
  • FIG. 13 is a flowchart showing an example of the calibration process in the first embodiment.
  • FIG. 14 is a flowchart showing an example of feature point extraction processing according to the first embodiment.
  • the parameter acquisition unit 302b acquires parameter information regarding each parameter of the plurality of imaging devices 10a to 10n (S41).
  • the image acquisition unit 302a acquires a plurality of images respectively imaged by the plurality of imaging devices 10a to 10n (S42). Note that step S42 may be performed before step S41 or may be performed in parallel with step S41.
  • the preprocessing unit 302c executes preprocessing for each of the plurality of images (S43). Although described above, the preprocessing may not be executed.
  • the search window generation unit 302d uses, for each of the plurality of preprocessed images, one or more for extracting a plurality of feature points of the image using the plurality of acquired parameter information of the plurality of imaging devices 10a to 10n.
  • the search window information indicating the search window of is calculated (S44).
  • the extraction unit 302e extracts a plurality of feature points for each of the plurality of preprocessed images (S45).
  • the extraction unit 302e executes the feature point extraction process for each of the plurality of images acquired by the image acquisition unit 302a when the preprocessing is not executed.
  • the extraction unit 302e first detects a plurality of key points in the image to be processed (S51).
  • the extraction unit 302e causes the one or more search windows indicated by the search window information to be processed so that each of the detected key points is centered.
  • one or more feature amount patches are extracted (S52).
  • the extraction unit 302e calculates, as a feature amount, the distribution of each feature of the feature amount patches extracted corresponding to the key point to be processed for the image to be processed, and calculates the feature value calculated for the key point.
  • the distribution is described, and the points in which the characteristic amount is described are extracted as the characteristic points (S53).
  • the matching calculation unit 302f uses a plurality of feature points extracted for each of the plurality of images to match a plurality of feature points between the plurality of images (S46).
  • the reconstruction unit 302g calibrates the parameters of the camera 100 included in the plurality of imaging devices 10a to 10n based on the plurality of matching results obtained by the matching (S47).
  • the reconstruction unit 302g estimates the three-dimensional position of each of the plurality of matching results in the three-dimensional space. Then, the reconstructing unit 302g matches the feature points having the same position in the three-dimensional space, which are extracted from the plurality of captured images which are the results of capturing the imaging region by the cameras 100 of the plurality of imaging devices 10a to 10n. Then, using the matching result, the camera parameters of the plurality of imaging devices 10a to 10n are calculated. Specifically, the camera parameters of the plurality of imaging devices 10a to 10n can be obtained by using geometrical constraints such as epipolar constraints based on the matching result.
  • the calibration device 300 calibrates the camera parameters of the camera 100 included in the plurality of imaging devices 10a to 10n, which are installed at mutually different positions and each image a common three-dimensional space. To do.
  • a plurality of images respectively captured by the plurality of image capturing devices 10a to 10n are acquired, parameter information regarding each parameter of the plurality of image capturing devices 10a to 10n is acquired, and for each of the plurality of acquired images, Search window information indicating one or more search windows for extracting a plurality of feature points of the image is generated using the acquired plurality of parameter information, and the generated search is performed for each of the acquired plurality of images.
  • Multiple feature points are extracted using the window information, multiple feature points are extracted for each of multiple images, and multiple feature points are matched between multiple images.
  • the parameters of the plurality of imaging devices 10a to 10n are calibrated based on the matching result of 1.
  • extraction of a plurality of feature points for performing matching between a plurality of images is performed using the search window information generated using the parameter information of the plurality of imaging devices 10a to 10n.
  • each of the plurality of parameter information is information relating to the position and orientation of the imaging device corresponding to the parameter information, and is obtained by the calibration performed at the past time for the corresponding imaging device.
  • Information including a camera label that identifies the corresponding imaging device. Therefore, in the calibration, the parameters of the plurality of imaging devices 10a to 10n can be efficiently calibrated by performing the calibration using the parameter information obtained in the past.
  • each of the plurality of parameter information is information regarding the position and orientation of the image pickup apparatus corresponding to the parameter information, and the relative position and orientation between the corresponding image pickup apparatus and another image pickup apparatus.
  • Related information including a camera label that identifies the corresponding imaging device. Therefore, in the calibration, the parameter of the plurality of imaging devices 10a to 10n is efficiently used by performing the calibration using the information on the relative position and orientation of the target imaging device with respect to the other imaging device as the parameter information. Can be calibrated well.
  • each of the plurality of parameter information is information relating to the position and orientation of the imaging device corresponding to the parameter information, and indicates the distance from the corresponding imaging device to an arbitrary point in the three-dimensional space.
  • Information including a camera label that identifies the corresponding imaging device. Therefore, in the calibration, the parameter of the plurality of image pickup devices 10a to 10n is efficiently used by performing the calibration using the information indicating the distance from the target image pickup device to an arbitrary point in the three-dimensional space as the parameter information. Can be calibrated.
  • search window information in the generation of search window information, based on a plurality of parameter information, one image pickup device that picked up the image and one image pickup device and another image pickup device in the arrangement direction of the other image pickup devices.
  • the more one or more search windows including the search window having a long shape in a direction substantially perpendicular to the arrangement direction are calculated. Therefore, it is possible to calculate the search window corresponding to the image pickup device that picked up the image, and it is possible to effectively extract the feature points from the plurality of images.
  • a plurality of key points are detected from the image, and (ii) for each of the detected plurality of key points, (ii-i) One or more feature amount patches are extracted by arranging one or more search windows indicated by the search window information on the image so that the key point becomes the center, and (ii-ii) corresponding to the key point
  • the feature points are extracted by calculating the distribution of the features of each of the extracted one or more feature amount patches as the feature amount, and describing the calculated distribution of the features at the key points. Therefore, it is possible to extract a plurality of feature points including the feature amount according to the parameter information of each of the plurality of imaging devices 10a to 10n.
  • the calibration device calibrates parameters of a plurality of imaging devices that image a common three-dimensional space with respect to a plurality of imaging devices arranged at mutually different positions. It is a calibration device that does.
  • the correspondence candidates of feature points in the matching calculation unit 302f are limited by the three-dimensional model reconstructed using the parameters of the imaging devices 10a to 10n stored in the storage unit 301.
  • the calibration device 300A has a configuration in which a three-dimensional information estimation unit 303 is further added to the configuration of the first embodiment as shown in FIG.
  • the configuration of the calibration unit 302 is similar to that of the first embodiment, but the functions and inputs/outputs of the parameter acquisition unit 302b, the search window generation unit 302d, and the matching calculation unit 302f are different from those of the first embodiment.
  • the operations of the three-dimensional information estimation unit 303 and the calibration unit 302 will be described below.
  • the parameter acquisition unit 302b of the calibration unit 302 receives the first parameter information indicating each parameter of the camera 100 included in the imaging devices 10a to 10n from the external device of the calibration device 300 or the storage unit 301. get.
  • the parameters of each camera 100 include internal parameters and external parameters of the camera 100.
  • the parameter acquisition unit 302b outputs the first parameter information including the parameters to the three-dimensional information estimation unit 303.
  • the first parameter information is information regarding the position and orientation of each camera 100, and is information obtained by the calibration performed at the past time for the corresponding imaging device. , Including a camera label that identifies the corresponding imaging device.
  • the reason why the calibration process is executed even when the camera parameter exists is that the position and orientation of the imaging devices 10a to 10n installed in the shooting environment change due to various factors, as described in the first embodiment. This is because it ends up. Various factors are, for example, vibrations of buildings and roads, rain and wind, and deterioration of a pedestal and an installation site over time. In addition to these factors, there is the elapsed time since the past calibration and the uncertainty of the information calculated from other than the image. That is, the parameters of the camera 100 acquired by the parameter acquisition unit 302b may be low in accuracy at the time of execution of the calibration process, and are not appropriate as a calibration result as they are. Therefore, in the present embodiment, feature point matching is performed using the first parameter information acquired by the parameter acquisition unit 302b as a clue.
  • the first parameter information acquired by the parameter acquisition unit 302b may be input to the reconstruction unit 302g.
  • each parameter can be used as an initial value, and the efficiency of calculation in the reconstruction unit 302g can be improved.
  • the three-dimensional information estimation unit 303 when the calibration process is executed, the plurality of images acquired by the image acquisition unit 302a and the camera 100 acquired by the parameter acquisition unit 302b.
  • the three-dimensional information indicating the three-dimensional model is estimated based on the first parameter information of.
  • the three-dimensional information is, for example, a three-dimensional mesh model represented by a combination of planes as shown in FIG.
  • the three-dimensional model represented by the three-dimensional information does not have to be a three-dimensional mesh model, but may be a point cloud or voxels. Further, the three-dimensional information may be a depth image.
  • the 3D information does not need to estimate a highly accurate shape for an object in a 3D space. It may be the result of estimating.
  • the three-dimensional information estimating unit 303 adds the estimated three-dimensional information to the plurality of first parameter information acquired by the parameter acquiring unit 302b, as illustrated in (c) of FIG. Generate two-parameter information.
  • the three-dimensional information estimation unit 303 outputs the generated plurality of second parameter information to the search window generation unit 302d.
  • the search window generation unit 302d limits the combination of matching of feature points based on the second parameter information output by the three-dimensional information estimation unit 303 for each of the plurality of images acquired by the image acquisition unit 302a. Search area information indicating one or more search areas is generated.
  • the search area information is, for example, as shown in FIG. 17, information for limiting matching candidates of feature points in matching, and based on the second parameter information, the search area reference shape 600. Is transformed to obtain a corresponding image area in a three-dimensional space in an image pair consisting of two images 520 and 540 among a plurality of images.
  • the search window generation unit 302d extracts a variable or a vector that represents a difference in appearance in the horizontal direction, the vertical direction, or both in each image pair on the basis of the second parameter information, and the horizontal direction or the vertical direction or both of them is extracted.
  • the search area candidates are calculated such that the larger the difference in direction is, the longer the search area becomes, and the search areas for each image pair are collectively calculated as the search area information 610.
  • the search window generation unit 302d extracts a vector ⁇ representing the difference between the horizontal direction and the vertical direction, and determines the width based on the horizontal direction component ⁇ x and the vertical direction component ⁇ y. [ ⁇ x + ⁇ ] times and the height is [ ⁇ ′ ⁇ y + ⁇ ′] times. ⁇ , ⁇ ′, ⁇ , and ⁇ ′ are arbitrary constants of 0 or more.
  • the search window generation unit 302d calculates that the larger the difference in appearance in each direction is, the larger the respective values of the horizontal component ⁇ x and the vertical component ⁇ y are.
  • the search window generation unit 302d extracts a search region that becomes longer as the value of ⁇ x becomes larger, and extracts a search region that becomes longer as the value of ⁇ y becomes larger.
  • variable that represents the difference in appearance may be composed of one or more values, or may be composed of multiple values.
  • the search window generation unit 302d uses the feature points extracted by the extraction unit 302e before the search window generation unit 302d operates to extract a variable composed of the same number of values as the number of feature points.
  • the search area may be obtained by the number of feature points.
  • the search window generation unit 302d may obtain as many search areas as the number of clusters obtained by clustering the feature points based on the positions in the image coordinates.
  • the search window generation unit 302d may calculate search window information for extracting the feature amount patch as in the first embodiment.
  • the search window generation unit 302d may calculate the search window information for extracting the feature amount patch and the search area information for limiting the corresponding point candidates for matching at the same time or at different timings. Good. Note that the search window generation unit 302d does not necessarily have to execute the search window information calculation for extracting the feature amount patch.
  • the extraction unit 302e may extract the feature points using a patch of a fixed size, or a patch resized according to the keypoint orientation information and scale information, without acquiring the search window information.
  • the matching calculation unit 302f uses the search area information generated by the search window generation unit 302d to narrow down feature point matching candidates from the extracted plurality of feature points, and uses the narrowed down feature points as candidates. Then, a plurality of feature points are matched between the plurality of images.
  • the narrowing down of matching candidates is a process of limiting the correspondence candidates of the feature points, and based on the search area information for the image pair, the combination of the feature points for which matching is calculated is limited to the feature points on the corresponding search areas. That is.
  • a feature point P 11A existing on a circle- shaped search area D iA of an image 540 and a search area D iB surrounded by an ellipse of an image 520 showing a close position in a three-dimensional space performs correlation only the combination of feature point P 11B existing in the upper, likewise search area D jA on the feature point P 12A present, P 13A and the search area D feature point P 13B existing on jB, P Matching is calculated by associating only the combinations with 14B and P 15B .
  • the first search areas D iA and D jA in the image 540 of the plurality of images and the second search areas D iB and D jB in the image 520 respectively correspond to the areas in the three-dimensional space. ..
  • Matching calculation unit 302f are included in the second search area D iB corresponding with a first feature point P 11A included in the first search area D iA, common area on the first search region D iA and three-dimensional space
  • the second feature point P 11B is narrowed down as a matching candidate, and matching is performed using the first feature point P 11A and the second feature point P 11B .
  • the matching calculation unit 302f performs the second search corresponding to the first feature points P 12A and P 13A included in the first search area D jA and the area common to the first search area D jA in the three-dimensional space.
  • the second feature points P 13B , P 14B , P 15B included in the region D jB are narrowed down as candidates for matching, and the first feature points P 12A , P 13A and the second feature points P 13B , P 14B , P 15B are obtained. Use to match.
  • the matching calculation unit 302f does not perform matching using the first feature point P 11A and the feature points other than the second feature point P 11B in the image 520. Similarly, the matching calculation unit 302f does not perform matching using the first feature points P 12A and P 13A and the feature points other than the second feature points P 13B , P 14B , and P 15B in the image 520. Similarly, the matching calculation unit 302f does not perform matching using the feature points other than the first feature point P 11A in the image 540 and the second feature point P 11B . Similarly, the matching calculation unit 302f does not perform matching using the feature points other than the first feature points P 12A and P 13A in the image 540 and the second feature points P 13B , P 14B , and P 15B .
  • the calibration device 300 calibrates the camera parameters of the camera 100 included in the plurality of imaging devices 10a to 10n, which are installed at mutually different positions and each image a common three-dimensional space. To do.
  • a plurality of images captured by the plurality of image capturing devices are acquired, first parameter information regarding parameters of the image capturing device is acquired for each of the plurality of image capturing devices, and the plurality of acquired images and the acquired images are acquired.
  • a plurality of second parameter information obtained by estimating three-dimensional information in a three-dimensional space based on the plurality of first parameter information and adding the estimated three-dimensional information to the plurality of first parameter information.
  • Parameter information is output, and search area information indicating one or more search areas for limiting the combination of matching of feature points based on the plurality of output second parameter information is output for each of the plurality of acquired images.
  • search area information indicating one or more search areas for limiting the combination of matching of feature points based on the plurality of output second parameter information is output for each of the plurality of acquired images.
  • the plurality of feature points are used to match the plurality of feature points between the plurality of images, and the parameters of the plurality of imaging devices are calibrated based on the plurality of matching results obtained by the matching.
  • the search window generation unit 302d calculates the shape of the search window by deforming the search window reference shape based on the parameter information, but the present invention is not limited to this.
  • the search window generation unit 302d performs image processing for recognizing the shape of the object on one image 540 of the plurality of images acquired by the image acquisition unit 302a, thereby determining the shape of the recognized object.
  • the area may be divided from the image 540. That is, the search window generation unit 302d recognizes the shape of the object reflected in each of the acquired images and generates a search window surrounding the shape.
  • the search window generation unit 302d recognizes an area 601 in which the house is reflected and an area 602 in which the vehicle is reflected in the image 540, and the recognized areas 601 and 602 are recognized. Is segmented from the image 540.
  • the shapes of the regions 601 and 602 may be extracted in pixel units in the image 540 as shown in FIG. 20, or may be a predetermined shape that surrounds the recognized object.
  • the predetermined shape is, for example, a quadrangle, a circle, an ellipse, or the like.
  • the recognition of the shape of the object is realized by, for example, machine learning and pattern recognition, but the means for realizing the recognition of the shape of the object is not limited to these.
  • the search window generation unit 302d uses the parameter information of the camera that captured the image 540 and the camera that captured the image 520 to determine the shape, size, and position of the regions 601 and 602 that were divided into regions from the image 540. , Into regions 611 and 612 having a shape, size and position suitable for the image 520. Then, the search window generation unit 302d applies the regions 611 and 612 obtained by the deformation to the image 520 as search windows. In this way, the search window generation unit 302d generates a pair of search windows of the region 601 and the region 611 and a pair of search windows of the region 602 and the region 612, which are associated with each other between the images 540 and 520. You may.
  • the search window generation unit 302d may generate a search window having a different shape for each area of each image.
  • the search window generation unit 302d generates circular or elliptical search windows 603 and 613 when the size (area) of the region to which the search window is applied is smaller than a predetermined size
  • the rectangular search windows 604 and 614 may be generated when the size of the area to which the search window is applied is larger than a predetermined size.
  • the search window generation unit 302d generates the search windows 603 and 604 having different shapes as the search windows applied to the image 540, and the search windows 613 and the search windows 613 having the different shapes as the search windows applied to the image 520. 614 may be generated.
  • search window generation section 302d once generates search windows 605 and 615 in images 540 and 520, respectively, and then shapes at least one of generated search windows 605 and 615. May be changed.
  • the search window generation unit 302d may change the search window applied to the image 520 from the rectangular search window 615 to the circular search window 616.
  • the search window 616 is, for example, a circumscribed circle of the rectangular search window 615.
  • the search window generation unit 302d uses the generated search windows 605 and 615 to search the search window 615 when the similarity between the two feature amount patches extracted from the images 540 and 520 is smaller than the predetermined similarity. You may change to the window 616. Then, the similarity between the feature amount patch extracted from the image 540 using the search window 605 and the feature amount patch extracted from the image 520 using the changed search window 616 may be calculated again.
  • the search window generation unit 302d may change the size of the search window 615 to a size larger than the search window 615 instead of changing the shape of the generated search window 615. Further, the search window generation unit 302d may change the search window 615 according to the accuracy of the parameter information of the camera capturing the image 540 and the camera capturing the image 520. For example, when the parameter information is the parameter information based on the difference between the position and orientation of a person visually as shown in FIG. 7A, the search window generation unit 302d has a similar characteristic point because the accuracy of the parameter information is lower than the predetermined accuracy. The search window used for the search may be changed from the search window 615 to the search window 616.
  • the search window generation unit 302d has a higher accuracy of the parameter information than the predetermined accuracy, and therefore the similar feature points
  • the search window used for the search may be set to the search window 615 without changing to the search window 616.
  • each component may be configured by dedicated hardware, or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded in a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the imaging system of each of the above embodiments is the following program.
  • this program is a calibration method for calibrating a plurality of parameters of a plurality of image pickup devices, which are arranged in different positions in a computer, and which respectively image a common three-dimensional space, using a processor, Acquiring a plurality of images respectively imaged by the plurality of imaging devices, acquiring parameter information regarding each parameter of the plurality of imaging devices, for each of the plurality of acquired images, the plurality of acquired Using the parameter information, search window information indicating one or more search windows for extracting a plurality of feature points of the image is generated, and the generated search window information is set for each of the plurality of acquired images.
  • a calibration method for calibrating the parameters of the plurality of imaging devices is executed based on the obtained plurality of matching results.
  • the program is a calibration method for calibrating a plurality of parameters of a plurality of image pickup devices, which are arranged at different positions in a computer, and which respectively image a common three-dimensional space.
  • first parameter information indicating parameters of the imaging device, the plurality of acquired images, and the plurality of acquired images.
  • a plurality of second parameters obtained by estimating three-dimensional information in the three-dimensional space based on the first parameter information and adding the estimated three-dimensional information to the plurality of first parameter information.
  • a search area that outputs one or more search areas for outputting the parameter information and limiting the combination of matching of feature points based on the plurality of second parameter information that has been output for each of the plurality of acquired images.
  • Information is generated, for each of the plurality of images, a plurality of feature points is extracted, and using the generated search area information, narrowing down candidates for matching feature points from the plurality of extracted feature points, Using the plurality of feature points narrowed down as the candidates, the plurality of feature points are matched between the plurality of images, and based on the plurality of matching results obtained by the matching, the plurality of image pickup devices Perform the calibration method to calibrate the parameters.
  • the present disclosure is useful as a calibration method, a configuration device, or the like that can accurately calibrate the parameters of each camera included in a plurality of imaging devices arranged at mutually different positions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Vascular Medicine (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)

Abstract

校正方法は、それぞれが共通する三次元空間(A1)を撮像する複数の撮像装置(10a~10n)のパラメータを、プロセッサを用いて校正する校正方法であって、複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、複数の撮像装置のそれぞれのパラメータを取得し、複数の画像のそれぞれについて、複数のパラメータを用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を生成し、複数の画像のそれぞれについて、1以上の探索窓内から複数の特徴点を抽出し、複数の画像間で複数の特徴点のマッチングを行い、得られた複数のマッチング結果に基づいて、複数の撮像装置のパラメータを校正する。

Description

校正方法および校正装置
 本開示は、複数の撮像装置のパラメータを校正する校正方法、および、校正装置に関する。
 特許文献1には、撮像装置によって撮影された複数の画像を射影変換することで、同じ被写体に対する撮像装置からの見え方が大きく異なる画像間のマッチングを行う技術が開示されている。
特表2011-521372号公報
 本開示は、複数の撮像装置のパラメータを精度よく校正することができる校正方法および校正装置を提供する。
 本開示の第一態様における校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれのパラメータを取得し、取得された前記複数の画像のそれぞれについて、取得された前記複数のパラメータを用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を生成し、取得された前記複数の画像のそれぞれについて、生成された前記1以上の探索窓内から前記複数の特徴点を抽出し、前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 また、本開示の第二態様における校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれについて、当該撮像装置の第1パラメータを取得し、取得された前記複数の画像と、取得された複数の前記第1パラメータとに基づいて、前記三次元空間上における三次元情報を推定し、推定された前記三次元情報を前記複数の第1パラメータに追加することで得られた複数の第2パラメータを出力し、取得された前記複数の画像のそれぞれについて、出力された前記複数の第2パラメータに基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を算出し、前記複数の画像のそれぞれについて、複数の特徴点を抽出し、算出された前記1以上の探索領域を用いて、抽出された前記複数の特徴点から特徴点のマッチングの候補を絞り込み、前記候補として絞り込まれた複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 また、本開示の第三態様における校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、取得された前記複数の画像のそれぞれについて、映り込んでいる物体の形状を認識し、当該形状を囲む探索窓を生成し、取得された前記複数の画像のそれぞれについて、生成された前記探索窓内から前記複数の特徴点を抽出し、前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 本開示における校正方法および校正装置は、複数の撮像装置のパラメータを精度よく校正することができる。
図1は、三次元空間認識の概要を示す図である。 図2は、校正の概要を示す図である。 図3は、実施の形態1における校正システムの構成を示すブロック図である。 図4は、実施の形態1における撮像装置の構成を示すブロック図である。 図5は、実施の形態1における制御装置の構成を示すブロック図である。 図6は、実施の形態1における校正装置の構成を示すブロック図である。 図7Aは、パラメータ情報の一例について説明するための図である。 図7Bは、パラメータ情報の一例について説明するための図である。 図7Cは、パラメータ情報の一例について説明するための図である。 図7Dは、パラメータ情報の一例について説明するための図である。 図7Eは、パラメータ情報の一例について説明するための図である。 図7Fは、パラメータ情報の一例について詳細を説明するための図である。 図8は、実施の形態1における校正処理の詳細を説明するための図である。 図9は、実施の形態1における校正処理の詳細を説明するための図である。 図10は、実施の形態1における校正処理の詳細を説明するための図である。 図11は、実施の形態1における校正処理の詳細を説明するための図である。 図12は、校正処理の詳細を説明するためのシーケンス図である。 図13は、実施の形態1における校正処理の詳細を説明するためのフローチャート図である。 図14は、実施の形態1における特徴点の抽出処理の一例を示すフローチャートである。 図15は、実施の形態2における校正装置の構成を示すブロック図である。 図16は、実施の形態2における校正処理の詳細を説明するための概要図である。 図17は、実施の形態2における校正処理の詳細を説明するための概要図である。 図18は、実施の形態2における校正処理の詳細を説明するための概要図である。 図19は、実施の形態2における校正処理の詳細を説明するための概要図である。 図20は、変形例1における探索窓の生成処理を説明するための図である。 図21は、変形例2における探索窓の生成処理を説明するための図である。 図22は、変形例3における探索窓の生成処理を説明するための図である。
 (本発明の基礎となった知見)
 三次元空間認識は、被写体の三次元形状を再構成(モデリング)をすることで、または再構成結果を用いることで実現される。被写体の三次元形状を再構成する三次元空間再構成装置は、同一の場面の映像を撮影する複数のカメラを含む撮像システムから提供される映像データと、校正によって得られた各カメラの位置および姿勢等(以下、「位置姿勢」という。)を示すカメラパラメータと、を用いてモデリングを行う。したがって、校正後にカメラの位置等が変化すると、カメラパラメータがカメラの位置等の実際の状態を反映していないために被写体の三次元形状再構成が適切に実行できず、その結果、三次元空間認識の精度が低下する、または生成そのものに失敗する。このため、定期的にカメラのパラメータを校正する必要がある。
 このような撮像システムにおいて複数のカメラは、所定の空間を取り囲むように配置される。このため、複数のカメラのうちの2つのカメラ間の位置姿勢が大きく離れている場合に、2つのカメラからの所定の空間内の被写体の見え方は大きく異なる。よって、複数のカメラのそれぞれについてカメラパラメータを校正しようとすると、三次元空間上で同一点とみなされる位置に対するユニークな特徴点の抽出が難しく、結果、精度よくパラメータを校正することが難しいという課題があった。また、特許文献1に開示されている従来技術は、近似的にカメラからの見え方が同じになるように画像を変換し特徴点を抽出することでマッチング精度を向上させているが、一方で高負荷な処理が必要であるという課題があった。
 このように、従来の技術では、複数の撮像装置のパラメータの校正を容易に行うことができていなかった。
 そこで、本開示の第一態様における校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれのパラメータを取得し、取得された前記複数の画像のそれぞれについて、取得された前記複数のパラメータを用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を生成し、取得された前記複数の画像のそれぞれについて、生成された前記1以上の探索窓内から前記複数の特徴点を抽出し、前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 これによれば、複数の画像間でのマッチングを行うための複数の特徴点の抽出を、複数の撮像装置のパラメータを用いて生成した1以上の探索窓を用いて行う。これにより、互いに異なる位置において撮像された結果であることを考慮して複数の画像から特徴点を抽出することができる。このため、マッチングの処理負荷を低減しつつ、マッチングの精度を向上することができる。よって、複数の撮像装置のパラメータを精度よく校正することができる。
 また、前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置に対して過去の時刻に行われた校正により得られ、且つ前記対応する撮像装置を識別するカメララベルを含んでもよい。
 このため、過去に得られたパラメータを用いた校正を行うことで、複数の撮像装置のパラメータを効率よく校正することができる。
 また、前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置と他の撮像装置との間の相対的な位置姿勢に関し、且つ前記対応する撮像装置を識別するカメララベルを含んでもよい。
 このため、対象となる撮像装置の他の撮像装置との間の相対的な位置姿勢に関するパラメータを用いた校正を行うことで、複数の撮像装置のパラメータを効率よく校正することができる。
 また、前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置から前記三次元空間上の任意の点までの距離を示し、且つ前記対応する撮像装置を識別するカメララベルを含んでもよい。
 このため、対象となる撮像装置から三次元空間上の任意の点までの距離を示すパラメータを用いた校正を行うことで、複数の撮像装置のパラメータを効率よく校正することができる。
 また、前記1以上の探索窓の生成では、前記複数のパラメータに基づいて、当該画像を撮像した一の撮像装置および他の撮像装置の並び方向における前記一の撮像装置および前記他の撮像装置の間の位置姿勢が離れているほど、前記並び方向に略垂直な方向に長い形状を有する探索窓を算出してもよい。
 このため、画像が撮像された撮像装置に応じた探索窓を算出することができ、複数の画像から特徴点を効果的に抽出することができる。
 また、前記複数の特徴点の抽出では、(i)当該画像から複数のキーポイントを検出し、(ii)検出された前記複数のキーポイントのそれぞれについて、(ii-i)当該キーポイントが中心となるように、前記1以上の探索窓を当該画像上に配置することで1以上の特徴量パッチを抽出し、(ii-ii)当該キーポイントに対応して抽出された前記1以上の特徴量パッチのそれぞれの特徴の分布を特徴量として算出し、当該キーポイントに算出された前記特徴の分布を記述することで前記特徴点を抽出してもよい。
 このため、複数の撮像装置のそれぞれのパラメータに応じた特徴量を含む特徴点を複数抽出することができる。
 また、本開示の他の一態様に係る校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれについて、当該撮像装置の第1パラメータを取得し、取得された前記複数の画像と、取得された複数の前記第1パラメータとに基づいて、前記三次元空間上における三次元情報を推定し、推定された前記三次元情報を前記複数の第1パラメータに追加することで得られた複数の第2パラメータを出力し、取得された前記複数の画像のそれぞれについて、出力された前記複数の第2パラメータに基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を算出し、前記複数の画像のそれぞれについて、複数の特徴点を抽出し、算出された前記1以上の探索領域を用いて、抽出された前記複数の特徴点から特徴点のマッチングの候補を絞り込み、前記候補として絞り込まれた複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 これによれば、三次元情報を含む第2パラメータに基づいて生成した探索領域を用いて、特徴点のマッチングの候補を絞り込んでマッチングを行うため、マッチングの精度を向上させることができ、かつ、マッチングを効率よく行うことができる。このため、複数の撮像装置のパラメータを精度よく校正することができる。
 また、前記複数の第1パラメータのそれぞれは、当該第1パラメータが対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置について過去の時刻に行われた校正により得られ、且つ前記対応する撮像装置を識別するカメララベルを含んでもよい。
 このため、過去に得られたパラメータを用いた校正を行うことで、複数の撮像装置のパラメータを効率よく校正することができる。
 また、前記複数の画像のうちの第1画像における前記1以上の探索領域である1以上の第1探索領域と、前記複数の画像のうちの第2画像における前記1以上の探索領域である1以上の第2探索領域とは、それぞれ、前記三次元空間上の1以上の領域に対応しており、前記マッチングでは、一の前記第1探索領域に含まれる1以上の第1特徴点と、前記一の第1探索領域と前記三次元空間上の共通する領域で対応する一の前記第2探索領域に含まれる1以上の第2特徴点とを、前記マッチングの前記候補として絞り込み、前記1以上の第1特徴点と前記1以上の第2特徴点とを用いてマッチングを行ってもよい。
 これによれば、第1画像および第2画像について、それぞれ、三次元空間上の共通する領域で対応する第1探索領域に含まれる1以上の第1特徴点と、第2探索領域に含まれる1以上の第2特徴点とを対応付けるため、マッチングの精度を向上させることができ、かつ、マッチングを効率よく行うことができる。
 また、前記マッチングでは、前記1以上の第1特徴点と、前記第2画像における前記1以上の第2特徴点以外の特徴点とを用いてマッチングを行わず、前記第1画像における前記1以上の第1特徴点以外の特徴点と、前記1以上の第2特徴点とを用いてマッチングを行わなくてもよい。
 これによれば、三次元空間上の共通しない領域同士では、マッチングを行わないため、マッチングの精度を向上させることができ、かつ、マッチングを効率よく行うことができる。
 本開示の他の一態様に係る校正方法は、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、取得された前記複数の画像のそれぞれについて、映り込んでいる物体の形状を認識し、当該形状を囲む探索窓を生成し、取得された前記複数の画像のそれぞれについて、生成された前記探索窓内から前記複数の特徴点を抽出し、前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する。
 この校正方法では、物体の形状を囲む探索窓を用いて特徴点のマッチングを行うので、マッチングの処理負荷が低減されつつ、マッチングの精度が向上する。
 なお、これらの全般的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
 以下、本開示の一態様に係る校正システムおよび校正方法について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 以下、図を用いて実施の形態1を説明する。
 (実施の形態1)
 [1.三次元空間認識と校正の概要]
 まず、本実施の形態にかかる校正システムが用いられる三次元空間認識および校正の概要について図1および図2を用いて説明する。図1は、三次元空間認識の概要を示す図である。図2は、校正の概要を示す図である。
 校正システムは、所定の三次元空間A1(以下、「空間A1」とも言う。)内における同一シーンを撮像するためのカメラ100を複数台備える。具体例を挙げると、所定の三次元空間A1は、交通道路上の空間であり、同一シーンとはその道路20上を車両21が走行する、または歩行者(図示せず)が存在するシーンである。別の例として、監視対象が存在する三次元空間を所定の三次元空間とし、同一シーンは人または物の動作が挙げられる。
 複数台のカメラ100のそれぞれは、互いに異なる位置に配置されており、それぞれが共通する三次元空間を撮像する。このため、三次元空間内における複数台のカメラ100の撮像対象の領域は、少なくとも一部に重複する領域を有する。例えば、複数台のカメラ100は、道路20上の空間A1を一部囲むように、互いに異なる位置に設置される。また、複数台のカメラ100は、それぞれ互いに異なる姿勢をとる。そして、複数台のカメラ100の撮像対象の領域では、少なくとも一部が重複する。撮像対象の領域において少なくとも一部が重複することは、撮像により得られた映像データを三次元空間に再構成するため、また、カメラの校正におけるマッチングに用いられるためである。なお、撮像対象の領域は、複数台のカメラ100のうちの一部のカメラ100で重複していてもよいし、複数台のカメラ100の全てで重複していてもよい。
 三次元空間認識では、このように設置された複数台のカメラ100からそれぞれ得られた複数の映像(以下、映像は、画像とも言う。)と、複数台のカメラ100の位置姿勢を示すパラメータとを用いて三次元モデル22を再構成する。そこで、パラメータを得るために、複数台のカメラ100の校正が必要である。校正では、図2に示すように各カメラ100で撮像された映像上の特徴的な点を抽出し、互いに異なる視点の画像520、540間で図の点線のように抽出された特徴的な点マッチングさせることで、各カメラ100のパラメータを算出する。特徴的な点は、図2において各画像520、540の白丸で示される点である。ここで算出されるパラメータは、共通の座標系において各カメラ100の位置および撮像方向の角度(姿勢)等を示すカメラパラメータである。なお、カメラ100の位置姿勢は、カメラポーズとも言う。
 再構成により得られた三次元モデル22のデータは、三次元空間認識を実行する装置に送信される。このような装置の三次元空間認識の機能として、三次元物体認識、物体の形状・動作解析、自由視点映像生成等が挙げられる。
 三次元物体認識は、三次元空間上のどの位置にどんな物体が存在するかを特定する処理である。三次元物体認識は、例えば、道路20上の空間A1が撮像された複数の映像で再構成された三次元モデルを用いることで、空間A1上の車両21が存在する位置、空間A1上の建物から歩行者までの距離等を算出する処理である。これらの算出結果は、例えば、自動運転のための車両位置の検出に用いられる。
 物体の形状・動作解析は、物体の形状、実空間上での大きさ、動作速度等を解析する処理である。物体の形状・動作解析は、例えば、道路20上の空間A1が撮像された複数の映像で再構成された三次元モデルを用いることで、車両21の大きさおよび車両21の移動速度、または、歩行者の身長および歩行者の移動速度等を算出する処理である。物体の形状・動作解析では、さらに、三次元物体認識における算出結果と組み合わせることで、例えば、空間A1上の車両21が存在する位置、車両21の大きさ、車両21の移動速度等を算出してもよい。
 自由視点映像生成は、カメラが存在しない視点である仮想視点から見た場合の映像を生成する処理である。自由視点映像生成は、例えば、道路20上の空間A1が撮像された複数の映像であって、互いに異なる複数の斜め方向から車両21が撮像された映像を用いて再構成された三次元モデル22を用いることで、複数の斜め方向に含まれない正面の方向から車両21が撮像されたような仮想視点の映像を生成する処理である。
 このように、いずれの三次元空間認識の機能は、異なる複数の視点で撮像された複数の映像を用いて生成された三次元モデルに基づいて実現される。各機能が高い精度を実現するためには、より精度が高い三次元モデルが必要となる。そして、より精度が高い三次元モデルを再構成するためには、より正確なカメラパラメータが必要である。カメラパラメータの精度が低いと、再構成された三次元モデルの精度が低下する、または再構成できない。三次元モデルデータの精度が低下すると、三次元空間認識の精度が低下する。また、三次元モデルデータが再構成されないと、三次元空間認識の実現が困難となる。
 以下では、より精度の高いカメラパラメータを算出することができる校正システムについて説明する。
 [2.校正システムの構成]
 図3は、実施の形態1における校正システムの構成を示すブロック図である。
 実施の形態における校正システム1000は、複数の撮像装置10a~10n、制御装置200、校正装置300、およびユーザインタフェース400を備える。撮像装置10a~10nは、制御装置200と通信可能に接続されている。また、校正装置300、およびユーザインタフェース400は、制御装置200と通信可能に接続されている。
 [2-1.撮像装置の構成]
 図4は、実施の形態1における撮像装置10a~10nの構成を示すブロック図である。
 複数の撮像装置10a~10nは、それぞれが所定の空間A1を撮像するための図1のカメラ100に相当するカメラを備える装置であり、取り得る構成は互いに共通である。なお、ここでいう所定の空間A1とは、複数台のカメラそれぞれの撮像領域の和集合である。
 撮像装置10a~10nのそれぞれは、カメラ100および架台110を備える。以降は、撮像装置10a~10nの構成は同じであるため、本開示における1台の撮像装置について説明する場合には、撮像装置10aについて説明する。つまり、以降において撮像装置10aについて説明している箇所は、他の撮像装置10b~10nについても同様のことが言える。
 カメラ100は、記憶部101、制御部102、光学系103、およびイメージセンサ104を備える。
 記憶部101には、制御部102が読み出して実行するプログラムが記憶されている。また、記憶部101には、イメージセンサ104を用いて撮影された撮像領域の映像データ、この映像データに付されるタイムスタンプなどのメタ情報、カメラ100のカメラパラメータ、および適用中のフレームレートまたは解像度等の撮影設定が一時的に記憶される。
 このような記憶部101は例えばフラッシュメモリ等の書き換え可能な不揮発性の半導体メモリを用いて実現される。また、保存されるデータの書き換えの要否または必要な保存期間等に応じて書き換え不可能なROM(Read-Only Memory)または揮発性のRAM(Random Access Memory)も記憶部として用いられ得る。
 なお、校正システム1000が備える撮像装置は複数であれば特に個数は限定されない。また、各撮像装置10a~10nの特性は共通でなくてもよい。また、各撮像装置10a~10nが備えるカメラ100は、モノラルカメラに限定されず、ステレオカメラが含まれていてもよい。
 なお、校正システム1000は、複数の撮像装置を備えるとしたが、これに限らずに、1台の撮像装置を備えてもよい。例えば、校正システム1000では、実空間上に存在する撮像対象を、1台の撮像装置を移動させながら1台の撮像装置に互いに視点の異なる複数の画像を含む多視点画像を生成させるように撮影させてもよい。複数の画像のそれぞれは、撮像装置の位置及び姿勢の少なくとも一方が互いに異なる撮像装置により撮影(生成)された画像である。
 制御部102は、例えばCPU(Central Processing Unit)を用いて実現され、上記の記憶部101に記憶されるプログラムを読み出して実行することで、カメラ100が備える各構成要素を制御して撮像その他の機能を発揮させる。なお、制御部102は、カメラ100が備える各構成要素を制御して撮像その他の機能を発揮させる専用回路により実現されてもよい。つまり、制御部102は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。
 光学系103は、撮像領域からの光をイメージセンサ104上に結像させる構成要素であり、レンズを含む光学素子を用いて実現される。また、焦点距離および画角が変更可能であってもよい。また、広角レンズ、または魚眼レンズのような超広角レンズが用いられてもよい。例えば校正システム1000が撮影する映像が監視システムに用いられる場合、広範な撮像領域を得るために広角レンズが用いられることがある。
 イメージセンサ104は、光学系によって集められた光を受光面で受け、この受けた光を、画像を示す電気信号に変換するCCDイメージセンサ、CMOSイメージセンサ、またはMOSイメージセンサ等の固体撮像素子で実現される。
 架台110は、校正に用いられる映像を撮像によって生成中のカメラを、所定の位置で固定し支えるための構成要素であり、例えば三脚で実現される。なお、この撮像の準備としてカメラ100の固定位置を調整するために、架台110の脚部分は長さや角度が調整可能であってもよい。また、架台110には、カメラ100をパンまたはチルトするために雲台を回転させる機構、上下に移動させるためのエレベータ機構等が備えられてもよい。あるいは、架台110は、ドリー、クレーン等の、カメラ100を支え且つ移動させる機構を含んでもよい。
 [2-2.制御装置の構成]
 図5は、実施の形態1における制御装置200の構成を示すブロック図である。
 制御装置200は、記憶部201、制御部202、およびタイマー203を備える。
 制御装置200は、撮像装置10a~10nの制御、および撮像装置10a~10nから受け取ったデータの処理をする。また、制御装置200は、校正装置300に対して各撮像装置10a~10nが備えるカメラ100のカメラパラメータの校正処理の指示を行う。
 このような制御装置200は、例えばコンピュータである。この場合、記憶部201は、このコンピュータの記憶装置であり、ハードディスクドライブ若しくは各種の半導体メモリ、またはこれらの組み合わせで実現される。また、制御部202はこのコンピュータのCPUで実現され、タイマー203はこのCPUが参照する、コンピュータに備えられるタイマーである。また、ユーザインタフェース400は、このコンピュータに接続される表示装置、タッチスクリーン、トラックパッド、キーボード、マウス、その他のコントローラ類またはこれらの組み合わせによって実現される。
 記憶部201には、制御部202が読み出して実行するプログラムが記憶されている。また、記憶部201には、撮像装置10a~10nから受け取ったデータであって、制御部202による処理の対象であるデータが記憶される。
 制御部202は、上記の記憶部201に記憶されるプログラムを読み出して実行することで、上記の撮像装置10a~10nおよび校正装置300の制御を行う。また、制御部202は、これらの制御および処理に関するユーザからの指令に対する処理を実行する。これらの処理のひとつとして、撮像装置10a~10nがそれぞれ備える複数台のカメラ100による同期映像の撮影の制御が挙げられる。
 また、これらの処理のひとつには、イベント検出および校正指令が含まれていてもよい。制御部202に含まれるイベント検出部202bは、イベント検出のためのプログラムを制御部202が実行することで実現される機能的な構成要素である。また、制御部202に含まれる校正指令部202cは、校正指令のためのプログラムを制御部202が実行することで実現される機能的な構成要素である。
 なお、制御部202の撮像制御部202a、イベント検出部202b、および校正指令部202cは、撮像制御、イベント検出、校正指令、校正処理などを発揮させる専用回路により実現されてもよい。つまり、制御部202は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。
 撮像制御部202aは、複数の撮像装置10a~10nのそれぞれに、撮像領域である三次元空間A1を異なる複数のタイミングで撮像させる。撮像制御部202aは、複数の撮像装置10a~10nのそれぞれが、予め定められた位置にあり、かつ、予め定められた方向を向いた姿勢にある状態で、複数の撮像装置10a~10nに撮像領域を撮像させる。
 イベント検出部202bは、撮像装置10a~10nから提供された撮像状況情報に基づいて、撮像装置10a~10nがそれぞれ備えるカメラ100のいずれかに校正の実行の理由になり得る所定のイベントの発生を検出する。校正の実行の理由になり得るイベントとは、例えばカメラの移動が発生する、または移動の発生の可能性が高いイベント、または高い精度でマッチングを実行することができる可能性が高いイベントである。より具体的な例については校正システム1000の動作の説明の中で後述する。このようなイベントの発生を検出した場合に、イベント検出部202bは校正を実行するか否かについて判定する。校正を実行すると判定した場合は、実行される校正を示す校正情報を、例えば校正指令部202cに出力する。
 校正指令部202cは、イベント検出部202bから受け取った校正情報に基づいて、校正情報に示されるカメラ100に校正を実行させる。また、校正情報が示すカメラ100が2台以上である場合には、例えば校正情報が示す、校正の実行の理由であるイベントの内容に基づいて、各カメラ100に校正を実行させる順序を決定してもよい。校正指令部202cによる処理については具体例を後述する。
 [2-3.校正装置の構成]
 図6は、実施の形態1における校正装置300の構成を示すブロックである。
 校正装置300は、記憶部301および校正部302を備える。
 校正装置300は、制御装置200を介して受け取ったデータを処理する。具体的には、校正装置300は、各撮像装置10a~10nが備えるカメラ100のカメラパラメータの校正処理を実行する。また、校正装置300は、三次元空間構成処理を実行してもよい。
 このような校正装置300は、例えばコンピュータである。この場合、記憶部301は、このコンピュータの記憶装置であり、ハードディスクドライブ若しくは各種の半導体メモリ、またはこれらの組み合わせで実現される。また、校正部302はこのコンピュータのCPUで実現される。なお、校正装置300は、制御装置200と同じコンピュータにより実現されてもよい。
 記憶部301には、校正部302が読み出して実行するプログラムが記憶されている。また、記憶部301には、制御装置200を介して撮像装置10a~10nから受け取ったデータ、および外部の装置から取得した撮像装置10a~10nに関するデータであって、校正部302による処理の対象であるデータが記憶される。つまり、撮像状況情報が記憶されていてもよいし、撮像装置10a~10nのカメラパラメータに関するパラメータ情報が記憶されていてもよい。
 校正部302は、上記の記憶部301に記憶されるプログラムを読み出して実行することで、上記の撮像装置10a~10nから受け取ったデータの処理を行う。この処理のひとつとして、各撮像装置10a~10nが備えるカメラ100のカメラパラメータの校正処理が挙げられる。
 ここで、校正装置300で行われる校正処理について、図7A~図7F、図8~図11を用いて説明する。図7A~図7Fは、パラメータ情報の一例について説明するための図である。図8~図11は、校正処理の詳細を説明するための図である。
 校正部302は、画像取得部302a、パラメータ取得部302b、前処理部302c、探索窓生成部302d、抽出部302e、マッチング算出部302f、および再構成部302gを有する。
 画像取得部302aは、複数の撮像装置10a~10nによりそれぞれ撮像された複数の画像を取得する。画像取得部302aは、さらに、複数の画像と共に、当該複数の画像のそれぞれに対応しており、当該複数の画像のそれぞれが撮像されたカメラ100を示すカメララベルを取得する。画像取得部302aは、例えば、カメララベルが付与された画像を取得することで、複数の画像とカメララベルとを取得してもよい。複数の画像のそれぞれは、静止画像であってもよいし、動画像であってもよい。なお、校正処理に利用される複数の画像は、それぞれ、ある対応する1タイミングにおいて複数の撮像装置10a~10nにより撮像されることで得られた画像であることが好ましい。画像取得部302aにより取得された複数の画像は、記憶部301に記憶される。また、画像取得部302aは、制御装置200から校正指令を受け取る前に、事前に画像およびカメララベルを記憶部301に記憶していてもよい。これにより、校正装置300は、校正が必要と判断された際に、校正処理を開始できる。つまり、校正装置300は、新たに画像およびカメララベルを取得することなく校正処理を開始できる。
 パラメータ取得部302bは、校正システム1000の外部の装置、または記憶部301から、撮像装置10a~10nのそれぞれのパラメータに関するパラメータ情報を取得する。パラメータ取得部302bは、さらに、複数のパラメータ情報と共に、当該複数のパラメータ情報のそれぞれに対応しており、当該パラメータ情報が対応する撮像装置を示すカメララベルを取得する。パラメータ取得部302bは、例えば、カメララベルが付与されたパラメータ情報を取得することで、複数のパラメータ情報とカメララベルとを取得してもよい。複数のパラメータ情報のそれぞれは、当該パラメータ情報に対応する撮像装置が備えるカメラ100の位置姿勢に関する情報である。
 各パラメータ情報は、例えば、図7Aに示すように、当該パラメータ情報に対応する撮像装置が備えるカメラ100aと他の撮像装置が備えるカメラ100bとの間の相対的な位置姿勢の差を示す情報であってもよい。なお、カメラ100a、100bは、複数の撮像装置10a~10nがそれぞれ備える複数のカメラ100に含まれる。この相対的な位置姿勢の差は、カメラ100aの撮像方向と、カメラ100bの撮像方向とがなす角の角度であってもよいし、カメラ100aとカメラ100bとの距離であってもよいし、上記角度および距離の両方を含んでいてもよい。
 また、各パラメータ情報は、例えば、図7Bに示すように、当該パラメータ情報に対応する撮像装置が備えるカメラ100に対して、過去の時刻に行われた校正により得られた校正結果を含む情報であってもよい。また、各パラメータ情報は、例えば、図7Cに示すように、カメラ100aから三次元空間上の任意の点までを結ぶ直線と、カメラ100bから上記任意の点までを結ぶ直線とがなす角の角度、つまり、カメラ100a、100bの上記任意の点に対する輻輳角を示す情報であってもよい。また、各パラメータ情報は、例えば、図7Dに示すように、各カメラ100から三次元空間上の任意の点までの距離を示す情報であってもよい。また、各パラメータ情報は、例えば、図7Eに示すように、各カメラ100から、各カメラ100に共通する撮像対象となる三次元空間A1の中心までの距離を示す情報であってもよい。なお、三次元空間A1の中心とは、三次元空間A1を鉛直方向から平面視したときの二次元形状における重心であってもよいし、三次元空間A1の三次元形状における重心であってもよい。また、各パラメータ情報は、例えば、図7Fに示すように、システムの設計段階で定めた設計書、仕様書などに基づく各カメラ100位置姿勢を示す情報であってもよい。
 なお、図7A~図7Fを用いて説明した各パラメータ情報は、一例であり、パラメータ情報を構成する要素を限定するものではない。パラメータ情報は、校正が実行される時刻の撮像装置各々の位置姿勢を高精度に表現できていなくてもよく、人による推定結果をもとに得た情報でもよいし、センサにより測定された情報でもよいし、記憶部301に記憶されている別の時刻においてカメラ校正により算出された情報でもよいし、それらの組み合わせから構成される情報でもよい。また、パラメータ取得部302bは、制御装置200からの校正指令を受け取る前に、事前にパラメータ情報を記憶部301に記憶してもよい。これにより、校正が必要と判断された際に、校正処理を開始できる。つまり、校正装置300は、新たにパラメータ情報を取得することなく校正処理を開始できる。
 前処理部302cは、画像前処理、またはマッチング前処理、またはそれらの組み合わせを実行する。画像前処理とは、例えば、明るさ調整、ノイズ除去、解像度変換、色空間変換、レンズ歪補正、射影変換、アフィン変換、エッジ強調処理、トリミング処理、またはこれらの組み合わせである。画像前処理は、画像取得部302aにより取得された複数の画像に対して画像前処理を実行されればよいため、画像前処理を実行するタイミングは、校正処理が実行されるタイミングに合わせて行われていなくてもよく、事前に行われていてもよい。前処理部302cにより画像前処理が実行されることにより得られた前処理済みの複数の画像は、記憶部301に記憶されてもよい。
 また、マッチング前処理とは、例えば、マッチングを行う画像の組み合わせを限定する処理である。これにより、後に記述のマッチング算出処理を効率的に実行することができる。なお、マッチング前処理は、パラメータ情報を用いて、実行してもよい。前処理部302cによりマッチング前処理が実行されることにより得られた情報は、記憶部301に記憶されてもよい。
 なお、前処理部302cによる各前処理は、必ずしも実行されなくてもよい。このため、校正装置300は、前処理部302cを有しない構成であってもよい。
 探索窓生成部302dは、画像取得部302aにより取得された複数の画像のそれぞれについて、パラメータ取得部302bにより取得された複数のパラメータ情報を用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を示す探索窓情報を生成する。探索窓は、画像から、当該探索窓の形状のパッチであって特徴量を記述するパッチを抽出することに用いられる。本実施の形態において、パッチとは、探索窓の形状で規定される領域であって、画像の一部領域を切り出した、元画像そのものも含む部分画像である。特に、画像上のキーポイントを中心にして抽出され、特徴量の記述に用いられるパッチは、特徴量パッチである。探索窓情報は、パッチを抽出するための探索窓の形状を示す情報を含み、探索窓の形状は、パラメータ情報をもとに探索窓基準形状を変形させることで算出される。なお、探索窓基準形状は、予め定められた形状であり、校正システム1000の外部の装置、または記憶部301から得られる。
 探索窓生成部302dは、具体的には、複数のパラメータ情報に基づいて、処理対象の画像を撮像した一の撮像装置が備えるカメラ100a、および、他の撮像装置が備えるカメラ100bの並び方向における、カメラ100aおよびカメラ100bの間の位置姿勢が離れているほど、当該並び方向に略垂直な方向に長い形状を有する探索窓を生成する。本実施の形態では、カメラ100aおよびカメラ100bは、水平方向に並んで配置されているものとする。このため、探索窓生成部302dは、鉛直方向に長い(以下では、「縦長」とも言う。)形状を有する探索窓を生成する。探索窓生成部302dは、例えば、パラメータ情報をもとに変数を抽出し、探索窓基準形状と抽出された変数とを用いて、変数が大きいほど縦長になるような探索窓の候補を算出し、算出された探索窓の候補を探索窓情報として生成する。なお、複数のカメラが鉛直方向に並んでいる場合には、探索窓生成部302dは、水平方向に長い形状を有する探索窓を生成する。
 例えば、図8に示すように、パラメータ情報が、ある2台のカメラ、例えば、カメラ100aおよびカメラ100bの間の相対的な位置姿勢の差が、2台のカメラの撮像方向が為す角の角度が90°であることを示す情報であるとする。この場合、探索窓生成部302dは、探索窓の候補を算出するための変数θ(>0)を、上記の90°を用いてπ/2に決定する。このとき、探索窓生成部302dは、例えば、探索窓基準形状500の高さを〔αθ+β〕倍した形状の探索窓を第1探索窓候補501として生成し、探索窓基準形状500の幅を〔α’(1/θ)+β’〕倍した形状の探索窓を第2探索窓候補502として生成する。これにより、探索窓生成部302dは、第1探索窓候補501および第2探索窓候補502を含む探索窓情報510を生成する。
 なお、第1探索窓候補501の形状の幅は、探索窓基準形状500の幅と等しい。また、第2探索窓候補502の形状の高さは、探索窓基準形状500の高さと等しい。α、α’、β、β’は、それぞれ0以上の任意の定数である。また、〔αθ+β〕は、1より大きい値であり、〔α’(1/θ)+β’〕は1より小さい値である。
 探索窓生成部302dは、探索窓情報の生成において、カメラの位置姿勢の差に比例して大きくなる指標を変数θとして用いればよく、上記の2つのカメラの撮像方向が為す角の角度を変数θとして用いることに限らない。このように、探索窓生成部302dは、カメラの位置姿勢の差に比例して大きくなる指標を変数θとして用いることで、あるカメラの位置姿勢が他のカメラから離れているほど縦長形状の探索窓を算出することができる。なお、探索窓生成部302dは、探索窓の候補を1つ以上生成すればよく、上述したように2つの第1探索窓候補501および第2探索窓候補502を生成することに限定されるものではない。
 また、探索窓の形状および算出方法は、上記に限定されるものではない。例えば、探索窓生成部302dは、形状およびサイズの少なくとも一方が異なる複数の探索窓を予め用意し、予め用意した複数の探索窓から撮像装置のパラメータ情報に応じた1以上の探索窓を選択することで、選択した1以上の探索窓を含む探索窓情報を生成してもよい。探索窓生成部302dは、パラメータ情報に応じて幾何学的な計算を行うことで探索窓を算出してもよい。
 また、探索窓生成部302dは、制御装置200から校正指令を受け取る前に、事前に探索窓情報を生成し、生成された探索窓情報を記憶部301に記憶していてもよい。これにより、校正装置300は、校正が必要と判断された際に、校正処理を開始できる。つまり、校正装置300は、校正が必要と判断された後に、探索窓情報を生成することなく校正処理を開始できる。
 抽出部302eは、前処理部302cにより前処理が実行された後の複数の画像のそれぞれについて、キーポイント検出処理と、特徴量パッチ抽出処理と、特徴量記述処理とを実行する。これにより、抽出部302eは、複数の画像のそれぞれについて、複数の特徴点を抽出する。なお、抽出部302eは、校正装置300が前処理部302cを有していない場合には、画像取得部302aにより取得された複数の画像のそれぞれについて、上記の各処理を実行する。
 キーポイント検出処理とは、処理対象の画像上の特徴的な点をキーポイントとして検出する処理である。キーポイント検出処理では、さらに、キーポイントのオリエンテーション方向を示すオリエンテーション情報が得られてもよい。例えば、図9の(a)に示すように、抽出部302eは、処理対象の画像520上の特徴的な点Pをキーポイントとして検出する。なお、図9では、説明の簡略化のために1つのキーポイントP1を検出する例を示しているが、実際のキーポイント検出処理では、複数のキーポイントが検出される。
 特徴量パッチ抽出処理とは、探索窓生成部302dにより生成された探索窓情報を用いて、処理対象の画像から複数の特徴量パッチを抽出する処理である。特徴量パッチ抽出処理は、例えば、キーポイント検出処理において検出された複数のキーポイントのそれぞれについて、当該キーポイントが中心となるように、探索窓情報が示す1以上の探索窓を当該処理対象の画像上に配置することで1以上の特徴量パッチを抽出する処理である。これにより、処理対象の画像から複数の特徴量パッチが抽出される。
 例えば、図9の(b)に示すように、抽出部302eは、特徴量パッチの抽出のために、キーポイントP1のオリエンテーション情報が示すオリエンテーション方向D1に縦長の方向が一致するように、探索窓情報510に含まれる第1探索窓候補501および第2探索窓候補502を回転させる。そして、抽出部302eは、画像520上において、第1探索窓候補501の中心がキーポイントP1と一致する位置に第1探索窓候補501を配置する。同様に、抽出部302eは、画像520上において、第2探索窓候補502の中心がキーポイントP1と一致する位置に第2探索窓候補502を配置する。そして、抽出部302eは、第1探索窓候補501の形状によって画像520を切り出すことで特徴量パッチ521を抽出し、第2探索窓候補502の形状によって画像520を切り出すことで特徴量パッチ522を抽出する。これにより、抽出部302eは、特徴量パッチ521、522を含む特徴量パッチ情報530を生成する。このため、後述する特徴量記述処理において、より頑健な特徴量を抽出できる。
 なお、抽出部302eは、検出されたキーポイントのスケール情報を用いて探索窓をスケーリングしてから特徴量パッチを抽出してもよい。
 また、抽出部302eは、特徴量パッチ抽出処理において、キーポイントP1のオリエンテーション方向D1に合わせた回転、およびスケール情報を用いたスケーリングを用いて、探索窓に対する処理を実行しなくてもよい。抽出部302eは、特徴量パッチ抽出処理において、これらの探索窓に対する処理を行わずに特徴量パッチを抽出してもよいし、どちらか一方の処理を行うことで特徴量パッチを抽出してもよいし、両方の処理を行うことで特徴量パッチを抽出してもよい。
 特徴量記述処理とは、キーポイント検出処理において検出された複数のキーポイントのそれぞれについて、当該キーポイントに対応して抽出された特徴量パッチのそれぞれの特徴の分布を特徴量として算出し、当該キーポイントに算出された特徴の分布を記述することで特徴点を抽出する処理である。例えば、図10に示すように、抽出部302eは、画像520から抽出された特徴量パッチ521に対して、特徴の分布を算出し、算出された特徴の分布を正規化する。これにより得られた結果を用いることにより、特徴量パッチのサイズによらずに、特徴量パッチ521と特徴量パッチ541との間の類似度を計算することが可能である。なお、抽出部302eは、特徴量パッチの全部または一部のサイズが統一されるように特徴量パッチの射影変換を行った後に、特徴量記述処理を行ってもよい。
 なお、抽出部302eは、例えば、SIFT(Scale-Invariant Feature Transform)アルゴリズムを用いることで、特徴点を抽出してもよい。
 マッチング算出部302fは、複数の画像のそれぞれについて抽出部302eにより抽出された複数の特徴点を用いて、複数の画像間で複数の特徴点のマッチングを行う。マッチング算出部302fは、複数の特徴点のうち、正規化された特徴の分布が類似する特徴点を互いに対応付けし、対応付けした特徴点を1つのマッチング結果として出力する。マッチング算出部302fは、特徴点の二乗誤差または絶対誤差を用いて特徴点が類似するか否かの判定を行う。例えば、図11に示すように、マッチング算出部302fは、画像520において白丸で示される複数の特徴点と、画像540において白丸で示される複数の特徴点とを用いてマッチングを行うことで、画像520における特徴点P1Aと画像540における特徴点P1Bとをマッチング点Pとして対応付ける。マッチング算出部302fは、他の特徴点に対しても同様にマッチングを行うため、複数のマッチング点がマッチング結果として得られる。マッチング算出部302fにおいて出力されたマッチング結果は、例えば、記憶部301に記憶される。
 再構成部302gは、マッチング算出部302fで得られたマッチング結果に基づいて、校正処理を実行し、複数の撮像装置10a~10nが備えるカメラ100のパラメータを校正する。校正処理は、撮像装置10a~10nが備えるカメラ100それぞれによって撮像されることにより得られた複数のマッチング結果に基づき、エピポーラ制約などの幾何学的制約を用いることで撮像装置10a~10nが備えるカメラ100の外部パラメータ、または内部パラメータ、またはその両方を算出する。カメラ100の外部パラメータ、または内部パラメータ、またはその両方は記憶部301に記憶されてもよい。また、記憶部301に記憶されたカメラの外部パラメータおよび内部パラメータは、異なる時刻の校正においてパラメータ取得部302bにより取得されてもよい。これにより、過去の時刻で得たカメラのパラメータを、パラメータ情報として用いて校正を実行できる。
 また、再構成部302gは、複数のマッチング結果からそれぞれのマッチング結果の三次元空間上における三次元位置を推定する。具体的には、再構成部302gは、三角測量法を利用することで複数のマッチング結果それぞれの三次元空間上における三次元位置を推定する。
 [2-4.その他]
 以上、本実施の形態における校正システム1000の構成について説明した。なお、これらの構成は上記の説明に限定されない。
 [3.校正システムの動作]
 次に、本実施の形態における校正システム1000による、校正の適時の実行を実現する動作について説明する。
 校正システム1000では、校正を適時に実行するために撮像装置または周囲の環境に変化(イベント)が発生したときに、校正処理を実行するか否かが判定される。
 図12は、本実施の形態における校正システム1000による、校正をするか否かの判定を含む一連の動作を説明するためのシーケンス図である。なお、図12における撮像装置10は、図3に示される撮像装置10a~10nの任意の一つを指す。
 制御装置200において、イベント検出部202bは、撮像装置10により撮像された映像を常時または所定の周期で撮像装置10(またはカメラ100)の状況および周囲の状況を取得し、これらの状況の変化を変化イベントとして検出する(S31)。状況の変化とは、現状のカメラパラメータがカメラ100の位置姿勢を正確に示さなくなる変化であり、具体的には、例えば、撮像領域の変化である。変化イベントの検出において撮像領域の変化の要因特定は必要なく、イベント検出部202bは、カメラ100自体の移動、カメラ100が設置されている架台110の移動、撮像装置10が設置されている柱、台などの周囲物体の移動、またはカメラ100の部材の劣化、またはそれらの組み合わせによる状況の変化を、校正処理を実行するための変化イベントとして検出する。また、状況の変化は、上記の撮像領域の変化に限定されない。
 また、制御装置200において、イベント検出部202bは、校正処理が容易となる状況への変化を容易イベントとして検出する(S32)。容易イベントとは、例えば、撮像装置10の撮像対象の三次元空間A1に人または車などの動物体が一定数以上存在する状況への変化である。つまり、容易イベントとは、撮像装置10により撮像された画像に一定数未満の動物体が含まれる状況から一定数以上の動物体が含まれる状況への変化である。動物体が多く存在する状況が撮像された画像を用いることで、特徴点を数多く得ることが可能になり、校正結果の精度を向上できる。つまり、校正処理が容易となる。
 制御装置200は、イベント検出部202bによる変化イベント検出後に容易イベントが検出されたタイミングで校正指令を行うことにより、校正が必要なタイミングで校正処理を実行し、精度よくカメラパラメータを求めることができる。制御装置200は、イベント検出部202bにより変化イベントが検出された後(S31でYes)に容易イベントでないことが判定された場合(S32でNo)は、変化イベント検出済みの結果を保持しながら、撮像指示を撮像装置10に出力することで撮像装置10から撮像画像を受け取り、容易イベントが発生したか否かを再度判定する。イベント検出部202bにより容易イベントが検出されると(S32でYes)、イベント検出部202bは、校正情報を出力する。
 校正情報には、校正を実行させる対象であるカメラ100(またはこのカメラ100を含む撮像装置10)および校正を実行させると判定した理由(上記のイベント)が含まれる。校正情報は、校正指令部202cに入力される。校正情報を受け取った校正指令部202cは、校正情報の内容に基づいて校正指令を生成し、生成した校正指令を適切なカメラ100を含む撮像装置10に送信する。
 また、校正情報は、例えばユーザインタフェース400に送信されて、システム管理者等のユーザに提示されてもよい(S33)。ユーザはこの情報に基づいて対象のカメラ100に校正をさせるための指示を、ユーザインタフェース400を介して入力する(S34)。入力されたユーザの指示は、制御装置200に送信される。
 撮像指示を受信した撮像装置10のカメラ100では、撮像処理が実行される。また、校正指令を受信した校正装置300では、校正処理が実行される(S35)。校正処理は、校正装置300において校正指令に基づいて実行され、全ての撮像装置10a~10nの外部パラメータの校正が実行される。なお、内部パラメータの校正を行う場合には、カメラ100の制御部202において校正が実行されてもよい。制御装置200は、校正処理が実行されることによって算出された校正結果としてのカメラパラメータを出力する(S36)。
 次に、校正処理の具体例について説明する。
 図13は、実施の形態1における校正処理の一例を示すフローチャートである。図14は、実施の形態1における特徴点の抽出処理の一例を示すフローチャートである。
 本実施の形態における校正装置300における校正処理では、まず、パラメータ取得部302bは、複数の撮像装置10a~10nのそれぞれのパラメータに関するパラメータ情報を取得する(S41)。
 次に、画像取得部302aは、複数の撮像装置10a~10nによりそれぞれ撮像された複数の画像を取得する(S42)。なお、ステップS42は、ステップS41の前に行われてもよいし、ステップS41と並行して行われてもよい。
 次に、前処理部302cは、複数の画像のそれぞれについて、前処理を実行する(S43)。なお、上述しているが、前処理は、実行されなくてもよい。
 探索窓生成部302dは、前処理済みの複数の画像のそれぞれについて、取得された複数の撮像装置10a~10nの複数のパラメータ情報を用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を示す探索窓情報を算出する(S44)。
 抽出部302eは、前処理済みの複数の画像のそれぞれについて、複数の特徴点を抽出する(S45)。抽出部302eは、前処理が実行されていない場合には、画像取得部302aにより取得された複数の画像のそれぞれについて、特徴点の抽出処理を実行する。次に、特徴点の抽出処理の詳細について図14を用いて説明する。
 特徴点の抽出処理では、まず、抽出部302eは、処理対象の画像について、複数のキーポイントを検出する(S51)。
 次に、抽出部302eは、処理対象の画像について、検出された複数のキーポイントのそれぞれについて、当該キーポイントが中心となるように、探索窓情報が示す1以上の探索窓を処理対象の画像上に配置することで1以上の特徴量パッチを抽出する(S52)。
 そして、抽出部302eは、処理対象の画像について、処理対象のキーポイントに対応して抽出された特徴量パッチのそれぞれの特徴の分布を特徴量として算出し、当該キーポイントに算出された特徴の分布を記述し、特徴量が記述された点を特徴点として抽出する(S53)。
 マッチング算出部302fは、複数の画像のそれぞれについて抽出された複数の特徴点を用いて、複数の画像間で複数の特徴点のマッチングを行う(S46)。
 再構成部302gは、マッチングにより得られた複数のマッチング結果に基づいて、複数の撮像装置10a~10nが備えるカメラ100のパラメータを校正する(S47)。
 例えば、再構成部302gは、複数のマッチング結果のそれぞれの三次元空間上における三次元位置を推定する。そして、再構成部302gは、撮像領域を複数の撮像装置10a~10nのカメラ100で撮像した結果である複数の撮像画像から抽出された、三次元空間の位置が共通する特徴点をマッチングする。そして、マッチング結果を用いて、複数の撮像装置10a~10nのカメラパラメータを算出する。具体的には、マッチング結果に基づきエピポーラ制約などの幾何学的制約を利用することで、複数の撮像装置10a~10nのカメラパラメータは、求められる。
 [4.効果等]
 以上のように、本実施の形態において、校正装置300は、互いに異なる位置に設置された、各々が共通する三次元空間を撮像する複数の撮像装置10a~10nが備えるカメラ100のカメラパラメータを校正する。校正では、複数の撮像装置10a~10nによりそれぞれ撮像された複数の画像を取得し、複数の撮像装置10a~10nのそれぞれのパラメータに関するパラメータ情報を取得し、取得された複数の画像のそれぞれについて、取得された複数のパラメータ情報を用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を示す探索窓情報を生成し、取得された複数の画像のそれぞれについて、生成された探索窓情報を用いて複数の特徴点を抽出し、複数の画像のそれぞれについて抽出された複数の特徴点を用いて、複数の画像間で複数の特徴点のマッチングを行い、マッチングにより得られた複数のマッチング結果に基づいて、複数の撮像装置10a~10nのパラメータを校正する。
 これによれば、複数の画像間でのマッチングを行うための複数の特徴点の抽出を、複数の撮像装置10a~10nのパラメータ情報を用いて生成した探索窓情報を用いて行う。これにより、互いに異なる位置において撮像された結果であることを考慮して複数の画像から特徴点を抽出することができる。このため、マッチングの処理負荷を低減しつつ、マッチングの精度を向上することができる。よって、互いに異なる位置に配置されている複数の撮像装置10a~10nが備える各カメラ100のパラメータを精度よく校正することができる。
 また、本実施の形態において、複数のパラメータ情報のそれぞれは、当該パラメータ情報に対応する撮像装置の位置姿勢に関する情報であり、対応する撮像装置に対して過去の時刻に行われた校正により得られた情報であり、対応する撮像装置を識別するカメララベルを含む。このため、校正では、過去に得られたパラメータ情報を用いた校正を行うことで、複数の撮像装置10a~10nのパラメータを効率よく校正することができる。
 また、本実施の形態において、複数のパラメータ情報のそれぞれは、当該パラメータ情報に対応する撮像装置の位置姿勢に関する情報であり、対応する撮像装置と他の撮像装置との間の相対的な位置姿勢に関する情報であり、対応する撮像装置を識別するカメララベルを含む。このため、校正では、対象となる撮像装置の他の撮像装置との間の相対的な位置姿勢に関する情報をパラメータ情報として用いた校正を行うことで、複数の撮像装置10a~10nのパラメータを効率よく校正することができる。
 また、本実施の形態において、複数のパラメータ情報のそれぞれは、当該パラメータ情報に対応する撮像装置の位置姿勢に関する情報であり、対応する撮像装置から三次元空間上の任意の点までの距離を示す情報であり、対応する撮像装置を識別するカメララベルを含む。このため、校正では、対象となる撮像装置から三次元空間上の任意の点までの距離を示す情報をパラメータ情報として用いた校正を行うことで、複数の撮像装置10a~10nのパラメータを効率よく校正することができる。
 また、本実施の形態において、探索窓情報の生成では、複数のパラメータ情報に基づいて、当該画像を撮像した一の撮像装置および他の撮像装置の並び方向における一の撮像装置および他の撮像装置の間の位置姿勢が離れているほど、並び方向に略垂直な方向に長い形状を有する探索窓を含む1以上の探索窓を算出する。このため、画像が撮像された撮像装置に応じた探索窓を算出することができ、複数の画像から特徴点を効果的に抽出することができる。
 また、本実施の形態において、複数の特徴点の抽出では、(i)当該画像から複数のキーポイントを検出し、(ii)検出された複数のキーポイントのそれぞれについて、(ii-i)当該キーポイントが中心となるように、探索窓情報が示す1以上の探索窓を当該画像上に配置することで1以上の特徴量パッチを抽出し、(ii-ii)当該キーポイントに対応して抽出された1以上の特徴量パッチのそれぞれの特徴の分布を特徴量として算出し、当該キーポイントに算出された特徴の分布を記述することで特徴点を抽出する。このため、複数の撮像装置10a~10nのそれぞれのパラメータ情報に応じた特徴量を含む特徴点を複数抽出することができる。
 (実施の形態2)
 本実施の形態に係る校正装置は、実施の形態1と同様に、互いに異なる位置に配置された複数の撮像装置に対し、それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを校正する校正装置である。
 本実施の形態では、マッチング算出部302fにおける特徴点の対応候補を、記憶部301に記憶されている撮像装置10a~10nのパラメータを用いて再構成した三次元モデルにより限定する。校正装置300Aの構成は、図15に示すように実施の形態1の構成に、さらに三次元情報推定部303が追加された構成である。校正部302の構成は、実施の形態1と同様であるが、パラメータ取得部302b、探索窓生成部302d、マッチング算出部302fの機能および入出力が実施の形態1と異なる。以下、三次元情報推定部303および校正部302の各々の動作について説明する。
 校正部302のパラメータ取得部302bは、校正処理が実行されると、撮像装置10a~10nが備えるカメラ100のそれぞれのパラメータを示す第1パラメータ情報を、校正装置300の外部装置または記憶部301から取得する。各カメラ100のパラメータは、当該カメラ100の内部パラメータおよび外部パラメータを含む。パラメータ取得部302bは、例えば、カメラ100の内部パラメータおよび外部パラメータの両方を取得できた場合、それらパラメータを含む第1パラメータ情報を、三次元情報推定部303に出力する。第1パラメータ情報は、実施の形態1の図7Bにおける例示と同様に、各カメラ100の位置姿勢に関する情報であり、対応する撮像装置について過去の時刻に行われた校正により得られた情報であり、対応する撮像装置を識別するカメララベルを含む。
 カメラパラメータが存在する場合でも、校正処理が実行される理由は、実施の形態1でも説明したように、撮影環境に設置された撮像装置10a~10nの位置姿勢が、様々な要因で変化してしまうためである。様々な要因とは、例えば、建物や道路の振動、雨風、架台や設置場所の経年劣化である。これら要因に加え、過去の校正時からの経過時間や、画像以外で計算された情報の不確実性が存在する。すなわち、パラメータ取得部302bが取得したカメラ100のパラメータは、校正処理実行時の時刻において低精度である可能性があるため、そのまま校正結果としては適切でない。よって、本実施の形態では、パラメータ取得部302bにより取得された第1パラメータ情報を手掛かりとして、特徴点マッチングを行う。
 なお、パラメータ取得部302bにより取得された第1パラメータ情報は、再構成部302gに入力されてもよい。再構成部302gに入力されることで、各々のパラメータを初期値として用いることができ、再構成部302gにおける計算の効率化が可能となる。
 三次元情報推定部303は、図16の(a)に示すように、校正処理が実行されると、画像取得部302aにより取得された複数の画像と、パラメータ取得部302bにより取得されたカメラ100の第1パラメータ情報とに基づいて、三次元モデルを示す三次元情報を推定する。三次元情報とは、例えば、図16の(b)に示すような平面の組み合わせで表現さるような三次元メッシュモデルである。なお、三次元情報で示される三次元モデルは、三次元メッシュモデルでなくてもよく、点群でもよいし、ボクセルでもよい。また、三次元情報は深度画像でもよい。三次元情報は三次元空間上の物体に対して高精度な形状を推定しなくてもよく、例えば、点群モデルであれば、各点の位相関係が著しく損なわれていない程度の精度の形状を推定した結果であってもよい。
 そして、三次元情報推定部303は、図16の(c)に示すように、推定された三次元情報をパラメータ取得部302bにより取得された複数の第1パラメータ情報に追加することで複数の第2パラメータ情報を生成する。三次元情報推定部303は、生成された複数の第2パラメータ情報を探索窓生成部302dに出力する。
 探索窓生成部302dは、画像取得部302aにより取得された複数の画像のそれぞれについて、三次元情報推定部303により出力された第2パラメータ情報に基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を示す探索領域情報を生成する。
 本実施の形態において探索領域情報は、例えば、図17に示すように、マッチングにおける特徴点の対応付け候補を限定するための情報であって、第2パラメータ情報をもとに探索領域基準形状600を変形させ、複数の画像のうちの2枚の画像520、540からなる画像ペアにおいて三次元空間上で対応する画像領域を求めることで算出される。具体的には、探索窓生成部302dは、第2パラメータ情報をもとに各画像ペアにおける水平方向、または鉛直方向、またはその両方の見え方の違いを表す変数、またはベクトルを抽出し、水平方向の違いが大きいほど横長になるような探索領域の候補を計算し、各画像ペアに対する探索領域をまとめて、探索領域情報610として算出する。
 探索窓生成部302dは、例えば、図18に示すように、水平方向、鉛直方向それぞれの違いを表すベクトルθを抽出し、水平方向成分θ、鉛直方向成分θをもとに、幅を〔αθ+β〕倍、高さを〔α’θ+β’〕倍する。α、α’、β、β’は、それぞれ0以上の任意の定数である。このとき、探索窓生成部302dは、各方向の見え方の違いが大きくなるほど、水平方向成分θ、鉛直方向成分θ各々の値が比例して大きくなるように算出する。これにより、探索窓生成部302dは、θの値が大きいほど、横長になるような探索領域を抽出し、θの値が大きいほど縦長になるような探索領域を抽出する。
 なお、見え方の違いを表す変数は、1つ以上の値により構成されていてもよいし、複数の値により構成されていてもよい。例えば、探索窓生成部302dは、探索窓生成部302dが動作するよりも前に抽出部302eにより抽出された特徴点を用いて、特徴点数と同じ数の値により構成される変数を抽出してもよく、探索領域を特徴点の数だけ求めてもよい。また、探索窓生成部302dは、特徴点を画像座標における位置をもとにクラスタリングして得たクラスタの数だけ探索領域を求めてもよい。
 探索窓生成部302dは、実施の形態1と同じように特徴量パッチを抽出するための探索窓情報を算出してもよい。探索窓生成部302dは、特徴量パッチを抽出するための探索窓情報と、マッチングの対応点候補を限定するための探索領域情報とを、同時に算出してもよいし、異なるタイミングで算出してもよい。なお、探索窓生成部302dは、特徴量パッチを抽出するための探索窓情報の算出を必ずしも実行しなくてもよい。
 また、抽出部302eは、探索窓情報を取得せずに、固定サイズのパッチ、またはキーポイントのオリエンテーション情報、スケール情報によりリサイズされたパッチを用いて特徴点を抽出してもよい。
 マッチング算出部302fは、探索窓生成部302dにより生成された探索領域情報を用いて、抽出された複数の特徴点から特徴点のマッチングの候補を絞り込み、候補として絞り込まれた複数の特徴点を用いて、複数の画像間で複数の特徴点のマッチングを行う。マッチングの候補の絞り込みとは、特徴点の対応候補を限定する処理で有り、画像ペアに対する探索領域情報より、マッチングを計算する特徴点の組み合わせを、対応する探索領域上の特徴点同士に限定することである。
 例えば図19に示すように画像540の円で囲まれた探索領域DiA上に存在する特徴点P11Aと、三次元空間上で近い位置を示す画像520の楕円で囲まれた探索領域DiB上に存在する特徴点P11Bの組み合わせのみの対応付けを行い、同様に探索領域DjA上に存在する特徴点P12A、P13Aと、探索領域DjB上に存在する特徴点P13B、P14B、P15Bとの組み合わせのみ対応付けを行うことで、マッチングを算出する。つまり、複数の画像のうちの画像540における第1探索領域DiA、DjAと、画像520における第2探索領域DiB、DjBとは、それぞれ、三次元空間上の領域に対応している。マッチング算出部302fは、第1探索領域DiAに含まれる第1特徴点P11Aと、第1探索領域DiAと三次元空間上の共通する領域で対応する第2探索領域DiBに含まれる第2特徴点P11Bとを、マッチングの候補として絞り込み、第1特徴点P11Aと第2特徴点P11Bとを用いてマッチングを行う。同様に、マッチング算出部302fは、第1探索領域DjAに含まれる第1特徴点P12A、P13Aと、第1探索領域DjAと三次元空間上の共通する領域で対応する第2探索領域DjBに含まれる第2特徴点P13B、P14B、P15Bとを、マッチングの候補として絞り込み、第1特徴点P12A、P13Aと第2特徴点P13B、P14B、P15Bとを用いてマッチングを行う。
 また、マッチング算出部302fは、第1特徴点P11Aと、画像520における第2特徴点P11B以外の特徴点とを用いてマッチングを行わない。同様に、マッチング算出部302fは、第1特徴点P12A、P13Aと、画像520における第2特徴点P13B、P14B、P15B以外の特徴点とを用いてマッチングを行わない。同様に、マッチング算出部302fは、画像540における第1特徴点P11A以外の特徴点と、第2特徴点P11Bとを用いてマッチングを行わない。同様に、マッチング算出部302fは、画像540における第1特徴点P12A、P13A以外の特徴点と、第2特徴点P13B、P14B、P15Bとを用いてマッチングを行わない。
 このように、マッチングを算出することで、効率よく、かつ精度が良いマッチング結果を得られる。特に、画像540上の特徴点P12A、P14Aのように車の前輪と後輪などの似たようなパターン上に特徴点が存在する場合の対応付けには、有効である。
 以上のように、本実施の形態において、校正装置300は、互いに異なる位置に設置された、各々が共通する三次元空間を撮像する複数の撮像装置10a~10nが備えるカメラ100のカメラパラメータを校正する。校正では、複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、複数の撮像装置のそれぞれについて、当該撮像装置のパラメータに関する第1パラメータ情報を取得し、取得された複数の画像と、取得された複数の第1パラメータ情報とに基づいて、三次元空間上における三次元情報を推定し、推定された三次元情報を複数の第1パラメータ情報に追加することで得られた複数の第2パラメータ情報を出力し、取得された複数の画像のそれぞれについて、出力された複数の第2パラメータ情報に基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を示す探索領域情報を生成し、複数の画像のそれぞれについて、複数の特徴点を抽出し、生成された探索領域情報を用いて、抽出された複数の特徴点から特徴点のマッチングの候補を絞り込み、候補として絞り込まれた複数の特徴点を用いて、複数の画像間で複数の特徴点のマッチングを行い、マッチングにより得られた複数のマッチング結果に基づいて、複数の撮像装置のパラメータを校正する。
 (変形例1)
 上記実施の形態では、探索窓生成部302dは、探索窓の形状を、パラメータ情報をもとに探索窓基準形状を変形させることで算出するとしたが、これに限らない。探索窓生成部302dは、画像取得部302aにより取得された複数の画像のうちの1つの画像540に対して物体の形状を認識するための画像処理を行うことで、認識された物体の形状の領域を画像540から分割してもよい。つまり、探索窓生成部302dは、取得された複数の画像のそれぞれについて、映り込んでいる物体の形状を認識し、当該形状を囲む探索窓を生成する。
 図20の例では、探索窓生成部302dは、画像540において、家が映り込んでいる形状の領域601、および、車両が映り込んでいる形状の領域602を認識し、認識した領域601、602を画像540から領域分割する。領域601、602の形状は、図20に示すように画像540中の画素単位で抽出されてもよいし、認識された物体を囲う所定の形状であってもよい。所定の形状は、例えば、四角形、円形、楕円形などである。物体の形状の認識は、例えば、機械学習とパターン認識で実現されるが、物体の形状の認識の実現手段は、これらに限らない。
 次に、探索窓生成部302dは、画像540から領域分割された領域601、602の形状、サイズおよび位置を、画像540を撮像したカメラと、画像520を撮像したカメラとのパラメータ情報を用いて、画像520に適した形状、サイズおよび位置の領域611、612に変形する。そして、探索窓生成部302dは、変形して得られた領域611、612を探索窓として画像520に適用する。このようにして、探索窓生成部302dは、画像540および画像520の間で対応付けられた、領域601および領域611の探索窓のペアと、領域602および領域612の探索窓のペアとを生成してもよい。
 (変形例2)
 上記の実施の形態において、探索窓生成部302dは、各画像の領域毎に、異なる形状の探索窓を生成してもよい。例えば、探索窓生成部302dは、図21に示すように、探索窓を適用する領域のサイズ(面積)が所定のサイズよりも小さい場合に円形または楕円形の探索窓603、613を生成し、探索窓を適用する領域のサイズが所定のサイズよりも大きい場合に矩形の探索窓604、614を生成してもよい。このように、探索窓生成部302dは、画像540に適用する探索窓として異なる形状の探索窓603および探索窓604を生成し、画像520に適用する探索窓として異なる形状の探索窓613および探索窓614を生成してもよい。
 (変形例3)
 上記実施の形態では、探索窓生成部302dは、図22に示すように、画像540、520において、それぞれ探索窓605、615を一旦生成した後に、生成した探索窓605、615の少なくとも一方の形状を変更してもよい。例えば、探索窓生成部302dは、画像520に適用する探索窓について、矩形の探索窓615から円形の探索窓616に変更してもよい。探索窓616は、例えば、矩形の探索窓615の外接円である。探索窓生成部302dは、生成した探索窓605、615を用いて、画像540、520からそれぞれ抽出された2つの特徴量パッチ間の類似度が所定の類似度より小さい場合、探索窓615を探索窓616に変更してもよい。そして、探索窓605を用いて画像540から抽出された特徴量パッチと、変更後の探索窓616を用いて画像520から抽出された特徴量パッチとの類似度の算出を再度行ってもよい。
 なお、探索窓生成部302dは、生成した探索窓615の形状を変更する代わりに探索窓615のサイズを探索窓615より大きなサイズに変更してもよい。また、探索窓生成部302dは、画像540を撮像したカメラと、画像520を撮像したカメラとのパラメータ情報の精度に応じて、探索窓615の変更を行ってもよい。例えば、探索窓生成部302dは、パラメータ情報が図7Aに示すように人の目視による位置姿勢の差に基づくパラメータ情報である場合、パラメータ情報の精度が所定の精度より低いため、類似する特徴点の探索に用いる探索窓を、探索窓615から探索窓616に変更してもよい。反対に、探索窓生成部302dは、パラメータ情報が図7Bに示すように過去の構成結果により得られたパラメータ情報である場合に、パラメータ情報の精度が所定の精度より高いため、類似する特徴点の探索に用いる探索窓を、探索窓616に変更せずに探索窓615に決定してもよい。
 また、本開示はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の撮像システムなどを実現するソフトウェアは、次のようなプログラムである。
 すなわち、このプログラムは、コンピュータに、互いに異なる位置に配置されており、それぞれが共通する三次元空間を撮像する複数の撮像装置の複数のパラメータを、プロセッサを用いて校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれのパラメータに関するパラメータ情報を取得し、取得された前記複数の画像のそれぞれについて、取得された複数の前記パラメータ情報を用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を示す探索窓情報を生成し、取得された前記複数の画像のそれぞれについて、生成された前記探索窓情報を用いて前記複数の特徴点を抽出し、前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する校正方法を実行させる。
 また、このプログラムは、コンピュータに、互いに異なる位置に配置されており、それぞれが共通する三次元空間を撮像する複数の撮像装置の複数のパラメータを校正する校正方法であって、前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、前記複数の撮像装置のそれぞれについて、当該撮像装置のパラメータを示す第1パラメータ情報を取得し、取得された前記複数の画像と、取得された複数の前記第1パラメータ情報とに基づいて、前記三次元空間上における三次元情報を推定し、推定された前記三次元情報を前記複数の第1パラメータ情報に追加することで得られた複数の第2パラメータ情報を出力し、取得された前記複数の画像のそれぞれについて、出力された前記複数の第2パラメータ情報に基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を示す探索領域情報を生成し、前記複数の画像のそれぞれについて、複数の特徴点を抽出し、生成された前記探索領域情報を用いて、抽出された前記複数の特徴点から特徴点のマッチングの候補を絞り込み、前記候補として絞り込まれた複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する校正方法を実行させる。
 以上、本発明の一つまたは複数の態様に係る構成システムおよび校正方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれてもよい。
 本開示は、互いに異なる位置に配置されている複数の撮像装置が備える各カメラのパラメータを精度よく校正することができる校正方法、構成装置などとして有用である。
 10、10a~10n 撮像装置
 20 道路
 21 車両
 22 三次元モデル
 100 カメラ
 101 記憶部
 102 制御部
 103 光学系
 104 イメージセンサ
 110 架台
 200 制御装置
 201 記憶部
 202 制御部
 202a 撮像制御部
 202b イベント検出部
 202c 校正指令部
 203 タイマー
 300、300A 校正装置
 301 記憶部
 302 校正部
 302a 画像取得部
 302b パラメータ取得部
 302c 前処理部
 302d 探索窓生成部
 302e 抽出部
 302f マッチング算出部
 302g 再構成部
 303 三次元情報推定部
 400 ユーザインタフェース
 520、540 画像
 601、602、611、612 領域
 603~605、613~616 探索窓
 1000 校正システム
 A1 三次元空間
 P1A、P1B、P11A~P14A、P11B~P15B 特徴点
 DiA、DiB、DjA、DjB 探索領域
 P マッチング点

Claims (12)

  1.  それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、
     前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、
     前記複数の撮像装置のそれぞれのパラメータを取得し、
     取得された前記複数の画像のそれぞれについて、取得された前記複数のパラメータを用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を生成し、
     取得された前記複数の画像のそれぞれについて、生成された前記1以上の探索窓内から前記複数の特徴点を抽出し、
     前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、
     前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する
     校正方法。
  2.  前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置に対して過去の時刻に行われた校正により得られ、且つ前記対応する撮像装置を識別するカメララベルを含む
     請求項1に記載の校正方法。
  3.  前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置と他の撮像装置との間の相対的な位置姿勢に関し、且つ前記対応する撮像装置を識別するカメララベルを含む
     請求項1に記載の校正方法。
  4.  前記複数のパラメータのそれぞれは、当該パラメータに対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置から前記三次元空間上の任意の点までの距離を示し、且つ前記対応する撮像装置を識別するカメララベルを含む
     請求項1に記載の校正方法。
  5.  前記1以上の探索窓の生成では、前記複数のパラメータに基づいて、当該画像を撮像した一の撮像装置および他の撮像装置の並び方向における前記一の撮像装置および前記他の撮像装置の間の位置姿勢が離れているほど、前記並び方向に略垂直な方向に長い形状を有する探索窓を算出する
     請求項1に記載の校正方法。
  6.  前記複数の特徴点の抽出では、
     (i)当該画像から複数のキーポイントを検出し、
     (ii)検出された前記複数のキーポイントのそれぞれについて、(ii-i)当該キーポイントが中心となるように、前記1以上の探索窓を当該画像上に配置することで1以上の特徴量パッチを抽出し、(ii-ii)当該キーポイントに対応して抽出された前記1以上の特徴量パッチのそれぞれの特徴の分布を特徴量として算出し、当該キーポイントに算出された前記特徴の分布を記述することで前記特徴点を抽出する
     請求項5に記載の校正方法。
  7.  それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、
     前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、
     前記複数の撮像装置のそれぞれについて、当該撮像装置の第1パラメータを取得し、
     取得された前記複数の画像と、取得された複数の前記第1パラメータとに基づいて、前記三次元空間上における三次元情報を推定し、
     推定された前記三次元情報を前記複数の第1パラメータに追加することで得られた複数の第2パラメータを出力し、
     取得された前記複数の画像のそれぞれについて、出力された前記複数の第2パラメータに基づいて特徴点のマッチングの組合せを限定するための1以上の探索領域を算出し、
     前記複数の画像のそれぞれについて、複数の特徴点を抽出し、
     算出された前記1以上の探索領域を用いて、抽出された前記複数の特徴点から特徴点のマッチングの候補を絞り込み、前記候補として絞り込まれた複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、
     前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する
     校正方法。
  8.  前記複数の第1パラメータのそれぞれは、当該第1パラメータが対応する撮像装置の位置姿勢に関し、且つ前記対応する撮像装置について過去の時刻に行われた校正により得られ、且つ前記対応する撮像装置を識別するカメララベルを含む
     請求項7に記載の校正方法。
  9.  前記複数の画像のうちの第1画像における前記1以上の探索領域である1以上の第1探索領域と、前記複数の画像のうちの第2画像における前記1以上の探索領域である1以上の第2探索領域とは、それぞれ、前記三次元空間上の1以上の領域に対応しており、
     前記マッチングでは、一の前記第1探索領域に含まれる1以上の第1特徴点と、前記一の第1探索領域と前記三次元空間上の共通する領域で対応する一の前記第2探索領域に含まれる1以上の第2特徴点とを、前記マッチングの前記候補として絞り込み、前記1以上の第1特徴点と前記1以上の第2特徴点とを用いてマッチングを行う
     請求項7または8に記載の校正方法。
  10.  前記マッチングでは、
     前記1以上の第1特徴点と、前記第2画像における前記1以上の第2特徴点以外の特徴点とを用いてマッチングを行わず、
     前記第1画像における前記1以上の第1特徴点以外の特徴点と、前記1以上の第2特徴点とを用いてマッチングを行わない
     請求項9に記載の校正方法。
  11.  それぞれが共通する三次元空間を撮像する複数の撮像装置のパラメータを、プロセッサを用いて校正する校正方法であって、
     前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得し、
     取得された前記複数の画像のそれぞれについて、映り込んでいる物体の形状を認識し、当該形状を囲む探索窓を生成し、
     取得された前記複数の画像のそれぞれについて、生成された前記探索窓内から前記複数の特徴点を抽出し、
     前記複数の画像のそれぞれについて抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行い、
     前記マッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する
     校正方法。
  12.  それぞれが共通する三次元空間を撮像する複数の撮像装置の複数のパラメータを校正する校正装置であって、
     前記複数の撮像装置によりそれぞれ撮像された複数の画像を取得する画像取得部と、
     前記複数の撮像装置のそれぞれについて、当該撮像装置のパラメータを取得するパラメータ取得部と、
     前記画像取得部により取得された前記複数の画像のそれぞれについて、前記パラメータ取得部により取得された複数の前記パラメータを用いて当該画像の複数の特徴点を抽出するための1以上の探索窓を生成する探索窓生成部と、
     前記画像取得部により取得された前記複数の画像のそれぞれについて、前記探索窓生成部により生成された前記1以上の探索窓内から前記複数の特徴点を抽出する抽出部と、
     前記複数の画像のそれぞれについて前記抽出部により抽出された前記複数の特徴点を用いて、前記複数の画像間で前記複数の特徴点のマッチングを行うマッチング算出部と、
     前記マッチング算出部におけるマッチングにより得られた複数のマッチング結果に基づいて、前記複数の撮像装置のパラメータを校正する再構成部と、を備える
     校正装置。
PCT/JP2020/001553 2019-01-24 2020-01-17 校正方法および校正装置 WO2020153264A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020568127A JP7426611B2 (ja) 2019-01-24 2020-01-17 校正方法および校正装置
US17/370,402 US20210335010A1 (en) 2019-01-24 2021-07-08 Calibration method and calibration apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-010376 2019-01-24
JP2019010376 2019-01-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/370,402 Continuation US20210335010A1 (en) 2019-01-24 2021-07-08 Calibration method and calibration apparatus

Publications (1)

Publication Number Publication Date
WO2020153264A1 true WO2020153264A1 (ja) 2020-07-30

Family

ID=71736068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/001553 WO2020153264A1 (ja) 2019-01-24 2020-01-17 校正方法および校正装置

Country Status (3)

Country Link
US (1) US20210335010A1 (ja)
JP (1) JP7426611B2 (ja)
WO (1) WO2020153264A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288842B2 (en) * 2019-02-15 2022-03-29 Interaptix Inc. Method and system for re-projecting and combining sensor data for visualization
CN117036490B (zh) * 2023-10-10 2024-01-19 长沙能川信息科技有限公司 摄像机预置位偏移检测方法、装置、计算机设备与介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048295A (ja) * 2009-08-28 2011-03-10 Fujifilm Corp 複眼撮影装置及びその姿勢検出方法
JP2012209895A (ja) * 2011-03-30 2012-10-25 Fujitsu Ltd ステレオ画像較正方法、ステレオ画像較正装置及びステレオ画像較正用コンピュータプログラム
JP2013123123A (ja) * 2011-12-09 2013-06-20 Fujitsu Ltd ステレオ画像生成装置、ステレオ画像生成方法及びステレオ画像生成用コンピュータプログラム
JP2017090420A (ja) * 2015-11-17 2017-05-25 パナソニックIpマネジメント株式会社 3次元情報復元装置及び3次元情報復元方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3019787B2 (ja) * 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
CN101527046B (zh) * 2009-04-28 2012-09-05 青岛海信数字多媒体技术国家重点实验室有限公司 一种运动检测方法、装置和系统
US10582186B1 (en) * 2014-06-11 2020-03-03 Amazon Technologies, Inc. Approaches for identifying misaligned cameras
CN104333675B (zh) * 2014-10-20 2017-09-05 长春理工大学 一种基于球面投影的全景电子稳像方法
US20200077073A1 (en) * 2018-08-28 2020-03-05 Qualcomm Incorporated Real-time stereo calibration by direct disparity minimization and keypoint accumulation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011048295A (ja) * 2009-08-28 2011-03-10 Fujifilm Corp 複眼撮影装置及びその姿勢検出方法
JP2012209895A (ja) * 2011-03-30 2012-10-25 Fujitsu Ltd ステレオ画像較正方法、ステレオ画像較正装置及びステレオ画像較正用コンピュータプログラム
JP2013123123A (ja) * 2011-12-09 2013-06-20 Fujitsu Ltd ステレオ画像生成装置、ステレオ画像生成方法及びステレオ画像生成用コンピュータプログラム
JP2017090420A (ja) * 2015-11-17 2017-05-25 パナソニックIpマネジメント株式会社 3次元情報復元装置及び3次元情報復元方法

Also Published As

Publication number Publication date
US20210335010A1 (en) 2021-10-28
JPWO2020153264A1 (ja) 2021-11-25
JP7426611B2 (ja) 2024-02-02

Similar Documents

Publication Publication Date Title
CN101542538B (zh) 用来对光进行建模的方法与系统
JP6554169B2 (ja) 物体認識装置及び物体認識システム
TWI555379B (zh) 一種全景魚眼相機影像校正、合成與景深重建方法與其系統
CN106683070B (zh) 基于深度相机的身高测量方法及装置
JP6125188B2 (ja) 映像処理方法及び装置
JP5538617B2 (ja) 複数カメラのキャリブレーション用の方法および構成
JP6220486B1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
JP2014178957A (ja) 学習データ生成装置、学習データ作成システム、方法およびプログラム
WO2019035155A1 (ja) 画像処理システム、画像処理方法、及びプログラム
CN110926330B (zh) 图像处理装置和图像处理方法
CN109934847B (zh) 弱纹理三维物体姿态估计的方法和装置
KR20170008638A (ko) 3차원 컨텐츠 생성 장치 및 그 3차원 컨텐츠 생성 방법
WO2017203710A1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
WO2019075948A1 (zh) 移动机器人的位姿估计方法
WO2021035891A1 (zh) 基于增强现实技术的投影方法及投影设备
WO2020153264A1 (ja) 校正方法および校正装置
JP2016194895A (ja) 室内2d平面図の生成方法、装置及びシステム
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
CN111340959B (zh) 一种基于直方图匹配的三维模型无缝纹理贴图方法
KR20140114594A (ko) 사람 객체 추적을 통한 자동 카메라 보정 방법
JP2011209896A (ja) 障害物検知装置、障害物検知方法及び障害物検知プログラム
KR102082277B1 (ko) 파노라마 영상 생성 방법 및 그 장치
JP2007025863A (ja) 撮影システム、撮影方法及び画像処理プログラム
JP2532985B2 (ja) 3次元画像評価装置
WO2020237675A1 (zh) 目标检测方法、目标检测装置和无人机

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: 20744232

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020568127

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20744232

Country of ref document: EP

Kind code of ref document: A1