APP下载

基于Apriltag的室外抗干扰识别定位系统研究

2023-11-17代进洪向振文喻会福

电子科技 2023年11期
关键词:靶标编码距离

代进洪,向振文,喻会福

(贵州航天天马机电科技有限公司,贵州 遵义 563000)

图像识别定位系统通过图像采集系统采集目标图像,然后通过图像处理系统提取图像中的特征信息进行识别和定位[1]。该技术在公共安全、生物、工业、农业、交通以及医疗等领域都具有广泛应用,例如车牌识别、食品质检和工业流水线检测等[2]。但目前图像识别系统大多在室内稳定环境、固定工况下运行,在室外环境的干扰下特别是目标被部分遮挡等情况易导致目标定位识别失败,因此本文针对室外干扰环境下遮挡目标的识别定位进行了研究。

1 系统原理与组成

基于Apriltag的室外抗干扰识别定位系统主要由定位靶标、视觉相机、数据交换机、数据处理系统以及控制面板组成。如图1所示,视觉相机采用大恒图像MER2-302-37GM型工业相机,数据处理系统采用研华MIC-7700型工控机,定位靶标基于Apriltag设计。Apriltag在AR、机器人和相机校准领域广泛使用,通过使用图像梯度来检测高对比度边缘,对阴影和光照变化具有鲁棒性,相比于其他靶标,其检测距离更长,可在更远距离、较差光线和更扭曲的图像环境下被检测到[3]。此外,Apriltag设计具有高的定位精度,可以计算Apriltag相对于相机的精确三维位置[4]。

图1 系统组成Figure 1. System composition

系统利用单目视觉原理,通过视觉相机采集定位靶标图像,然后将采集图像经数据交换机传入数据处理系统进行靶标信息处理和解算,最终得到与定位靶标相关联目标的坐标位置信息,完成对目标的识别和定位。系统整体算法流程主要分为系统标定、图像校准、图像处理、靶标识别和目标参数计算等步骤,最终获取靶标的空间坐标,包括各角点坐标和中心点坐标。系统流程以及关键技术简介如图2所示。

图2 系统算法流程Figure 2. Flow of system algorithms

2 算法原理

2.1 Apriltag检测算法

Apriltag检测算法主要由3个阶段组成:1)使用梯度算法检测图像中的各种边缘;2)在边缘图像中找出所需的四边形图案;3)对四边形图案内部色块进行编码和解码。

2.1.1 边缘检测

Apriltag采用黑白色块设计,具有显著的边缘信息[5]。Apriltag检测首先使用Canny运算符来检测包含Apriltag图像中的所有边缘。通过该算子检测能得到简洁的图像边缘,减少边缘图像中的噪声。然后对边缘图像进行滤波以消除背景干扰等,强调和凸出Apriltag边缘信息。

2.1.2 四边形检测

通过对包含Apriltag的目标图像进行边缘检测得到其二值化边缘图像。但其中包含的边缘信息较多,还需利用多边形分析方法来找出Apriltag的边缘。

首先,对二值化边缘图像进行拓扑结构分析,以此确定其中包含的多边形,同时确定二值化图像边缘之间的周围关系,即确定多边形之间的包络嵌套关系。由于图像的二值化边缘与原图一一对应,所以此时可以用边缘图像来代替原始图像[6]。

其次,通过多边形的凸包算法得到多边形自身的凸包面积和多边形面积[7],然后通过面积比较规则来有效排除不需要的多边形。具体比较规则为:

1)多边形面积大于凸包面积,排除该多边形;

2)多边形面积小于凸包面积的0.8倍,排除该多边形。

最后,将通过上一轮筛选并在二值化边缘图像中保留下来的多边形进行四边形逼近,此处采用Douglas-pucker算法,流程如下所示[8]:

步骤1获得曲线的两个端点A和B以及曲线之间的弦,即线段AB;

步骤2设C是从线段AB到曲线的最远距离位置,并确定距离值d;

步骤3若距离d小于阈值,则将直线曲线,不作处理;若距离d大于阈值,则利用C点将曲线分为AC、BC两部分,然后各自再执行步骤1~3,直至处理完成;

步骤4通过步骤1~3将所有曲线进行处理,直到所有曲线在处理前都能够被近似看作是直线,将它们依次连接,并且排除并顶点数不等于4的多边形。

