A computer implemented method of training a depth estimation model for generating a depth map, the method comprising: acquiring a set of images, wherein the set of images comprises monocular video with each image of the monocular video captured at a corresponding timestamp; inputting the set of images into the depth estimation model to extract depth maps for the set of images based on parameters of the depth estimation model; inputting the set of images into a pose decoder to extract poses for the set of images; generating synthetic frames based on the depth maps and the poses for the set of images, wherein generating the synthetic frames comprises, for images of the monocular video of the set of images, generating synthetic frames at adjacent timestamps; calculating a loss value with an input scale occlusion and motion aware loss function based on a comparison of the synthetic frames and the set of images, wherein calculating the loss value with the loss function comprises calculating, for images of the monocular video of the set of images, differentials between generated synthetic frames and images with matching timestamps; and adjusting the parameters of the depth estimation model based on the loss value wherein: the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp, a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, the method being characterized by further comprising: calculating the loss value with the loss function further comprises: calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials. acquiring a set of images, wherein the set of images comprises monocular video with each image of the monocular video captured at a corresponding timestamp; inputting the set of images into the depth estimation model to extract depth maps for the set of images based on parameters of the depth estimation model; inputting the set of images into a pose decoder to extract poses for the set of images; generating synthetic frames based on the depth maps and the poses for the set of images, wherein generating the synthetic frames comprises, for images of the monocular video of the set of images, generating synthetic frames at adjacent timestamps; calculating a loss value with an input scale occlusion and motion aware loss function based on a comparison of the synthetic frames and the set of images, wherein calculating the loss value with the loss function comprises calculating, for images of the monocular video of the set of images, differentials between generated synthetic frames and images with matching timestamps; and adjusting the parameters of the depth estimation model based on the loss value wherein: the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp, a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, the set of images includes a first image at a first timestamp, a second image at a second timestamp, and a third image at a third timestamp, a first synthetic frame is generated at the second timestamp with the first image and a second synthetic frame is generated at the second timestamp with the third image, the method being characterized by further comprising: calculating the loss value with the loss function further comprises: calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials. calculating a first set of differentials between the first synthetic frame and the second image and a second set of differentials between the second synthetic frame and the second image; and for each pixel of the second image, identifying a minimum differential between the first set of differentials and the second set of differentials, wherein the loss value is based on the minimum differentials.