一种用于预测遮挡农作物摘取点的农业机器人作业方法与流程

文档序号:25611035发布日期:2021-06-25 15:00阅读:99来源:国知局
一种用于预测遮挡农作物摘取点的农业机器人作业方法与流程

1.本发明涉及机器人自动作业技术领域,特别是涉及一种用于预测遮挡农作物摘取点的农业机器人作业方法。


背景技术:

2.在农业生产中,如苹果、梨等水果的采摘作业往往耗费大量的人力物力,同时农民长期从事重复作业很容易产生劳动损伤,给身体健康带来不可逆转的危害。
3.虽然在一些地区,对于水果的采摘已经开始采用农业机器人进行作业,但在农业机器人进行自主采摘的过程中,由于树叶、树干等遮挡物的存在,给以立体视觉引导的机器人作业系统带来了较高的复杂性和作业难度。并且,由于双目视觉系统采集的点云数据量较大,采用传统图像处理方法难以进行全面检测和实时计算,同时需要配备边缘计算芯片或者将数据发送到云端进行处理,这对于农业机器人这种价格低廉、追求高效高速作业的机构来讲是十分不合适的,因此,采用传统的图像处理方法处理双目视觉系统数据的对于农业机器人的实时性和高效性会造成负面影响。


技术实现要素:

