WO2018168757A1 - 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム - Google Patents

画像処理装置、システム、画像処理方法、物品の製造方法、プログラム Download PDF

Info

Publication number
WO2018168757A1
WO2018168757A1 PCT/JP2018/009481 JP2018009481W WO2018168757A1 WO 2018168757 A1 WO2018168757 A1 WO 2018168757A1 JP 2018009481 W JP2018009481 W JP 2018009481W WO 2018168757 A1 WO2018168757 A1 WO 2018168757A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
distance
pixel
correction
edge
Prior art date
Application number
PCT/JP2018/009481
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 JP2019506001A priority Critical patent/JPWO2018168757A1/ja
Publication of WO2018168757A1 publication Critical patent/WO2018168757A1/ja
Priority to US16/558,662 priority patent/US20190392607A1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • 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
    • 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/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39045Camera on end effector detects reference pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • 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/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Definitions

  • the present invention relates to a technique for obtaining a three-dimensional position and orientation of an object.
  • a technique for measuring the three-dimensional position and orientation of an object by fitting distance point cloud data and edge point cloud data obtained from a captured image with a CAD model of the object has been put into practical use.
  • the imaging for distance data acquisition and the imaging for edge data acquisition are performed simultaneously using two image sensors, measurement in a shorter time than when both images are performed with one image sensor. It can be applied to measurement during movement and measurement of a moving object.
  • the correspondence between the three-dimensional position of the object and the position of the pixel of the captured image, which is used in the measurement of the three-dimensional position and orientation, is generally expressed by a camera model using parameters such as a focal length.
  • This parameter is also called an internal parameter, and its value is often treated as being uniquely determined by the optical system.
  • the value of this parameter varies depending on the distance to the object, that is, the position in the depth direction with respect to the image sensor due to distortion of the imaging optical system. Therefore, when the same parameter is used regardless of the position in the depth direction, the above correspondence relationship deviates from the actual optical system, resulting in a measurement error.
  • the following techniques are disclosed as techniques for reducing this measurement error.
  • JP 2008-170280 A Japanese Patent No. 4077755
  • Patent Document 1 cannot be applied to edge data for which position information in the depth direction cannot be acquired.
  • Patent Document 2 it is necessary to calculate the correspondence between the three-dimensional position of the object and the pixel position of the captured image by ray tracing with high calculation cost, and high-speed processing cannot be performed. That is, the conventional technique has a problem that high-speed and high-accuracy three-dimensional position and orientation measurement of an object using distance data and edge data obtained from a captured image cannot be performed.
  • the present invention has been made in view of such problems, and a technique for measuring the three-dimensional position and orientation of an object at high speed and with high accuracy using a distance image and an edge image of the object. provide.
  • a first image obtained by imaging an object on which pattern light is projected and a first image obtained by imaging the object on which light not including the pattern light is projected.
  • a first correction unit that corrects distortion of one image, and a second distance image having a distance value for each pixel based on the first image after distortion is corrected by the first correction unit
  • a distance value of a corresponding pixel of the first distance image or the second distance image for each pixel of the edge image having information on the edge of the object in the second image.
  • Second correction for correcting distortion of the edge image Characterized in that it comprises a means.
  • the configuration of the present invention it is possible to measure the three-dimensional position and orientation of an object at high speed and with high accuracy using the distance image and the edge image of the object.
  • the block diagram which shows the structural example of a system. 3 is a diagram illustrating a configuration example of an imaging unit 103.
  • FIG. The figure which shows the structural example of the multiline pattern 300.
  • FIG. 6 is a flowchart of a method for obtaining calibration data 125.
  • the flowchart which shows the detail of the process in step S1002.
  • the flowchart which shows the detail of the process in step S1003.
  • the figure which shows the structural example of the table data of the calibration data for every Z position. 10 is a flowchart of processing performed by the image processing apparatus 121.
  • the system according to the present embodiment is for measuring the three-dimensional shape and three-dimensional position and orientation of the object 100 (three-dimensional measurement). As shown in FIG. 1, the three-dimensional scanner 101 and the image processing apparatus 121.
  • the three-dimensional scanner 101 includes a projection unit 102 that projects pattern light onto the object 100 and an imaging unit 103 that images the object 100.
  • a multiline pattern 300 as shown in FIG. 3 is used as the pattern light projected from the projection unit 102 (projection pattern).
  • a multiline pattern 300 as shown in FIG. 3 is used.
  • dots 302 are arranged at random intervals as a code for identifying the line 301.
  • the line observed on the target object is the position of the projected pattern.
  • symbol for identifying each line of a multiline is not limited to a random dot.
  • each line may be changed, and each line may be identified based on it.
  • the projection pattern is not limited to the multi-line pattern, and the projection pattern and the pattern light projected onto the object on the captured image can be associated with each other, and the three-dimensional position can be obtained from the captured image acquired by one imaging. Any pattern may be adopted as long as it can be measured.
  • the imaging unit 103 captures an image of the object 100 onto which the projection pattern is projected by the projection unit 102, thereby capturing a captured image including the projection pattern (first captured image) and a captured image not including the projection pattern (second image). Captured image).
  • a configuration example of the imaging unit 103 will be described with reference to FIG.
  • the spectroscopic prism 201 projects light from the projection unit 102 and is reflected by the object 100 (projection pattern light), and light reflected from the object 100 by irradiation from uniform illumination (not shown) (uniform illumination light). ) And spatially separated.
  • the wavelength of the projection pattern light and the wavelength of the uniform illumination light are different from each other.
  • the projection pattern light passes through the spectroscopic prism 201 and enters the image sensor 202, and the uniform illumination light. Is reflected by the spectral prism 201 and enters the image sensor 203. Thereby, each of the image sensor 202 and the image sensor 203 can capture the first and second captured images with little parallax almost simultaneously.
  • the image sensor 202 and the image sensor 203 are various photoelectric conversion elements such as a CMOS sensor and a CCD sensor.
  • the analog signals photoelectrically converted by the imaging elements 202 and 203 are sampled and quantized by a control unit (not shown) in the imaging unit 103 and converted into a digital image signal. Further, the control unit generates an image (captured image) in which each pixel has a luminance gradation value (density value, pixel value) from the digital image signal, and the captured image is appropriately stored in the memory in the image capturing unit 103 and / or Alternatively, it is sent to the image processing apparatus 121.
  • the image processing apparatus 121 will be described. Processing performed by the image processing apparatus 121 to obtain the three-dimensional position and orientation of the object 100 based on the first captured image and the second captured image acquired from the three-dimensional scanner 101 will be described with reference to the flowchart of FIG. Note that the first captured image and the second captured image used in the following processing may be acquired directly from the three-dimensional scanner 101, or read out from the memory in the image processing apparatus 121 or an external memory. You may get it.
  • step S1002 the image processing apparatus 121 performs distortion correction processing on the distance image based on the first captured image. Details of the processing in step S1002 will be described with reference to the flowchart of FIG.
  • step S401 the calibration board is set on a uniaxial moving stage which is a stage movable in the uniaxial direction.
  • the moving direction of the uniaxial moving stage is set as the Z axis, and the X axis and the Y axis are set in the calibration board surface.
  • An example of a calibration board is shown in FIG.
  • As the calibration board a flat plate on which an index such as a circular pattern is printed at a constant interval two-dimensionally is used.
  • a plurality of double circle patterns are arranged in a circle pattern group, and a direction in which more double circle patterns are arranged.
  • Is defined as the X axis
  • the direction perpendicular thereto is defined as the Y axis.
  • the interval between indices such as a circular pattern is previously measured with a highly accurate three-dimensional measuring machine or the like.
  • the index is a circular pattern here, other shapes may be used as long as the position of the index on the image can be detected from the captured image by image processing.
  • step S402 the uniaxial moving stage (calibration board) is imaged a plurality of times while the uniaxial moving stage is driven to move the uniaxial moving stage within the measurement range on the Z axis.
  • captured images (calibration images) of the calibration board at a plurality of positions (Z positions) on the Z axis are acquired. It is assumed that the imaging device that images the uniaxial moving stage is fixedly provided so as to face the calibration board, for example.
  • the XY coordinates of the index on the calibration board are known, and the Z position of the captured image acquisition position can be determined based on the movement interval of the uniaxial movement stage.
  • Steps S401 and S402 are performed for each of a state in which the projection pattern is projected onto the calibration board and a state in which the projection pattern is not projected onto the calibration board.
  • a calibration image captured with the projection pattern projected onto the calibration board is the first calibration image
  • a calibration image captured without projecting the projection pattern onto the calibration board is the second calibration. This is called an image for use.
  • an image for use is a description common to the first calibration image and the second calibration image.
  • Each process of steps S401 and S402 is an example of a process for acquiring calibration images at a plurality of different depths (Z positions) from the imaging position.
  • the calibration image acquisition method is not limited to a specific acquisition method. In the present embodiment, it is assumed that such a plurality of calibration images are captured by each of the image sensor 202 and the image sensor 203.
  • step S403 calibration data independent of the Z position is calculated from the first calibration image and the second calibration image acquired in the steps S401 and S402.
  • the calibration data independent of the Z position is an internal parameter and an external parameter in the pinhole camera models (Equations (1) to (8)) of the projection unit 102 and the imaging unit 103, respectively.
  • the internal parameters include focal lengths fx, fy, image centers cx, cy, distortion coefficients k1, k2, k3, p1, p2.
  • External parameters include posture R and position T.
  • (X, Y, Z) represents the three-dimensional coordinates of the index on the calibration board in the stage coordinate system (coordinate system based on the uniaxial moving stage), and (u, v) is projected onto the image sensor surface.
  • This represents the two-dimensional coordinates of the points (index on the calibration board, dots in the projection pattern).
  • the distortion coefficients are not limited to k1, k2, k3, p1, and p2, and the expressions (4) and (5) may be extended to include higher-order terms.
  • the imaging unit 103 includes the two imaging elements 202 and 203, the above-described set of internal parameters and external parameters is calculated for each of the imaging elements 202 and 203. Specifically, two-dimensional coordinates (u, v) on the image of each index are calculated from the second calibration image by image processing, and the three-dimensional coordinates (X, X) corresponding to the two-dimensional coordinates (u, v) are calculated. , Y, Z). Further, two-dimensional coordinates (u, v) on the image of each dot are calculated by image processing from the first calibration image, and three-dimensional coordinates (X, Y, V) corresponding to the two-dimensional coordinates (u, v) are calculated. Z).
  • the internal parameters of the projection unit 102 and the imaging unit 103 (imaging elements 202 and 203), the projection unit 102 and the imaging unit 103, the projection unit 102 and the stage, imaging An external parameter between the unit 103 and the stage is calculated.
  • the internal parameter and the external parameter can be calculated using a known technique such as a bundle adjustment method.
  • step S404 calibration data for each Z position is calculated.
  • Z position Z1, Z2,..., Z10 (internal parameters corresponding to each of the projection unit 102, the image sensor 202, and the image sensor 203 (three in total)).
  • X10 30 internal parameters are calculated.
  • the internal parameters for each Z position are obtained using the following parameters.
  • a result of associating the two-dimensional coordinates (u, v) on the first calibration image of each dot with the corresponding three-dimensional coordinates (X, Y, Z) in the first calibration image for each Z position The result of associating the two-dimensional coordinates (u, v) on the second calibration image of each index with the corresponding three-dimensional coordinates (X, Y, Z) in the second calibration image for each Z position Calibration data independent of the Z position
  • the above internal parameters and external parameters are calculated by a method such as a nonlinear optimization method so that the above-described association result is fitted to the pinhole camera model.
  • the relationship between the stage coordinate system and the coordinate system of the imaging unit 103 and the projection unit 102 is determined using external parameters included in the calibration data independent of the Z position. Further, the calibration data for each Z position is calculated by using an internal parameter included in the calibration data independent of the Z position as an initial value of the calculation using the nonlinear optimization method.
  • the calibration data for each Z position may be generated as table data by associating the Z position with the corresponding calibration data for each Z position (Z coordinate) as shown in FIG.
  • calibration data (fx, fy, cx, cy, k1, k2, k3, p1, p2) corresponding to each of Z positions (Z coordinates) 0, 10, 20,. Yes.
  • the processing in each of the steps S403 and S404 described above may be performed by the image processing apparatus 121, or may be performed by an apparatus other than the image processing apparatus 121. Regardless of the apparatus that executes the processes of steps S403 and S404, the calibration data generated as described above is appropriately input to the image processing apparatus 121 as calibration data 125.
  • the method for generating the calibration data 125 is not limited to the above method.
  • step S501 distortion correction is performed on the first captured image using calibration data that does not depend on the Z position in the calibration data 125 generated in this manner, and the first captured image that has been corrected for distortion is used.
  • the first distance image is generated based on the principle of triangulation. Since the first distance image is calculated on the basis of calibration data that does not depend on the Z position, the accuracy is poor because the influence of different distortion for each Z position due to coma aberration or the like is not taken into consideration. Therefore, the influence is corrected by the following processing steps.
  • step S502 the image distortion correction unit 122 selects an unselected pixel as a selected pixel in the first captured image whose distortion has been corrected in step S501.
  • the pixel selection order in the first captured image whose distortion has been corrected in step S501 is not limited to a specific selection order, and for example, pixels may be selected in a raster scan order.
  • step S503 the image distortion correction unit 122 sets the pixel position (xs) in the first distance image when the pixel position of the selected pixel in the first captured image whose distortion is corrected in step S501 is (xs, ys). , Ys) specifies the pixel value, that is, the distance value d.
  • step S504 the image distortion correction unit 122 acquires the Z position calibration data corresponding to the distance value d specified in step S503 based on the “calibration data for each Z position” generated according to the flowchart of FIG. .
  • the calibration data for the Z position corresponding to the distance value d can be acquired from this table data.
  • the Z position calibration data closest to the distance value d in the table data may be acquired.
  • the interpolation calibration data interpolated from the calibration data corresponding to a plurality of Z positions near the distance value d is set as the distance value d. You may acquire as corresponding calibration data.
  • the image distortion correction unit 122 performs distortion correction processing using the calibration data corresponding to the distance value d on the selected pixel in the first captured image whose distortion has been corrected in step S501. For example, the pixel position of the selected pixel is converted to which pixel position is converted by distortion correction using calibration data corresponding to the distance value d, and the selected pixel is moved to the obtained pixel position.
  • step S505 the image distortion correction unit 122 determines whether all the pixels of the first captured image whose distortion has been corrected in step S501 have been selected as selection pixels. If the image distortion correction unit 122 determines that all the pixels of the first captured image whose distortion has been corrected in step S501 have been selected as the selected pixels, the process proceeds to step S506. On the other hand, if the image distortion correction unit 122 determines that unselected pixels remain in the first captured image whose distortion has been corrected in step S501, the process returns to step S502.
  • the processing in steps S502 to S504 is performed for all the pixels of the first captured image, but the present invention is not limited to this.
  • the pixels used for the first distance point calculation may be corrected for distortion again, and the other pixels may be interpolated.
  • step S506 the image distortion correction unit 122 generates a distance image (second distance image) based on the first captured image subjected to the distortion correction in step S504.
  • the method for generating the distance image is the same as that in step S501. Then, the process proceeds to step S1003 in FIG.
  • step S1003 the image processing apparatus 121 performs distortion correction processing on the edge image based on the second captured image. Details of the processing in step S1003 will be described with reference to the flowchart of FIG.
  • step S601 the edge image generation unit 126 performs distortion correction processing on the second captured image using calibration data independent of the Z position, and the edge image (target object) of the second captured image that has been subjected to distortion correction processing.
  • 100 images having edge information such as contours and ridge lines).
  • step S602 the corresponding pixel specifying unit 127 selects an unselected edge pixel as a selected edge pixel among pixels (edge pixels) constituting an edge in the edge image. In step S602, not only edge pixels but also non-edge pixels may be selected.
  • the corresponding pixel specifying unit 127 specifies the pixel position P on the first captured image corresponding to the selected edge pixel (the first captured image whose distortion has been corrected in step S501). Ideally, no parallax occurs between the image captured by the image sensor 202 and the image captured by the image sensor 203. However, in reality, parallax occurs due to an installation error at the time of assembly. There is a pixel shift of about several pixels between the captured image and the image.
  • a two-dimensional projective transformation matrix that realizes a two-dimensional projective transformation between an image captured by the image sensor 202 and an image captured by the image sensor 203 is required. If such a two-dimensional projective transformation matrix is used, the pixel position (x ′, y ′) on the image captured by the image sensor 202 corresponding to the pixel position (x, y) on the image captured by the image sensor 203 is specified. can do.
  • the two-dimensional projective transformation matrix is obtained in advance and input to the image processing apparatus 121 as appropriate.
  • the calibration board is installed on the uniaxial movement stage, and the uniaxial movement stage (calibration board) is fixed to the imaging device 202 in a state where the uniaxial movement stage is fixed at an arbitrary Z position within the measurement range on the Z axis.
  • the image is picked up by the image sensor 203.
  • the projection pattern is not projected.
  • the two-dimensional coordinates of the feature points of the respective indices on the calibration board on the image captured by the image sensor 202 are m1
  • the two-dimensional coordinates on the image captured by the image sensor 203 are m2.
  • there is a two-dimensional projective transformation matrix H that satisfies the following equation (9) for the feature points of all the indexes in the field of view of both the image sensor 202 and the image sensor 203.
  • the two-dimensional projective transformation matrix H is a 3 ⁇ 3 matrix and has 8 degrees of freedom, it can be calculated from a combination of two or more two-dimensional coordinates m1 and m2 on the same plane.
  • the two-dimensional coordinates m1 and m2 of the index need to be the two-dimensional coordinates on the image whose distortion has been corrected.
  • Calibration data that does not depend on the Z position can also be used as calibration data used to correct image distortion.
  • it is possible to generate a highly accurate two-dimensional projective transformation matrix by calculating calibration data corresponding to the Z position where the calibration board is imaged and correcting the distortion of the image using the calibration data.
  • the pixel position obtained by converting the pixel position of the selected edge pixel on the edge image using the two-dimensional projective transformation matrix H obtained in this way is the first position corresponding to the pixel position of the selected edge pixel on the edge image. It can be obtained as the pixel position P on the captured image. If the pixel position P on the first captured image corresponding to the pixel position of the selected edge pixel on the edge image can be specified, the method for that is not limited to a specific method. Then, the corresponding pixel specifying unit 127 acquires the pixel value at the pixel position P in the first distance image (or the second distance image), that is, the distance value.
  • the position of the selected edge pixel is estimated as a sub-pixel, there may be no corresponding pixel position in the distance image (first distance image / second distance image). This is the same even when the coordinate value of the pixel position obtained by converting the pixel position of the selected edge pixel on the edge image using the two-dimensional projective transformation matrix H is not an integer. In such a case, it can be obtained by interpolation by a known interpolation method such as the nearest neighbor method or the bilinear method based on the distance value of neighboring pixels.
  • step S604 the image distortion correction unit 122 performs distortion correction processing on the selected edge pixel using the calibration data corresponding to the distance value acquired in step S603.
  • the distortion correction in step S604 is performed in the same manner as in step S504.
  • step S605 the image distortion correction unit 122 determines whether all edge pixels of the edge image have been selected as selected edge pixels. If the image distortion correction unit 122 determines that all edge pixels of the edge image have been selected as the selected edge pixels, the process proceeds to step S1004. On the other hand, if the image distortion correction unit 122 determines that an unselected edge pixel remains in the edge image, the process returns to step S602.
  • the distortion correction of the edge image can be performed by performing the distortion correction in step S604 for all the edge pixels of the edge image.
  • step S1004 the calculation unit 124 performs model fitting with model data (CAD data or the like) of the target object 100 based on the second distance image and the edge image that has been subjected to distortion correction in step S1003. 100 three-dimensional positions and orientations are obtained.
  • the three-dimensional position and orientation of the object 100 calculated by the calculation unit 124 may be stored in a memory in the image processing apparatus 121, an external memory connected to the image processing apparatus 121, a server apparatus, or the like, or not illustrated. It may be displayed on the monitor.
  • Information for specifying the pixel position (x ′, y ′) on the image captured by the image sensor 202 corresponding to the pixel position (x, y) on the image captured by the image sensor 203 is a two-dimensional projective transformation matrix. Not exclusively. For example, information acquired by the following method can be used instead of the two-dimensional projective transformation matrix.
  • an object such as a calibration board having a feature value that serves as an evaluation standard is placed on the uniaxial moving stage.
  • the uniaxial moving stage (calibration board) is imaged by the imaging element 202 and the imaging element 203 in a state where the uniaxial moving stage is fixed at an arbitrary Z position within the measurement range on the Z axis. At that time, the projection pattern is not projected. Then, the respective distortions of the image captured by the image sensor 202 and the image captured by the image sensor 203 are corrected as described above.
  • the positional deviation amount of the portion having the most similar image feature amount between the captured image by the imaging element 202 and the captured image by the imaging element 203 is obtained, and the obtained positional deviation amount is used instead of the two-dimensional projective transformation matrix. To do. That is, by adding this positional deviation amount to the coordinates on the image captured by the image sensor 203, the corresponding coordinates on the image captured by the image sensor 202 can be obtained.
  • the distance image is generated from the captured image of the object 100 onto which the projection pattern is projected.
  • the distance image may be generated using another method.
  • the distance image may be generated by another method such as Time of Flight.
  • step S502 the image distortion correction unit 122 selects an unselected pixel as a selected pixel in the first distance image.
  • step S503 the image distortion correction unit 122 identifies the pixel value of the selected pixel, that is, the distance value d in the first distance image.
  • step S504 the image distortion correction unit 122 acquires the Z position calibration data corresponding to the distance value d specified in step S503 based on the “calibration data for each Z position” generated according to the flowchart of FIG. .
  • the image distortion correction unit 122 performs distortion correction processing on the selected pixel in the first distance image using calibration data corresponding to the distance value d.
  • the image distortion correction unit 122 determines whether all the pixels of the first distance image have been selected as selected pixels. If the image distortion correction unit 122 determines that all the pixels of the first distance image have been selected as selected pixels, the process proceeds to step S1003. On the other hand, if the image distortion correction unit 122 determines that unselected pixels remain in the first distance image, the process returns to step S502. Step S506 is not necessary. By such processing, the first distance image after distortion correction can be generated as the second distance image.
  • step S603 the correspondence between the second captured image and the first distance image after distortion correction is used to correspond to the selected edge pixel.
  • a pixel position on the first distance image is specified.
  • Each functional unit (except for the calibration data 125) in the image processing apparatus 121 shown in FIG. 1 may be implemented by hardware, but may be implemented by software (computer program). In the latter case, any computer apparatus capable of executing such software can be applied to the image processing apparatus 121 described above.
  • a hardware configuration example of a computer apparatus applicable to the image processing apparatus 121 will be described with reference to the block diagram of FIG.
  • CPU 801 executes processing using computer programs and data stored in main memory 802. As a result, the CPU 801 controls the operation of the entire computer apparatus and executes or controls each process described above as being performed by the image processing apparatus 121.
  • the GPU 810 performs the above various image processing using various images such as a captured image, a distance image, and an edge image.
  • the main memory 802 has a work area used when the CPU 801 and the GPU 810 execute various processes, a storage unit 803, an area for storing computer programs loaded from the ROM 804, and data. Thus, the main memory 802 can provide various areas as appropriate.
  • the storage unit 803 is a large-capacity information storage device represented by a hard disk drive device, a solid state drive (SSD), or the like.
  • the storage unit 803 stores a computer program and data for causing the CPU 801 and the GPU 810 to execute or control the above-described processes performed by the OS (operating system) and the image processing apparatus 121.
  • the computer program stored in the storage unit 803 includes a computer program for causing the CPU 801 and the GPU 810 to execute or control each process described above as performed by each function unit of the image processing apparatus 121 illustrated in FIG. ing.
  • the data stored in the storage unit 803 includes data described as known information in the above description, for example, the above-described calibration data and two-dimensional projective transformation matrix data.
  • Computer programs and data stored in the storage unit 803 are appropriately loaded into the main memory 802 under the control of the CPU 801 and are processed by the CPU 801 and the GPU 810.
  • the ROM 804 stores computer programs and data related to the BIOS of the computer device
  • the display device 808 is connected to the video card 806.
  • the display device 808 is configured by a CRT, a liquid crystal screen, and the like, and can display processing results by the CPU 801 and the GPU 810 using images and / or characters. Note that the display device 808 may be a touch panel screen.
  • the input device 809 is connected to a general-purpose I / F (interface) 807 such as a USB (Universal Serial Bus).
  • the input device 809 is configured by a user interface such as a mouse and a keyboard, and can input various instructions to the CPU 801 when operated by the user.
  • the general-purpose I / F 807 may be connected to the three-dimensional scanner 101 described above.
  • the CPU 801, GPU 810, main memory 802, storage unit 803, ROM 804, video card 806, and general-purpose I / F 807 are all connected to the system bus 805.
  • the system shown in FIG. 1 described above can be used as a measuring device 1100 while being supported by a certain support member.
  • a control system that is provided and used in a robot arm 1300 (grip device) as shown in FIG. 11 will be described.
  • the measuring device 1100 projects pattern light on the test object 1210 placed on the support base 1350 to capture an image.
  • the control part 1310 which acquired the image data from the control part of the measuring device 1100 or the control part of the measuring device 1100 calculates
  • the part 1310 acquires.
  • Control unit 1310 controls robot arm 1300 by sending a drive command to robot arm 1300 based on the position and orientation information.
  • the robot arm 1300 holds the test object 1210 with a robot hand or the like (gripping unit) at the tip, and moves it such as translation or rotation.
  • the robot arm 1300 accurately holds the test object 1210 by accurately grasping the edge image of the test object 1210 (work, assembly component, work piece). Can be moved.
  • an article composed of a plurality of parts such as an electronic circuit board or a machine, can be manufactured. Further, an article can be manufactured by processing the moved specimen 1210.
  • the control unit 1310 includes an arithmetic device such as a CPU and a storage device such as a memory. Note that a control unit that controls the robot may be provided outside the control unit 1310. Further, the measurement data (measurement result) measured by the measurement apparatus 1100 and the obtained image may be displayed on the display unit 1320 such as a display. A part or all of each embodiment described above may be used in combination as appropriate.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC
  • Image distortion correction unit 123 Image distortion correction unit 123: Distance image generation unit 124: Calculation unit 125: Calibration data 126: Edge image generation unit 127: Corresponding pixel specifying unit