2.1.3 编码和解码

由于四边形的检测结果满足要求,因此有必要对上一步获得的矩形进行编码、匹配和检查[9]。对于获得的四边形,必须首先确定网格。图3是一种二维黑白框正方形编码,其边长为6,最外侧是宽度为1的黑边,有效编码区域是去除外围黑边的内部黑白块部分[10]。通过检测内部黑白快的灰度值并与动态阈值进行比较,根据比较结果对该块赋值为0或1来完成编码,最后将黑白块编码依次组合,成为该Apriltag的唯一编码序列和ID。

图3 Apriltag编码位置Figure 3. Apriltag encoding location

通过对四边形内部进行编码,可以获得二进制编码序列,此编码表示此状态Apriltag的编码,但错误的四边形会生成错误编码。由于错误编码与阈值范围内的相应ID不匹配,因此可以通过计算和比较排除无效编码。

为保证编码的可靠和稳定,将得到的编码进行旋转,得到各个方向上的编码序列,并对每个方向上的编码与标准编码库进行比较,求解编码之间相应的汉明距离(Hamming Distance)[11]。如果编码和标准库中编码之间的汉明距离小于预定阈值,则将编码的ID设置为标准库中对应的ID,并记录汉明距离。如果匹配的编码不在标准编码库中,则确定该编码错误,并丢弃相应的编码序列[12]。

通过对编码进行筛选和验证,可以确定该编码的ID和旋转角度,进一步计算编码的其他参数,包括编码的旋转方向和与原始编码的相似程度等。最后通过单应矩阵(Homography Matrix)以及摄像机的标定参数信息计算该Apriltag的位姿信息[13]。

2.2 遮挡目标识别算法

在遮挡情况下,目标识别的主要过程如图4所示,其中标准图像是被测目标的灰度模板图像,目标图像是包含目标的实际拍摄图像。目标图像包含系统的背景干扰、光学畸变等影响因素,但其局部特征仍然稳定[14]。算法首先将目标图像与标准图像分别执行特征检测、特征描述子生成和排序、过滤等步骤,然后将各自特征进行相似匹配,实现遮挡目标的识别。算法的核心步骤是特征检测和特征匹配[15]。

图4 遮挡目标识别流程Figure 4. Obscure target recognition process

2.2.1 特征检测

特征检测的目的是通过特征描述子(特征点和特征描述向量)来描述遮挡目标图像的局部特征。在局部特征匹配算法中,特征描述子的有效性直接影响匹配效果。在实际使用中,目标图像受各自旋转角度和背景干扰等影响,因而特征描述子的旋转不变性和可区分性较重要[16]。因此,具备旋转不变性和可区分性的特征描述子设计是特征检测的关键。在许多局部特征检测算法中,SURF(Speeded Up Robust Features)算法具有良好的鲁棒性和检测速度[17]。SURF特征检测算法不仅具有快速性,也具有尺度不变性。该算法对照明变化、仿射变化和透视变化具有较强的适应能力[18]。

SURF算法特征检测过程主要分为基于Hessian矩阵的特征点检测和SURF特征描述子生成两部分。

SURF算法检测过程具有两大特点:1)利用近似Hessian矩阵,通过求解其在三维空间中的极值点来检测特征点;2)利用盒状滤波器来加速在特征点检测中计算较耗时的高斯二阶偏导数卷积,因此该特征检测算法具有良好的检测速度[19]。

首先,算法需要进行图像积分计算,设原图I(x,y)的像素点(x,y)在积分图像中的值为I∑(x,y)。积分图像I∑(x,y)可以表示为图像矩形框内所有像素点之和[20],如式(1)所示。

(1)

为获取积分图像,需进行次加法/减法运算来获得图像矩形区域中像素值的总和。如图5所示,矩形区域中像素点的总和∑=A-B-C+D,可以使盒状滤波器的卷积运算速度加倍,这也是SURF算法检测特征点更快的一个重要原因[21]。为了获得尺度不变的特征点,需计算不同尺度的Hessian矩阵的局部极值,并反映在SURF的尺度不变性中。σ尺度下的Hessian矩阵如式(2)所示

图5 图像积分Figure 5. Image integral

