我知道 Harris 角点检测器,并且我了解它的二阶矩矩阵
但是关于Hessian检测器,它使用Hessian矩阵来检测关键点并去除边缘,
我知道 Harris 角点检测器,并且我了解它的二阶矩矩阵
但是关于Hessian检测器,它使用Hessian矩阵来检测关键点并去除边缘,
我会尽量避免数学,因为很容易找到数学和“如何做”教程。
所以,我首先要指出一件非常重要的事情:不计算单个像素的哈里斯,而是计算该像素周围的附近(图像块)!令 为点 的导数,然后,
是一个高斯核。前面的 eq 告诉您在当前像素周围的 附近积分导数值。邻居的每个值都乘以一个随着距离的增加而缩小的值。递减规律遵循高斯,因为 是高斯以 为中心。数学就是这样。
现在,回到经验观察。如果您仅使用导数,并且该像素是线性结构(边缘)的一部分,那么您会得到对导数的强烈响应。另一方面,如果像素位于拐角处(两条边的交点),则微分响应将自行抵消。
话虽如此,Hessian 能够在没有“取消”效应的情况下捕获该附近的局部结构。但非常重要的是,您必须整合才能获得合适的 Hessian。
拥有使用 Harris 方法或通过其他方式获得的 Hessian 矩阵,您可能想要提取有关附近的信息。有一些方法可以获得关于当前像素、角落等处有边缘的可能性的数值。检查角落检测理论。
现在,关于“稳定点”或突出点。想象一下你在一个没有 GPS 并且只有一张好地图的外国小镇。如果您被“传送”在街道中间,您可能会在地图上找到这条街道,但您无法确定您在那条街道上的确切位置,或者您应该向左或向右移动的方向(在地图上) )。现在想象一下,你在一个十字路口。然后,您可以精确地在地图上指出您的位置!(当然,假设两条街道相交不超过一次)。
现在想象一下,您必须匹配两个图像。一个充当地图,另一个充当城市。您必须找到可以唯一描述的像素,以便进行匹配。检查此帖子上的图像,例如匹配。这些点称为突出点。此外,当图像被缩放、平移、旋转、倾斜等(仿射变换)时,角点往往不会改变它们的“角点”属性。这就是它们被称为“稳定”的原因。
图像中的某些点允许您唯一地识别它们。这些像素位于拐角处或线的交叉处。想象一下你附近的 $V$ 在一条线上。除了线路的方向外,您在该附近找不到任何其他东西。但是如果 $V$ 在一个拐角处,那么你可以找出相交线的方向,也许是角度等。 is on a line. Except for the orientation of the line, you cannot find anything else from that vicinity. But if is on a corner, than, you can find out the directions of the lines that intersect, maybe the angle, etc.
并非所有的角点都是突出的,但只有角点才有很大的突出机会。
希望能帮助到你!
ps 如何判断一个点是否是角点,看看 Harris 论文。
pps 更多关于匹配,搜索 SIFT 或 SURF。
ppps Harris 方法有一个“概括”,称为结构张量。检查Knutsson的开创性工作!
对于使用的另一个观点,请记住一阶导数 ( ) 是某个点的斜率,并说明图像在或方向。
二阶导数是曲率——它们表明点周围的区域是向上还是向下凹。要记住它是如何使用的,请回忆多变量计算中的二阶导数测试以找到局部最大值/最小值:
https://en.wikipedia.org/wiki/Second_partial_derivative_test
测试是,这正是 SURF 的特征检测器(以及其他兴趣点检测器)中使用的。它被称为“Hessian 的行列式”,,因为它使用 2x2 矩阵的行列式来总结一个点的曲率。
当时,该点看起来像一个向上或向下的碗,而看起来像一个鞍点。由于边缘看起来更像马鞍而不是碗,这是您可以使用 Hessian 将良好、稳定的兴趣点与边缘分开的一种方法(但您也可以使用做其他技巧) :