Abstract

パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された対象物を撮像することに得られる第2の画像と、を取得する。第1の画像に基づいて画素ごとに距離値を有する第1の距離画像を生成し、該第1の距離画像の距離値に基づいて第1の画像の歪みを補正する。歪みが補正された後の第1の画像に基づいて画素ごとに距離値を有する第2の距離画像を生成する。第2の画像における対象物のエッジの情報を有するエッジ画像の画素ごとに、第1の距離画像又は第2の距離画像の対応する画素の距離値を用いて、エッジ画像の歪みを補正する。

Description

画像処理装置、システム、画像処理方法、物品の製造方法、プログラム
 本発明は、対象物の3次元位置姿勢を求めるための技術に関するものである。
 撮像画像から得られる距離点群データとエッジ点群データを対象物のCADモデルとフィッティングすることにより対象物の3次元位置姿勢を計測する技術が実用化されている。特に、2つの撮像素子を用いて距離データ取得用の撮像とエッジデータ取得用の撮像とを同時に行う構成によれば、一つの撮像素子で両者の撮像を行う場合と比べて短時間での計測が可能であり、移動中の計測や、移動する対象物の計測に適用できる。
 ところで、3次元位置姿勢の計測で利用される、対象物の3次元位置と撮像画像の画素の位置との対応関係は、一般に、焦点距離などのパラメータを使ったカメラモデルによって表現される。このパラメータは内部パラメータとも呼ばれ、その値は光学系によって一意に決定されるものとして扱われることが多い。しかし実際には、このパラメータの値は、撮像光学系の歪によって、対象物までの距離、すなわち撮像素子に対する奥行き方向の位置に応じて変化する。そのため、奥行き方向の位置によらず同一パラメータを使った場合、上記の対応関係は、実際の光学系から乖離し、計測誤差が生じる。この計測誤差を低減するための技術として、次のような技術が開示されている。
 特許文献1の技術によれば、まず仮のパラメータを用いて撮像画像から仮の距離データを生成する。生成された距離データからは、撮像画像の各画素に対応する奥行き方向の位置情報が得られる。この奥行き方向の位置情報に基づき、あらかじめ用意しておいた奥行きの位置毎のパラメータを用いて、最終的な距離データを生成する。
 また、特許文献2の技術によれば、撮像素子の各画素に入射する光線の方向をあらかじめ計測しておく。そして、この計測値を利用することで、カメラモデルの代わりに光線追跡によって上記の対応関係を計算する。
