WO2023007625A1 - 3次元計測システム、装置、方法及びプログラム - Google Patents

3次元計測システム、装置、方法及びプログラム Download PDF

Info

Publication number
WO2023007625A1
WO2023007625A1 PCT/JP2021/027942 JP2021027942W WO2023007625A1 WO 2023007625 A1 WO2023007625 A1 WO 2023007625A1 JP 2021027942 W JP2021027942 W JP 2021027942W WO 2023007625 A1 WO2023007625 A1 WO 2023007625A1
Authority
WO
WIPO (PCT)
Prior art keywords
projector
coordinates
camera
corrected
pattern light
Prior art date
Application number
PCT/JP2021/027942
Other languages
English (en)
French (fr)
Inventor
弘之 岡
亮輔 川西
颯太 廣瀬
Original Assignee
東京ロボティクス株式会社
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 東京ロボティクス株式会社 filed Critical 東京ロボティクス株式会社
Priority to JP2023537825A priority Critical patent/JPWO2023007625A1/ja
Priority to PCT/JP2021/027942 priority patent/WO2023007625A1/ja
Publication of WO2023007625A1 publication Critical patent/WO2023007625A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object

Definitions

  • This invention relates to a three-dimensional measurement system and the like.
  • the active stereo method is known as a method for acquiring three-dimensional information such as depth information without contact.
  • a striped pattern of light in which bright and dark areas are periodically repeated is projected from a projector onto an object, and the projected pattern of light is photographed by a camera.
  • the distance from the projector or camera to the object can be calculated.
  • thermal expansion and thermal contraction occur depending on the temperature. If such thermal expansion or the like occurs, the pattern light will be distorted, an analysis error will occur in the image, and there is a possibility that the precision of the three-dimensional measurement will be lowered. In order to prevent such inconveniences, various measures have been taken in the past.
  • Non-Patent Document 1 a method of correcting distortion of an optical system related to a projector during image analysis has been known (for example, Non-Patent Document 1). According to such a method, for example, by correcting the distortion caused by the thermal expansion of the optical system of the projector using the pre-measured calibration parameter, it is possible to prevent the deterioration of the three-dimensional measurement accuracy.
  • Patent Document 1 a method of adopting an optical system with a temperature compensation function for the optical system and suppressing the distortion itself that occurs in the optical system is also known (for example, Patent Document 1). According to such a method, the distortion of the optical system itself due to heat is suppressed by a physical and mechanical method. Diversion of such a method can prevent a decrease in three-dimensional measurement accuracy.
  • the optical system related to the projector becomes more sophisticated and the cost increases, which may lead to an increase in the cost of the entire three-dimensional measurement system.
  • the present invention has been made in view of the above-mentioned technical background, and its purpose is to realize high-speed three-dimensional measurement while correcting the distortion that occurs in the optical system of the projector by image processing.
  • a three-dimensional measurement system includes a projector that projects, onto an object, a striped pattern of light in which bright portions and dark portions are periodically repeated in a first direction; a camera that captures the projected pattern light to generate a captured image; a corrected camera coordinate acquisition unit that acquires corrected camera coordinates corresponding to the first direction and a second direction perpendicular to the first direction; a decoding processing unit that performs processing to obtain decoded information about the first direction; a corresponding projector coordinate acquisition unit that acquires corresponding projector coordinates in the first direction corresponding to the target pixel; corrected camera coordinates in the second direction; and the corresponding projector coordinates in the first direction.
  • a corrected projector coordinate acquisition unit that acquires corrected projector coordinates in the first direction corresponding to the result of performing distortion correction and parallelization conversion processing on the corresponding projector coordinates based on the a distance information generating unit that generates distance information from the camera or the projector to the object based on the corrected camera coordinates in a first direction and the corrected projector coordinates in the first direction;
  • the first direction may be a direction substantially parallel to a virtual line connecting the projector and the camera.
  • the corrected projector coordinates in the first direction are obtained by dividing the corrected camera coordinates in the second direction into a first series and the corresponding projector coordinates in the first direction into a second series. It may be stored in a two-dimensional lookup table.
  • the two-dimensional lookup table includes a striped light pattern in which bright portions and dark portions are periodically repeated in the first direction and a striped light pattern in which bright portions and dark portions are periodically repeated in the second direction. pattern light is projected onto a predetermined object, and the projected pattern light is photographed.
  • a temperature sensor that directly or indirectly measures the temperature of the optical system of the projector; a storage unit for storing a plurality of temperature-specific two-dimensional lookup tables with corresponding projector coordinates as a second series; and the temperature-specific two-dimensional lookup tables corresponding to the temperatures measured by the temperature sensors.
  • the projector coordinate acquisition unit instead of the two-dimensional lookup table, use the read two-dimensional lookup table by temperature to correct the projector in the first direction. It may be one that acquires coordinates.
  • Corrected projector coordinates for the first direction are generated by interpolation using values stored in the temperature-specific two-dimensional lookup table corresponding to temperatures before and after the temperature measured by the temperature sensor. , may be
  • the interpolation processing may be linear interpolation processing.
  • suitable corrected projector coordinates can be obtained at any temperature by linear interpolation.
  • the pattern light may be pattern light according to a spatial encoding method.
  • a spatial encoding method can be realized.
  • the pattern light may be pattern light according to a phase shift method.
  • the phase shift method can be realized.
  • a three-dimensional measuring apparatus which is a projector that projects, onto an object, striped pattern light in which bright portions and dark portions are periodically repeated in a first direction. and a camera that captures the pattern light projected onto the object to generate a captured image, and performing distortion correction processing and parallelization conversion processing regarding the camera on a pixel of interest on the captured image.
  • a corrected camera coordinate acquisition unit that acquires corrected camera coordinates corresponding to the pixel of interest and with respect to the first direction and a second direction perpendicular to the first direction; a decoding processing unit that performs a decoding process on the pattern light and acquires decoding information on the first direction; and a virtual logic observed by a virtual camera placed at the position of the projector based on the decoding information.
  • a corresponding projector coordinate acquisition unit that acquires corresponding projector coordinates in the first direction that correspond to the target pixel on the image; corrected camera coordinates in the second direction; a correcting projector that acquires corrected projector coordinates in the first direction, based on the corresponding projector coordinates in the direction, corresponding to a result of performing distortion correction and parallelization conversion processing on the corresponding projector coordinates in the first direction; a coordinate acquisition unit; and a distance information generator that generates distance information from the camera or the projector to the target based on the corrected camera coordinates in the first direction and the corrected projector coordinates in the first direction.
  • the present invention viewed from another aspect is a control method for a three-dimensional measurement system, in which a striped pattern light in which bright portions and dark portions are periodically repeated in a first direction is projected onto an object.
  • a projector and a camera that captures the pattern light projected onto the object to generate a captured image, wherein a pixel of interest on the captured image is
  • corrected camera coordinates corresponding to the target pixel and in the first direction and a second direction orthogonal to the first direction a step of obtaining corrected camera coordinates; performing a decoding process on the photographed image with respect to the pattern light to obtain decoding information about the first direction; a corresponding projector coordinate obtaining step of obtaining corresponding projector coordinates corresponding to the target pixel and in the first direction on a virtual logical image observed by a virtual camera arranged at the projector position.
  • a control program for a three-dimensional measurement system which projects a striped pattern of light in which bright portions and dark portions are periodically repeated in a first direction onto an object. and a camera that captures the pattern light projected onto the object and generates a captured image
  • the control program for a three-dimensional measurement system comprising: On the other hand, by performing distortion correction processing and parallelization conversion processing on the camera, corrected camera coordinates corresponding to the target pixel and in the first direction and a second direction orthogonal to the first direction a step of obtaining corrected camera coordinates; performing a decoding process on the photographed image with respect to the pattern light to obtain decoding information about the first direction; a corresponding projector coordinate obtaining step of obtaining corresponding projector coordinates corresponding to the target pixel and in the first direction on a virtual logical image observed by a virtual camera arranged at the projector position.
  • a three-dimensional camera and a projector that projects, onto an object, striped pattern light in which bright portions and dark portions are periodically repeated in a first direction.
  • a camera for capturing the pattern light projected onto the object to generate a captured image; and performing distortion correction processing and parallelization conversion processing on the camera for a pixel of interest on the captured image.
  • a corrected camera coordinate acquisition unit that acquires corrected camera coordinates corresponding to the pixel of interest and related to the first direction and a second direction perpendicular to the first direction; a decoding processing unit that performs decoding processing on pattern light and acquires decoding information on the first direction; and a virtual logical image observed by a virtual camera arranged at the position of the projector based on the decoding information.
  • a corresponding projector coordinate acquisition unit located above and corresponding to the pixel of interest and acquiring corresponding projector coordinates in the first direction; corrected camera coordinates in the second direction; Corrected projector coordinates for obtaining corrected projector coordinates for the first direction corresponding to a result of performing distortion correction and parallelization conversion processing for the projector on the corresponding projector coordinates based on the corresponding projector coordinates for an acquisition unit; and a distance information generation unit that generates distance information from the camera or the projector to the object based on the corrected camera coordinates in the first direction and the corrected projector coordinates in the first direction. and have.
  • the present invention seen from another aspect is a three-dimensional measurement system, in which striped pattern light in which bright portions and dark portions are periodically repeated in a first direction is projected onto an object.
  • a projector a camera that captures the pattern light projected onto the object and generates a captured image, and a pixel of interest on the captured image, by performing distortion correction processing relating to the camera, the a corrected camera coordinate acquisition unit that acquires corrected camera coordinates corresponding to a pixel of interest and with respect to the first direction and a second direction orthogonal to the first direction; and the pattern light for the captured image.
  • a decoding processing unit that obtains decoding information regarding the first direction by performing decoding processing on a corresponding projector coordinate acquisition unit that acquires corresponding projector coordinates in the first direction corresponding to the target pixel; corrected camera coordinates in the second direction; a corrected projector coordinate acquisition unit that acquires corrected projector coordinates in the first direction corresponding to a result of performing distortion correction processing on the projector on the corresponding projector coordinates based on the corresponding projector coordinates; a distance information generating unit that generates distance information from the camera or the projector to the object based on the corrected camera coordinates in one direction and the corrected projector coordinates in the first direction.
  • the present invention viewed from another aspect is a control method for a three-dimensional measurement system, in which a striped pattern light in which bright portions and dark portions are periodically repeated in a first direction is projected onto an object.
  • a projector and a camera that captures the pattern light projected onto the object to generate a captured image, wherein a pixel of interest on the captured image is Acquiring corrected camera coordinates in the first direction and in a second direction perpendicular to the first direction corresponding to the pixel of interest by performing distortion correction processing on the camera; a camera coordinate obtaining step, a decoding processing step of performing decoding processing regarding the pattern light on the captured image to obtain decoding information regarding the first direction, and a position of the projector based on the decoding information.
  • a corresponding projector coordinate obtaining step for obtaining corresponding projector coordinates in the first direction on the virtual logical image observed by the virtual camera arranged in the second Correction in the first direction corresponding to the result of performing distortion correction processing on the corresponding projector coordinates on the corresponding projector coordinates based on the corrected camera coordinates in the direction of and the corresponding projector coordinates in the first direction a corrected projector coordinate obtaining step of obtaining projector coordinates; a distance from the camera or the projector to the object based on the corrected camera coordinates in the first direction and the corrected projector coordinates in the first direction; and a distance information generating step for generating information.
  • a control program for a three-dimensional measurement system which projects a striped pattern of light in which bright portions and dark portions are periodically repeated in a first direction onto an object. and a camera that captures the pattern light projected onto the object and generates a captured image
  • the control program for a three-dimensional measurement system comprising: Acquiring corrected camera coordinates in the first direction and in a second direction perpendicular to the first direction corresponding to the pixel of interest by performing distortion correction processing on the camera; a camera coordinate obtaining step, a decoding processing step of performing decoding processing regarding the pattern light on the captured image to obtain decoding information regarding the first direction, and a position of the projector based on the decoding information.
  • a corresponding projector coordinate obtaining step for obtaining corresponding projector coordinates in the first direction on the virtual logical image observed by the virtual camera arranged in the second Correction in the first direction corresponding to the result of performing distortion correction processing on the corresponding projector coordinates on the corresponding projector coordinates based on the corrected camera coordinates in the direction of and the corresponding projector coordinates in the first direction a corrected projector coordinate obtaining step of obtaining projector coordinates; a distance from the camera or the projector to the object based on the corrected camera coordinates in the first direction and the corrected projector coordinates in the first direction; and a distance information generating step for generating information.
  • the present invention by only projecting pattern light in one direction, it is possible to perform correction that takes into account the distortion that occurs in the optical system of the projector. As a result, it is possible to realize high-speed three-dimensional measurement while correcting distortion that occurs in the optical system of the projector by image processing.
  • FIG. 1 is an overall configuration diagram of a three-dimensional measurement system.
  • FIG. 2 is a general flowchart of preprocessing.
  • FIG. 3 is a detailed flowchart of pair image generation processing.
  • FIG. 4 is an explanatory diagram of a virtual camera image.
  • FIG. 5 is a conceptual diagram regarding generation of a virtual camera image.
  • FIG. 6 is an example of images generated by the paired image generation process.
  • FIG. 7 is a detailed flowchart of the process of generating the first two-dimensional lookup table.
  • FIG. 8 is a conceptual diagram regarding barrel distortion correction.
  • FIG. 9 is a conceptual diagram of parallelization conversion processing.
  • FIG. 10 is an explanatory diagram of the first two-dimensional lookup table.
  • FIG. 10 is an explanatory diagram of the first two-dimensional lookup table.
  • FIG. 11 is a detailed flowchart of the process of generating the second two-dimensional lookup table.
  • FIG. 12 is a conceptual diagram of format conversion processing.
  • FIG. 13 is a conceptual diagram of a two-dimensional lookup table before and after format conversion.
  • FIG. 14 is a general flowchart of three-dimensional measurement processing.
  • FIG. 15 is a detailed flowchart of pattern light image generation processing.
  • FIG. 16 is a detailed flowchart relating to image processing.
  • FIG. 17 is a conceptual diagram of decoding processing.
  • FIG. 18 is a conceptual diagram regarding the flow of generation of parallax information.
  • FIG. 19 is a principle diagram for generating distance information.
  • FIG. 20 is a conceptual diagram regarding generation of a stereoscopic image.
  • FIG. 20 is a conceptual diagram regarding generation of a stereoscopic image.
  • FIG. 21 is an overall configuration diagram of a three-dimensional measurement system (second embodiment).
  • FIG. 22 is a conceptual diagram of a second lookup table group (second embodiment).
  • FIG. 23 is a general flowchart of three-dimensional measurement processing (second embodiment).
  • FIG. 24 is a detailed flowchart relating to image processing (second embodiment).
  • FIG. 25 shows a system configuration in which the camera and projector are mechanically or optically parallelized (modification).
  • the three-dimensional measurement system includes at least a device or system capable of generating three-dimensional information such as depth information, depth information, or distance information, and may be referred to by other terms such as a three-dimensional camera.
  • the device may be configured as a device further provided with other functions.
  • FIG. 1 is an overall configuration diagram of a three-dimensional measurement system 100 according to this embodiment.
  • the three-dimensional measurement system 100 includes a controller unit 1 and a sensor head unit 3 connected to the controller unit 1.
  • the sensor head unit 3 includes a camera (imaging device) 31 and a projector (projection device) 35 horizontally adjacent to the camera 31 .
  • the axis parallel to the imaging surface of the camera 31 or the projection surface of the projector 35 is sometimes referred to as the x-axis, and the direction perpendicular to the paper surface is sometimes referred to as the y-axis.
  • the camera 31 includes an image sensor 311 and an objective lens 312, and is arranged so as to contain the object 5 within its angle of view. As will be described later, the image information generated by the image sensor 311 is captured by the image acquisition section 15 into the controller unit 1 .
  • the projector 35 includes a light source 351, and has a plane wave conversion lens 352, a mirror 353, a DMD 355, a relay lens 356 and an objective lens 357 in order from the light source 351 side on the optical path.
  • the DMD 355 is an abbreviation for Digital Micromirror Device, and is a device that controls the direction of light for each pixel by driving the micro-mirrors arranged in an array to tilt at high speed.
  • the projector 35 is arranged at a position capable of projecting pattern light, which will be described later, onto the object 5 . Further, it is configured to be able to project desired pattern light under the control of a projection control unit 12, which will be described later.
  • the controller unit 1 stores an input reception section 11 that receives an input such as a measurement start signal, a projection control section 12 that controls projection of pattern light from the projector 35, and various information such as a two-dimensional lookup table, which will be described later. and a storage unit 13 for storing data. Further, the controller unit 1 further includes an image acquisition section 15 for acquiring an image captured by the camera 31, an image processing section 16 for performing image processing on the acquired image, and an output section for outputting three-dimensional information. 17. Note that these functions are realized by a control device such as a CPU or a circuit that executes a program.
  • the configurations of the camera 31 and the projector 35 are both exemplary and schematic configurations. Other configurations are therefore possible, such as including additional lenses.
  • controller unit 1 and the sensor head unit 3 are configured separately in this embodiment, the present invention is not limited to such a configuration. Accordingly, all components may be located in one device, or some may be configured as separate devices.
  • FIG. 2 is a general flowchart of preprocessing. As is clear from the figure, when the process starts, the pair image generation process is executed (S11).
  • FIG. 3 is a detailed flowchart of the paired image generation process (S11). As is clear from the figure, when the process starts, the projection control unit 12 performs the process of reading the pattern light data from the storage unit 13 (S111).
  • a spatial encoding method (or a spatial encoding method) is employed as a technique for analyzing the correspondence relationship between the camera 31 and the projector 35, and the pattern light data is pattern light data to be encoded in the horizontal direction. and pattern light data for vertical encoding.
  • the pattern for horizontal coding is a vertical striped pattern (vertical pattern) in which bright and dark portions are periodically repeated
  • the pattern for vertical spatial coding is a pattern in which bright and dark portions are It is a periodically repeated horizontal striped pattern (horizontal pattern) (see FIG. 5).
  • the method of analyzing the correspondence between the camera 31 and the projector 35 is not limited to the spatial encoding method. Therefore, other techniques may be employed, such as, for example, the phase shift method.
  • the camera 31 takes an image while the pattern light is not projected, and the image acquired by the image acquisition unit 15 is stored in the storage unit 13 (S112). This photographing is normal color image photographing by the camera 31 .
  • the projection control unit 12 instructs the projector 35 to project pattern light corresponding to one of the read pattern light data (S113). Based on this pattern light projection command, the projector 35 projects the corresponding pattern light.
  • the object at this time is a chessboard (a board having a checkered pattern) with a known grid pitch length.
  • the projection control unit 12 When a pattern light projection command is issued to the projector 35, the projection control unit 12 performs processing for transmitting a synchronization signal to the camera 31 (S115). Upon receiving this synchronization signal, the camera 31 performs processing for photographing the object on which the pattern light is projected (S116).
  • the image obtaining unit 15 obtains the pattern light image photographed by the camera 31 and performs processing for storing it in the storage unit 13 (S117).
  • the image processing unit 16 performs virtual camera image generation and storage processing (S121).
  • FIG. 4 is an explanatory diagram of a virtual camera image.
  • the virtual camera image is a logical image that would be observed by the camera if the camera were placed at the position of the projector 35 .
  • the virtual camera image can also be called a projector image.
  • the point P on the object is a predetermined point on a predetermined two-dimensional coordinate system (x c , y c ) related to the camera image, that is, the camera position (B) and the point P
  • a predetermined point on a predetermined two-dimensional coordinate system (x p , y p ) related to the virtual camera image, that is, the projector position (A) and the point P corresponds to the intersection of the line segment connecting and the projection plane.
  • a constant parallax is generated between points on each coordinate system.
  • FIG. 5 is an explanatory diagram regarding generation of a virtual camera image.
  • the storage unit 13 stores a plurality of pattern images obtained by projecting horizontal and vertical pattern light and a color image when no pattern light is projected (upper row on the right side of the figure).
  • the image processing unit 16 performs decoding processing (decoding processing) on the image including the horizontal pattern light and the image including the vertical pattern light.
  • decoding processing decoding processing
  • Various methods known to those skilled in the art can be used for the decoding process.
  • decoded information about the vertical position is obtained from the image containing the horizontal pattern light
  • decoded information about the horizontal position is obtained from the image containing the vertical pattern light (bottom right in the figure).
  • the image processing unit 16 calculates the correspondence that would be observed at the projector position based on the color image taken when the pattern light is not projected, the vertical decoding information, and the horizontal decoding information. Generate a virtual camera image that
  • the termination condition is, for example, the number of shots.
  • processing is performed to determine whether or not a signal indicating completion of shooting preparation has been received (S123).
  • the image processing unit 16 performs standby processing until preparation for photographing is completed (S123 NO).
  • preparation for shooting means changing the position and posture of the chessboard for shooting. By changing the position and posture of the chessboard in this way, A camera shot image and a corresponding virtual camera image are generated.
  • the completion signal for imaging preparation is a signal indicating that imaging preparation has been completed, and may be, for example, a signal input by the photographer via the input reception unit 11 .
  • FIG. 6 is an example of images generated and stored by the paired image generation process (S11).
  • the paired image generation process generates and stores a camera-captured image and a corresponding virtual camera image in pairs for each position/orientation of the chess board.
  • distortion correction parameters for correcting distortion caused by the optical system of the camera 31 or the projector 35 are based on the camera-captured image and the virtual camera image.
  • a process of calculating k 1 , k 2 , k 3 , p 1 , and p 2 (see also Equation 1 below) and storing them is performed (S13).
  • this distortion correction parameter can be obtained by a known method by detecting the positions of the feature points of the chessboard, for example, the positions of the corners of the squares forming the grid (for example, "A flexible new technique for camera calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Zhang, 22(11):1330-1334, 2000.).
  • the image processing unit 16 performs a process of identifying the relationship between the three-dimensional positions and orientations of the camera 31 and the projector 35 from the pair of feature points of the chessboard (S14). More specifically, in this embodiment, optimization calculations known to those skilled in the art are performed from pairs of feature points of the chessboard to obtain the translation/rotation matrix of the projector 35 when the position/orientation of the camera 31 is the origin. is processed to identify the
  • the image processing unit 16 calculates a projective transformation parameter for the camera 31 (H 11 to H 33 ) and projective transformation parameters for the projector 35 (H 11 to H 33 in Equation 2) are calculated and stored (S15).
  • the image processing unit 16 performs generation processing and storage processing of the first two-dimensional lookup table (2DLUT) (S16).
  • FIG. 7 is a detailed flowchart of the process of generating the first two-dimensional lookup table.
  • the image processing unit 16 initializes variables i and j for designating pixels (S161). After that, distortion correction processing is performed on the target pixel coordinates (i, j) on the image captured by the camera, and processing for calculating coordinates (x c ', y c ') after distortion correction is performed.
  • the distortion is distortion caused by the optical system of the camera 31 or the like, such as barrel distortion.
  • This type of distortion can be corrected by known techniques known to those skilled in the art.
  • the coordinates (x', y') of the pixel of interest before correction (left diagram) are converted to the corresponding coordinates (x', y') after distortion correction. (Right figure) is calculated. Note that, as described above, the parameters k 1 , k 2 , k 3 , p 1 and p 2 have already been obtained by photographing the chessboard.
  • FIG. 8 is a conceptual diagram regarding barrel distortion correction. As is clear from the figure, the lattice on the left side of the figure is distorted to expand near the center. In this state, when barrel distortion correction processing is performed, the coordinates ( x , y) of the pixel of interest before correction on the left side of FIG . ). In this manner, distortion correction processing is executed.
  • the image processing unit 16 After the distortion correction processing, the image processing unit 16 performs parallelization conversion processing on the corresponding coordinates (x c ', y c ') after the distortion correction, and converts the coordinates after the parallelization conversion (x c '' , yc '') is calculated (S163).
  • This parallelization conversion process can be performed by a known technique known to those skilled in the art.
  • projective transformation is performed to make the epipolar line horizontal by using the projective transformation matrix (H 11 to H 33 ) for the camera that has already been obtained according to Equation 2 below.
  • FIG. 9 is a conceptual diagram of parallelization conversion processing. As is clear from the figure, due to projective transformation, the four coordinates (x c ', y c ') on the left side of the figure before correction are changed to the four coordinates (x c '', y c ' ' ) on the right side of the figure. can be mapped to
  • the image processing unit 16 stores the corresponding coordinates (x c '', y c '') after the correction conversion for the i-th row j-th column position in the two-dimensional lookup table to the storage unit 13. Storing processing is performed (S165).
  • the image processing unit 16 performs processing to determine whether the variable i is equal to the maximum value i_max of i (S166). If the variable i is not yet the maximum value (S166 NO), the process of incrementing the variable i by 1 is performed (S167), and the series of processes are performed again (S162 to S166).
  • the image processing unit 16 initializes the variable i (S169) and determines whether the variable j is equal to the maximum value j_max (S171).
  • FIG. 10 is an explanatory diagram of the first two-dimensional lookup table according to this embodiment generated by a series of processes. As is clear from the figure, in the table, one series is the x-coordinate (horizontal coordinate) of the pixel before correction, and the other series is the y-coordinate of the pixel before correction. stores the corrected x and y coordinates (x c '', y c '').
  • coordinate information (x c ′′, y c '') can be referred to immediately.
  • post-correction coordinates can be obtained at high speed for each pixel of the pre-correction image.
  • FIG. 11 is a detailed flowchart of the process of generating the second two-dimensional lookup table.
  • the image processing unit 16 initializes variables i and j for designating pixels (S181). Thereafter, distortion correction processing is performed on the target pixel coordinates (i, j) on the virtual camera image, and processing for calculating the corresponding coordinates (x p ', y p ') after distortion correction is performed (S182). .
  • the distortion is distortion caused by the optical system of the projector 35 and the like, such as barrel distortion.
  • This type of distortion can be corrected by a known method known to those skilled in the art, and in this embodiment is corrected by a method (S162) similar to the processing for camera images.
  • the image processing unit 16 After the distortion correction processing, the image processing unit 16 performs parallelization conversion processing on the corresponding coordinates (x p ', y p ') after the distortion correction, and converts the coordinates after the parallelization conversion (x p '' , y p '') is calculated (S183).
  • This parallelization conversion process can be performed by a known technique known to those skilled in the art, and in the present embodiment, correction is performed by the same technique (S163) as the process for camera images.
  • the image processing unit 16 stores the corresponding coordinates (x p '', y p '') after the correction conversion for the i-th row j-th column position in the two-dimensional lookup table to the storage unit 13. Storing processing is performed (S185).
  • the image processing unit 16 performs processing to determine whether the variable i is equal to the maximum value i_max of i (S186). If the variable i is not yet the maximum value (S186 NO), the variable i is incremented by 1 (S187), and the series of processes is performed again (S182-S186).
  • the image processing unit 16 initializes the variable i (S189) and determines whether the variable j is equal to the maximum value j_max (S191).
  • variable j is not yet the maximum value (S191 NO)
  • the process of incrementing the variable j by 1 is performed (S188), and the series of processes is performed again (S182-S191).
  • the variable j is equal to the maximum value j_max (YES at S191)
  • format conversion processing of the two-dimensional lookup table is performed (S192).
  • FIG. 12 is a conceptual diagram of format conversion processing. As is clear from the figure, in the two-dimensional lookup table before format conversion, one series is x p , the other series is y p , and corrected coordinates (x p '', y p '') are stored ((A) in the figure).
  • each pixel (x p , y p ) and corrected coordinates (x p '', y p '') corresponding to the pixel A pair list is generated ((B) in the figure).
  • yp may be deleted because it is not used in the processing described later.
  • the image processing unit 16 After that, the image processing unit 16 generates triangles connecting the three adjacent points by, for example, the Delaunary triangulation method known to those skilled in the art ((D) in the figure).
  • the image processing unit 16 After generating this triangle, the image processing unit 16 fits a grid of integers to both sequences of x p , y p '' and converts the values of x p '' at each integer coordinate to 3 It is calculated by linear interpolation of two points ((E) in the figure). Using this linearly interpolated value, a two-dimensional lookup table with x p for one series and y p '' for the other series, that is, a second two-dimensional lookup table is generated (Fig. (F)).
  • FIG. 13 is a conceptual diagram of a two-dimensional lookup table before and after format conversion.
  • one series of the two-dimensional lookup table is x p and the other series is y p .
  • Later coordinates (x p '', y p '') are stored.
  • the later x-coordinate x p '' is stored.
  • the corresponding x-coordinate (x p ′′) after distortion correction and rectification transformation can be referenced immediately. That is, it is possible to refer to the corresponding x-coordinate (x p ′′) after the distortion correction process and the parallelization process at high speed.
  • the first lookup table and the second lookup table are generated and stored in the preprocessing.
  • FIG. 14 is a general flowchart of the three-dimensional measurement process.
  • the input reception unit 11 enters a standby state for receiving a measurement start signal (S31 NO).
  • S31 NO a measurement start signal
  • the measurement start signal may be transmitted from a system higher than the three-dimensional measurement system 100, or may be generated by an input from the user.
  • the camera 31 After receiving the measurement start signal, the camera 31 carries out photographing processing, and the photographed image is acquired by the image acquisition unit 15 (S32). This photographing is normal color image photographing by the camera 31 .
  • the projection control unit 12 performs pattern light image generation processing (S34).
  • FIG. 15 is a detailed flowchart of pattern light image generation processing.
  • the projection control unit 12 reads the pattern light data from the storage unit 13 (S341).
  • the pattern light data to be read out is only the data relating to the vertical pattern to be spatially encoded in the x-axis direction.
  • the projection control unit 12 instructs the projector 35 to project the pattern light corresponding to one of the read pattern light data (S342). Based on this pattern light projection command, the projector 35 projects the corresponding pattern light.
  • the projection control unit 12 When a pattern light projection command is issued to the projector 35, the projection control unit 12 performs processing for transmitting a synchronization signal to the camera 31 (S344). Upon receiving this synchronization signal, the camera 31 performs processing for photographing the pattern light projected onto the object (S345).
  • the image obtaining unit 15 obtains the pattern light image photographed by the camera 31 and stores it in the storage unit 13 (S346).
  • predetermined image processing is performed based on the pattern light image (S36).
  • the image processing unit 16 After the initialization process, the image processing unit 16 performs a process of reading out the first lookup table and the second lookup table stored in the storage unit 13 (S362).
  • the image processing unit 16 performs decoding processing on the pattern light image composed of vertical patterns (S363).
  • FIG. 17 is a conceptual diagram of decoding processing.
  • the pattern light image composed of the vertical pattern shown on the left side of the figure by decoding the pattern light image composed of the vertical pattern shown on the left side of the figure, the horizontal (x-axis) position on the virtual camera image corresponding to the target pixel coordinates of the camera-captured image can be determined.
  • Decoded information that enables identification is obtained (for example, the gradation on the right side of the figure). It should be noted that in the present embodiment, only the pattern light related to the vertical pattern is projected, so even if the decoding process is performed, information in the vertical direction cannot be obtained.
  • the first lookup table is used to correspond to the coordinates (x c , y c ) of the target pixel, and distortion correction and parallelization conversion processing are performed.
  • a process of acquiring corrected coordinates (x c ′′, y c ′′) corresponding to the coordinates is performed.
  • the image processing unit 16 After obtaining the corrected coordinates of the camera-captured image, the image processing unit 16, based on the decoded information, determines the horizontal (x-axis) position on the virtual camera image corresponding to the coordinates (x c , y c ) of the pixel of interest. A direction position (x p ) is identified (S366).
  • the image processing unit 16 uses the second lookup table to determine the horizontal (x-axis) direction position (x p ) on the virtual camera image. and the corrected horizontal ( x -axis) value (x p '') is acquired (S367).
  • the image processing unit 16 calculates the parallax information d from each coordinate (x c ′′ and x p ′′) in the horizontal (x-axis) direction after correction.
  • the image processing unit 16 After calculating the parallax information d, the image processing unit 16 performs processing for determining whether or not the processing for all pixels has been completed (S369). If processing has not been completed for all pixels (S369 NO), the variable i is incremented and a series of processing (S365-S368) is performed for another pixel. On the other hand, if the processing has been completed for all pixels (S369YES), the processing ends. As a result, the parallax information d is calculated for each pixel.
  • FIG. 18 is a conceptual diagram regarding the flow of generation of parallax information d.
  • the right column shows the processing for the image acquired from the camera 31, and the left column shows the processing for the logical image that would be acquired by the virtual camera at the position of the projector 35.
  • FIG. 18 is a conceptual diagram regarding the flow of generation of parallax information d.
  • the right column shows the processing for the image acquired from the camera 31, and the left column shows the processing for the logical image that would be acquired by the virtual camera at the position of the projector 35.
  • the image processing unit 16 uses the first lookup table to obtain corrected corresponding pixel coordinates (x c ′′, yc'') ( S362 , S365) (lowermost row in the right column of the figure).
  • the image processing unit 16 acquires the value (x p ) in the horizontal (x-axis) direction of the virtual camera image corresponding to the pixel of interest by decoding the pattern light image. (S362, S363, S366).
  • the image processing unit 16 calculates parallax information d from each coordinate (x c '' and x p '') in the horizontal (x-axis) direction after correction. (S368).
  • the image processing unit 16 performs distance information generation processing (S37).
  • known parameters (focal length f and distance B between the camera 31 and the projector 35) stored in the storage unit 13 are used to extract the object from the camera 31 or the projector 35. Calculate the distance to 5.
  • FIG. 19 is a principle diagram regarding the generation of distance information.
  • the point on the object 5 is point P
  • the projector 35 or virtual camera position is point Q
  • the camera 31 position is point R
  • the distance from point Q or point R to image sensor 311 is f.
  • the distance from the point of intersection of the line extending parallel to the line segment PQ from the point R and the plane of the image sensor 311 to the point of intersection of the line segment PR and the plane of the image sensor 311 is the already obtained parallax d.
  • the baseline distance from point Q to point R is B.
  • the distance Z from the point Q or the point R to the point P is calculated as the product of the distance B and the focal length f divided by the parallax d, as shown in Equation 3 below.
  • the distance information Z to the object can be calculated by obtaining the parallax information d. Also, since such distance information Z can be generated for each pixel, a so-called depth map can be generated.
  • the image processing unit 16 generates point cloud data in a three-dimensional space using the normal image and depth map captured in the imaging process (S32). After that, the output unit 17 renders the point cloud data together with the depth map, and outputs it to a display (not shown) or the like.
  • FIG. 20 is a conceptual diagram regarding the generation of 3D point cloud data.
  • image processing so as to apply depth map information (lower left in the figure) to an image normally captured by the camera 31 (upper left in the figure)
  • a three-dimensional image as shown on the right side of the figure can be obtained. Images can be provided.
  • image information is output in this embodiment, the present invention is not limited to such a configuration, and parallax information d or distance information Z may simply be output.
  • FIG. 21 is an overall configuration diagram of a three-dimensional measurement system 100' according to this embodiment.
  • the three-dimensional measurement system 100' according to this embodiment also includes a controller unit 1' and a sensor head unit 3' connected to the controller unit 1'. Therefore, the configuration is similar to that of the first embodiment in terms of generating three-dimensional information of the object 5 using these configurations.
  • the sensor head unit 3' further includes a temperature sensor 37 for measuring the temperature of the optical system such as the lens of the projector 35, which is different from the configuration according to the first embodiment. differ. More specifically, the temperature sensor 37 is attached to a resin plate 38 that is attached to the aluminum lens barrel of the projector 35 and has thermal conductivity similar to that of the lens. That is, it is indirectly attached to the lens barrel via the resin plate 38 .
  • the temperature sensor 37 By attaching the temperature sensor 37 to the resin plate 38 having the same thermal conductivity as the lens, the temperature sensor 37 can measure the same temperature as the lens. Thereby, the thermal expansion of an optical system such as a lens can be captured more accurately, and three-dimensional measurement can be performed with high accuracy. Note that the temperature sensor 37 may be attached directly to the lens barrel.
  • the sensor information acquired by the temperature sensor 37 is stored in the storage unit 131 and used in processing in the image processing unit 161 as described later.
  • the preprocessing in the second embodiment is substantially the same as the preprocessing in the first embodiment. However, the difference is that the second lookup table is created while changing the temperature conditions acquired by the temperature sensor 37 and stored in the storage unit 131 together with the temperature conditions.
  • FIG. 22 is a conceptual diagram of a second lookup table group (three-dimensional lookup table (3DLUT)) generated in this embodiment.
  • the second lookup table is generated every 10 degrees.
  • each lookup table has one series of x-coordinates (horizontal coordinates x p ) of pixels before correction, and the other series of y-coordinates (vertical coordinates) of pixels after correction.
  • y p '' the corrected x-coordinate (x p '') is stored at the position specified by those coordinates.
  • the x-coordinate (x p ′′) resulting from the distortion correction process and parallelization conversion process can be obtained immediately.
  • the post-correction coordinates can be obtained at high speed for each pixel of the pre-correction image.
  • Three-dimensional measurement processing in the second embodiment is also substantially the same as the three-dimensional measurement processing in the first embodiment.
  • FIG. 23 is a general flowchart of three-dimensional measurement processing according to the second embodiment. As is clear from the figure, after receiving the measurement start signal (S31), camera photography is performed (S32), and the process of generating a pattern light image (S34) is performed according to the first embodiment. are identical. However, the contents of the image processing according to the second embodiment are different from those according to the first embodiment.
  • FIG. 24 is a detailed flowchart relating to image processing according to this embodiment.
  • the processing from the initialization processing of the variable i (S361) to the generation of the parallax information d for each pixel (S368, S369) is substantially the same as that according to the first embodiment. be. However, the difference is that a process using the temperature sensor 37 is added.
  • the image processing unit 161 acquires the temperature of the optical system of the projector 35 through the temperature sensor 37 (S561). After that, the image processing unit 161 performs a process of reading the second lookup table generated under the temperature condition closest to the acquired temperature from the storage unit 131 (S562).
  • the corrected horizontal (x-axis) coordinate value (X p '') in the virtual camera is obtained (S367).
  • processing is performed to read out the second lookup table generated under the temperature conditions closest to the acquired temperature, but other methods may be adopted.
  • two second lookup tables close to the acquired temperature may be read, and from them, a lookup table may be generated by interpolating values by linear interpolation.
  • the present invention can be implemented in various modifications.
  • FIG. 25 shows a system configuration when the camera 31 and projector 35 are mechanically or optically parallelized. In such a configuration, there is no need to perform parallelization conversion processing.
  • pattern light that has been spatially encoded in the horizontal direction (x-axis direction) is projected, and parallax information is calculated from the difference in position coordinates in the horizontal direction (x-axis direction).
  • the direction in which the pattern light is spatially encoded and the direction in which differences are taken for parallax are relatively determined by the positional relationship between the camera 31 and the projector 35 .
  • the direction in which the pattern light is spatially encoded and the difference due to the parallax are calculated based on the direction parallel to the virtual line connecting them. You can decide which direction to take.
  • the coordinates (x c '', y c '') of each pixel in the corrected camera image and the corrected is not limited to such a configuration. Therefore, for example, instead of using a two-dimensional table format, a format of simply reading the corresponding values may be used. Alternatively, the calculations may be performed sequentially.
  • the present invention can be used at least in industries that manufacture three-dimensional measurement systems and the like.
  • controller unit 11 input reception unit 12 projection control unit 13 storage unit 15 image acquisition unit 16 image processing unit 17 output unit 3 sensor head unit 31 camera 311 image sensor 312 objective lens 35 projector 351 light source 352 plane wave conversion lens 353 mirror 355 DMD 356 relay lens 357 objective lens 37 temperature sensor 5 object 100 three-dimensional measurement system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

