A method, apparatus, system, article of manufacture, and computer readable storage medium provides the ability to determine two or more camera viewpoint optical centers. A first image and a second image captured by camera devices (and the rotations for the camera devices) are obtained. For each pair
A method, apparatus, system, article of manufacture, and computer readable storage medium provides the ability to determine two or more camera viewpoint optical centers. A first image and a second image captured by camera devices (and the rotations for the camera devices) are obtained. For each pair of matched points between the first image and the second image, a linear equation is defined that utilizes the rotations, pixel coordinates of the matched points and optical centers. A matrix ATA is computed where each row of A corresponds to a pair of matched points and the number of columns is 3N (N representing the number of camera devices). The matrix is solved resulting in an eigenvector that holds the optical centers that are used to output image information.
대표청구항▼
1. A computer-implemented method for determining two or more camera viewpoint optical centers comprising: (a) obtaining a first image and a second image captured by one or more camera devices;(b) obtaining a first rotation (R1) corresponding to one of the one or more camera devices that captured the
1. A computer-implemented method for determining two or more camera viewpoint optical centers comprising: (a) obtaining a first image and a second image captured by one or more camera devices;(b) obtaining a first rotation (R1) corresponding to one of the one or more camera devices that captured the first image and a second rotation (R2) corresponding to one of the one or more camera devices that captured the second image;(c) determining one or more pairs of matched points between the first image and the second image;(d) for each pair of matched points between the first image and the second image, defining a linear equation comprising: [(R1Tm1)×(R2Tm2)]T(OC2−OC1)=0wherein, OCi comprises an optical center of a camera device i, and mi comprises a 3-vector of pixel coordinates for the matched point in image i;(e) computing a square matrix A transpose A (ATA), wherein: (i) each row of A corresponds to one of the one or more pairs of matched points between the first image and the second image; and(ii) a number of columns of A comprises 3N, wherein N comprises a number of the one or more camera devices;(f) solving the matrix ATA to determine an eigenvector that holds the two or more camera viewpoint optical centers; and(g) outputting image information utilizing the two or more camera viewpoint optical centers. 2. The method of claim 1, wherein: the first rotation comprises a rotation from a world coordinate space origin to the first camera device; andthe second rotation comprises a rotation from the world coordinate space origin to the second camera device. 3. The method of claim 1, wherein a single camera device captures the first image and the second image. 4. The method of claim 1, wherein different camera devices capture the first image and the second image. 5. The method of claim 1, wherein ATA is directly computed by updating forty-five (45) values in an upper-triangle of ATA. 6. The method of claim 1, wherein the solving comprises updating twenty-one (21) coefficients of an upper-triangle of ATA. 7. The method of claim 1, further comprising: (a) obtaining a third image;(b) obtaining a third rotation (R3) corresponding to one of the one or more camera devices that captured the third image;(c) the determining of one or more pairs of matched points matches point triplets between the first image, the second image, and the third image; and(d) each point triplet provides a linear equation in three camera viewpoint optical centers that is represented by an additional row in matrix A. 8. An apparatus for determining two or more camera viewpoint optical centers in a computer system comprising: (a) a computer having a memory; and(b) an application executing on the computer, wherein the application is configured to: (i) obtain a first image and a second image captured by one or more camera devices;(ii) obtain a first rotation (R1) corresponding to one of the one or more camera devices that captured the first image and a second rotation (R2) corresponding to one of the one or more camera devices that captured the second image;(iii) determine one or more pairs of matched points between the first image and the second image;(iv) for each pair of matched points between the first image and the second image, define a linear equation comprising: [(R1Tm1)×(R2Tm2)]T(OC2−OC1)=0wherein, OCi comprises an optical center of a camera device i, and mi comprises a 3-vector of pixel coordinates for the matched point in image i;(v) compute a square matrix A transpose A (ATA), wherein: (1) each row of A corresponds to one of the one or more pairs of matched points between the first image and the second image; and(2) a number of columns of A comprises 3N, wherein N comprises a number of the one or more camera devices; and(vi) solve the matrix ATA to determine an eigenvector that holds the two or more camera viewpoint optical centers; and(vii) output image information utilizing the two or more camera viewpoint optical centers. 9. The apparatus of claim 8, wherein: the first rotation comprises a rotation from a world coordinate space origin to the first camera device; andthe second rotation comprises a rotation from the world coordinate space origin to the second camera device. 10. The apparatus of claim 8, wherein a single camera device captures the first image and the second image. 11. The apparatus of claim 8, wherein different camera devices capture the first image and the second image. 12. The apparatus of claim 8, wherein ATA is directly computed by updating forty-five (45) values in an upper-triangle of ATA. 13. The apparatus of claim 8, wherein the application is configured to solve by updating twenty-one (21) coefficients of an upper-triangle of ATA. 14. The apparatus of claim 8, wherein the application is further configured to: (a) obtain a third image;(b) obtain a third rotation (R3) corresponding to one of the one or more camera devices that captured the third image;(c) the application determines the one or more pairs of matched points by matching point triplets between the first image, the second image, and the third image; and(d) each point triplet provides a linear equation in three or more camera viewpoint optical centers. 15. A non-transitory computer readable storage medium encoded with computer program instructions which when accessed by a computer cause the computer to load the program instructions to a memory therein creating a special purpose data structure causing the computer to operate as a specially programmed computer, executing a method of determining two or more camera viewpoint optical centers, comprising: (a) obtaining, in the specially programmed computer, a first image and a second image captured by one or more camera devices;(b) obtaining, in the specially programmed computer, a first rotation (R1) corresponding to one of the one or more camera devices that captured the first image and a second rotation (R2) corresponding to one of the one or more camera devices that captured the second image;(c) determining, in the specially programmed computer, one or more pairs of matched points between the first image and the second image;(d) for each pair of matched points between the first image and the second image, defining, in the specially programmed computer, a linear equation comprising: [(R1Tm1)×(R2Tm2)]T(OC2−OC1)=0wherein, OCi comprises an optical center of a camera device i, and mi comprises a 3-vector of pixel coordinates for the matched point in image i;(e) computing, in the specially programmed computer, a square matrix A transpose A (ATA), wherein: (i) each row of A corresponds to one of the one or more pairs of matched points between the first image and the second image; and(ii) a number of columns of A comprises 3N, wherein N comprises a number of the one or more camera devices;(f) solving, in the specially programmed computer, the matrix ATA to determine an eigenvector that holds the two or more camera viewpoint optical centers; and(g) outputting, in the specially programmed computer, image information utilizing the two or more camera viewpoint optical centers. 16. The computer readable storage medium of claim 15, wherein: the first rotation comprises a rotation from a world coordinate space origin to the first camera device; andthe second rotation comprises a rotation from the world coordinate space origin to the second camera device. 17. The computer readable storage medium of claim 15, wherein a single camera device captures the first image and the second image. 18. The computer readable storage medium of claim 15, wherein different camera devices capture the first image and the second image. 19. The computer readable storage medium of claim 15, wherein ATA is directly computed by updating forty-five (45) values in an upper-triangle of ATA. 20. The computer readable storage medium of claim 15, wherein the solving comprises updating twenty-one (21) coefficients of an upper-triangle of ATA. 21. The computer readable storage medium of claim 15, wherein the method further comprises: (a) obtaining a third image;(b) obtaining a third rotation (R3) corresponding to one of the one or more camera devices that captured the third image;(c) the determining of one or more pairs of matched points matches point triplets between the first image, the second image, and the third image; and(d) each point triplet provides a linear equation in three or more camera viewpoint optical centers.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (7)
Sharp, Kevin Andrew Ian, General orientation positioning system.
Shum Heung-Yeung ; Han Mei ; Szeliski Richard S., Interactive construction of 3D models from panoramic images employing hard and soft constraint characterization and decomposing techniques.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.