特開2008-170280号公報 特許第4077755号公報
 しかしながら、特許文献1の技術では、奥行き方向の位置情報を取得できないエッジデータには適用できない。また、特許文献2の技術では、対象物の3次元位置と撮像画像の画素の位置との対応関係を計算コストの高い光線追跡で計算する必要があり、高速処理ができない。すなわち、従来技術では、撮像画像から得られる距離データとエッジデータを利用した対象物の高速・高精度な3次元位置姿勢計測ができない、という課題がある。
 本発明はこのような課題に鑑みてなされたものであり、対象物の距離画像とエッジ画像とを利用して、該対象物の3次元位置姿勢を高速・高精度に計測するための技術を提供する。
 本発明の一様態は、パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得手段と、前記第1の画像に基づいて画素ごとに距離値を有する第1の距離画像を生成し、該第1の距離画像の距離値に基づいて前記第1の画像の歪みを補正する第1の補正手段と、前記第1の補正手段によって歪みが補正された後の第1の画像に基づいて画素ごとに距離値を有する第2の距離画像を生成する生成手段と、前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の距離画像又は前記第2の距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正手段とを備えることを特徴とする。
 本発明の構成によれば、対象物の距離画像とエッジ画像とを利用して、該対象物の3次元位置姿勢を高速・高精度に計測することができる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