4.本发明提供一种用于预测遮挡农作物摘取点的农业机器人作业方法,以解决农业机器人在复杂场景下采摘点定位不准确、工作效率低的问题。
5.为解决上述问题,本发明提供一种用于预测遮挡农作物摘取点的农业机器人作业方法,具体包括以下步骤:
6.采集目标农作物图像并输入训练好的神经网络模型中,对目标农作物进行识别及定位;
7.提取目标农作物的特征点集合,将提取的特征点集合与训练后的神经网络模型中的标准模板数据集合进行配准,计算得到目标农作物的旋转矩阵和平移矩阵;
8.根据点云配准结果计算目标农作物的可摘取范围,引导农业机器人进行采摘。
9.进一步的,在所述步骤“采集目标农作物图像并输入训练好的神经网络模型中,对目标农作物进行识别及定位”前还包括以下步骤:
10.采用深度学习算法对农作物的图像进行检测和识别,得到指定农作物的标准模板数据,并训练出能够识别出对应农作物的神经网络模型。
11.进一步的,所述步骤“采用深度学习算法对农作物的图像进行检测和识别,得到指定农作物的标准模板数据,并训练出能够识别出对应农作物的神经网络模型”包括以下步骤:
12.采集若干农作物的图像,并将采集的图像分成训练集和测试集;
13.构建yolo神经网络,设定特征参数和激活函数;
14.将训练集输入yolo神经网络,并设定损失函数对yolo神经网络进行迭代训练,得到训练后的神经网络模型;
15.利用测试集的测试结果对神经网络模型进行验证。
16.进一步的,所述yolo神经网络包括多层卷积层和多层全连接层。
17.进一步的,所述激活函数包括线性激活函数和非线性激活函数,其中yolo神经网络的最后输出层采用线性激活函数;
18.所述非线性激活函数的公式为:
19.f(x)=max(x,ax)
20.其中,max为取最大值函数,x为某一像素点的坐标,a为常数;所述线性激活函数的公式为:
21.f(x)=kx+a
22.其中,k和a均为常数,x为某一像素点的坐标。
23.所述损失函数的公式为:
[0024][0025]
其中,coorerr为yolo神经网络识别到的预测数据与实际数据之间的坐标误差,ierr为预测数据与实际数据之间重叠尺度误差,claerr为预测数据与实际数据之间分类误差,s为某一图像的像素数量,i为整数。
[0026]
进一步的,所述步骤“采集目标农作物图像并输入训练好的神经网络模型中,对目标农作物进行识别及定位”包括以下步骤:
[0027]
采集目标农作物的图像,并对采集的图像进行标准化处理;
[0028]
将处理后的图像输入训练好的神经网络模型进行目标农作物的识别,并得到目标农作物的位置区域。
[0029]
进一步的,所述步骤“提取目标农作物的特征点集合,将提取的特征点集合与训练后的神经网络模型中的标准模板数据集合进行配准,计算得到目标农作物的旋转矩阵和平移矩阵”包括以下步骤:
[0030]
设定基准坐标系;
[0031]
提取目标农作物的点云数据形成特征点集合;
[0032]
从特征点集合和标准模板数据集合中分别提取关键点,并计算关键点对应的特征描述子;
[0033]
结合特征描述子在对应特征点集合和标准模板数据集合中的坐标位置,估计对应特征点集合和标准模板数据集合之间相对应的点对;
[0034]
对估计的点对进行去噪处理,去除错误的点对,完成特征点集合和标准模板数据集合的粗配准;
[0035]
采用最近点迭代算法对特征点集合和标准模板数据集合中的点云数据进行配准,得到两个点云数据之间的旋转矩阵和平移矩阵,完成精配准。
[0036]
进一步的,所述步骤“对估计的点对进行去噪处理,去除错误的点对,完成特征点集合和标准模板数据集合的粗配准”基于采样一致性原理对点对进行去噪处理,具体包括以下步骤:
[0037]
从特征点集合中选择若干个采样点,计算所述采样点中配对距离大于预设距离的点,并去除配对距离大于预设距离的采样点;
[0038]
对于每一个采样点,在标准模板数据集合中找到对应的点并存入采样点集合中,得到采样点集合与标准模板数据集合p
s
之间的对应关系;
[0039]
根据采样点集合与标准模板数据集合的对应关系,计算采样点定义的刚体变换矩阵,进而计算点云的度量错误;
[0040]
重复前述步骤,直到求得的度量错误满足预设最佳度量错误;并对最佳度量错误进行非线性局部优化。
[0041]
进一步的,所述步骤“采用最近点迭代算法对特征点集合和标准模板数据集合中的点云数据进行配准,得到两个点云数据之间的旋转矩阵和平移矩阵,完成精配准”包括以下步骤:
[0042]
在标准模板数据集合中找出与采样点集合对应的第一对应点集;
[0043]
根据采样点集合与第一对应点集之间的对应关系,计算旋转矩阵和平移矩阵,进而求得误差函数;
[0044]
对采样点集合基于求得的旋转矩阵和平移矩阵进行旋转和平移变换,得到第二对应点集;
[0045]
计算第二对应点集与第一对应点集之间所有对应点对之间的平均距离,并进行迭代计算,直到满足收敛,完成特征点集合和标准模板数据集合的精配准。
[0046]
进一步的,所述步骤“根据点云配准结果计算目标农作物的可摘取范围,引导农业机器人进行采摘”包括以下步骤:
[0047]
将目标农作物的旋转矩阵和平移矩阵映射至三维空间位置中,得到目标农作物的空间位置和姿态;
[0048]
根据目标农作物的空间位置和姿态,引导农业机器人进行农作物的采摘。
[0049]
本发明基于深度学习算法,构建神经网络模型对农作物的图像进行处理和学习,在rgb颜色图中对目标农作物进行识别和定位,然后提取神经网络模型识别出来当前位置区域中的目标农作物的点云数据,将识别到的点云数据与神经网络模型中标准模板数据进行迭代配准,进而将标准模板数据中的可行抓取点应映射至目标农作物上,最后引导农业机器人进行抓取,能够有效提高作业精度和作业效率。
附图说明
[0050]
图1为本发明的流程图。
[0051]
图2为图1中步骤s1的流程图。
[0052]
图3为图1中步骤s2的流程图。
[0053]
图4为图1中步骤s3的流程图。
[0054]
图5为图4中步骤s305的流程图。
[0055]
图6为图4中步骤s306的流程图。
[0056]
图7为图1中步骤s4的流程图。
具体实施方式
[0057]
下面结合附图对本发明作进一步说明。
[0058]
如图1所示,本发明一种用于预测遮挡农作物摘取点的农业机器人作业方法具体
包括以下步骤:
[0059]
s1:构建神经网络模型。
[0060]
采用深度学习算法对农作物的图像进行检测和识别,得到指定农作物的标准模板数据,并训练出能够识别出对应农作物的神经网络模型。如图2所示,具体包括以下步骤:
[0061]
s101:采集若干农作物的图像,并将采集的图像分成训练集和测试集。
[0062]
具体的,分别从多个角度采集农作物在不同场景、不同时段下的若干图像,并将这些图像按比例分成训练集和测试集,所述训练集用于对神经网络模型进行训练,测试集用于对训练后的神经网络模型进行测试和验证,以得到训练后的神经网络模型在面对实际运用场景的泛化误差,便于对神经网络模型进行优化,提高神经网络模型的识别精度。在本实施方式中,采用深度摄像机来对农作物的图像进行采集,并将采集的图像按照8:2的比例分成训练集和测试集。
[0063]
s102:构建yolo神经网络,设定特征参数和激活函数。
[0064]
具体的,所述yolo神经网络包括多层卷积层和多层全连接层,其输入入口为416*416像素的图片,输出为包含置信度信息的包围盒,以便判断目标农作物被遮挡的概率。在本实施方式中,所述yolo神经网络包括24个卷积层与2个全连接层,每一所述卷积层分别用于提取图像中农作物的不同的特征,两个全连接层分别用于预测图像中农作物的位置和农作物是否为被遮挡弄座位的概率值。然后设定需要识别的农作物的特征参数,如:颜色、形状、叶片等。
[0065]
由于图像特征经过卷积层卷积运算后的输出为输入的线性组合,为使得不同的卷积层能够提取到图像中农作物的不同特征,需对其输出结果进行非线性处理,也即设定激活函数对卷积层进行激励,在输出中引入非线性的变换。所述激活函数包括线性激活函数和非线性激活函数,其中yolo神经网络的最后输出层采用线性函数作为激活函数,由于卷积运算后的输出需要用于预测农作物的位置坐标,该位置坐标为一数值,而不仅仅是概率值,因此需要在最后输出层引入线性函数作为激活函数,而其他层均采用非线性函数作为激活函数。
[0066]
在本实施方式中,所述非线性激活函数的公式为:
[0067]
f(x)=max(x,ax)
[0068]
其中,max为取最大值函数,x为某一像素点的坐标,a为常数;所述线性激活函数的公式为:
[0069]
f(x)=kx+a
[0070]
其中,k和a均为常数,x为某一像素点的坐标。
[0071]
s103:将训练集输入yolo神经网络,并设定损失函数对yolo神经网络进行迭代训练,得到训练后的神经网络模型。
[0072]
具体的,将训练集中的所有图片输入构建好的yolo神经网络中,基于设定的损失函数,对农作物的不同特征赋予不同的权重计算损失函数的值,并将该损失函数的值作为误差回传至yolo神经网络进行迭代训练,直至符合收敛,得到训练好的神经网络模型。
[0073]
在本实施方式中,所述损失函数的公式为:
[0074]
[0075]
其中,coorerr为yolo神经网络识别到的预测数据与实际数据之间的坐标误差,ierr为预测数据与实际数据之间重叠尺度误差,claerr为预测数据与实际数据之间分类误差,s为某一图像的像素数量,i为整数。
[0076]
s104:利用测试集的测试结果对神经网络模型进行验证。
[0077]
具体的,将测试集输入训练好的神经网络模型进行验证,检测神经网络模型的精确性,并判断神经网络模型是否达到预设要求,即测试集的测试结果的正确率是否达到预期,如未达到预期,则可以调整激活函数以及损失函数来对神经网络模型进行优化,直至测试结果达到预期。
[0078]
s2:农作物的识别及定位。
[0079]
采集目标农作物图像并输入训练好的神经网络模型中,通过神经网络模型对目标农作物进行识别及定位。如图3所示,具体包括以下步骤:
[0080]
s201:农业机器人采集目标农作物的图像,并对采集的图像进行标准化处理,使得采集到的图像像素与神经网络模型定义的输入入口的大小相匹配,以便于神经网络模型能够顺利识别图像。在本实施方式中,根据yolo神经网络的输入入口的大小,将目标农作物的图像像素处理成416*416。
[0081]
s202:将处理后的图像输入训练好的神经网络模型中,神经网络模型根据标准模板数据对农作物进行识别,并得到目标农作物的位置区域。
[0082]
s3:判断目标农作物的三维空间位置。
[0083]
提取目标农作物的点云数据,形成特征点集合p,将特征点集合p与神经网络模型中的标准模板数据集合q进行配准,计算得到目标农作物的旋转矩阵r和平移矩阵t。如图4所示,具体包括以下步骤:
[0084]
s301:以农业机器人的基坐标系作为特征点集合p与标准模板数据集合q配准基准坐标系。
[0085]
s302:提取目标农作物在当前位置下的点云数据,并形成目标农作物点云特征点集合p。
[0086]
s303:从特征点集合p和标准模板数据集合q中按照相同的关键点选取标准,分别提取关键点,并计算各个关键点对应的特征描述子。
[0087]
s304:结合特征描述子在对应特征点集合p和标准模板数据集合q中的坐标位置,估计特征点集合p和标准模板数据集合q之间相对应的点对。
[0088]
s305:对估计的点对进行去噪处理,去除错误的点对,完成特征点集合p和标准模板数据集合q的粗配准。
[0089]
由于噪声的影响,所述步骤s304中估计出来的点对并不是完全正确,为减小错误点对对刚体变换矩阵估算产生的负面影响,所以需要将错误的点对加以去除。在本实施方式中,基于采样一致性原理对步骤s304中的点对进行去噪处理,如图5所示,具体包括以下步骤:
[0090]
s3051:从特征点集合p中选择若干个采样点,计算所述采样点中配对距离大于预设距离的点,并去除配对距离大于预设距离的采样点。所述配对距离为特征点集合p中选择的采样点与标准模板数据集合q对应的点之间的距离。
[0091]
s3052:对于步骤s3051中剩下的采样点,即配对距离小于等于预设距离的采样点,
在标准模板数据集合q中找到对应的点得到采样点集合ps,得到采样点集合ps与标准模板数据集合q的对应关系。
[0092]
s3053:根据采样点集合ps与标准模板数据集合q的对应关系,随机选择部分点对之间的对应关系,计算采样点的刚体变换矩阵,进而得到点云的度量错误。
[0093]
s3054:判断步骤s3053中计算得到的度量错误是否满足预设的最佳度量错误的要求,如不满足则重复步骤s3051至步骤s3053,调整参数后重新计算采样点的刚体变换矩阵,直到求得的度量错误满足预设最佳度量错误,并对最佳度量错误进行非线性局部优化,实现特征点集合p和标准模板数据集合q的粗配准。
[0094]
s306:采用最近点迭代算法对特征点集合p和标准模板数据集合q中的点云数据进行迭代配准,进一步得到两个集合之间的旋转矩阵和平移矩阵,完成特征点集合p和标准模板数据集合q的精配准。如图6所示,具体包括以下步骤:
[0095]
s3061:在标准模板数据集合q中找出与采样点集合ps对应的第一对应点集qs,且||qs

