基于AprilTags的UAV运动目标跟踪方法

2019-09-19 11:52陈国栋赵诗柔
沈阳航空航天大学学报 2019年4期
关键词:飞控控制板实时性

梁 宵,陈国栋,赵诗柔

(沈阳航空航天大学 自动化学院,沈阳 110136)

随着科学技术的迅猛发展,空中机器人(又称无人机,unmanned aerial vehicle,UAV)应势而生。无人机运动目标跟踪[1-3]的研究已然成为一个新兴热点性问题,也是现代机器人系统朝着更机械化、智能化、先进化发展的重要奠基石。运动目标跟踪[4-5]的任务是在连续的视频序列中建立所要跟踪物体的位置关系。在目标运动过程中,目标的姿态或形状、尺度、背景遮挡或光线亮度是不断变化的,因此目标跟踪的研究也一直围绕这些问题展开。

运动目标的识别与跟踪主要包括以下几种方法:帧差法[6]、均值漂移算法(Meanshift)[7]、光流法[8]等。帧差法计算量小、速度快,通常应用在摄像机标定的场合。MeanShift计算简单、易于实现,但难以快速移动目标实现跟踪。光流法携带了丰富的运动信息、三维信息,计算量巨大,不能满足实时性需求。上述算法在目标丢失后无法再次找到目标,因此后来提出检测与跟踪结合的方法,如TLD(Tracking-Learning-Detection)方法[9]。TLD算法实现了对单目标的长时间跟踪,解决了目标形变、部分遮挡等引起的目标丢失问题,但由于采用了全局搜索,实时性略有欠缺。相关滤波算法则采用局部搜索的方式,在实时性上有明显的优势,但是难以跟踪运动速度较快和遮挡时间较长的目标,例如基于HOG特征的KCF(Kernel Correlation Filter,KCF)算法[10]。

为了提高无人机(Unmanned Aerial Vehicle,UAV)跟踪运动目标的精度与实时性,首先介绍了无人机的硬件组成、建模以及控制方法。针对当前目标跟踪算法普遍存在的实时性不足、准确率低等问题提出了一种基于AprilTags[11-12]特定目标识别的方案:在原Tag标签周围添加颜色信息,无遮挡时优先跟踪Tag目标,有遮挡时跟踪Tag周围颜色特征,以提高目标跟踪的准确率并解决遮挡问题。同时AprilTags算法可以搭载到嵌入式设备中,并且利用四旋翼无人机完成了硬件实验。

1 UAV硬件结构和控制方案设计

UAV主体结构由机架、电机及其驱动、飞控板、控制板、无线通信设备组成,飞控板和控制板上的气压计、陀螺仪、加速度计和地磁计都可实现无人机的位姿解算,UAV硬件结构框图及实物图如图1所示。

图1 UAV硬件结构

OpenMV摄像头可以实时获取图像,并将处理后的坐标发送给UAV,UAV根据坐标信息,自主对目标进行移动跟踪。该系统中RC(Radio Controlled,RC)具有最高控制权,可随时切换为手动模式,当UAV丢失目标时保证系统安全运行。

1.1 UAV自主飞行控制方法

为了最大限度发挥UAV自带飞控的稳定性,极大地降低开发飞控的工作量,介绍一种基于SBUS协议模拟遥控的控制方法,利用信号发生装置模拟产生遥控信号控制UAV自主飞行。该UAV使用Pixhawk2飞控,确保在遥控控制及稳定飞行的基础上,加入飞控控制板,该控制板连接在遥控接收机和飞控之间位置,起到对输入信号解码编码及自主产生控制信号的作用,实现对UAV的自动/半自动的控制。

该UAV具有三种飞行模式,分别是手动遥控模式、自动飞行模式和急停模式。

(1)手动遥控模式

遥控切换到手动挡位,接收机实时接收遥控数据并通过SBUS协议发送给控制板,控制板对数据进行解码、编码,将接收到的数据通过SBUS协议原样发送给飞控,达到手动控制飞行的目的。

(2)自动飞行模式

遥控切换到自动飞行挡位,控制板对接收机传来的数据进行解码,但是不进行编码发送,而是通过控制算法算出各个通道应有的控制量,然后对这些控制量进行编码发送,达到自动飞行的目的。