システムの構成例を示すブロック図。 撮像部103の構成例を示す図。 マルチラインパターン300の構成例を示す図。 校正データ125を取得するための方法のフローチャート。 ステップS1002における処理の詳細を示すフローチャート。 ステップS1003における処理の詳細を示すフローチャート。 校正用ボードの例を示す図。 コンピュータ装置のハードウェア構成例を示すブロック図。 Z位置ごとの校正データのテーブルデータの構成例を示す図。 画像処理装置121が行う処理のフローチャート。 計測装置とロボットアームを含む制御システムを示す図。
 以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
 [第1の実施形態]
 先ず、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。本実施形態に係るシステムは、対象物100の3次元形状、3次元位置姿勢の計測(3次元計測)を行うためのものであり、図1に示す如く、3次元スキャナ101と、画像処理装置121と、を有する。
 先ず、3次元スキャナ101について説明する。3次元スキャナ101は、対象物100に対してパターン光を投影する投影部102と、対象物100を撮像する撮像部103と、を有する。
 投影部102から投影されるパターン光(投影パターン)には、例えば、図3に示すようなマルチラインパターン300が用いられる。マルチラインパターン300の各ライン301には、該ライン301を識別するための符合としてランダムな間隔でドット302が配置されている。マルチラインパターン300が投影された対象物の撮像画像が得られた場合、該撮像画像上で観測されるラインとドットの位置を手掛かりに、対象物上で観測されるラインが投影パターンの何番目のラインであるのかを識別することができる。各ライン上の任意の点は光切断法により三角測距が可能であるため、複数のラインの3次元位置(3次元座標)を一度の撮影で計測できる。なお、マルチラインの各ラインを識別するための符号はランダムドットに限定されない。例えば、各ラインの太さを変え、それを基に各ラインを識別するようにしてもよい。また、投影パターンはマルチラインパターンに限定されず、投影パターンと、撮像画像上の対象物に投影されたパターン光と、の対応付けが取れ、一度の撮影により取得した撮像画像から3次元位置を計測できるものであれば、如何なるパターンを採用しても良い。
 撮像部103は、投影部102により投影パターンが投影された対象物100を撮像することで、投影パターンを含む撮像画像(第1の撮像画像)と、投影パターンを含まない撮像画像(第2の撮像画像)と、を取得する。撮像部103の構成例について、図2を用いて説明する。
 外界からの光はレンズ200を介して分光プリズム201に入射する。分光プリズム201は、投影部102から投影して対象物100で反射する投影パターンの光(投影パターン光)と、不図示の均一照明から照射して対象物100で反射される光(均一照明光)と、を空間的に分離するために用いられる。投影パターン光の波長と均一照明光の波長とは互いに異なる波長であり、分光プリズム201に入射した光のうち投影パターン光は分光プリズム201を透過して撮像素子202へと入射し、均一照明光は分光プリズム201で反射され撮像素子203へ入射する。これにより撮像素子202及び撮像素子203のそれぞれは、互いに視差が少ない第1及び第2の撮像画像をほぼ同時に撮像することができる。
 撮像素子202及び撮像素子203は、例えばCMOSセンサ、CCDセンサなどの各種の光電変換素子である。なお、撮像素子202、203で光電変換されたアナログ信号は、撮像部103内の不図示の制御部により標本化ならびに量子化され、デジタル画像信号に変換される。更にこの制御部は、このデジタル画像信号から、各画素が輝度階調値(濃度値、画素値)を有する画像(撮像画像)を生成し、この撮像画像を適宜撮像部103内のメモリ及び/又は画像処理装置121に対して送出する。
 次に、画像処理装置121について説明する。3次元スキャナ101から取得した第1の撮像画像及び第2の撮像画像に基づいて対象物100の3次元位置姿勢を求めるために画像処理装置121が行う処理について、図10のフローチャートに従って説明する。なお、以下の処理で用いる第1の撮像画像及び第2の撮像画像は3次元スキャナ101から直接取得しても良いし、一端画像処理装置121内のメモリ若しくは外部のメモリに格納したものを読み出して取得しても良い。
 ステップS1002では、画像処理装置121は、第1の撮像画像に基づく距離画像に対する歪み補正処理を行う。ステップS1002における処理の詳細について、図5のフローチャートに従って説明する。
 ステップS501で距離画像生成部123は第1の撮像画像に対し、予め求めた補正パラメータとしての校正データ125を用いて歪み補正処理を行い、歪み補正処理済みの第1の撮像画像から三角測量の原理に基づいて距離画像(第1の距離画像)を生成する。ここで、校正データ125を取得するための方法について、図4のフローチャートに従って説明する。校正データ125は、距離値(Z位置)に依存する校正データと、Z位置に依存していない校正データと、を含む。
 ステップS401では、校正用ボードを、1軸方向に移動可能なステージである一軸移動ステージに設置する。一軸移動ステージの移動方向をZ軸とし、校正用ボード面内にX軸、Y軸を設定する。校正用ボードの例を図7に示す。校正用ボードとしては、二次元的に一定間隔で円パターンなどの指標を印刷した平面板を用いる。校正用ボード上のX軸とY軸を特定するために、例えば図7に示す如く、円パターン群の中に二重円のパターンを複数配置し、二重円パターンがより多く並んでいる方向をX軸、それと直交する方向をY軸と定める。精度良く校正データを算出するために、円パターンなどの指標の間隔は別途高精度な三次元計測機などで測定しておく。ここでは指標を円パターンとしたが、撮影した画像から画像処理により指標の画像上の位置を検出できるものであれば他の形状でもよい。
 ステップS402では、一軸移動ステージを駆動して該一軸移動ステージをZ軸上の計測範囲内で移動させながら該一軸移動ステージ(校正用ボード)を複数回撮像する。これにより、Z軸上の複数の位置(Z位置)における校正用ボードの撮像画像(校正用画像)を取得する。一軸移動ステージを撮像する撮像装置は、例えば校正用ボードと相対するように固定して設けられているものとする。校正用ボード上の指標のXY座標は既知であり、撮像画像取得位置のZ位置は一軸移動ステージの移動間隔を基準に決めることができる。
 ステップS401及びS402の工程は、校正用ボードに投影パターンを投影した状態、校正用ボードに投影パターンを投影しない状態、のそれぞれの状態について行うものとする。以下では、校正用ボードに投影パターンを投影した状態で撮像された校正用画像を第1の校正用画像、校正用ボードに投影パターンを投影しない状態で撮像された校正用画像を第2の校正用画像と称する。また、第1の校正用画像及び第2の校正用画像に共通の説明を行う場合には、これらを区別せずに単に校正用画像と称する。
 なお、ステップS401及びS402の各工程は、撮像位置から互いに異なる複数の奥行き(Z位置)にある校正用画像を取得するための工程の一例である。然るに、撮像位置から互いに異なる複数の奥行き(Z位置)にある校正用画像を取得することができるのであれば、該校正用画像の取得方法は特定の取得方法に限らない。本実施形態では、このような複数の校正用画像は、撮像素子202及び撮像素子203のそれぞれにおいて撮像するものとする。
 次にステップS403では、ステップS401及びS402の各工程で取得した第1の校正用画像及び第2の校正用画像からZ位置に依存しない校正データを算出する。Z位置に依存しない校正データとは、投影部102及び撮像部103のそれぞれのピンホールカメラモデル(式(1)~(8))における内部パラメータ及び外部パラメータである。内部パラメータは、焦点距離fx、fy、画像中心cx、cy、歪み係数k1、k2、k3、p1、p2を含む。外部パラメータは、姿勢R、位置Tを含む。
