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.