Spaces:
Running
Running
import torch | |
import cv2 | |
import numpy as np | |
from PIL import Image | |
from DeDoDe import dedode_detector_L | |
def draw_kpts(im, kpts): | |
kpts = [cv2.KeyPoint(x, y, 1.0) for x, y in kpts.cpu().numpy()] | |
im = np.array(im) | |
ret = cv2.drawKeypoints(im, kpts, None) | |
return ret | |
detector = dedode_detector_L(weights=torch.load("dedode_detector_l.pth")) | |
im_path = "assets/im_A.jpg" | |
im = Image.open(im_path) | |
out = detector.detect_from_path(im_path, num_keypoints=10_000) | |
W, H = im.size | |
kps = out["keypoints"] | |
kps = detector.to_pixel_coords(kps, H, W) | |
Image.fromarray(draw_kpts(im, kps[0])).save("demo/keypoints.png") | |