D2-Net: A Trainable CNN for Joint Description and Detection of Local Features(2019)(五)

tech2022-08-03  142

本文是一个集合detector和descriptor为一体的网络,并且只需要知道匹配就能同时训练一个detector和descriptor的网络 这也是D2的来历   一些思考:1. 一些deeplearning的feature匹配其实在descriptor表现的已经很好了(感受野也比较稳定),                             所以认为瓶颈在detector上,本文主要解决的问题就是这个。                   2. descriptor中融合了许多信息,那么是否这种detector的稳定性score也可反应出来呢(肯定可以)   先看网络形式                              1.输入一张图,经过cnn网络输出W*H*C的feature map,一般descriptor就是从channel中获取比如C=128,                    那么(I, j)位置的descriptor就是1x1x128的向量                     这样其实是一个dense 的feature map(每个像素都有一个channel方向的vector)                 2.再然后根据一些方法在这个dense 的feature map上找到是否是角点即可得到最终detector和descriptor   那么我们来看如何判断是否是角点,下图是网络输出的feature map层:                  可以看出 dij表示的是1x1x128的descriptor,从这个feature map的结构看,每一层(每一个channel) 是不是都类似一个sift中的金字塔的一层呢?只不过金字塔每一层有大有小,feature map每一层的大小都一样而已, 那么detector信息肯定也能从这个feature map中提取出来(类似金字塔)   因此定义:                      这个公式的意思是,如果上述feature map中的某个元素在channel上最大(其实就是sift金字塔上的最大), 并且在那层局部也是最大           (和sift一模一样的判断方式),那么他就是一个角点。   为了使其可微分,定义:      上述四个公式最终将feature map层输出W*H*1的score map,并且这个单层的score map所有元素之和为1(其实就是上述过程公式化),  最终得到一个scoremap,一会训练的时候作为loss中descriptor的权重。   train & loss      训练的时候通过sfm是可以得到一些匹配的(最好是dense的重建或者rgbd的数据),然后直接以这个匹配为gt。       学习的目的有三个:1,正确的匹配descriptor更加接近。2,错误的匹配descriptor更加远离。3,匹配的位置detector的score还应该挺高。       1. 正确匹配的特征的度量方式还是L2距离,        ,其中d表示的是特征向量,           用来惩罚正确匹配的不一致性       2. 正确匹配局部的次近邻应该用来惩罚不匹配的相似性       3. 1和2一起就是:       4. 最终的loss,在考虑descriptor的同时还应考虑该地方的score:            结果不错,时间论文没有提,文中提到解决scale的问题可以将原始image resize成多个size,然后分别通过网络生成feature map,最后  将他们的feature map累加,得到最后的feature map(这个只在test的时候使用,也合理,毕竟角点在任意scale的feature上都应该是角点,响应很高)     总结       0. 要解决什么问题(现在的deep feature detector是瓶颈,对光照或者纹理变化的时候detector根本检测不出来,更别说匹配了) 训练数据(最好使用dense 的rgbd 重建的match) scale(train的时候未考虑,在test的时候可以resize不同size的image然后求和得到) oritation(未考虑, 全靠训练数据 wild-base(未考虑,全靠训练数据) detector & descriptor(同时进行,其实这样的话,他的descriptor中就已经融合了一些detector信息) 网络的输入输出(输入image,输出完整的feature)  
最新回复(0)