英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
一种改进的在水下对目标角点检测的快速Harris算法
徐建、陈晓媛、宋小平、顾文
哈尔滨工程大学自动化系
摘要
为了确保UUV捕获的图像具有低对比度和精准的噪声匹配,本文提出了一种改进的角点检测方法。首先,将Harris算法与Harris等变换相结合应用于多尺度多方向角点检测,克服了角点和位置偏移信息丢失的影响。其次,具有自适应阈值的FAST用于消除虚假角点。 最后,用非最大值抑制来抑制角点聚集。仿真研究是基于实验捕获的灰度图像的,用以证明所提出的算法的有效性和可行性。
关键词:角点检测;快速Harris算法;多尺度;自适应阈值
第1章 绪论
当无人水下航行器(UUV)自动执行某项任务时,比如管道勘测,电缆维护。由于水下环境的光照不均匀,机械运动不稳定和模糊等特征,因此对图像进行匹配得到近距离内的目标位置和姿态都是通过采集的图像进行的[1],而角点检测是图像匹配的关键步骤。而UUV缺乏对比度和噪声,这加剧了角点检测的难度。
人们已经探索出了无数种角点检测的方法。例如Moravec角点检测算法[2]定义了低自相似性的角点,FAST算法[3,4,5]通过与周围像素密度比较来检测角点,而Harris算子通过自相关矩阵的曲率获得角点[6,7]。到目前为止,Harris算法由于其旋转鲁棒性,可以叫好的适应光照和噪声的变化,它已被广泛应用于立体匹配。但是,该算法无法准确进行角点定位并且对噪声很敏感。因此,许多学者对算法进行了改进。其中Telle和Aldon重新定义了角落响应函数[8]。Rohr基于M [9]的行列式开发了一个不变的角点检测器。Mikolajczyk通过使其适应规模变化来优化Harris算子[10]。 而Manjunath [11]提出了一种基于图像梯度结构张量检测角点的新方法。
到目前为止,由于水下条件恶劣,通常不对UUV捕获的图像进行角点检测。因此,本文在详细分析检测原理的基础上,提出了一种改进的角点检测方法。它将Harris角点检测算法与轮廓t变换相结合[12],并将FAST应用于自适应阈值。最后应用非最大值抑制来抑制角点扎堆。对比性的实验证明了本文所提出的角点检测和噪声抑制方法的有效性和可行性。
第2章 检测原理
2.1Harris算法
2.1.1 算法理论
Harris角点检测算法是一个通过在各种方向上移动来测量局部变化的自相关函数[6],高斯平滑滤波在稳定性和鲁棒性方面具有良好的性能。将图像用I表示,图像I在点(u,v)出平移(x,y)后产生的灰度变化c(x,y)如下:
其中w(u,v)是一个窗口函数,通常将这个窗函数定义为高斯函数以减少噪声引起的干扰。 根据泰勒展开式,I(u x,v y)可以近似为:
其中Ix和Iy都是图像I的一阶偏导数,因此等式可以化为:
它可以用下面的二项函数来表示:
其中M是像素(x,y)的局部自相关矩阵。
二次项函数本质上是一个椭圆函数,其灰度变化最快和最慢的两个方向由M的特征值lambda;1和lambda;2确定,并且其方向由M的特征向量确定。椭圆方程是:
通过分析两个特征值的特征,我们可以得到lambda;1和lambda;2与角,边和平面的关系,它们可以分为图1中表示的三个不同的区域。
图1 Harris角点检测理论
·边界:如果lambda;1asymp;0且lambda;2值很大,那么这里是边界点。
·平面:如果lambda;1和lambda;2值都很小近似为0,那么这里是平面
·角点:如果lambda;1asymp;0且lambda;2值都很大,那么这里是角点。
Harris和Stephens指出,因为两个特征值的计算需要计算平方根,想要精确计算两个特征值所耗费的计算量是很大的,所以他们提出了以下函数:
其中a是在0.04〜0.15之间凭经验确定的可调的灵敏度参数。
2.1.2 Harris角点检测不足
(1)参数a在角点检测中的影响
假设我们已经的到lambda;1和lambda;2的值,我们可以列出下面的的等式:
假设lambda;1ge;lambda;2ge;0,lambda;1=lambda;,lambda;2=klambda;,0le;kle;1,然后式子可以等价为:
如果Rge;0,那么:
对于较小的k值而言,
因此,可以推论,如果K增加,角点响应R将减小,这样拐角检测的灵敏度较低并且减少了检测到的数量。但是,如果k减小,则拐角响应R将反而增加,从而增加拐角检测灵敏度和检测到的数量。
- 不具有尺度不变
如图2所示,当线条变窄时,同一个窗口大小中的线条段的内容完全不同,左侧的线将会被检测为边缘或曲线,但右侧的图像可能被检测为角点。
图2 尺度变换对Harris角点检测的影响
- Harris算子具有灰度不变性
由于Harris在进行Harris角点检测是,使用了微分算子,因此对图像的亮度和对比度进行仿射变换并不改变Harris相应值R的极值的出现位置,只是由于阈值的选择,可能会影响检测角点的数量。
- Harris算子具有旋转不变性
二阶矩阵M可以表示为一个椭圆,当椭圆旋转时,特征是并不随其变化,判断角点的R值也不会发生变化,因此Harris算子具有选择不变性。当然,平移更不会引起Harris算子的变化。
2.2FAST算法
将p被视为角点。考虑图像中半径为3的任意Bresenham圆形模板区域。如图3所示。
图3 图像平面上的FAST特征检测算法
它通过检查c周围16个像素的圆来执行。如果超过12个连续像素的亮度全部低于或高于p阈值,则将在p处确定拐角。为了更快速地排除假像素,可以通过检查像素1,5,9和13来优化测试,因为只有当三个或更多这些测试点全部低于或高于阈值t的p的强度时才存在特征。对于圆上的每个点x isin;{1 ... 16},相对于p的位置上的像素,由p变为x将具有三个状态,由:
其中Ip是圆上像素的强度,t是阈值;视为圆周围的任意像素强度,d、s、b是圆上像素的三种强度状态。
FAST算法执行时间短,但由于依赖于角点的形状排列和分布来提取角点,因此附加地检测到多个相邻特征点,这导致了特征角点的聚集。
- 改进的Harris-FAST算法
3.1 算法思路
Harris算子不具有尺度不变性的特征,只能在单一尺度上检测角点,这通常会导致检测虚假角落或丢失一些重要的角落,特别是当图像对比度低时。轮廓t变换是由DO和Vetterli提出的多分辨率和多方向的一种变换。它是一个多尺度的几何分析工具,它允许在每个尺度上有不同数量的方向。由于其对图像的各向异性特征表现良好,可以更好地捕捉图像的Harris,边缘和纹理信息。因此,当应用它来检测对比度较低的图像的角点时,仍然可以在昏暗环境中正确检测角点。在这里,我们将轮廓t变换与Harris算子结合,将图像分解成不同的尺度和方向。这可以增强算法检测角点和抑制噪音的能力。
在参考文献[13]中,我们根据图像分辨率从高到低的顺序,用轮廓t分解来分解图像。第一层分解为16个方向子带,第二层分解为8,最后将第三层和第四层分别分解为4和3个方向子带(不包括低频分解系数)。水平和垂直方向的高斯函数表示如下:
假设theta;是一个角度算子,那么任何梯度theta;可用的高斯函数表达式可以表示为:
其中Gx和Gy是Gtheta;的分解后的部分,我们称它们为Gtheta;的基准过滤器。Cos(theta;)和sin(theta;)是相应的基本滤波器插值函数。把等式(15)代入方程(3)得到
为了更精确地检测角点,使用图像强度一阶导数的局部自相关函数来消除不稳定边缘点产生的干扰。在这里,det 被定义为消除那些不稳定的边缘响应[14]。
只有当det M大于一个接近于零的负数时,角点才被保留,在本文的实验中负数为-0.005。
改进Harris角点检测后,有效检测出多方向,多尺度的特征点。但是,同时产生多余的角点。由于FAST算法可以在去除冗余点方面取得良好结果。因此,它被用于消除虚假的角点。在这里,提出了改进的自适应阈值而不是传统的经验阈值。它被定义如下:
其中
I(i u,j v)是圆上的像素强度(u=-3~3,v=-3~3)并且I(i,j)是园中心的像素强度。
3.2 具体步骤
通常,改进的Harris-FAST角点检测算法可以总结为以下几个步骤:
步骤1:用轮廓t分解分解图像,并计算每个像素的相关矩阵。获取各尺度上各像素的角点响应函数,其响应函数如下:
步骤2:计算每个元素的角点响应,如果R小于某个阈值,则将R设置为0。保存检测到的特征点的位置,包括正确的角点和假角点。然后消除不稳定的边缘点;
步骤3:采用自适应阈值FAST算法判断位置1,5,9,13周围的密度,消除虚假角点;
步骤4.使用非最大值抑制,避免相邻的角落聚集,使之看起来排列整齐。
第4章 实验和分析
为了验证改进算法的有效性,这里构建了UUV双目视觉系统(图像采集卡模型:DH-QP300,视觉引导计算机模型:PC104-RTD)。安装摄像机之间的防水手电筒(Kongsberg OE11-130)(Kongsbergoe15-101C)作为光源。在水池中捕获的灰度图像,如图4所示
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
图4 UUV双目视觉模拟测试场景
4.1Harris结合轮廓t变换的前后对比测试
在本节中,传统的Harris算法用于结合Harris波变换之前和之后,以验证检测拐角的有效性。
- Harris算法角点检测 (b)结合Harris变换后的角点检测
图5 Harris角点检测算法在结合Harris变换前和结合Harris变换后的效果
表格1: 像素尺寸576 * 508的图像在结合轮廓t变换前后提取角点效果
显然,目标上角点的数量没有明显的改变。在这里,先不去管丢失的角点,仅仅在表中分析正确的角落和虚假的角点。从图5和表1可以看出,Harris检测到的角点小于与Harris波变换相结合所检测到的角点,因为Harris波变换可以提供任意方向的角点信息,而不带轮过变换是检测的一般的角点。此外,它提高了角点检测的正确率。
4.2角点检测的比较测试
在本节中,我们将所提出的算法与Harris算
全文共6134字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[16189],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。