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"]], | |
} | |