(3)急停模式

遥控器切换到急停挡位,控制板立刻将所有通道值回中并编码发送,实现UAV定点悬停的目的,保证飞行安全。

1.2 UAV目标识别与跟踪

通过OpenMV摄像头实时采集UAV下方图像信息并判断是否有Tag标签。如果有则计算Tag中心与图像中心的偏差,通过增量式PID计算UAV的控制量,将数据编码后发送给UAV,实现对目标的有效跟踪;如果没有检测到目标或目标丢失,UAV自动定点悬停,直到再次找到目标或降落指令。

2 基于AprilTags识别的跟踪方案

AprilTags[13]是基于ARToolkit[14]、ARTag[15]改进的开源视觉定位系统,是一种视觉基准库[16],通过特定的标志完成快速检测,并计算相对位置,被广泛应用于机器人、无人机定位导引[17]等。AprilTags使用一种复杂度较低的二维码标签,编码数据量只有4~12 bits,易于获取并具有高精度的局部准确性。

AprilTags不仅能对目标进行识别与跟踪,而且还能得到目标的三维姿态信息。只要在已知相机分辨率、焦距和AprilTags尺寸的前提下,识别算法就可以准确识别AprilTags的类型和ID,并实时计算出目标相对于相机坐标系3个维度方向上的距离(x,y,z)及姿态角信息。

2.1 Tags目标的检测与识别

AprilTags的种类叫家族(family),包括如下几种:Tag16h5、Tag25h7、Tag25h9、Tag36h10、Tag36h11,每个家族又包括不同的id,每个id就是一个独立的Tag。AprilTags的部分Tag标签示意图如图2所示。

图2 AprilTags的部分Tag标签示意图

以AprilTags家族成员之一为例,摄像头检测场景中的Tag图像,即检测内黑外白的四边形,如图3所示。

图3 待检测标签示意图

接着计算每个像素的梯度幅度(图4(a))和方向 (图4(b)),并将像素聚类集成具有相似度方向和幅度的分量。聚类操作完成后,使用最小二乘法将线段拟合到每个连接的组件(图4(c)),按梯度幅度对每个点进行加权。调整每个线段,使线的暗侧位于其左侧,亮侧位于其右侧(图4(d))。

图4 检测过程示意图

此时Tags转化为了一组有向线段,接着计算四边形的线段序列,通过不断调整阈值来处理遮挡问题和分割误差的鲁棒性。

2.2 Tags与相机距离和角度计算

在单应性变换(一个平面到另一个平面的映射关系)和外部参数估计时,需计算3×3阶单应性矩阵(从一张图像映射到另一张图像的转换矩阵Homography,通常以H表示)。它把标签的坐标系统映射到2D图像坐标系。其中,单应性使用直接线性变换(Direct Linear Transform,DLT)算法计算。计算标签的位置和方向需要额外的信息,即相机的焦距和标签的物理尺寸。3×3阶单应性矩阵(由DLT计算)可以写为3×4阶相机投影矩阵P和4×3阶的外部参数矩阵E的乘积。外部参数矩阵通常为4×4阶,每个位置在标签坐标系中满足z=0。因此,可以将每个标签坐标改写为一个二维齐次点,即将矩阵的第三列删除形成一个被截断的外部参数矩阵。将E的旋转分量表示为Rji,将平移分量表示为Tk。将未知比例因子表示为s:

(1)

式中hij为单应性矩阵H的元素,s为比例因子,fx和fy是相机焦距参数。因为P的不满秩,所以无法直接对E求解,因此可以将公式(1)的右侧展开,并将每个hij表达式写成一组联立方程

(2)

除了比例因子s以外,Rij和Tk的元素很容易确定。但是由于旋转矩阵的每列都必须为单位向量,通过限制s来满足要求。由于旋转矩阵为两列,因此将s计算为其幅度的几何平均值。因为旋转矩阵的列必须是正交的,所以旋转矩阵的第三列可以通过计算两个已知列的叉积来恢复。

上述DLT过程和规范化过程不能保证旋转矩阵是严格正交的,为了解决这个问题,可以将R进行极坐标分解,以此产生一个最小误差的Frobenius矩阵范数。

