--- license: mit tags: - keypoint-detection - local-feature - motion-blur - self-supervised-learning - computer-vision --- # SSMB: Self-Supervised Local Feature Detection under Motion Blur This repository hosts the pretrained checkpoint for **SSMB**, a deblur-free, self-supervised keypoint detector for motion-blurred images, accompanying our paper submitted to IEEE Transactions on Image Processing (under review). Code: https://github.com//SSMB ## Model Description SSMB is trained in two self-supervised stages: 1. **Geometric pretraining** on synthetic geometric shapes, bootstrapping spatially discriminative keypoint detection from rendered corner labels. 2. **Blur-aware training** on real sharp-blur image pairs from the GoPro dataset, using a multi-component self-supervised objective (homographic adaptation, blur consistency, position consistency, and spatial diversity losses). The architecture consists of an MLP-based encoder (adapted from [MAXIM](https://github.com/google-research/maxim)) with a **Local Discriminability Enhancement (LDE)** module inserted in each block, followed by a detector head that predicts a keypoint probability map and sub-pixel position offsets. ## Files | File | Description | |---|---| | `extraction.pth` | Final SSMB checkpoint after Stage 2 (blur-aware) training, used to produce all main results reported in the paper | ## Usage ```python import torch from models.ssmb import get_ssmb import yaml with open('configs/ssmb.yaml') as f: cfg = yaml.safe_load(f) model = get_ssmb(model_cfg=cfg['MODEL'], image_shape=cfg['data']['IMAGE_SHAPE']) ckpt = torch.load('extraction.pth', map_location='cpu') model.load_state_dict(ckpt['model_state'], strict=False) model.eval() ``` See the [code repository](https://github.com//SSMB) for full training and evaluation instructions. ## Training Data Stage 1: synthetic geometric shapes (generated on-the-fly). Stage 2: GoPro dataset (Nah et al., CVPR 2017), 2,912 sharp-blur pairs from 30 sequences. ## Evaluation Results For complete quantitative results (keypoint detection repeatability, image matching, relative pose estimation, visual localization), please refer to the paper and its supplementary material. ## License Released under the MIT License. The encoder architecture is adapted from [MAXIM](https://github.com/google-research/maxim) (Apache License 2.0). ## Citation ```bibtex @article{ssmb2026, title={SSMB: Self-Supervised Local Feature Detection under Motion Blur}, author={Zhao, Zhenjun and Bellavia, Fabio and Wang, Wenting and Zhu, Fan and Wu, Jiajun and Kumar, Suryansh and Wei, Mingqiang and Li, Haoang and Civera, Javier}, journal={IEEE Transactions on Image Processing}, note={Under review}, year={2026} } ```