直方图的SIFT抛物线拟合

SIFT parabola fitting of histogram

我正在实施 Lowe 的方法 "SIFT",用于查找和描述图像中的特征。

我找到了兴趣点,现在我要描述它们:使用 Lowe 的方法,我计算了关键点周围区域的大小和梯度,并创建了一个高斯加权直方图,有 36 个 bin,每个对应到 10 度的方向。对于每个关键点,都有一个直方图。每个 bin 是该方向上加权幅度的总和。来自 aishack.in 的示例:http://www.aishack.in/static/img/tut/sift-orientation-histogram.jpg

在最大 bin 大小的 80% 以内的 bins,作为一个新的关键点。经过描述,论文中写到:"Finally, a parabola is fit to the 3 histogram values closest to each peak to interpolate the peak position for better accuracy"。我不确定我明白了。

在我的理解中,这意味着该峰值的峰值、左侧和右侧值将呈抛物线拟合,如下所示(警告!徒手绘制)

http://i.stack.imgur.com/7V8pb.jpg

并且关键点的方向将是抛物线的极值所在的位置。例如:如果抛物线拟合在 10-19、20-29 和 30-39(20-29 是直方图峰值),在某个点有极值,达到 30-39,那么这将是该关键点的方向。我理解正确吗?这样,关键点的方向,只能在36个方向内

另一种方案:与上述思路相同,只是直方图不再离散:抛物线的极值将是一个连续值,并将此值赋值给关键点。

抛物线拟合的想法是找到比 bin 分辨率更好的峰。正如您在示例中看到的,峰值位于 20-29(平均 24.5),但 10-19 bin 高于 30-39 bin。因此,精确的峰值很可能应低于 24.5。

你不能有一个非离散的直方图,它会破坏直方图的点。您 可以 拥有的是重叠箱:为 20-29 创建一个箱,同时为 21-30 和 22-31 等创建一个箱。因此值 24 将映射到 10 个箱,从 15-2424-35

并且当您递增一个 bin 时,您不一定需要将它递增 1。您还可以将一个 bin 递增一个可变数量,例如从给定值到 bin 边缘的距离。所以 24 会将 1 添加到 bin 16-25 但将 4 添加到 bin 20-29