首页 理论教育自适应阈值改进的SUSAN算法

自适应阈值改进的SUSAN算法

【摘要】:Smith和Brady[171]提出的SUSAN算法是一种应用广泛的基于图像灰度变化的方法,随后出现的MIC算法[172]等都是它的思想的改进和发展。SUSAN算法就是根据各个待考察点的USAN区域面积来判断当前点是区域内部点、边界点还是角点。图4-7 USAN区域图解图4-8所示为SUSAN算法的三种近似圆形模板,在实际应用中,37邻域的7×7模板最为常用。灰度差阈值t决定了SUSAN算子所能检测到的最小的对比度以及去除噪声点的能力。

Smith和Brady[171]提出的SUSAN算法是一种应用广泛的基于图像灰度变化的方法,随后出现的MIC算法[172]等都是它的思想的改进和发展。该算法使用一个可调节大小的圆形模板,模板内的每一像素点灰度值与中心像素点灰度值比较,灰度值与中心像素点相近的点组成的区域,称为USAN(Univalue Segment Assimilating Nucleus)区域。SUSAN算法就是根据各个待考察点的USAN区域面积来判断当前点是区域内部点、边界点还是角点。

1.基于SUSAN算法的角点检测

如图4-7所示,a点模板处于背景中,整个模板都属于USAN区域;b点有超过一半的像素点属于USAN区域;c点模板内有一半像素点属于USAN区域;d点有少于一半的像素点属于USAN区域。可见,如果待考察的像素点是角点,USAN区域的面积最小。

978-7-111-38182-2-Chapter04-38.jpg

图4-7 USAN区域图解

图4-8所示为SUSAN算法的三种近似圆形模板,在实际应用中,37邻域的7×7模板最为常用。

SUSAN算法的数学描述为:使用近似圆形的模板(窗口)在图像上滑动,在每一个位置考察当前像素点的USAN区域面积。具体方法是比较窗口内的每一个点与中心点的灰度值差异:

978-7-111-38182-2-Chapter04-39.jpg

为了得到更好的稳定性和有效性,可以用下面的判别函数:

978-7-111-38182-2-Chapter04-40.jpg

式中,978-7-111-38182-2-Chapter04-41.jpg是当前像素点(中心点)的位置,978-7-111-38182-2-Chapter04-42.jpg是圆形窗口内其他任意一点的位置,I978-7-111-38182-2-Chapter04-43.jpg→)表示978-7-111-38182-2-Chapter04-44.jpg点的图像灰度值。t则是预设的灰度差阈值,理论和实践都证明,一般指数为6时t取25效果最好。

计算以978-7-111-38182-2-Chapter04-45.jpg为中心像素点的模板内USAN区域大小的公式表示如下:

978-7-111-38182-2-Chapter04-46.jpg

接着,将n(978-7-111-38182-2-Chapter04-47.jpg)与预先给定的几何阈值g进行比较,可以得到图像的初始角点响应:

978-7-111-38182-2-Chapter04-48.jpg

R(978-7-111-38182-2-Chapter04-49.jpg)为反应函数,经过局部非极大值抑制NMS(Non-maximum Suppression)之后确立为角点。因为在角点的一个邻域内往往不止一个点的R(978-7-111-38182-2-Chapter04-50.jpg)值大于零,只有R(978-7-111-38182-2-Chapter04-51.jpg)值最大的点才被确立为角点。

978-7-111-38182-2-Chapter04-52.jpg

图4-8 SUSAN算法的模板

SUSAN算法的优点是在角点检测时不需计算梯度,不需插值且不依赖于前期图像分割的结果,直接对像素的邻域灰度值比较即可检测出角点,速度比较快,有一定的抗噪声干扰能力。但是采用预设的固定阈值限制了该算法的适用范围,需要对其做相应的改进,使得它可以根据具体情况自适应地调整阈值。

2.灰度阈值的自适应计算

在SUSAN算法中,几何阈值g和灰度阈值t的作用比较重要。几何阈值g决定了提取的角点的尖锐程度,g越小提取的角点越尖锐。在用SUSAN算法进行边缘提取的时候通常取g=34nmax,进行角点提取的时候,则取g=12nmax

一般而言,对于g不需要通过调整就能取得较好的效果。灰度差阈值t决定了SUSAN算子所能检测到的最小的对比度以及去除噪声点的能力。t越小,检测到的角点就越少,有可能漏检。t越大,所能检测到的角点就越多,但有可能误检。因此,如果对于灰度细节比较丰富的图像使用统一的灰度差阈值t,检测效果会不好。所以,需要有针对性地给出一种对t值的自适应的提取方法。

对于每个像素点的SUSAN模板,通过计算模板内每个像素点与中心点的灰度差得到该模板的灰度差直方图,然后根据灰度差直方图通过迭代法确定该模板的阈值t,使得对于不同的对比度的图像都能够自适应的计算出每个模板内适合的t值。

首先计算模板中每点与中心点的灰度差阈值,然后取灰度差值的均值为迭代初始值t0,如下式:

978-7-111-38182-2-Chapter04-53.jpg

然后根据迭代初值将灰度差直方图分为两部分,进行迭代计算:

978-7-111-38182-2-Chapter04-54.jpg

式中m为模板中像素点和中心像素点的灰度差值,h (m)为模板中具有该灰度差值的点的数量,Cmax为灰度差值的最大值,迭代终止的条件是ti+1-ti=0。

因为每个模板的t是根据模板内的灰度差值确定的,因此能够很好地检测到不同灰度对比度下的灰度变化,使得USAN区域的判断更加准确。