美利达达道路
作为近两年detector和descriptor joint learning(也称one-stage)类型论文的又一代表,D2-Net是一种相当特别的结构。其特点是“一图两用”,即网络预测出的dense tensor即是detection score maps,又是description map特征图即代表特征检测结果又代表特征描述结果(注意预测的特征图并不是原图分辨率大小)。换句话说,D2-Net的特征检测模块和描述模块是高度耦合的。 本文主要针对的是appearance变化较大(包括日-夜变化、大的视角变化等)场景下的图像匹配任务。文章作者比较了两种局部特征学习方法:sparse方法和dense方法。其中sparse方法高效,但是在appearance变化大的场景提取不到可重复的关键点,其原因在于特征提取器只使用浅层图像信息,不使用语义信息;dense方法则直接利用深层特征提取密集特征描述,更加鲁棒却以更高的匹配时间和内存开销为代价。 因此作者的目的在于,提出一种足够鲁棒的sparse local feature,让其提取的特征(兴趣点)具有更好的repeatability,进而实现既有sparse方法的高效性,又有dense方法的鲁棒性。其核心idea是将特征提取阶段延后,使得局部特征也可以利用高层语义信息,而不是只考虑低层信息。 问题:关于这里的sparse和dense方法 关键词:A single CNN plays a dual role; joint optimization; different train/test model structure 不同于SuperPoint或者SEKD,本文虽然也是dense prediction类型的结构,但并不同时预测kpt和description两个图,而是只预测了一个形状为HxWxd(d为特征描述的长度)的特征图,然后既作描述结果又作检测结果…从spatial维度来说,该特征图的每个像素位置是一个描述子;从channel维度来说,每一个通道代表一个特征检测器的检测结果,总共得到d个2D响应图,这里可以用SIFT中的高斯差分金字塔响应来类比。 后续的兴趣点提取需要对这个d通道的特征图做进一步的后处理: 按照上面对D2特征图的定义,如果(i,j)位置是一个兴趣点,则从通道维度来说该像素位置最终的检测结果肯定要取检测器响应值最大的通道对应数值,这样就选出了通道;从空间维度来说又要满足该位置在该通道的2D map必须为一个局部最大值。即本文中的"hard feature detection": 首先对输入图像构建图像金字塔,然后在每个scale上进行forward,得到D2特征图,再把多尺度特征图逐scale上采样并与同分辨率融合(见下式),得到融合后的特征图。预测阶段根据融合特征图进行上述后处理,即可提取出特征点。 由于上述特点,网络结构本身发非常简单,直接用VGG16 conv4_3之前的部分,恢复ImageNet上的预训练权重,然后除了最后一层conv4_3之外全部冻结,只对该层做微调。不过关于模型,有两个值得注意的地方: 1.使用VGG16的结果比ReseNet好很多 2.训练时和测试时的模型结构不同 具体来说,在测试阶段为了提高特征的分辨率,将pool3改成一个stride为1的avg pool,随后的三层conv dilation ratio调整为2,以维持相同的感受野。作者解释是说训练时为了减小内存使用比较小的特征分辨率,测试时为了提高特征定位能力,将分辨率提升到原图的1/4,并加上了一个类似SIFT中使用的局部特征提炼,然后将特征插值上采样到原分辨率。 不过训练过程不能用上面的hard feature detection,因为其不可微。故作者提出了一个soft的版本,其设计思想就是模仿hard方法的通道选择和空间位置选择(即通道内的局部最大值): 对于空间位置选择,作者会对特征图的每个像素求一个α(i,j),得到α map(shape为[h,w,d]): 其中N(i,j)代表以(i,j)为中心的9-邻域。因此可见这里的局部最大值其实是在3x3区域内的最大值,而不是式(3)中写的那样,整个通道只输出一个最大值。 对于通道选择,直接计算一个ratio-to-max得到β图(shape为[h,w,d]): 根据kpt的定义,score map s就应该是α map和β map的乘积map在通道维度求最大值的结果。最后再做一个归一化:(问题:这个归一化让score map的像素值之和为1是什么意思?score map不应该用sigmoid之类的转为0-1之间的分布比较合理吗?) 关于这部分还要考虑一个问题,为什么D2-Net需要在训练中提取兴趣点?(比如R2D2等结构,都是直接针对kpt score map做优化,只有实际预测时才需要根据score map提取特征点这个步骤) 答:这个问题的理解是不正确的,训练中并不是提取兴趣点,而是在得到”single score map"。上面的hard feature detection相当于NMS的过程,输出的是稀疏的兴趣点位置坐标;而训练检测模块需要hxw的score map,故先要把hxwxd的特征图经过一个可微的步骤,处理后得到该score map。 ①triplet margin ranking loss(只考虑描述子) 训练描述子其实没有太多不一样的地方,就是根据输入pair的correspondences,将每一个匹配对c视为正对,不匹配对为负对,对构成的三元组进行训练。主要问题是如何根据当前匹配对c构建最有意义的负对。作者这里用了一个基于邻域的困难样本挖掘策略,假如当前匹配为下图的点A和点B,那么分别在I1和I2扣去A\B邻域的区域找负对,并分别与B的描述子dB、A的描述子dA进行比较,找到所有这种负对中相似度最小的,与c构建三元组。 以下p(c)和n(c)分别代表正对距离和负对距离。m(c)代表当前匹配c的triplet loss。 ②加入描述子优化的triplet margin ranking loss 由于D2特征即代表兴趣点score map也代表描述子,本文的优化需要对检测和描述进行联合优化。作者在triplet margin ranking loss基础上加入了提升检测结果可重复性这一优化目标,具体实现方法是:利用输入两图像中所有correspondences的检测得分来对当前匹配计算出的triplet loss进行加权平均,如果当前匹配triplet loss很低(即该对匹配的距离远小于其各自的最难负对),则为了最小化loss,这一对triplet loss小(即区分度高)的correspondence自然要给更大的权值;其他triplet loss大的correspondence就给小点的权值。 感觉文中式(13)的符号有点confusing,m(p(c),n(c))直接写成,m(c)可能更加简洁。
chenmingzhu
原文: Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]// International Conference on Neural Information Processing Systems. MIT Press, 2015:91-99.
译文参考: Faster R-CNN论文翻译——中英文对照
目标检测网络依赖于Region Proposal算法假设目标位置,通过引入Region Proposal(网络RPN),与检测网络共享全图像卷积特征,使得Region Proposals的成本近乎为零。
如下图所示,图a采用的是图像金子塔(Pyramids Of Images)方法;图b采用的是滤波器金字塔(Pyramids Of Filters)方法;图c引入“锚”盒("Anchor" Boxes)这一概念作为多尺度和长宽比的参考,其可看作回归参考金字塔(Pyramids Of Regression References)方法,该方法可避免枚举图像、多尺度滤波器和长宽比。
为了将RPN与Fast R-CNN相结合,本文提出了一种新的训练策略:在region proposal任务和目标检测任务之间交替进行微调,同时保持proposals的固定。该方案能够快速收敛,两个任务之间并共享具有卷积特征的统一网络。
Faster R-CNN由两个模块组成:
RPN以任意大小的图像作为输入,输出一组矩形的目标proposals,每个proposals都有一个目标得分。在实验中,假设两个网络(RPN和Fast R-CNN)共享一组共同的卷积层,并研究了具有5个共享卷积层的 Zeiler和Fergus模型(ZF) ,以及具有13个共享卷积层的 Simonyan和Zisserman模型(VGG-16) 。
为了生成region proposals,对最后的共享卷积层输出的卷积特征图谱使用一个小网络。该网络以卷积特征图谱的 空间窗口作为输入,且每个滑动窗口映射到一个低维特征,所有空间位置共享全连接层。
该低维特征作为两个子全连接层———边界框回归层(box-regression layer, reg)和边界框分类层(box-classification layer, cls)的输入,其卷积核均为 大小。
对于每个滑动窗口位置,可同时预测多个region proposals,最大region proposals数为 。因此,reg层具有 个输出,用于编码k个边界框的坐标;cls层具有 个得分,用于估计每个proposal是目标或不是目标的概率。
Anchors:k个proposals相对于 个参考框是参数化形式。
anchor位于滑动窗口的中心,并与尺度和长宽比相关。默认情况,使用3个尺度和3个长宽比,在每个滑动位置产生 个anchors。对于大小为 的卷积特征图谱,共产生 个anchors。
基于anchor的方法建立在anchors金字塔(pyramid of anchors)上,参考多尺度和长宽比的anchor盒来分类和回归边界框,用于解决多尺度和多长宽比问题。
为了训练RPN,为每个anchor分配一个二值标签。
正标签:
负标签:IoU值低于。
对Fast R-CNN中的多任务损失进行最小化。图像的损失函数为:
其中, 是mini-batch数据中anchor的索引, 是第i个anchor作为目标的预测概率。若anchor为正标签,真值 ;反之, 。 是表示预测边界框4个参数化坐标的向量, 是正真值框的向量。分类损失 为两个类别的对数损失;回归损失 ,其中 为在 Fast R-CNN 一文中定义的鲁棒损失函数(平滑 )。 表示回归损失仅对正anchor激活,否则被禁用( )。cls和rge层的输出分别由 和 组成。该两项使用 和 进行标准化,并使用平衡参数 加权处理。等式中cls项根据mini-batch的大小进行归一化,而reg项根据anchor位置的数据进行归一化。默认情况下, 从而使得cls和reg项的权重大致相等。
对于边界框回归,采用 Rich feature hierarchies for accurate object detection and semantic segmentation 一文中的4个坐标参数化方法:
其中, 和 表示边界框的中心坐标及其宽和高。变量 和 分别表示预测边界框、anchor和真值框。
采样策略:以图像为中心。
在图像中随机采样256个anchors,用于mini-batch数据中损失函数的计算,正负样本的比例为 。
从标准差为的零均值高斯分布中提取权重来随机初始化所有的新网络层,而共享卷积层通过预训练ImageNet分类模型来初始化。同时,调整ZF网络的所有网络层,以及VGG网络的conv3_1之上的网络,用于节省内存的使用。对于60k的mini-batch数据,学习率为;对于PASCAL VOC数据集中的20k的mini-bacth数据,学习率为。随机梯度下降算法的动量设置为,重量衰减率为。
训练具有共享特征网络的三个方法:
版权印版权标识
一 市场供给趋势 1、房地产开发商向规模化、品牌化方向发展。在房地产过热时期,房地产业的利润率比较高,因而吸引了过多商家进入,但一些房地产公司规模较小,开发的楼
《数学教学方法综合》 【摘要】文章在综述数学教学方法已有研究的基础上,分析了数学教学方法改革的趋势,探讨了已有研究存在的不足,对今后数学教学方法的研究进行了展望
作为近两年detector和descriptor joint learning(也称one-stage)类型论文的又一代表,D2-Net是一种相当特别的结构。其
配电网络规划 配电网络的规划是供电企业的一项重要工作,为了获取最大的经济效益,电网规划既要保证电网安全可靠,又要保证电网经济运行,所以配电网络规划的主要任务是
可以QQ交流