対象物に対して第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射するプロジェクタと、パターン光を撮影して撮影画像を生成するカメラと、注目画素に対応しかつ第一の方向及び第一の方向に直交する第二の方向に関する補正カメラ座標を取得する補正カメラ座標取得部と、第一の方向に関する復号情報を取得する復号化処理部と、プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって注目画素に対応しかつ第一の方向に関する対応プロジェクタ座標を取得する対応プロジェクタ座標取得部と、対応プロジェクタ座標に対してプロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する第一の方向に関する補正プロジェクタ座標を取得する補正プロジェクタ座標取得部と、カメラ又はプロジェクタから対象物までの距離情報を生成する距離情報生成部とを備えた3次元計測システムが提供される。

Description

3次元計測システム、装置、方法及びプログラム
 この発明は、3次元計測システム等に関する。
 深度情報等の3次元情報を非接触で取得する手法として、アクティブステレオ法が知られている。
 アクティブステレオ法では、プロジェクタから対象物に対して明部と暗部が周期的に繰り返された縞状のパターン光を投射し、投射したパターン光をカメラで撮影する。この撮影された画像を解析することにより、プロジェクタ又はカメラから対象物までの距離を算出することができる。
 ところで、レンズ等を含むプロジェクタの光学系においては、温度に応じて熱膨張や熱収縮が発生する。このような熱膨張等が発生すると、パターン光に歪が生じると共に画像において解析誤差が生じ、ひいては3次元計測の精度の低下を招くおそれがあった。このような不都合を防止するため、従前、様々な対策が採られていた。
 例えば、画像解析の際にプロジェクタに係る光学系の歪補正を行う手法が知られていた(例えば、非特許文献1)。このような手法によれば、例えば、プロジェクタに係る光学系の熱膨張により生じる歪みを事前に測定した校正パラメータを用いて補正することで、3次元計測精度の低下を防止することができる。
 また、カメラの例ではあるものの、その光学系に対して温度補償機能付きの光学系を採用し、光学系において発生する歪自体を抑制する手法も知られていた(例えば、特許文献1)。このような手法によれば、物理的・機械的方法により熱による光学系の歪自体が抑制される。このような手法を転用すれば、3次元計測精度の低下を防止することができる。
