一种小目标果实的检测方法及系统
文献发布时间:2023-06-19 12:25:57
技术领域
本发明属于深度学习智慧农业的相关领域,涉及到果实采摘,果实产量统计及统计、小型果实的定位采摘等方法,具体涉及一种小目标果实的检测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着我国经济和科学技术的发展,以前那种人工采摘果实的方法已经越来越无法满足现代化快节奏生活的需求,由于人们对于果实需求量的增加,以及人工采摘果实的弊端,相关人工智能领域以及深度学习领域的方法都根据农业领域的需求做出了调整以及改进,让先进的科学技术应用于农业领域,尤其是果实采摘方面。这样不仅节省了物力、财力,更让我们的果实采摘工作效率得到了很大的提升。
当前农业机器人的果实采摘工作已经取得了很大的进步,对于较大的果实采摘有着比较高的效率和准确率,但是对于小型果实的采摘在精度和速度方面还有待提高。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种小目标果实的检测方法及系统,只利用一层特征就可以对锚框样本进行分类和对锚框进行回归的方法,解决现在对于小型果实识别速度慢,准确度低的问题;可以很好地满足现在人们对于果蔬的需求量,以及果蔬采摘工作中的对于小型果实的采摘效率和速率问题。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种小目标果实的检测方法。
一种小目标果实的检测方法,包括:
利用训练后的小目标果实检测模型,依据待测目标图像,得到小目标检测结果;
所述小目标果实检测模型的训练过程包括:
获取目标图像,并标注出目标果实;
构建小目标果实检测模型,采用ResNeXt网络得到C5层的特征,然后采用膨胀编码器生成多种感受野的输出特征,覆盖所有的目标尺度;
采用IoU算法和k-近邻算法,筛选锚框,提取测试样本;
基于分类子网络的输出结果和回归子网络的输出结果,得到小目标检测的结果;
采用损失函数对小目标果实检测模型进行训练,直到模型的总体相似性损失小于设定阈值。
本发明的第二个方面提供一种小目标果实的检测系统。
一种小目标果实的检测系统,包括:
获取模块,其被配置为:获取目标图像,并标注出目标果实;
模型构建模块,其被配置为:构建小目标果实检测模型,采用ResNeXt网络得到C5层的特征,然后采用膨胀编码器生成多种感受野的输出特征,覆盖所有的目标尺度;
样本提取模块,其被配置为:采用IoU算法和k-近邻算法,筛选锚框,提取测试样本;
模型训练模块,其被配置为:基于分类子网络的输出结果和回归子网络的输出结果,得到小目标检测的结果;采用损失函数对小目标果实检测模型进行训练,直到模型的总体相似性损失小于设定阈值;
预测模块,其被配置为:利用训练后的小目标果实检测模型,依据待测目标图像,得到小目标检测结果。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的小目标果实的检测方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的小目标果实的检测方法中的步骤。
与现有技术相比,本发明的有益效果是:
1、本发明消除了一阶段目标检测中特征金字塔(FPN)的使用,提出了一种FPN的替代方案——只利用一级特征进行检测,提出了关键技术膨胀编码器(Dilated Encoder)和均匀匹配(uniform matching),用于解决对于一层特征感受野只能覆盖一个有限尺度范围和检测过程的正负样本不匹配的问题。
2、本发明能够提高小型果实的采摘效率,为现代化农业技术推广起着至关重要的推进作用。
3、本发明提高了小目标果实的识别速度和精度,可以满足现代化果园对于果实需求量。
4、本发明可以达到和使用了特征金字塔(FPN)的RetinaNet相似的结果,但速度提高了2.5倍,这使得对于小目标果实的采摘工作速度也提升了将近2倍。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是小目标果实的检测方法的流程图;
图2是本发明实施例中对于目标果实图像的采集示意图;
图3是本发明实施例中图像的目标果实标注示意图;
图4是本发明实施例中Dilated Encoder内部网络结构示意图;
图5是本发明实施例中Decoder的结构示意图;
图6是本发明实施例中检测效果可视化示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
如图1所示,本实施例提供了一种小目标果实的检测方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:
利用训练后的小目标果实检测模型,依据待测目标图像,得到小目标检测结果;
所述小目标果实检测模型的训练过程包括:
获取目标图像,并标注出目标果实;
构建小目标果实检测模型,采用ResNeXt网络得到C5层的特征,然后采用膨胀编码器生成多种感受野的输出特征,覆盖所有的目标尺度;
采用IoU算法和k-近邻算法,筛选锚框,提取测试样本;
基于分类子网络的输出结果和回归子网络的输出结果,得到小目标检测的结果;
采用损失函数对小目标果实检测模型进行训练,直到模型的总体相似性损失小于设定阈值。
作为一种或多种实施方式,基于测试样本,采用分类子网络预测每个锚框上k个类别的概率,并采用回归子网络计算目标预测值;将分类子网络的输出结果和回归子网络的输出结果相乘,得到小目标检测的结果。
作为一种或多种实施方式,标注出目标果实包括:采用统一的标准,标注所有照片中所有果实的位置。
作为一种或多种实施方式,对于存在遮挡的果实图片,采用重叠区域中每个果实都被独立标记,并且被遮挡部分被忽略的方法或者采用将重叠的多个果实标记为单个果实的方法。
作为一种或多种实施方式,正样本的选择包括:首先计算锚框与真实框之间的IoU,然后采用k-近邻算法,选取k值,获取锚框最接近的k个锚框的样本,最后忽略样本中IoU大于0.7的负样本和IoU小于0.15的正样本,得到测试样本。
具体的:
果实图实的采集与人工标注:
(1)尽量选择远景作为采集的主要图像,可以选择远处的整棵果树作为一张果实图像,这样果实属于小目标果实范围,对于后期实验的测试和优化也相对方便。
(2)采集图像分为白天和夜间、顺光和逆光、有遮挡和无遮挡几种类型,在使用标注工具对图片进行人工标注时,加上关键词对标注图像加以区分。同时采集雨后的果实图片,有利于更好地进行效果的对比。
(3)对于遮挡图像利用下列标注方法,一种是对于叶子对果实的遮挡,忽略叶子遮挡的部分,将其标注为一整个完整果实;第二种关于果实对果实的遮挡,可以将两个果实标注为一个完整果实。
对于只有一层特征图的有限范围问题的解决:
当使用主干网络ResNeXt得到C5层的特征时,在C5层的特征基础上,采用堆叠扩张卷积的方式提升感受野,然后对于原始尺度与扩大后尺度范围通过相加的方式进行组合,得到了覆盖范围更广的输出特征;主要利用膨胀编码器(Dilated Encoder)来解决这个问题,它主要包含两个主要成分:投影层(projector)和残差模块(Residual Block)两个部分。
投影层(projector)采用1×1卷积,然后用3×3卷积提取上下文的予以信息;残差模块(Residual Block)就是本实施例堆叠了四个不同膨胀卷积核的残差模块来覆盖所有的目标尺度。
对于正样本的选择:
正样本的选择对于小目标果实识别的优化问题很重要。在基于锚框的检测方法中,锚框和正式框之间的IoU决定正样本的定义。在以往的RetinaNet网络中,如果IoU大于0.5则锚点为正,称其为M-I mac。当只用一层特征编码器时,会发现锚框的数量会骤减,这就出现了锚点稀疏的问题。这样就进而导致了采用M-I mac方法匹配时的不匹配问题。所以为了解决这个问题,提出了均匀匹配(uniform matching)方法。
均匀匹配(uniform matching)方法对于每个真实框而言,正样本的定义就是最接近的k个锚框,可以让大小不同的真实框都有相同数目的正样本。同时,忽略了IoU大于0.7的负样本和IoU小于0.15的正样本。
对于目标的分类和回归:
对于目标的分类和回归主要沿用了RetinaNet的分类回归网络,同时添加了两个改动,首先参考了DETR中的FFN的设计方法,让两个分支头部的卷积数量不同,在回归分支包含4个卷积层而分类分支头部包含两个卷积层;其次就是参考了AutoAssign在回归的自网络上对每个样本添加了一个隐式的目标预测。
分类子网络是预测每个锚框上k个类别的概率,分类子网络预测每个a锚框上K个类别的概率。子网络是附加在编码器后边的的一个全连接层。当然分支网络也设计的很简单:对于编码器(Encoder)输出的512个通道的特征图,分类子网络使用2个3×3的卷积层,每层的通道数仍然是512,接着是一个ReLU激活层;然后跟一个通道数位KA(K是类别数,A是锚框数)的3×3的卷积层;最后使用sigmoid激活函数。
而对于回归子网络本实施例设计了包含4个3×3的卷积层,每层的通道数为512,和分类子网络一样,激活函数也使用ReLU,但是在回归分支中的每个a锚框都有一个隐式的目标预测值,最终的分类结果由分类分支的输出乘回归网络的隐式目标预测值得到。同样对于回归分支,最后是一个通道数为4A的3×3卷积层。
对模型的训练,优化和测试,最终得到小目标检测的结果:
(1)对于模型的训练,在分类子网络采用的是focal loss损失函数,其公式如下:FL(p)=-α(1-p)
其中,(1-p)
在回归子网络本实施例使用的是smoothL1损失函数,其公式如下:
SmoothL1 loss(x)={0.5*x
(2)对于模型的优化
在4个GPU的机器上使用SGD,每个minibatch有16张图片,一共训练了12次迭代,初始学习率为0.0025;数据增广只使用了水平翻转。边框回归使用smoothL1损失函数。
(3)对于模型的预测。
用到的就是一个简单的前向传播。为了提升速度,通过设置阈值0.5做NMS产生最终结果。
实施例二
本实施例提供了一种小目标果实的检测系统。
一种小目标果实的检测系统,包括:
获取模块,其被配置为:获取目标图像,并标注出目标果实;
模型构建模块,其被配置为:构建小目标果实检测模型,采用ResNeXt网络得到C5层的特征,然后采用膨胀编码器生成多种感受野的输出特征,覆盖所有的目标尺度;
样本提取模块,其被配置为:采用IoU算法和k-近邻算法,筛选锚框,提取测试样本;
模型训练模块,其被配置为:基于分类子网络的输出结果和回归子网络的输出结果,得到小目标检测的结果;采用损失函数对小目标果实检测模型进行训练,直到模型的总体相似性损失小于设定阈值;
预测模块,其被配置为:利用训练后的小目标果实检测模型,依据待测目标图像,得到小目标检测结果。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的小目标果实的检测方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的小目标果实的检测方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种小目标果实的检测方法及系统
- 一种适用于小目标的雷达目标检测方法及其系统