SSMB / README.md
rickyeric's picture
Update README.md
a00f238 verified
|
Raw History Blame Contribute Delete
2.78 kB
---
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/<your-username>/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/<your-username>/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}
}
```