WO2023166618A1 - カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2023166618A1
WO2023166618A1 PCT/JP2022/008911 JP2022008911W WO2023166618A1 WO 2023166618 A1 WO2023166618 A1 WO 2023166618A1 JP 2022008911 W JP2022008911 W JP 2022008911W WO 2023166618 A1 WO2023166618 A1 WO 2023166618A1
Authority
WO
WIPO (PCT)
Prior art keywords
epipole
camera
image
matrix
corresponding point
Prior art date
Application number
PCT/JP2022/008911
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 PCT/JP2022/008911 priority Critical patent/WO2023166618A1/ja
Publication of WO2023166618A1 publication Critical patent/WO2023166618A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication

Definitions

  • the present disclosure relates to a camera parameter estimation device and a camera parameter estimation method for estimating camera parameters, and further to a computer-readable recording medium for realizing them.
  • the problem of restoring camera parameters and three-dimensional information of an object from an image sequence containing a plurality of images of the same object (subject) photographed using a plurality of cameras is SfM (Structure-from-Motion), and the multi-view geometry problem.
  • Camera parameters include two types of "internal parameters” and "external parameters”.
  • Intrinsic parameters are lens-specific parameters such as focal length, lens distortion, and optical center coordinates, and extrinsic parameters are three-dimensional rotation matrices and translation vectors between cameras.
  • the intrinsic parameters can be measured in advance if the lens is fixed, and a camera with known intrinsic parameters is called a calibrated camera. On the other hand, a camera whose intrinsic parameters are unknown is called an uncalibrated camera.
  • the "relative extrinsic parameters between cameras” are expressed as a 3 ⁇ 3 essential matrix (E matrix: Essential matrix).
  • E matrix Essential matrix
  • the term “relative” here is used to express the rotation matrix and translation vector of the second camera based on the coordinate system of the first camera when the definition of the absolute world coordinate system is unknown. is.
  • the E matrix is obtained by multiplying this relative translation vector by the rotation matrix. It is known that one of the eigenvalues is zero and the two eigenvalues are equal as a feature of this E matrix. It is known that a translation vector and a rotation matrix can be obtained by decomposing the E matrix that satisfies this feature.
  • R. Hartley's 8-point method is widely known as a method for calculating the E matrix.
  • R. Hartley's 8-point method uses at least eight sets of "corresponding point pairs" containing two corresponding points in two images. Two corresponding points of each corresponding point pair are specific points on each image obtained by observing a specific point in real space with two cameras. Two specific points on each image correspond to each other. The coordinates of the corresponding points on the image are described as "image coordinates". Since the intrinsic parameters are known in a calibrated camera, the image coordinates of corresponding points are expressed as so-called normalized image coordinates.
  • D. Nister's 5-point method is also widely known as a method for calculating the E matrix with a small number of corresponding points.
  • D. Nister's 5-point method has a smaller minimum number of points than the 8-point method, so it can speed up the processing of RANSAC for corresponding point groups including false corresponding points.
  • Patent Literature 1 discloses a method of applying two-viewpoint geometry to a multi-viewpoint camera using the 8-point method to restore the three-dimensional shape of an object.
  • Patent Document 2 discloses a method of applying two-viewpoint geometry to a multi-viewpoint camera using the 5-point method to restore the three-dimensional shape of an object.
  • Non-Patent Document 1 describes a method that uses image coordinates (hereinafter referred to as epipoles) of another camera captured in the image in order to reduce the number of corresponding points compared to the 5-point method.
  • Non-Patent Document 1 describes a method of calculating a fundamental matrix (F matrix: Fundamental matrix) between two uncalibrated cameras.
  • F matrix Fundamental matrix
  • E matrix can be calculated (M. Ito's three-point method).
  • the E matrix can be similarly calculated with five or more pairs of corresponding points (M.Ito's 5 dot method).
  • the method for calculating the E matrix described above has the following problems.
  • R. Hartley's 8-point method is a linear least-squares method, it generally does not satisfy the above-mentioned E-matrix constraints.
  • D. Nister's 5-point method satisfies the constraints of the E matrix, but in this method, the estimation error is large due to the observation noise included in the corresponding points, and the accuracy of the estimated E matrix may be low.
  • M. Ito's 3-point method and 5-point method satisfy the constraint that one eigenvalue of the E matrix is zero, but do not satisfy the decomposability condition that two singular values are equal.
  • An example of an object of the present disclosure is to solve the above problem and to provide a camera parameter estimation device, a camera parameter estimation method, and a computer-readable recording medium capable of estimating a highly accurate E matrix that satisfies the resolvability condition. It is in.
  • a camera parameter estimation device includes: Corresponding point acquisition means for acquiring coordinates in the image plane of each corresponding point included in each of a plurality of corresponding point pairs obtained from the first image by the first camera and the second image by the second camera; one of a first epipole that is the image plane coordinates of the second camera projected onto the first image and a second epipole that is the image plane coordinates of the first camera projected onto the second image; or an epipole obtaining means for obtaining both;
  • An epipolar equation for a base matrix representing an epipolar constraint that is a geometric constraint between two corresponding points of a corresponding point pair and the plurality of corresponding point pairs, and for the base matrix and the first epipole or the second epipole a camera parameter estimating means for estimating the basic matrix from a simultaneous equation represented by a constraint of and a constraint that allows a rotation matrix and a translation vector to be decomposed from the basic matrix; and The coordinates of the corresponding point, the first
  • a camera parameter estimation method includes: Acquiring the coordinates in the image plane of each corresponding point included in each of the plurality of corresponding point pairs obtained from the first image by the first camera and the second image by the second camera; one of a first epipole that is the image plane coordinates of the second camera projected onto the first image and a second epipole that is the image plane coordinates of the first camera projected onto the second image; or get both,
  • the coordinates of the corresponding point, the first epipole, and the second epipole are coordinates in an image normalized by the intrinsic parameters of the first camera and the second camera
  • a computer-readable recording medium in one aspect of the present disclosure includes: to the computer, Acquiring the coordinates in the image plane of each corresponding point included in each of the plurality of corresponding point pairs obtained from the first image by the first camera and the second image by the second camera; one of a first epipole that is the image plane coordinates of the second camera projected onto the first image and a second epipole that is the image plane coordinates of the first camera projected onto the second image; or get both, An epipolar equation for a base matrix representing an epipolar constraint that is a geometric constraint between two corresponding points of a corresponding point pair and the plurality of corresponding point pairs, and for the base matrix and the first epipole or the second epipole and a constraint that allows a rotation matrix and a translation vector to be decomposed from the fundamental matrix. record a program containing instructions, The coordinates of the corresponding point, the first epipole, and the second epipole are coordinates in an image normalized by the intrinsic parameters of the first camera and the
  • FIG. 1 is a block diagram showing an example of the configuration of a camera parameter estimation device according to the first embodiment.
  • FIG. 2 is an explanatory diagram illustrating a specific example of two-viewpoint geometry.
  • FIG. 3 is a flow chart showing an example of the operation of the camera parameter estimation device according to the first embodiment.
  • FIG. 4 is a block diagram showing an example of the configuration of a camera parameter estimation device according to the second embodiment.
  • FIG. 5 is an explanatory diagram showing a specific example of the coordinate system in the second embodiment.
  • FIG. 6 is a flowchart showing an example of the operation of the camera parameter estimation device according to the second embodiment.
  • FIG. 7 is a block diagram showing an example of a computer that implements the camera parameter estimation device according to the first and second embodiments.
  • FIG. 1 A camera parameter estimation device, a camera parameter estimation method, and a program according to the first embodiment will be described below with reference to FIGS. 1 to 3.
  • FIG. 1 A camera parameter estimation device, a camera parameter estimation method, and a program according to the first embodiment will be described below with reference to FIGS. 1 to 3.
  • FIG. 1 A camera parameter estimation device, a camera parameter estimation method, and a program according to the first embodiment will be described below with reference to FIGS. 1 to 3.
  • FIG. 1 is a block diagram showing an example of the configuration of a camera parameter estimation device according to the first embodiment.
  • the camera parameter estimation device 10 in the first embodiment shown in FIG. 1 is a device that estimates an essential matrix (E matrix: Essential matrix), that is, a relative rotation matrix and translation vector.
  • E matrix is a matrix representing an epipolar constraint, which is a geometric constraint between two corresponding points of a corresponding point pair.
  • the camera parameter estimation device 10 includes a corresponding point acquisition section 11 , an epipole acquisition section 12 and a camera parameter estimation section 13 .
  • the corresponding point acquisition unit 11 acquires the coordinates within the image plane of each corresponding point included in each of a plurality of corresponding point pairs. A plurality of corresponding point pairs are obtained from the first image and the second image.
  • the first image is an image captured by the first camera (camera 1)
  • the second image is an image captured by the second camera (camera 2).
  • the epipole acquisition unit 12 acquires one of a first epipole that is the coordinates in the image plane of the camera 2 projected on the first image and a second epipole that is the coordinates in the image plane of the camera 1 projected on the second image. Or get both.
  • the coordinates of the corresponding point, the first epipole, and the second epipole are the coordinates in the image normalized by the internal parameters of the first camera and the second camera. Therefore, the camera parameter estimation unit 13 estimates the E matrix from predetermined simultaneous equations.
  • the simultaneous equations are epipolar equations for the E matrix and a plurality of corresponding point pairs, constraints for the E matrix and the first epipole or the second epipole (hereinafter referred to as “epipole constraints”), and rotation from the E matrix. It is represented by a constraint condition (hereinafter referred to as “resolvability condition”) that allows the matrix and the translation vector to be decomposed.
  • the camera parameter estimation device 10 solves the "predetermined simultaneous equations" represented by the epipolar equation, the epipole constraint, and the decomposability condition, and estimates the E matrix. Therefore, according to the camera parameter estimation device 10, it is possible to estimate the E matrix with high accuracy that satisfies the decomposability condition.
  • FIG. 2 is a diagram for explaining a specific example of two-viewpoint geometry.
  • the corresponding point acquisition unit 11 acquires the coordinates in the image plane of each corresponding point included in each of two or more "pairs of corresponding points".
  • the coordinates within the image plane are also referred to as "observed image coordinates".
  • Each “corresponding point pair” includes, for example, two corresponding points that are included in the “first image” and the “second image” and correspond to each other.
  • FIG. 2 is an explanatory diagram illustrating a specific example of two-viewpoint geometry.
  • FIG. 2 shows the camera coordinate system of camera 1 and the camera coordinate system of camera 2.
  • the first image is an image captured by camera 1
  • the second image is an image captured by camera 2.
  • the first image corresponds to the above "first image”
  • the second image corresponds to the above "second image”.
  • a certain three-dimensional point X in the world coordinate system is observed by the camera 1 as the coordinate m within the image plane.
  • the coordinates in the image plane are also denoted as “image coordinates” or "observed image coordinates", for example.
  • the three-dimensional point X is observed by the camera 2 as the observed image coordinate m'.
  • the observed image coordinate m and the observed image coordinate m' are points corresponding to each other, and thus are “corresponding points”.
  • the observation image coordinate m and the observation image coordinate m' can be collectively called a "corresponding point pair".
  • Camera 1 is observed as epipole e' in the second image
  • camera 2 is observed as epipole e in the first image.
  • cameras 1 and 2 are calibrated cameras, that is, cameras whose internal parameters are known. Therefore, as described above, the corresponding points m and m' and the epipoles e and e' are the camera 1 and the coordinates in the image normalized by the internal parameters of the camera 1 (hereinafter referred to as "normalized image coordinates"). ).
  • the coordinate values of the three-dimensional point X are unknown. Since the world coordinate system can be set arbitrarily, it is assumed to match the camera coordinate system of camera 1 . That is, in the extrinsic parameters of camera 1, the position (that is, three-dimensional translation vector) is [0,0,0], and the rotation matrix is a 3 ⁇ 3 identity matrix. Then, the extrinsic parameters of the camera 2 are represented by the translation vector t and the rotation matrix R. As mentioned above, the two cameras 1 and 2 have been calibrated and their intrinsic parameters are known.
  • the corresponding point acquisition unit 11 obtains the observation image coordinates of the corresponding points using a widely known technique such as SIFT (Scale Invariant Feature Transform) or SURF (Speeded Up Robust Features). can be obtained.
  • the corresponding point obtaining unit 11 can also obtain observation image coordinates of corresponding points by accepting designation of corresponding points and removal of incorrect corresponding points from the user.
  • the corresponding points are displayed by a display for displaying the first image and the second image, and the corresponding point obtaining unit 11 obtains the corresponding points via an input device such as a mouse, keyboard, or touch panel that receives input from the user. Accepts point specification and removal of erroneous corresponding points.
  • the epipole acquisition unit 12 obtains the position of a camera other than the camera that captured the first image and the second image, that is, the image coordinates of each of the epipoles e and e′. get.
  • the epipole acquisition unit 12 can also acquire the position of the epipole by accepting the designation of the position of the epipole by the user. In this case, the epipole is displayed on the display, and the epipole acquisition unit 12 accepts designation of the epipole position via the input device, as with the corresponding point acquisition unit 11 .
  • the camera parameter estimation unit 13 calculates the E matrix by solving a "predetermined simultaneous equation" using one or more sets of corresponding points, an epipole e, and an epipole e'.
  • the "predetermined simultaneous equations" represent not only the E matrix and epipolar equations for one or more corresponding point pairs, but also decomposable conditions for decomposing the rotation matrix and the translation vector from the F matrix. A specific example of the "predetermined simultaneous equations" will be described later.
  • FIG. 3 is a flow chart showing an example of the operation of the camera parameter estimation device according to the first embodiment. 1 and 2 will be referred to as necessary in the following description. Also, in the first embodiment, the camera parameter estimation method is implemented by operating the camera parameter estimation device 10 . Therefore, the description of the camera parameter estimation method in the first embodiment is replaced with the description of the operation of the camera parameter estimation device 10 below.
  • the corresponding point acquisition unit 11 obtains images of each image data. One or more sets of corresponding point pairs are specified from . Then, the corresponding point acquisition unit 11 acquires the coordinates of each corresponding point in the image plane in the identified pair of corresponding points (step S11).
  • the epipole acquisition unit 12 uses the input image data of the first image and the second image to obtain the first epipole and the second image, which are the in-plane coordinates of the second camera projected onto the first image.
  • a second epipole which is the coordinates in the projected image plane of the first camera, is obtained (step S12).
  • the camera parameter estimating unit 13 uses one or more corresponding point pairs, the first epipole and the second epipole to generate a "predetermined simultaneous equation" represented by an epipolar equation, epipole constraints, and decomposability conditions. Solve to calculate the E matrix (step S13).
  • the camera parameter estimation unit 13 outputs the E matrix (or the rotation matrix and the translation vector obtained from the E matrix) calculated in step S13 (step S14).
  • step S14 the operation of the camera parameter estimation device 10 ends.
  • the translation vector has an indeterminate scale, so its degree of freedom is 2.
  • the rotation matrix has 3 degrees of freedom. Therefore, although the E matrix represented by Equation 1 above has nine elements, it has five degrees of freedom.
  • Equation 2 the E matrix has the feature that one eigenvalue is zero and two singular values are equal. This feature is expressed in Equation 2 below.
  • Equation 2 above represents the matrix trace. Equation 2 above expresses that the E matrix has five degrees of freedom, that is, the decomposability constraint of the E matrix. From any 3 ⁇ 3 matrix that satisfies Equation 2 above, the rotation matrix and translation vector shown in Equation 1 above are obtained.
  • Equation 3 The E matrix and the i-th corresponding point satisfy the epipolar equation represented by Equation 3 below.
  • the E matrix has sign ambiguity. That is, even if "-E" whose sign is inverted is substituted into the above-mentioned equations 2-3, the above-mentioned equations 2-3 are established.
  • the E matrix with sign ambiguity is represented by two sets of translation vectors t and two sets of rotation matrices R, that is, four sets of translation vectors t and rotation matrices R in total.
  • epipoles e and e' and the E matrix have the following relationship.
  • the L2 norm of translation vector t is set to "1". That is, the L2 norms of epipoles e and e' are also set to "1".
  • Equation 5 ⁇ is an unknown rotation angle.
  • Equation 6 the E matrix is expressed by Equation 6 below.
  • Equation 7 the epipolar equation for a set of corresponding points is shown in Equation 7 below.
  • Equation 8 the rotation angle ⁇ can be calculated by Equation 8 below.
  • the sign of sin ⁇ should be selected so that the epipolar equation of Equation 7 above becomes zero.
  • Equation 7 When N sets of corresponding points are available (N is an integer greater than 1), the above Equation 7 can be expanded as in Equation 9 below.
  • Equation 9 has the same form as the widely used DLT (Direct Linear Transform) method.
  • the desired vector x, ie, cos ⁇ and sin ⁇ can be calculated as the eigenvector corresponding to the smallest eigenvalue of MTM .
  • Equation 6 Since cos ⁇ and sin ⁇ are obtained from the above, the E matrix can be calculated by substituting them into Equation 6 above.
  • step S11 when the image data of two images (the first image and the second image) are input, the corresponding point obtaining unit 11 obtains one or more corresponding point pairs (corresponding point pairs) from each image. m and m').
  • step S12 the epipole acquisition unit 12 acquires the epipoles e and e' of each other's cameras from the respective images using the input image data of the first image and the second image.
  • step S13 the camera parameter estimator 13 solves the “predetermined simultaneous equations” expressed by Equation 7 or Equation 9 above to calculate the rotation angle ⁇ around the epipole e′, and converts the calculated rotation angle ⁇ Substitute into Equation 6 to determine the E matrix.
  • the camera parameter estimation device 10 can calculate the E matrix by solving simultaneous equations using one or more sets of corresponding points and two epipoles. The reason is as follows.
  • Equation 6 Since the E matrix represented by Equation 6 above is represented with 5 degrees of freedom, it satisfies the decomposability condition of the E matrix. Of the five degrees of freedom, two degrees of freedom are given from two epipoles, respectively, so there is one remaining degree of freedom, which corresponds to the rotation angle ⁇ around the epipole e'. Therefore, since there is one unknown, the system of equations can be solved if one or more pairs of corresponding points are given. Calculating the rotation angle ⁇ based on Equation 7 or Equation 9 above is equivalent to determining the E matrix that satisfies the decomposability condition. For the above reasons, the E matrix can be calculated according to the first embodiment.
  • the first embodiment is not limited to the example described above.
  • various modifications that can be understood by those skilled in the art can be applied to the above example.
  • the first embodiment can also be implemented in the form shown in the following modifications.
  • the “first image” and the “second image” are two still images of the same object captured at a certain time by two different cameras from different viewpoints.
  • the first embodiment is not limited to this.
  • the “first image” and the “second image” may be two frame images of a time-series continuous moving image.
  • the camera 1 that captures the "first image” and the camera 2 that captures the "second image” may be the same camera or different cameras.
  • the "first image” and the “second image” may be images obtained by photographing the same object or the same scene from different viewpoints with one or more calibrated cameras.
  • the camera parameter estimator 13 calculates the rotation angle ⁇ using cos ⁇ and sin ⁇ , but the first embodiment is not limited to this.
  • the camera parameter estimating unit 13, for example, uses the half-angle formula p tan ⁇ / 2 to obtain 1
  • a univariate polynomial solver for p expressed in variables may be performed.
  • Modification 3 In the examples shown in FIGS. 1 to 3, the case where the number of corresponding point pairs used in the camera parameter estimation unit 13 is one or more is described, but the first embodiment is not limited to this.
  • the camera parameter estimator 13 first executes the RANSAC algorithm based on Equation 7 to remove erroneous corresponding point pairs, and then Equation 9 may be performed using two or more pairs of positively matched points. Due to the single set of samplings in the RANSAC algorithm, the number of trials is exponentially reduced compared to the 5-point and 8-point methods. Further, the camera parameter estimation unit 13 uses the E matrix (the unknown is ⁇ ) according to Equation 6 instead of Equation 9 above to perform nonlinear optimization with the well-known Sampson error or reprojection error as the objective function. You may
  • the program in the first embodiment may be any program that causes a computer to execute steps S11 to S14 shown in FIG.
  • the processor of the computer functions as the corresponding point acquisition unit 11, the epipole acquisition unit 12, and the camera parameter estimation unit 13 to perform processing.
  • Examples of computers include general-purpose PCs, smartphones, and tablet-type terminal devices.
  • the program in the first embodiment may be executed by a computer system constructed by a plurality of computers.
  • each computer may function as one of the corresponding point acquisition unit 11, the epipole acquisition unit 12, and the camera parameter estimation unit 13, respectively.
  • FIG. 4 is a block diagram showing an example of the configuration of a camera parameter estimation device according to the second embodiment.
  • the camera parameter estimation device 20 in the second embodiment shown in FIG. 4 is also a device for estimating the E matrix, that is, the relative rotation matrix and the translation vector, like the camera parameter estimation device 10 in the first embodiment. be.
  • a camera parameter estimation device 20 includes a corresponding point acquisition unit 21, an epipole acquisition unit 22, and a camera parameter estimation unit 23. It has
  • the second embodiment differs from the first embodiment in that only one of the two epipoles e and e' is input.
  • the following description focuses on differences from the first embodiment.
  • FIG. 5 is an explanatory diagram showing a specific example of the coordinate system in the second embodiment.
  • the camera 2 is observed as the epipole e in the first image, but the camera 1 is observed as the epipole e' in the second image because it is outside the imaging range of the second image. do not have.
  • the corresponding point acquisition unit 21 acquires, for example, three or more "corresponding point pairs" in the second embodiment. Note that the method of acquiring the corresponding point pairs by the corresponding point acquiring unit 21 is the same as that of the corresponding point acquiring unit 11 in the first embodiment, so the description thereof will be omitted.
  • the epipole acquisition unit 22 acquires only the image coordinates of the epipole e in the first image in the second embodiment.
  • the epipole image coordinate acquisition method by the epipole acquisition unit 22 is the same as that of the epipole acquisition unit 12 in the first embodiment, so the description thereof will be omitted.
  • the camera parameter estimation unit 23 calculates the E matrix by solving "predetermined simultaneous equations" using three or more corresponding point pairs and one epipole e.
  • This "predetermined system of equations” includes an epipolar equation for the E matrix and the three or more pairs of corresponding points, an epipolar constraint, and a resolvability condition that allows the rotation matrix and the translation vector to be decomposed from the E matrix.
  • the camera parameter estimation device 20 solves the "predetermined simultaneous equations" using three or more sets of corresponding points and one epipole e to obtain the E matrix. calculate.
  • FIG. 6 is a flowchart showing an example of the operation of the camera parameter estimation device according to the second embodiment. 4 and 5 will be referred to as necessary in the following description. Also, in the second embodiment, the camera parameter estimation method is implemented by operating the camera parameter estimation device 20 . Therefore, the description of the camera parameter estimation method in the second embodiment is replaced with the description of the operation of the camera parameter estimation device 20 below.
  • the corresponding point obtaining unit 21 obtains images of each image data. 3 or more sets of corresponding points are specified from . Then, the corresponding point obtaining unit 21 obtains the in-image coordinates of each corresponding point included in each identified pair of corresponding points (step S21).
  • the epipole acquisition unit 22 acquires the epipole e, which is the coordinates within the image plane of the second camera projected onto the first image, using the input image data of the first image and the second image (step S22 ).
  • the camera parameter estimating unit 23 uses three or more corresponding point pairs and one epipole to calculate the "predetermined simultaneous equations" represented by the epipolar equation, the epipole constraint, and the decomposability condition of the E matrix.
  • the solution method is executed to calculate the E matrix (step S23).
  • the camera parameter estimation unit 13 outputs the E matrix (or the rotation matrix and the translation vector obtained from the E matrix) calculated in step S23 (step S24).
  • step S24 the operation of the camera parameter estimation device 20 ends.
  • Equation 10 Equation 10
  • Equation 11 For example, using the Cayley transform, Equation 11 above becomes a 3-variable quadratic polynomial and has a maximum of 8 real number solutions.
  • Equation 11 can be extended as shown in Equation 12 below.
  • Equation 12 above takes the same form (up to 20 real number solutions) as the so-called PnP (Perspective-n-Point) problem based on algebraic errors. may be used. Also, non-linear optimization may be performed using the rotation matrix calculated in Equation 11 as an initial value.
  • the E matrix can be calculated by substituting the obtained rotation matrix R into Equation 10 above. Also, in the second embodiment, unlike the first embodiment, it is not necessary to distinguish between epipole-e and epipole-e. This is because Equations 11 and 12 hold true regardless of whether the sign is positive or negative.
  • step S21 when the image data of two images (the first image and the second image) are input, the corresponding point obtaining unit 21 obtains three or more corresponding point pairs (m, m').
  • step S22 the epipole acquisition unit 22 uses the image data of the first image to acquire the epipole e of the camera 2 that captured the second image.
  • step S23 the camera parameter estimating unit 23 solves the "predetermined simultaneous equations" represented by Equation 11 or Equation 12 above to calculate the rotation matrix R, and substitutes the calculated rotation matrix R into Equation 10 above. to determine the E matrix.
  • the camera parameter estimation device 20 can calculate the E matrix by solving simultaneous equations using three or more pairs of corresponding points and one epipole. The reason is as follows.
  • Equation 10 Since the E matrix represented by Equation 10 above is represented with 5 degrees of freedom, it satisfies the decomposability condition of the E matrix. Of the five degrees of freedom, one epipole gives two degrees of freedom corresponding to the translation vector, so there are three remaining degrees of freedom, which correspond to the rotation matrix R. Since there are three unknowns, the system of equations can be solved if three or more pairs of corresponding points are given. Calculating the rotation matrix R based on Equation 11 or Equation 12 above is equivalent to determining the E matrix that satisfies the decomposability condition. For the above reasons, the E matrix can also be calculated according to the second embodiment.
  • Modification 5 In the examples shown in FIGS. 4 to 6, the Cayley transform is used as a representation method of the rotation matrix R in the processing of the camera parameter estimation unit 23, but the second embodiment is not limited to this.
  • As a method of expressing the rotation matrix R various methods of expressing the rotation matrix such as quaternions and Euler angles may be used.
  • Modification 6 In the examples shown in FIGS. 4 to 6, the case where the number of corresponding point pairs used in the camera parameter estimation unit 23 is 3 or 4 or more is described, but the second embodiment is not limited to this. .
  • the camera parameter estimating unit 23 first executes the RANSAC algorithm based on Equation 11 above to remove erroneous corresponding points, and then the obtained 3 Equation 12 may be performed using more than one set of positively matched point pairs.
  • the triplicated number of samples in the RANSAC algorithm reduces the number of trials exponentially compared to the 5-point and 8-point methods.
  • the camera parameter estimation unit 23 uses the E matrix (the unknown is the rotation matrix R) according to the above equation 10 instead of the above equation 11 to perform nonlinear optimization with the widely known Sampson error or reprojection error as the objective function. may be executed.
  • the program in the second embodiment may be any program that causes a computer to execute steps S21 to S24 shown in FIG.
  • the processor of the computer functions as a corresponding point obtaining section 21, an epipole obtaining section 22, and a camera parameter estimating section 23, and performs processing.
  • Examples of computers include general-purpose PCs, smartphones, and tablet-type terminal devices.
  • the program in the second embodiment may be executed by a computer system constructed by a plurality of computers.
  • each computer may function as one of the corresponding point acquisition unit 21, the epipole acquisition unit 22, and the camera parameter estimation unit 23, respectively.
  • FIG. 7 is a block diagram showing an example of a computer that implements the camera parameter estimation device according to the first and second embodiments.
  • the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader/writer 116, and a communication interface 117. and These units are connected to each other via a bus 121 so as to be able to communicate with each other.
  • CPU Central Processing Unit
  • the computer 110 may include an MPU (Micro Processing Unit), GPU (Graphics Processing Unit), or FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111.
  • MPU Micro Processing Unit
  • GPU Graphics Processing Unit
  • FPGA Field-Programmable Gate Array
  • a GPU or FPGA can execute the programs in the embodiments.
  • the CPU 111 expands the program in the embodiment, which is composed of a code group stored in the storage device 113, into the main memory 112 and executes various operations by executing each code in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the programs in the first and second embodiments are provided in a state stored in a non-transitory computer readable medium 120.
  • the programs in the first and second embodiments may be distributed on the Internet connected via the communication interface 117.
  • the programs in the first and second embodiments may be supplied to the computer via a wired communication path such as electric wires and optical fibers, or a wireless communication path.
  • the programs in the first and second embodiments are carried by electrical signals, optical signals and electromagnetic waves.
  • Input interface 114 mediates data transmission between CPU 111 and input devices 118 such as a keyboard and mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119 .
  • the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results in the computer 110 to the recording medium 120.
  • Communication interface 117 mediates data transmission between CPU 111 and other computers.
  • the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, and CD- Optical recording media such as ROM (Compact Disk Read Only Memory), CD-R and CD-R/W can be mentioned.
  • CF Compact Flash
  • SD Secure Digital
  • CD- Optical recording media such as ROM (Compact Disk Read Only Memory), CD-R and CD-R/W can be mentioned.
  • the recording medium 120 is a semiconductor memory.
  • the semiconductor memory includes, for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (Random Access Memory).
  • the camera parameter estimation devices in the first and second embodiments can also be realized by using hardware corresponding to each part, instead of a computer in which a program is installed. Furthermore, the camera parameter estimating devices in the first and second embodiments may be partly implemented by a program and the rest by hardware.
  • Corresponding point acquisition means for acquiring coordinates in the image plane of each corresponding point included in each of a plurality of corresponding point pairs obtained from the first image by the first camera and the second image by the second camera; one of a first epipole that is the image plane coordinates of the second camera projected onto the first image and a second epipole that is the image plane coordinates of the first camera projected onto the second image; or an epipole obtaining means for obtaining both;
  • the coordinates of the corresponding point, the first epipole, and the second epipole are coordinates in an image normalized by the intrinsic
  • the epipole acquisition means acquires both the first epipole and the second epipole;
  • the camera parameter estimation means estimates the fundamental matrix by solving the simultaneous equations using one or more pairs of corresponding points, the first epipole, and the second epipole.
  • the camera parameter estimation device according to appendix 1.
  • the epipole acquisition means acquires one of the first epipole and the second epipole;
  • the camera parameter estimation means estimates the fundamental matrix by solving the simultaneous equations using three or more corresponding point pairs and one of the first epipole and the second epipole. ,
  • the camera parameter estimation device according to appendix 1.
  • the present invention is suitable for three-dimensional shape reconstruction from images (Structure-from-Motion).
  • Camera parameter estimation device (Embodiment 1) 11 Corresponding Point Acquisition Unit 12 Epipole Acquisition Unit 13 Camera Parameter Estimation Unit 20 Camera Parameter Estimation Apparatus (Embodiment 2) 21 corresponding point acquisition unit 22 epipole acquisition unit 23 camera parameter estimation unit 110 computer 111 CPU 112 main memory 113 storage device 114 input interface 115 display controller 116 data reader/writer 117 communication interface 118 input device 119 display device 120 recording medium 121 bus

Landscapes

  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

カメラパラメータ推定装置10は、カメラ1の第1画像及びカメラ2の第2画像から得られた、各対応点ペアに含まれる対応点の画像平面内座標を取得する、対応点取部11と、第1画像に投影されたカメラ2の画像平面内座標である第1エピポール、及び第2画像に投影されたカメラ1の画像平面内座標である第2エピポールのうち一方又は両方を取得する、エピポール取得部12、対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と対応点ペアとについてのエピポーラ方程式、基本行列とエピポールとについての制約条件、及び基本行列から回転行列と並進ベクトルとを分解可能とする制約条件によって表される連立方程式から、基本行列を推定するカメラパラメータ推定部13とを備える。対応点、第1及び第2エピポール、それぞれの座標は、各カメラの内部パラメータで正規化された画像の座標である。

Description

カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
 本開示は、カメラパラメータを推定するための、カメラパラメータ推定装置及びカメラパラメータ推定方法に関し、更には、これらを実現するためのコンピュータ読み取り可能な記録媒体に関する。
 複数台のカメラを用いて同一の物体(被写体)を撮影した複数の画像を含む画像列から、カメラパラメータとその物体の3次元情報とを復元する問題は、SfM(Structure-from-Motion)、及び多視点幾何学問題と呼ばれている。カメラパラメータは、「内部パラメータ」及び「外部パラメータ」の2種類を含む。
 内部パラメータは、焦点距離、レンズ歪、光学中心座標などのレンズ固有のパラメータであり、外部パラメータは、カメラ間の3次元的な回転行列及び並進ベクトルである。内部パラメータは、レンズが固定ならば事前に計測が可能であり、内部パラメータが既知のカメラは、校正済みカメラと呼ばれる。一方、内部パラメータが未知のカメラは未校正カメラと呼ばれる。
 校正済みカメラによる2視点幾何において「カメラ間の相対的な外部パラメータ」は、3×3の基本行列(E行列:Essential matrix)として表現される。ここで「相対的」としているのは、絶対的な世界座標系の定義が不明な場合、1つ目のカメラの座標系を基準として2つ目のカメラの回転行列及び並進ベクトルを表現するためである。この相対的な並進ベクトルと、回転行列とを乗算したものがE行列である。このE行列の特徴として、固有値の1つがゼロであり、2つの特異値が等しい、ことが知られている。この特徴を満たすE行列を分解することで、並進ベクトルと回転行列とを得られることが知られている。
 E行列の算出方法として、R. Hartleyの8点法が広く知られている。R. Hartleyの8点法は、2枚の画像における2つの対応点を含む「対応点ペア」を、少なくとも8組用いる。各対応点ペアの2つの対応点は、実空間にある特定の点を2つのカメラで観測して得られた、各画像上の特定の点である。各画像上の2つの特定の点は互いに対応する。対応点の画像上での座標は「画像座標」と表記される。校正済みカメラでは内部パラメータが既知のため、対応点の画像座標はいわゆる正規化画像座標として表現される。
 一般的には1組の画像ペアから数十から数千組の対応点ペアが得られ、対応点ペア群には誤った対応点ペア、すなわち、異なる3次元座標の投影点を対応付けてしまった対応点ペアも存在する。そのため、全対応点から計算に必要な最小点数(例えば、8点法であれば8組)をランダムに選び、誤差の小さいE行列を算出するという操作を繰り返し行う必要がある。ここで、誤差とは、エピポーラ方程式の残差や再投影誤差を表す。この操作はRANSAC(Random SAmple Consensus)と呼ばれ、対応点群の中から誤差が小さく正しい対応点を探索する標準的な手法として広く用いられている。組合せ最適化の一種であるため、最小点数が少なければ少ないほど、繰り返し回数が削減されて計算実行時間を短くすることができる。
 少ない対応点数でE行列を算出する方法として、D. Nisterの5点法も広く知られている。D. Nisterの5点法では、8点法よりも最小点数が少ないため、誤対応点を含む対応点群に対するRANSACの処理速度を高速化できる。特許文献1には、8点法を用いて2視点幾何を多視点カメラに適用し、物体の3次元形状の復元を行う方法が開示されている。また、特許文献2には、5点法を用いて2視点幾何を多視点カメラに適用し、物体の3次元形状の復元を行う方法が開示されている。
 5点法よりも対応点数を削減するために、画像中に写った別のカメラの画像座標(以降、エピポールと呼ぶ)を用いる方法が非特許文献1に記載されている。非特許文献1は、2つの未校正カメラ間における基礎行列(F行列:Fundamental matrix)を算出する方法について記載されているが、内部パラメータを既知とすればそのままE行列に応用できる。非特許文献1に記載に記載された方法によると、互いのカメラがそれぞれの画像に映っている場合、つまり、2組のエピポールが両方とも観測できる場合は、3組以上の対応点でE行列が計算できる(M. Itoの3点法)。また、片方のカメラのみがもう片方の画像に映っている場合、つまり、1組のエピポールのみが観測できる場合は、同様に5組以上の対応点でE行列が計算できる(M. Itoの5点法)。
国際公開第2012/014430号 国際公開第2019/058487号
Ito, Mitsuru, Takeshi Sugimura, and Jun Sato. "Recovering structures and motions from mutual projection of cameras." Object recognition supported by user interaction for service robots. Vol. 3. IEEE, 2002.
 ところで、上述したE行列の算出方法には、以下のような問題がある。
 まず、R. Hartleyの8点法は、線形最小二乗法のため、上述したE行列の制約を一般的には満たしていない。D. Nisterの5点法は、E行列の制約を満たすものの、この方法では、対応点に含まれる観測ノイズのため推定誤差が大きく、推定したE行列の精度が低いことがある。M. Itoの3点法及び5点法は、E行列の1つの固有値がゼロという制約を満たすものの、2つの特異値が等しいという分解可能条件を満たしていない。
 上述したように、E行列を算出する従来からの方法では、制約を満たしたE行列を安定的かつ高精度に推定することが困難である。
 本開示の目的の一例は、上記問題を解決し、分解可能条件を満たす高精度なE行列を推定し得る、カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
 上記目的を達成するため、本開示の一側面におけるカメラパラメータ推定装置は、
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得する、対応点取得手段と、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得する、エピポール取得手段と、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定する、カメラパラメータ推定手段と、
を具備し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
ことを特徴とする。
 また、上記目的を達成するため、本開示の一側面におけるカメラパラメータ推定方法は、
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得し、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得し、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
ことを特徴とする。
 更に、上記目的を達成するため、本開示の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得させ、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得させ、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定させる、
命令を含むプログラムを記録し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
ことを特徴とする。
 以上のように本開示によれば、分解可能条件を満たす高精度なE行列を推定することができる。
図1は、第1の実施形態におけるカメラパラメータ推定装置の構成の一例を示すブロック図である。 図2は、2視点幾何の具体例を説明する説明図である。 図3は、第1の実施形態におけるカメラパラメータ推定装置の動作の一例を示すフロー図である。 図4は、第2の実施形態におけるカメラパラメータ推定装置の構成の一例を示すブロック図である。 図5は、第2の実施形態における座標系の具体例を示す説明図である。 図6は、第2の実施形態におけるカメラパラメータ推定装置の動作の一例を示すフロー図である。 図7は、第1及び第2の実施形態におけるカメラパラメータ推定装置を実現するコンピュータの一例を示すブロック図である。
 以下、図面を参照しつつ、実施形態について説明する。なお、以下の実施形態において、同一又は同等の要素には、同一の符号が付され、重複する説明は省略される。
(第1の実施形態)
 以下、第1の実施形態における、カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラムについて、図1~図3を参照しながら説明する。
[装置構成]
 最初に、第1の実施形態におけるカメラパラメータ推定装置の構成について図1を用いて説明する。図1は、第1の実施形態におけるカメラパラメータ推定装置の構成の一例を示すブロック図である。
 図1に示す、第1の実施形態におけるカメラパラメータ推定装置10は、基本行列(E行列:Essential matrix)、すなわち相対的な回転行列と並進ベクトルとを推定する装置である。E行列は、対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す行列である。図1に示すように、カメラパラメータ推定装置10は、対応点取得部11と、エピポール取得部12と、カメラパラメータ推定部13と、を備えている。
 対応点取得部11は、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得する。複数の対応点ペアは、第1画像及び第2画像から得られている。また、第1画像は第1カメラ(カメラ1)によって撮影された画像であり、第2画像は第2カメラ(カメラ2)によって撮影された画像である。
 エピポール取得部12は、第1画像に投影されたカメラ2の画像平面内座標である第1エピポール、及び第2画像に投影されたカメラ1の画像平面内座標である第2エピポール、のうち一方又は両方を取得する。
 対応点、第1エピポール、及び第2エピポール、それぞれの座標は、前記第1カメラ及び第2カメラの内部パラメータによって正規化された画像における座標である。従って、カメラパラメータ推定部13は、所定の連立方程式から、E行列を推定する。連立方程式は、E行列と複数の対応点ペアとについてのエピポーラ方程式、E行列と第1エピポール又は第2エピポールについての制約条件(以下「エピポール制約条件」と表記する。)、及びE行列から回転行列と並進ベクトルとを分解可能とする制約条件(以下「分解可能条件」と表記する。)、によって表されている。
 このように、カメラパラメータ推定装置10では、エピポーラ方程式、エピポール制約条件、及び分解可能条件によって表された、「所定の連立方程式」の解法が行われ、E行列が推定される。従って、カメラパラメータ推定装置10によれば、分解可能条件を満たす高精度なE行列の推定が可能となる。
 続いて、図1に加えて図2を用いて、第1の実施形態におけるカメラパラメータ推定装置10の機能について詳細に説明する。図2は、2視点幾何の具体例の説明に供する図である。
 対応点取得部11は、上述したように、2組以上の「対応点ペア」のそれぞれに含まれる各対応点の画像平面内座標を取得する。第1の実施形態では、画像平面内座標は、「観察画像座標」とも表記する。各「対応点ペア」は、例えば、「第1画像」及び「第2画像」にそれぞれ含まれ且つ互いに対応する2つの対応点を含む。
 ここで、図2を参照しながら、同一対象を2つのカメラで撮影することによって得られた2つの画像間の幾何学的関係、即ち、「2視点幾何」の具体例について説明する。図2は、2視点幾何の具体例を説明する説明図である。
 図2には、カメラ1のカメラ座標系及びカメラ2のカメラ座標系が示されている。図2において、第1画像は、カメラ1によって撮影された画像であり、第2画像は、カメラ2によって撮影された画像である。すなわち、例えば、第1画像は、上記の「第1画像」に対応し、第2画像は、上記の「第2画像」に対応する。
 そして、図2において、世界座標系における或る3次元点Xが、カメラ1によって画像平面内座標mとして観測されている。画像平面内座標は、例えば、「画像座標」又は「観察画像座標」とも表記される。また、図2において、その3次元点Xが、カメラ2によって観察画像座標m’として観測されている。観察画像座標m及び観察画像座標m’は、互いに対応する点であるので、それぞれ「対応点」である。観察画像座標m及び観察画像座標m’を纏めて「対応点ペア」と呼ぶことができる。そして、カメラ1は第2画像においてエピポールe’として観測され、カメラ2は第1画像においてエピポールeとして観測されている。
 ところで、第1の実施形態において、カメラ1とカメラ2とは、校正済みのカメラ、つまり、内部パラメータが既知のカメラである。そのため、上述したように、対応点m及びm’とエピポールe及びe’とは、カメラ1及びカメラ1の内部パラメータによって正規化された画像における座標(以下「正規化画像座標」と表記する。)によって表される。
 第1の実施形態において、世界座標系は明示的に与えられないため、3次元点Xの座標値は不明である。世界座標系は、任意に設定可能なため、カメラ1のカメラ座標系と一致しているものとする。すなわち、カメラ1の外部パラメータにおいて、位置(つまり、3次元並進ベクトル)は、[0,0,0]であり、回転行列は、3×3の単位行列である。そして、カメラ2の外部パラメータは、並進ベクトルtと回転行列Rとで表される。上記したように、2つのカメラ1及び2は、校正済みであり、その内部パラメータは、既知である。
 対応点取得部11は、第1の実施形態では、例えば、SIFT(Scale Invariant Feature Transform)又はSURF(Speeded Up Robust Features)といった広く知られている手法を利用して、対応点の観察画像座標を取得することができる。対応点取得部11は、ユーザによる、対応点の指定及び誤対応点の除去を受け付けることによって、対応点の観察画像座標を取得することもできる。この場合、対応点は、第1画像と第2画像を表示するためのディスプレイによって表示され、対応点取得部11は、ユーザからの入力を受け付けるマウス、キーボード、タッチパネルといった入力デバイスを介して、対応点の指定及び誤対応点の除去を受け付ける。
 エピポール取得部12は、第1の実施形態では、第1画像及び第2画像それぞれにおいて、その画像を撮影したカメラとは別のカメラの位置、すなわち、エピポールeとエピポールe’それぞれの画像座標を取得する。また、エピポール取得部12は、ユーザによる、エピポールの位置の指定を受け付けることによって、エピポールの位置を取得することもできる。この場合、エピポールはディスプレイによって表示され、エピポール取得部12は、対応点取得部11と同様に、入力デバイスを介して、エピポールの位置の指定を受け付ける。
 カメラパラメータ推定部13は、第1の実施形態では、1組以上の対応点と、エピポールeと、エピポールe’とを用いて、「所定の連立方程式」を解くことによって、E行列を算出する。この「所定の連立方程式」は、E行列と、1組以上の対応点ペアについてのエピポーラ方程式とに加え、F行列から回転行列と並進ベクトルとを分解可能とする分解可能条件も表している。「所定の連立方程式」の具体例については後述する。
[装置動作]
 次に、第1の実施形態におけるカメラパラメータ推定装置10の動作の一例について、図3を用いて説明する。図3は、第1の実施形態におけるカメラパラメータ推定装置の動作の一例を示すフロー図である。以下の説明においては、適宜図1及び図2を参照する。また、第1の実施の形態では、カメラパラメータ推定装置10を動作させることによって、カメラパラメータ推定方法が実施される。よって、第1の実施の形態におけるカメラパラメータ推定方法の説明は、以下のカメラパラメータ推定装置10の動作説明に代える。
 図3に示すように、まず、カメラパラメータ推定装置10に、2枚の画像(第1画像と第2画像)の画像データが入力されると、対応点取得部11は、各画像データの画像から対応点ペアを1組以上特定する。そして、対応点取得部11は、特定した対応点ペアにおいて、各対応点の画像平面内座標を取得する(ステップS11)。
 次いで、エピポール取得部12は、入力された第1画像及び第2画像の画像データを用いて、第1画像に投影された第2カメラの画像平面内座標である第1エピポール及び第2画像に投影された第1カメラの画像平面内座標である第2エピポールを取得する(ステップS12)。
 そして、カメラ1及びカメラ2の内部パラメータは既知であるので、対応点m及びm’とエピポールe及びe’とは、正規化画像座標によって表される。従って、カメラパラメータ推定部13は、1組以上の対応点ペア、第1エピポール及び第2エピポールを用いて、エピポーラ方程式、エピポール制約条件、及び分解可能条件によって表された「所定の連立方程式」を解いて、E行列を算出する(ステップS13)。
 その後、カメラパラメータ推定部13は、ステップS13で算出したE行列(又はE行列から得られる回転行列及び並進ベクトル)を出力する(ステップS14)。ステップS14の実行により、カメラパラメータ推定装置10における動作は終了する。
[具体例]
 ここで、第1の実施形態の具体例について以下に説明する。なお、以下の具体例の説明では、図2に示した記号が用いられ、図2の例と同様に、世界座標系の原点はカメラ1のカメラ座標系に一致しているとする。ある3次元点Xは、2つのカメラ画像においてそれぞれm、m’として観測される。また、カメラ1におけるカメラ2のエピポールをe、カメラ2におけるカメラ1のエピポールをe’とする。更に、m、m’、e、及びe’は3次元の斉次座標表現、すなわち、2次元の画像座標に1を要素として加えた3次元ベクトルとして表される。2つのカメラ1及びカメラ2は、校正済みであり、これらの内部パラメータは、既知である。このため、m、m’、e、及びe’は、いわゆる正規化画像座標である。なお、本具体例では、ベクトルの転置と行列の転置とは上付きTで表される。
 まず、解くべき問題の定義を行う。E行列は、カメラ1からカメラ2への相対的な並進ベクトルt(=[tx, ty, tz]T)と回転行列Rとを用いて、下記の数1で表される。
Figure JPOXMLDOC01-appb-M000001
 並進ベクトルはスケールが不定のため、その自由度は2である。回転行列の自由度は3である。そのため、上記数1で表されるE行列は9つの要素を持つものの、その自由度は5である。
 そして、E行列は、1つの固有値がゼロであり、2つの特異値が等しいという特徴を持つ。この特徴は、下記の数2で表される。
Figure JPOXMLDOC01-appb-M000002
 上記数2において、tr()は、行列のトレースを表す。上記数2は、E行列の自由度が5であること、すなわち、E行列の分解可能制約条件を表している。上記数2を満たす任意の3×3行列から、上記数1に示す回転行列と並進ベクトルとが得られる。
 E行列とi番目の対応点とは、下記の数3で表されるエピポーラ方程式を満たしている。
Figure JPOXMLDOC01-appb-M000003
 上記数2~数3が示すように、E行列には、符号の不定性がある。すなわち、符号を反転した「-E」を、上記数2~数3に代入しても、上記数2~数3は成立する。符号の不定性を持つE行列は、2組の並進ベクトルtと2組の回転行列R、即ち、計4組の並進ベクトルtと回転行列Rとで表される。
 また、エピポールe及びe’とE行列とは、以下の関係性を有している。
Figure JPOXMLDOC01-appb-M000004
 ここで、並進ベクトルtのL2ノルムは「1」に設定される。すなわち、エピポールe及びe’のL2ノルムも「1」に設定される。
 次に、1組の対応点と2つのエピポールe(=[ex,ey,ez]T)及びエピポールe’(=[e’x,e’y,e’z]T)が与えられたときに、E行列を計算する方法について説明する。
 まず、上記数4より、エピポールe’は並進ベクトルtそのものであるから、E行列を得るには回転行列Rを求めればよいことがわかる。そして、上記数4より、2つのエピポールe及びe’は、回転行列Rを用いて、「e’=Re」と相互に変換できる。
 次に、回転行列Rを、e×e’周りの回転行列Rとエピポールe’周りの回転行列Re’との積に分解する(R= Re’ Rv)ことを考える。ロドリゲスの回転公式を用いると、回転行列Rと回転行列Re’とは、下記の数5で表される。
Figure JPOXMLDOC01-appb-M000005
 上記数5において、θは未知の回転角である。上記数5の表現を用いると、Re=(Re)=Re’e’=e’であることが示せる。エピポール(回転軸)e’を、回転行列Re‘によって回転させても不変である(Re’e’=e’)から、回転行列Rはθを求めれば決定できることがわかる。上記数5を上記数1に代入すると、E行列は下記の数6で表される。
Figure JPOXMLDOC01-appb-M000006
 上記数6を上記数3に代入すると、1組の対応点に対するエピポーラ方程式は、下記の数7に示される。
Figure JPOXMLDOC01-appb-M000007
 上記数7より回転角度θは、下記の数8によって計算できる。下記の数8において、sinθの符号は、上記数7のエピポーラ方程式が0となるように選択されればよい。
Figure JPOXMLDOC01-appb-M000008
 N組の対応点が利用できる場合(Nは1より大きい整数)、上記数7は、下記の数9のように拡張できる。
Figure JPOXMLDOC01-appb-M000009
 上記数9は、広く使われるDLT(Direct Linear Transform)法と同じ形式である。求めるべきベクトルx、すなわちcosθとsinθとは、MMの最小固有値に対応する固有ベクトルとして計算できる。
 以上よりcosθとsinθとが得られたため、これらを上記数6に代入すれば、E行列を算出することができる。
 上述の説明ではe’=Reと定義されているが、符号の不定性により、e’=R(-e)も上記数8又は上記数9の別解となる。そこで、e’=Reとe’=R(-e)との両方について計算が行われ、誤差(例えば、サンプソン誤差又は再投影誤差)が最小となる解が選択されてもよい。また、同一の誤差又は差分が微小で同一とみなせる誤差を持つ複数の解が得られた場合には、それらすべてが選択されてもよい。
 以上の解法を、図3に示した各ステップに沿って説明する。まず、ステップS11において、対応点取得部11は、2枚の画像(第1画像と第2画像)の画像データが入力されると、それぞれの画像から、1組以上の対応点ペア(対応点m及びm’)を取得する。
 次に、ステップS12において、エピポール取得部12は、入力された第1画像及び第2画像の画像データを用いて、それぞれの画像から互いのカメラのエピポールe及びe’を取得する。
 そして、カメラ1及びカメラ2の内部パラメータは既知であるので、対応点m及びm’とエピポールe及びe’とは、正規化画像座標によって表される。ステップS13において、カメラパラメータ推定部13は、上記数7又は上記数9で表される「所定の連立方程式」を解いてエピポールe’周りの回転角度θを計算し、計算した回転角度θを上記数6に代入してE行列を決定する。
[第1の実施形態における効果]
 以上のとおり、第1の実施形態によれば、カメラパラメータ推定装置10は、1組以上の対応点と2つのエピポールとを用いて連立方程式記を解くことによって、E行列を算出できる。その理由は、以下の通りである。
 上記数6で表されるE行列は自由度5で表されるため、E行列の分解可能条件を満たす。5自由度のうち、2つのエピポールからそれぞれ2自由度ずつ与えられるため、残りの自由度は1つであり、これはエピポールe’周りの回転角度θに相当する。従って、未知数が1つであるため、1組以上の対応点が与えられれば、連立方程式を解くことができる。上記数7又は上記数9に基づいて回転角度θを算出することは、分解可能条件が満たされたE行列を決定することに等しくなる。以上の理由から、第1の実施形態によれば、E行列を算出できる。
[変形例]
 第1の実施形態は、上述した例に限定されるものではない。第1の実施形態は、上述した例に対して、いわゆる当業者が理解し得る多様な変更を適用することが可能である。例えば、第1の実施形態は、以下の変形例に示す形態によっても実施可能である。
 変形例1
 図1~図3に示した例では、「第1画像」と「第2画像」とが、ある時刻において同一物体を、異なる2つのカメラによって異なる視点から撮影した、2枚の静止画であるものとして説明が行われているが、第1の実施形態は、これに限定されない。例えば、「第1画像」と「第2画像」とは、時系列の連続した動画の2枚のフレーム画像でもよい。このとき、「第1画像」を撮影するカメラ1と「第2画像」を撮影するカメラ2とは、同一のカメラであってもよいし、異なるカメラであってもよい。要するに、「第1画像」と「第2画像」とは、1つ以上の校正済みカメラによって、同一の物体又は同一のシーンを異なる視点から撮影することで得られた画像であればよい。
 変形例2
 図1~図3に示した例では、カメラパラメータ推定部13は、cosθとsinθとを用いて回転角度θを算出しているが、第1の実施形態はこれに限定されない。カメラパラメータ推定部13は、例えば、半角の公式p=tanθ/2を用いて、cosθ=(1-p)/(1+p)又はsinθ=(2p)/(1+p)のような、1変数で表現されたpについての1変数多項式の解法を実行してもよい。
 変形例3
 図1~図3に示した例では、カメラパラメータ推定部13で用いられる対応点ペアが1組以上の場合について説明が行われているが、第1の実施形態はこれに限定されない。例えば、2組以上の対応点ペアが得られた場合には、カメラパラメータ推定部13は、まず上記数7に基づくRANSACアルゴリズムを実行して誤対応点ペアを除去し、次に、得られた2組以上の正対応点ペアを用いて上記数9を実行してもよい。RANSACアルゴリズムにおけるサンプリング数が1組であるため、5点法及び8点法と比べて、試行回数が指数関数的に削減される。また、カメラパラメータ推定部13は、上記数9の代わりに、上記数6によるE行列(未知数はθ)を用いて、広く知られるサンプソン誤差又は再投影誤差を目的関数とする非線形最適化を実行してもよい。
[プログラム]
 第1の実施形態におけるプログラムは、コンピュータに、図3に示すステップS11~S14を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、第1の実施形態におけるカメラパラメータ推定装置10とカメラパラメータ推定方法とを実現することができる。この場合、コンピュータのプロセッサは、対応点取得部11、エピポール取得部12、及びカメラパラメータ推定部13として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
 また、第1の実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、対応点取得部11、エピポール取得部12、及びカメラパラメータ推定部13のいずれかとして機能しても良い。
(第2の実施形態)
 続いて、第2の実施形態における、カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラムについて、図4~図6を参照しながら説明する。
[装置構成]
 最初に、第2の実施形態におけるカメラパラメータ推定装置の構成について図4を用いて説明する。図4は、第2の実施形態におけるカメラパラメータ推定装置の構成の一例を示すブロック図である。
 図4に示す第2の実施形態におけるカメラパラメータ推定装置20も、第1の実施形態におけるカメラパラメータ推定装置10と同様に、E行列、すなわち相対的な回転行列と並進ベクトルとを推定する装置である。
 図4に示すように、第2の実施形態においても、第1の実施形態と同様に、カメラパラメータ推定装置20は、対応点取得部21と、エピポール取得部22と、カメラパラメータ推定部23とを備えている。
 但し、第2の実施形態では、2つのエピポールe及びe’のうち一方しか入力されず、この点で第1の実施形態と異なっている。以下、第1の実施形態との相違点を中心に説明する。
 ここで、図5を用いて、第2の実施形態における「2視点幾何」の具体例について説明する。図5は、第2の実施形態における座標系の具体例を示す説明図である。図5の例では、第1画像において、カメラ2はエピポールeとして観測されているが、第2画像においては、カメラ1は、第2画像の撮像範囲外のため、エピポールe’として観測されていない。
 対応点取得部21は、第2の実施形態では、例えば、3組以上の「対応点ペア」を取得する。なお、対応点取得部21による対応点ペアの取得方法は、第1の実施形態における対応点取得部11と同様であるので、その記述については省略する。
 エピポール取得部22は、第2の実施形態では、第1画像におけるエピポールeの画像座標のみを取得する。なお、エピポール取得部22によるエピポールの画像座標の取得方法は、第1の実施形態におけるエピポール取得部12と同様であるので、その記述については省略する。
 カメラパラメータ推定部23は、第2の実施形態では、3組以上の対応点ペアと1つのエピポールeとを用いて、「所定の連立方程式」を解くことによってE行列を算出する。この「所定の連立方程式」は、E行列と上記3組以上の対応点ペアとについてのエピポーラ方程式と、エピポール制約条件と、E行列から回転行列と並進ベクトルとを分解可能とする分解可能条件とを表す。
 このように、第2の実施形態では、カメラパラメータ推定装置20は、その構成により、3組以上の対応点と1つのエピポールeとを用いて「所定の連立方程式」を解くことによってE行列を算出する。
[装置動作]
 次に、第2の実施形態におけるカメラパラメータ推定装置20の処理動作の一例について説明する。図6は、第2の実施形態におけるカメラパラメータ推定装置の動作の一例を示すフロー図である。以下の説明においては、適宜図4及び図5を参照する。また、第2の実施形態では、カメラパラメータ推定装置20を動作させることによって、カメラパラメータ推定方法が実施される。よって、第2の実施形態におけるカメラパラメータ推定方法の説明は、以下のカメラパラメータ推定装置20の動作説明に代える。
 図6に示すように、まず、カメラパラメータ推定装置10に、2枚の画像(第1画像と第2画像)の画像データが入力されると、対応点取得部21は、各画像データの画像から対応点を3組以上特定する。そして、対応点取得部21は、特定した対応点ペア毎に、それぞれに含まれる各対応点の画像平面内座標を(ステップS21)。
 次いで、エピポール取得部22は、入力された第1画像及び第2画像の画像データを用いて、第1画像に投影された第2カメラの画像平面内座標であるエピポールeを取得する(ステップS22)。
 そして、カメラ1及びカメラ2の内部パラメータは既知であるので、対応点m及びm’とエピポールeとは、正規化画像座標によって表される。従って、カメラパラメータ推定部23は、3組以上の対応点ペアと1つのエピポールとを用いて、エピポーラ方程式、エピポール制約条件、及びE行列の分解可能条件で表された「所定の連立方程式」の解法を実行して、E行列を算出する(ステップS23)。
 その後、カメラパラメータ推定部13は、ステップS23で算出したE行列(又はE行列から得られる回転行列及び並進ベクトル)を出力する(ステップS24)。ステップS24の実行により、カメラパラメータ推定装置20における動作は終了する。
[具体例]
 ここで、第2の実施形態の具体例について以下に説明する。なお、以下の具体例の説明では、図5に示した記号が用いられ、図2及び図5の例と同様に、世界座標系の原点はカメラ1のカメラ座標系に一致しているとする。また、図5において、図2に示された記号と同一の記号は、同一の意味を表すため、以下においては、記号についての説明は省略する。
 次に、3組の対応点ペア(m、m’)と1つのエピポールe(=[ex,ey,ez]T)とが与えられたときに、E行列を計算する方法について説明する。
 上述した数1、数3、及び数4より、対応点とエピポールとE行列との関係は以下の数10で表される。
Figure JPOXMLDOC01-appb-M000010
 3組の対応点ペアが与えられたとき、n=[e]と置くと、下記数11に示すように、回転行列Rに対する連立方程式が得られる。
Figure JPOXMLDOC01-appb-M000011
 回転行列Rは3自由度であるから、上記数11を回転行列Rについて解けば、回転行列Rが得られる。例えば、Cayley変換を用いると、上記数11は、3変数2次多項式となり、最大で8個の実数解を持つ。
 N組の対応点が利用できる場合(Nは3より大きい整数)、上記数11は下記数12に示すように拡張できる。
Figure JPOXMLDOC01-appb-M000012
 上記数12は、いわゆる代数的誤差に基づくPnP(Perspective-n-Point)問題と同じ形式(最大で20個の実数解)をとっており、上記数12の解法においては、PnP問題に対する解法を利用してもよい。また、上記数11で計算した回転行列を初期値とする非線形最適化が行われてもよい。
 以上より、回転行列Rが得られたため、得られた回転行列Rを上記数10に代入すれば、E行列が算出できる。また、第2の実施形態では、第1の実施形態とは異なり、エピポールeとエピポール-eとを区別する必要はない。なぜなら、上記数11と上記数12とは、いずれも符号の正負によらず成立するためである。
 以上の解放を、図6に示した各ステップに沿って説明する。まず、ステップS21において、対応点取得部21は、2枚の画像(第1画像と第2画像)の画像データが入力されると、それぞれの画像から、3組以上の対応点ペア(m、m’)を取得する。
 次に、ステップS22において、エピポール取得部22は、第1画像の画像データを用いて、第2画像を撮影したカメラ2のエピポールeを取得する。
 そして、カメラ1及びカメラ2の内部パラメータは既知であるので、対応点m及びm’とエピポールeは、正規化画像座標によって表される。ステップS23において、カメラパラメータ推定部23は、上記数11又は上記数12で表される「所定の連立方程式」を解いて回転行列Rを計算し、計算した回転行列Rを上記数10に代入してE行列を決定する。
[第1の実施形態における効果]
 以上のとおり、第1の実施形態によれば、カメラパラメータ推定装置20は、3組以上の対応点と1つのエピポールとを用いて連立方程式を解くことによって、E行列を算出できる。その理由は、以下の通りである。
 上記数10で表されるE行列は自由度5で表されるため、E行列の分解可能条件を満たす。5自由度のうち、1つのエピポールから並進ベクトルに相当する2自由度が与えられるため、残りの自由度は3つであり、これは回転行列Rに対応する。未知数が3つであるため、3組以上の対応点が与えられれば、連立方程式を解くことができる。上記数11又は上記数12に基づいて回転行列Rを算出することは、分解可能条件が満たされたE行列を決定することに等しくなる。以上の理由から、第2の実施形態によっても、E行列を算出できる。
[変形例]
 第2の実施の形態は、上述した例に限定されるものではない。第2の実施形態は、上述した例に対して、いわゆる当業者が理解し得る多様な変更を適用することが可能である。例えば、第2の実施形態は、以下の変形例に示す形態によっても実施可能である。
 変形例4
 図4~図6に示した例では、エピポール取得部22は、第1画像の画像データを用いてエピポールを取得しているが、第2の実施形態では、第2画像の画像データを用いてエピポールを取得することもできる。その場合、エピポール取得部22は、第1画像のカメラのエピポールe’を取得し、上記数10においてE=[e]R、及びn=[e] ’と置き換え、上記数11又は上記数12を回転行列Rについて同様に解けばよい。
 変形例5
 図4~図6に示した例では、カメラパラメータ推定部23の処理において、回転行列Rの表現方法としてCayley変換が用いられているが、第2の実施形態はこれに限定されない。回転行列Rの表現方法としては、四元数、オイラー角など様々な回転行列の表現方式が用いられてもよい。
 変形例6
 図4~図6に示した例では、カメラパラメータ推定部23で用いられる対応点ペアが3組又は4組以上の場合について説明が行われているが、第2の実施形態はこれに限定されない。例えば、3組以上の対応点ペアが得られた場合には、カメラパラメータ推定部23は、まず上記数11に基づくRANSACアルゴリズムを実行して誤対応点を除去し、次に、得られた3組以上の正対応点ペアを用いて上記数12を実行してもよい。RANSACアルゴリズムにおけるサンプリング数が3組であるため、5点法及び8点法と比べて、試行回数が指数関数的に削減される。また、カメラパラメータ推定部23は、上記数11の代わりに、上記数10によるE行列(未知数は回転行列R)を用いて、広く知られるサンプソン誤差又は再投影誤差を目的関数とする非線形最適化を実行してもよい。
[プログラム]
 第2の実施形態におけるプログラムは、コンピュータに、図6に示すステップS21~S24を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、第2の実施の形態におけるカメラパラメータ推定装置20とカメラパラメータ推定方法とを実現することができる。この場合、コンピュータのプロセッサは、対応点取得部21、エピポール取得部22、及びカメラパラメータ推定部23として機能し、処理を行なう。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
 また、第2の実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、対応点取得部21、エピポール取得部22、及びカメラパラメータ推定部23のいずれかとして機能しても良い。
(物理構成)
 ここで、第1及び第2の実施形態におけるプログラムを実行することによって、カメラパラメータ推定装置を実現するコンピュータ(ハードウェア構成)について図7を用いて説明する。図7は、第1及び第2の実施形態におけるカメラパラメータ推定装置を実現するコンピュータの一例を示すブロック図である。
 図7に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
 また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
 CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
 また、第1及び第2の実施形態におけるプログラムは、非一時的なコンピュータ読み取り可能な記録媒体(non-transitory computer readable medium)120に格納された状態で提供される。なお、第1及び第2の実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。また、第1及び第2の実施形態におけるプログラムは、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、コンピュータに供給されていても良い。この場合、第1及び第2の実施形態におけるプログラムは、電気信号、光信号、及び電磁波によって搬送される。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)、CD-R、CD-R/Wなどの光学記録媒体が挙げられる。
 更に、記録媒体120の具体例としては、半導体メモリも挙げられる。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。
 第1及び第2の実施形態におけるカメラパラメータ推定装置は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、第1及び第2の実施形態におけるカメラパラメータ推定装置は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
 上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記9)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得する、対応点取得手段と、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得する、エピポール取得手段と、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定する、カメラパラメータ推定手段と、
