基于深度学习图像分割的作物行检测方法及装置
文献发布时间:2023-06-19 11:52:33
技术领域
本发明涉及深度学习和图像分割技术领域,尤其涉及一种基于深度学习图像分割的作物行检测方法及装置。
背景技术
在智能农业和精准农业的倡导和发展下,作物行精准高效的检测为机械化农业生产活动提供了基础,为农田作业机械提供直接、辅助导航,作业机械精准施用化肥、药物和除草提供指导,精准智能化作业实施减少了农田化肥浪费和农药过量投放,保护生态环境。同时降低劳动力投入强度、生产成本,提高资源利用率,进一步提升农田经济效益。
当前的作物行识别主要基于车载和无人机两种平台搭载视觉传感器设备,主要流程为:人工提取作物行颜色、纹理等图像特征,或者高程、深度等三维信息特征,针对一定的环境适宜条件,选取特定阈值范围进行目标识别,裁剪感兴趣区域并提取作物行特征点,最后进行特征点的拟合,描绘作物行线。常见的作物行特征提取方法,有基于RGB、HSV等不同颜色空间提出各种绿色特征描述算子,结合图像二值化、阈值分割等确定作物行阈值范围,分割目标区域。作物行线拟合方法,主要基于Hough空间变换、最小二乘法及其改进方法。Hough变换方法具有抗干扰能力强,受噪声影响较小的优点,在一定杂草密度下也能够实现检测,但算法所需存储空间大,时间复杂度较高,不能满足实时精准的农田作业;最小二乘法可以实现快速测量,但受噪声干扰大。
由此可知,传统作物行检测方法依靠人工提取颜色、纹理、三维特征,根据特定作业环境需要调整目标分割阈值范围,才能达到较好效果。实际农田环境复杂多变,作物行所处不同光照条件、不同的生长阶段、不同杂草密度及由于地形起伏或作业机械抖动引起作物行不同程度弯曲,使得传统方法阈值分割范围难以适应多个场景,鲁棒性较差。
发明内容
针对现有技术存在的问题,本发明提供一种基于深度学习图像分割的作物行检测方法及装置。
本发明提供一种基于深度学习图像分割的作物行检测方法,包括:获取农田作物图像;将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,将农田作物图像输入训练后的卷积网络模型之前,还包括:获取不同生长阶段、不同杂草密度、不同弯曲程度的农田作物图像,并对作物行进行标注作为训练样本;基于多个训练样本,对构建的改进型BiSeNet V2网络模型进行训练,得到所述训练后的卷积网络模型;其中,所述改进型BiSeNet V2网络模型,是在BiSeNet V2网络的聚合层和seg Head层之间加入SCNN网络层得到。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,所述基于多个训练样本,对构建的卷积网络模型进行训练,包括:通过梯度下降和反向传播,对构建的卷积网络模型进行训练。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,所述对所述卷积网络模型提取的高维度特征向量进行空间聚类的聚类方法包括:Mean Shift聚类或DBSCAN聚类。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,所述获取农田作物图像,包括:通过农业作业机械平台搭载视觉传感器获取农田作物图像。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线,包括:通过最小二乘法,进行二次或多项式曲线的拟合。
根据本发明一个实施例的基于深度学习图像分割的作物行检测方法,所述获取不同生长阶段、不同杂草密度、不同弯曲程度的农田作物图像之后,还包括:通过感兴趣区域对原始图像进行裁剪,获得目标与区域;通过数据增强,增加数据多样性和抗干扰能力。
本发明还提供一种基于深度学习图像分割的作物行检测装置,包括:采集模块,用于获取农田作物图像;处理模块,用于将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;聚类模块,用于对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;拟合模块,用于根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于深度学习图像分割的作物行检测方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于深度学习图像分割的作物行检测方法的步骤。
本发明提供的基于深度学习图像分割的作物行检测方法及装置,通过卷积神经网络模型得到二值化分割结果和像素级高维度向量表示,通过融合二者信息获取作物行特征,随后使用聚类算法和曲线拟合算法对作物行线进行拟合描绘,有效提高作物行识别速度和精确度。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于深度学习图像分割的作物行检测方法的流程示意图之一;
图2是本发明提供的二值分割结果示意图;
图3是本发明提供的改进型BiSeNet V2网络结构示意图;
图4是本发明提供的SCNN网络结构示意图;
图5是本发明提供的基于深度学习图像分割的作物行检测方法的流程示意图之二;
图6是本发明提供的基于深度学习图像分割的作物行检测装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图7描述本发明的基于深度学习图像分割的作物行检测方法及装置。图1是本发明提供的基于深度学习图像分割的作物行检测方法的流程示意图之一,如图1所示,本发明提供基于深度学习图像分割的作物行检测方法,包括:
101、获取农田作物图像。
通过视觉传感器采集室外农田作物图像,图像包括视频、图片等。
102、将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像。
训练后的深度学习网络模型结构将获取的图像进行卷积、池化等操作,提取特征并上采样得到二值图像。特征提取主干网络,为多层卷积神经网络,可以替换成其他特征提取主干网,如VGG16、ResNet系列等网络结构;解码器由多层上采样卷积层构成,如装置卷积核、上采样卷积核、空洞卷积核和池化层操作等。
图2是本发明提供的二值分割结果示意图,如图2所示,二值化结果为作物行及背景的输出结果,像素分别表示为1,0。高维度特征向量为高维度嵌入特征向量,为每个像素的高维度表征信息,从卷积网络的特征提取网络得到。
103、对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例。
此处通过对高维度嵌入特征向量进行聚类,以识别不同作物行实例。
104、根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线。
每一作物行的实例确定后,在此基础上对二值图像进行曲线拟合,得到作物行的曲线。
本发明的基于深度学习图像分割的作物行检测方法,通过卷积神经网络模型得到二值化分割结果和像素级高维度向量表示,通过融合二者信息获取作物行特征,随后使用聚类算法和曲线拟合算法对作物行线进行拟合描绘,有效提高作物行识别速度和精确度。
在一个实施例中,将农田作物图像输入训练后的卷积网络模型之前,还包括:获取不同生长阶段、不同杂草密度、不同弯曲程度的农田作物图像,并对作物行进行标注作为训练样本;基于多个训练样本,对构建的改进型BiSeNet V2网络模型进行训练,得到所述训练后的卷积网络模型。
农田环境复杂多变,除了作物行清晰的良好场景外,还存在大量复杂场景。主要分析四种复杂农田场景,包含作物行断裂、杂草干扰、不同冠层宽度以及阴影干扰的场景。对于等行距种植的玉米来说,作物行一般独立分布,并非连续。并且可能出现苗带断裂的情况。可识别的作物行像素点较少,因此分割难度较大。由于杂草颜色、纹理与玉米作物相似,不同杂草密度对作物行识别带来极大干扰。作物不同生长阶段,冠层宽度不一样,为曲线拟合带来挑战。不同的光照条件下,作物行存在一定的差异。阳光照射建筑、树木等物体,会产生阴影。大面积的阴影遮挡极大增加了分割难度。综上所述,不同复杂场景存在一些共同特点。图像可以提取的作物行像素较少,部分缺失或被遮挡,同时存在一些噪声干扰。然而,卷积神经网络在图像下采样时会损失图像细节信息,因此很难对面积较小、边缘模糊的作物行进行准确分割。
本发明对用于图像分割的神经网络进行对比分析,选择简单高效的BiSeNet V2网络构建立模型,保证实时性。同时,为了提高复杂场景下的识别精度,对BiSeNet V2进行优化,提出基于BiSeNet V2的改进型网络S-BiSeNet V2,S-BiSeNet V2的网络结构如图3所示。可以看出,在BiSeNet V2的聚合层aggregation layer和seg Head层之间加入SCNN网络层,得到S-BiSeNet V2网络结构。
本发明通过对复杂场景下作物行进行分析,提出改进方法。在农田场景下,不同作物行具有一定的位置关系。同时,作物行还具有一定的先验形状,同一作物带共线。不同作物行在真实世界中近似平行。这类空间位置关系被称为空间上下文信息。SCNN可用来提取空间上下文信息。通过对比实验,该方法优于计算量大、实时性差的概率图模型(CRF/MRF)。在空间关系强但外观线索较差的目标具有优异的表现,例如车道线、电线和墙等。该方法简单高效,可以灵活应用到CNN的各个位置。因此,本发明结合Spatial CNN,对原始BiSeNetV2进行改进,提高作物行分割精度。
传统的卷积神经网络一般为逐层(Layer-by-Layer)卷积。每个卷积层都从前面的一层接收特征图,进行卷积操作和非线性激活后,将特征图传递给后面的卷积层。SpatialCNN则将这种逐层卷积方式推广到逐片(Slice-by-Slice)卷积,即将特征图的行和列看作“层”,按顺序对这些“层”进行卷积。假设输入三维特征图的高为H,宽为W,通道数为C,则Spatial CNN的结构如图4所示。SCNN先进行切片,再按照顺序进行卷积。
Spatial CNN首先按照从上到下的方式对三维特征图进行切片,共H片。然后对第一片向量进行卷积运算,卷积核大小为C*w(w=9)。卷积结果进行非线性激活后,更新第二片向量,以此类推直到结束。整个过程被称为SCNN_D。随后进行从下到上的卷积操作,即SCNN_U,与SCNN_D流程类似,只是方向改变。同理,进行从左往右,从右往左方向的切片和卷积运算,得到最终三维特征图。这种逐片更新的方式类似于残差网络,可以降低训练难度。Spatial CNN独特的卷积方式让像素信息可以在同一层的不同神经元之间传递。提高了对图像空间信息提取的能力。因此,将其应用于BiSeNet V2网络,提高网络在复杂场景下的作物行提取精度。
虽然可以在网络结构任何位置添加Spatial CNN结构,但为了保证网络实时性,Spatial CNN结构输入特征图尺寸不宜过大。在一个优选实施例中,将其置于编码器和解码器之间,特征图尺寸宽和高分别为32*64,从而保证精度的同时,具有较小的计算量。构建作物行检测数据集,从数据采集平台获取实际作业视频或图像数据,通过逐帧获取图像,根据感兴趣区域进行裁剪,获取作物行不同光照条件、不同生长阶段、不同杂草密度及不同弯曲程度的数据,基本涵盖复杂作业环境。对输入的训练数据进行特征提取学习,自行优化网络参数,通过图像分割模块得到二值分割结果和每个像素高维度特征。通过构建作物行不同光照条件、不同生长阶段、不同杂草密度及不同弯曲程度的数据集,并通过一定的数据增强处理,能够提高模型识别鲁棒性。
在一个实施例中,所述基于多个训练样本,对构建的卷积网络模型进行训练,包括:通过梯度下降和反向传播,对构建的卷积网络模型进行训练。
深度学习网络训练通过端到端的方式进行,将标注的数据集输入网络模型,进行监督学习并通过梯度下降和反向传播算法,更新模型参数。
特征提取主干网络,主要是进行监督学习并通过梯度下降和反向传播深度学习卷积神经网络,在图像特征提取具有强大的优势。
二值化图像分割,使用0、1像素分别表示网络模型学习到的图像目标类别,即背景和作物行。背景指实际作业环境中其他非目标对象,包含土壤、天空、杂草和林荫道等。
高维度特征,通过深度学习网络学习到每个像素的高维度特征向量表示,深层的特征信息有利于后期特征聚类工作。不同作物行实例聚类成同一簇。可通过监督学习方式、梯度反向传播、权值共享、多尺度信息融合等进行端到端训练学习,更新相关参数权重。通过权值共享、多尺度学习图像融合及高效的图像聚类和曲线拟合方法,网络规模有效减少,保证算法实时性。
在一个实施例中,所述对所述卷积网络模型提取的高维度特征向量进行空间聚类的聚类方法包括:Mean Shift聚类或DBSCAN聚类。
高维度特征向量可以获取更多深度学习,便于应用聚类算法实现聚类,无监督聚类算法无需确定聚类个数,因此可以识别任意数量作物行。聚类算法包括Mean Shift聚类、DBSCAN聚类方法等。聚类完成后,不同作物行代表的嵌入特征向量聚类成一个簇,并分别赋予每个簇对应id编号加以区别。
将二值图像作物行坐标点和不同作物行实例聚类id结合,进行图像融合。二值化图像中获得作物行目标的坐标点,在高维度向量表征中找到对应特征向量,然后再将向量投影到新的掩码图,实现二值图与高维度特征图的融合。
在一个实施例中,所述获取农田作物图像,包括:通过农业作业机械平台搭载视觉传感器获取农田作物图像。
农业作业机械平台包括无人机、各种农田作业拖拉机、联合收割机等。通过作业平台搭载视觉传感器,无需对其他原有机械进行改造。视觉传感器一般安装在搭载平台进行中线轴上,以一定的倾斜、俯仰、偏航角度安装。视觉传感器可以为装有摄像头的相机。
在一个实施例中,根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线,包括:通过最小二乘法,进行二次或多项式曲线的拟合。
虽然卷积神经网络的输出作物行分割结果较为精细,但为了便于自主导航、除草和喷药等应用,还需要作物行的具体参数。本发明利用最小二乘法和DBSCAN算法对作物行线进行拟合,采用二次多项式曲线完成。最后将结果重新映射回原图。
对上述的得到的作物行特征点就行拟合,得到曲线参数。具体的,通过获取得到的作物行特征点进行进一步的优化筛选,使得同一类的作物行对应点数满足一定阈值,剔除杂草等其他背景干扰,然后对同一作物行特征点进行曲线拟合,拟合方法可为最小二乘法,拟合结果可为二次或多项式曲线。
在一个实施例中,所述获取不同生长阶段、不同杂草密度、不同弯曲程度的农田作物图像之后,还包括:通过感兴趣区域对原始图像进行裁剪,获得目标与区域;通过数据增强,增加数据多样性和抗干扰能力。
具体可通过感兴趣区域对原始图像进行裁剪,获得目标与区域;通过数据增强,增加数据多样性和抗干扰能力,平衡数据数量。可按照一定比例将数据集划分为训练集、验证集和测试集。
结合上述各实施例得到本发明的另一实施例,图5是本发明提供的基于深度学习图像分割的作物行检测方法的流程示意图之二,具体可参加图5,此处不再赘述。
本发明的S-BiSeNet V2可以成功识别作物行,且分割结果比较精细,说明模型较好的鲁棒性。由于杂草相似的颜色、纹理特征以及局部苗带断裂导致像素缺失,但模型具有良好的空间信息提取能力,复杂场景干扰对整体结果影响不大。
根据IoU、fp、fn和acc评估指标,将FCN、BiSeNet V2、S-BiSeNet V2模型进行对比,其中FCN的基础网络为VGG16。不同的网络模型使用相同的训练参数进行训练,参照表1。
在测试集上分别计算评估指标,结果如表2所示。
表2不同模型对比
从上表可以看出,BiSeNet V2模型分割精度远优于FCN模型。S-BiSeNet V2模型IoU最高。IoU相比原始BiSeNet V2高出0.0083(3个百分点左右)。
分割速度对比:在作物行数据集上,对分割模型处理单张图像的速度进行对比,同时比较不同模型的训练参数文件(Data)和网络结构文件(Meta)大小,结果如表3所示。考虑到未来实际应用成本,本模型采用低成本显卡进行推理。BiSeNet V2模型分割速度最快,处理每张图像耗时27.3ms,FCN模型分割最慢,S-BiSeNet V2比原始BiSeNet V网络慢35ms左右。FCN模型参数量和结构较大,由于其较多的层数。BiSeNet V2属于轻量型网络,S-BiSeNet V2在前者基础上添加Spatial CNN模块,参数量和模型结构都增加。但仍然在可接受范围。S-BiSeNet V2检测单张图像耗时约65ms,即15FPS左右。
表3不同模型分割速度及存储大小
下面对本发明提供的基于深度学习图像分割的作物行检测装置进行描述,下文描述的基于深度学习图像分割的作物行检测装置与上文描述的基于深度学习图像分割的作物行检测方法可相互对应参照。
图6是本发明提供的基于深度学习图像分割的作物行检测装置的结构示意图,如图6所示,该基于深度学习图像分割的作物行检测装置包括:采集模块601、处理模块602、聚类模块603和拟合模块604。其中,采集模块601用于获取农田作物图像;处理模块602用于将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;聚类模块603用于对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;拟合模块604用于根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
本发明实施例提供的基于深度学习图像分割的作物行检测装置,通过卷积神经网络模型得到二值化分割结果和像素级高维度向量表示,通过融合二者信息获取作物行特征,随后使用聚类算法和曲线拟合算法对作物行线进行拟合描绘,有效提高作物行识别速度和精确度。
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行基于深度学习图像分割的作物行检测方法,该方法包括:获取农田作物图像;将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于深度学习图像分割的作物行检测方法,该方法包括:获取农田作物图像;将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于深度学习图像分割的作物行检测方法,该方法包括:获取农田作物图像;将所述农田作物图像输入训练后的卷积网络模型,输出图像分割结果的二值图像;对所述卷积网络模型提取的高维度特征向量进行空间聚类,得到不同作物行实例;根据所述二值图像和所述不同作物行实例进行作物行拟合,得到作物行曲线;其中,所述卷积网络模型,根据已知作物行结果的农田作物图像训练后得到。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 基于深度学习图像分割的作物行检测方法及装置
- 一种基于深度学习的软件代码行级缺陷检测方法