基于多尺度离散曲率的图像角点检测方法

2021-11-13 07:55景军锋孙久锐章为川白萌萌
西安工程大学学报 2021年5期
关键词:角点检测器曲率

景军锋,孙久锐,章为川,白萌萌

(西安工程大学 电子信息学院,陕西 西安 710048)

0 引 言

图像特征检测是计算机视觉和图像处理的重要任务。在特征检测中,角点是最具代表性的特征之一。有许多应用依赖于角点检测,包括运动跟踪[1]、目标识别[2]和图像配准[3]。角点可以定义为边缘轮廓上轮廓方向变化剧烈的点,也可以定义为一个曲率较大的点[4]。通常,大多数角点检测器可以分为3类[5]:基于灰度强度[6-12],基于模型[13]和基于轮廓[14-29]的方法。

本文主要研究基于轮廓的角点检测算法,现有的基于轮廓的角点检测算法通常先用边缘检测器从输入图像中提取平面曲线,然后沿着曲线像素搜索局部曲率极大值点[15]。1992年,RATTARANGSI等基于曲率尺度空间提出了一种多尺度算法,提升了在检测复杂图像和多尺寸图像上的性能[16]。1998年,MOKHTARIAN等改进了这一算法,该算法把图像边缘点的曲率绝对值极大值点定义为角点,并且在小尺度追踪角点提高定位能力[17]。2001年,HAN等使用弦到点的累加距离(chord-to-point distance accumulation,CPDA)计算边缘点的离散曲率[18]。其后,AWRANGJEB等在此基础上提出了CPDA角点检测算法,指出采用传统曲率计算方式会导致检测器对噪声和局部变化敏感[19]。ZHANG等提出了利用不同尺度乘积的多尺度算法来进行角点跟踪,减少了虚假角点的产生[20]。YUNG等提出基于全局和局部曲率特性的角点检测算法,即He&Yung算法,使用动态支撑区域计算自适应阈值去除错误角点,提高了检测准确性[21]。为了提高角点检测器对仿射变换的鲁棒性, AWRANGJEB等利用仿射长度参数化曲线进而求得曲率,提出了仿射弹性曲率尺度空间角点检测器,该检测器对仿射变换具有良好的鲁棒性[22]。文献[5]提出了利用各向异性高斯方向导数(anisotropic directional derivative,ANDD)对角点进行检测。文献[23]利用Gabor滤波器平滑边缘像素来检测角点。文献[24]在一个连续的空间内用切尔雪夫多项式拟合来计算边缘像素的曲率,从而达到检测角点的目的。文献[25]提出了基于各向异性高斯核的边缘检测器。文献[26]提出了使用多尺度多方向结构张量的角点检测器。文献[30]提出了一种改进的剪切波变换,具有灵活的方向数和合理的支持,可以从图像中提取准确的多尺度和多方向的结构信息。文献[31]指出了现有离散曲率计算技术主要存在2个缺陷:①现有的曲率计算无法准确区分边缘和角点;②对局部变化和噪声敏感。同时,它提出了一个新的离散曲率计算解析式,但它并没有考虑到不同尺度空间的角点情况。

为了解决上述问题,本文提出了一种多尺度离散曲率解析表达式的角点检测算法。采用新的曲率度量方法,减少了曲率计算过程的量化误差,对于噪声和细小形变具有鲁棒性。多尺度技术的使用减少了定位误差,提高了在不同尺度下的检测性能。通过使用2幅常用的带有标准角点数据的测试图像(积木图和实验室图)来评估角点检测器的检测准确性和定位精度,并将提出的算法与3种经典角点检测器(ANDD[5]、CPDA[19]、He&Yung[21])进行性能比较。实验表明提出的算法具有更好的角点检测性能。

1 离散曲率计算

1.1 离散曲率计算的问题

首先,令Γ表示用弧长u参数化的规则平面曲线,得

Γ(u)=[x(u),y(u)]

(1)

式中:x(u)和y(u)为坐标函数。曲线Γ(u)的曲率K(u)定义为

(2)