を具備し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
カメラパラメータ推定装置。
(付記2)
 前記エピポール取得手段が、前記第1エピポール及び前記第2エピポールの両方を取得し、
 前記カメラパラメータ推定手段が、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記1に記載のカメラパラメータ推定装置。
(付記3)
 前記エピポール取得手段が、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
 前記カメラパラメータ推定手段が、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記1に記載のカメラパラメータ推定装置。
(付記4)
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得し、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得し、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
カメラパラメータ推定方法。
(付記5)
 前記エピポールの取得において、前記第1エピポール及び前記第2エピポールの両方を取得し、
 前記基本行列の推定において、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記4に記載のカメラパラメータ推定方法。
(付記6)
 前記エピポールの取得において、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
 前記基本行列の推定において、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記4に記載のカメラパラメータ推定方法。
(付記7)
コンピュータに、
 第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得させ、
 前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得させ、
 対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定させる、
命令を含むプログラムを記録し、
 前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
コンピュータ読み取り可能な記録媒体。
(付記8)
 前記エピポールの取得において、前記第1エピポール及び前記第2エピポールの両方を取得し、
 前記基本行列の推定において、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記7に記載のコンピュータ読み取り可能な記録媒体。
(付記9)
 前記エピポールの取得において、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
 前記基本行列の推定において、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