(2)

(3)

Hessian矩阵的行列式为

(4)

根据Hessian矩阵的行列式判断极值点规则为:若行列式为正,表明其特征值为同号,说明该点为极值点;若行列式为负,表明其特征值为异号,说明该点不是极值点[22]。因此,当通过Hessian矩阵得到三维空间极值点后则可找到所需特征点。

其次,由于在进行Hessian矩阵计算时涉及到高斯函数的二阶偏导数计算以及图像的积分运算,该运算过程较耗时,所以SURF算法采用盒状滤波器方法来减少计算量,实现加速。盒滤波器用于近似高斯函数的二阶偏导数,如图6所示。左右分别代表Y方向与混合二阶高斯偏导数模版对应的盒状滤波器。该矩形滤波模板可以提高卷积运算的速度,减少计算量,加快特征提取速度[23]。

图6 盒状滤波器近似Figure 6. Box filter approximation

利用盒状滤波器代替复杂卷积运算之后,设卷积后的结果分别为Dxx、Dxy、Dyy,并且用它们来代替式(2)中的Lxx、Lxy、Lyy。Hessian矩阵Happrox行列式为

det(Happrox)=DxxDyy-(ωDxy)2

(5)

其中,ω为权重系数,一般取ω=0.9。

然后,构建尺度空间。在实际应用中,原始图像一般不宜随便改变大小,以防丢失关键信息,所以可通过改变盒状滤波器大小来构建SURF特征提取所需要的图像尺度金字塔[24],如图7所示。

图7 SURF图像尺度金字塔Figure 7. SURF image scale pyramid

尺度金字塔通常有4层,每层需要4次滤波。初始设置时,滤波器模板为边长9像素,尺度参数σ为1.2。在第1层每次滤波后,模板边长增加6像素,而下一层在每次滤波后模板边长增加12像素。依此类推,则每次增加24像素,第4层为每次增加48像素并始终保持滤波器大小与尺度参数的关系为σ=(1.2×N)/9,其中N为模板尺寸。

通过上述图像金字塔计算并记录整个卷积计算过程中每个点的行列式值,就可以得到不同尺度下的响应图并形成三维尺度空间。在三维尺度空间中的每个点都被非极大抑制,仅当其在26个邻域中为最值时,才为敏感特征点。检测到目标特征点后进行三维二次函数拟合,从而得到该特征点的位置和尺度。

SURF特征描述子的生成如图8所示。首先获取特征点的主方向,具体步骤如下:

图8 特征点描述向量Figure 8. Feature point description vector

步骤1以特征点为中心、半径为6s(s为特征点的尺度)构建圆形区域;

步骤2用4s的Haar小波模板处理图像得到其X、Y方向的Haar小波响应;

步骤3通过以特征点为中心的高斯函数对Haar小波响应进行加权处理,并将响应表示为空间点。横坐标为水平响应强度,纵坐标为垂直响应强度;

步骤4利用以特征点为中心的60°扇形区域扫描圆形区域,计算扇形区内的Haar小波响应向量和。经统计比较后选择最大向量作为特征点的主方向。

然后生成描述子向量,具体步骤如下:

步骤1在特征点周围设置边长为20s的正方形邻域,并使邻域方向与特征点主方向一致;

步骤2将该邻域分为4×4的子区域,并在每个子区域进行Haar滤波,计算Haar小波响应值及其分量,用dx表示水平方向,用dy表示垂直方向;

步骤3对每个分量通过高斯响应函数进行加权处理,并计算Haar小波响应和∑dx、∑dy,同时提取其绝对值和∑|dx|、∑|dy|,以获取强度变化信息;

步骤4通过步骤1~3,每个子区域都可得到4维描述子向量V=(∑dx,∑dx,∑|dx|,∑|dy|),然后将4×4子区域连接起来提取出了64维的描述子向量[25]。

2.2.2 特征匹配

BF(Brute-Force)特征匹配方法在目标图像与标准图像分别执行完特征检测、特征描述子生成和排序、过滤等步骤后,根据获取的特征点描述子依次进行完全匹配,通过测试两幅图像描述子之间的距离来确定它们是否匹配。该匹配方法尝试所有可能的匹配,最终找到一个最佳匹配结果。

FLANN(Fast Library for Approximate Nearest Neighbors)特征匹配采用基于大型数据集以及高维特征的一种最近邻搜索算法集合。该匹配算法是一种近似方法,与BF匹配不同,其不进行完全匹配策略,而是追求快速找到一种最近邻匹配结果[26]。因此,当需要找到一个相对较好的匹配但不需要其为最佳匹配时,常使用FLANN匹配。

3 实验研究

基于上述系统和算法原理开发基于Apriltag的室外抗干扰识别定位系统和算法。系统优先运行Apriltag检测算法,当目标处于被遮挡或其他严重干扰条件下时自动切换为遮挡目标识别算法。通过分析室外环境主要干扰因素,选取最为常见且影响较大的不同光照、淋雨和遮挡等工作环境条件以及不同工作距离、靶标位置(横向位移)、偏转角度等工况进行识别定位实验研究。

3.1 光照实验

在室外环境中改变光照条件,依次从10~105lx增加光照强度,同时改变工作距离、靶标横向距离和偏转角度进行实验,识别定位效果和定位误差分别如图9和图10所示。系统在XY平面内的定位误差均小于2 mm,其中X方向误差均值为1.6 mm,Y方向误差均值为1.1 mm。光照强度改变对X、Y方向定位误差影响不大,Y方向误差基本持平,X方向误差有小幅度波动,最大波动值约为0.5 mm。

图9光照实验定位效果(a)光照强度10 lx (b)光照强度102 lx (c)光照强度103 lx (d)光照强度104 lx (e)光照强度105 lxFigure 9. Positioning effect of illumination experiment(a)Light intensity 10 lx (b)Light intensity 102 lx(c)Light intensity 103 lx (d)Light intensity 104 lx(e)Light intensity 105 lx

图10 光照实验定位误差Figure 10. Positioning error of illumination experiment

3.2 淋雨实验

在室外环境中施加淋雨,降雨强度分别为1.25 mm·h-1和2.5 mm·h-1,降雨角度分别为0°、25°和45°,同时改变工作距离、靶标横向距离和偏转角度进行实验,识别定位效果和定位误差分别如图11和图12所示。其中,XY平面的定位误差均小于2 mm,X方向误差均值为1.7 mm,Y方向误差均值为1.2 mm。定位误差随降雨强度增加而增加,但整体影响较小,波动值小于0.4 mm。

图11 淋雨实验定位效果(a)降雨强度1.25 mm·h-1,角度0 ° (b)降雨强度2.5 mm·h-1,角度25 ° (c)降雨强度2.5 mm·h-1,角度45 °Figure 11. Positioning effect of rain experiment(a)Rainfall intensity 1.25 mm·h-1, angle 0°(b)Rainfall intensity 2.5 mm·h-1, angle 25°(c)Rainfall intensity 2.5 mm·h-1, angle 45°

图12 淋雨实验定位误差Figure 12. Positioning error of rain experiment

3.3 遮挡实验

在室外环境中对靶标进行部分遮挡,遮挡面积分别为10%、30%和50%,同时改变工作距离、靶标横向距离和偏转角度进行验证实验,识别定位效果和定位误差分别如图13、图14所示。系统在XY平面的定位误差均小于3 mm,其中X方向误差均值为1.8 mm,Y方向误差均值为2.3 mm。

图13 遮挡实验定位效果(a)遮挡面积为10% (b)遮挡面积为30% (c)遮挡面积为50%Figure 13. Positioning effect of occlusion experiment(a)Covered area is 10% (b)Covered area is 30%(c)Covered area is 50%

图14 遮挡实验定位误差Figure 14. Positioning error of occlusion experiment

实验表明,当遮挡面积达到50%时,识别成功率明显降低,此时系统处于不稳定状态,因此在实际应用中应避免遮挡面积大于50%,否则可能导致识别定位失败。

3.4 其他干扰实验

在室外环境中施加各种干扰背景,包括反光、杂乱背景和多靶标干扰,同时改变工作距离、靶标横向距离和偏转角度进行验证实验,识别定位效果和定位误差分别如图15、图16所示。系统在XY平面的定位误差均小于1 mm,其中X方向误差均值为0.4 mm,Y方向误差均值为0.7 mm。此外,实验表明干扰背景对X、Y方向的定位误差影响较小。

图15 背景干扰实验定位效果(a)反光背景 (b)杂乱背景 (c)2靶标 (d)3靶标Figure 15. Positioning effect of background interference experiment(a)Reflective background (b)Chaotic background(c)2 similar targets (d)3 similar targets

图16 背景干扰实验定位误差Figure 16. Positioning error of background interference experiment

除背景干扰外,在室外环境下通常因为振动、风载等因素造成目标移动,使工作距离不再是定值。在该情况下对相机景深和系统稳定性具有较高要求。因此,本文对靶标处于相机焦平面前后0.5 m范围内的各种工作情况进行了实验。在室外环境下选择初始工作距离为1.5 m,使相机聚焦,然后调整工作距离,调整范围为±0.5 m,验证相机在焦点±0.5 m范围内的识别定位情况。同样改变工作距离、靶标横向距离和偏转角度,得到识别定位效果和定位误差分别如图17、图18所示。实验结果表明,系统在相机焦距平面±0.5 m范围内均能有效识别和定位,在XY平面的定位误差小于3.0 mm,其中X方向误差均值为1.7 mm,Y方向误差均值为1.5 mm。

图17 失焦实验定位效果(a)工作距离1 000 mm (b)工作距离1200 mm (c)工作距离1 400 mm (d)工作距离1 600 mm (e)工作距离1 800 mm (f)工作距离2 000 mmFigure 17. Positioning effect of out of focus experiment(a)Working distance 1 000 mm (b)Working distance 1 200 mm(c)Working distance 1 400 mm (d)Working distance 1 600 mm (e)Working distance 1 800 mm (f)Working distance 2 000 mm

图18 失焦实验定位误差Figure 18. Positioning error of out of focus experiment

3.5 识别定位精度和时间

在各工况下识别定位误差均值如图19所示。在靶标被部分遮挡工况下,XY方向的定位误差都较大,最大为2.7 mm。在背景干扰工况下,XY方向的定位误差均小于1 mm,在其余工况下误差均小于2 mm。

图19 各工况定位误差均值Figure 19. Mean value of positioning error for each working condition

将整个系统的平均识别定位误差与平均识别时间进行统计,如表1所示。

表1 系统平均识别定位误差与识别时间

由表1可以看出,系统在室外干扰环境下XY平面的定位误差分别为1.44 mm和1.36 mm,识别时间为90 ms。系统定位误差均小于2 mm,计算耗时小于100 ms,表明该识别定位系统具有高精度和快速性。

此外,在室外环境下分别选取光照、淋雨、遮挡、多靶标、杂乱背景以及反光背景等典型工况进行多次重复实验,并记录每次实验X、Y方向上的定位误差,如表2所示。各工况下多次实验的误差均值与前述一致,并且定位误差的最大波动幅度均不大于0.5 mm,表明系统具有稳定性。

表2 各工况下误差均值与最大波动幅度

4 结束语

本文对基于Apriltag的室外抗干扰识别定位系统进行了研究。基于单目视觉原理构建识别定位系统,并根据Apriltag检测算法和遮挡目标识别算法原理实现全天候、抗干扰的室外目标识别和定位。针对室外常见且影响较大的干扰环境和工况进行识别定位实验研究,在室外干扰环境下XY平面的定位误差分别为1.44 mm和1.36 mm,识别时间90 ms,表明该系统具有高精度和快速性。此外,经多次重复实验得到系统的定位误差最大波动幅度不大于0.5 mm,表明系统具有稳定性。

综上所述,基于Apriltag的室外抗干扰识别定位系统能够实现在室外环境干扰条件下的全天候工作,并且具有高精度和快速性,能有效替代针对平面目标的图像识别定位系统。目前该识别定位系统在平面范围内得以实现,但还未在三维空间实现高精度识别和定位。后续将进一步研究和拓展,实现三维空间内坐标和姿态测量,形成三维目标精准识别和定位。

猜你喜欢

靶标编码距离
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
“百灵”一号超音速大机动靶标
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
纳米除草剂和靶标生物的相互作用
算距离
Genome and healthcare
复杂场景中航天器靶标的快速识别
每次失败都会距离成功更近一步
前列腺特异性膜抗原为靶标的放射免疫治疗进展