ps||=dmin,其中ps∈p、qs∈q,即采样点集合ps中任一采样点到第一对应点集qs中对应点之间的距离为预设的最小距离。
[0096]
s3062:根据采样点集合ps与第一对应点集qs之间的对应关系,计算旋转矩阵r和平移矩阵t,进而计算误差函数,使得误差函数最小。所述误差函数的公式为:
[0097][0098]
其中,n为最邻近点对的个数,p
i
为采样点集合ps中的一点,q
i
为点集qs中与p
i
对应的最近点,r为旋转矩阵,t为平移矩阵。
[0099]
s3063:对采样点集合ps基于用步骤s3062中求得的旋转矩阵r和平移矩阵t进行旋转和平移变换,得到第二对应点集ps',其中:ps'={ps'=rps+t,ps∈p}。
[0100]
s3064:计算第二对应点集ps'与第一对应点集qs之间所有对应点对之间的平均距离d,如果d小于给定的阈值或者迭代次数达到预设的最大迭代次数时,停止迭代计算,否则返回步骤s3061继续计算旋转矩阵r和平移矩阵t,直到满足收敛为止,特征点集合p和标准模板数据集合q的精配准。
[0101]
s4:确定摘取范围,实行目标农作物摘取。
[0102]
根据点云配准结果计算目标农作物的可摘取范围,引导农业机器人进行采摘。如图7所示,具体包括以下步骤:
[0103]
s401:将步骤s3064中计算得到的目标农作物的旋转矩阵r和平移矩阵t映射至三维空间位置中,得到目标农作物的空间位置和姿态。
[0104]
s402:根据目标农作物的空间位置计算农业机器人机械爪沿x轴、y轴和z轴移动的距离,根据目标农作物的姿态计算机械爪可摘取的范围,也即机械爪张开闭合的宽度,从而引导农业机器人精确、高效地进行农作物的采摘。
[0105]
本发明基于深度学习算法,构建神经网络模型对农作物的图像进行处理和学习,在rgb颜色图中对目标农作物进行识别和定位,然后提取神经网络模型识别出来当前位置区域中的目标农作物的点云数据,将识别到的点云数据与神经网络模型中标准模板数据进行迭代配准,进而将标准模板数据中的可行抓取点应映射至目标农作物上,最后引导农业机器人进行抓取,能够有效提高作业精度和作业效率。
[0106]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明的专利保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1