Files
fast-depth-tf/unsupervised/warp.py

20 lines
877 B
Python

def projective_inverse_warp(target_img, source_img, depth, pose, intrinsics):
"""
Calculate the reprojected image from the source to the target, based on the given depth, pose and intrinsics
SFM Learner inverse warp step
ps ~ K.T(t->s).Dt(pt).K^-1.pt
Idea is to map the pixel coordinates of the target image to 3d space (Dt(pt).K^-1.pt), then map these onto
the source image in pixel coordinates (K.T(t->s).{3d coord}), then using the projected coordinates we sample
the pixels in the source image (ps) to reconstruct the target image.
:param target_img: Tensor (batch, height, width, 3)
:param source_img: Tensor, same shape as target_img
:param depth: Tensor, (batch, height, width, 1)
:param pose: (batch, 3, 3)
:param intrinsics: (batch, 3, 3)
:return: The source image reprojected to the target
"""
pass