A method of determining camera poses for a plurality of image frames, the method comprising: capturing the plurality of image frames using a camera; computing relative poses between each set of image frame pairs to provide a relative pose set, wherein computing the relative poses comprises performing: a first process (320, 322) for a first subset of the image frame pairs having a temporal separation between image frames of the image frame pairs less than or equal to a threshold, wherein the first process comprises directly performing relative pose optimization for the first subset of image frame pairs; and a second process (330-338, 322) for a second subset of the image frame pairs having a temporal separation between image frames of the image frame pairs greater than the threshold, wherein the second process comprises detecting and matching features between the image frame pairs in the second subset; detecting and removing miscategorized relative poses from the relative pose set to provide a remaining relative pose set, wherein the miscategorized relative poses include relative poses of the relative pose set identified as incorrect based on one or more mechanisms for filtering incorrect relative poses; determining global poses for the plurality of image frames using the remaining relative pose set; computing extended relative poses for spatially close image frame pairs to provide an extended relative pose set; detecting and removing extended miscategorized relative poses from the extended relative pose set to provide a remaining extended relative pose set, wherein the extended miscategorized relative poses include extended relative poses of the extended relative pose set identified as incorrect based on the one or more mechanisms for filtering incorrect relative poses; and determining updated global poses for the plurality of image frames using the remaining relative pose set and the remaining extended relative pose set. capturing the plurality of image frames using a camera; computing relative poses between each set of image frame pairs to provide a relative pose set, wherein computing the relative poses comprises performing: a first process (320, 322) for a first subset of the image frame pairs having a temporal separation between image frames of the image frame pairs less than or equal to a threshold, wherein the first process comprises directly performing relative pose optimization for the first subset of image frame pairs; and a second process (330-338, 322) for a second subset of the image frame pairs having a temporal separation between image frames of the image frame pairs greater than the threshold, wherein the second process comprises detecting and matching features between the image frame pairs in the second subset; a first process (320, 322) for a first subset of the image frame pairs having a temporal separation between image frames of the image frame pairs less than or equal to a threshold, wherein the first process comprises directly performing relative pose optimization for the first subset of image frame pairs; and a second process (330-338, 322) for a second subset of the image frame pairs having a temporal separation between image frames of the image frame pairs greater than the threshold, wherein the second process comprises detecting and matching features between the image frame pairs in the second subset; detecting and removing miscategorized relative poses from the relative pose set to provide a remaining relative pose set, wherein the miscategorized relative poses include relative poses of the relative pose set identified as incorrect based on one or more mechanisms for filtering incorrect relative poses; determining global poses for the plurality of image frames using the remaining relative pose set; computing extended relative poses for spatially close image frame pairs to provide an extended relative pose set; detecting and removing extended miscategorized relative poses from the extended relative pose set to provide a remaining extended relative pose set, wherein the extended miscategorized relative poses include extended relative poses of the extended relative pose set identified as incorrect based on the one or more mechanisms for filtering incorrect relative poses; and determining updated global poses for the plurality of image frames using the remaining relative pose set and the remaining extended relative pose set.