Dense SIFT可视化实现

一,Denxe SIFT算法

       Dense SIFT算法,是一种对输入图像进行分块处理,再对每一块进行SIFT运算的特征提取过程。Dense SIFT根据可调的参数大小,来适当满足不同分类任务下对图像的特征表征能力;而传统的SIFT算法则是对整幅图像的处理,得到一系列特征点。Dense-SIFT在非深度学习的模型中,常常是特征提取的第一步。采样的点提取SIFT描述子后,经过码书投影,投影在同一个码字上的采样点都代表了一组描述子相似的点。不同的码字(相当于直方图的每一个bin)之间,采样点的区分能力是不一样的。我们以下图图1为例,bin2代表的是一块很平坦的区域,于是dense采样时,很多点产生的描述子都会投影在bin2上。而bin1,bin3,bin4分别代表一块特有的区域,仅仅在dense采样到自行车,大提琴和眼睛等部位时,才能够形成类似的描述子。换而言之,bin2的重要性最低,而其他码字的重要性都很高。

      DSIFT在寻找显著点时不是尝试使用一个分类器判断是否是显著点,而是为了简化,所有显著点是均匀分布(equally dense across )在图像的各个区域的。在采样时有个涉及不同尺度下采样步长(pixel stride)是否应该相同的问题。窗口移动同样的步长,在更大的尺度下,窗口要大些,这会使得相邻窗口的重叠区域面积比率变大,从而使得采样的冗余较小尺度下的冗余要大。当前流行的多尺度采样方法倾向的就是这种策略。DSIFT也是使用这种策略,因为要简单得多

二,算法实现

1.代码实现:

计算dsift描述子:

2.实验结果如下:

扫描二维码关注公众号,回复: 6257425 查看本文章

猜你喜欢

转载自www.cnblogs.com/silencexiaoyou/p/10891047.html