Figure JPOXMLDOC01-appb-M000001
 ここで(X、Y、Z)はステージ座標系(一軸移動ステージを基準とした座標系)における校正用ボード上の指標の3次元座標を表し、(u、v)は撮像素子面に投影された点(校正用ボード上の指標、投影パターンにおけるドット)の2次元座標を表す。なお、歪み係数は上記のk1、k2、k3、p1、p2に限らず、より高次の項を含むように式(4)、(5)を拡張してもよい。
 撮像部103は2つの撮像素子202、203を有するため、撮像素子202、203のそれぞれの撮像素子について、上記の内部パラメータ及び外部パラメータのセットを算出する。具体的には、第2の校正用画像から各指標の画像上の2次元座標(u、v)を画像処理により算出し、該2次元座標(u、v)と対応する3次元座標(X、Y、Z)とを対応付ける。また、第1の校正用画像から各ドットの画像上の2次元座標(u、v)を画像処理により算出し、該2次元座標(u、v)と対応する3次元座標(X、Y、Z)とを対応付ける。そして上記の対応付けの結果に基づいて、投影部102及び撮像部103(撮像素子202、203)の内部パラメータ、投影部102と撮像部103との間、投影部102とステージとの間、撮像部103とステージとの間の外部パラメータを算出する。内部パラメータ及び外部パラメータは、バンドル調整法などの公知の技術を用いて算出することができる。
 次に、ステップS404では、Z位置ごとの校正データを算出する。例えばZ位置=Z1,Z2,…,Z10の10箇所における校正用ボードの撮像を行った場合、(投影部102、撮像素子202、撮像素子203のそれぞれに対応する内部パラメータ(計3つ))×10=30個の内部パラメータを計算することになる。Z位置ごとの内部パラメータは、以下のようなパラメータを用いて求める。
 ・ Z位置ごとの第1の校正用画像における各ドットの該第1の校正用画像上の2次元座標(u、v)と対応する3次元座標(X,Y,Z)との対応付け結果
 ・ Z位置ごとの第2の校正用画像における各指標の該第2の校正用画像上の2次元座標(u、v)と対応する3次元座標(X,Y,Z)との対応付け結果
 ・ Z位置に依存しない校正データ
 すなわち、上記の対応付け結果がピンホールカメラモデルにフィッティングするように、例えば非線形最適化手法などの手法により、上記の内部パラメータ及び外部パラメータを算出する。その際に、ステージ座標系と撮像部103及び投影部102の座標系との関係はZ位置に依存しない校正データに含まれている外部パラメータを用いて定める。また、非線形最適化手法を用いた計算の初期値として、Z位置に依存しない校正データに含まれている内部パラメータを用いることにより、上記のZ位置ごとの校正データを算出する。
 なお、Z位置ごとの校正データは、図9に示すように、Z位置(Z座標)ごとに、該Z位置と対応する校正データとを関連づけてテーブルデータとして生成しても良い。図9では、Z位置(Z座標)=0,10,20,…,100のそれぞれに対応する校正データ(fx、fy、cx、cy、k1、k2、k3、p1、p2)が登録されている。また、Z位置ごとの校正データを近似する多項式D=f(z)を、Z位置ごとの校正データとして求めても良い。この多項式D=f(z)は、Z位置と校正データとの関係を規定する関数であり、Z位置=zを引数とし、zに対応する校正データDを出力する関数である。
 以上説明したステップS403,S404の各工程の処理は画像処理装置121が行っても良いし、画像処理装置121以外の装置が行っても良い。ステップS403,S404の各工程の処理をどのような装置で実行しても、上記のようにして生成された校正データは校正データ125として画像処理装置121に適宜入力される。なお、校正データ125の生成方法は上記の方法に限らない。
 そしてステップS501では、このようにして生成された校正データ125のうちZ位置に依存しない校正データを用いて第1の撮像画像に対する歪み補正を行い、歪み補正済みの第1の撮像画像を用いて、三角測量の原理に基づいて第1の距離画像を生成する。第1の距離画像は、Z位置に依存しない校正データに基づいて算出されているため、コマ収差などに起因するZ位置ごとに歪みが異なる影響を考慮していないために精度が悪い。そこで、以下の処理工程でその影響を補正する。
 次に、ステップS502では、画像歪み補正部122は、ステップS501で歪みが補正された第1の撮像画像において未選択の画素を選択画素として選択する。ステップS501で歪みが補正された第1の撮像画像における画素の選択順については特定の選択順に限らず、例えば、ラスタスキャン順で画素を選択しても良い。
 ステップS503では画像歪み補正部122は、ステップS501で歪みが補正された第1の撮像画像における選択画素の画素位置を(xs、ys)とした場合に、第1の距離画像において画素位置(xs、ys)における画素値、すなわち距離値dを特定する。
 ステップS504では、画像歪み補正部122は、ステップS503で特定した距離値dに対応するZ位置の校正データを、図4のフローチャートに従って生成された「Z位置ごとの校正データ」に基づいて取得する。
 「Z位置ごとの校正データ」が図9に示すようなテーブルデータとして管理されている場合には、このテーブルデータから距離値dに対応するZ位置の校正データを取得することができる。距離値dに対応するZ位置の校正データがテーブルデータに登録されていない場合、テーブルデータにおいて距離値dに最も近いZ位置の校正データを取得しても良い。また、距離値dに対応するZ位置の校正データがテーブルデータに登録されていない場合、距離値dの近傍の複数のZ位置に対応する校正データから補間した補間校正データを、距離値dに対応する校正データとして取得しても良い。
 また、「Z位置ごとの校正データ」が上記の多項式D=f(z)として管理されている場合には、f(d)の出力を、距離値dに対応する校正データとして取得することができる。
 そして画像歪み補正部122は、ステップS501で歪みが補正された第1の撮像画像における選択画素に対して、距離値dに対応する校正データを用いて歪み補正処理を行う。例えば、距離値dに対応する校正データを用いた歪み補正により、選択画素の画素位置がどの画素位置に変換されるのかを求め、該求めた画素位置に選択画素を移動させる。
 ステップS505では、画像歪み補正部122は、ステップS501で歪みが補正された第1の撮像画像の全ての画素を選択画素として選択したか否かを判断する。画像歪み補正部122が、ステップS501で歪みが補正された第1の撮像画像の全ての画素を選択画素として選択したと判断した場合には、処理はステップS506に進む。一方、画像歪み補正部122が、ステップS501で歪みが補正された第1の撮像画像において未選択画素が残っていると判断した場合には、処理はステップS502に戻る。
 なお、図5では、ステップS502~S504の処理を、第1の撮像画像の全ての画素について行うものとしたが、これに限らない。例えば、1回目の距離点の計算に使用した画素を再度歪み補正し、その他の画素については補間するようにしても良い。
 ステップS506では、画像歪み補正部122は、ステップS504における歪み補正を行った第1の撮像画像に基づいて距離画像(第2の距離画像)を生成する。距離画像の生成方法についてはステップS501と同様である。そして処理は図10のステップS1003に進む。
 図10に戻って、次にステップS1003では、画像処理装置121は、第2の撮像画像に基づくエッジ画像に対する歪み補正処理を行う。ステップS1003における処理の詳細について、図6のフローチャートに従って説明する。
 ステップS601でエッジ画像生成部126は、第2の撮像画像に対し、Z位置に依存しない校正データを用いて歪み補正処理を行い、歪み補正処理済みの第2の撮像画像のエッジ画像(対象物100の輪郭、稜線などのエッジの情報を有する画像)を生成する。
 ステップS602では、対応画素特定部127は、エッジ画像においてエッジを構成する画素(エッジ画素)のうち未選択のエッジ画素を選択エッジ画素として選択する。なお、ステップS602ではエッジ画素だけでなく非エッジ画素を選択するようにしても良い。
 ステップS603では、対応画素特定部127は、選択エッジ画素に対応する第1の撮像画像(ステップS501で歪みが補正された第1の撮像画像)上の画素位置Pを特定する。理想的には撮像素子202による撮像画像と撮像素子203による撮像画像とに視差は生じないが、現実的には組立時の設置誤差などにより視差が生じ、撮像素子202による撮像画像と撮像素子203による撮像画像との間に数ピクセル程度の画素ずれが生じる。
 そこで、撮像素子202による撮像画像と撮像素子203による撮像画像との間の二次元射影変換を実現する二次元射影変換行列が必要になる。このような二次元射影変換行列を用いれば、撮像素子203による撮像画像上の画素位置(x、y)に対応する、撮像素子202による撮像画像上の画素位置(x’、y’)を特定することができる。二次元射影変換行列は予め求めておき、画像処理装置121に適宜入力することになる。
 ここで、二次元射影変換行列を求める方法の一例について説明する。上記の校正用ボードを上記の一軸移動ステージに設置し、該一軸移動ステージをZ軸上の計測範囲内における任意のZ位置で固定した状態で該一軸移動ステージ(校正用ボード)を撮像素子202及び撮像素子203によって撮像する。その際、投影パターンの投影は行わない。そして、校正用ボード上の各指標の特徴点の、撮像素子202による撮像画像上における2次元座標をm1、撮像素子203による撮像画像上における2次元座標をm2、とする。このとき、撮像素子202及び撮像素子203の両方の視野内にある全ての指標の特徴点について以下の式(9)を満たすような二次元射影変換行列Hが存在する。
