APP下载

基于无人机的摄像机标定模板的改进∗

2019-03-26陆雅婷

计算机与数字工程 2019年3期
关键词:角点自动识别圆点

陆雅婷

(南京理工大学 南京 210094)

1 引言

基于无人机的高速公路应急车道管理系统通过无人机上搭载摄像机,对高速公路的应急车道进行连续拍摄,识别应急车道上是否存在车辆,从而方便进行对应急车道的管理。由于无人机续航能力差,因此需要及时充电,本文旨在通过研究摄像机标定算法,求出充电桩与无人机的相对位置,控制无人机自动定点降落,实现无人机长时间连续巡航的目的。为了求出摄像机的内外参数,必须从多个角度拍摄标定板,目前已知的摄像机标定工具箱 ,如 Camera Calibration Toolbox[1],以 及 通 过Opencv[2]实现的摄像机标定,均是采用棋盘格的标定板,精准获得棋盘格角点的亚像素坐标。棋盘格标定板在X轴和Y轴方向都是上下或左右对称的,当无人机飞在空中时,面对完全对称的棋盘格标定板,是无法辨认空中的方向,找准标定板方位的。同时,Camera Calibration Toolbox[1]工具箱在使用的过程中,需要人为的指定标定板的4个顶角[3],这对于无人机航行时自动定点降落是不适用的;OpenCV[2]虽然不需要人为指定,能够自动识别角点坐标,但是当棋盘格出现缺损某个格子或者图像造成部分遮挡时,无法识别出图像中的角点与标定板上角点的一一对应关系,将不能正确求解出摄像机的参数。

文献[4]提出采用矩形标记方法[5]的基准点标记ARTag(Augmented Reality Tag),具有高可靠性,它有效地解决了兴趣点检测和匹配问题。文献[3]在此基础上,提出的标定模板基于矩形编码ART-ag,进行摄像机标定,精度优于ARTag,且标定点密度高、算法鲁棒性好、能够自动识别。文献[6]利用周围图案对称和灰度值对比明显的独特性质,设计了由对称算子S和方差算子V组合而成的角点检测算子——对称方差算子(Symm Etry and Variance),简称SV算子。该算法对棋盘格图像的旋转变换和亮度变换具有鲁棒性和抗噪能力强的优点。但以上都方法较为繁琐,针对本项目的工程应用需求,需要方便快捷地自动识别角点坐标,且对于标定精度要求不高,本文提出的全新的模板,将解决上述问题,可以自动识别图像的角点坐标,以及图像缺损时如何求解图像中角点坐标的问题,可以方便、全自动地实现摄像机标定。

2 模板设计

为了使得标定板在本系统中使用,本文改进了传统的摄像机标定板,将原来的棋盘格改成了不对称的圆点,其中第一列第一个圆点直径9mm,第一列最后一个圆点直径6mm,其余圆点直径3mm,圆与圆之间间隔1.5cm,制成10行×6列的模板(本文中9mm×6mm×3mm的数据可适用于标定板和摄像机相距1m左右的情况,若标定板和摄像机相距较远,可相应地按比例放大),通过不同圆的大小,即使在空中,也能确定图像中正确的x和y轴方向,使得图像中的圆点圆心坐标与标定板一一对应。如图1所示。

本项目主要应用于野外,因此标定板会出现一些点的模糊、缺损等现象,如图2所示,下一节将详细介绍如何方便求出缺损点坐标的方法。

图1 改进的摄像机标定板

图2 图像出现缺损

3 基于全新的摄像机标定板的识别方法

传统的标定板是棋盘格,求取的是直线角点坐标,大致方法分为两类[7]:一是通过提取直线相交的交点,获得角点坐标,二是基于灰度图像的角点检测方法[8~16],考虑像素邻域点的灰度变化,将与邻点灰度对比足够大的点定义为角点。基于本文中提出的标定板,我们采用如下方法:1)读取图像,并转为二值图像,扫描并跟踪图像中的圆点,获得圆的半径r,提取每一个圆点的链码,求取每个圆的中心坐标,即是把求取棋盘格角点坐标转化为求取圆点的中心坐标。但是通过此方法求取出来的点坐标是杂乱无序的;2)在获得各圆点圆心坐标后,可以根据数学规律将所有点坐标排序,达到与标定板角点一一对应的目的。