曲线上任意一点Pi的一阶导数和二阶导数分别为

(3)

传统的曲率计算方法不能准确区分角点和边缘,如图1所示,图1(a)为角点模型,图1(b)为曲线的局部形变。

(a) 角点模型 (b)曲线的局部形变图1 角点模型和曲线局部形变Fig.1 Corner model and curve local deformation

(a) He & Yung (b) CPDA

(a) He & Yung (b) CPDA

(a) 标准角点数据实验室图 (b) 标准角点数据积木图图3 标准角点数据的实验室图和积木图Fig.3 Laboratory and block images of standard corner data

1.2 改进的离散曲率计算

本文采用文献[31]提出的离散曲率计算方式,曲线上点Pi的一阶和二阶导数定义为

(4)

(5)

2 角点检测方法

2.1 曲率度量方法

根据文献[31],当相邻距离d较小时,通过曲率计算进行角点检测具有良好的角点定位和邻角分辨能力,但对噪声敏感。当相邻距离d较大时,此时进行曲率计算,曲线局部变化和噪音具有较好的鲁棒性,但会降低角点的分辨率。为了同时获得更好的角点检测精度、角点邻角分辨能力和噪声鲁棒性,采用一种新的曲率度量方法,可表示为

(6)

式中:d1=2,d2=3。本文采用式(6)所用的曲率度量方法,避免了原有曲率计算只采用紧相邻点(d=1)的计算方法,具有良好的噪声鲁棒性和角点检测精度。

2.2 多尺度技术的应用

在角点检测过程中,为了减轻量化误差的影响,采用曲率尺度空间技术[17]进行角点检测。

Γ(u,σ)为曲线Γ(u)在尺度空间的表达式为

Γ(u,σ)=(X(u,σ),Y(u,σ))

(7)

本文采用的曲率尺度空间多尺度离散曲率表达式为

(8)

为了去除量化噪声和小细节,文献[31]提出的角点检测算法仅采用了较小尺度的高斯滤波器对每条曲线进行平滑处理,在角点检测过程中没有使用多尺度技术。然而,在这一步骤中很难选择合适的高斯平滑尺度。当高斯平滑尺度较大时,它会丢失真实的角点;当高斯平滑尺度较小时,它不能有效克服曲线局部变化和噪声的影响,会检测到假角点。并且在该算法应用于不同的图像时,这种影响更加明显。因此,本文采用了基于多尺度离散曲率解析表达式的角点检测方法,流程图如图2所示。

图2 本文的角点检测算法流程Fig.2 The algorithm flow of corner detection in this paper

具体步骤如下:

1) 将Canny边缘检测器[32]应用于输入图像,得到一个二值化边缘图;

2) 从边缘图中提取边缘轮廓,沿着轮廓填充缝隙,检测并标记T型角点;

3) 在3个不同的平滑尺度下,用高斯函数对每条平面曲线进行平滑处理;

4) 按照式(8)计算经平滑后每个轮廓上点的曲率,并将绝对曲率的局部极大值的点作为各尺度的候选角点;

5) 将候选角点的曲率值与曲率阈值Th比较,大于曲率阈值Th的点定义为真实角点;

6) 将3个尺度下均可检测到的候选角点作为最终真实角点。

3 仿真实验与性能分析

本文算法的仿真实验所使用的平台为i7-3520M处理器,主频2.90 GHz,内存8 GiB,64位Windows操作系统以及Matlab2018a。

利用在图像处理中广泛使用的积木图和实验室图2幅图像对角点检测器进行基于标准角点数据的性能评估[31],然后与其他3种角点检测器(ANDD[5]、CPDA[19]、He&Yung[21])进行正确角点数目、丢失角点数目、错误的角点数目和定位误差的比较。

3.1 检测性能评价

实验所采用的标准角点数据实验室图有249个标准角点,积木图有59个标准角点,如图3所示。

(9)

3.2 检测结果分析

实验结果见图4和图5,其中,图4为角点检测器在实验室图上的检测结果,图5为角点检测器在积木图上的检测结果。

