基于角度累加的自适应角点检测方法

文档序号:9811386阅读:546来源:国知局
基于角度累加的自适应角点检测方法
【技术领域】
[0001] 本发明涉及一种基于角度累加的自适应角点检测方法,可应用于目标识别、立体 匹配、运动跟踪、3D重建等方面,属于图像处理技术领域。
【背景技术】
[0002] 角点是图像的一种重要局部特征,角点在保留物体重要特征信息的同时有效地减 少了信息的数据量,使图像处理的运算量大大减少。此外角点集中了图像上的很多重要的 形状信息,并且具有旋转不变性,因此角点几乎不受光照条件的影响。在基于特征的图像配 准、图像理解及模式识别等领域中,角点检测具有十分重要的意义。
[0003] 到目前为止,有大量基于边缘的角点检测方法被提出,这些方法主要分为以下三 类:
[0004] (1)基于CSS的角点检测
[0005] 基于CSS的角点检测的一般方法为:先在较大的尺度下计算出边缘点曲率,取局部 极大值点为候选角点,通过全局阈值来去除伪角点,最后在低尺度下对角点进行精确定位。 这类方法面临着以下不足:一是由于曲率自身的性质,需要计算一阶二阶导数,使得算法对 边缘局部的变化非常敏感;二是选择适当的高斯尺度依然非常困难。所以该类角点检测方 法的正确率比较低。
[0006] (2)基于CPDA的角点检测
[0007] 基于CPDA的角点检测方法采用点到弦距离累加来作为边缘点的特征描述,由于该 特征的计算完全是基于欧式距离,所以算法避免了 CSS算法存在的问题。但这类方法却面临 着以下问题:由于不同类型的角点的特征值相差很大,不同弦长下同类型的角点特征值相 差也很大,从而此类算法必须对角点特征值进行归一化(除以同一条曲线上的最大值),但 这会带来新的问题:如曲线上存在尖锐角点,其特征值非常大,则特征值较小的角点在归一 化后并不能同伪角点有效区分开;又如曲线上若不存在真实角点,则一些伪角点通过归一 化后的特征值将会非常大,会被误检测为角点。
[0008] (3)基于Angle的角点检测算法
[0009] 基于Angle的角点检测,采用边缘点与一条弦的端点连线构成的角度来作为特征 描述,Angle的大小不仅可以反映边缘点特征,并且Angle值永远固定在一定的范围之内: [0,4,所以并不需要进行归一化,避免了基于CPDA的方法所存在的缺点。但是这类方法尚 存在着很多不足:不能检测出邻近角点,无法有效去除圆形角点、虚假角点。
[0010]本发明属于第⑶类基于Angle的角点检测方法,称为基于角度累加的自适应角点 检测方法。

【发明内容】

[0011]为了克服现有的基于边缘的角点检测方法中存在的缺陷,如角点错误率过高、角 点定位精度低等问题,本发明提出一种基于角度累加的自适应角点检测方法,以便快速而 准确的定位出角点。
[0012] 为实现上述目的,本发明提出了基于角度累加的自适应角点检测方法,所提方法 在获取图像边缘后,定义反映边缘点局部特征的角度累加的概念,并计算边缘点角度累加 值,以此作为角点初始响应;然后构造候选角点的局部自适应阈值来去除圆形角点;接着获 取角点特征值,并构造全局阈值来去除虚假角点,得到最终角点检测结果。
[0013] 本发明基于角度累加的自适应角点检测方法具体步骤包括以下几个步骤:
[0014] (1)采用canny算子来提取边缘,由一个小窗口高斯核来平滑曲线;
[0015] (2)采用L值为6的弦来计算边缘点的角度累加值,取极小值点为候选角点;
[0016] 在步骤(2)中,首先定义了角度累加的概念:将边缘上的像素点分别标为Pi, P2,. . .,Pk,Pk+i,…,Ρη,η为曲线上边缘点个数,对于曲线上各边缘点Pk,弦Cl从Pk-L+iPk+i位置 开始,连接弦Pk- L+1Pk与弦PkPk+1,计算这两条弦的夹角0k,k- L+1,然后弦CL右移一个像素到Pk-L+ 2Pk+2,计算弦Pk-i +2Pk与弦PkPk+2的夹角9k,k-L+2,由此类推,直到弦Cl移动到Pk-iPk+L-i位置为止, 计算所有夹角之和,即为边缘点P k处的角度累加值0L(k)。
[0018]然后取一根较短的弦Cl(L = 6),计算曲线上各像素点的0办)值,由于0k,k-L+j的范 围为[0^],所以t(k)的范围为[0,α-ι)π],为了使实验数据更加直观,将角度累加值进行 式⑵变换得到Θ^ΟΟ,其范围为[0,1],取极小值点并入候选角点集合。
[0020] (3)构造候选角点的局部自适应角度阈值来去除圆形角点;
[0021 ]在步骤(3)中,通过角点邻域内的边缘点Θ ' L(k)值来构造自适应阈值Tk,如式(3)所 示,若候选角点的0'L(k)大于自适应阈值的是圆形角点,从候选角点集合中剔除。
[0023] 其中,X为比例系数,取值为0.96儿1和1^2分别为左右邻域大小儿 1 = 1^11〇^16代), L2=min(L,right)儿=6,]^1:、1^111:分别为点?1<到左、右边极大值点的边缘点数。
[0024 ] (4)对候选角点采用L值分别为10、20、30的弦来计算候选角点的特征值,并构造全 局阈值来去除伪角点,得到最终角点集合。
[0025]在步骤(4)中,采用长分别为10、20、30的弦,如式(4)对三者进行乘积得到候选角 点的特征值Φ (k),然后由式(5)构造全局阈值T,其中angle是人为设定的钝形角度值,若候 选角点的特征值Φ(10小于全局阈值,则为虚假角点,从候选角点集合中剔除。
[0028]与现有方法相比,本发明的优越性体现在:
[0029] (1)仅仅使用了图像边缘结构信息,方法简洁明了;
[0030] (2)对图像中的每一条曲线,以边缘上的各点角度累加作为其特征值,使角点检测 鲁棒性更强;
[0031 ] (3)构造了局部自适应阈值,能有效的去除圆形角点;
[0032] (4)通过'多弦'方法来获取了角点的特征值,使真实角点和虚假角点更加有效的 区分开来;
[0033] (5)具有较强的抵抗噪声干扰的能力。
【附图说明】
[0034] 图1是本发明方法的流程图;
[0035] 图2是进行角点检测的原始图像;
[0036]图3是对原始图像进行边缘提取后的效果图;
[0037]图4是计算角度累加的原理示意图;
[0038]图5是原始图像中提取出的候选角点;
[0039]图6是去除圆形角点的原理示意图;
[0040]图7是选择比例系数的实验图;
[0041 ]图8是对原始图像去除虚假角点的实验图;
[0042]图9是原始图像中检测出的最终角点图。
【具体实施方式】
[0043]为了更好的理解本发明的技术方案,下面结合附图和实施例,对本发明作进一步 的详细描述。
[0044] 本发明方法对图像进行角点检测的流程图如图1所示。
[0045] 读入图像后进行边缘检测,高斯平滑;计算边缘上个点的角度累加值;构造局部自 适应阈值去除圆形角点;计算角点的特征值,构造全局阈值去除虚假角点。
[0046]本发明的实施例按附图1所示步骤进行,具体如下:
[0047] 1、读取图像、边缘检测、高斯平滑
[0048]读取的原始图像如图2所示,用边缘检测算子对图像进行处理,得到二值化边缘后 进行高斯平滑,图3为对高斯平滑后的效果图。
[0049] 2、候选角点初始集合
[0050]图4为计算边缘点角度累加值的原理示意图,下面对照图4来对角点累加进行具体 的说明。
[0051 ]图4中,在图像边缘局部轮廓上,Pi,P2,···,Pn是曲线上的η个边缘点。计算边缘点Pk 的角度累加的原理为:由一条长为L的弦Cl从Pk-uiPk+i位置开始,连接弦Pk-L+iPk与弦PkPk+i, 计算这两条弦的夹角9k,k- L+1,如式(1)所示,然后弦CL右移一个像素到Pk-L+2P k+2,计算弦Pk-1+ 2Pk与弦ΡιΑ+2的夹角0 k,k-L+2,由此类推,直到弦α移动到Pk-iPk+^位置为止,计算所有夹角之 和,即为边缘点Pk处的角度累加值0 L(k),如式⑵所示。

[0054]所提方法的依据是:在角点处,左右两条弦构成的支撑角度比较小,并且会在局部 形成一个极小值。本文通过移动α来获取更多的支撑角,通过求和得到角度累加值,鲁棒性 更高,能更好的反映出边缘点特征。由于9 k,k-⑷的范围为[0,31],所以0L(k)的范围为[0,(L-1>],为了使实验数据更加直观,将角度累加值进行式(3)变换得到0\(k),使其范围变为 [0,1]:
[0056] 选取出局部极小值点为候选角点如图5所示,图5为从原始图像中检测出的角点效 果图,用' □'标示的即为候选角点。
[0057] 3、去除圆形角点
[0058] 圆形物体并不会在人眼中产生很明显的角点,所以在对图像的识别中,圆形角点 并不那么有意义。但是圆形角点的0'L(k)值与一些真实角点相似,并且也会形成局部极小 值,所以在2步骤中进行候选角点的提取中,圆形角点也被选入在内。为了剔除圆形角点,接 下来所提算法
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1