定义
一种基于灰度及模板特征的角点检测算法。
SUSAN(Small univalue segment assimilating nucleus)是一种基于灰度图像以及窗口模板的特征点获取方法,适用于图像中边缘和角点的检测,对噪声鲁棒,而且具有简单、有效、计算速度快等特点。
下图是在一个白色的背景上,有一个深度颜色的区域,用一个圆形模板在图像上移动,若模板内的像素灰度与模板中心的像素(被称为核Nucleus)灰度值小于一定的阈值,则认为该点与核Nucleus具有相同的灰度,满足该条件的像素组成的区域就称为USAN(Univalue Segment Assimilating Nucleus)。可以看出,在边缘或角点处的USAN值最小,可以根据USAN区域的大小来检测边缘、角点等特征的位置和方向信息。
用公式来描述上述过程,就是一个圆形模板在图像上移动,模板内的每一个像素与中心像素进行比较,比较方式如下所示:
其中r0是中心像素,r是掩膜内的其他像素,t是一个像素差异阈值。 然后对上式进行统计,得到的n值就是USAN的大小。得到USAN值后,通过阈值化就可以得到初步的角点响应。一般取值为0.5*Max(n), 也即取值为USAN最大值的一半。
通过上面的方式得到的角点,存在很大伪角点。为了去除伪角点,SUSAN算子可以由以下方法实现:①计算USAN区域的重心,然后计算重心和模板中心的距离,如果距离较小则不是正确的角点;②判断USAN区域的重心和模板中心的连线所经过的像素都是否属于USAN区域的像素,如果属于那么这个模板中心的点就是角点。
SUSAN算子是一个原理简单、易于了解的算子。由于其指数基于对周边象素的 灰度比较,完全不涉及梯度的运算,因此其抗噪声能力很强,运算量也比较小;同时,SUSAN算子还是一个各向同性的算子;最后,通过控制参数t和g,可以根据具体情况很容易地对不同对比度、不同形状的图像通过设置恰当的t和g进行控制。比如图像的对比度较大,则可选取较大的t值,而图像的对比度较小,则可选取较小的t值。
参考文献
[1] Smith S M, Brady J M. SUSAN—a new approach to low level image processing[J]. International journal of computer vision, 1997, 23(1): 45-78.
参阅:Moravec角点检测、Harris角点检测