在图4和图5中,对角点检测器检测到的角点用正方形标出。从图4和图5可以看出,CPDA算法检测到的角点个数最少,原因在于CPDA算法在角点检测过程中使用了较大的曲率阈值,这样可以有效减少由于细小形变或噪声导致的错误角点,但漏检了许多真实的角点,导致CPDA检测到的总的角点数目在对比的角点检测器中是最少的,牺牲了整体的角点检测性能。与CPDA算法相比,提出的算法检测到更多的真实角点,角点检测器的整体性能更好,检测到的真实角点明显优于He&Yung算法。

根据3.1的评价准则,计算角点检测器在测试图像积木图和实验室图的正确、丢失和错误角点的数量以及平均定位误差。表1为角点检测器在实验室图上的评价结果,表2为角点检测器在积木图上的评价结果。

表1 实验室图的评价结果Tab.1 Evaluation results for the laboratory image

表2 积木图的评价结果Tab.2 Evaluation results for the block image

根据表1和表2的数据,在原始实验室图中,本文提出的算法的定位误差最低,因为提出的算法在较大尺度检测到角点后,接着在较小尺度追踪定位角点,并使用较小尺度下的位置信息作为角点位置信息。本文算法检测到的正确角点数次于He&Yung和ANDD算法,错误的角点数目仅高于CPDA算法。CPDA算法在2个测试图检测到的错误角点均为0,原因在于CPDA算法在角点检测过程中使用了较大的曲率阈值,这样避免了错误角点,但漏检了许多真实的角点,CPDA检测到的总的角点数目是最少的,牺牲了整体检测性能。本文提出的算法检测到的正确角点数目远多于CPDA算法,而且在丢失的角点数目上,本文提出的算法远小于CPDA算法,可以认为此算法优于CPDA算法。根据表1和表2,本文提出的算法检测到的正确角点的数目略低于He&Yung算法,错误的角点数目远小于He&Yung算法,定位误差小于He&Yung算法,原因在于He&Yung算法只使用了单一尺度检测角点,而本文在较大尺度检测到角点后,在较小尺度追踪定位角点,本文算法的整体角点检测性能更好。提出的算法检测到的正确角点数目小于ANDD算法,错误的角点数目和定位误差也均小于ANDD算法,且在所有算法中ANDD算法的定位误差最高。这是因为ANDD算法以牺牲定位精度来获得更多的角点检测,这也是其错误角点较多的原因,影响其实际性能。因此本文算法综合性能比ANDD算法更好。综合以上分析,本文提出的算法的表现优于其他3种角点检测算法,具有良好的角点检测性能。

4 结 语

图像的特征检测在计算机视觉和图像处理领域是很重要的课题,角点是图像的重要特征,因此对其研究具有重要意义。曲率计算技术在许多基于轮廓的角点探测器中得到了应用,曲率计算技术的核心在于曲率的计算,本文采用了新的曲率计算技术,该方法具有较高的准确检测角点的能力。在此基础上,提出了一种多尺度离散曲率计算解析表达式来计算曲率并检测角点。本文使用具有标准角点信息的积木图和实验室图,通过统计检测到的正确角点数、丢失角点数、错误的角点数和定位误差来评估角点检测器的性能,并与其他3种经典角点检测器比较性能。实验结果表明,提出的角点检测器具有良好的检测性能。但是本算法利用了多尺度技术,在提升角点检测性能的同时增加了计算复杂度。特征点的匹配是一个很重要的应用,因此在下一步的研究中将对提出的角点检测器继续优化,后续将应用到图像配准中。

猜你喜欢
角点检测器曲率
一种改进的Shi-Tomasi角点检测方法
大曲率沉管安装关键技术研究
一类双曲平均曲率流的对称与整体解
带平均曲率算子的离散混合边值问题凸解的存在性
半正迷向曲率的四维Shrinking Gradient Ricci Solitons
基于二次否定剪切选择的入侵检测方法*
基于FAST角点检测算法上对Y型与X型角点的检测
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
口腔综合治疗台水路回吸检测器的研制与应用