时间:2024-05-04
梁 臻,房体育,李金屏*
(1.济南大学信息科学与工程学院,济南 250022;2.山东省网络环境智能计算技术重点实验室(济南大学),济南 250022;3.山东省“十三五”信息处理与认知计算高校重点实验室(济南大学),济南 250022)
随着经济的发展,机器人应用到各行各业,农业是应用机器人的一大领域,利用机器人加强农业生产的自动化是现代农业发展越来越关注的问题。在没有人工标记的农田环境中,农业机器人需要解决在无人操作情况下的自主导航。农田中常用的定位方法是航位推算法、全球定位系统(Global Positioning System,GPS)和实时动态定位(Real-Time Kinematic,RTK)载波相位差分技术。其中:航位推算法是通过测量移动的距离和方位来推算位置,由于地面粗糙,车轮转速不准确,测量结果容易出现误差[1];GPS 是一种以人造地球卫星为基础的无线电导航的定位系统,民用端的GPS 定位精度无法满足精准农业的要求,精准农业对于自动化驾驶、播种等工作需要厘米级定位精度[2];RTK 定位精度可达厘米级,近几年来农机导航多用这种基于载波相位观测的实时动态高精度定位技术,但是成本较高[3]。因此,相关学者提出使用其他传感器辅助机器人进行精确定位的方法,常见的进行辅助导航的传感器有激光雷达、惯性加速度测量仪、红外测距传感器、超声波测距传感器和视觉传感器等。
激光雷达、红外测距等导航方式普遍成本较高且对环境有一定的要求,例如,文献[4]提出的方法要求农作物分布稀疏,且普遍比激光雷达传感器高5~10 cm,而视觉传感器具有成本低、设备简单和获取环境信息全面等优点,所以被广泛应用在很多场景。在农田等无标记的室外环境中,控制机器人进行基于视觉导航的方法主要有两类:一是结合其他传感器建立导航地图或检测作物行、道路等;二是利用单一视觉传感器根据颜色特征或纹理特征进行道路、作物行的识别。
对于第一类方法,一些工作利用无人机等设备把图像传送给机器人进而构建地图[5-8]:文献[9]结合激光与摄像机,实现了三维地图的快速构建,能够直观地显示环境特征;文献[4]利用激光测距仪测量机器人到作物的距离,结合视觉传感器开发了基于粒子过滤器的概率导航方法,在半结构化的农场中具有较好的鲁棒性。虽然多传感器融合技术能克服单一导航技术的缺陷,提高定位精度,但其成本较高,还需要考虑对传感器的资源分配问题,不适合民用导航。
对于第二类方法,一些学者通过提取特征来检测道路[10-11],其中:文献[10]利用颜色特征提取作物和杂草信息,将作物与背景分离,提取了作物中心线和导航路径;文献[11]通过提取图像中的纹理和颜色信息,获取了作物行的纹理信息,用稳定的图像生成了一个模板来估计运动中机器人的横向偏移情况。一些学者通过检测直线来寻找道路[12-13],其中:文献[12]提取了水田图像的灰度和角点特征,通过聚类算法和霍夫变换进行了直线检测,进而寻找路径信息;文献[13]借助垂直投影方法估计作物行的位置,然后使用霍夫变换检测作物行和道路信息。还有学者利用图像分割进行路径的提取[14-15],其中:文献[14]利用超像素对道路图像进行分割,利用近邻传播聚类算法进行二次分类,检测出道路区域;文献[15]用RGB(Red-Green-Blue)和HSV(Hue-Saturation-Value)模型对图像进行分割,提出了一种利用水平样条分割的棉花田地导航路径提取方法。此外,还有研究者利用立体视觉提出了一种基于概率占位栅格图和障碍物标记的导航方法,但这种方法只适用于作物稀疏的农田[16]。上述文献[10-16]中的机器人导航方法在一定程度上取得了实际的应用效果,但都只适用于特定的农场环境,且要求作物行、道路的纹理信息明显或者农作物容易和背景区分,一旦环境发生变化,不具备结构化特点,图像的纹理信息不清晰或作物稠密无道路信息时,如图1,这些方法将不再适用。为了解决这个问题,本文同样利用单一视觉传感器,提出了一种基于虚拟导航线的精确导航方法。
图1 纹理不清晰的农作物展示Fig.1 Crop displays with unclear textures
该方法利用核相关滤波(Kernel Correlation Filter,KCF)方法跟踪目标,根据目标与机器人的位置确定参照目标的位置,利用两个目标构建虚拟导航线,然后结合虚拟定标线和虚拟导航线确定偏移角度和偏移距离,最后使用模糊控制法修正路线,从而实现机器人的精确自主导航。
本文的创新点有两个:一是该方法对环境的结构化要求不高,利用少量信息构建了虚拟导航线,在湖泊、芦苇地等都可以使用,适用于多种作物类型,无须铺设地标和真实导航线;二是由于使用了目标跟踪算法,该方法可以根据需求选择视野中的任意一个物体作为目标,实现机器人自主朝此方向的直线行走,能够满足民用农业机器人的应用需求。
在实时的动态环境中无法建立明确的地图,因此田野等动态环境中不适宜构建地图,常用的无环境地图的视觉导航方法有基于光流、外观信息和目标跟踪的导航方式。利用目标跟踪算法,能有效提高机器人的导航能力,实现机器人在未知环境下的导航[17-18]。因此,针对无明显结构特点的野外环境中机器人直线行走的问题,本文基于目标跟踪算法,提出了一种无须铺设导航线、无须设立人工路标的自主导航方法。
该方法依据场景中跟踪目标与机器人之间的空间位置关系确定参照目标并构建虚拟导航线,并采用对导航线上的参照目标进行跟踪和动态更新的方法维持其在场景中的稳定状态,然后利用虚拟导航线与虚拟定标线在图像中形成的角度和距离关系,实时获取机器人的偏角和姿态信息,进而使用模糊控制的方法实现对机器人行走速度和旋转角度的动态调整,最终达到辅助机器人直线行走的目的。本章将从跟踪目标的确定、基于KCF 的虚拟导航线的构建、结合虚拟定标线的偏移参数计算和基于模糊控制的校正行走4 个步骤详细解释此方法,该方法流程如图2所示。
图2 本文方法流程Fig.2 Flowchart of the proposed method
本文方法的关键之处是利用虚拟导航线引导机器人直线行走,而虚拟导航线需要通过目标跟踪和更新的策略实现,因此初始跟踪目标的确定至关重要。此方法可以根据需求将视野中的任意一个物体作为初始跟踪目标,控制机器人朝此方向进行直线行走。为了保证机器人朝着目标方向走直线,跟踪目标应该位于视野正前方位置,因此需要调整机器人的方向,使此目标的位置由A移动到A′,即使目标框中心点位于视野中线l上,调整角度为α。具体如图3 所示,其中(a)是确定初始目标时的视野,(b)是调整后的视野,(c)为机器人调整的角度展示。
机器人向前行走时,若只保证跟踪目标位于视野中央,仍不能确定路线为直线,如图4 所示,机器人由F移至F′,虽然目标一直位于正前方视野,但行走路线为曲线。因此需要确定一个参照目标来记录此刻机器人与目标之间的空间位置关系,两个目标的相对位置反映了机器人行走路线的变化。
本文假设机器人视野下边界的中点M(图5)代表机器人的起始位置,将已移至中央区域的初始目标的中心点A与视野下边界中点M进行连线,在连线上确定参照目标,设置此目标的大小与上方目标一致,目标框中心点位于连线中点B,如图5 所示。由于此目标的位置处于初始目标下方,下文将称此目标为下方目标,将初始目标称为上方目标。若上方目标的中心、下方目标的中心和机器人的动态位置,即视野下边界的中点位于一条直线上,则说明三点共线,若机器人行走过程中仍保持三点共线,则说明行走路径为直线。
图3 初始跟踪目标的确定Fig.3 Determination of initial tracking target
图4 单目标情况下机器人姿态变化Fig.4 Change of robot’s posture in case of single target
图5 确定下方参照跟踪目标Fig.5 Determination of reference tracking target below the field of vision
田野中不适宜铺设导航线和路标,但导航线和路标能够很好地引导机器人进行自主导航,所以本文设计了虚拟导航线来引导机器人行走。虚拟导航线是在视野中利用上下方目标形成的导航线,能辅助机器人确定前进方向,实际并不存在。本文的虚拟导航线是基于目标跟踪算法构建的,因此需要选择一个适用于田野环境的目标跟踪算法,经对比实验,本文选取了KCF算法作为目标跟踪算法。
机器人行走过程中,若能保证上方目标中心、下方目标中心和视野下边界的中点在一条直线上,就能保证机器人朝着上方目标进行直线行走。当机器人的方向出现偏差时,这三点将不再共线,如图6(a)所示,A、B、M三点不共线,当机器人的位置由M移动至M′时,三点又可共线,所以本文将上方目标中心A和下方目标中心B的连线AB的延长线AM′作为虚拟导航线,出现偏差时引导机器人向能使得三点共线的方向移动,就可实现机器人朝着初始目标直线行走。这是因为导航线保存了初始目标移至视野中央区域时的视野信息和设计的路线信息,当机器人的行走偏离了预设的路线,导航线可以给予纠正,使初始目标、参照目标和机器人的动态位置再次位于一条直线。需要注意的是,机器人行走过程中,上方目标和下方目标的位置会发生改变,虚拟导航线随之变化。当出现如图6(b)、(c)所示的情况时,下一时刻的下方目标垂直方向或左右方向移出视野,将不具备参照意义,需要更新下方参照目标,从而更新导航线。
图6 虚拟导航线的构建Fig.6 Construction of virtual navigation line
更新导航线的具体方法是,当下方目标即将消失时,记录这一时刻的下方目标的位置,如图7 所示,将此目标的中心点B与上方目标中心点A进行连线,连线的中点B′作为新的下方目标的中心点,设置更新的下方目标与上方目标大小相同,这种更新方式使得下方目标的更换不影响导航线的变化,保证了导航线的稳定性和导航的连续性。
图7 更新下方目标Fig.7 Update of the lower target
本文结合虚拟导航线和虚拟定标线,计算出机器人的偏移角度和偏移距离,利用这些偏移参数来进行下一步的控制决策,从而保证机器人行走直线。地面上的平行线由于透视原理会在摄像头中产生汇聚现象,虚拟定标线是基于此原理呈现在摄像头画面的具有汇聚现象的一组线,实际上并不存在[19]。虚拟定标线在视野中的汇聚程度受摄像头俯仰角的影响,以30°俯角为例,呈现的虚拟定标线如图8 所示,(a)是地面上的一组平行线,(b)是在摄像头视野中相对应形成的虚拟定标线。当机器人行走路线与任意一条虚拟定标线重合时,即说明机器人行走路线与地面上的平行线重合,就可以认为机器人沿着地面上的平行直线行走。
图8 平行线和对应的虚拟定标线展示图Fig.8 Parallel lines and corresponding virtual calibration lines
如图9 所示,MN是图像中心的基准线,DQ是由两个跟踪目标确定的导航线,即预设的行走路线,PQ是该场景下根据30°俯角情况确定的虚拟定标线。当DQ和PQ重合时,说明机器人是沿导航线行走的,DQ和PQ形成的夹角α为机器人行进方向偏离导航线的角度,即偏移角度。d为图像下边界的中点M到导航线的距离,代表机器人动态位置到导航线的距离,即偏移距离。利用虚拟导航线和虚拟定标线的位置关系,确定了偏移角度和偏移距离。
图9 偏移参数的确定Fig.9 Determination of offset parameters
由于室外环境的不稳定性,机器人获取到的图像受光照、阴影等影响较大,且机器人在不平坦的地面上行走,难以使用精确的控制算法,所以本文采用模糊控制的方法修正机器人的行走路线。建立模糊控制表之前需要确定偏移角度模糊集和偏移距离模糊集,基于本文实验机器人的摄像头视野范围和调整敏感度,本文将偏移角度α的取值范围定义为(-25°,25°),并根据此范围划分了模糊集。当虚拟定标线位于导航线左边时,即需要进行逆时针旋转时,设置偏移角度为负,反之为正。以30°俯角视野为例,将偏移角度平均分成5 个语言值,如表1 所示;根据偏移距离在含有虚拟定标线的导航图像中的位置将其定义为7个语言值,如图10所示。
在获得偏移角度和偏移距离后,利用模糊控制来抑制偏差的变大,控制的力度由一对比例因子(k1,k2)确定,k1为控制机器人行走速度的比例因子,k2为控制机器人旋转角度的比例因子。当需要控制机器人逆时针旋转,向左校正机器人行走路线时,k2设置为负值,反之,为正值。表2 给出了上述论域划分情况下的模糊控制表[20],利用该表可以实现对机器人行走速度和旋转角度的模糊控制,从而实现对机器人行走路径的校正。
表1 偏移角度的模糊语言变量描述Tab.1 Fuzzy linguistic variables of offset angles
图10 偏移距离的模糊语言变量描述Fig.10 Fuzzy linguistic variables of offset distances
表2 模糊控制表Tab.2 Fuzzy control table
本文所用的机器人是美国MobilerRobots公司设计的智能移动机器人Pioneer3-DX,采用的控制器为日立公司的H8S 系列,操作系统为 ActivMedia Robotics Operating System(AROS),机身组成部分包括顶板紧急停车按钮、用户控制面板、车身、机鼻、附件面板、声纳环、电机、车轮及编码器、电源和电池等。结合串口网络摄像头安讯士AXIS 214 PTZ Network Camera 和视频采集口等,组成了实验所用的多功能先锋机器人,摄像头可在云台上实现360°旋转和上下180°俯仰,如图11所示。
图11 Pioneer3-DX机器人Fig.11 Pioneer3-DX robot
本文中的虚拟导航线是实现机器人自主导航的关键,由于虚拟导航线是根据动态跟踪的两个目标确定的,所以目标跟踪的效果好坏决定了导航线的准确性和稳定性。因此本文设计了实验来验证目标跟踪算法的性能,从定性和定量的角度进行分析算法是否可以满足构建稳定导航线的需求。
2.2.1 定性分析
在农田场景中随意选择视野中的一个区域作为目标并进行跟踪,比如草地或远方的树,每隔2 min 记录一次目标区域的图像,在30 次实验中随机选取6 次实验的目标区域的跟踪结果进行效果展示。图12 展示了农田环境中随机选取的目标区域和跟踪过程中的变化,①~⑥展示了本文选取的不同目标图像随时间的变化,列代表同一时刻对应的不同目标区域的图像,行代表同一目标区域在不同时刻的图像。随着机器人向前行走,可以看出目标区域的图像在视野中的尺寸变大,受光照影响图像的亮度有变化,但目标跟踪效果相对准确,没有跟错、跟丢现象,跟踪性能较好。
图12 目标跟踪效果展示Fig.12 Effect of target tracking
2.2.2 定量分析
1)目标区域图像的相似度测算。
跟踪过程中,不同时刻的目标区域的图像的相似度如果维持在较高水平,可以说明目标跟踪效果相对准确。本文用皮尔逊相关系数作为衡量图像相似度的一个标准。在不同场景下进行30 次实验,每隔2 min 记录一次跟踪目标的图像,每次实验记录10 次,然后将得到的目标区域的图像与第一帧目标区域的图像进行皮尔逊相关系数计算,计算图像之间的相似度。皮尔逊相关系数是由卡尔·皮尔逊在19世纪80年代提出的用于度量两个变量之间的相关程度的方法,其定义为两个变量之间的协方差和标准差的商,如式(1)。本文用RGB信息组成向量信息,具体的计算方法是将R、G、B 三个原色取值都平均划分为4 个区间,分别是0~63、64~127、128~191、192~255,一个像素值有R、G、B 三个分量,则有43=64 种组合方式,可以看作64 个不同的区间,每个像素点都唯一地属于64 个区间中的一个,统计图片中每个区间的像素点个数,因此每个图片都能用一个64 维的向量表示,X代表初始目标区域图像的像素点的RGB 信息组成的64 维向量,Y代表运动过程中目标区域图像的像素点的RGB 信息组成的64 维向量,N代表图片向量的维数。运动过程中,当目标区域图像与初始目标区域图像的大小不一致,无法进行相似度测算时,需要对该图像进行缩放操作使其与初始目标区域图像大小一致。
将所得的皮尔逊相关系数结果的均值、方差和最小值进行计算,结果如图13 所示。从图中数据可得,皮尔逊相关系数的数值波动在0.5~1,集中在0.8~0.9,方差几乎为0,属于较强的相似性,能够说明不同帧的目标区域的图像内容变化不大,跟踪效果比较准确。
2)不同跟踪算法的精度与成功率测算。
本文利用平均精度均值(mean Average Precision,mAP)计算跟踪精度,用交并比(Intersect over Union,IoU)计算成功率。mAP是指跟踪算法得到的目标位置的中心点与人工标注的目标的中心点之间的平均距离,本文用欧氏距离进行计算。其中,t时刻的中心点距离的定义如式(2)所示,(x1,y1)表示人工标注目标区域的中心坐标,(x2,y2)表示对应时刻跟踪算法预测的目标区域的中心点的坐标。IoU 是指跟踪算法得到的目标区域与人工标注的目标区域的平均重合率,其中,t时刻的重合率的定义如式(3)所示代表t时刻人工标注的目标区域表示t时刻跟踪算法预测的目标区域。
图13 目标图像的皮尔逊相关系数计算结果Fig.13 Pearson correlation coefficient calculation results of target images
保存30次实验过程中的视频,用每段视频所有帧的mAP和IoU 计算结果进行精度和成功率的计算。精度指在设定的不同的距离阈值情况下,mAP 结果小于阈值的帧数占视频总帧数的百分比;成功率指在不同重叠率阈值情况下,IoU 大于阈值的帧数占视频总帧数的百分比。以阈值为标准,计算30段视频的平均精度和平均成功率,具体计算方法是计算出每段视频在设定阈值下的精度和成功率,累加后再除以视频个数。
由于室外场景种类繁多,而且目标选取具有随机性,本文不适宜使用基于深度学习的跟踪算法,因此本文选取了几种传统的目标跟踪算法与KCF 目标跟踪算法进行了比较,实验结果如图14所示。通过对比得知,在农田环境中KCF 相比其他跟踪算法有一定的精度优势,跟踪效果比较准确,是一种跟踪性能较好的跟踪算法。这主要是因为KCF 使用了样本的方向梯度直方图(Histogram of Oriented Gradient,HOG),在颜色信息和纹理信息有限的农田环境中,HOG 特征相比灰度特征、颜色特征具有明显的优势,受光照等影响小,能获得较好的跟踪效果。
图14 跟踪算法的精度和成功率比较Fig.14 Comparison of accuracy and success rate of tracking algorithms
虚拟导航线决定了机器人的行走方向,在机器人自主导航过程中起着至关重要的作用。若两个目标的连线相对比较稳定,连线就可作为机器人行走的虚拟导航线,偏移角度和偏移距离就可以作为调整的参数,利用模糊推理法得到左右轮速等,然后生成控制指令发送给机器人,就可以实现机器人沿着虚拟导航线行走,因此本文设计了实验来证明虚拟导航线的稳定性。
此实验的环境为较平坦的地面,使机器人能在无人工干预的情况下顺利地行走直线。铺设从起始点到远处目标的直线型标定线,使其与机器人视野中的竖直标定线重合,当机器人从起始点出发向前行走时,记录偏移角度α的变化。当角度α接近0°时,表明当机器人行走路线为直线时,该方法对机器人偏移方向的判断是正确的,同时证明了该方法中的虚拟导航线是稳定的。本文在不同场景下进行了30 次实验,实验过程中,每隔2 min 记录一次角度α的数值,每次实验记录10次,计算角度α的均值、方差和最大值,统计结果如图15所示。从图中可以看出,角度α的变化范围在0°~1.6°,均值波动在0.4°~1°,方差较小,角度变化波动不大,可以说明机器人行走路线接近直线,与实际情况相符,虚拟导航线具有较强的稳定性。
图15 偏移角度统计图Fig.15 Statistical graph of offset angle
此部分实验在结构化不明显的农田中进行,在距离起始点一定位置处计算偏移角度误差和偏移距离误差的数值,即算法计算的角度和距离与真实角度和距离的差值,并与其他导航方法进行对比,分别是有人工标记的导航方法和无人工标记的导航方法。
在之前的研究工作中,利用虚拟定标线的直线型导航需要借助在地面上铺设的导航线[20],本文将此方法与提出的方法进行对比来验证无人工标记情况下使用虚拟导航线的导航效果。在相同的较为平坦的农田场景下进行30 次实验,在距离起始点10 m 至40 m 处记录30 次偏移角度误差和偏移距离误差,并记录每个地点的误差均值,如图16~17所示。随着行走距离的增长,误差有增大的趋势,且本文方法整体导航精度比铺设导航线的方法略低,但两种方法的平均距离误差均在10 cm 以内,平均角度误差均在2°以内,可以说明本文方法有一定的实用性,其效果与铺设真实导航线的导航效果相似。
图16 平均偏移角度误差统计图Fig.16 Statistical graph of mean offset angle error
图17 平均偏移距离误差统计图Fig.17 Statistical graph of mean offset distance error
除此之外,本文还与其他无人工标记情况下的导航方法进行对比:文献[10]利用颜色特征把绿色农作物从背景中分离出来,利用霍夫变换提取了导航路径;文献[11]通过检测图像中主要的水平纹理方向,生成一个标准模板,然后与运动中的图像相对比来估计机器人的前进方向;文献[12]提取了水田图像的灰度和角点特征,通过聚类算法和霍夫变换进行了直线检测。每种方法进行10 次实验,实验环境为相同的没有明显结构的农田环境,在距离出发点10 m 处记录每个方法的偏移角度和偏移距离,并取平均值进行比较。比较结果如表3 所示,文献[10]、文献[11]的导航效果相对较差,这是因为在农作物稠密的非结构化农田中,农作物与背景难以分离而且纹理信息难以提取。对比结果显示,本文方法的偏移参数都比较小,有一定的先进性。
表3 不同方法的实验结果比较Tab.3 Experimental result comparison of different methods
为了证明此方法适用于多种场景,本文在农田、道路、公园等室外环境进行了实验。如图18 所示,(a)展示了确定初始目标区域的画面,并给出了场景下的虚拟定标线;(b)展示了对应场景机器人行走过程中出现偏移情况时的画面,MN是图像中心的基准线,PQ为此刻机器人运动所需的虚拟定标线,DQ为此刻由上下方目标确定的虚拟导航线,此时的调整偏移角度为α,偏移距离为d。通过实验,可以验证本文方法在不同的室外环境下都有效,该方法生成的虚拟导航线比较稳定,能结合虚拟定标线准确判断机器人的方向偏移情况,利用图像中的少量信息引导机器人行走直线。
图18 3种场景中的实验效果Fig.18 Experimental results in three scenes
为了解决在田野等非结构化环境中的机器人精确自主导航问题,本文提出了一种利用视觉传感器的实现农业机器人精确导航的方法。该方法利用目标跟踪获取了虚拟导航线,根据虚拟导航线和虚拟定标线获得了偏移参数,通过模糊控制策略实现了对路径的修正。实验表明,该方法能在图像的纹理和颜色信息有限的田野中,在没有人工标记条件下,仅使用视觉传感器实现机器人朝着规定目标精准地行走直线,且定位精度在10 cm 以内,成本低廉,可达到民用精准农业的要求。该方法也存在一定的局限性,由于使用了视觉传感器,受光照条件等影响较大,需要进一步改进导航方法。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!