Hiroshi Kawasaki、Hiroshi Ohsawa、Ryo Furukawa、Yasuaki Nakamura著「Dense 3D Reconstruction with an Uncalibrated Stereo System using Coded Structured Light」、2005 IEEE Computer Science Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Workshops, 2005, pp.107-107, doi: 10.1109/CVPR.2005.440
特開平05-303032号公報
 しかしながら、画像解析の際にプロジェクタに係る光学系の歪補正を行う手法においては、3次元計測にあたり、水平方向の縞状パターン光と垂直方向の縞状パターン光を投射することが必要であった。そのため、パターン光の投射に一定の時間を要し、その結果、高速な3次元計測が困難であった。
 また、温度補償機能付き光学系を採用する手法にあっては、プロジェクタに係る光学系が高度化してコストが増大してしまい、3次元計測システム全体のコストの増大につながるおそれがあった。
 本発明は上述の技術的背景に鑑みてなされたものであり、その目的は、プロジェクタの光学系において生じる歪みを画像処理により補正しつつも、高速な3次元計測を実現することにある。
 上述の技術的課題は、以下の構成を有する3次元計測システム等により解決することができる。
 すなわち、本発明に係る3次元計測システムは、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えている。
 このような構成によれば、一の方向に関してパターン光を投射するだけで、プロジェクタに係る光学系において発生する歪みを考慮した補正を行うことができる。これにより、プロジェクタの光学系において生じる歪みを画像処理により補正しつつも、高速な3次元計測を実現することができる。
 前記第一の方向は、前記プロジェクタと前記カメラを結ぶ仮想線に対して略平行な方向であってもよい。
 このような構成によれば、平行化変換を行うことで第二の方向に関する補正カメラ座標と第二の方向に関する補正プロジェクタ座標が一致することを利用して、距離情報を生成することができる。
 前記補正プロジェクタ座標取得部において、前記第一の方向に関する補正プロジェクタ座標は、前記第二の方向に関する補正カメラ座標を第一の系列に、前記第一の方向に関する対応プロジェクタ座標を第二の系列とする2次元ルックアップテーブルに格納されている、ものであってもよい。
 このような構成によれば、演算量を低減することができ、さらに高速な3次元計測を実現することができる。
 前記2次元ルックアップテーブルは、前記第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光と前記第二の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を所定の対象物に対して投射し、投射された前記パターン光を撮影した結果に基づいて生成される、ものであってもよい。
 このような構成によれば、3次元計測時に一の方向に関するパターン光のみを投射する場合であっても、適切に距離情報を生成することができる。
 前記プロジェクタに係る光学系の温度を直接的又は間接的に測定する温度センサと、前記温度毎に生成され、前記第二の方向に関する補正カメラ座標を第一の系列に、前記第一の方向に関する対応プロジェクタ座標を第二の系列とする、複数の温度別2次元ルックアップテーブルを記憶する、記憶部と、前記温度センサで測定された温度に応じて、対応する前記温度別2次元ルックアップテーブルを読み出す、選択的読出部と、前記プロジェクタ座標取得部は、前記2次元ルックアップテーブルに代えて、読み出された前記温度別2次元ルックアップテーブルを用いて、前記第一の方向に関する補正プロジェクタ座標を取得する、ものであってもよい。
 このような構成によれば、プロジェクタに係る光学系の温度に応じた適切な補正処理を行ったプロジェクタ座標を取得することができる。
 前記第一の方向に関する補正プロジェクタ座標は、前記温度センサにより測定された温度の前後の温度に対応する前記温度別2次元ルックアップテーブルに格納された値を用いて補間処理することにより生成される、ものであってもよい。
 このような構成によれば、適当な間隔で温度別2次元ルックアップテーブルを準備することで、あらゆる温度において適当な補正プロジェクタ座標を取得することができる。
 前記補間処理は、線形補間処理である、ものであってもよい。
 このような構成によれば、線形補間によりあらゆる温度において適当な補正プロジェクタ座標を取得することができる。
 前記パターン光は、空間コード化法に係るパターン光であってもよい。
 このような構成によれば、空間コード化法を実現することができる。
 前記パターン光は、位相シフト法に係るパターン光であってもよい。
 このような構成によれば、位相シフト法を実現することができる。
 別の側面から見た本発明は、3次元計測装置であって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えている。
 別の側面から見た本発明は、3次元計測システムの制御方法であって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御方法であって、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えている。
 別の側面から見た本発明は、3次元計測システムの制御プログラムであって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御プログラムであって、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えている。
 別の側面から見た本発明は、3次元カメラであって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えている。
 また、別の側面から見た本発明は、3次元計測システムであって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えている。
 このような構成によれば、一の方向に関してパターン光を投射するだけで、プロジェクタに係る光学系において発生する歪みを考慮した補正を行うことができる。これにより、プロジェクタの光学系において生じる歪みを画像処理により補正しつつも、高速な3次元計測を実現することができる。
 別の側面から見た本発明は、3次元計測システムの制御方法であって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御方法であって、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えている。
 別の側面から見た本発明は、3次元計測システムの制御プログラムであって、対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御プログラムであって、前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えている。
 本発明によれば、一の方向に関してパターン光を投射するだけで、プロジェクタに係る光学系において発生する歪みを考慮した補正を行うことができる。これにより、プロジェクタの光学系において生じる歪みを画像処理により補正しつつも、高速な3次元計測を実現することができる。