最后从有效负载字段中读取位,通过计算每个位字段的tag相对坐标系,使用单应性将它们转换为图像坐标,然后对得到的像素进行阈值处理。为了降低光照的影响,这里使用空间变化的阈值,最终得到Tags标签与相机之间的距离和角度。

2.3 基于颜色直方图的目标跟踪

颜色直方图是对运动目标表面颜色分布的统计,不受目标的形状、姿态等变化的影响,利用颜色直方图作为目标的特征,依据颜色分布进行匹配,具有稳定性好、抗部分遮挡、计算量小等特点。为了抵抗光照亮暗带来的影响,一般的颜色直方图均在HSV(Hue,Saturation,Value)色系下选取。

对HSV3个分量按照对颜色变化的敏感程度不同分别进行量化。设量化后3个分量的取值范围分别为{0,1,…,LH-1}、{0,1,…,LS-1}、{0,1,…,LV-1}按照[H,S,V]的形式排列成一个矢量,则其范围为

{0,1,…,LH-1,…,LH+LS-1,…,LH+LS+LV-1},设颜色i的像素点个数为mi,图像的像素点总数为

(3)

则颜色i的出现概率pi,即被定义为颜色直方图,即

(4)

因为颜色直方图是矢量,以此作为特征进行目标跟踪时,可采用Bhattacharyya距离作为两直方图像相似度的度量。计算公式为

(5)

(6)

其中ρ为两直方图的Bhattacharyya系数;p为候选目标直方图分布;q为模板直方图分布;d为两直方图的Bhattacharyya距离,其值越小,表明两直方图的相似度越高;反之,两直方图相似度越低。

3 实验分析

实验过程中将KCF与AprilTags算法进行对比,两种算法均选取tag36h11_1为跟踪目标,分别验证目标无遮挡、有遮挡、遮挡消失、旋转等情况,对比两种算法的跟踪效果。

在选取完初始帧后,两种算法均能对目标进行准确的识别与跟踪。为了提高AprilTags在嵌入式设备中的运行速度,适当降低了分辨率,所以图像放大后噪点较多,但并不影响识别的准确率。

在识别过程中,如果目标被物体遮挡,KCF和AprilTags算法表现分别如图5(a)、5(b)所示。结果表明,当目标被遮挡时,KCF仍然可以确定目标的大概位置,但是AprilTags已经丢失目标。原因是KCF采用实时在线训练,可以处理目标被遮挡问题。而AprilTags只是对特定目标进行跟踪,一旦目标被遮挡,就会丢失部分特征,导致目标丢失无法继续跟踪。

图5 目标被遮挡时两种算法的表现

在遮挡一小段时间后移开遮挡物,KCF算法跟踪的目标变成了遮挡物(如图5(c)所示),而AprilTags算法跟踪的目标仍然是tag36h11_1(如图5(d)所示)。结果表明,虽然KCF能在目标被遮挡时识别目标大概位置,但是当遮挡时间稍长时,就会将遮挡物当成目标,导致跟踪失败,这在UAV/UGV实际跟踪过程中是十分危险的。而AprilTags在目标出现的一瞬间便可重新识别目标并跟踪。

4 结论

为了提高无人机跟踪运动目标的精度与实时性,本文研究并搭建了UAV硬件实验平台,完成了UAV跟踪运动目标的任务。首先,针对UAV提出了一种基于SBUS协议模拟遥控的四旋翼控制方法。其次,针对当前目标跟踪算法普遍存在的实时性不足、准确率低等问题提出了一种基于AprilTags特定目标识别的方案。最后通过实验得到结论,该运动目标跟踪方案能很好地在嵌入式设备中运行,并且运算速度快,跟踪的准确率高,满足UAV运动目标跟踪任务的实时性和准确性要求。

猜你喜欢
飞控控制板实时性
民用飞机飞控通电自检测安全性研究
轨道交通AFC导向标识控制板设计
02 飞控技术与机场安保引关注
一种集成脚本控制单元的设计与实现
一种全隔离的无刷直流电机的反馈制动控制板的研究
飞控系统故障告警实时监控软件的设计与实现
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
一种机载SAR中心控制板的设计