1. A method for processing omni-directional image data comprising: receiving omni-directional image data, wherein the omni-directional image data is representative of a panoramic field of view; segmenting, by one or more processors, the omni-directional image data into a plurality of image slices, wherein each image slice of the plurality of image slices is representative of at least a portion of the panoramic field of view of the omni-directional image data; calculating a slice descriptor for each image slice of the plurality of image slices; generating a current sequence of slice descriptors, wherein the current sequence of slice descriptors includes the calculated slice descriptor for each image slice of the plurality of image slices; accessing a reference sequence of slice descriptors in a data storage device; determining whether the current sequence of slice descriptors matches the reference sequence of slice descriptors; determining a difference between the current sequence of slice descriptors and the reference sequence of slice descriptors in response to the current sequence of slice descriptors not matching the reference sequence of slice descriptors; and determining a current orientation based on the difference and a known orientation associated with the reference sequence, wherein determining whether the current sequence of slice descriptors matches the reference sequence of slice descriptors comprises determining whether an order of the reference sequence of slice descriptors matches an order of the current sequence of slice descriptors.