1.本发明涉及机器视觉技术领域,具体涉及一种基于双目视觉的草莓采摘方法、机器人系统。
背景技术:2.成熟的棚室果实现在普遍采用人工采摘,随着人工成本的日益攀升,同时为了降低人们的劳动强度,提高棚室果蔬采摘效率、保证采摘的果蔬质量,人们对于采摘技术需求日益迫切。
3.不同于苹果、橙子等其他农作物,草莓果实是软质果实,并且其果实是形状各异的,这就导致果实在识别过程中有一定的困难之处。草莓果实需要在成熟柔软的时候进行收获,这就意味着需要小心的操作,挤压容易导致果实的损坏,由于腐烂会蔓延,这不仅是一颗果实的损坏,会对作物造成大范围的损害。因此对于草莓等软质水果带来的挑战,这就意味着现有的收获方法将不在起作用。本技术所要解决的问题就是设计一款能够代替人工进行草莓采摘,并且在采摘过程中对于果实的保护。随着深度学习近几年的快速发展,以yolo系列为主要代表的目标检测模型蓬勃发展,其中yolov5在实际的工程应用中极其广泛。
4.而现有技术的方法,很难实现对于在草莓茎上面的采摘方法,容易使得机械末端对于果实的接触,从而对于草莓果实损坏。
技术实现要素:5.有鉴于此,本发明提供了一种基于双目视觉的草莓采摘方法、机器人系统,通过利用草莓的质心以及茎来确定采摘点,能够从图像中的大量茎中选择最有可能的茎,高效的对于草莓进行低损伤采摘。
6.本发明的技术方案如下:
7.一种基于双目视觉的草莓采摘方法,包括:
8.采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像;
9.根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;
10.根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。
11.优选的,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:
[0012][0013]
[0014]
其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;
[0015]
当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;
[0016]
当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;
[0017]
根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;
[0018]
进一步,确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。
[0019]
优选的,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:
[0020]
首先选择一块感兴趣区域作为模板,生成灰度值的模板;
[0021]
然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;
[0022]
接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。
[0023]
优选的,根据预设识别模型对所述预处理图像进行草莓果实识别,包括:所述预设的识别模型为基于yolov5网络结构的识别模型;
[0024]
在所述基于yolov5网络结构的识别模型中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction预测层,最后对图像特征进行预测,生成边界框并预测结果。
[0025]
此外,还提出一种基于双目视觉的草莓采摘机器人系统,所述机器人包括双目视觉模块,末端执行模块;所述双目视觉模块,用于采集草莓图像;所述末端执行模块,用于草莓摘取;
[0026]
所述系统还包括:
[0027]
预处理模块,对所述草莓图像进行预处理,得到预处理图像;
[0028]
识别模块,根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;
[0029]
采摘位置确定模块,根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。
[0030]
优选的,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:
[0031][0032][0033]
其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;
[0034]
当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;
[0035]
当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;
[0036]
根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;
[0037]
确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。
[0038]
优选的,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:
[0039]
首先选择一块感兴趣区域作为模板,生成灰度值的模板;
[0040]
然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;
[0041]
接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。
[0042]
优选的,根据预设识别模型对所述预处理图像进行草莓果实识别,包括:所述预设的识别模型为基于yolov5网络结构的识别模型;
[0043]
在所述基于yolov5网络结构的识别模型中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction预测层,最后对图像特征进行预测,生成边界框并预测结果。
[0044]
在本发明的方案中,基于双目视觉的草莓采摘方法、机器人系统,通过采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像;根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置,从而很好的提高草莓的识别精度以及草莓的定位测距问题,有效的避免了机械末端对于草莓果实的接触,从而避免的对于草莓果实损坏。
附图说明
[0045]
图1为本发明实施例中基于双目视觉的草莓采摘方法流程图;
[0046]
图2本发明实施例中使用模板匹配的方法找到采摘点的实际图例;
[0047]
图3本发明实施例中机器人末端执行器结构示意图。
具体实施方式
[0048]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
如图1所示,本发明实施一种基于双目视觉的草莓采摘方法,包括:
[0050]
s1,采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像。
[0051]
具体地,本实施例,双目摄像头拍摄的草莓图像会存在噪声。设法过滤图像中的噪声,能够提高图像的锐化程度,可以使草莓的枝叶、果实的特征更加明显并提高辨识度,从
而降低草莓的识别难度。在果实采摘机器人视觉系统中,首先要对采集到的果实图像进行预处理。由于果实图像质量的不确定性,直接将图像输入到搭建的卷积神经网络中会很大程度影响网络的训练结果以及定位检测和分类识别的效果,因此需要对果实图像进行预处理。针对不同的视觉系统,以及所要处理的数据不同,通常会采用不同的图像预处理方法。在同一系统中,一般只使用一种或几种图像预处理方法。在本实施例的视觉系统中,使用了以下几种图像预处理方法:灰度转换;图像归一法。
[0052]
为了使视觉系统的性能得到提高和鲁棒性更强,需要对采集的果实图像进行预处理,其中对图像进行灰度变换是预处理中重要的一步,在保证不丢失图像整体特征信息的基础上,可以使后期的图像处理速度加快。
[0053]
彩色图像通常都是采用rgb色彩模式,rgb颜色空间由r(红)、g(绿)、b(蓝)3个基本颜色为基础组成,且r分量,g分量,b分量的取值范围均为0-255。人眼在大自然中所能够感知到的任何一种颜色均都可以由这三种基本颜色加权混合而成,可用颜色方程表示。设c为自然界中某种颜色,则颜色c的数学表达式如下:c=αr+βg+γb。式中,α,β,γ∈[0,1]为三基色系数。
[0054]
像素点是图像中最小的单元,一个像素点是一个小方格,很多个像素点构成了一幅图像。例如:如果电脑屏幕上有一个红色像素点,那么该像素点的rgb三分量值为:0,255,0。在使用rgb颜色空间时,因为能够直接采用与硬件相同的颜色系统,所以图像数据不需要进行颜色空间转换,能够直接使用。彩色图像普遍采用rgb颜色模式,但是r、g、b三个分量之间的相关性较高,单纯是在光学的原理上进行颜色调配,不能有效提供颜色信息和反映图像的形态特征。因此,处理图像的时候,要分别对rgb三种分量(r:red,g:green,b:blue)进行处理,将彩色图像转化为灰度图,即三通道转换成单个通道,常见的图像灰度转换处理有如下三种方法。
[0055]
方法1:平均值法。平均值法是将彩色图像数据中的rgb三个分量的像素值进行平均,经计算得到一个灰度值,公式如下:gray(i,j)=(r(i,j)+g(i,j)+b(i,j))3
ꢀꢀ
(2-2)。
[0056]
方法2:最大值法。对于彩色图像数据中的rgb三个分量,选择亮度的最大值作为灰度图的灰度值,公式如下:
[0057]
gray(i,j)=max{r(i,j)+g(i,j)+b(i,j)}
ꢀꢀ
(2-3)
[0058]
方法3:加权平均法。加权平均法是一种最常用的灰度转换方法,人眼对自然环境中的绿色最为敏感,对蓝色敏感度最低,将三个分量以不同的权值进行加权平均能得到较合理的灰度图像,公式如下:
[0059]
gray(i,j)=0.299
×
r(i,j)+0.578
×
g(i,j)+0.114
×
b(i,j)
ꢀꢀ
(2-4)
[0060]
本实例选用加权平均法对果实图像进行灰度转换,得到的果实图像灰度图效果最好,亮度较为明显。
[0061]
当果实图像数据输入到卷积神经网络做样本训练之前,在图像预处理环节中还需要进行图像归一化处理,将其变换为固定标准形式,使图像数据在卷积神经网络中进行训练的过程中可以更快地收敛,提高训练效率。原始的果实图像数据经图像归一化处理后,能够将果实图像数据的所有像素值统一映射到[0,1]区间上,以下为两种常用的方法:
[0062]
方法1:min-max标准化(规范化方法)
[0063]
min-max标准化,即采用线性变换对原始的图像数据进行处理,经处理后的像素结
果值映射到[0,1]之间,这种方法也被称为离差标准化,其转换公式如下所示:
[0064][0065]
其中xi表示图像像素点值,min(x)表示图像像素的最小值,max(x)表示图像像素的最大值。
[0066]
方法2:z-score标准化(正规化方法)
[0067]
z-score标准化作为一种常用的数据标准化方法,通过该方法处理后的数据均值为0,标准差为1,符合标准的正态分布,其计算公式如下所示:
[0068]
对序列x1,x2,x3……
xn进行变换:其中,是所有样本数据的均值,计算公式为:s是所有样本数据的标准差,计算公式为:经此计算出新的序列为y1,y2,y3……
,yn,其均值为0,方差为1,无量纲。
[0069]
以下是上述两种方法的使用场景:(a)z-score标准化方法适用于数据的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。当采用z-score标准化处理数据时,需要原始数据的分布满足近似为高斯分布,否则效果会变得很糟糕。(b)在分类算法或聚类算法中,需要用距离来度量相似性的时候,或者当采用pca技术进行降维的时候,z-score标准化方法的效果更好。(b)当数据不符合正太分布,不涉及距离度量、协方差计算的时候,可以采用min-max标准化方法进行归一化。例如:在图像处理时,将rgb三通道图像转换为灰度图像后,将其像素值限定在[0,255]的范围,可以采用min-max标准化方法对其进行归一化处理。综上所述,本实例在果实图像预处理时选用方法1,即min-max标准化方法(规范化方法)作为图像归一化的方法,经图像归一化之后,图像本身的信息不会被破坏,通过运行结果的像素值可以得出,像素值的取值范围从[0,255]转化成[0,1]。这为接下来果实图像数据输入到卷积神经网络中进行训练做好了铺垫。图像归一化后有以下两个好处:(a)提升卷积神经网络模型在训练数据时的收敛速度;(b)提升卷积神经网络模型中分类器的准确性。
[0070]
s2,根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心。
[0071]
具体地,本实施例,所述识别模型需要预先进行训练。传统的目标检测网络主要是基于faster-rcnn算法的一些传统的two-stage的网络进行训练,对于two-stage的目标检测网络,主要通过一个卷积神经网络来完成目标检测过程,其提取的是cnn卷积特征,在训练网络时,其主要训练两个部分,第一步是训练rpn网络,第二步是训练目标区域检测的网络。训练精度虽然能够比较高,但是检测速率往往比较慢,而one-stage直接回归通过主干网络给出类别和位置信息,没有使用rpn网络,这样算法的速度就有所提高。yolov5的网络中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction层,最后对图像特征进行预测,生成边界框并预测结果。
[0072]
具体,本实施例,所述预设的识别模型为基于yolov5网络结构的识别模型;通过如下方式获得识别模型:
[0073]
人工数据集采集:人工采集数据集是训练的基础,通过双目相机采集的图片可以很好的采集机器人实际工作场景的草莓果实图片。在采集数据集过程中,要充分考虑实际情况,模拟采摘机器人实际工作环境的光线、角度、清晰度、以及叶片的遮挡等问题。本数据集一共1046张图片。
[0074]
数据集标注:数据集标注:线缆数据集标注的过程中,本实例采用的标注工具为labelimg,其安装过程如下:(1)在anaconda中新建一个名称为labelimg的虚拟环境;(2)激活相应的虚拟环境,在虚拟环境中,输入pip install labelimg,然后再重新激活相应的虚拟环境输入labelimg,即可得到标注的界面;(3)标注完成后,会得到相应的含有标注信息的.xml文件。
[0075]
anchor设置:yolo v5的官方代码中所给出的anchor信息是基于voc数据集的,为了契合线缆的数据集的特点,需要对anchor进行设置,这里利用到的是k-means算法对得到的标注信息进行处理,进而得到适合草莓数据集的anchor。
[0076]
网络结构设计:本实例采用yolov5的网络结构。depth_multiple和width_multiple两个参数,来控制网络结构的深度和宽度,其中depth_multiple控制网络的深度(bottleneckcsp数),width_mutiple控制网络的宽度(卷积核数量)。
[0077]
训练过程:将标注得到的xml文件利用代码转换为yolo的txt格式,利用官方给定的yolov5代码进行训练,训练过程如下:
[0078]
(1)annotations存放标注过后的xml文件,images为原始的图片,imagesets存放的是训练集测试集以及验证集的比例,labels为转换以后的yolo格式的文件,divide.py为编写的测试集训练集验证集分割的代码,xml
→
txt.py为编写的xml文件转txt文件的代码;
[0079]
(2)对于网络参数的修改以及数据参数的修改;
[0080]
(3)结果评估:根据测试集的测试结果,会对模型的效果进行测试,通常首先从直观的角度进行测试,最为直接的就是在双目相机下能不能将草莓是否成熟识别出来。从模型的评价指标来看,通常会采用一些指标来对模型的具体性能进行评价;
[0081]
(4)修改数据集、网络参数:在训练的过程中,若出现模型的性能指标不理想的情况,可以重新采集数据集并对原有的数据集进行扩充、数据增强,另外还可以对训练的过程进行调整,结合实时的loss曲线分析。
[0082]
传统的目标检测网络主要是基于fast-rcnn的一些传统的two-stage的网络进行训练,训练精度虽然能够比较高,但是检测是速率往往比较慢,而基于one-stage的yolo v5的网络训练能够很好地实现快速检测以及实时检测地任务。为了提升模型的收敛速度以及模型中分类器的准确性,在数据处理阶段我们对数据进行归一化处理。另外,本实例在训练的过程中,能够实时地监测loss曲线的变化,在恰当的时机得到最适合检测的模型,从而得到一个最优的模型,进而能够提高识别精度以及识别的效果。最后在本实例中,利用k-means算法对于得到的标注信息进行处理,从而能够得到比较合适的契合本数据集的anchor,也就是检测时出现的框,从而能够使得在检测时有一个比较良好的效果。
[0083]
s3,根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。
[0084]
优选的,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:
[0085][0086][0087]
其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;
[0088]
当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;
[0089]
当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;
[0090]
根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;
[0091]
确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。
[0092]
具体地,本实施例,由于草莓茎是草本茎,因此利用膨压来支撑果实,它不够强大,无法从底部支撑草莓果实。相反,草莓通常是下垂的,茎向下弯曲。因此,我们确定草莓的采摘点为茎上距花萼一厘米左右的地方。一种自然的方法是将茎的位置建模为斜线——如果我们能识别这条线,那么就很容易将采摘点定位在它上面。要确定这条直线,我们首先需要确定这条直线上的两个不动点。我们用水果的最低点和水果的质心作为两个固定的点,它们定义了这条线的梯度。从分割后的图像中,可以很容易地找到最低点和质心。质心可以从:得到。其中f(x,y)如果(x,y)的像素在红色段中,返回1,如果不在红色段中,返回0。一旦我们有了渐变,我们使用模板匹配来找到挑选点,搜索绿色部分刚好高于草莓的最高点。我们寻找与模板匹配的图像元素,一小段宽度与典型草莓茎相同的线,以及与从最低点到质心的线相同的梯度。我们方法的模板匹配部分如图2所示。初始图像如图2(d)所示。在分割图像并识别草莓后,我们搜索采摘点的区域显示在图2(a)。选择这个区域是为了将采摘点限制在距花萼适当的距离之内。该图像的stem模板如图2(b)所示。这已经被旋转以匹配质心和水果最低点之间的线的梯度。模板匹配结果如图2(c)所示。这考虑了与模板匹配的程度,以及给定点到花萼的距离。较亮的区域,作为匹配程度和接近花萼的组合,更有可能是一个很好的采摘点。图2(c)用绿色的点表示最可能的选择点,用红色表示点在图2(d)的原始图像中,圆点在成熟草莓的茎上。
[0093]
由于机器人末端执行器容易损坏草莓果实,如图3所示,固此处将机器人执行器换成一个带有刀片31的矩形盒子,当后台处理得到对应的果实坐标时,机器臂将末端执行器移动到对应的点,将草莓30放置在矩形框内,对应的抓取动作就是刀片31的剪切将草莓茎32剪断,从而可以完整的将草莓30摘取下来。
[0094]
优选的,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:
[0095]
首先选择一块感兴趣区域作为模板,生成灰度值的模板;
[0096]
然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采
取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;
[0097]
接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。
[0098]
此外,还提出一种基于双目视觉的草莓采摘机器人系统,所述机器人包括双目视觉模块,末端执行模块;所述双目视觉模块,用于采集草莓图像;所述末端执行模块,用于草莓摘取;
[0099]
所述系统还包括:
[0100]
预处理模块,对所述草莓图像进行预处理,得到预处理图像;
[0101]
识别模块,根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;
[0102]
采摘位置确定模块,根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。
[0103]
优选的,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:
[0104][0105][0106]
其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;
[0107]
当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;
[0108]
当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;
[0109]
根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;
[0110]
确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。
[0111]
优选的,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:
[0112]
首先选择一块感兴趣区域作为模板,生成灰度值的模板;
[0113]
然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;
[0114]
接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。
[0115]
优选的,根据预设识别模型对所述预处理图像进行草莓果实识别,包括:所述预设的识别模型为基于yolov5网络结构的识别模型;
[0116]
在所述基于yolov5网络结构的识别模型中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction预测层,最后对图像特征进行预测,生成边界框并预测结果。
[0117]
在本发明上述实施例的方案中,所提供的应用于配电房的数据显示与快速处理方法、系统,包括如下步骤:获取cim模型数据;提取cim模型中设备的地理坐标;按照比例在svg图上布点,提取节点号连接设备之间的关系布线,将线路和设备的图元对应绘制,得到第一绘制图像;将所述第一绘制图像中的配电线路从主干线到分支执行分为n级;对所述第一绘制图像中的配电线路进行分级修正,得到配电房的数据绘制图像,并进行显示。本发明通过设利用cim模型数据先绘制粗略的绘制图像,而后执行主干线到分支的分级修正得到精确图像并显示,具有数据处理以及显示的可靠性、稳定性以及更为直观性。
[0118]
在本发明上述实施例的方案中,所提供的基于双目视觉的草莓采摘方法、机器人系统,通过采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像;根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。本发明通过利用草莓的质心以及茎来确定采摘点,能够从图像中的大量茎中选择最有可能的茎,高效的对于草莓进行低损伤采摘。此外,本发明训练过程中,基于one-stage的yolo v5的网络训练能够很好地实现快速检测以及实时检测地任务,其中,one-stage直接回归通过主干网络给出类别和位置信息,没有使用rpn网络,这样算法的速度就有所提高;yolov5的网络中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction层,最后对图像特征进行预测,生成边界框并预测结果。从而更为快速的提高草莓的识别精度以及草莓的定位测距问题,有效的避免了机械末端对于草莓果实的接触,从而避免的对于草莓果实损坏。
[0119]
此外,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上基于双目视觉的草莓采摘方法。
[0120]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和偏移处理。该类修改、改进和偏移处理在本说明书中被建议,所以该类修改、改进、偏移处理仍属于本说明书示范实施例的精神和范围。
[0121]
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对它们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
[0122]
需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
[0123]
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其它的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介
绍和描述的实施例。
技术特征:1.一种基于双目视觉的草莓采摘方法,其特征在于,包括:采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像;根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。2.根据权利要求1所述的基于双目视觉的草莓采摘方法,其特征在于,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:通过如下公式获取:其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;进一步,确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。3.根据权利要求2所述的基于双目视觉的草莓采摘方法,其特征在于,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:首先选择一块感兴趣区域作为模板,生成灰度值的模板;然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。4.根据权利要求3所述的基于双目视觉的草莓采摘方法,其特征在于,根据预设识别模型对所述预处理图像进行草莓果实识别,包括:所述预设的识别模型为基于yolov5网络结构的识别模型;在所述基于yolov5网络结构的识别模型中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction预测层,最后对图像特征进行预测,生成边界框并预测结果。5.一种基于双目视觉的草莓采摘机器人系统,其特征在于,所述机器人包括双目视觉模块,末端执行模块;所述双目视觉模块,用于采集草莓图像;所述末端执行模块,用于草莓摘取;所述系统还包括:预处理模块,对所述草莓图像进行预处理,得到预处理图像;
识别模块,根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;采摘位置确定模块,根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。6.根据权利要求5所述的基于双目视觉的草莓采摘机器人系统,其特征在于,根据草莓果实识别结果,确定草莓的最低点以及草莓的质心,草莓质心通过如下公式获取:通过如下公式获取:其中,f(x,y)表示每一个质点的质量;坐标点(x,y)是草莓果实识别结果图像的草莓像素点;所述f(x,y)为0或1;当坐标点(x,y)的像素点在红色区域,代表着在草莓果实上,f(x,y)返回1;当坐标点(x,y)得像素点不在红色区域,代表着不在草莓果实上,f(x,y)返回0;根据公式进行加权求和就可以计算出整个草莓的质心。代表着x坐标方向的加权平均数,代表着y坐标的加权平均数;进一步,确定从最低点到质心的连线的梯度,将采摘点确定在该连线上,然后根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置。7.根据权利要求6所述的基于双目视觉的草莓采摘机器人系统,其特征在于,所述根据基于灰度的模板匹配方法确定最佳匹配点作为最终的采摘点位置,包括:首先选择一块感兴趣区域作为模板,生成灰度值的模板;然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点搜索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;接下来进行精匹配,将得到的粗相关点作为中心点,用最小二乘法寻找二者之间的最优匹配点,从而作为最终的采摘点位置。8.根据权利要求7所述的基于双目视觉的草莓采摘机器人系统,其特征在于,根据预设识别模型对所述预处理图像进行草莓果实识别,包括:所述预设的识别模型为基于yolov5网络结构的识别模型;在所述基于yolov5网络结构的识别模型中,草莓图像首先通过backbone主干网络在不同图像细粒度上聚合并形成图像特征,再通过neck网络将图像特征混合和组合,并且将图像特征传递到prediction预测层,最后对图像特征进行预测,生成边界框并预测结果。
技术总结本发明提供一种基于双目视觉的草莓采摘方法、机器人系统,通过采集草莓图像,并对所述草莓图像进行预处理,得到预处理图像;根据预设识别模型对所述预处理图像进行草莓果实识别;根据草莓果实识别结果,确定草莓的最低点以及草莓的质心;根据所述最低点以及质心,确定采摘点位置;所述采摘点位置为草莓茎上距花萼预定距离位置。本发明,通过利用草莓的质心以及茎来确定采摘点,能够从图像中的大量茎中选择最有可能的茎,高效的对于草莓进行低损伤采摘。采摘。采摘。
技术研发人员:陈鹏 许浪 章军 夏懿 王儒敬 王刘向 牛子寒 陈建峰 黄琼娇 路宝榕 胡涛
受保护的技术使用者:中科合肥智慧农业协同创新研究院
技术研发日:2022.03.28
技术公布日:2022/7/5