基于PolarMask的未成熟柿子分割方法及系统
文献发布时间:2023-06-19 12:07:15
技术领域
本发明涉及图像分割技术领域,特别是涉及基于PolarMask的未成熟柿子分割方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
实现对于目标果实的精准定位和分割是采摘机器人实施作业的关键所在。而对于未成熟的柿子的采摘则也属于其中一部分,对此的精准分割也是一大难题。
目前,国内外许多学者对于未成熟柿子的分割研究取得了一系列的进展,但是也存在一系列的问题:比如在复杂环境下,由于树叶的遮挡、顺光逆光不同关照条件和复杂的果园背景下,这些因素的干扰将会导致分割精度的降低,无法满足在复杂条件下对于果实的精准分割。近年来,随着深度学习不断进入人的视野,越来越多的计算机视觉问题开始借助神经网络架构来解决。深度学习的端到端的处理方式,在图像处理方向取得了更好的效果,因此引起了农业上的关注,借助深度学习在解决复杂环境下果实的精准分割问题取得了更好的进展。如何提供一种能够在复杂果园环境下进行分割,且分割速度快和准确率高的青柿子分割方法是本领域技术人员亟待解决的问题。
发明内容
为了解决现有技术的不足,本发明提供了基于PolarMask的未成熟柿子分割方法及系统;本发明将优化的PolarMask模型作用于复杂果园环境下的未成熟柿子分割研究中,解决采摘机器人的视觉系统果实分割效率较差的问题。其方法简单高效,能够得到相对精准的分割结果,适用于采摘机器人的实时作业。
第一方面,本发明提供了基于PolarMask的未成熟柿子分割方法;
基于PolarMask的未成熟柿子分割方法,包括:
获取图像;对获取的图像进行预处理;
将预处理后的图像输入到训练后的改进型PolarMask模型中,进行多尺度特征提取;
将提取的多尺度特征,输入到训练后的改进型PolarMask模型的head结构中,得到未成熟柿子的轮廓;基于轮廓对图像进行分割,得到未成熟柿子的图像;
其中,所述改进型PolarMask模型,其网络结构包括:
将原有的Polarmask模型的主干网络backbone由ResNet50替换为DenseNet网络。
第二方面,本发明提供了基于PolarMask的未成熟柿子分割系统;
基于PolarMask的未成熟柿子分割系统,包括:
预处理模块,其被配置为:获取图像;对获取的图像进行预处理;
特征提取模块,其被配置为:将预处理后的图像输入到训练后的改进型PolarMask模型中,进行多尺度特征提取;
图像分割模块,其被配置为:将提取的多尺度特征,输入到训练后的改进型PolarMask模型的head结构中,得到未成熟柿子的轮廓;基于轮廓对图像进行分割,得到未成熟柿子的图像;
其中,所述改进型PolarMask模型,其网络结构包括:
将原有的Polarmask模型的主干网络backbone由ResNet50替换为DenseNet网络。
第三方面,本发明还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本发明还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本发明的有益效果是:
1)在使用效果上,本发明提出了一种优化PolarMask对于未成熟柿子的精准分割方法。且方法简单高效,分割精度高,满足采摘机器人全天候工作的要求,可用于采摘机器人的实时分割。
2)在适用性和扩展性上,本发明适用于小样本数据集,泛化能力强,可以应用到各种果实采摘或预产的机器人视觉系统中。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本申请实施例一的优化PolarMask的青柿子精准分割方法流程图;
图2(a)~图2(c)为本申请实施例一的原始果实图像;
图3为本申请实施例一的优化的PolarMask网络结构图;
图4为本申请实施例一的DenseNet网络结构图;
图5为本申请实施例一的FPN网络结构图;
图6(a)~图6(f)为本申请实施例一的模型对果实的检测效果图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了基于PolarMask的未成熟柿子分割方法;
如图1所示,基于PolarMask的未成熟柿子分割方法,包括:
S101:获取图像;对获取的图像进行预处理;
S102:将预处理后的图像输入到训练后的改进型PolarMask模型中,进行多尺度特征提取;
S103:将提取的多尺度特征,输入到训练后的改进型PolarMask模型的head结构中,得到未成熟柿子的轮廓;基于轮廓对图像进行分割,得到未成熟柿子的图像。
进一步地,所述S101:获取图像;具体包括:
使用佳能EOS 80D单反相机采集不同光照、不同时间段、不同角度下的未成熟柿子的图像,图像分辨率为6000×4000。如图2(a)~图2(c)所示。
进一步地,所述S101:对获取的图像进行预处理;具体包括:
对图像进行灰度化处理。
进一步地,所述S102:将预处理后的图像输入到训练后的改进型PolarMask模型中,进行多尺度特征提取;具体包括:
S1021:利用改进型PolarMask模型的主干网络DenseNet,对预处理后的图像进行特征提取得到一次提取特征;
S1022:利用改进型PolarMask模型的特征金字塔结构FPN,对一次提取特征进行多尺度的特征提取。
特征金字塔结构FPN结构如图5所示。
进一步地,所述S1022:利用改进型PolarMask模型的特征金字塔结构FPN,对一次提取特征进行多尺度的特征提取;具体包括:
将DenseNet输出的特征图,按照自顶向下与横向连接的方式进行融合,使深层特征图与浅层特征图具有相同水平的语义容量,得到特征金字塔。
应理解的,采用特征金字塔结构能够提升模型对于不同尺度尤其是小尺度目标果实的分割效果。这里的特征指的图像上的每个像素点都作为一个特征,提取的特征就是这每个像素点所表示的特征。
进一步地,所述S103:将提取的多尺度特征,输入到训练后的改进型PolarMask模型的head结构中,得到未成熟柿子的轮廓;具体包括:
S1031:根据PolarMask模型的分类分支,以图像重心为基准,对重心上下左右四个方向的像素区域进行选取,一共选取到N~M个像素点,将所选取的像素点作为中心样本;N和M均为正整数;N小于M;
S1032:以选取的中心样本为中心选取极轴,规定长度单位和顺时针为正方向下建立极坐标系;在极坐标系下,确定从中心样本到各个轮廓的距离,获得36条射线的长度;
S1033:在得到从中心样本出发到轮廓的36条射线长度后,得到对应轮廓上36个点的坐标;
S1034:将这36个点按照顺时针的顺序依次连接,得到柿子的轮廓。
进一步地,所述S1031:根据PolarMask模型的分类分支,以图像重心为基准,对重心上下左右四个方向的像素区域进行选取,一共选取到N~M个像素点,将所选取的像素点作为中心样本;具体包括:
对于回归分支选取中心样本,样本的选取考量遵循下述内容:
中心样本的选取有多种选择,多种选择包括:目标物体的中心或者重心。
若位置坐标(x,y)落在目标物体的重心设定范围内,则定义该位置坐标所表示的点为正样本,否则为负样本。
选取像素区域从重心左侧、顶部、右侧和底部的特征映射为1.5倍步长,这样就选取到重心附近的9-16个像素点,将9-16个像素点作为中心样本。
应理解的,选取9-16个像素点作为中心样本有以下三个优点:
(1)将正样本的数量从1增加到9-16个,那么有利于正负样本的均衡;
(2)重心可能不是最佳的中心样本的选取,增加候选区域,可以有助于找到一个最佳的中心样本;
(3)根据中心样本可以拟合出多个轮廓,可以实现数据增广,使得分割后的实例轮廓更加符合实例的真实轮廓,提高分割的精度。
进一步地,所述S1032:以选取的中心样本为中心选取极轴,规定长度单位和顺时针为正方向下建立极坐标系;具体包括:
以选取的中心样本作为极点中心,从极点中心引一条射线作为极轴o
进一步地,所述S1032:在极坐标系下,确定从中心样本到各个轮廓的距离,获得36条射线的长度;具体包括:
当给定一个中心,对于射线的长度的选取,从极坐标中心出发选取一个方向,沿着所选取的方向,向外逐个像素点进行判断是否属于目标物体,直至整张图片最后的一个像素判断完毕,选取属于物体的最远的像素点作为该点从该方向上发出的射线长度。
进一步地,所述S1033:在得到从中心样本出发到轮廓的36条射线长度后,得到对应轮廓上36个点的坐标;将这36个点按照顺时针的顺序依次连接,得到柿子的轮廓;具体包括:
选取36条射线勾勒出物体的轮廓:
在PolarMask模型的输出为分类H*W*K(H:特征图的高度W:特征图的宽度K:类别数),极点中心H*W*1,掩膜回归H*W*n。
先把对应的类别数K与对应的极点中心分数相乘,得到最终的置信度分数。
极点中心分数公式:
再将置信度阈值设置为0.05之后,只从每个FPN级别p个得分最高的预测中收集轮廓,合并所有级别的最高预测,并应用阈值为0.5的非最大抑制(NMS)得到最终结果。
给定一个中心样本(x
x
y
其中,x
根据所求得的轮廓上的点,任意选取一个点,按照顺时针的方向依次连接计算出来的36个轮廓点,最终生成所求的实例的轮廓,如图6(a)~图6(f)所示。
应理解的,根据网络中的头部部分中的分类分支进行类别和极点中心的定位,回归分支实现对于在极坐标下的建模实现以及实例轮廓的勾勒。
进一步地,如图3所示,所述改进型PolarMask模型,其网络结构包括:
将原有的Polarmask模型的主干网络backbone由ResNet50替换为DenseNet网络。
DenseNet和ResNet最大的区别是从特征入手,实现对于特征的极致利用,以实现用更少的参数实现更好的效果。
如图4所示,DenseNet网络中包含了3个dense block,在每一个dense block的3*3卷积前面都包含了一个1*1的卷积,这就是bottleneck layer,目的是用来减少输入的feature map的数量,既能降维减少计算量,又能融合各个通道的特征。
在每个dense block中间,用1*1的卷积核来降维,设置transition layer,内有若干个学习率,表示将这些输出缩小到原来的若干倍,这样传递给下一个dense block时通道数就会减少为原来的一半。
将DenseNet中的dense block输出的特征图,按照自顶向下与横向连接的方式进行融合,使深层特征图与浅层特征图具有相同水平的语义容量,得到特征金字塔,提升模型对于不同尺度尤其是小尺度目标果实的分割效果。
进一步地,所述训练后的改进型PolarMask模型,其训练步骤包括:
构建训练集,所述训练集为已知柿子成熟度标签的柿子图像;
将训练集输入到改进型PolarMask模型中,对改进型PolarMask模型进行训练,当损失函数达到最小值时或迭代次数满足设定阈值时,停止训练,得到训练后的改进型PolarMask模型。
在所述训练集上训练未成熟柿子的分割模型,利用所述验证集不断优化所述未成熟柿子的分割网络参数,对未成熟柿子的图像进行监督学习。
利用所述测试集对每个分割模型进行测试,并统计每个分割模型的准确率和召回率,进行性能评价,最终选取指标最高的分割模型作为最优分割模型,实现未成熟柿子的精准分割。
准确率和召回率公式如下:
其中,TP是真实的正样本数量,FP是虚假的正样本数量,FN是虚假的负样本数量。
进一步地,所述构建训练集,具体包括:
1)选取的为未成熟的柿子,使用佳能EOS 80D单反相机采集不同光照、不同时间段、不同天气、不同角度下的未成熟柿子的图像,图像分辨率为6000×4000,输出格式为JPG,24位彩色图像。
2)对采集的图像进行预处理,将图像裁剪为4000×4000,分辨率缩小为512×512,使用LabelMe软件标注,构建数据集。
3)将所述原始数据集分为训练集、验证集和测试集。
利用利用网络头部生成的分类分支进行类别分类和极点中心的定位,PolarMask模型用于在极坐标下建模实现实例轮廓的勾勒;利用所述原始数据集在PyTorch框架下对优化后的模型进行训练和测试,获取最优分割模型,实现对于遮挡条件下的未成熟狮子的精准分割。该方法具有简单高效性,其对于遮挡物体的分割精度有了较大的提高,也为其他果蔬的分割提供了新的借鉴。
实施例二
本实施例提供了基于PolarMask的未成熟柿子分割系统;
基于PolarMask的未成熟柿子分割系统,包括:
预处理模块,其被配置为:获取图像;对获取的图像进行预处理;
特征提取模块,其被配置为:将预处理后的图像输入到训练后的改进型PolarMask模型中,进行多尺度特征提取;
图像分割模块,其被配置为:将提取的多尺度特征,输入到训练后的改进型PolarMask模型的head结构中,得到未成熟柿子的轮廓;基于轮廓对图像进行分割,得到未成熟柿子的图像。
此处需要说明的是,上述预处理模块、特征提取模块和图像分割模块对应于实施例一中的步骤S101至S103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 基于PolarMask的未成熟柿子分割方法及系统
- 一种基于肺分割的肺叶分割优化方法及系统