図1は、3次元計測システムの全体構成図である。 図2は、事前処理のゼネラルフローチャートである。 図3は、ペア画像の生成処理の詳細フローチャートである。 図4は、仮想カメラ画像の説明図である。 図5は、仮想カメラ画像の生成に関する概念図である。 図6は、ペア画像の生成処理により生成される画像の例である。 図7は、第1の2次元ルックアップテーブルの生成処理の詳細フローチャートである。 図8は、樽型歪みの補正に関する概念図である。 図9は、平行化変換処理に関する概念図である。 図10は、第1の2次元ルックアップテーブルの説明図である。 図11は、第2の2次元ルックアップテーブルの生成処理の詳細フローチャートである。 図12は、形式変換処理の概念図である。 図13は、形式変換前後の2次元ルックアップテーブルの概念図である。 図14は、3次元計測処理のゼネラルフローチャートである。 図15は、パターン光画像の生成処理の詳細フローチャートである。 図16は、画像処理に係る詳細フローチャートである。 図17は、デコード処理の概念図である。 図18は、視差情報の生成の流れに関する概念図である。 図19は、距離情報の生成に関する原理図である。 図20は、立体的な画像の生成に関する概念図である。 図21は、3次元計測システムの全体構成図である(第2の実施形態)。 図22は、第2のルックアップテーブル群の概念図である(第2の実施形態)。 図23は、3次元計測処理のゼネラルフローチャートである(第2の実施形態)。 図24は、画像処理に係る詳細フローチャートである(第2の実施形態)。 図25は、カメラとプロジェクタとが機械的又は光学的に平行化されている場合のシステム構成である(変形例)。
 以下、本発明の好適な実施の形態について添付の図面を参照しつつ詳細に説明する。
 (1.第1の実施形態)
  第1の実施形態として、本発明を3次元計測システムに対して適用した例について説明する。なお、ここで、3次元計測システムとは、少なくとも、深度情報、奥行情報又は距離情報等の3次元情報を生成可能な装置又はシステムを含み、3次元カメラ等他の用語で称呼してもよい。また、他の機能をさらに備えた装置として構成してもよい。
 (1.1 システムの構成)
  図1は、本実施形態に係る3次元計測システム100の全体構成図である。同図から明らかな通り、3次元計測システム100は、コントローラユニット1と、コントローラユニット1と接続されるセンサヘッドユニット3を含んでいる。これらの構成を利用して、対象物5の3次元情報を生成する。
 センサヘッドユニット3は、カメラ(撮像装置)31と、カメラ31と水平方向に隣り合うプロジェクタ(投影装置)35を含んでいる。なお、以下では、カメラ31の撮像面又はプロジェクタ35の投射面に平行な軸をx軸と称し、紙面に対して垂直な方向をy軸と称することがある。
 カメラ31は、イメージセンサ311と、対物レンズ312を含み、対象物5をその画角内に収めるように配置されている。なお、後述の通り、イメージセンサ311にて生成された画像情報は、画像取得部15によりコントローラユニット1へと取り込まれる。
 プロジェクタ35は、光源351を含み、その光路上に、光源351側から順に、平面波変換レンズ352、ミラー353、DMD355、リレーレンズ356及び対物レンズ357を備えている。なお、DMD355は、デジタル・マイクロミラー・デバイス(Digital Micorоmirror Device)の略称であり、アレイ状に並んだ極小ミラーを高速で傾斜駆動させることにより画素単位で光の方向を制御する装置である。プロジェクタ35は、後述のパターン光を対象物5に対して投射可能な位置に配置されている。また、後述の投射制御部12により制御されて所望のパターン光を投射することができるよう構成されている。
 コントローラユニット1は、測定開始信号等の入力を受け付ける入力受付部11と、プロジェクタ35におけるパターン光の投射を制御する投射制御部12、及び、後述の2次元ルックアップテーブル等の種々の情報を記憶する記憶部13とを備えている。また、コントローラユニット1は、さらに、カメラ31において撮影された画像を取得する画像取得部15と、取得された画像に対して画像処理を行う画像処理部16と、3次元情報を出力する出力部17を備えている。なお、これらの機能は、プログラムの実行を行うCPU等の制御装置や回路により実現される。
 なお、カメラ31及びプロジェクタ35の構成は、いずれも例示的、概略的な構成である。従って、追加のレンズを含む等、他の構成であってもよい。
 また、本実施形態においては、コントローラユニット1とセンサヘッドユニット3とを別々に構成したものの、本発明はそのような構成に限定されない。従って、すべての構成を1つの装置内に配置してもよいし、一部を別の装置として構成してもよい。
 (1.2 システムの動作)
  次に、図2~図17を参照しつつ、3次元計測システム100の動作について説明する。なお、本実施形態に係る3次元計測システム100においては、実際の3次元計測処理の前に所定の事前処理を行う。以下、各処理について順に説明する。
 (1.2.1 事前処理)
  図2は、事前処理のゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、ペア画像の生成処理が実行される(S11)。
 図3は、ペア画像の生成処理(S11)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、投射制御部12は、パターン光データを記憶部13から読み出す処理を行う(S111)。
 本実施形態においては、カメラ31とプロジェクタ35の対応関係を解析する手法として、空間コード化法(又は空間符号化法)が採用され、パターン光データは、水平方向の符号化を行うパターン光データと、垂直方向の符号化を行うパターン光データの両方を含む。水平方向の符号化を行うパターンとは、明部と暗部が周期的に繰り返された垂直の縞模様(垂直パターン)であり、垂直方向の空間符号化を行うパターンとは、明部と暗部が周期的に繰り返された水平の縞模様(水平パターン)である(図5参照)。
 なお、カメラ31とプロジェクタ35の対応関係を解析する手法は、空間コード化法に限定されない。従って、例えば、位相シフト法等、他の手法を採用してもよい。
 読み出し処理の後、パターン光が投射されていない状態において、カメラ31は撮影を行い、当該撮影された画像は、画像取得部15により取得され記憶部13へと記憶される(S112)。この撮影は、カメラ31による通常のカラー画像の撮影である。
 撮影処理の後、投射制御部12は、読み出したパターン光データのうちの1つに対応するパターン光の投射指令をプロジェクタ35に対して行う(S113)。このパターン光の投射指令に基づいて、プロジェクタ35は、対応するパターン光の投射を行う。なお、このときの対象物は、グリッドのピッチ長が既知のチェスボード(チェック柄の濃淡を有する板)である。
 プロジェクタ35へのパターン光投射指令が行われると、投射制御部12は、カメラ31へと同期信号を送信する処理を行う(S115)。この同期信号を受信すると、カメラ31は、パターン光が投射された対象物を撮影する処理を行う(S116)。
 撮影処理が行われると、画像取得部15は、カメラ31から撮影されたパターン光画像を取得し、記憶部13へと記憶する処理を行う(S117)。
 この処理の後、読み出したすべてのパターン光について撮影が完了したか否かが判定される(S118)。未投射のパターン光がある場合には(S118NO)、投射するパターン光を変更する処理を行った後(S119)、一連の投射から撮影までの一連の処理を、再び、行う(S113~S118)。
 一方、すべてのパターン光について撮影が完了した場合には(S118YES)、画像処理部16は、仮想カメラ画像の生成及び記憶処理を行う(S121)。
 ここで、仮想カメラ画像について説明する。図4は、仮想カメラ画像の説明図である。本実施形態において、仮想カメラ画像とは、プロジェクタ35位置にカメラが配置されれば当該カメラで観測されるであろう論理画像である。仮想カメラ画像は便宜上プロジェクタ画像と言い換えることもできる。
 同図から明らかな通り、対象物上の点Pは、カメラ画像に係る所定の2次元座標系(x,y)上の所定の点、すなわち、カメラ位置(B)と点Pとを結ぶ線分と撮像面との交点に対応し、一方、仮想カメラ画像に係る所定の2次元座標系(x,y)上の所定の点、すなわち、プロジェクタ位置(A)と点Pとを結ぶ線分と投影面との交点に対応する。このとき、各座標系上の点の間に一定の視差が生じることとなる。
 図5は、仮想カメラ画像の生成に関する説明図である。既に述べた通り、記憶部13には、水平パターンと垂直パターンのパターン光を投射することにより得られた複数のパターン画像と、パターン光を投射していないときのカラー画像が記憶されている(同図右側の上段)。
 この状態において、画像処理部16は、水平パターン光を含む画像と垂直パターン光を含む画像に対してデコード処理(復号処理)を行う。デコード処理の方法は、当業者に知られる種々の方法が採用できる。このデコード処理の結果、水平パターン光を含む画像からは垂直方向の位置に関する復号情報が得られ、垂直パターン光を含む画像からは水平方向の位置に関する復号情報が得られる(同図右側の下段)。
 その後、画像処理部16は、パターン光が投射されていないときに撮影されたカラー画像、垂直方向の復号情報、及び、水平方向の復号情報に基づいて、プロジェクタ位置において観測されるであろう対応する仮想カメラ画像を生成する。
 仮想カメラ画像の生成及び記憶処理の完了後、所定の終了条件の判定処理が行われる(S122)。終了条件とは、例えば、撮影回数である。
 所定の終了条件を満たす場合(S122YES)、ペア画像の生成処理は終了する。
 一方、所定の終了条件を満たさない場合(S122NO)、撮影準備の完了を示す信号を受信したか否かを判定する処理を行う(S123)。画像処理部16は、撮影準備が完了するまで、待機処理を行う(S123NO)。ここで、撮影準備とは、撮影のためにチェスボードの位置・姿勢を変更することを言い、このように、チェスボードの位置・姿勢を変更することで、チェスボードの位置・姿勢毎に、カメラ撮影画像とそれに対する仮想カメラ画像が生成される。また、撮影準備の完了信号は、撮影準備が完了したことを示す信号であり、例えば、入力受付部11を介して撮影者により入力された信号等であってよい。
 撮影準備が完了したことを検出すると(S123YES)、再度、一連の撮影処理(S112~S122)が実行される。
 図6は、ペア画像の生成処理(S11)により生成、記憶される画像の例である。同図から明らかな通り、ペア画像の生成処理によりチェスボードの位置・姿勢毎に、カメラ撮影画像とそれに対応する仮想カメラ画像が対で生成、記憶されることとなる。
 図2に戻り、ペア画像の生成処理が完了すると、カメラ撮影画像と仮想カメラ画像に基づき、カメラ31又はプロジェクタ35の光学系等により生じる歪み、例えば、樽型歪みを補正するための歪補正パラメータk1、k2、k3、p1、p2をそれぞれ算出し(後述の数式1も参照)、記憶する処理を行う(S13)。
 当業者には明らかなように、この歪補正パラメータは、チェスボードの特徴点の位置、例えば、格子をなす四角形の角の位置を検出することで、公知の手法により求めることができる(例えば、"A flexible new technique for camera calibration", IEEE Transactions on Pattern Analysis and Machine Intelligence, Zhang, 22(11):1330-1334, 2000.を参照)。
 歪補正処理の完了後、画像処理部16は、チェスボードの特徴点のペアから、カメラ31とプロジェクタ35の三次元的な位置及び姿勢の関係を同定する処理を行う(S14)。より詳細には、本実施形態においては、チェスボードの特徴点のペアから、当業者に知られる最適化計算を行い、カメラ31の位置・姿勢を原点としたときのプロジェクタ35の並進・回転行列を同定する処理を行う。
 位置及び姿勢の同定処理が完了すると、画像処理部16は、同定したカメラ31とプロジェクタ35との3次元的位置関係から、平行化変換に用いられるカメラ31用の射影変換パラメータ(数式2のH11~H33)とプロジェクタ35用の射影変換パラメータ(数式2のH11~H33)を算出し、それぞれ記憶する処理を行う(S15)。
 その後、画像処理部16は、第1の2次元ルックアップテーブル(2DLUT)の生成処理及び記憶処理を行う(S16)。
 図7は、第1の2次元ルックアップテーブルの生成処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、画像処理部16は、画素を指定するための変数iと変数jの初期化処理を行う(S161)。その後、カメラ撮影画像上の注目画素座標(i,j)に対して、歪補正処理を行い、歪補正後の座標(x',y')を算出する処理を行う。
 歪みは、カメラ31の光学系等により生じる歪みであり、例えば樽型歪みである。この種の歪みは、当業者に知られる公知の手法にて補正することができる。本実施形態においては、一例として、下記の数式1を解くことにより、補正前の注目画素の座標(x,y)(左図)から、対応する歪補正後の座標(x',y')(右図)を算出する。なお、上述の通り、k1、k2、k3、p1及びp2のパラメータは、チェスボードの撮影により既に取得されている。
