采摘机器人移动果实目标跟踪研究—基于云存储和无线传感器网络
2019-12-22胡彬,王超
胡 彬,王 超
(河南工业职业技术学院,河南 南阳 473000)
0 引言
随着网络技术的不断推广和应用的普及,加上多媒体数据获取设备的不断更新和升级,图像和视频的数量开始飞速增长,多媒体数据的存储和处理问题成为当前研究的热点。在采摘机器人进行果实采摘时,实际的作业环境往往会使待采摘果实自身运动,造成较大的采摘误差。为了提高机器人的采摘精度,拟将运动目标实时跟踪技术应用到采摘机器人控制系统中,从而提高了机器人对作业环境的适应能力。但是,采用这种方案会产生大量的实时检测视频和图像数据,为了提高图像的处理速度,达到运动目标实时定位的目的,本次拟将云计算和存储技术引入到图像处理系统中,以期得到快速图像处理功能。
1 基于Hadoop云存储技术的图像处理系统
云计算和云储存技术是一种新的IT资源提供模式,通过分布式和并行计算,可以为许多用户提供网络共享计算和存储服务功能。Hadoop作为一个云平台的基础架构被Apache基金会所研发,用户可以在不熟悉分布底层细节的情况下搭建分布式计算平台,其核心组件是分布式文件系统和MapReduce。分布式文件系统如图1所示。
图1 分布式文件系统
分布式文件系统可以隐藏负载均衡和冗余复制等细节,适合部署在廉价的硬件资源上,实现了高吞吐量数据的访问和大规模数据集服务功能,为上层提供了一个统一的文件系统的API应用程序接口。
任务节点分配如图2所示。其中,MapReduce表示两种操作,包括map和reduce。其中,map是将输入数据内容进行分解:reduce是将分解的内容进行整合,最终输出。在进行图像处理时,用户将MapReduce任务发送给主节点,然后云计算和存储系统将任务分配给各个子节点,从而实现并行处理。在采摘机器人进行运动目标捕捉过程中会产生大量处理图像,采用一般的图像处理器较难实现对实时视频和图像的处理;而采用云存储思想的并行计算技术,可以有效地提高图像的处理速度,实现运动目标的实时跟踪与捕捉。
图2 任务节点分配
2 采摘机器人运动目标检测和动作控制
在实际采摘作业时,待采摘果实在风力等因素的影响下往往不是静止的,因此采摘机器人在进行果实目标识别时需要考虑果实的实际运动,对动态目标进行追踪。采摘机器人视觉系统对于动态目标的追踪首先需要对待采摘目标的运动进行检测,从无线传感器采集的图像中将变化的区域序列从背景图像中提取出来。其方法主要有3种,下面逐一介绍。
1)背景差分法。使用这种方法时,运动区域的检测可以利用背景和当前图像的差分来实现。首先,建立一个背景模型;然后,采集的新图像和背景图像进行相减。如果像素差超过了设定的阈值,则判定为运动图像并进行锁定,跟踪其运动轨迹。
2)帧间差分法。帧间差法是利用两幅相邻图像之间的差值来判断物体的运动信息,从而可以有效地获知运动目标的位置和形状等,并预测其运动轨迹,对运动目标的捕捉和追踪精度较高。
3)光流法。光流法是根据图像灰度的变化预测运动目标的瞬时速度,进而预测其运动轨迹的一种方法。在理想状态下,不需要场景信息就可以精确地计算出物体的运动速度; 但这种方法的计算较为复杂,对噪声较为敏感,对计算机处理硬件也要求较高。
综合比较以上方法,本次选用帧间差方法来实现运动目标的跟踪,运动目标的运动状态可以通过其帧间重心的变化进行预测。在运动状态预测方面,本次研究选用了Klaman滤波算法。假设其状态向量为
(1)
其中,mx(t)、my(t)分别表示t时刻待采摘目标在采集图像上的方向和位置;Δx′(t)、Δy′(t)分别表示运动时刻为t时待采摘目标在x和y向上的瞬时速率;Δt表示时间间隔。因此,状态方程可以表示为时间的线性状态方程,即
X(t)=Φ(t)X(t-Δt)+ω(t-Δt)
(2)
具体为
(3)
其中,ω(t)是状态误差,其值为
ω(t)=⎣ωmx(t)ωmy(t)ωΔx′(t)ωΔy′(t)」T
(4)
其方差为
(5)
无线传感器采集图像信息时的量测方程为
Y(t)=H(t)X(t)+v(t)
(6)
(7)
其中,v(t)为采集测量误差,取值为
v(t)=[vmx(t)vmy(t)]T
(8)
其方差分别为
(9)
在进行运动目标的预测时,需要确定运动目标的初试位置状态,可以选择无线传感器采集得到的第1帧作为运动目标初始位置。假设通过预测得到的最终状态为A点(xo,yo),则采摘机器人执行末端的控制可以分为两步:首先使采摘机器人执行末端左右移动Δx,使运动目标的重心和末端在x轴上重合;然后使执行末端上下移动动Δy,使运动目标的重心和末端在y轴上重合。水平移动的距离可以根据摄像机小孔成像的原理进行推导计算,公式为
(10)
其中,dx表示像素的横向物理尺寸。同理,经过计算可以得到Δy的值。通过对采摘机器人执行末端的控制,可以实现运动果实的采摘。
3 基于云存储和无线传感网络的采摘机器人性能测试
为了验证采摘机器人对运动目标的识别和采摘作业性能,以轮式机器人平台为载体,搭载了图像采集装置和无线传感器设备,将采集到的图像传递给图像处理中心,如图3所示。
图3 基于无线传感网络的采摘机器人实验平台
在图像采集时,由于果实目标是运动的,会产生海量的图像数据,因此在图像处理时采用了分布式并行计算云存储系统,从而有效地提高了实时图像的处理速度。
图4为本次选用的荔枝待采摘果实。由于果实的质量较小,很容易被风吹动,因此非常适合作为采摘机器人实验研究用的运动目标。通过对运动目标的追踪,得到了如图5所示的运动捕捉图像。
图4 待采摘运动果实
图5 果实运动跟踪图像结果
本次采用第2节中的卡尔曼滤波算法对运动图像进行了采集,得到了多帧运动图像,并对图像最后运动轨迹进行了预测,得到了图像跟踪误差,如图6所示。
卡尔曼滤波作为一种递推技术,在时变序列图像的运动分析中可以预测果实的运动轨迹。图6为图像跟踪的误差。通过对运动图像状态方程和预测方程的调整,可以使轨迹预测的误差降低到最小。最后,通过对运动目标的捕捉,得到了如图7所示的结果。
图6 图像跟踪误差
图7 运动目标位置提取结果
最后,利用图像边缘检测和处理技术得到了运动目标的最终位置信息。图像由A运动B,最终锁定B处为采摘位置,并为采摘机器人采摘终端发出控制质量,完成相应的采摘动作。
对荔枝运动目标的识别准确率和采摘成功率进行了统计,如表1所示。统计结果表明:采摘机器人对于运动果实目标的成功识别率较高,并可以较好地完成采摘作业任务,从而验证了方案的可行性。其中,云存储技术保证了实时图像的保存和处理速度,对于系统的实现起到了至关重要的作用。
表1 位置识别准确率和成功采摘率测试
Table 1 The test of location recognition accuracy and successful picking rate
测试编号运动目标识别准确率/%成功采摘率/%193.191.3292.890.6395.592.5493.690.8593.291.6694.891.8
4 结论
为了提高采摘机器人的定位精度和准确采摘率,将动态目标捕捉技术引入到了采摘机器人控制系统中。为了实现图像的高速处理,在系统中使用了基于Hadoop云存储技术的图像并行处理方案,从而实现了果实采摘过程中动态果实图像的定位和采摘。为了验证方案的可行性,以较小的荔枝果实采摘为研究对象,设计了一款具有图像采集和无线图像传输功能的采摘机器人,并在图像处理系统中搭建了并行计算平台。实验结果表明:图像处理系统可以成功获取运动图像的最终位置,且采摘机器人具有较高的采摘准确率,为现代采摘机器人的研究提供了有益的参考。