GSoC 2024 wrapping up: High Altitude Non-GPS Navigation

Hi everyone,
Here’s an update to the Optical Flow + Feature Matching approach.

In brief, this method combines an enhanced version of the Lucas-Kanade (LK) optical flow algorithm for high-frequency position estimation with SIFT feature matching. The LK algorithm is used to estimate the movement between consecutive frames, but it drifts over time, especially in long sequences. To correct this drift overtime, we use SIFT-based feature matching along with a simplified ANN algorithm, which helps in correcting this drift over time.

This approach performs very well, even when noise is introduced, as the feature matching corrects the drift overtime and keep it within manageable range.

However, there are still some limitations to this approach. The current method struggles with handling fast rotations, as the LK algorithm’s performance degrades during fast rotational movements. Also, in cases of significant perspective changes, the drift correction through feature matching is not very effective.

I’ll be releasing the code in ap_nongps repository as soon as these issues are addressed.

I’d love to hear the feedback on this approach. I’d be happy to discuss any questions or suggestions!

Thank you!