Spaces:
Running
on
Zero
Running
on
Zero
| import sys | |
| from pathlib import Path | |
| from ..utils.base_model import BaseModel | |
| lightglue_path = Path(__file__).parent / "../../third_party/LightGlue" | |
| sys.path.append(str(lightglue_path)) | |
| from lightglue import ALIKED as ALIKED_ | |
| class ALIKED(BaseModel): | |
| default_conf = { | |
| "model_name": "aliked-n16", | |
| "max_num_keypoints": -1, | |
| "detection_threshold": 0.2, | |
| "nms_radius": 2, | |
| } | |
| required_inputs = ["image"] | |
| def _init(self, conf): | |
| conf.pop("name") | |
| self.model = ALIKED_(**conf) | |
| def _forward(self, data): | |
| features = self.model(data) | |
| return { | |
| "keypoints": [f for f in features["keypoints"]], | |
| "scores": [f for f in features["keypoint_scores"]], | |
| "descriptors": [f.t() for f in features["descriptors"]], | |
| } | |