基于视觉的四旋翼无人机着陆算法研究

2015-12-08 13:00罗哲朱文球张长隆
电脑知识与技术 2015年25期

罗哲++朱文球++张长隆

摘要:为了能够实时获得无人机着陆时所需要的位置信息,文章提出了一种基于视觉的四旋翼无人机着陆算法。针对该算法设计出一种新的视觉着陆标识,然后通过算法中改进的自适应阈值方法和相对简单的着陆标识识别方法能够快速实时的检测到视觉着陆标识,并能够从着陆标识中解算出无人机需要的位置参数。实验表明,该算法能够实时准确计算出无人机着陆时相对于视觉着陆标识的位置信息。

关键词:四旋翼无人机;视觉着陆标识;自适应阈值;着陆标识识别

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2015)25-0122-03

四旋翼无人机的自主着陆[1]是指仅仅依靠机载导航设备来进行定位导航,由飞机控制器控制飞机在目标区域着陆的过程,传统的无人机自主着陆大都主要是通过GPS导航[2]实现的.但单独的GPS并不能为无人机提供精准的位置信息,且不能在室内和其他一些特定的场景进行定位,很难实现无人机在着陆平台上的精准着陆。

随着计算机视觉理论体系的建立和发展,国内外的相关学者将视觉引导技术应用到无人机自主着陆中。目前国内外在相关方面取得一定研究成果的有:美国加州大学伯克利分校的 BEAR研究小组第一个提出利用视觉测量相对于着陆平台的相对位置和姿态[3];瑞典 Link?ping 大学 WITAS 项目提出了有较高可靠性的基于视觉的无人机着陆控制方案[4];清华大学的Zeng Fucen,Shi Haiqing等人采用DPS构建了小型直升机的视觉着陆系统[5];南京航空航天大学的丁萌等对基于计算机视觉的无人机自主着陆方法做了研究[6],提出了一种基于模板匹配技术的跑道识别与跟踪方法。

在上述研究中,由于图像处理的复杂性,视觉着陆算法很难达到无人机着陆实时性的要求。本文提出的视觉着陆算法的处理速度可以达到30帧/秒,完全满足着陆实时性的要求,且算法的精度非常高。

1 视觉着陆算法

视觉着陆算法主要是检测图像中视觉着陆标识,解算出无人机相对于视觉着陆标识位置信息,在通过几何运算把图像中位置信息转化为真实的位置信息传送给飞机控制器进行导航。

1.1 视觉目标设计

根据文献[7]可知视觉目标的设计有以下几个基本要求:第一,视觉目标要尽可能的简单,这样视觉着陆算法能够更快的处理图像信息,使着陆算法具有更好的实时性。第二,特征图形要明显区别于周围的物体和环境,以便能够快速被识别。第三,要包含足够的信息,这样视觉着陆算法能够利用这些信息快速的解算出无人机着陆所需要的参数。因此,本文根据以上几点设计了一种新的视觉目标图形,如图1所示。

表1 视觉目标元素尺寸

[位置\&矩形\&外部\& L=W=28cm l=w=24cm\&内部\&L=W=2cm l=w=3cm\&]

在图1中,黑色矩形框主要是用来计算无人机相对于着陆目标的位置参数,箭头是为无人机提供角度信息。这个视觉目标设计的最大的特点当无人机离地较高时,可以利用外面大的标志来估算无人机的位置信息。当无人机离地较近时,外面大的标志此时已经不在摄像头的视野范围内,这时可以根据内部小的标志来估算无人机的位置信息。表1是视觉目标元素尺寸信息,其中外部的参数表示大的矩形框边长信息,内部表示小的矩形框边长信息。

1.2 视觉着陆算法的流程

图2为视觉着陆算法整个流程图,其中像素偏移量是指在图像中无人机和着陆标识相对位置,世界偏移量是指真实的相对位置。轮廓的判定主要是检查图像中是否有着陆标识,判定成功则说明图像中有着陆标识且成功检测出来,判定失败则说明图像中没有着陆标识或者没有从图像中检测到着陆标识,这时立即从第二幅图像开始检测,以此循环。

2 视觉着陆标识检测

