Camera pose estimation apparatus and method for augmented reality imaging
First Claim
1. An apparatus for providing an estimate for a 3D camera pose relative to a scene from 2D image data of a 2D image frame provided by said camera, the apparatus comprising:
- (a) a candidate 2D key points detector having inputs for receiving camera data from a camera data source and the 2D image data, and an output for providing candidate 2D key points;
(b) a detected 3D observations detector having inputs for receiving pre-recorded scene data and the candidate 2D key points, and an output for providing detected 3D observations;
(c) a detected 3D camera pose estimator having inputs for receiving the camera data, the detected 3D observations and the candidate 2D key points, and an output for providing a detected 3D camera pose estimate;
(d) a 2D image data and candidate 2D key points storage having inputs for receiving the detected 2D candidate key points and the 2D image data, and a control input for receiving a control signal related to a 3D camera pose estimate output, so as to store the 2D image data and the candidate 2D key points related to the 3D camera pose estimate output and to output a previous 2D image data and candidate 2D key points related to a previous 3D camera pose estimate output;
(e) a previous 3D camera pose estimate storage having an input for receiving the 3D camera pose estimate output, and adapted to store the 3D camera pose estimate output and to output the said previous 3D camera pose estimate;
(f) a tracked 3D observations detector having inputs for receiving the 2D image data, the candidate 2D key points, the camera data, the previous 2D image data and candidate 2D key points, the previous 3D camera pose estimate and 3D scene model data from a 3D scene model data source, and an output for providing tracked 3D observations;
(g) a pose estimate selector having inputs for receiving the detected camera pose estimate and the said previous 3D camera pose estimate, and adapted to output as a selected 3D camera pose estimate one of the said detected 3D camera pose estimate and the said previous 3D camera pose estimate; and
(h) a 3D camera pose estimator having inputs for receiving the camera data, the detected 3D observations, the tracked 3D observations and the selected 3D camera pose estimate, and an output for providing the 3D camera pose estimate output, wherein the detectors, the estimators and the selector are implemented with software executed by one or more processing units.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for providing an estimate for a 3D camera pose relative to a scene from 2D image data of 2D image frame provided by said camera. A candidate 2D key points detector determines candidate 2D key points from the 2D image frame. A detected 3D observations detector determines detected 3D observations from pre-recorded scene data and the candidate 2D key points. A detected 3D camera pose estimator determines a detected 3D camera pose estimate from the camera data, the detected 3D observations and the candidate 2D key points. A first storage stores the detected 2D candidate key points and the 2D image data, and outputs in response to a 3D camera pose estimate output previous 2D image data and candidate 2D key points related to a previous 3D camera pose estimate output. A second storage stores and outputs a previous 3D camera pose estimate. A tracked 3D observations detector determines tracked 3D observations from the 2D image data, the candidate 2D key points, the camera data, the previous 2D image data and candidate 2D key points, the previous 3D camera pose estimate and 3D scene model data. A pose estimate selector outputs a selected one of the detected camera pose estimate and the previous 3D camera pose estimate. A 3D camera pose estimator computes and outputs the 3D camera pose estimate from the camera data, the detected 3D observations, the tracked 3D observations and the selected 3D camera pose estimate.
47 Citations
14 Claims
-
1. An apparatus for providing an estimate for a 3D camera pose relative to a scene from 2D image data of a 2D image frame provided by said camera, the apparatus comprising:
- (a) a candidate 2D key points detector having inputs for receiving camera data from a camera data source and the 2D image data, and an output for providing candidate 2D key points;
(b) a detected 3D observations detector having inputs for receiving pre-recorded scene data and the candidate 2D key points, and an output for providing detected 3D observations;
(c) a detected 3D camera pose estimator having inputs for receiving the camera data, the detected 3D observations and the candidate 2D key points, and an output for providing a detected 3D camera pose estimate;
(d) a 2D image data and candidate 2D key points storage having inputs for receiving the detected 2D candidate key points and the 2D image data, and a control input for receiving a control signal related to a 3D camera pose estimate output, so as to store the 2D image data and the candidate 2D key points related to the 3D camera pose estimate output and to output a previous 2D image data and candidate 2D key points related to a previous 3D camera pose estimate output;
(e) a previous 3D camera pose estimate storage having an input for receiving the 3D camera pose estimate output, and adapted to store the 3D camera pose estimate output and to output the said previous 3D camera pose estimate;
(f) a tracked 3D observations detector having inputs for receiving the 2D image data, the candidate 2D key points, the camera data, the previous 2D image data and candidate 2D key points, the previous 3D camera pose estimate and 3D scene model data from a 3D scene model data source, and an output for providing tracked 3D observations;
(g) a pose estimate selector having inputs for receiving the detected camera pose estimate and the said previous 3D camera pose estimate, and adapted to output as a selected 3D camera pose estimate one of the said detected 3D camera pose estimate and the said previous 3D camera pose estimate; and
(h) a 3D camera pose estimator having inputs for receiving the camera data, the detected 3D observations, the tracked 3D observations and the selected 3D camera pose estimate, and an output for providing the 3D camera pose estimate output, wherein the detectors, the estimators and the selector are implemented with software executed by one or more processing units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- (a) a candidate 2D key points detector having inputs for receiving camera data from a camera data source and the 2D image data, and an output for providing candidate 2D key points;
-
10. A non-transitory computer-readable medium comprising instructions stored thereon to cause one or more processing units to perform operations to provide an estimate for a 3D camera pose relative to a scene from 2D image data of a 2D image frame, the operations comprising:
-
providing candidate 2D key points based on camera data from a camera data source and the 2D image data; providing detected 3D observations based on pre-recorded scene data and the candidate 2D key points; providing a detected 3D camera pose estimate based on the camera data, the detected 3D observations and the candidate 2D key points; receiving a control signal related to a 3D camera pose estimate output; storing the 2D image data and the candidate 2D key points related to the 3D camera pose estimate output, and providing a previous 2D image data and candidate 2D key points related to a previous 3D camera pose estimate output; storing the 3D camera pose estimate output, and providing the previous 3D camera pose estimate; providing tracked 3D observations based on the 2D image data, the candidate 2D key points, the camera data, the previous 2D image data and candidate 2D key points, the previous 3D camera pose estimate and 3D scene model data from a 3D scene model data source; providing as a selected 3D camera pose estimate one of the detected 3D camera pose estimate and the previous 3D camera pose estimate based on the detected camera pose estimate and the previous 3D camera pose estimate; and providing the 3D camera pose estimate output based on the camera data, the detected 3D observations, the tracked 3D observations and the selected 3D camera pose estimate.
-
-
11. A method for generating an image of a second object considered stationary in respect of a first object as viewed by a 2D camera imaging the first object, the method comprising :
- (i) in a first step related to an acquisition by the camera of an acquired image number n of the first object, providing a grabbed image frame IFn number n ;
(ii) in a second step related to an acquisition by the camera of an acquired image number n+1 of the first object, providing a grabbed image frame IFn+1number n+1 and using one or more processing units for generating a first new 3D camera pose estimate CPn number n from the grabbed image number n ;
(iii) in a third step related to an acquisition by the camera of an acquired image number n+2 of the first object, providing a grabbed image frame IFn+2 number n+2, using the one or more processing units for generating a second new 3D camera pose estimate CPn+1 number n+1 from the grabbed image frame IF n+1 and generating a generated image frame GFn number n of the second object as viewed by the camera a 3D camera post represented by the first 3D camera pose estimate CPn number n. - View Dependent Claims (12, 13)
- (i) in a first step related to an acquisition by the camera of an acquired image number n of the first object, providing a grabbed image frame IFn number n ;
-
14. An apparatus that estimates a 3D camera pose relative to a scene from 2D image data of a 2D image frame provided by a camera, the apparatus comprising:
-
(a) one or more processing units that implement; a candidate 2D key points detector that receives camera data from a camera data source and the 2D image data from the data interface, and provides candidate 2D key points; a detected 3D observations detector that receives pre-recorded scene data and the candidate 2D key points, and provides detected 3D observations; a detected 3D camera pose estimator that receives the camera data, the detected 3D observations and the candidate 2D key points, and provides a detected 3D camera pose estimate; a tracked 3D observations detector that receives the 2D image data, the candidate 2D key points, the camera data, a previous 2D image data and candidate 2D key points, the previous 3D camera pose estimate and 3D scene model data from a 3D scene model data source, and provides tracked 3D observations; a pose estimate selector that receives the detected camera pose estimate and the previous 3D camera pose estimate, and provides as a selected 3D camera pose estimate one of the detected 3D camera pose estimate and the previous 3D camera pose estimate; and a 3D camera pose estimator that receives the camera data, the detected 3D observations, the tracked 3D observations and the selected 3D camera pose estimate, and provides the 3D camera pose estimate output; and (b) a memory that includes; a 2D image data and candidate 2D key points storage that (i) receives the detected 2D candidate key points and the 2D image data, and a control input for receiving a control signal related to a 3D camera pose estimate output, (ii) stores the 2D image data and the candidate 2D key points related to the 3D camera pose estimate output, and (iii) provides the previous 2D image data and the candidate 2D key points related to a previous 3D camera pose estimate output; and a previous 3D camera pose estimate storage that (i) receives the 3D camera pose estimate output, (ii) stores the 3D camera pose estimate output, and (iii) provides the previous 3D camera pose estimate.
-
Specification