Figure JPOXMLDOC01-appb-M000001
 図8は、樽型歪みの補正に関する概念図である。同図から明らかな通り、同図左側の格子は中心付近において膨らむように歪んでいる。この状態において、樽型歪みの補正処理が行われると、同図左側の補正前の注目画素の座標(x,y)は、同図右側の歪補正後の座標(x',y')へと対応付けられる。このようにして、歪補正処理が実行される。
 歪補正処理の後、画像処理部16は、歪補正後の対応する座標(x',y')に対して、平行化変換処理を行い、平行化変換後の座標(x'',y'')を算出する処理を行う(S163)。
 この平行化変換処理は、当業者に知られる公知の手法にて行うことができる。本実施形態においては、一例として、下記の数式2により、既に求めたカメラ用の射影変換行列(H11~H33)を用いて、エピポーラ線を水平とする射影変換を行う。
Figure JPOXMLDOC01-appb-M000002
 図9は、平行化変換処理に関する概念図である。同図から明らかな通り、射影変換により、同図左側の補正前の4つの座標(x',y')は、同図右側の4つの座標(x'',y'')へと対応付けられる。
 平行化変換終了後、画像処理部16は、2次元ルックアップテーブルのi行j列の位置に対して補正変換後の対応座標(x'',y'')を記憶部13へと記憶する処理を行う(S165)。
 その後、画像処理部16は、変数iがiの最大値i_maxに等しいかを判定する処理を行う(S166)。変数iが未だ最大値ではない場合(S166NO)、変数iを1だけ増加(インクリメント)する処理を行い(S167)、再度、一連の処理を行う(S162~S166)。
 一方、変数iが最大値i_maxに等しい場合(S166YES)、画像処理部16は、変数iを初期化し(S169)、変数jが最大値j_maxに等しいかの判定処理を行う(S171)。
 変数jが未だ最大値ではない場合(S171NO)、変数jを1だけ増加(インクリメント)する処理を行い(S168)、再度、一連の処理を行う(S162~S171)。一方、変数jが最大値j_maxに等しい場合(S171YES)、処理は終了する。
 図10は、一連の処理により生成される本実施形態に係る第1の2次元ルックアップテーブルの説明図である。同図から明らかな通り、同テーブルは、一方の系列を補正前の画素のx座標(水平方向の座標)、他方の系列を補正前の画素のy座標とし、それらの座標により特定される位置に補正後のx及びy座標(x'',y'')を格納している。
 すなわち、この2次元ルックアップテーブルを使用することで、カメラ31により取得された画像の各画素に対して歪補正処理及び平行化変換処理を行った結果となる座標情報(x'',y'')を直ちに参照することができる。
 このような2次元ルックアップテーブルによれば、補正前の画像の各画素について、高速に、補正後の座標を得ることができる。
 図2に戻り、第1の2次元ルックアップテーブルの生成処理の後(S16)、次に、第2の2次元ルックアップテーブルの生成処理及びその記憶処理が行われる(S18)。
 図11は、第2の2次元ルックアップテーブルの生成処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、画像処理部16は、画素を指定するための変数iと変数jの初期化処理を行う(S181)。その後、仮想カメラ画像上の注目画素座標(i,j)に対して、歪補正処理を行い、歪補正後の対応する座標(x',y')を算出する処理を行う(S182)。
 なお、歪みは、プロジェクタ35の光学系等により生じる歪みであり、例えば樽型歪みである。この種の歪みは、当業者に知られる公知の手法にて補正することができ、本実施形態においては、カメラ画像に対する処理と同様の手法(S162)で補正される。
 歪補正処理の後、画像処理部16は、歪補正後の対応する座標(x',y')に対して、平行化変換処理を行い、平行化変換後の座標(x'',y'')を算出する処理を行う(S183)。
 この平行化変換処理は、当業者に知られる公知の手法にて行うことができ、本実施形態においては、カメラ画像に対する処理と同様の手法(S163)で補正を行う。
 平行化変換終了後、画像処理部16は、2次元ルックアップテーブルのi行j列の位置に対して補正変換後の対応座標(x'',y'')を記憶部13へと記憶する処理を行う(S185)。
 その後、画像処理部16は、変数iがiの最大値i_maxに等しいかを判定する処理を行う(S186)。変数iが未だ最大値ではない場合(S186NO)、変数iを1だけ増加(インクリメント)する処理を行い(S187)、再度、一連の処理を行う(S182~S186)。
 一方、変数iが最大値i_maxに等しい場合(S186YES)、画像処理部16は、変数iを初期化し(S189)、変数jが最大値j_maxに等しいかの判定処理を行う(S191)。
 変数jが未だ最大値ではない場合(S191NO)、変数jを1だけ増加(インクリメント)する処理を行い(S188)、再度、一連の処理を行う(S182~S191)。一方、変数jが最大値j_maxに等しい場合(S191YES)、2次元ルックアップテーブルの形式変換処理が行われる(S192)。
 図12は、形式変換処理の概念図である。同図から明らかな通り、形式変換前の2次元ルックアップテーブルは、一方の系列をx、他方の系列をyとし、それらの系列により特定される位置に補正後の座標(x'',y'')を格納している(同図(A))。
 形式変換処理においては、まず、当該2次元ルックアップテーブルに基づいて、各画素(x,y)と、当該画素に対応する補正後の座標(x'',y'')のペアリストを生成する(同図(B))。このとき、yは後述の処理において用いられないため削除してもよい。
 このペアリストに基づき、原点をO、一方の系列をx、他方の系列をy''とする2次元グラフを生成する(同図(C))。このとき、グラフ上の各点にはx''の値が対応付けられている。
 その後、画像処理部16は、例えば、当業者に知られるDelaunary triangulation法(デローニの三角分割法)等により、3つの近接点同士を結ぶ三角形を生成する(同図(D))。
 この三角形を生成した後、画像処理部16は、x、y''の両方の系列に対して整数のグリッドを当て嵌めると共に、各整数座標におけるx''の値を三角形を成す3つの点の線形補間により算出する(同図(E))。この線形補間された値を用いて、一方の系列をx,、他方の系列をy''とした2次元ルックアップテーブル、すなわち、第2の2次元ルックアップテーブルを生成する(同図(F))。
 図13は、形式変換前後の2次元ルックアップテーブルの概念図である。同図から明らかな通り、形式変換前においては、同図左側に示されるように、2次元ルックアップテーブルの一方の系列はx,他方の系列はyであり、各座標には、補正後の座標(x'',y'')が格納されている。これに対して、形式変換後においては、同図右側に示されるように、2次元ルックアップテーブルの一方の系列はx,他方の系列はy''であり、各座標には、補正後のx座標であるx''が格納されている。
 すなわち、第2の2次元ルックアップテーブルを使用することで、仮想カメラ画像の注目画素のx座標と、歪補正及び平行化変換処理後の対応するy座標(y'')に基づいて、歪補正処理及び平行化変換処理後の対応するx座標(x'')を直ちに参照することができる。すなわち、歪補正処理及び平行化変換処理後の対応するx座標(x'')の高速な参照が可能となる。
 以上の処理により、事前処理において第1のルックアップテーブルと第2のルックアップテーブルを生成及び記憶する。
 (1.2.2 3次元計測処理)
  次に、事前処理の後に行われる、3次元計測処理について説明する。
 図14は、3次元計測処理のゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、入力受付部11は、測定開始信号の受信待機状態となる(S31NO)。この状態において、測定開始信号を受信すると(S31YES)、後続の処理が実行される。なお、測定開始信号は、3次元計測システム100のさらに上位システムから送信されてもよいし、ユーザからの入力により生成されてもよい。
 測定開始信号受信後、カメラ31において撮影処理がなされ、同撮影画像は画像取得部15により取得される(S32)。この撮影は、カメラ31による通常のカラー画像の撮影である。
 その後、投射制御部12は、パターン光画像の生成処理を行う(S34)。
 図15は、パターン光画像の生成処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、投射制御部12は、記憶部13からパターン光データの読み出し処理を行う(S341)。このとき、読み出されるパターン光データは、x軸方向の空間符号化を行う垂直パターンに係るデータのみである。
 パターン光データの読出処理が完了すると、投射制御部12は、読み出したパターン光データのうちの1つに対応するパターン光の投射指令をプロジェクタ35に対して行う(S342)。このパターン光の投射指令に基づいて、プロジェクタ35は、対応するパターン光の投射を行う。
 プロジェクタ35へのパターン光投射指令が行われると、投射制御部12は、カメラ31へと同期信号を送信する処理を行う(S344)。この同期信号を受信すると、カメラ31は、対象物へと投射されたパターン光を撮影する処理を行う(S345)。
 撮影処理が行われると、画像取得部15は、カメラ31から撮影されたパターン光画像を取得し、記憶部13へと記憶する処理を行う(S346)。
 この処理の後、読み出したすべてのパターン光について撮影が完了したか否かが判定される(S348)。未投射のパターン光がある場合には(S348NO)、投射するパターン光を変更する処理を行った後(S349)、投射から撮影までの一連の処理を再び行う(S342~S348)。一方、すべてのパターン光について撮影が完了した場合には(S348YES)、処理は終了する。
 図14に戻り、パターン光画像の生成処理が完了すると、パターン光画像に基づいて、所定の画像処理が行われる(S36)。
 図16は、画像処理に係る詳細フローチャートである。同図から明らかな通り、処理が開始すると、画像処理部16は、整数の変数iの初期化処理、例えば、i=0とする処理を行う(S361)。
 初期化処理の後、画像処理部16は、記憶部13に記憶されている第1のルックアップテーブルと第2のルックアップテーブルを読み出す処理を行う(S362)。
 その後、画像処理部16は、垂直パターンで構成されるパターン光画像に対してデコード処理を行う(S363)。
 図17は、デコード処理の概念図である。同図から明らかな通り、同図左側に示される垂直パターンから成るパターン光画像をデコード処理することで、カメラ撮影画像の注目画素座標に対応する仮想カメラ画像上の水平(x軸)方向位置の特定を可能とする復号情報が得られる(例として、同図右側のグラデーション)。なお、本実施形態においては、垂直パターンに係るパターン光のみが投射されているため、デコード処理を行っても、垂直方向の情報は得られない点に留意されたい。
 その後、i番目の画素を注目画素として、第1のルックアップテーブルを利用して、同注目画素の座標(x,y)に対応し、歪補正と平行化変換処理を行った後の座標に対応する、補正後の座標(x'',y'')を取得する処理を行う。
 カメラ撮影画像に関する補正後の座標を取得した後、画像処理部16は、復号した情報に基づいて、注目画素の座標(x,y)に対応する仮想カメラ画像上の水平(x軸)方向位置(x)を特定する(S366)。
 ここで、カメラ撮影画像における補正後の垂直(y軸)方向の座標位置y''は平行化変換処理により、仮想カメラ画像における補正後の垂直(y軸)方向の座標y''と等しくなる(y''=y'')。このことを利用して、上述の特定処理(S366)の後、画像処理部16は、第2のルックアップテーブルを利用して、仮想カメラ画像上の水平(x軸)方向位置(x)と、補正後の垂直(y軸)方向の座標位置y''(=y'')に基づいて、対応する仮想カメラ画像に係る補正後の水平(x軸)方向の値(x'')を取得する(S367)。
 すなわち、第2のルックアップテーブル(図13の右図参照)の一の系列として、仮想カメラ画像上の注目画素に関する水平(x軸)方向の位置(x)を特定し、もう一方の系列として、注目画素に関する補正後の垂直(y軸)方向の位置y''(=y'')を特定し、これらにより特定される位置に格納されている対応する仮想カメラ画像に係る補正後の水平(x軸)方向の値(x'')を取得する。
 以上の処理の後、画像処理部16は、補正後の水平(x軸)方向の各座標(x''とx'')から視差情報dを計算する。視差情報は、本実施形態においては単にx''とx''との差分として計算される(=x''-x'')。
 画像処理部16は、視差情報dの算出後、すべての画素について処理が完了したか否かを判定する処理を行う(S369)。すべての画素について未だ処理が完了していない場合(S369NO)、変数iをインクリメントして、別の画素について一連の処理(S365~S368)を行う。一方、すべての画素について処理が完了した場合(S369YES)、処理は終了する。これにより、画素単位で視差情報dが算出されることとなる。
 図18は、視差情報dの生成の流れに関する概念図である。同図において、右列はカメラ31からの取得画像に対する処理について示し、左列はプロジェクタ35位置にある仮想カメラにおいて取得されるであろう論理画像に対する処理について示している。
 同図右列から明らかな通り、処理が開始すると、対象物5に対して垂直パターン光が投射され、パターン光画像が生成される(S34)。このパターン光画像に対して、画像処理部16は、第1のルックアップテーブルを用いて、歪補正処理及び平行化変換処理を行った補正後の対応画素座標を取得する(x'',y'')(S362、S365)(同図の右列最下段)。
 一方、同図左列から明らかな通り、画像処理部16は、パターン光画像をデコードすることにより、注目画素に対応し仮想カメラ画像に係る水平(x軸)方向の値(x)を取得する(S362、S363、S366)。
 その後、カメラ撮影画像における補正後の垂直(y軸)方向の座標y''と、仮想カメラ画像における補正後の垂直(y軸)方向の座標y''とが等しくなることを利用して、第2のルックアップテーブルを用いて、仮想カメラ画像上の水平(x軸)方向位置(x)と、補正後の垂直(y軸)方向の座標位置y''に基づいて、対応する仮想カメラ画像に係る補正後の水平(x軸)方向の値(x'')を取得する(S367)(同図の左列最下段)。
 最後に、同図の中央最下段にあるように、画像処理部は16、補正後の水平(x軸)方向の各座標(x''とx'')から視差情報dを計算する(S368)。
 このような構成によれば、一の方向に関して空間符号化を行ったパターン光を投射するだけで、プロジェクタにおいて発生する歪みを考慮した補正プロジェクタ座標を得ることができる。これにより、プロジェクタの光学系において生じる歪みを画像処理により補正しつつも、高速な3次元計測を実現することができる。
 図14に戻り、画像処理が完了すると、画像処理部16は、距離情報の生成処理を行う(S37)。本実施形態においては、視差情報dに加えて、記憶部13に記憶された既知のパラメータ(焦点距離f及びカメラ31とプロジェクタ35との距離B)を用いて、カメラ31又はプロジェクタ35から対象物5までの距離を算出する。
 図19は、距離情報の生成に関する原理図である。同図の通り、対象物5上の点を点P、プロジェクタ35又は仮想カメラ位置を点Q、カメラ31位置を点Rとし、点Q又は点Rからイメージセンサ311までの距離をfとする。また、点Rから線分PQに平行な線を伸ばした線とイメージセンサ311面との交点から線分PRとイメージセンサ311面との交点までの距離は既に求めた視差dである。さらに、点Qから点Rまでのベースラインの距離はBである。
 この状態において、点Q又は点Rから点Pまでの距離Zは、以下の数式3の通り、距離Bと焦点距離fとの積を視差dで除した値として計算される。
