Patent Document ID: 9542773
Application ID: 14761803
Patent Status: 1

Claim One:
1. A computer-implemented method for generating a three-dimensional (3D) model, the method comprising: receiving, by one or more computing devices, a first set of sensed position data indicative of an orientation of a camera device used to acquire a first two-dimensional (2D) image, wherein the first set of sensed position data is provided by a sensor of the camera device used to acquire the first 2D image; receiving, by the one or more computing devices, a second set of sensed position data indicative of an orientation of a camera device used to acquire a second two-dimensional (2D) image, wherein the second set of sensed position data is provided by a sensor of the camera device used to acquire the second 2D Image; determining, by the one or more computing devices, a sensed rotation matrix for an image pair comprising the first and second 2D images using the first and second sets of sensed position data; identifying, by the one or more computing devices, a calculated camera transformation matrix for the image pair, the calculated transformation comprising a calculated translation vector and a calculated rotation matrix, wherein identifying a calculated camera transformation, comprises, deriving a plurality of candidate calculated transformation matrices using a set of matching points of the first and second 2D images, wherein the candidate calculated transformation matrices each comprise a translation component and a calculated rotation matrix; identifying a candidate calculated transformation matrix of the plurality of candidate calculated transformation matrices that is associated with the lowest transformation error; and identifying the candidate calculated transformation matrix that is associated with the lowest transformation error as the calculated camera transformation; generating, by the one or more computing devices, a sensed camera transformation matrix for the image pair, the sensed camera transformation comprising a translation vector and the sensed rotation matrix; identifying, by the one or more computing devices, a set of matching points of the first and second 2D images; determining, by the one or more computing devices, whether a first error associated with a transformation of the set of matching points using the sensed camera transformation is less than a second error associated with a transformation of the set of matching points using the calculated camera transformation; and in response to determining, by the one or more computing devices, that a first error associated with a transformation of the set of matching points using the sensed camera transformation is less than a second error associated with a transformation of the set of matching points using the calculated camera transformation, generating a 3D model using the sensed camera transformation; and storing, by the one or more computing devices, the 3D model in an 3D model repository.