SuperPoint

论文阅读

语义SLAM | 深度学习用于特征提取 : SuperPoint(一)
主要讲了用卷积神经网络加FCN最后得到图像的单应矩阵(单应矩阵是相对于基础矩阵而言的,如果说图像中特征点共面,那么两幅图像的位置关系能够用单应矩阵表示,基础矩阵F为零矩阵,或者在只有旋转以及景深远大于移动距离的场景下使用),专栏作者提出2点疑问,就是数据集不满足单应性,对比基准算法不适合
语义SLAM | 深度学习用于特征提取 : SuperPoint(二)
设计了两个网络MagicPoint和MagicWarp,前者进行特征提取,作者设计了一个虚拟三位物体的库取得的数据进行如下网络的特征提取
SuperPoint_第1张图片后者MagicWarp的结构如下,损失就是投影损失
SuperPoint_第2张图片SuperPoint_第3张图片
语义SLAM | 深度学习用于特征提取 : SuperPoint(三)
网络分为BaseDetector网络和SuperPoint网络
BaseDetector就是MagicPoint
SuperPoint网络如下
SuperPoint_第4张图片
前面共享网络类似VGG,作用是是对图片降维,提取特征,以减小后续网络的计算量.
Interest Point Decoder是一个采用子像素卷积(sub-pixel convolution)的方法降低计算量的特征点检测网络。作用就是对图片的每个像素都计算一个概率,这个概率表示的就是其为特征点的可能性大小。
描述子检测网络也是一个解码器:先学习半稠密的描述子(不使用稠密的方式是为了减少计算量和内存),然后进行双三次插值算法(bicubic interpolation)得到完整描述子,最后再使用L2标准化(L2-normalizes)得到单位长度的描述。

SuperPoint 英文论文
SuperPoint 论文详解


SuperPointPretrainedNetwork
Dependencies

OpenCV python >= 3.4
PyTorch >= 0.4

This repo depends on a few standard pythonic modules, plus OpenCV and PyTorch. These commands usually work (tested on Mac and Ubuntu) for installing the two libraries:

pip install opencv-python
pip install torch

Running the Demo

This demo will run the SuperPoint network on an image sequence and compute points and descriptors from the images, using a helper class called SuperPointFrontend. The tracks are formed by the PointTracker class which finds sequential pair-wise nearest neighbors using two-way matching of the points’ descriptors. The demo script uses a helper class called VideoStreamer which can process inputs from three different input streams:

A directory of images, such as .png or .jpg
A video file, such as .mp4 or .avi
A USB Webcam

你可能感兴趣的:(DL)