Spaces:
Runtime error
Runtime error
| import torch | |
| from pathlib import Path | |
| from hloc import logger | |
| from ..utils.base_model import BaseModel | |
| class XFeat(BaseModel): | |
| default_conf = { | |
| "keypoint_threshold": 0.005, | |
| "max_keypoints": -1, | |
| } | |
| required_inputs = ["image"] | |
| def _init(self, conf): | |
| self.net = torch.hub.load( | |
| "verlab/accelerated_features", | |
| "XFeat", | |
| pretrained=True, | |
| top_k=self.conf["max_keypoints"], | |
| ) | |
| logger.info(f"Load XFeat(sparse) model done.") | |
| def _forward(self, data): | |
| pred = self.net.detectAndCompute( | |
| data["image"], top_k=self.conf["max_keypoints"] | |
| )[0] | |
| pred = { | |
| "keypoints": pred["keypoints"][None], | |
| "scores": pred["scores"][None], | |
| "descriptors": pred["descriptors"].T[None], | |
| } | |
| return pred | |