Localisation and mapping
First Claim
1. A method of generating a three-dimensional map of a region from successive images of the region captured from different camera poses, the map comprising a set of landmark points each defined by a three dimensional spatial position and image information associated with that three dimensional position, the method comprising:
- capturing, by an image processing device, successive images of the region;
detecting, by a processor, feature points within the captured images;
designating, by the processor, a subset of the captured images as a set of keyframes each having camera pose data indicative of a camera pose and respective sets of measurement data representing image positions of landmark points detected as feature points in that image;
in respect of the keyframes, the processor performing bundle-adjustment to generate bundle-adjusted landmark points by iteratively refining the three dimensional spatial positions of the landmarks and the camera pose data associated with at least a subset of the keyframes by;
(i) deriving a difference between the measurement data for landmark points in the keyframes and corresponding image positions obtained from the camera pose data and the three dimensional spatial position of that landmark point; and
(ii) adjusting one or both of the camera pose data for one or more keyframes and the three dimensional spatial position of one or more landmark points so as to reduce the detected difference;
for a feature point, not corresponding to a bundle-adjusted landmark point, detected at an intervening image which is not a keyframe and present in another intervening image which is not a keyframe, the processor generating a non-bundle-adjusted point corresponding to that feature point; and
deriving, by the processor, a camera pose in respect of an image using the non-bundle-adjusted points and the bundle adjusted landmark points;
in which the step of generating a non-bundle-adjusted point comprises selecting a subset of one or more feature points of the intervening image to become non-bundle-adjusted points, and the selecting step comprises;
detecting the number of landmark points relating to each of a plurality of different image regions of that intervening image; and
selecting a new feature point to be added as a non-bundle-adjusted point according to a weighting applicable to the image region containing that feature point, such that the weighting is lower for an image region having a higher number of landmark points.
2 Assignments
0 Petitions
Accused Products
Abstract
A method generates a three-dimensional map of a region from successive images of the region captured from different camera poses. The method detects feature points within the captured images and designates a subset of the images as a set of keyframes each having camera pose data and respective sets of measurement data representing image positions of landmark points detected as feature points in that image. The method also includes performing bundle-adjustment to generate bundle-adjusted landmark points by iteratively refining the three dimensional spatial positions of the landmarks and the camera pose data associated with at least a subset of the keyframes. And for a feature point, not corresponding to a bundle-adjusted landmark point, detected at an intervening image which is not a keyframe and present in another intervening image which is not a keyframe, the method generates a non-bundle-adjusted point corresponding to that feature point and derives a camera pose.
19 Citations
15 Claims
-
1. A method of generating a three-dimensional map of a region from successive images of the region captured from different camera poses, the map comprising a set of landmark points each defined by a three dimensional spatial position and image information associated with that three dimensional position, the method comprising:
-
capturing, by an image processing device, successive images of the region; detecting, by a processor, feature points within the captured images; designating, by the processor, a subset of the captured images as a set of keyframes each having camera pose data indicative of a camera pose and respective sets of measurement data representing image positions of landmark points detected as feature points in that image; in respect of the keyframes, the processor performing bundle-adjustment to generate bundle-adjusted landmark points by iteratively refining the three dimensional spatial positions of the landmarks and the camera pose data associated with at least a subset of the keyframes by; (i) deriving a difference between the measurement data for landmark points in the keyframes and corresponding image positions obtained from the camera pose data and the three dimensional spatial position of that landmark point; and (ii) adjusting one or both of the camera pose data for one or more keyframes and the three dimensional spatial position of one or more landmark points so as to reduce the detected difference; for a feature point, not corresponding to a bundle-adjusted landmark point, detected at an intervening image which is not a keyframe and present in another intervening image which is not a keyframe, the processor generating a non-bundle-adjusted point corresponding to that feature point; and deriving, by the processor, a camera pose in respect of an image using the non-bundle-adjusted points and the bundle adjusted landmark points; in which the step of generating a non-bundle-adjusted point comprises selecting a subset of one or more feature points of the intervening image to become non-bundle-adjusted points, and the selecting step comprises; detecting the number of landmark points relating to each of a plurality of different image regions of that intervening image; and selecting a new feature point to be added as a non-bundle-adjusted point according to a weighting applicable to the image region containing that feature point, such that the weighting is lower for an image region having a higher number of landmark points. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable recording medium storing computer instructions thereon, the computer instructions, when executed by a computer, causes the computer to carry out a method of generating a three-dimensional map of a region from successive images of the region captured from different camera poses, the map comprising a set of landmark points each defined by a three dimensional spatial position and image information associated with that three dimensional position, the method comprising:
-
capturing successive images of the region; detecting feature points within the captured images; designating a subset of the captured images as a set of keyframes each having camera pose data indicative of a camera pose and respective sets of measurement data representing image positions of landmark points detected as feature points in that image; in respect of the keyframes, performing bundle-adjustment to generate bundle-adjusted landmark points by iteratively refining the three dimensional spatial positions of the landmarks and the camera pose data associated with at least a subset of the keyframes by; (i) deriving a difference between the measurement data for landmark points in the keyframes and corresponding image positions obtained from the camera pose data and the three dimensional spatial position of that landmark point; and (ii) adjusting one or both of the camera pose data for one or more keyframes and the three dimensional spatial position of one or more landmark points so as to reduce the detected difference; for a feature point, not corresponding to a bundle-adjusted landmark point, detected at an intervening image which is not a keyframe and present in another intervening image which is not a keyframe, generating a non-bundle-adjusted point corresponding to that feature point; and deriving a camera pose in respect of an image using the non-bundle-adjusted points and the bundle adjusted landmark points; in which generating a non-bundle-adjusted point comprises selecting a subset of one or more feature points of the intervening image to become non-bundle-adjusted points, and the selecting comprises; detecting the number of landmark points relating to each of a plurality of different image regions of that intervening image; and selecting a new feature point to be added as a non-bundle-adjusted point according to a weighting applicable to the image region containing that feature point, such that the weighting is lower for an image region having a higher number of landmark points. - View Dependent Claims (12)
-
-
13. Image processing apparatus operable to generate a three-dimensional map of a region from successive images of the region captured from different camera poses, the map comprising a set of landmark points each defined by a three dimensional spatial position and image information associated with that three dimensional position, a subset of the captured images being designated as a set of keyframes each having camera pose data indicative of a camera pose and respective sets of measurement data representing image positions of landmark points detected as feature points in that image, the apparatus comprising:
-
a bundle adjuster configured in respect of the keyframes to perform bundle-adjustment to generate bundle-adjusted landmark points by iteratively refining the three dimensional spatial positions of the landmarks and the camera pose data associated with at least a subset of the keyframes by; (i) deriving a difference between the measurement data for landmark points in the keyframes and corresponding image positions obtained from the camera pose data and the three dimensional spatial position of that landmark point; and (ii) adjusting one or both of the camera pose data for one or more keyframes and the three dimensional spatial position of one or more landmark points so as to reduce the detected difference; a point generator operable, in respect of a feature point, not corresponding to a bundle-adjusted landmark point, detected at an intervening image which is not a keyframe and present in another intervening image which is not a keyframe, to generate a non-bundle-adjusted point corresponding to that feature point; and a camera pose detector operable to derive a camera pose in respect of an image using the non-bundle-adjusted points and the bundle adjusted landmark points; in which the non-bundle-adjusted point is generated by selecting a subset of one or more feature points of the intervening image to become non-bundle-adjusted points, and the selection comprises; detection of the number of landmark points relating to each of a plurality of different image regions of that intervening image; and selection of a new feature point to be added as a non-bundle-adjusted point according to a weighting applicable to the image region containing that feature point, such that the weighting is lower for an image region having a higher number of landmark points. - View Dependent Claims (14, 15)
-
Specification