基于掩模的畸变棋盘格角点检测与排序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第32卷第3期2019年8月
Vol*2No*
Aug*2019青岛大学学报(自然科学版)
JOURNAL OF QINGDAO UNIVERSITY(Natural Science Edition)
文章编号#006-1037(2019)03-0014-06
doi:10*969/j.issn.1006-1037*019*8*3
基于掩模的畸变棋盘格角点检测与排序
缪顺云,徐海芹,刘洋
(东华大学信息科学与技术学院,上海201620)
摘要:针对当前棋盘格角点检测算法对畸变棋盘格角点检测不足的问题,提出了一种基于掩
模的畸变棋盘格角点检测与排序的方法&对所采集的畸变棋盘格图像,依次经过预处理,图
像降噪,闭操作和Canny边缘检测以明确其在背景中的位置&然后,采用改进的Shi-Toma-
si角点检测算法识别并提取棋盘格的所有角点(包括边缘角点),再通过递归排序算法获取
棋盘格行列角点的坐标信息&实验仿真结果验证了所提出的方法的有效性,且相比于基于
传统的Harris角点检测,Shi-Tomasi角点检测的算法,对具有一定畸变的棋盘格图像角点,
具有更优的检测识别能力。
关键词:角点检测;掩模;畸变棋盘格;递归排序
中图分类号:TP391.41文献标志码:A
基于图像采集,处理和识别的机器视觉技术现已得到广泛应用&摄像机标定是其正常工作的基础,而棋盘格角点检测又对摄像机标定起着重要的作用,在相当程度上棋盘格角点检测(1)的准确度决定了摄像机标定[2'3]的准确度&目前,对于棋盘格角点(含边缘角点)的检测,通常采用Harris角点检测.Shi-Tomasi角点检测和基于迭代矫正的角点检测等通用算法,但结果均不如人意「47&Harris角点检测算法使用高斯梯度作为响应函数判断棋盘格图像中的强角点,实验中由于角点处的方格边缘模糊使得角点邻域内存在多个像素点的Harris响应值较高,难以确定实际的角点位置。Shi-Tomasi角点检测算法通过角点数量限制和对响应函数值设定阈值,但是由于图像复杂性,易产生误检和漏检问题&基于迭代矫正的角点检测算法,通过对图像进行仿射变换等方式获取标准棋盘格图像,但经过多次的矫正变换后,易出现角点误检问题&考虑到实验棋盘格图像具有较明显的畸变,使得棋盘格角点检测的困难增加和精度降低&基于此,本文通过优化改进Shi-Tomasi角点检测算法,设计了基于掩模的畸变棋盘格角点检测算法,和可获取并输出棋盘格行列角点坐标信息的递归排序算法,可显著提高角点检测的准确性和精度,保证摄像机标定的准确度&
1畸变棋盘格图像及特征点分析
1.1黑白棋盘格图像的采集
黑白棋盘格是摄像机进行标定所采用的常用图像,如图1所示。该图像主要由相邻黑白方格交替组合而成,是常用的典型棋盘格图像&棋盘图像为N X M的黑白方格组成&在本文中,所需的黑白棋盘格角点包括棋盘格边缘区域的角点数据信息,实验中采用的黑白棋盘格如图2所示。图像主要特征为顶角方格均为白色方格,对于边角的角点提取更方便可靠&实验中,先将设计的黑白棋盘格投影到目标区域,再利用畸变系数较小的鱼眼摄像头进行图像拍摄,采集到具有一定畸变的黑白棋盘格图像样本数据,如图3所示。
1*不同区域的像素点及其灰度特征分析
图4为实验黑白棋盘格图像中几类角点局部示意图&
收稿日期#019-03-05
基金项目:上海市"科技创新行动计划"青年科技英才扬帆计划项目(批准号:18YF1400900)资助&
通讯作者:徐海芹,女,副教授,主要研究方向为智能计算,网络优化,电路进化设计&
第3期缪顺云等:基于掩模的畸变棋盘格角点检测与排序15
图2实验的黑白棋盘格
角点检测就是利用特征提取算子沿着像素点的各个方向进
行一小段位移产生灰度变化,然后计算对应的灰度变化值,变化
最大的值所对应的像素点视为待检测角点&针对于图4(a)中
的角点分析,当特征提取算子沿着实线箭头方向位移时其灰度
累加值会越小,沿着虚线方向位移时累加值会较大,通过灰度累
加值的变化程度可以判断该像素点是否为角点;图4(b)中的角
点与图4(a)中角点特征相似,即沿相同的方向灰度的累加值变
化相反&这类特征的角点通常称之为内部角点&而图4(c)中
当运用特征提取算子进行像素点位移时,当沿着方格的边缘移
动且远离方格边缘时灰度特征变化最大,这类角点称为边缘角
点,此类角点是需要被检测并提取的角点&图3实验采集图像
图4几类角点局部示意图
(a)、(b)棋盘格内部角点图;(c)边缘角点图
2畸变棋盘格角点检测与递归排序
2.1畸变棋盘格图像的掩模预处理
在棋盘格角点的检测与提取过程中[89],考虑到采集的图像具有一定的畸变性,需对图像进行掩模预处理&先将图像数据进行灰度转换得灰度图像,继而用高斯滤波器对灰度图像滤波去除噪声;经过膨胀腐蚀操作(即闭操作)及canny算子的边缘检测,得到棋盘格的区域ROI(0)&
基于式(1)膨胀处理、式(2)腐蚀操作,得到棋盘格区域
A㊉S—{x I S+!U!401(1)
@%S—{x|S+!3A}(2)其中A为原灰度图像S为核!为核平移量&
利用Canny算子检测上述得到的区域获取棋盘格轮廓及其余伪轮廓,经中值滤波去噪后,图像用一阶
16青岛大学学报(自然科学版)第32卷偏导计算梯度幅值M ! "]
P ! ,y) = (f£x ,y + 1] — /[!"] + /[! +1" + 1] — /[! +1") )/2 (3)
C! ,y ) = (f ! ,y ] — f ! +1 ,y ] + f ! ,y +1] — f ! +1 ,y + 1])/2
(4)M ! ,y]=槡P [!,y ]2 + Q[!,y ]2
(5)& ! ,y ] =arctan(Q ! ,y ]/P ! ,y ] )
(6)
其中,P! ,y ] , Q( , y ]为像素的横纵向梯度近似值&对得到的梯度幅值进行非极大值抑制,结合双阈值检测与连接边缘得到边缘轮廓&通过筛选边缘轮廓 以找到棋盘格所在区域mask 。由掩模算子获取黑白棋盘格区域ROI = ROI. copy To (mask , A )。
在相当程度上减小外部复杂环境对于棋盘格角点检测的影响,流程如图5所示。
图5棋盘格角点检测的实验流程图
2*畸变棋盘格角点的检测与提取
Shi-Tomasi 角点检测(11呵算法利用图像窗口平移产生像素灰度变化,通过图像窗口生成局部矩阵,求取矩阵的特征值并建立对应的响应函数,依据响应函数的结果来判断该像素点是否为强角点。该检测算法 具有旋转不变性,易检测到其它伪角点且易漏检密集角点,本文通过图像窗口的选择,角点的距离和数量等 约束条件来改进,以提高检测的准确性&实验中,利用基于掩模的畸变棋盘格角点检测算法,通过对采集的 畸变图像进行掩模预处理,可以较好的获取复杂背景中黑白棋盘格所在的图像位置,继而利用所提出的角点检测算法检测棋盘格中的角点信息并提取,这样可以较好的控制角点检测的准确性&
利用图像窗口在一像素点I! , y )处平移[”,门单位产生灰度值变化,得
E (w , e ) = '"jwQx , y ) ( ! + u , y + e ) — I ! , y )]z
根据相邻像素点灰度的计算公式以及微小移动量产生的灰度变化值I ! + u , y + e ) = I ! , y ) + I d + I y v + O(u z , e 2 )图像窗口在像素点I! , y )处平移D , E ]产生灰度变化近似值
E Uu , e ) : [u e ^M (7)
(8)
(9 )
(10 )
其中,M 为2X2矩阵,I!, y )为像素点!,y )灰度值,, y )为高斯模板,根据图像的导数,得
(11)
通过求取局部矩阵M 的特征值s, s,根据强角点判断条件21>s 且a 2>k ;a 2来判断图像中此点是 否为强角点。通过设定阈值Max _corners , Min _distance 对检测到的特征角点的最大数目和相邻特征点的 最小间距进行约束,去除相应的伪特征角点,可以有效地控制检测到的强角点数量,避免检测区域的重叠
&