付記7に記載のコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 以上のように、本発明によれば、分解可能条件を満たす高精度なE行列を推定することができる。本発明は、画像からの3次元形状復元(Structure-from-Motion)の用途に好適である。
 10 カメラパラメータ推定装置(実施の形態1)
 11 対応点取得部
 12 エピポール取得部
 13 カメラパラメータ推定部
 20 カメラパラメータ推定装置(実施の形態2)
 21 対応点取得部
 22 エピポール取得部
 23 カメラパラメータ推定部
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

Claims (9)

  1.  第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得する、対応点取得手段と、
     前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得する、エピポール取得手段と、
     対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定する、カメラパラメータ推定手段と、
    を具備し、
     前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
    カメラパラメータ推定装置。
  2.  前記エピポール取得手段が、前記第1エピポール及び前記第2エピポールの両方を取得し、
     前記カメラパラメータ推定手段が、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項1に記載のカメラパラメータ推定装置。
  3.  前記エピポール取得手段が、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
     前記カメラパラメータ推定手段が、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項1に記載のカメラパラメータ推定装置。
  4.  第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得し、
     前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得し、
     対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定し、
     前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
    カメラパラメータ推定方法。
  5.  前記エピポールの取得において、前記第1エピポール及び前記第2エピポールの両方を取得し、
     前記基本行列の推定において、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項4に記載のカメラパラメータ推定方法。
  6.  前記エピポールの取得において、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
     前記基本行列の推定において、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項4に記載のカメラパラメータ推定方法。
  7. コンピュータに、
     第1カメラによる第1画像及び第2カメラによる第2画像から得られた、複数の対応点ペアのそれぞれに含まれる各対応点の画像平面内座標を取得させ、
     前記第1画像に投影された前記第2カメラの画像平面内座標である第1エピポール、及び前記第2画像に投影された前記第1カメラの画像平面内座標である第2エピポール、のうち一方又は両方を取得させ、
     対応点ペアの2つの対応点間の幾何学的な制約であるエピポーラ制約を表す基本行列と前記複数の対応点ペアとについてのエピポーラ方程式、前記基本行列と前記第1エピポール又は前記第2エピポールについての制約条件、及び前記基本行列から回転行列と並進ベクトルとを分解可能とする制約条件、によって表される連立方程式から、前記基本行列を推定させる、
    命令を含むプログラムを記録し、
     前記対応点、前記第1エピポール、及び前記第2エピポール、それぞれの座標は、前記第1カメラ及び前記第2カメラの内部パラメータによって正規化された画像における座標である、
    コンピュータ読み取り可能な記録媒体。
  8.  前記エピポールの取得において、前記第1エピポール及び前記第2エピポールの両方を取得し、
     前記基本行列の推定において、1組以上の前記対応点ペアと、前記第1エピポールと、前記第2エピポールと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項7に記載のコンピュータ読み取り可能な記録媒体。
  9.  前記エピポールの取得において、前記第1エピポール及び前記第2エピポールのうち一方を取得し、
     前記基本行列の推定において、3組以上の前記対応点ペアと、前記第1エピポール及び前記第2エピポールのうちのいずれかと、を用いて、前記連立方程式を解くことによって、前記基本行列を推定する、
    請求項7に記載のコンピュータ読み取り可能な記録媒体。
     