着陆标志的检测[8]是四旋翼无人机基于计算机视觉着陆最重要的一个环节,检测效果的好坏直接关系到能否从视觉着陆标志中解算出无人机导航所需要的数据以及精度。 着陆标志检测有两种方法,一种是提取图像的特征点和着陆标志进行特征匹配。另外一种就是识别图像的边缘线或者是特征线。由于四旋翼无人机的视觉着陆系统对算法的实时性较高,第一种方法相对比较耗时,所以本文采用第二种方法对着陆标志进行检测。

2.1 自适应阈值化

在本文中采用的自适应阈值方法是基于Wellner[6]自适应阈值算法改进而来的。Wellner算法的基本思想是:对图像进行逐行扫描,计算当前扫描点的前S个像素点像素的平均值,若该点的像素值小于前S个像素点像素平均值的(1-T)倍时,则将该点像素值置为0,否则置为1,其表达式为:

[g(i,j)0,if(i,j)<(Gs(i,j))(1-T)1,otherwise] (1)

其中0为黑色,1为白色;f(i,j)为当前像素点的像素值;Gs(i,j)表示当前点前S个像素点的像素平均值;T为0到1的数值;据经验值,其中S和T的取值为S=width/8(width表示图像的宽度),T=0.15时效果最好。

以上为Wellner自适应阈值算法,但其生成的二值图像并不能达到着陆算法需要的效果,所以对上述算法中的公式(1)做了如下改变:

[g(i,j)0,if(i,j)<(Gs(i,j))(1-T)orf(i,j)<(Hb(i,j)(1+T))1,otherwise] (2)

其中Hb(i,j)表示该点前s个像素点中被判定为黑色像素点像素的均值,b表示个数;则这时g(i,j)判定为0(黑色)的条件有两个,一个是该点像素小于该点前S个像素均值的(1-T)倍,另一个是该点像素小于该点前S个像素点中被判定为黑色像素点像素均值的(1+T)倍。该方法对图像二值化判断做了更细化的处理,能够生成高质量的二值图。图3表示Wellner算法和改进后算法二值图像的对比图。其中在图3(1)原图的左下方有阴影遮挡的部分,从对比图中不难看出,wellner对阴影部分的处理效果不是很好,而改进后的wellner算法对阴影部分处理具有很好的效果,能够生成高质量的二值化图像,这为着陆标识的检测奠定了好的基础。

2.2 着陆标志检测

2.2.1 轮廓查找

当原始图像通过自适应阈值化处理之后,就变成了一幅二值图像,二值图像存在比较明显的联通区域和相对应的轮廓信息,文献[]中的方法可以从二值图像按照树形层次结构关系查找出所有轮廓,并将轮廓保存到序列中。这种方法的好处是轮廓不是单独存在的,轮廓之间是按照一定关系连接起来,这为轮廓的排除提供一个好的条件。

2.2.2 轮廓排除

轮廓的排除是视觉着陆算法中一个非常重要的步骤,因为一幅简单的图像会有非常多的轮廓。比如图3(1)原图产生的轮廓多达一千多个,如果这些轮廓不进行排除,对每个轮廓都进行检测,那将耗费大量的时间。轮廓的排除的条件有以下几点:

1)排除轮廓面积较小的轮廓;

2)根据着陆标识的特点,利用轮廓之间的树形层次结构关系,排除没有父轮廓和子轮廓的轮廓。

3)由于需要的轮廓为近似为正方形,所以可以排除不在范围为的轮廓,其中A表示轮廓的长度,B表示轮廓的面积,o是一个介于0到1的数。当前轮廓越接近正方形,o的值则越接近1。

通过以上排除条件可以排除大部分和着陆标识轮廓不相近的轮廓,其排除前后对比图如图4(a)和(b)所示。

2.2.3 轮廓检测(Contours detection)

轮廓检测是视觉着陆算法中最后一个环节也是关键点,它的成功与否直接关系到无人机能否从摄像头的视野范围内找到着陆标志。轮廓的检测步骤是先识别出所有近似矩形的轮廓,然后再对轮廓进行判定。轮廓识别的方法是对排除后所有的轮廓进行多边形逼近,获得顶点数更少的轮廓,再从这些轮廓里面找出所有近似矩形的轮廓,其步骤是:

1)找出轮廓的元素总数为4的轮廓;

2)轮廓的形状必须为凸;

3)轮廓任意一点与相邻两点组成的向量的夹角接近九十度。