Figure JPOXMLDOC01-appb-M000003
 すなわち、視差情報dを求めることで対象物までの距離情報Zを算出することができる。また、このような距離情報Zは画素毎に生成可能なので、所謂デプスマップを生成することができる。
 図14に戻り、距離情報dの生成処理が完了すると、次に、距離画像の生成及び出力処理が行われる(S38)。
 本実施形態においては、画像処理部16は、撮影処理(S32)において撮影された通常の画像とデプスマップを用いて、3次元空間の点群データを生成する。その後、出力部17は、デプスマップと共に、点群データをレンダリングして、ディスプレイ(不図示)等に出力する。
 このような構成によれば、カメラ撮像領域内の距離情報を提供することが出来ると共に、距離情報を直感的にユーザに提示することができる。
 図20は、3次元点群データの生成に関する概念図である。同図から明らかな通り、カメラ31による通常の撮影画像(同図左上)にデプスマップ情報(同図左下)を適用するよう画像処理を行うことにより、同図右側に示されるような立体的な画像を提供することができる。
 なお、本実施形態においては画像情報を出力するものとしたが、本発明はこのような構成に限定されることはなく、単に視差情報d又は距離情報Zを出力してもよい。
 (2.第2の実施形態)
  添付の図面を参照しつつ、本発明の第2の実施形態について説明する。なお、以下では、第1の実施形態と同一の構成については同一の符号が付与される。
 (2.1 システムの構成)
  図21は、本実施形態に係る3次元計測システム100'の全体構成図である。同図から明らかな通り、本実施形態に係る3次元計測システム100'もコントローラユニット1'と、コントローラユニット1'と接続されるセンサヘッドユニット3'を含んでいる。従って、これらの構成を利用して、対象物5の3次元情報を生成する点において、第1の実施形態と類似の構成を有している。
 しかしながら、本実施形態に係るセンサヘッドユニット3'は、さらに、プロジェクタ35のレンズ等の光学系の温度を計測するための温度センサ37を備えている点において、第1の実施形態に係る構成と相違する。より詳細には、温度センサ37は、プロジェクタ35のアルミニウム製の鏡筒に貼り付けられレンズと同程度の熱伝導率を有する樹脂板38へと貼付されている。すなわち、鏡筒に対して樹脂板38を介して間接的に取り付けられている。
 このようにレンズと同程度の熱伝導率を有する樹脂板38へと温度センサ37を取り付けることで、温度センサ37においてレンズと同程度の温度を計測することができる。これにより、レンズ等の光学系の熱膨張をより的確にとらえることができ、精度よく3次元計測を行うことができる。なお、鏡筒に対して直接温度センサ37を貼り付けてもよい。
 また、温度センサ37において取得されたセンサ情報は、記憶部131に記憶されると共に、後述の通り、画像処理部161における処理において利用される。
 (2.2 システムの動作)
  (2.2.1 事前処理)
  第2の実施形態における事前処理は、第1の実施形態における事前処理と略同一である。ただし、第2のルックアップテーブルを、温度センサ37で取得される温度条件を変えつつ作成し、温度条件と共に記憶部131へと記憶する点において相違する。
 図22は、本実施形態において生成される第2のルックアップテーブル群(3次元ルックアップテーブル(3DLUT))の概念図である。同図から明らかな通り、同図の例にあっては、10度毎に第2のルックアップテーブルが生成されている。なお、第1の実施形態と同様、各ルックアップテーブルは、一方の系列を補正前の画素のx座標(水平方向の座標x)、他方の系列を補正後の画素のy座標(垂直方向の座標y'')とし、それらの座標により特定される位置に補正後のx座標(x'')を格納している。
 すなわち、温度に応じた2次元ルックアップテーブルを選択的に使用することで、補正前の画素のx座標(x)と、補正後の画素のy座標(y'')に基づいて、仮想カメラの論理画像の各画素に対して、歪補正処理及び平行化変換処理を行った結果となるx座標(x'')を直ちに求めることができる。このような2次元ルックアップテーブルによれば、補正前の画像の各画素について、高速に、補正後の座標を得ることができる。
 (2.2.2 3次元計測処理)
  第2の実施形態における3次元計測処理も、第1の実施形態における3次元計測処理と略同一である。
 図23は、第2の実施形態に係る3次元計測処理のゼネラルフローチャートである。同図から明らかな通り、測定開始信号を受信した後(S31)、カメラ撮影を行い(S32)、パターン光画像を生成する処理(S34)を行う流れは、第1の実施形態に係るものと同一である。しかしながら、第2の実施形態に係る画像処理の内容は、第1の実施形態に係る内容と相違する。
 図24は、本実施形態に係る画像処理に係る詳細フローチャートである。同図から明らかな通り、変数iの初期化処理(S361)から、各画素に対する視差情報dの生成(S368、S369)に至るまでの処理は、第1の実施形態に係るものと略同一である。ただし、温度センサ37を利用した処理がさらに追加される点において相違する。
 変数iの初期化処理(S361)の後、画像処理部161は、温度センサ37を通じてプロジェクタ35の光学系の温度を取得する(S561)。その後、画像処理部161は、記憶部131から、取得した温度に最も近い温度条件で生成された第2のルックアップテーブルを読み出す処理を行う(S562)。
 この読み出された第2のルックアップテーブルにより、仮想カメラにおける補正後の座標の水平方向(x軸方向)の値(X'')が取得される(S367)。
 なお、本実施形態においては、取得した温度に最も近い温度条件で生成された第2のルックアップテーブルを読み出す処理を行うが、他の手法を採用してもよい。例えば、取得した温度に近い2つの第2のルックアップテーブルを読み出し、それらから、線形補間により値を補間したルックアップテーブルを生成してもよい。
 このような構成によれば、プロジェクタに係る光学系の温度に応じた適切な補正処理を行ったプロジェクタ座標又は仮想カメラ座標を取得することができる。
 また、線形補間によりあらゆる温度において適当な補正後の仮想カメラ座標、すなわち、補正プロジェクタ座標を取得することができる。
 (3. 変形例)
 本発明は、様々に変形して実施することができる。
 例えば、カメラ31のイメージセンサ311面とプロジェクタ35位置の仮想カメラの撮像面との間で平行がとれていることが保証されている場合、平行化変換処理を行わずに歪補正処理のみを行ってもよい。
 図25は、カメラ31とプロジェクタ35とが機械的又は光学的に平行化されている場合のシステム構成を示している。このような構成の場合には、平行化変換処理を行う必要はない。
 上述の実施形態においては、水平方向(x軸方向)の空間符号化を行ったパターン光を投射すると共に、水平方向(x軸方向)の位置座標の差分から視差情報を算出していた。しかしながら、このパターン光の空間符号化を行う方向や、視差のために差分をとる方向は、カメラ31とプロジェクタ35との位置関係により相対的に定まるものである。
 従って、例えば、カメラ31とプロジェクタ35とが垂直に配置される場合には、それらを結ぶ仮想線に平行な方向を基準として、パターン光の空間符号化を行う方向や、視差のために差分をとる方向を決定してもよい。
 上述の実施形態においては、第1又は第2のルックアップテーブルを用いて、補正後のカメラ画像の各画素の座標(x'',y'')や、仮想カメラ画像上の補正後の座標(x'')を算出する構成について述べたが、本発明はこのような構成に限定されない。従って、例えば、2次元テーブルの形式にせず、単に対応する値を読み出す形式としてもよい。また、逐次に計算を行ってもよい。
 以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
 本発明は、少なくとも3次元計測システム等を製造する産業において利用可能である。
 1 コントローラユニット
 11 入力受付部
 12 投射制御部
 13 記憶部
 15 画像取得部
 16 画像処理部
 17 出力部
 3 センサヘッドユニット
 31 カメラ
 311 イメージセンサ
 312 対物レンズ
 35 プロジェクタ
 351 光源
 352 平面波変換レンズ
 353 ミラー
 355 DMD
 356 リレーレンズ
 357 対物レンズ
 37 温度センサ
 5 対象物
 100 3次元計測システム