Figure JPOXMLDOC01-appb-M000002
 ここで、二次元射影変換行列Hは3×3の行列であり、自由度は8であるため、同一平面上の4点以上の2次元座標m1、m2の組み合わせから算出することができる。ここで、指標の2次元座標m1、m2は、歪みを補正した画像上の2次元座標であることが必要である。画像の歪みを補正するために用いる校正データとしてZ位置に依存しない校正データを用いることもできる。しかし、校正用ボードを撮像したZ位置に対応する校正データを算出しておき、該校正データを用いて画像の歪みを補正することにより高精度な二次元射影変換行列を生成することができる。
 然るに、このようにして求めた二次元射影変換行列Hを用いてエッジ画像上の選択エッジ画素の画素位置を変換した画素位置を、エッジ画像上の選択エッジ画素の画素位置に対応する第1の撮像画像上の画素位置Pとして求めることができる。なお、エッジ画像上の選択エッジ画素の画素位置に対応する第1の撮像画像上の画素位置Pを特定することができれば、そのための手法は特定の手法に限らない。そして対応画素特定部127は、第1の距離画像(または第2の距離画像)中の画素位置Pにおける画素値、すなわち距離値を取得する。
 なお、選択エッジ画素の位置はサブピクセル推定されているため、距離画像(第1の距離画像/第2の距離画像)において対応する画素位置が存在しない場合がある。これは、二次元射影変換行列Hを用いてエッジ画像上の選択エッジ画素の画素位置を変換した画素位置の座標値が整数でない場合も同様である。このような場合には、近傍の画素の距離値を基にニアレストネイバー法、バイリニア法などの公知の補間方法により内挿して求めることができる。
 ステップS604では、画像歪み補正部122は、選択エッジ画素に対して、ステップS603で取得した距離値に対応する校正データを用いて歪み補正処理を行う。ステップS604における歪み補正は、上記のステップS504と同様にして行う。
 ステップS605では、画像歪み補正部122は、エッジ画像の全てのエッジ画素を選択エッジ画素として選択したか否かを判断する。画像歪み補正部122が、エッジ画像の全てのエッジ画素を選択エッジ画素として選択したと判断した場合には、処理はステップS1004に進む。一方、画像歪み補正部122が、エッジ画像において未選択のエッジ画素が残っていると判断した場合には、処理はステップS602に戻る。エッジ画像の全てのエッジ画素についてステップS604の歪み補正を行うことで、エッジ画像の歪み補正を行うことができる。
 ステップS1004で算出部124は、第2の距離画像と、ステップS1003で歪み補正を行ったエッジ画像と、に基づき、対象物100のモデルデータ(CADデータ等)とモデルフィッティングすることで、対象物100の3次元位置姿勢を求める。算出部124が算出した対象物100の3次元位置姿勢は、画像処理装置121内のメモリ、画像処理装置121と接続されている外部メモリ、サーバ装置、等に格納しても良いし、不図示のモニタなどに表示しても良い。
 [第2の実施形態]
 本実施形態を含む以下の各実施形態では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。撮像素子203による撮像画像上の画素位置(x、y)に対応する、撮像素子202による撮像画像上の画素位置(x’、y’)を特定するための情報は、二次元射影変換行列に限らない。例えば、以下の手法でもって取得した情報を二次元射影変換行列の代わりに使用することができる。
 先ず、評価基準となる特徴量を持つ対象物(校正用ボードなど)を上記の一軸移動ステージに設置する。そして、該一軸移動ステージをZ軸上の計測範囲内における任意のZ位置で固定した状態で該一軸移動ステージ(校正用ボード)を撮像素子202及び撮像素子203によって撮像する。その際、投影パターンの投影は行わない。そして撮像素子202による撮像画像、撮像素子203による撮像画像のそれぞれの歪みを上記のようにして補正する。そして、撮像素子202による撮像画像と、撮像素子203による撮像画像と、で画像特徴量が最も類似する箇所の位置ずれ量を求め、該求めた位置ずれ量を二次元射影変換行列の代わりに使用する。つまり、撮像素子203による撮像画像上の座標にこの位置ずれ量を加えることで、撮像素子202による撮像画像上の対応する座標を求めることができる。
 [第3の実施形態]
 第1,2の実施形態では、投影パターンを投影した対象物100の撮像画像から距離画像を生成していたが、他の手法を用いて距離画像を生成しても良い。例えば、Time of Flightなどの他の方法によって距離画像を生成するようにしても良い。
 [第4の実施形態]
 図5のフローチャートに従った処理は、以下のように変形しても良い。ステップS502では、画像歪み補正部122は、第1の距離画像において未選択の画素を選択画素として選択する。ステップS503では、画像歪み補正部122は、第1の距離画像において選択画素の画素値、すなわち距離値dを特定する。ステップS504では、画像歪み補正部122は、ステップS503で特定した距離値dに対応するZ位置の校正データを、図4のフローチャートに従って生成された「Z位置ごとの校正データ」に基づいて取得する。そして画像歪み補正部122は、第1の距離画像における選択画素に対して、距離値dに対応する校正データを用いて歪み補正処理を行う。ステップS505では、画像歪み補正部122は、第1の距離画像の全ての画素を選択画素として選択したか否かを判断する。画像歪み補正部122が、第1の距離画像の全ての画素を選択画素として選択したと判断した場合には、処理はステップS1003に進む。一方、画像歪み補正部122が、第1の距離画像において未選択画素が残っていると判断した場合には、処理はステップS502に戻る。ステップS506は不要である。このような処理により、歪み補正後の第1の距離画像を第2の距離画像として生成することができる。
 この場合、図6のフローチャートに従った処理において、ステップS603では、第2の撮像画像と歪み補正後の第1の距離画像との間の画素の対応関係を用いて、選択エッジ画素に対応する第1の距離画像上の画素位置を特定する。
 [第5の実施形態]
 図1に示した画像処理装置121中の各機能部(校正データ125を除く)は何れもハードウェアで実装しても良いが、ソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、このようなソフトウェアを実行可能なコンピュータ装置であれば、上記の画像処理装置121に適用可能である。画像処理装置121に適用可能なコンピュータ装置のハードウェア構成例について、図8のブロック図を用いて説明する。
 CPU801は、メインメモリ802に格納されているコンピュータプログラム、データを用いて処理を実行する。これによりCPU801は、コンピュータ装置全体の動作制御を行うと共に、画像処理装置121が行うものとして上述した各処理を実行若しくは制御する。GPU810は、撮像画像、距離画像、エッジ画像などの各種の画像を用いた上記の様々な画像処理を行う。
 メインメモリ802は、CPU801、GPU810が各種の処理を実行する際に用いるワークエリア、記憶部803、ROM804からロードされたコンピュータプログラム、データを格納するためのエリアを有する。このようにメインメモリ802は、各種のエリアを適宜提供することができる。
 記憶部803は、ハードディスクドライブ装置、ソリッドステートドライブ(SSD)などに代表される大容量情報記憶装置である。記憶部803には、OS(オペレーティングシステム)、画像処理装置121が行うものとして上述した各処理をCPU801、GPU810に実行若しくは制御させるためのコンピュータプログラム、データが保存されている。記憶部803に保存されているコンピュータプログラムには、図1に示した画像処理装置121の各機能部が行うものとして上述した各処理をCPU801、GPU810に実行若しくは制御させるためのコンピュータプログラムが含まれている。また、記憶部803に保存されているデータには、上記の説明において既知の情報として説明したもの、例えば、上記の校正データ、二次元射影変換行列のデータが含まれている。記憶部803に保存されているコンピュータプログラム、データは、CPU801による制御に従って適宜メインメモリ802にロードされ、CPU801、GPU810による処理対象となる。ROM804には、コンピュータ装置のBIOSに係るコンピュータプログラム及びデータ等が格納されている。
 表示装置808は、ビデオカード806に接続されている。表示装置808は、CRT、液晶画面などにより構成されており、CPU801、GPU810による処理結果を画像及び/又は文字などでもって表示することができる。なお、表示装置808はタッチパネル画面であっても良い。
 入力装置809は、USB(Universal Serial Bus)などの汎用I/F(インターフェース)807に接続されている。入力装置809は、マウス、キーボードなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をCPU801に対して入力することができる。なお、この汎用I/F807には、上記の3次元スキャナ101を接続しても良い。CPU801、GPU810、メインメモリ802、記憶部803、ROM804、ビデオカード806、汎用I/F807は何れも、システムバス805に接続されている。
 [第6の実施形態]
 上述の図1に示したシステムは計測装置1100として、ある支持部材に支持された状態で使用されうる。本実施形態では、一例として、図11のようにロボットアーム1300(把持装置)に備え付けられて使用される制御システムについて説明する。計測装置1100は、支持台1350に置かれた被検物1210にパターン光を投影して撮像し、画像を取得する。そして、計測装置1100の制御部が、又は、計測装置1100の制御部から画像データを取得した制御部1310が、被検物1210の位置および姿勢を求め、求められた位置および姿勢の情報を制御部1310が取得する。制御部1310は、その位置および姿勢の情報に基づいて、ロボットアーム1300に駆動指令を送ってロボットアーム1300を制御する。ロボットアーム1300は先端のロボットハンドなど(把持部)で被検物1210を保持して、並進や回転などの移動をさせる。この際、前述の実施形態で記載したように、被検物1210(ワーク、組立用部品、被加工物)のエッジ画像を正確に把握できることによって、ロボットアーム1300が被検物1210を正確に保持して移動させることができる。さらに、ロボットアーム1300によって被検物1210を他の部品に組み付けることにより、複数の部品で構成された物品、例えば電子回路基板や機械などを製造することができる。また、移動された被検物1210を加工することにより、物品を製造することができる。制御部1310は、CPUなどの演算装置やメモリなどの記憶装置を有する。なお、ロボットを制御する制御部を制御部1310の外部に設けても良い。また、計測装置1100により計測された計測データ(計測結果)や得られた画像をディスプレイなどの表示部1320に表示してもよい。なお、以上説明したそれぞれの実施形態の一部若しくは全部は適宜組み合わせて使用しても構わない。
