李 丽,李 慧
(焦作师范高等专科学校 a.计算机与信息工程学院;b.理工学院,河南 焦作 454001)
随着自动化控制技术的发展,我国从传统农业正在向精准化、现代化农业发展。精准化是现在农业发展的要求,也是农业发展的热词。对于果蔬而言,减少农业污染是不可或缺的环节。基于计算机图像处理的自动对靶精准施药平台在自动获取目标作物图像的基础上,通过处理、识别和定位实现了精准施药。
本文主要研究内容是采用图像处理进行自动对靶精准施药,主要涉及施药平台、工业相机及作物目标等多个对象。为了进行施药过程的自动对靶施药处理,则需要根据实际的情况,建立各个目标对象的坐标,搭建自动对靶精准施药平台视觉模型,如图1所示。
1.喷药装置 2.喷头垂直移动装置 3.作物目标 4.作物目标 5.农药泵 6.电动机可变驱动器 7.PC机 8.工业相机
在自动对靶精准施药平台系统中,主要部分为基坐标系(固定喷头的基座),其与世界坐标系重合,用来控制施药平台的工具坐标系。作物目标所在的坐标系为成像坐标系。自动对靶精准施药平台坐标示意如图2所示。
图2 自动对靶精准施药平台坐标
1)世界和工业相机两坐标系之间的转换。世界和工业相机两坐标系分别为{Ow}和{Oc},两者之间的坐标计算需要通过坐标系转换来实现。工业相机坐标在世界坐标系中的转换可以用旋转矩阵R来实现,即
(1)
已知工业相机坐标在世界坐标系的位置为Oc(Xw,Yw,Zw),那么工业相机到世界两个坐标系之间的位姿可用4×4表示,即
(2)
若知工业相机坐标系中一点M(XM_C,YM_C,ZM_C),那么M点坐标表达式为
(3)
根据式(3)可以将工业相机的作物目标坐标转换到世界坐标系的空间坐标中。
2)目标成像和工业相机两坐标系之间的转换,如图3所示。图3中,以O点为工业相机坐标系原点,点Q为三维空间坐标系中一点,该点投射到图像坐标系中的点为q(x,y,z)。图像平面到xoy平面的距离,即相机的焦距f。
图3 目标成像和工业相机坐标转换示意图
根据三角相似定理可以得出:x/f=X/Z,y/f=Y/Z。
Q点投射到q(x,y,z)的矩阵关系为
Q=M·q-1
(4)
通过映射关系和矩阵求解,可以实现目标成像和工业相机两坐标系之间的转换。
3)目标成像和像素两坐标系之间的转换。工业相机拍摄到的图像,都有对应到实际的像素点,在实际的坐标求过程中需要将像素坐标转换为图像坐标,如图4所示。
图4 目标成像和像素两坐标系之间的转换
图4中,O1和O分别为成像坐标系和像素坐标原点,而O1在像素坐标系中的坐标为(u0,v0),其在x、y上的投影距离为dx和dy,则
(5)
通过前面各个坐标系之间的转换,联立后求解可以得出
(6)
其中,u,v为像素的坐标系;fx、fy、u0、v0为工业相机内部参数;T为相机在三维坐标系位置;XW、YW、ZW为目标物在三维坐标系的位置。
图像处理技术将相机、PC机或者嵌入式等设备结合起来,对其拍摄到的图像信息,利用图像增强、滤波等一系列的流程进行处理和判断。
在实际的图像处理过程中,图像一般会被处理器看成是一个矩阵进行处理。假设需要处理的图像为f(x,y),那么首先需要得到M×N个数据,然后根据阵元量化后得到一个新的矩阵f(x,y),用来替换之前的矩阵。图像矩阵替换的过程可表示为
→[f(i,j)]M×N→[fl(i,j)]M×N
(7)
其中,fl(i,j)为已完成阵元量化的图像像素点。
自动对靶精准施药平台图像处理的主要流程包括以下几点:
1)图像滤波。利用高斯、均值滤波对图像存在的噪声进行降噪处理,从而提高图像质量,为后期处理做准备。
2)图像增强。利用灰度直方图凸显出图像中像素梯度,可以帮助边缘检测的有效进行。
3)图像检测。利用图像梯度值,利用Log图像处理算法,确定图像的边缘。
4)图像定位。根据得到的图像边缘信息,对目标坐标进行求解。
通过以上步骤,可以实现自动对靶精准施药平台获取目标作物的位置信息。
为了准确实现各个坐标系之间的坐标转换,进行了相机的标定。在PC机上产生5×7的棋盘格,每个方格尺寸为3cm×3cm,如图5(a)所示。在实验中时,采用高分别率打印机1:1打印出来,然后从不同角度拍摄棋盘方格图片,采集到的图片为10张,如图5(b)和图5(c)所示。其中,两幅不同位姿的图片。
图5 相机标定示意图
采用视觉处理算法对相机标定进行处理,流程如图6所示。通过张正友相机标定算法进行结算,可以分别得到相机内部参数R1和畸变参数的矩阵R2为
(8)
(9)
图6 相机标定流程图
为了实现施药平台的自动对靶精准施药,采用极限学习机实现目标作物的识别和定位。基于极限学习机的自动对靶施药包括图像样本获取和施药喷头移动决策两部分。其中,前者完成图片信息的处理和特征选择,后者则由训练和分类决策组成。
极限学习机采用单隐含层前馈神经网络算法,能够极大程度地减少机器学习时间。单隐含层前馈神经网络是一种重要的计算机图像处理算法,包括输入、隐藏和输出3层,其神经网络结构如图7所示。
图7 极限学习机神经网络架构图
图7中,Wi,j为输入阵列;b为隐含层阵列;βi,j为输出阵列。
假设自动对靶施药平台采集到多幅图像样本,输入图像阵列和输出图像阵列为X和Y,则
(10)
假定极限学习机神经网络中间隐藏层的激励函数为g(x),则输出层函数为
T=[ti1,ti2,…tim]T∈Rm
(11)
单隐含层神经网络表达式为
(12)
简化后可得
Hβ=T′
(13)
式(13)中,H为隐藏层矩阵,β为输出权值矩阵,T为输出矩阵。
得到了输入的图像样本,则可以利用神经网络进行学习和训练,W和b在训练过程中随机产生。整个网络层的输出权值矩阵β的计算公式为
minβ=‖Hβ-T′‖
(16)
其解为
(17)
其中,H+为输出矩阵β的广义逆矩阵。
利用样本进行学习和训练后,便可以利用这个结果去识别目标作物,并对其坐标进行计算,然后移动喷头方向进行自动喷药。
在自动对靶精准施药系统中,首先利用极限学习机算法对作物目标样本信息进行学习和训练,提取特征值及其权值,组成作物目标信息样本识别器;然后利用得到的识别器,对实时采集到的作物目标进行判断和定位,最后移动喷头进行喷药。喷头移动决策如图8所示。
图8 喷头移动决策流程图
为了验证研究系统的可行性和有效性,在一果树种植区进行了实际的测试实验。果树种植区间隔200cm。实验中,对667hm2果园进行喷药。为了验证系统对环境的适应能力,试验在光线较差的情况下进行,系统图像处理过程如图9所示。实验结果如表1所示。
图9 系统图像处理示意图
表1 测试实验结果
由表1可以看出:自动对靶精准施药平台准确率达到了77%以上,喷药最大时间在10s左右,系统环境适应能力强,具有较高的可行性和有效性,能够满足设计需求。
采用图像处理、极限学习机、自动控制技术及模块化设计思想,将理论与实验验证结合起来,设计了一套基于计算机图像处理的的自动对靶精准施药平台,能够试验对目标作物的自动识别和精准施药。实验结果表明:自动对靶精准施药平台准确率达到了77%以上,喷药最大时间为8s,效率较高,具有较高的可行性和有效性,能够满足设计需求。