一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于识别农田土表的方法、装置、农用机械及介质与流程

2021-12-17 19:58:00 来源:中国专利 TAG:


1.本公开涉及用于识别农田土表的方法、装置、农用机械及存储介质。


背景技术:

2.农田土表识别可用于基于视觉导航的农用机械(例如农田机器人)的导航。目前农田土表识别方法通过图像分析(例如svm、聚类等)分割出农田中的作物,这种方式严重依赖于人工标注的数据,标注工作量大,导致识别方法鲁棒性较差。


技术实现要素:

3.本公开实施方式的目的是提供能够快速准确识别农田土表的方法、装置、农用机械及存储介质。
4.为了实现上述目的,根据本公开的第一方面,提供一种用于确定农田土表的标注的方法,包括:
5.对农田的图像进行二值化,以提取图像中植被所在的区域并生成图像的二值化图;
6.确定图像中种植行的主方向;
7.以主方向和与主方向垂直的方向作为坐标系,累加主方向上植被像素的数量,以得到累加曲线;
8.确定累加曲线的波峰顶点和宽度;
9.根据波峰顶点与宽度逐行生成种植行矩形条,得到种植行区域二值图,并根据种植行区域二值图得到非作物区域掩膜图;以及
10.根据非作物区域掩膜图与图像提取土表区域以得到土表的标注。
11.在本公开的实施方式中,对农田的图像进行二值化包括使用以下方法中的至少一种对图像进行二值化:
12.颜色空间区分方法;
13.颜色指数区分方法;
14.植被指数区分方法。
15.在本公开的实施方式中,确定图像中种植行的主方向包括:
16.将二值化图转换到极坐标系霍夫空间;
17.通过直线霍夫变换返回数据列表,数据列表包括峰值、角度和距离;
18.对数据列表进行统计分析,以得到种植行的主方向。
19.在本公开的实施方式中,对数据列表进行统计分析以得到种植行的主方向包括使用以下方法中的至少一者:
20.选取数据列表中出现次数最多的角度作为种植行的主方向;
21.在返回结果低于设定阈值的情况下选取数据列表中排名第一的角度作为种植行的主方向。
22.在本公开的实施方式中,方法还包括:在确定累加曲线的波峰顶点和宽度之前,对累加曲线进行平滑处理。
23.在本公开的实施方式中,累加主方向上植被像素的数量,以得到累加曲线包括:
24.将二值化图旋转至主方向处于垂直方向;
25.将旋转后的二值化图扩展至正方形,其中正方形的边长长度等于二值化图的对角线长度;
26.用零值填充正方形中二值化图以外的区域;
27.逐列对主方向的非零像素个数进行计数,以生成累加曲线。
28.在本公开的实施方式中,根据种植行区域二值图得到非作物区域掩膜图包括:
29.对所述种植行区域二值图的像素进行取反操作;
30.对种植行区域二值图进行反向旋转以将主方向恢复到旋转前的方向;
31.对种植行区域二值图恢复到扩展前的尺寸,以得到非作物区域掩膜图。
32.在本公开的实施方式中,根据非作物区域掩膜图与图像提取土表区域以得到土表的标注包括:
33.在非作物区域是土表的情况下,将非作物区域掩膜图作为标注;
34.在非作物区域不全是土表的情况下,提取土表区域,将非作物区域掩膜图中与提取的土表区域对应的部分作为土表的标注。
35.在本公开的实施方式中,方法还包括:
36.在累加主方向上植被像素的数量之前,判断是否要求约束条件;
37.在要求约束条件的情况下,执行累加主方向上植被像素的数量的步骤;
38.在没有要求约束条件的情况下,根据二值化图得到非作物区域掩膜图。
39.在本公开的实施方式中,约束条件包括最窄土壤条带。
40.根据本公开的第二方面,提供一种用于识别农田土表的方法,包括:
41.获取农田的图像;
42.根据图像得到该图像中农田土表的标注;
43.将图像和与图像相关联的标注配对以形成配对的数据集,并将数据集分成测试数据集和和多组训练数据集;
44.使用多组训练数据集对语义分割卷积神经网络进行迭代训练,以得到深度学习模型;每一次迭代的数据通过从多组训练数据集中随机抽取若干张图像数据获得,以通过多次迭代更新所述深度学习模型的参数;
45.将测试数据集输入到深度学习模型,对深度学习模型进行参数优化,优化后的深度学习模型用于识别农田土表。
46.在本公开的实施方式中,方法还包括:
47.在使用多组训练数据集对卷积神经网络进行训练之前,使用已知数据集对卷积神经网络进行预训练。
48.在本公开的实施方式中,根据图像得到该图像中农田土表的标注包括:
49.使用上述的用于确定农田土表的标注的方法来得到标注。
50.根据本公开的第三方面,提供一种用于对无人车规划作业路径的方法,包括:
51.使用上述的用于识别农田土表的方法确定农田土表;
52.根据确定的农田土表得到农田的垄间位置;以及
53.根据垄间位置确定无人车的作业路径。
54.在本公开的实施方式中,根据垄间位置确定无人车的作业路径包括:
55.根据垄间位置确定土表行与土表行之间的间距;
56.将无人车的轮距调节为间距的整数倍。
57.根据本公开的第四方面,提供一种用于预测作物产量的方法,包括:
58.使用上述的用于识别农田土表的方法确定农田土表;
59.根据确定的农田土表得到垄间距;
60.将垄间距与预设垄间距进行比较;
61.根据比较结果预测作物的产量。
62.根据本公开的第五方面,提供一种装置,包括:
63.处理器;以及
64.存储器,被配置成存储指令,指令被配置成在被处理器执行时能够使得处理器执行以下中的至少一者:
65.上述的用于确定农田土表的标注的方法;
66.上述的用于识别农田土表的方法;
67.上述的用于对无人车规划作业路径的方法;
68.上述的用于预测作物产量的方法。
69.根据本公开的第六方面,提供一种农用机械,包括上述的装置。
70.在本公开的实施方式中,农用机械包括以下中的至少一者:
71.无人机、无人车、插秧机、播种机。
72.根据本公开的第七方面,提供一种计算机可读存储介质,在计算机可读存储介质上存储有指令,指令在被处理器执行时能够使得处理器执行以下中的至少一者:
73.上述的用于确定农田土表的标注的方法;
74.上述的用于识别农田土表的方法;
75.上述的用于对无人车规划作业路径的方法;
76.上述的用于预测作物产量的方法。
77.通过上述技术方案,通过将农田的图像及其相关联的农田土表的标注作为配对的数据集对语义分割卷积神经网络进行训练和测试,生成深度学习模型,使用该深度学习模型来基于农田的图像识别农田土表。通过这种方式,可以快速生成农田土表标注,通过训练获得识别模型,从而具备识别更复杂场景(例如非机械化种植)的农田土表识别能力。
78.本公开实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
79.附图是用来提供对本公开实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开实施方式,但并不构成对本公开实施方式的限制。在附图中:
80.图1a是示意性示出了根据本公开的实施方式的用于识别农田土表的方法的示例的流程图;
81.图1b示意性示出了根据本公开实施方式的用于识别农田土表的方法中使用的深度学习网络的示例网络结构;
82.图2示意性示出了根据本公开实施方式的土表的标注的显示方式;
83.图3是示意性示出了根据本公开实施方式的用于确定农田土表标注的方法的示例的流程图;
84.图4a示意性示出了根据本公开实施方式的获取的农田图像;
85.图4b示意性示出了根据本公开实施方式的扩展后的正方形以及旋转后的二值化图的示意图;
86.图5示意性示出了根据本公开实施方式的平滑后的累加曲线;
87.图6a示意性示出了根据本公开实施方式的种植行区域二值图;
88.图6b示意性示出了根据本公开实施方式的对种植行区域二值图进行取反操作之后得到的二值图;
89.图6c示意性示出了在图6b示出的图中原二值化图(即旋转和扩展前的二值化图)的区域;
90.图6d示意性示出了根据本公开实施方式的反旋转和反扩展后得到的非作物区域mask图;
91.图7是示意性示出了根据本公开另一实施方式的用于确定农田土表标注的方法的示例的流程图;
92.图8示出了根据本公开实施方式的没有要求约束条件的农田土表的二值化图;
93.图9是示意性示出了根据本公开另一实施方式的用于对无人车规划作业路径的方法的示例的流程图;
94.图10是示意性示出了根据本公开另一实施方式的用于预测作物产量的方法的示例的流程图;以及
95.图11是示意性示出了根据本公开的实施方式的用于实施根据本公开实施方式的方法中的至少一者的装置的示例的结构框图。
具体实施方式
96.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
97.需要说明,若本公开实施方式中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
98.另外,若本公开实施方式中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本公开要求的保护范围之内。
99.图1a是示意性示出了根据本公开的实施方式的用于识别农田土表的方法的示例
的流程图。如图1a所示,提供一种用于识别农田土表的方法,该方法可以包括以下步骤。
100.在步骤s11中,获取农田的图像。在本公开实施方式中,可以通过至少一种方式得到农田的图像。例如,在一个示例中,可以通过无人机装载相机对农田进行俯拍以得到图像。在另一示例中,可以通过位于固定点的相机(例如位于农田区域或附近的俯拍点,例如杆、观测塔等)对农田进行俯拍以得到图像。在再一个示例中,可以通过气球(例如热气球)装载相机对农田进行俯拍以得到图像。
101.在步骤s12中,根据获取到的图像得到该图像中农田土表的标注(label)。标注的目的是将图像中的土表标进行分类,例如土表、背景等。在本公开的一实施方式中,可以通过人工的方式对图像进行标注,来得到土表的标注。例如,可以使用图像语义分割标注工具(例如,labelme),用多边形框将农田图像中的土表区域标示出来。在本公开的另一实施方式中,可以通过适当的算法来生成标注,该方式将在下文详细描述。在本公开的另一实施方式中,可以通过适当的算法来生成标注,该方式将在下文详细描述。得到的土表的标注(或称label图)可以是个灰度图,例如如图2所示。
102.在步骤s13中,将图像和相关联的标注配对以形成配对的数据集,并将数据集分成测试数据集和多组训练数据集。具体地,可以获取多个农田的图像,根据每个图像得到与其相关联的标注,将图像和相关联的标注进行配对,以形成配对的数据集。将数据集分为多组训练数据集和测试数据集。在一个示例中,训练数据集的数据数量可以比测试数据集的数据多。例如,训练数据集可以占数据集的90%,测试数据集可以占数据集的10%。
103.在步骤s14中,使用多组训练数据集对语义分割卷积神经网络进行迭代训练,以得到深度学习模型。每一次迭代的数据通过从多组训练数据集中随机抽取若干张图像数据获得,以通过多次迭代更新深度学习模型的参数。
104.具体地,在对语义分割卷积神经网络进行训练时,每次迭代可以从多组训练数据集中随机抽取若干张图像数据构成一个批次来更新该卷积神经网络的参数,并计算损失函数(损失函数的示例可以包括但不限于,bcewithlogitsloss、focal loss或交叉熵)。损失函数(loss function)可以是用来估计模型的预测值与真实值的不一致程度,其是一个非负实值函数,损失函数越小,模型的鲁棒性就越好。使用预测值和真实值来计算损失函数,基于损失函数来调整卷积神经网络的参数。可以如此通过多次迭代来更新深度学习模型的参数。
105.在本公开的实施方式中,可以采用梯度下降和反向传播算法对卷积神经网络进行优化训练。在一个示例中,可以使用learning rate range test算法来寻找合适的学习率区间,然后可以采用周期性学习率(cyclical learningrate)的方法来训练卷积神经网络。
106.在本公开的实施方式中,可以将获取的农田图像进行预处理。例如,在一个示例中,可以对农田图像进行增强处理后作为检测图像。在另一示例中,可以将每个农田图像裁剪为多个大小为k*n像素的子图像(其中,k和n表示自然数,k可以与n相同,也可以与n不同)。子图像的像素大小k*n可以根据用于处理图像的显卡的处理频率和现存来确定。在一个示例中,可以将子图像统一为512*512大小的三通道rgb图像。
107.在步骤s15中,将测试数据集输入到深度学习模型,对深度学习模型进行参数优化。
108.在使用训练数据集对语义分割卷积神经网络进行训练得到深度学习模型之后,可
以将测试数据集输入到深度学习模型,以对深度学习模型进行参数优化。优化后的深度学习模型可以用于识别农田土表。
109.具体来说,在使用训练数据集对卷积神经网络进行训练得到深度学习模型之后,采用测试数据集来验证该模型,即目标检测。在目标检测中可以使用交并比(intersection-over-union,iou)。iou准确度是语义分割准确度的一评价标准,其可以被定义为实际值集合和预测值集合的交集与并集之比。测试数据集输入到深度学习模型,深度学习模型根据输入的测试数据集输出预测图像,根据预测图像的预测值和与该预测图像对应的农田图像相关联的标注的真实值计算iou。计算iou的方法属于所属领域技术人员所知的方法,这里不再赘述。根据计算出的iou确定目标函数。例如,可以计算iou损失,将iou损失纳入到深度学习模型的目标函数,基于目标函数来调整(或优化)深度学习模型的参数,直至iou准确度达到期望值。例如,可以进行多次迭代,直到iou准确度不再提升,例如,iou准确度提升程度趋于零或低于一阈值。
110.在本公开的可选实施方式中,在输入训练数据集对语义分割卷积神经网络进行训练之前,该卷积神经网络可以被预训练。例如,可以用已知的数据集对卷积神经网络进行预训练。已知的数据集可以包括但不限于,例如imagenet。
111.在本公开的实施方式中,语义分割卷积神经网络可以包括但不限于,例如全卷积网络(fcn)、unet、linknet。
112.图1b示意性示出了根据本公开实施方式的用于识别农田土表的方法中使用的深度学习网络的示例网络结构。图1b示出的深度学习网络的示例网络结构可以用于实现参考图1a描述的实施方式的用于识别农田土表的方法。图1b示出的深度学习网络的网络结构可以包括编码器模块110和解码器模块120。编码器模块110可以用于逐渐降低特征图(feature map)并获取更高语义信息。解码器模块120可以用于逐渐恢复空间信息。
113.训练数据集或测试数据集中的样本(例如图像)输入到深度学习网络,编码器模块110可以提取数据集中每张图像的特征信息,解码器模块120对特征信息进行上采样,输出预测图像。预测图像为语义分割的结果,预测图像的像素值对应于特定对象类型(即预设类型)。输出的预测图像可以是土表区域的灰度图,该灰度图即为语义分割结果。在一个示例中,灰度图的尺寸可以与采集的农田图像的尺寸相同,在该灰度图中,任一像素的值可以代表深度学习模型预测该位置的物体所属的语义类别(即预设类型)。例如,0代表背景,1代表土表。
114.编码器模块110可以包括深度卷积神经网络(dccn)和空洞空间金字塔池化(aspp)。dccn可以用于提取农田图像的特征,特征可以包括颜色、形状、纹理特征等。aspp可以用于增加特征图的感受野,即卷积核在图像上看到的大小。在该实施方式中,dccn选用的骨干网络的示例可以包括但不限于,resnet、vgg、senet、xception、mobilenet。如图1b所示,在编码器中,dcnn使用多尺度空洞卷积(atrous conv),包括3x3 conv的空洞卷积(层),扩张率(rate)可以分别为6,12,18(即,图中示出的3x3 convrate 6,3x3 conv rate 12,3x3 conv rate 18),这可以在更大范围感知输入的农田图像上的语义信息,以利于准确分割。输入的图像(例如农田图像)被输入到编码器模块110中并行进行逐点空洞卷积(图中示出的1x1 conv),3x3 conv rate 6,3x3 conv rate 12,3x3 conv rate 18,经过池化(例如图1b中示出的image pooling)运算之后,再经过1x1 conv之后输出特征信息(特征图)。编
码器模块110中的池化运算可以采用最大池化(maxpooling)。
115.在解码器模块120端,编码器模块110输出的特征信息首先可以被上采样(upsample),例如图1b示出,首先被双线性上采样(例如,采用上采样因子4),然后与来自编码器模块110的骨干网络的具有相同空间分辨率的低级特征(low-level features)进行组合(concatenation,图中示出的concat)。在一个示例中,在进行组合之前,低级特征可以先进行1x1卷积(1x1 conv)以减少通道数量。进行组合之后,可以应用多个卷积运算(例如,3x3卷积),之后再进行双线性上采样(例如,采用上采样因子4),最后输出预测图像。
116.虽然图1b中示出了可应用于根据本公开实施方式的用于识别农田土表的方法的深度学习网络的网络结构的示例,但是所属领域技术人员可以理解,能够实现与图1b示出的实施方式相同或相似功能并达到相同或相似效果或性能的其他类型的深度学习网络也是可行的,因此本公开的范围不限于在具体实施方式中描述的特定的网络结构。
117.在本公开的可选实施方式中,在输入训练数据集对卷积神经网络进行训练之前,该卷积神经网络可以被预训练。例如,可以用已知的数据集对卷积神经网络进行预训练。已知的数据集可以包括但不限于,例如imagenet。
118.在本公开的实施方式中,语义分割卷积神经网络可以包括但不限于,例如全卷积网络(fcn)、unet、linknet。
119.根据本公开实施方式提供的用于识别农田土表的方法,可以通过将农田的图像及其相关联的土表的标注作为配对的数据集对语义分割卷积神经网络进行训练和测试,生成深度学习模型,使用该深度学习模型来基于农田的图像识别农田土表。通过这种方式,可以快速生成农田土表label,通过训练获得识别模型,从而具备识别更复杂场景(例如非机械化种植)的农田土表识别能力。
120.识别土表后,可以基于识别结果进行土表水分含量分析等,并可以复用于多光谱数据的区域分割,从而对土表进行多光谱分析。此外,得到土表分布能用于田间机器人导航等。
121.如上所述,可以通过适当的算法来生成标注。在本公开的实施方式中,提供用于确定农田土表的标注的方法。该方法可以应用于上述的步骤s12中。图3是示意性示出了根据本公开实施方式的用于确定农田土表标注的方法的示例的流程图。如图3所示,该方法可以包括以下步骤。
122.在步骤s31中,对农田的图像进行二值化,以提取图像中植被所在的区域并生成该图像的二值化图。
123.具体地,提取植被(例如,作物)所在的区域的目的是分割出图像中是植被的地方。二值化图中的区域要么是植被区域,要么是非植被区域。二值化的方法可以包括但不限于,颜色空间(例如rgb转hsv)、颜色指数、植被指数等区分方法。在一个示例中,以颜色指数可以是超绿指数(excessgreen)为例,有如下公式:
124.exg=2*green