3.1 确定每列圆点的圆心坐标

因为第一列第一个圆点和最后一个圆点半径都大于其他圆点,可以很方便地从80个圆心坐标中找出这两个点的坐标A00和A90(下标数字代表第X行第X列),就可以确定第一列从点A00到点A90的向量,如图3所示,再根据每个圆心间距一样,通过(X90-X00)/9 和(Y90-Y00)/9(X90、Y90分别表示点 A90的横、纵坐标)可以近似求得相邻点间的横纵坐标的ΔX和ΔY,因此每一行的圆点圆心坐标都可以根据前一个圆点的圆心坐标,加上ΔX和ΔY,再给定一定的误差范围,就可以确定下一个圆点圆心坐标。这样只要确定了每一列的第一个点的坐标,就可以依此类推确定整列圆点的圆心坐标。

3.2 确定第一行圆点的圆心坐标

我们已经知道了如何根据每列第一个圆点的圆心坐标求取整列的圆心坐标,那么我们必须先确定每列的第一个点的坐标,即第一行圆点的圆心坐标。如图3所示,已经能够确定从点A00到点A90的向量,那么将该向量逆时针旋转一定角度,如图中的α和β角度,当旋转的角度最大时,即为第一行圆点A00到A07向量的方向,再根据A00到A01的距离比A01到第一行其他圆点距离短,可以确定A01的圆点圆心坐标,依此类推根据前一个圆心坐标求下一个圆心坐标。

根据以上方法即可确定图像上圆点圆心坐标的顺序,并将它们重新排序,使之与标定板坐标一一对应。

3.3 确定缺损点坐标

由于本项目对于标定结果的精度要求不高,当标定板出现如图2所示的部分缺损时,图像中的圆心坐标无法与实际标定板一一对应时,我们仍然可以用上述的方法,即使未扫描到该点的坐标,也可以根据ΔX和ΔY,推算出下一个点的坐标,从而进一步进行运算。

图3 确定圆点坐标顺序

通过上述介绍的方法,只要程序读入图片,即可自动求取出图像中圆点的圆心坐标,即角点坐标。

4 实验分析

针对本文提出的方法进行试验,分别从不同的角度和高度拍摄标定板,求取角点坐标,为了方便比对,本文将圆点提取出来,按照求出的圆心坐标在相应的圆点上画十字来标记圆心坐标,能够直观地看出求出的点是否在圆心,如图4所示,图像中每个圆点的圆心坐标均被求出,且误差在本项目的精度范围内,基本满足使用需求。

图4 标记圆点的圆心坐标

当拍摄的图像出现缺损时,通过推算出下一个点的坐标,我们也能获得当前缺损点理论上的坐标值,如图5所示,截取了缺损部分的实验结果图像,根据推算出的圆点圆心坐标,达到与标定板上圆点一一对应的关系,能很好地符合工程应用的需要。

图5 缺损部分实验结果

5 结语

本文提出的全新的摄像机标定板,可以有效地解决自动识别角点坐标和标定板角点缺失的问题,使之能够应用在无人机自动定点降落的工程问题中,方法简便,实现较易,能够很好地应用在相应的工程问题中。

猜你喜欢

角点自动识别圆点
一种改进的自适应FAST 角点检测算法
小麦面条和面过程不同阶段面絮的划分与自动识别
基于数据挖掘的船舶航迹自动识别系统
基于VR技术的X射线图像安检危险品自动识别
多支撑区域模式化融合角点检测算法仿真
基于点云聚类的垛型角点检测方法
角点检测技术综述①
洛斯警长的终极挑战⑩
船舶自动识别系统对船舶救助的影响
洛斯警长的终极挑战