SSMB: Self-Supervised Local Feature Detection under Motion Blur
Zhenjun Zhao, Fabio Bellavia, Wenting Wang, Fan Zhu, Jiajun Wu, Suryansh Kumar, Mingqiang Wei, Haoang Li, Javier Civera
cs.CV
2026-08-27
SSMB不经去模糊、不用SIFT伪标签,直接在糊图上自监督检点。Tough重复率77.16%,3像素MMA40.10%。
运动模糊把局部结构抹开,关键点定位的可重复性跟着掉。SLAM、SfM、视觉定位都靠这些点对应,糊一张图就断链。
现成两条路都有硬伤。先去模糊再检点,去模糊网络算得慢,重模糊还会造伪影,伪影再传给检测器。另一条是 BALF:直接在糊图上检,但监督信号是清晰图上的 SIFT 点。SIFT 是给清晰图手搓的,学到的是 SIFT 的偏好,不是糊图上真正可重复的结构。
SSMB 走第三条路:不去模糊,不借手搓检测器,不吃外部伪标签,在糊图上自监督学检点。
骨干沿用 BALF 那套 MAXIM 风格的 gated MLP 编码器,四段下采样到 1/8 分辨率,通道到 256。每段里 RSMA 层拆成两条:GridGmlp 做全局混合,BlockGmlp 做局部混合。糊图的能量本来就摊在邻域上,远近兼顾说得通,但全局混合会把定位所需的细局部差异冲掉。
补这块的是 LDE(Local Discriminability Enhancement,局部可区分性增强)。它插在全局混合之后、局部混合之前:LayerNorm 后一路 3×3 深度卷积抓局部梯度,另一路点卷积瓶颈做通道门控,两路相乘再残差加回去。参数大约 5 万。拿掉它,概率图会塌成几乎处处接近 0。
检测头跟 SuperPoint 同一套:每个 8×8 格子 64 个像素位置加一个垃圾桶通道,再加一个子像素偏移头。
训练分两段。
全程一块 RTX 3090。
Blur-HPatches 上用 1000 个点测重复率。清晰对模糊、Tough 难度:SSMB 77.16%,BALF 71.84%,SuperPoint 52.84%。模糊对模糊、Tough:SSMB 74.48%,BALF 67.71%。SSMB 从 Easy 到 Tough 几乎不掉(77.24 → 77.16),别人随模糊加重明显下滑。
先去模糊再检点补不回这个差距。Tough、去模糊对清晰设置下,DeblurGAN-v2 配 SuperPoint 最好也只有 58.22%,SSMB 直接在原糊图上是 77.16%。
匹配看 Blur-HPatches Tough、模糊对模糊、最多 2048 点:
| 方法 | MMA@3px | MMA@5px | MMA@10px |
| SSMB+HardNet | 40.10 | 51.43 | 77.22 |
| BALF+HardNet | 25.03 | 44.71 | 72.64 |
| RoMa v2(无检测器) | 28.51 | 54.58 | 88.54 |
3 像素这个严阈值上,稀疏的 SSMB 超过了所有 detector-free 方法,包括 RoMa v2。光照变化子集上 3 像素 MMA 从 BALF 的 34.58% 拉到 62.02%。
相对位姿(ArchViz)blur-to-sharp、AUC@30°:SSMB+HyNet 66.61,BALF+HardNet 59.15。Aachen Day-Night 两边都加合成模糊后,白天定位 (0.25m,2°)/(0.5m,5°)/(1.0m,10°) 为 58.5/76.2/93.0,BALF+HyNet 是 51.2/68.9/89.4;夜间 31.6/59.2/86.7,对上 BALF+HardNet 的 21.4/36.7/80.6。VGA 分辨率检测 30.63 ms,约 33 FPS,比 BALF 多约 3.6 ms。
消融(Tough 清晰对模糊重复率):去掉 LDE 掉到 33.83%;去掉合成预训练 59.58%;去掉空间覆盖损失 64.07%;完整模型 77.16%。
对要在糊图上跑定位、SLAM 的人,这条路把去模糊预处理和「跟 SIFT 学」都拿掉了。检测本身实时,点还能预计算、复用,这是 LoFTR、RoMa 这类成对匹配做不到的。Aachen 上 RoMa v2 在 4328 张库图的 bundle adjustment 里直接内存溢出,稀疏检点在规模上还站得住。
它没有自带描述子,下游仍要接 HardNet 或 HyNet。这是检测器论文,不是端到端匹配器。对已经有描述子流水线、只是糊图上点不稳的系统,换检测头就能试。
论文没有单独写局限。几处缺口要自己看。
训练用 GoPro(多帧平均造糊),主评测 Blur-HPatches 和 Aachen 也是合成点扩散函数糊。真机糊只给了 RWBI、RealBlur 的定性图,没有同等定量对照。快门拖影、物体运动糊跟这种合成糊是不是一回事,这篇还没有证完。
清晰 HPatches 上整体重复率 75.17%,排第二,但视角变化只有 67.50%,低于专攻几何不变的 REKD(80.94%)和 ALIKED(72.85%)。单应适应覆盖不了视差和遮挡。ArchViz 模糊对模糊、5° 这个最严阈值上,BALF+HardNet 以 12.63 略高于 SSMB 的 11.07。10 像素这种松阈值上 RoMa v2 仍是 88.54% 对 77.22%。
自监督目标本身脆:没有合成预训练或没有空间覆盖项就会塌。LDE 几乎是在补 MLP 全局混合把局部梯度冲掉的副作用。代码和模型写的是接收后公开,目前还没有。