目标跟踪的点跟踪技术(5)

除了SIFT,还有一些采用较广泛的特征点选择和描述方法,如SURF、ORB等。


SURF: Speeded Up Robust Features

SURF与SIFT方法相似,区别主要在以下两点:

1. 采用了Hessian矩阵而非DoG作为角点筛选条件。为了提高计算速度,采用了Haar核而非二阶高斯偏导核进行卷积。因为Haar核可以用积分直方图一次性计算,所以效率更高,不过这种近似有一定的误差。


目标跟踪的点跟踪技术(5)_第1张图片


2. 特征点描述子用Haar核卷积然后求和,计算出子区域x, y两个方向的亮度变化累积情况。


目标跟踪的点跟踪技术(5)_第2张图片



ORB: an efficient alternative to SIFT or SURF

ORB算法整合修改了两个之前的算法,角点检测采用了FAST,描述子采用了BRIEF。


首先是FAST: Features from Accelerated Segment Test

它的基本原理是,如果环绕一个点的大部分点都比它亮/暗,那么该点为角点。但这种明暗关系不易人工设定,于是利用机器学习的方法来学习具体关系。

目标跟踪的点跟踪技术(5)_第3张图片

FAST把特征点检测看成一个机器学习问题,利用已有的标注图片集,训练一个两类分类器来分类角点/非角点。

对于每个待检测点,提取周围16个点的亮度信息。事先设定一个阈值t,将周围点的属性分成三类:


这样,图片中任意一点可以表示为一个由16个离散取值元素组成的特征,于是可以用决策树来学习最优分类规则。不难想象该算法的检测速度明显高于SIFT和SURF


然后是BRIEF: Binary Robust Independent Elementary Features

BRIEF的基本思想是,不仅要快速计算特征描述子,还要能提高特征匹配速度。与SIFT和SURF的浮点数不同,它为每个特征点创建一段二进制码,每一个二进制码代表一个特征。进行特征匹配时可以用异或操作判断海明距离,速度飞快。

BRIEF的每个二进制码的方法非常简单:对于特征点周围的邻近区域,任取两个点,比较这两个点的亮度(之前做高斯平滑)


取样一定次数,然后拼成二进制串即可。


这是原文尝试的一些取值方法,其他的都是按照某种分布随机采样,最后一个是固定函数采样。原文实验结果是前四种都不错,最后一种略差。

目标跟踪的点跟踪技术(5)_第4张图片

因为BRIEF是方向相关的,ORB做了一点改进。

首先计算角点邻域的主方向:




然后将之前产生的所有采样的位置点对(x, y)按主方向旋转后,再计算对应特征。



至此,我似乎有点跑题了。之前本来想整理一下目标跟踪中的点跟踪方法的,但是除了harris和光流法配合之外,SIFT等方法需要计算描述特征点周围区域的描述子,并进行描述子匹配,这个过程计算量相对较大,已经不十分适合用于实时跟踪,更多的用于图像配准、物体识别和摄像机标定等领域。

即使具有充分的实时计算能力,这些方法也不是真正的点跟踪了,而是块匹配,还不如直接使用块跟踪方法。



你可能感兴趣的:(目标跟踪的点跟踪技术(5))