Claims (16)

  1.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、
     前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えた、3次元計測システム。
  2.  前記第一の方向は、前記プロジェクタと前記カメラを結ぶ仮想線に対して略平行な方向である、請求項1に記載の3次元計測システム。
  3.  前記補正プロジェクタ座標取得部において、前記第一の方向に関する補正プロジェクタ座標は、前記第二の方向に関する補正カメラ座標を第一の系列に、前記第一の方向に関する対応プロジェクタ座標を第二の系列とする2次元ルックアップテーブルに格納されている、請求項1に記載の3次元計測システム。
  4.  前記2次元ルックアップテーブルは、前記第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光と前記第二の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を所定の対象物に対して投射し、投射された前記パターン光を撮影した結果に基づいて生成される、請求項3に記載の3次元計測システム。
  5.  前記プロジェクタに係る光学系の温度を直接的又は間接的に測定する温度センサと、
     前記温度毎に生成され、前記第二の方向に関する補正カメラ座標を第一の系列に、前記第一の方向に関する対応プロジェクタ座標を第二の系列とする、複数の温度別2次元ルックアップテーブルを記憶する、記憶部と、
     前記温度センサで測定された温度に応じて、対応する前記温度別2次元ルックアップテーブルを読み出す、選択的読出部と、
     前記プロジェクタ座標取得部は、前記2次元ルックアップテーブルに代えて、読み出された前記温度別2次元ルックアップテーブルを用いて、前記第一の方向に関する補正プロジェクタ座標を取得する、請求項3に記載の3次元計測システム。
  6.  前記第一の方向に関する補正プロジェクタ座標は、前記温度センサにより測定された温度の前後の温度に対応する前記温度別2次元ルックアップテーブルに格納された値を用いて補間処理することにより生成される、請求項5に記載の3次元計測システム。
  7.  前記補間処理は、線形補間処理である、請求項6に記載の3次元計測システム。
  8.  前記パターン光は、空間コード化法に係るパターン光である、請求項1に記載の3次元計測システム。
  9.  前記パターン光は、位相シフト法に係るパターン光である、請求項1に記載の3次元計測システム。
  10.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、
     前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えた、3次元計測装置。
  11.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御方法であって、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えた、制御方法。
  12.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御プログラムであって、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えた、制御プログラム。
  13.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、
     前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理及び平行化変換処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正及び平行化変換処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えた、3次元カメラ。
  14.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、
     前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得部と、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理部と、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得部と、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得部と、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成部と、を備えた、3次元計測システム。
  15.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御方法であって、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えた、制御方法。
  16.  対象物に対して、第一の方向に関して明部と暗部が周期的に繰り返された縞状のパターン光を投射する、プロジェクタと、前記対象物に投射された前記パターン光を撮影して撮影画像を生成する、カメラと、を備えた3次元計測システムの制御プログラムであって、
     前記撮影画像上の注目画素に対して、前記カメラに関する歪補正処理を行うことにより、前記注目画素に対応し、かつ、前記第一の方向及び前記第一の方向に直交する第二の方向に関する補正カメラ座標を取得する、補正カメラ座標取得ステップと、
     前記撮影画像に対して前記パターン光に関する復号化処理を行い、前記第一の方向に関する復号情報を取得する、復号化処理ステップと、
     前記復号情報に基づいて、前記プロジェクタ位置に配置される仮想カメラにおいて観測される仮想論理画像上にあって、前記注目画素に対応し、かつ、前記第一の方向に関する対応プロジェクタ座標を取得する、対応プロジェクタ座標取得ステップと、
     前記第二の方向に関する補正カメラ座標と、前記第一の方向に関する前記対応プロジェクタ座標に基づいて、前記対応プロジェクタ座標に対して前記プロジェクタに関する歪補正処理を行った結果に対応する、前記第一の方向に関する補正プロジェクタ座標を取得する、補正プロジェクタ座標取得ステップと、
     前記第一の方向に関する補正カメラ座標と、前記第一の方向に関する前記補正プロジェクタ座標に基づいて、前記カメラ又は前記プロジェクタから前記対象物までの距離情報を生成する、距離情報生成ステップと、を備えた、制御プログラム。
