Realcat
fix: eloftr
63f3cf2
raw
history blame
711 Bytes
# -*- coding: UTF-8 -*-
'''=================================================
@Project -> File pram -> utils
@IDE PyCharm
@Author fx221@cam.ac.uk
@Date 07/02/2024 10:48
=================================================='''
import torch
eps = 1e-8
def arange_like(x, dim: int):
return x.new_ones(x.shape[dim]).cumsum(0) - 1
def normalize_keypoints(kpts, image_shape):
""" Normalize keypoints locations based on image image_shape"""
_, _, height, width = image_shape
one = kpts.new_tensor(1)
size = torch.stack([one * width, one * height])[None]
center = size / 2
scaling = size.max(1, keepdim=True).values * 0.7
return (kpts - center[:, None, :]) / scaling[:, None, :]