Estimating actual translation from unit vector from `recoverPose`

Hi all,

I am very desperate for some help on this problem: I am implementing a monocular VSLAM system and have currently gotten up to the stages of matching features and descriptors between images, determining the essential matrix and using the recoverPose function to determine the rotation and translation between the images. However, the translation returned is in the form of a unit vector (i.e. is not in mm, cm, m, etc, which is what i want).

Given that I have no external sensors that can be used BUT i have the camera’s intrinsic matrix, and a list of tracked features and keypoints, how can I get the actual distance moved?

Source code: salih_slam/pose.cpp at master · daleksla/salih_slam · GitHub

Thanks for your time