PCT/JP2021/027942 2021-07-28 2021-07-28 3次元計測システム、装置、方法及びプログラム WO2023007625A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023537825A JPWO2023007625A1 (ja) 2021-07-28 2021-07-28
PCT/JP2021/027942 WO2023007625A1 (ja) 2021-07-28 2021-07-28 3次元計測システム、装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/027942 WO2023007625A1 (ja) 2021-07-28 2021-07-28 3次元計測システム、装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2023007625A1 true WO2023007625A1 (ja) 2023-02-02

Family

ID=85087666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/027942 WO2023007625A1 (ja) 2021-07-28 2021-07-28 3次元計測システム、装置、方法及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2023007625A1 (ja)
WO (1) WO2023007625A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011137697A (ja) * 2009-12-28 2011-07-14 Canon Inc 照明装置及び該照明装置を用いた計測システム
US20190000412A1 (en) * 2015-12-08 2019-01-03 Carestream Dental Technology Topco Limited 3-D Scanner Calibration with Active Display Target Device
JP2019016308A (ja) * 2017-07-10 2019-01-31 株式会社Zmp 物体検出装置及び方法
JP2020134252A (ja) * 2019-02-15 2020-08-31 株式会社キーエンス 画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011137697A (ja) * 2009-12-28 2011-07-14 Canon Inc 照明装置及び該照明装置を用いた計測システム
US20190000412A1 (en) * 2015-12-08 2019-01-03 Carestream Dental Technology Topco Limited 3-D Scanner Calibration with Active Display Target Device
JP2019016308A (ja) * 2017-07-10 2019-01-31 株式会社Zmp 物体検出装置及び方法
JP2020134252A (ja) * 2019-02-15 2020-08-31 株式会社キーエンス 画像処理装置

Also Published As

Publication number Publication date
JPWO2023007625A1 (ja) 2023-02-02

Similar Documents

Publication Publication Date Title
US10979694B2 (en) Information processing apparatus, method, and storage medium
US9007602B2 (en) Three-dimensional measurement apparatus, three-dimensional measurement method, and computer-readable medium storing control program
US7724379B2 (en) 3-Dimensional shape measuring method and device thereof
CN106548489B (zh) 一种深度图像与彩色图像的配准方法、三维图像采集装置
US9501833B2 (en) Method and system for providing three-dimensional and range inter-planar estimation
JP6363863B2 (ja) 情報処理装置および情報処理方法
CN106127745B (zh) 结构光3d视觉系统与线阵相机的联合标定方法及装置
US8743349B2 (en) Apparatus and method to correct image
CN103649674B (zh) 测量设备以及信息处理设备
JP5633058B1 (ja) 3次元計測装置及び3次元計測方法
KR20120058828A (ko) 3차원 좌표 추출 시스템 및 그 방법
KR20090107536A (ko) 정량적 3-d 이미징을 위한 방법
CN109186491A (zh) 基于单应性矩阵的平行多线激光测量系统及测量方法
JP6282098B2 (ja) キャリブレーション装置及び方法
CN110692084B (zh) 用于导出场景的拓扑信息的装置和机器可读存储介质
JP2016217833A (ja) 画像処理システム及び画像処理方法
CN113748313A (zh) 三维测量系统及三维测量方法
KR101943046B1 (ko) 보조 rgb-d 카메라를 이용한 프로젝터-카메라의 캘리브레이션 방법
JP4379626B2 (ja) 3次元形状計測方法及びその装置
WO2019087253A1 (ja) ステレオカメラのキャリブレーション方法
US11143499B2 (en) Three-dimensional information generating device and method capable of self-calibration
WO2023007625A1 (ja) 3次元計測システム、装置、方法及びプログラム
JP6486083B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN109741384B (zh) 深度相机的多距离检测装置及方法
Skabek et al. Comparison of photgrammetric techniques for surface reconstruction from images to reconstruction from laser scanning

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023537825

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE