基于机器视觉的自动目标跟随系统设计与实现

2022-07-07 07:19赵恩铭姚志强刘光宇杨燕婷邢传玺
大理大学学报 2022年6期
关键词:实时性准确率聚类

赵恩铭,姚志强,杨 松,刘光宇,杨燕婷,王 辰,邢传玺

(1.大理大学工程学院,云南大理 671003;2.云南民族大学电气信息工程学院,昆明 650500)

科技的飞速发展使得人工智能技术在多个领域得到广泛应用,基于机器视觉的目标追踪技术近年来一直是军事、工业等领域的研究重点,基于视觉检测目标的关键在于区分目标与环境,在实时追踪目标时由于目标形态和周围环境始终在变化,难以精确区分,因此一直是追踪领域的难点,同时随着目标追踪技术的应用场景不断增加,单一的算法很难覆盖所有应用场景,因此研究人员针对不同的应用场景开发出了多种算法,如背景差分法〔1〕、帧间差分法〔2〕、特征点检测算法〔3〕、连续自适应均值漂移(Cam Shift)算法〔4〕、April Tag 算法〔5〕和光流法〔6〕等,它们的优缺点见表1。

表1 目标识别与跟踪算法的优缺点

上述算法均存在某些方面不适合用于移动目标跟随,无法满足任务需求,因此本文针对目标跟随的任务需求对April Tag 算法进行改进,实验结果证明,改进后的April Tag 算法进一步提升了算法的准确性和检测效率,能够满足目标跟随的任务需求。

1 April Tag 算法原理

1.1 April Tag 视觉标签的结构为保证标记识别的准确性与可靠性,April Tag 算法的标签采用二进制编码的方式。April Tag 视觉标签由黑色边框和编码区两部分组成,黑色边框用于定位,便于算法在进行四边检测时发现标签的位置,编码区为一个6×6 的矩阵,其中不同的编码矩阵代表不同的标签ID〔7〕,为避免不同ID 的标签在旋转和遮挡时相互混淆,所有的标签之间要有足够的汉明距离〔8〕,任意两个标签之间至少要有11 位的信息编码差,汉明距离越大,代表标签之间的差别越大。见图1。

图1 视觉标签ID1 与ID2 的编码矩阵

1.2 改进的April Tag 检测算法April Tag 算法检测分为标记检测和ID 识别两部分。标记检测首先根据梯度变化进行边缘提取,获取标签的轮廓,然后对权值相似的像素进行聚类,再拟合画面中的四边形,从而得到画面中标签的位置。ID 识别通过分析四边形内的黑白色块组成编码矩阵,将编码矩阵与内部数据比较,从而判断标签的ID。

如表2〔9〕所示,April Tag 视觉标签通过添加冗余的方式获得一定的容错性,当标签被部分遮挡时依然能够被识别。

表2 不同种类的April Tag 视觉标签容错性

April Tag 算法检测流程见图2,摄像头采集到图像后,将图像二值化,根据灰度变化检测画面中存在的边缘,对边界权值相似的像素进行聚类,最后进行四边检测,确定April Tag 的ID 和位置并舍弃无法识别的标签。检测过程示意见图3〔10〕。

图2 April Tag 算法检测流程图

图3 检测过程示意图

在边缘提取时使用Canny 算法〔11〕对画面进行轮廓检测。首先将彩色图像加权转化为灰度图,转化公式为:

将灰度图与高斯函数做卷积以提高算法的抗噪能力,当搜索到该图像的边缘时,对各像素点及其附近的像素点灰度值进行梯度强度和方向的计算,随后沿梯度方向进行非极大值抑制,若计算得到的像素梯度值是沿着梯度方向的最大值时,说明该像素点是边缘像素点,通过多个边缘像素点提取具有边界性质的区域,如图3(b)所示。

在提取到图像边缘后,使用聚类算法〔12〕将图像的边缘聚集为多个簇,设数据集含有n 个数据对象,首先从这n 个数据对象中随机选取k 个对象作为初始聚类中心,对于剩余的对象根据与聚类中心的相似程度将其分配到最相似的类中,然后对于每一个类,将类中的所有对象的平均值作为新的聚类中心,进行下次迭代。不断重复该过程,当类中心不再发生变化,准则函数收敛时,聚类完成,准则函数如下所示:

其中:E 是数据集中所有对象与它所在的聚类中心的平方误差的总和,E 的大小反映了聚类结果的好坏;xi是聚类Ci的聚类中心,k 是聚类个数,Ci是第i个聚类,聚类完成后的效果如图3(c)所示。

使用四边检测算法〔13〕检测图像中的凸多边形图案,利用图像中的边缘线条来解析图中的四边形结构,达到分析图像中各边界关系的目的。任意选取边缘线条上的一点作为起始点,检测和起始点属于同一类的边缘点,不断循环以上步骤,当再次检测到起始点时,说明检测路线形成闭环,即识别到一个多边形。本次选取结束后,系统随机选择另一个点作为起始点并重复以上环节,最后保留其中的四边形,被保留的四边形即为候选视觉标签,如图3(d)所示。

对候选视觉标签进行判断,提取候选标签中的黑白色块形成编码矩阵,并与内置编码库进行匹配,若匹配成功,则判定图像含有April Tag 视觉标签,并输出该标记ID 编号;若匹配失败,则认为该部分不含视觉标签。

当画面中标签足够大,并能够准确识别时,为提升算法识别的实时性,在不影响识别准确率的前提下,应用动态降采样算法〔14〕,提高算法实时性。见图4。该算法会通过减少检测像素数的方式提高算法的识别速度,降采样效果如图4(b)所示,与左侧原图相比,由于图像像素减少,降采样后的线条边缘明显模糊,但不会影响标签生成的编码矩阵。

图4 降采样效果图

当画面中标签过小,无法准确识别时,采用升采样〔15〕技术提高图像质量,同时为保证识别速度,将画面全局搜索标签改变为局部搜索标签,通过缩小检测范围的方式减少识别的像素数,提高识别速度。见图5。

图5 升采样局部搜索示意图

2 系统总体设计

2.1 整体结构设计本设计主要分为机器视觉与外设控制两部分,机器视觉部分用于追踪输入图像中标签的位置,输入图像后机器视觉模块使用April Tag 算法识别画面中标签的位置,通过计算得到标签的偏移角度后通过USART 串口将该角度信息发送到STM32 中,为控制电机转向提供数据〔16〕。外设与控制部分在接收到机器视觉模块输出的偏移角度后,改变两侧直流电机的占空比,同时电机会将转速信息返回到STM32 中,超声波模块的作用是检测前方有无障碍物,避免碰撞,液晶显示部分用于显示目标的偏移角度、电机的占空比与转速等运行参数,便于观察系统的运行状态。见图6。

图6 系统总体设计图

2.2 系统结构设计本文采用的机器视觉模块为OpenMV,该模块通过自带的摄像头采集图像,采集到图像后通过April Tag 算法锁定标签的位置,并根据识别目标在画面中的位置确定偏移角度,将画面中心点设为零点,当目标出现在画面左侧时水平偏移角度为负,目标在右侧时水平偏移角度为正,偏移角度检测公式为:

其中tag_x 表示标签中心的水平像素坐标、wide 表示水平像素个数、HFOV 表示镜头的水平视角,偏移角度检测结果见图7。

图7 偏移角度检测图

OpenMV 将偏移角度通过串口输出到STM32后,STM32 通过改变两侧电机转速实现差速转向。若算法实时性过低,会降低偏移角度的发送频率,导致转向不及时,无法准确跟随目标。

3 实验结果与分析

实验相关器件参数见表3。

表3 实验器件参数

为保证实验的准确性,使用tag36h11_1 在不同距离张贴无视角变换和不同视角变换的图像,重复50 次测试本系统的性能,实验过程如下所示:

如图8 所示,分别将标签放置在0.50、0.75、1.00、1.25、1.50、1.75、2.00、2.25、2.50、3.00 m 的 位置,与Tag 视角相差0°、15°、30°、45°、60°的情况下测试本系统的识别准确率。

图8 实验场景图

图9 为传统算法与本文算法在不同视角、不同距离的准确率对比实验结果,通过不同视角、不同距离下准确率的变化分析算法的性能,实验结果如下所示。

图9 准确率对比

实验结果表明,标签在距离1.5 m 以内,视角偏差为0°、15°时,由于视角变换产生的透视干扰较小,两种算法的识别准确率较高;当偏移上升到30°、45°时,两种算法的识别准确率皆略有下降;当视角偏移为60°时,由于偏移角度过大,使视觉标签在画面中变形严重,导致两种算法识别准确率都发生较大的下降。

标签在2.0 m 以外时,由于标签极小,传统April Tag 算法中的标签图片模糊,无法准确识别,识别准确率随距离的提升下降严重,而改进后的April Tag 算法通过提升图像质量的方法,提高了标签图片的清晰度,使得识别准确率与传统算法相比有显著提升。

不同改进算法的识别速度以及追踪效果如表4所示,当标签较大时,该算法可自动进行降采样,提升图像检测的实时性,当标签较小时,该算法可自动进行升采样,同时缩小识别范围,保证图像检测的实时性。

表4 算法识别速度与追踪效果

以上结果表明,本文改进的视觉标签识别算法能够显著提升标签图像较小时的识别准确率,能够完成实时跟随目标移动的任务,算法的处理速度快,识别准确率高,跟随效果好。

4 结束语

本文为提高自动跟随系统的实时性与准确性,对April Tag 算法进行了改进,当与目标距离较近,能够准确识别目标时,采用降采样算法提升识别的实时性,当视觉标签过小导致识别准确性差时,采用升采样算法结合局部搜索策略,提升图像质量并缩小检测范围,达到了保证实时性的同时提高远距离下的识别准确率。实验结果表示,该运动目标跟随系统准确率高、实时性强,能够满足自动跟随系统的要求。

猜你喜欢
实时性准确率聚类
一种傅里叶域海量数据高速谱聚类方法
基于知识图谱的k-modes文本聚类研究
基于数据降维与聚类的车联网数据分析应用
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于模糊聚类和支持向量回归的成绩预测
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究