PCT/JP2022/008911 2022-03-02 2022-03-02 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体 WO2023166618A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/008911 WO2023166618A1 (ja) 2022-03-02 2022-03-02 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/008911 WO2023166618A1 (ja) 2022-03-02 2022-03-02 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
WO2023166618A1 true WO2023166618A1 (ja) 2023-09-07

Family

ID=87883235

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/008911 WO2023166618A1 (ja) 2022-03-02 2022-03-02 カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
WO (1) WO2023166618A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020174331A (ja) * 2019-04-12 2020-10-22 キヤノン株式会社 撮像装置、画像処理装置、制御方法、及びプログラム
JP2021514291A (ja) * 2018-02-19 2021-06-10 インテグラル スコープス プロプライエタリ リミテッド プレノプティック・カメラ・システムを較正するための方法及びシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021514291A (ja) * 2018-02-19 2021-06-10 インテグラル スコープス プロプライエタリ リミテッド プレノプティック・カメラ・システムを較正するための方法及びシステム
JP2020174331A (ja) * 2019-04-12 2020-10-22 キヤノン株式会社 撮像装置、画像処理装置、制御方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP6807639B2 (ja) 奥行きカメラを校正する方法
US9858670B2 (en) Information processing apparatus and method thereof
US10684116B2 (en) Position and orientation measuring apparatus, information processing apparatus and information processing method
US10755139B2 (en) Random sample consensus for groups of data
JP7051111B2 (ja) デジタル画像とモデルに基づくフィルタ技術を用いた電気機械量の推定
US8531505B2 (en) Imaging parameter acquisition apparatus, imaging parameter acquisition method and storage medium
EP3633606B1 (en) Information processing device, information processing method, and program
JP7151879B2 (ja) カメラ校正装置、カメラ校正方法、及びプログラム
CN111612731B (zh) 基于双目显微视觉的测量方法、装置、系统及介质
JP7099627B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びプログラム
JP6641729B2 (ja) ラインセンサカメラのキャリブレーション装置及び方法
JP6662382B2 (ja) 情報処理装置および方法、並びにプログラム
US20150371396A1 (en) Constructing a 3d structure
JPWO2020188799A1 (ja) カメラ校正装置、カメラ校正方法、及びプログラム
JP2020038550A (ja) ラインセンサカメラのキャリブレーション装置及び方法
WO2023166618A1 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
US8872832B2 (en) System and method for mesh stabilization of facial motion capture data
JP2017199285A (ja) 情報処理装置、情報処理方法、プログラム
WO2023166617A1 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法、及びコンピュータ読み取り可能な記録媒体
JP6840968B2 (ja) 形状推定方法、形状推定装置および形状推定プログラム
JP6355206B2 (ja) カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム
JP2014203162A (ja) 傾斜角推定装置、mtf測定装置、傾斜角推定プログラム及びmtf測定プログラム
JP2007034964A (ja) カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定方法、装置、カメラ視点運動並びに3次元情報の復元及びレンズ歪パラメータの推定プログラム
JP6384961B2 (ja) カメラキャリブレーション装置、カメラキャリブレーション方法、カメラキャリブレーションプログラム及び記録媒体
JP7477045B2 (ja) 基礎行列生成装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22929764

Country of ref document: EP

Kind code of ref document: A1