基于关键点的基础机器学习与目标检测
在计算机视觉领域,基于关键点的目标检测和机器学习是非常重要的技术。下面将详细介绍几种关键算法和基础机器学习概念。
1. SURF关键点与描述符
SURF(Speeded Up Robust Features)是一种关键点检测和描述算法,由Herbert Bay等人提出。它和SIFT一样鲁棒且可重复,但速度比SIFT快两倍以上。
1.1 SURF关键点检测
SURF速度快的原因在于它使用矩形离散整数近似来替代复杂的连续实值函数。SURF使用黑塞矩阵(Hessian matrix)行列式的最大值来检测关键点。黑塞矩阵定义如下:
[
H(x, \sigma) =
\begin{bmatrix}
L_{xx}(x, \sigma) & L_{xy}(x, \sigma) \
L_{xy}(x, \sigma) & L_{yy}(x, \sigma)
\end{bmatrix}
]
其中,$L_{xx}(x, \sigma)$ 是高斯二阶导数 $\frac{\partial^2 g(x, \sigma)}{\partial x^2}$ 与图像 $I$ 在点 $x$ 处的卷积。
为了理解为什么黑塞矩阵行列式的极值代表类似角点的关键点,需要知道卷积具有结合律。因此,黑塞矩阵的元素也可以看作是图像经过高斯滤波器平滑后的二阶空间导数。如果图像存在突然的强度变化,二阶空间导数会出现峰值。不过,边缘也会导致强度突然变化,而矩阵的行列式可以帮助我们区分边缘和角点。黑塞矩阵的行列式计算公式如下:
[
\det(H