通过这3个步骤可以识别出近似为矩形的所有轮廓。轮廓的判定是通过图像中就算内外矩形框面积的比值和真实设计矩形面积比值进行比较,若在一定范围内,则该轮廓为要找的轮廓。经过多次测试能够准确的检测到着陆标志,其实验结果如图4(c)所示,其中有颜色的表示要找的目标。

(a)排除前轮廓图 (b)排除后轮廓图 (c)着陆标志检测图

图 4 轮廓检测

2.3 偏移量求取

偏移量是指无人机中心点和着陆标识中心点的相对位置,由于飞行控制器对飞机的控制参数是以世界坐标系为准的,所以要将求出的像素偏移量转化为世界偏移量。由于摄像头是垂直向下的装在无人机的正中心,因此可以用摄像头中心点(光心)的位置代替无人机中心点的位置。

像素偏移量的求取主要是通过计算图像中着陆标识中心点的坐标与图像中心点坐标的差值。世界偏移量主要是利用对摄像头标定获得参数将像素偏移量通过相似三角形获得的,其具体方式如公式(3)

[X=Hxfx+cx;Y=Hyfy+cy] (3)

其中x,y表示像素偏移量,X,Y表示世界偏移量,fx,fy表示在x方向和y方向的焦距,cx,cy表示摄像头光心和图像中心点偏移量,H表示高度是通过超声波获取的。

3 实验结果

实验数据的获得是通过视觉着陆算法计算出视觉标识中心点与摄像头中心点在x,y方向的差值和实际用标尺测量的值对比得到的。实验是在U3开发板上运行的,U3开发板为1.7GHz的四核处理器和2GByte内存,装载的系统是Linux系统Ubuntu12.04版本,时间统计采用C语言的clock计时函数,其精度为毫秒。

3.1 实验数据及结果分析

设置摄像头与着陆标识在x方向和y方向的偏移量为200mm和150mm,通过调整摄像头的离着陆标识的距离来记录用视觉着陆算法计算出的x,y方向的偏移量,其实验结果如表2:

4 结论

本文对四旋翼无人机着陆的视觉着陆系统进行研究,研究的目的利用改进的自适应阈值算法和特别着陆标识识别算法快速实时的检测视觉着陆标识和计算出无人机相对于着陆标识的位置信息,从而为无人机实时提供准确的位置信息,实验结果也证明了该系统的有效性。下一步将对着陆标识进行视觉跟踪算法[9]进行研究,为四旋翼无人机在可移动平台上着陆的视觉着陆系统奠定基础。

参考文献:

[1] Yang S, Scherer S A, Schauwecker K, et al. Onboard Monocular Vision for Landing of an MAV on a Landing Site Specified by a Single Reference Image[C]// Unmanned Aircraft Systems (ICUAS), 2013 International Conference on IEEE, 2013:318 - 325.

[2] Baeder A B T, Rhea J L. GPS attitude-determination analysis for UAV[J]. Aerospace/defense Sensing & Controls, 1996, 2738:232-243.

[3] Koo T J, Shim D H, Shakernia O, et al. Hierarchical Hybrid System Design on Berkeley UAV[J]. International Aerial Robotics Competition, 1998.

[4] G Granlund, K Nordberg, J Wilklund, et al. Witas: An intelligent autonomous aircraft using active vision[J]. In Proceedings of the Uav 2000 International Technical Conference\s&\sexhibition, 2000.

[5] Zeng F, Shi H, Wang H. The Object Recognition And Adaptive Threshold Selection In The Vision System For Landing An Unmanned Aerial Vehicle[C]// Information and Automation, 2009. ICIA '09. International Conference on2009:117 - 122.

[6] 万明.基于视觉导航的无人机自主着陆飞行参数估计方法[D].南京航空航天大学, 2009.

[7] 程丽娟. 基于视觉的无人直升机着落导航技术研究[D].南京:南京航空航天大学, 2014.

[8] 刘刚.基于视觉导航小型无人机自主着陆控制策略研究与应用[D].南京:南京航空航天大学, 2014.

[9] Zou J T, Tseng Y C. Visual Track System Applied in Quadrotor Aerial Robot[C]// Digital M anufacturing and Automation (ICDMA), 2012 Third International Conference on IEEE, 2012:1 025-1028.