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

文档序号:9811386阅读:来源:国知局
构造了局部自适应阈值来去除圆形角点。
[0059] 经实验发现,如图6所示,相对于钝形角点和尖锐角点,圆形角点邻域内边缘点的 0'L(k)值上升比较缓慢,而钝形角点和尖锐角点邻域内的边缘点0' L(k)值上升比较迅速,从 而相对来说,圆形角点的0'L(k)值与其邻域内的0'L(k)平均值比较接近。根据这个特性,所 提算法根据角点邻域内的边缘点9'Uk)值来构造自适应阈值T k,如式(4)所示,若角点 (k)值大于它的局部自适应阈值,则该角点为圆形角点,从候选角点集合中剔除,若角点 (k)值小于它的局部自适应阈值,则为尖锐角点或钝形角点。
[0061] 其中,X为比例系数,U为左邻域的长度,。为右邻域的长度。接下来讨论一下上述 方法中存在的两个关键问题:邻域大小和比例系数的选择。
[0062] 3.1邻域大小
[0063] 关于所选邻域大小,可以选择角点左右两侧极大值点为界限,但是这样的邻域范 围太大,不管是圆形角点还是非圆形角点,邻域两侧末端的边缘点0' L(k)值都已接近于1, 若将这些边缘点考虑进去的的话会使自适应阈值整体增大,不利于区分出候选角点是否为 圆形角点。考虑到候选角点是由弦长L来计算0' L(k)值得到的,可将左右邻域长度定为弦长 L,如式(5)所示,其中,Ω (Pk)为角点Pk的邻域范围,Pk_i与Pk+i分别为角点P k左右邻域内第i 个像素点。
[0064] Ω (pk) = {pk_L, . . . ,Pk-i,Pk,Pk+i, . . ,Pk+L} (5)
[0065] 实验表明,上述邻域范围有着良好的效果,但是对于邻近角点却失效了,算法会错 误的将邻近角点剔除。在邻近角点的邻域内,由于存在着其他角点,所以其邻域Q(P k)内边 缘点的9'Uk)值并没有一直递增,导致在该邻域内的平均0'dk)值降低,使得角点0'Uk)值 大于它的局部自适应阈值,从而邻近角点被剔除。所以所提算法最终结合了弦长和邻域内 极大值点来定义了角点的邻域范围,如式(6)所示:
[0066] Ω (Pk) = {Pk-min(L,left) , . . . , Pk-1, Pk , Pk+1, . . . Pk+min(L, right) } (6)
[0067] 其中min (a, b)为取a、b中的较小值,left为到左边极大值点的长度,right为到右 边较大值点的长度,即1^1 = 111;[11(1^16;^)儿2=111;[11(1^1^8111:)。
[0068] 3.2比例系数
[0069] 由于圆形角点的定义是比较难的,所以比例系数比较难以确定。如一个圆形的物 体是没有任何角点是毋庸置疑的,但是对于一个椭圆物体来讲,若其长轴与短轴的比值b/a 较大,则在其长轴处的角点就很扁,可认为该角点为真实角点。
[0070] 实验设计了两组图像来测试角点0'L(k)值与所选邻域内的平均0'L(k)值的比值关 系。第一组为圆角图像,短轴与长轴的比值(即b/a)在区间[1,4.2]内,间隔为0.2,共17张图 像,实验结果如图7(a)所示,它们比值的取值范围为[0.96,1]。第二组图像为钝角、尖角图 像,在区间[10°,170°]内,间隔为10°,共17张图像,实验结果如图7(b)所示,它们比值的取 值范围为[0.58,0.96]。
[0071 ]由于椭圆角点在b/a值增大的过程中,在比值超过4.2时,它在离散化下的特性已 经偏向于钝形角点,所以可视为真实角点,而超过170°的角点也已经不太明显,故本文的比 例系数X取值0.96。
[0072] 4、去除虚假角点
[0073] 由于曲线是离散化的,并且存在噪声影响,所以曲线边缘点的θ\(1〇极小值点会 很多,其中大部分为虚假角点。在构造角点局部自适应阈值去除圆形角点时,虽然有些虚假 角点本身9' L(k)值就很小,并且它与邻域内的边缘点θ\〇〇值相差无几,从而使得其θ\〇〇 值小于局部自适应阈值而被剔除,但是还有一大部分虚假角点还是保留了下来。
[0074] 虚假角点的Θ ' L(k)值虽然都较小,但它们的值域还是相对比较大的,很难选择一 个固定的阈值来区分真实角点和虚假角点。所提算法为了能设定一个全局阈值来准确的去 除虚假角点,采用了'多弦'的方法,使真实角点和虚假角点能更好的被区分开,方法如下: [0075]采用长分别为10、20、30的弦,如式(7)分别得到各自的0' L(k)值:
[0077]然后如式(8)对三者进行乘积得到候选角点的特征值Φ (k):
[0079] 该特征值可以让真实角点更加区分于虚假角点,如真实角点的0'L(k)值分别为 〇.2、〇.25、〇.3,虚假角点的0\(1〇值分别为〇.8、〇.85、〇.9。取1减去0\(1〇后,真实角点的值 分别为0.8、0.75、0.7,伪角点的值分别为0.2、0.15、0.1,它们的比值分别为4倍、5倍、7倍。 在进行三者乘积后,真实角点的特征值Φ (k) = 0.42,虚假角点的特征值为Φ (k) = 0.003, 乘积后真实角点的特征值是虚假角点的140倍。
[0080] 如图8所示,这四幅图分别为对图4(a)采用弦长为10、20、30得到的[l-0'L(k)]值, 以及它们三者的乘积。从图8(a)、8(b)、8(c)中可以看出,真实角点和虚假角点并没有很好 的被区分开,所以并不能有效的设定一个全局阈值来去除虚假角点,而从8(d)中可以看出, 真实角点和虚假角点得到了很好的区分,使设定一个统一全局阈值来去除虚假角点成为了 可能。由于之前是使用较短的弦来获取候选角点时,所以邻近角点已被很好的区分并保留 下来,此时采用三根较长的弦来计算角点特征值并不会错误剔除邻近角点,因为此时邻近 角点并不用达到极大值,只要它的特征值大于全局阈值即可。
[0081]下面构造全局阈值T来剔除虚假角点,由于钝形角点是真实角点中θ\(1〇值最大 的,所以本文采用钝形角度来构造全局阈值如式(9)所示:
[0083] 其中,angle是人为设定的钝形角度,可以根据不同的需求来设定不同的角度值, 本文选择170°来计算全局阈值T。大于阈值T的角点为真实角点,小于阈值T的角点为虚假角 点,从候选角点中剔除。
[0084] 经过以上步骤即可检测出图像中的角点,如图9所示,图9为原始图像进行角点检 测的最终结果,用' □'标示的即为最终角点。
【主权项】
1.基于角度累加的自适应角点检测方法,具体包括W下步骤: (1) 采用canny算子来提取边缘,由一个小窗口高斯核来平滑曲线; (2) 采用L值为6的弦来计算边缘点的角度累加值,取极小值点为候选角点; 在步骤(2)中,首先定义了角度累加的概念:将边缘上的像素点分别标为Pi,P2,...,Pk, 扣+1,…,Pn,η为曲线上边缘点个数,对于曲线上各边缘点Pk,弦Cl从Pk-L+iPk+i位置开始,连接 弦Pk-wPk与弦PkPk+i,计算运两条弦的夹角目k,k-L+i,然后弦Cl右移一个像素到Pk-L+化+2,计算 弦Pk-wPk与弦PkPk+2的夹角目k,k-L+2,由此类推,直到弦Cl移动到Pk-化+L-1位置为止,计算所有 夹角之和,即为边缘点Pk处的角度累加值0L化);(1) 然后取一根较短的弦Cl,L = 6,计算曲线上各像素点的0L化)值,由于0k,k-w的范围为 [〇,^],所^0^4)的范围为[〇,化-1)^],为了使实验数据更加直观,将角度累加值进行式 (2)变换得到0'L化),其范围为[0,1],取极小值点并入候选角点集合;C2) (3) 构造候选角点的局部自适应角度阔值来去除圆形角点; 在步骤(3)中,通过角点邻域内的边缘点0'L化)值来构造自适应阔值化,如式(3)所示, 若候选角点的e'L化)大于自适应阔值的是圆形角点,从候选角点集合中剔除;(3) 其中,X为比例系数,取值为〇.96;Li和L2分别为左右邻域大小,Li = min(L,left),L2 = 111;[]1化,1';[曲1:),1^ = 6,16的、1'1旨111:分别为点?1^1]左、右边极大值点的边缘点数; (4) 对候选角点采用L值分别为10、20、30的弦来计算候选角点的特征值,并构造全局阔 值来去除伪角点,得到最终角点集合; 在步骤(4)中,采用长分别为10、20、30的弦,如式(4)对Ξ者进行乘积得到候选角点的 特征值Φ化),然后由式巧)构造全局阔值T,angle是人为设定的纯形角度值,若候选角点的 特征值Φ化)小于全局阔值,则为虚假角点,从候选角点集合中剔除;
【专利摘要】基于角度累加的自适应角点检测方法,所提方法在获取图像边缘后,定义反映边缘点局部特征的角度累加的概念,并计算边缘点角度累加值,以此作为角点初始响应;然后构造候选角点的局部自适应阈值来去除圆形角点;接着获取角点特征值,并构造全局阈值来去除虚假角点,得到最终角点检测结果。
【IPC分类】G06K9/46, G06T7/00
【公开号】CN105574864
【申请号】CN201510932329
【发明人】金亦挺, 郑建炜, 邱虹, 王万良
【申请人】浙江工业大学
【公开日】2016年5月11日
【申请日】2015年12月14日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1