一套同时detector和descriptor的网络框架。
SuperPoint Architecture
整体网络框架:

3.1. Shared Encoder
使用VGG网络输出的cnn feature map(叠加了多个feature map),最后输出B ∈ R Hc×Wc×F, 其中Hc = H/8 and Wc = W/8 and F > 1
3.2. Interest Point Decoder
通过卷积层输出R Hc×Wc×64, 然后经过channel上的softmax输出R H×W
3.3. Descriptor Decoder
输出半dense的descriptor
3.4. Loss Functions


detector的loss:其中
这里的65个chanel,每个channel表示的是原始图像上的每个pixel是焦点的概率,因此对chennal上进行卷积就可以得到每个cell(8 * 8)上的detector点。
,。 分子:k表示每个chennal上的index(1-65),hw表示feature map层每个元素坐标(正好是h*w*65的feature map),y表示的是gt的位置,因此分母是每个chennal上65个数字之和,分子表示的是gt的index(y),那个位置的数字(交叉商损失)



descriptor loss: S表示0或者1,
,可以直观的认为匹配的是1,不匹配的是0.很容易理解,当是匹配的时候惩罚第一项,惩罚其不相似性,当时不匹配的时候s=0,惩罚第二项,惩罚其相似性。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
训练以及gt的获取
-
首先使用合成数据训练 MagicPoint(其实MagicPoint就是superpoint网络中的detector部分)网络。(这部分的焦点标注很容易)

-
通过上述图片方式生成真实数据的标注结果:
-
首先将真实数据生成一系列warp的image,然后每个image 都过网络 MagicPoint,生成不同的角点。最后使用:

生成最后的稍微密集点的角点位置,就是最终要训练superpoint的时候的gt。
3. 训练superpoint,匹配对是通过不同的warp得到
整体网络结果以及过程如下图:
