20 lines
877 B
Python
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
|