(その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2017年3月13日提出の日本国特許出願特願2017-047488を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
 122:画像歪み補正部 123:距離画像生成部 124:算出部 125:校正データ 126:エッジ画像生成部 127:対応画素特定部

Claims (17)

  1.  パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得手段と、
     前記第1の画像に基づいて画素ごとに距離値を有する第1の距離画像を生成し、該第1の距離画像の距離値に基づいて前記第1の画像の歪みを補正する第1の補正手段と、
     前記第1の補正手段によって歪みが補正された後の第1の画像に基づいて画素ごとに距離値を有する第2の距離画像を生成する生成手段と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の距離画像又は前記第2の距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正手段と
     を備えることを特徴とする画像処理装置。
  2.  前記第2の補正手段は、前記エッジ画像の画素ごとに、該画素に対応する前記第1の画像の画素を、前記第1の画像と前記第2の画像との画素の対応関係に基づいて特定し、該特定した画素に対応する前記第1の距離画像の対応画素の距離値に対応した補正を行うことを特徴とする請求項1に記載の画像処理装置。
  3.  前記対応関係は、前記第1の画像と前記第2の画像との間の二次元射影変換行列によって規定されていることを特徴とする請求項2に記載の画像処理装置。
  4.  前記第1の補正手段は、前記第1の画像の画素ごとに、前記第1の距離画像の対応画素の距離値を用いて該距離値に応じて異なる補正を行うことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5.  前記第2の補正手段は、複数の距離値のそれぞれについて予め求めた補正パラメータから前記対応画素の距離値に応じた補正パラメータを特定し、該補正パラメータを用いて前記エッジ画像の歪みを補正することを特徴とする請求項2又は3に記載の画像処理装置。
  6.  前記第2の補正手段は、距離値と補正パラメータとの関係を規定する関数を用いて、前記対応画素の距離値に対応する補正パラメータを特定し、該補正パラメータを用いて前記エッジ画像の歪みを補正することを特徴とする請求項2又は3に記載の画像処理装置。
  7.  前記第2の補正手段による歪み補正後のエッジ画像と前記第2の距離画像とに基づいて、前記対象物の3次元位置姿勢を求める手段を備えることを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8.  パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得手段と、
     前記第1の画像に基づいて画素ごとに距離値を有する距離画像を生成し、該距離画像の距離値に基づいて前記距離画像の歪みを補正する第1の補正手段と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の補正手段が補正した距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正手段と
     を備えることを特徴とする画像処理装置。
  9.  更に、
     前記第2の補正手段による歪み補正後のエッジ画像と前記第1の補正手段による歪み補正後の距離画像とに基づいて、前記パターン光が投影されている対象物の3次元位置姿勢を求める手段を備えることを特徴とする請求項8に記載の画像処理装置。
  10.  前記第1の画像を撮像する撮像素子、前記第2の画像を撮像する撮像素子のそれぞれに対し、パターン光と均一照明の光とが投影された対象物から入射する光を異なる波長の光に分光したうちの前記パターン光、前記均一照明の光が入射することを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
  11.  請求項1乃至10の何れか1項に記載の画像処理装置と、
     前記画像処理装置によって処理された画像に基づいて被検物を保持して移動させるロボットと、を有するシステム。
  12.  パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得手段と、
     前記第1の画像に基づいて画素ごとに距離値を有する距離画像を生成し、該距離画像の距離値に基づいて前記距離画像の歪みを補正する第1の補正手段と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の補正手段が補正した距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正手段と、
     前記第2の補正手段によって歪みが補正された前記エッジ画像に基づいて前記対象物を保持して移動させるロボットと、
    を有するシステム。
  13.  請求項1乃至10の何れか1項に記載の画像処理装置を用いて被検物を計測する工程と、
     該計測の結果に基づいて被検物を処理することにより物品を製造する工程と、を有することを特徴とする物品の製造方法。
  14.  パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得工程と、
     前記第1の画像に基づいて画素ごとに距離値を有する距離画像を生成し、該距離画像の距離値に基づいて前記距離画像の歪みを補正する第1の補正工程と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の補正工程で補正した距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正工程と
     前記第2の補正工程によって歪みが補正された前記エッジ画像に基づいて、前記対象物を保持して移動させる移動工程と、
    を備えることを特徴とする物品の製造方法。
  15.  画像処理方法であって、
     パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得工程と、
     前記第1の画像に基づいて画素ごとに距離値を有する第1の距離画像を生成し、該第1の距離画像の距離値に基づいて前記第1の画像の歪みを補正する第1の補正工程と、
     前記第1の補正工程によって歪みが補正された後の第1の画像に基づいて画素ごとに距離値を有する第2の距離画像を生成する生成工程と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の距離画像又は前記第2の距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正工程と
     を備えることを特徴とする画像処理方法。
  16.  画像処理装置が行う画像処理方法であって、
     パターン光が投影された対象物を撮像することによって得られる第1の画像と、該パターン光を含まない光が投影された前記対象物を撮像することに得られる第2の画像と、を取得する取得工程と、
     前記第1の画像に基づいて画素ごとに距離値を有する距離画像を生成し、該距離画像の距離値に基づいて前記距離画像の歪みを補正する第1の補正工程と、
     前記第2の画像における前記対象物のエッジの情報を有するエッジ画像の画素ごとに、前記第1の補正工程で補正した距離画像の対応する画素の距離値を用いて、前記エッジ画像の歪みを補正する第2の補正工程と
     を備えることを特徴とする画像処理方法。
  17.  コンピュータを、請求項1乃至10の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
PCT/JP2018/009481 2017-03-13 2018-03-12 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム WO2018168757A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019506001A JPWO2018168757A1 (ja) 2017-03-13 2018-03-12 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム
US16/558,662 US20190392607A1 (en) 2017-03-13 2019-09-03 Image processing apparatus, system, image processing method, article manufacturing method, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-047488 2017-03-13
JP2017047488 2017-03-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/558,662 Continuation US20190392607A1 (en) 2017-03-13 2019-09-03 Image processing apparatus, system, image processing method, article manufacturing method, and non-transitory computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2018168757A1 true WO2018168757A1 (ja) 2018-09-20

Family

ID=63523665

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/009481 WO2018168757A1 (ja) 2017-03-13 2018-03-12 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム

Country Status (3)

Country Link
US (1) US20190392607A1 (ja)
JP (1) JPWO2018168757A1 (ja)
WO (1) WO2018168757A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021032566A (ja) * 2019-08-13 2021-03-01 株式会社Xtia 変形解析方法及び変形解析装置
JP2022053629A (ja) * 2020-09-25 2022-04-06 Kddi株式会社 カメラキャリブレーション装置、方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020153718A (ja) * 2019-03-18 2020-09-24 株式会社リコー 測定装置及び造形装置
CN116863253B (zh) * 2023-09-05 2023-11-17 光谷技术有限公司 基于大数据分析的运维风险预警方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004391A (ja) * 2003-06-10 2005-01-06 Mitsutoyo Corp 画像データ処理装置、画像データ補正方法、画像測定機、画像データ処理プログラムおよびこのプログラムを記録した記録媒体
JP2007122328A (ja) * 2005-10-27 2007-05-17 Konica Minolta Holdings Inc 歪曲収差補正装置及び歪曲収差補正方法
JP2008170280A (ja) * 2007-01-11 2008-07-24 Nikon Corp 形状測定装置及び形状測定方法
US20130272600A1 (en) * 2010-10-15 2013-10-17 Iee International Electronics & Engineering S.A. Range image pixel matching method
JP2017020874A (ja) * 2015-07-09 2017-01-26 キヤノン株式会社 被計測物の形状を計測する計測装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004391A (ja) * 2003-06-10 2005-01-06 Mitsutoyo Corp 画像データ処理装置、画像データ補正方法、画像測定機、画像データ処理プログラムおよびこのプログラムを記録した記録媒体
JP2007122328A (ja) * 2005-10-27 2007-05-17 Konica Minolta Holdings Inc 歪曲収差補正装置及び歪曲収差補正方法
JP2008170280A (ja) * 2007-01-11 2008-07-24 Nikon Corp 形状測定装置及び形状測定方法
US20130272600A1 (en) * 2010-10-15 2013-10-17 Iee International Electronics & Engineering S.A. Range image pixel matching method
JP2017020874A (ja) * 2015-07-09 2017-01-26 キヤノン株式会社 被計測物の形状を計測する計測装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021032566A (ja) * 2019-08-13 2021-03-01 株式会社Xtia 変形解析方法及び変形解析装置
JP7288667B2 (ja) 2019-08-13 2023-06-08 株式会社Xtia 変形解析方法及び変形解析装置
JP2022053629A (ja) * 2020-09-25 2022-04-06 Kddi株式会社 カメラキャリブレーション装置、方法およびプログラム
JP7365986B2 (ja) 2020-09-25 2023-10-20 Kddi株式会社 カメラキャリブレーション装置、方法およびプログラム

Also Published As

Publication number Publication date
JPWO2018168757A1 (ja) 2020-01-09
US20190392607A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
CN107564069B (zh) 标定参数的确定方法、装置及计算机可读存储介质
JP4111166B2 (ja) 3次元形状入力装置
WO2018168757A1 (ja) 画像処理装置、システム、画像処理方法、物品の製造方法、プログラム
EP2654606B1 (en) Motion blur compensation
US11189012B2 (en) Arrangement having a coordinate measuring machine or microscope
JP6282098B2 (ja) キャリブレーション装置及び方法
US11403780B2 (en) Camera calibration device and camera calibration method
JP2011118553A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP2010197198A (ja) 画像の差分による高精度ステレオカメラキャリブレーション
JP2011155412A (ja) 投影システムおよび投影システムにおける歪み修正方法
JP2006098065A (ja) キャリブレーション装置および方法、ならびにそれらを利用可能な3次元モデリング装置および3次元モデリングシステム
JPH05248819A (ja) カメラによる測定対象物の三次元位置測定のための較正対象データの較正方法及び三次元位置測定方法
JP2011130290A (ja) カメラ画像の補正方法およびカメラ装置および座標変換パラメータ決定装置
JP5494234B2 (ja) 三次元形状計測装置、キャリブレーション方法、およびロボット
JP5136108B2 (ja) 三次元形状計測方法および三次元形状計測装置
US20230083150A1 (en) Scanning system and calibration thereof
JP4077755B2 (ja) 位置検出方法、その装置及びそのプログラム、並びに、較正情報生成方法
JP2019207127A (ja) レーザ較正装置、その較正方法、及びレーザ較正装置を含む画像入力装置
JP2012013593A (ja) 3次元形状測定機の校正方法及び3次元形状測定機
CN113658270A (zh) 基于工件孔心的多目视觉标定的方法、装置、介质及系统
JP2012013592A (ja) 3次元形状測定機の校正方法及び3次元形状測定機
CN110706292B (zh) 一种基于机器视觉的二维工作台误差自标定方法
TWI397668B (zh) 影像校正系統及方法
JP5206499B2 (ja) 測定方法、測定装置、測定制御プログラム
KR101801168B1 (ko) 3차원 정렬 오차 측정용 입체형 캘리브레이터와, 이를 이용한 3차원 정렬 오차 산출 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019506001

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

Country of ref document: EP

Kind code of ref document: A1