red

blue
125.在该公式中,exg表示超绿指数,green表示绿色通道的像素值,red表示红色通道的像素值,blue表示蓝色通道的像素值。可以对图像应用该公式。在实际应用中,可以对以上公式进行归一化等数学处理。在计算超绿指数后,可以通过阈值分离出植被区域,超绿指数大于阈值的为非零值,小于阈值的置为零值,由此生成二值化图。阈值可以人为设定,也
可以通过ostu法获得。例如,植被区域可以是非零像素,植被区域可以是零像素。
126.虽然上文是以超绿指数作为示例来描述二值化过程,但是所述领域技术人员可以理解,其他二值化方法也是可行的。
127.在步骤s32中,确定图像中种植行的主方向。
128.例如,可以通过霍夫直线检测(直线霍夫变换)方法来确定种植行的主方向。更具体地,在本公开的实施方式中,将二值化图转换到极坐标系霍夫空间,从直线霍夫变换(例如使用函数:skimage.transform.hough_line_peaks)返回数据列表,数据列表包括峰值、角度和距离。这里,角度可以指极坐标角度,即原图(即二值化图)中像素点与原点的连线与x轴(直角坐标系)的夹角,距离可以指像素点到原点的距离。返回的峰值可以理解为(霍夫空间)累加值,也就是原来直角坐标系上一条假设的直线上经过的像素点的个数,个数越多,这条假设的直线是真直线的可信度就越高。霍夫变换就是按一定精度假设了图像中所有可能存在的直线,再逐条假设直线上累加存在的像素点的个数,由此得到逐条假设直线上的累加值。例如,假设原图像中可以假想存在一组平行直线(n),那对于这一组平行直线而言,角度是相同的,该角度出现次数就跟直线条数一样是n。对数据列表进行统计分析,以得到种植行的主方向。统计分析的方法的示例可以包括但不限于:选取数据列表中出现次数最多的角度作为种植行的主方向;在返回结果较少(例如低于设定阈值)时选取数据列表中排名第一的角度作为种植行的主方向。
129.在步骤s33中,以主方向和与主方向垂直的方向作为坐标系,沿着与主方向垂直的方向累加主方向上植被像素的数量,以得到累加曲线。
130.在本公开实施方式中,为便于图像处理,可以将二值化图旋转至主方向处于垂直方向,并将二值化图扩展至正方形。具体地,可以根据主方向角度旋转二值化图,以使得主方向处于垂直。根据二值化图的高度和宽度计算二值化图的对角线长度,将二值化图扩展为正方形,该正方形的边长长度等于对角线长度。对于正方形中二值化图以外的区域可以用零值来填补。图4a示意性示出了获取的农田图像,图4b示意性示出了扩展后的正方形以及旋转后的二值化图的示意图。
131.可以以主方向和与主方向垂直的方向作为坐标系,例如x-y坐标系,x轴可以是与主方向垂直的方向,y轴可以是主方向。沿着x轴逐列对y轴方向的非零像素个数进行计数,以生成累加曲线。
132.在步骤s34中,确定累加曲线的波峰顶点和宽度。
133.在本公开可选实施方式中,在确定累加曲线的波峰顶点和宽度之前,可以先对累加曲线进行平滑处理。适用于平滑处理的方式可以包括但不限于,移动平均后去噪、univariate spline拟合后去噪、savitzky_golay filter平滑后去噪。去噪的情况可以包括但不限于修正savitzky_golay filter平滑后负数的值等。图5示意性示出了平滑后的累加曲线(曲线ii),在图5中,曲线i是原始波峰,圆点是算法找到的波峰,可以看出未经过平滑处理的话会出现不少错误的波峰,不利于行的寻找。
134.在本公开实施方式中,可以使用scipy.signal.find_peaks等类似方法来计算平滑后曲线的波峰顶点与宽度。平滑处理的目的主要是通过参数约束减少错误。例如,对波峰突起高度这个参数可以设置最小值要求,如果低于最小值的波峰则被舍弃,如图5中最左侧一个波峰就可以因为没达到最小值而被舍弃(x标记是入选的波峰点)。类似地,除了波峰突
起高度,还可以对波峰宽度设置参数约束。
135.在步骤s35中,根据波峰顶点与宽度逐行生成种植行矩形条,得到种植行区域二值图,并根据种植行区域二值图得到非作物区域掩膜(mask)图。
136.种植行区域二值图中的每行可以对应一个种植行矩形条,矩形中线为波峰定点所在列,矩形宽度为波峰宽度,矩形高度为原图宽度。种植行矩形条意为理想状态下种植行区域,矩形条内区域可以为非零值,矩形条之间的区域可以为零值。波峰宽度可以是一个可以通过设定参数获得的值,可以获取不同波峰高度对应的波峰宽度。对种植行区域二值图的像素进行取反操作,即非零值变为零值,零值变为非零值,可以得到非作物区域mask图。
137.如果在步骤s33中如上所述对主方向进行旋转,则对种植行区域二值图进行反旋转和反扩展以得到对应原图(二值化图)的非作物区域mask图。反旋转和反扩展可以是上述实施方式中旋转和扩展的逆向处理。即,将主方向旋转回原来的方向,将种植行区域二值图恢复到扩展前的尺寸。图6a示意性示出了种植行区域二值图。如图6a所示,白色矩形条的像素可以为非零值,矩形条之间的黑色区域的像素可以为零值。图6b示意性示出了对种植行区域二值图进行取反操作之后得到的二值图。图6c示意性示出了在图6b示出的图中原二值化图(即旋转和扩展前的二值化图)的区域。图6d示意性示出了反旋转和反扩展后得到的非作物区域mask图。
138.在步骤s36中,根据非作物区域mask图与图像提取土表区域以得到土表的标注(label图)。
139.在本公开实施方式中,如果非作物区域就是土表,那么非作物区域mask可以直接作为标注。如果非作物区域不全是土表,则可以提取土表区域。具体地,可以对非作物区域mask进行土地条件筛选,例如土地颜色筛选,可以设定在这个场景下的土地是黄色或灰色。当然,本领域技术人员可以理解,其他提取方法也是可适用的。可以将非作物区域mask图中与提取的土表区域对应的部分作为土表的标注。
140.图7是示意性示出了根据本公开另一实施方式的用于确定农田土表标注的方法的示例的流程图。图7示出的实施方式与图3示出的实施方式大部分相同,不同之处在于,在执行步骤s32之前,该方法还可以包括步骤s71:判断是否严格,如果严格,则执行步骤s32。具体来说,是否严格可以指是否要求约束条件,例如最窄的土壤条带。对于要求约束条件的情况下,这容易得知土地间隙的宽度,有利于农用机械(例如田间机器人)的导航。如果没有要求约束条件,则可以理解为只要不是植被(作物)的区域都有可能是土地。图8示出了没有要求约束条件的农田土表的二值化图。
141.图7示出的实施方式的方法还可以包括步骤s72:如果判断不严格,即没有要求约束条件,则可以直接根据二值化图得到非作物区域mask图。例如,可以对二值化图求反(例如,如果二值是0和1,则0变为1,1变为0)得到非作物区域mask图。
142.根据本公开实施方式的用于确定农田土表的标注的方法,采用视觉处理技术和算法对农田的图像自动处理,快速提取土表区域,得到训练用的图像-标注集合进行卷积神经网络训练,得到的神经网络具备应对更复杂情况的能力,可以应对甚至不非常直的种植行的场景等。
143.农田土表识别可以应用于多种场景。在本公开一实施方式中,对农田土表识别的一种应用可以是对无人车的作业路径进行规划。图9是示意性示出了根据本公开另一实施
方式的用于对无人车规划作业路径的方法的示例的流程图。如图9所示,在本公开的实施方式中,用于对无人车规划作业路径的方法可以包括以下步骤。
144.在步骤s91中,确定农田土表。例如,可以使用上述实施方式中的用于识别农田土表的方法来确定农田土表。
145.在步骤s92中,根据确定的农田土表得到农田的垄间位置。具体地,在确定农田土表之后,可以从农田土表中得到(识别出)农田的垄间位置。
146.在步骤s93中,根据垄间位置确定无人车的作业路径。具体地,在确定垄间位置之后,可以沿着垄间位置来规划无人车的作业路径,使得无人车沿着垄间位置作业。
147.在本公开实施方式中,无人车的轮距是可调节的。在进行作业路径规划时,期望无人车的轮子的行驶轨迹总是沿着土表行,即跨越一个或多个垄而在行驶过程中不会压到垄。因此,在本公开实施方式的该方法中,可以根据垄间位置来确定土表行与土表行之间的间距,根据该间距来调节无人车的轮距。例如,可以将无人车的轮距调节为间距的整数倍,这样可以使得无人车的轮子尽可能地沿着土表行的轨迹行驶。
148.在本公开实施方式中,对农田土表识别的另一种应用可以是预测作物产量。图10是示意性示出了根据本公开另一实施方式的用于预测作物产量的方法的示例的流程图。如图10所示,在本公开实施方式中,用于预测作物产量的方法可以包括以下步骤。
149.在步骤s101中,确定农田土表。例如,可以使用上述实施方式中的用于识别农田土表的方法来确定农田土表。
150.在步骤s102中,根据确定的农田土表得到垄间距。具体地,具体地,在确定农田土表之后,可以从农田土表中得到(识别出)农田的垄间距,即相邻两个垄之间的距离。
151.在步骤s103中,将垄间距与预设垄间距进行比较。
152.在步骤s104中,根据比较结果预测作物的产量。
153.具体地,每种作物的植株有与最高产量(例如理想最高产量)对应的特定的垄间距,可以将该特定的垄间距作为预设垄间距。植株的垄间距过大或过小都会影响其产量。因此,在本公开实施方式中,可以根据从农田土表中得到的垄间距(实际垄间距)与预设垄间距进行比较来预测作物的产量。在一个示例中,产量预测可以涉及初步的预测,即根据比较结果来预测产量是否能达到最高产量。在另一示例中,可以针对特定作物预先确定垄间距与预设垄间距的差值与产量影响值(与最高产量的差值)之间的关系,例如查找表。该查找表可以根据有限次实验或根据经验来确定。在确定实际垄间距之后,根据实际垄间距与预设垄间距之间的差值从查找表中找到对应的产量影响值,并根据最高产量与该产量影响值来预测作物的产量。
154.图11示意性示出了根据本公开的实施方式的用于识别农田土表的装置的示例的结构框图。如图11所示,在本公开的实施方式中,该装置可以包括处理器1110和存储器1120。存储器1120可以存储有指令,该指令在被处理器1110执行时可以使得处理器1110执行之前实施方式中描述的用于识别农田土表的方法或用于确定农田土表的标注的方法。
155.处理器1110的示例可以包括但不限于通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、其他任何类型的集成电路(ic)以及状态机等等。处理器可以执行信号编码、数据处理、功率控制、输入/输出处理。
156.存储器1120的示例可以包括但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被处理器访问的信息。
157.在本公开的实施方式中,还提供一种农用机械,可以包括根据上述实施方式描述的用于识别农田土表的装置。农用机械的示例可以包括但不限于,无人机、无人车、插秧机、播种机等。
158.在本公开的实施方式中,还提供一种计算机可读存储介质,在计算机可读存储介质上存储有指令,指令在被处理器执行时能够使得处理器执行根据之前实施方式中描述的用于识别农田土表的方法或用于确定农田土表的标注的方法。
159.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
160.本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
161.本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
162.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
163.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
164.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
165.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
166.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的
包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
167.本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于系统实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
168.以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献