空间矩亚像素算法在角点提取中的应用与实现 亚像素边缘检测算法
摘要:角点检测能否达到亚像素精度对视觉系统精度有很重要的影响。本文分析了空间矩亚像素算法基本原理及其原理误差的产生的原因,并在角点提取中采用任意角度边缘的误差函数对误差进行校正,实验数据表明,通过误差校正后角点检测精度大大提高,而且减少了以往使用校正表带来的计算量、查寻时间和存贮空间等。
关键词:亚像素 空间矩 误差校正 角点提取
1引言
为提高角点检测的精度,往往还需在像素级的角点上进行亚像素定位。常见的亚象素检测方法:Hueckel[1]用拟合参数方程方法达到亚象素定位;Tabatabai[2]提出了基于灰度矩的亚像素算法。
2 空间矩检测算法原理[ 3]
二维连续边缘模型如图1所示。其中l为边缘点到原点的归一化距离,h为背景灰度值,k 为边缘对比度。
连续二维函数 f (x, y)的空间矩定义如下:
旋转后的空间矩为:
再由旋转后的各阶矩与边缘参数的关系:
从而可解出边缘参数:
3 误差分析及算法改进
以上推导建立在理想的二级边缘模型下,实际的原始图像在边缘处有一个渐变的过渡阶段,这就要求在一个采样窗口内用三级灰度来描述边缘。其中 h、h+δk 和h+ k。h代表背景灰度,h+δk 代表过渡阶段灰度,而h+ k 为目标灰度。我们用l1和l2 分别表示采样像素边缘距中心像素的距离。
但三级边缘模计算过程极其复杂,所以仍然用二级边缘公式计算三级边缘,这就带来了所谓空间矩算子的原理误差。Lyvers[3 ]提出用误差校正表来进行校正,但该方法计算量大,查寻时间长,并且需要很大的存贮空间。
经过推导可以得到空间矩亚像素边缘位置的原理误差函数[4]为:
最后整理得到的误差校正函数中含有l,φ,l1,l2 四个参数,在角点检测的时候加上这个原理误差,对结果进行校正。该函数由于具备一些特殊性质,在实际应用中更具实用性。
4 角点检测实验
为验证亚像素角点提取算法的准确性,采用了人工绘制的等间距的棋盘格图片作为测试图片,每个格子的边长都是30个像素,经harris和亚像素算法检测后,取其中一行格子角点做对比,本项目首先采用harris算法提取像素级别的角点,然后采用改进的空间矩算法求得亚像素位置,检测数据如表1所示。
从表1可以看出,角点经过改进算法检测后,角点的重复性精度好于0.3个像素,从而使检测精度大大提高。
5 结语
本文深入分析空间矩亚像素算法基本原理,分析了空间矩算法的原理误差的起因,推导出任意角度边缘的原理误差函数,最后在角点提取实验中对空间矩算法及推导的误差函数的有效性、精度进行了验证。实验数据表明,通过误差校正函数的校正后边缘定位精度提高,而且减少了以往使用校正表带来的计算、查寻时间和存贮空间。
参考文献
[1] Hueckel MF. A operator which locates edges in digitized pictures[J ] . JACM ,18 :113 � 125(1971).
[2] Tabatabai, A.J. & Mitchell, O.R. Edge Location to Subpixel Values in Digital Imagery. Ieee Transactions on Pattern Analysis and Machine Intelligence 6, 188-201 (1984).
[3] Lyvers, E.P., Mitchell, O.R., Akey, M.L. & Reeves, A.P. Subpixel Measurements Using a Moment-Based Edge Operator. Ieee Transactions on Pattern Analysis and Machine Intelligence 11, 1293-1309 (1989).
[4] 刘亚威,杨丹,张小洪. 基于空间矩的亚象素边缘定位技术的研究.计算机应用,2,47-49(2003).
注:青年预研基金资助项目(编号:07zx3142)
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
