基于改进的SOLOv2的蘑菇簇轮廓分割和重构方法

文档序号:32946843发布日期:2023-01-14 11:22阅读:51来源:国知局
基于改进的SOLOv2的蘑菇簇轮廓分割和重构方法
基于改进的solov2的蘑菇簇轮廓分割和重构方法
技术领域
1.本发明涉及智慧农业及视觉识别技术领域,特别是果蔬自动采摘技术领域,具体涉及一种基于改进的solov2的蘑菇簇子实体高精度轮廓分割和重构方法。


背景技术:

2.蘑菇是一种天然高丛生性作物,子实体之间极易密集并重叠生长在一起,蘑菇的形状因密集生长空间受限易从圆形长成椭圆或不规则形,子实体也容易由垂直生长变成倾斜姿态,因此,实现轮廓高精度分割和重构难度大,导致子实体的中心点定位精度以及子实体尺寸精度偏低,会降低蘑菇簇的自动采摘成功率。
3.目前针对子实体的分割方法主要有基于传统视觉的分割算法采用圆或椭圆进行重构和基于目标检测的boudingbox中心点定位方法,对于相对稀疏圆形子实体的分割定位精度效果较好,但是对于密集重叠的果实簇中的子实体的定位效果并不好。传统视觉对环境适应性差识别算法鲁棒性差、对较小和粘连子实体漏识别率高、会将密度高的类圆形菌丝团误识别为子实体,对倾斜、不规则形和被遮挡子实体的边缘分割精度不高,而且,单用圆形或椭圆重构的子实体轮廓特别是对不规则形状及被遮挡子实体的轮廓与实际轮廓贴合程度不高。而基于目标检测的中心点定位方法,虽然对子实体识别的鲁棒性提高不少,但是由于其目标中心是依靠boundingbox来确定的,与实体的边缘也不太贴合,尤其是对于倾斜、复杂粘连重叠子实体,会导致子实体的尺寸和中心点位置与实际产生一定偏移。


技术实现要素:

4.针对现有技术存在的问题,本发明的目的在于提供一种基于改进的solov2(pr-solov2分割算法)的蘑菇簇子实体高精度轮廓分割和重构方法。本方法克服了图像采集时蘑菇重叠、倾斜、遮挡、光照不均匀、菇帽表面有土壤等复杂情况以及密集粘连蘑菇的轮廓分割模糊问题,通过本发明提出的pr-solov2分割算法不仅能针对密集、重叠、挤压和倾斜子实体的边缘进行精准分割、完整获得其实例掩码,并且对于蘑菇子实体之间存在较严重遮挡、挤压变形等情况也能基于本发明所设计的轮廓重构算法对子实体进行较好地轮廓拟合重构,其目的是为了更加精准获得子实体的中心点坐标和形状尺寸,为后续的采摘或生长状态监测提供精准的子实体数据。
5.本发明首先通过融合solov2网络及pointrend模块的pr-solov2分割网络对蘑菇簇图像进行分割,获得与实际子实体贴合较好的各子实体掩膜。然后,提取各子实体掩膜轮廓数据,根据子实体掩膜轮廓的曲率和半径大小对子实体进行分类,对形状规则、较平滑轮廓子实体采用最小二乘椭圆法进行拟合重构,对被严重遮挡或挤压的不规则轮廓子实体基于角点分割的最长轮廓提取及分类重构方法进行重构。本发明的技术方案具体介绍如下。
6.一种基于改进的solov2的蘑菇簇轮廓分割和重构方法,包括以下步骤:
7.步骤a:采集蘑菇图像;
8.步骤b:采用改进的solov2算法对图像中蘑菇簇中的子实体进行高精度分割,获得
与实际子实体贴合好的各子实体掩膜;其中:改进的solov2算法基于融合solov2网络及pointrend模块的pr-solov2分割网络实现;pr-solov2分割网络中,pointrend模块设置在solov2网络的特征提取骨干网络全卷积网络fcn后、实例分割预测分支的最前端,fcn网络的第二层和第四层特征分别作为精细特征和粗糙特征作为pointrend模块的输入,pointrend模块根据在低空间分辨率的特征图和相应较为精细的高空间分辨率特征上提取到的特征像素点,采用多层感知机对每个点不断迭代优化,再通过实例分割预测分支来进行实例掩膜的预测;
9.步骤c:提取各子实体掩膜的边缘轮廓数据;
10.步骤d:计算子实体掩膜轮廓的平均曲率和长度,根据轮廓长度和平均曲率的组合大小关系,将子实体分为规则轮廓子实体和非规则轮廓子实体;
11.步骤e:采用最小二乘椭圆拟合法重构规则轮廓子实体的轮廓,采用基于角点分割的最长轮廓提取及分类重构方法重构非规则轮廓子实体的轮廓,最终实现蘑菇簇轮廓分割和重构。
12.上述步骤b中,pr-solov2分割网络通过逐层连接低层特征和高层特征,以由粗至细的方式迭代渲染输出图像的方法,能改善原来网络结构可能对边界像素产生的模糊及误判,提高图像分割边缘的精度。
13.上述步骤b中,对pr-solov2分割网络进行训练时,训练批次大小设置为4,初始学习率设置为0.01,权重衰减因子为0.0001,动量大小为0.9,进行5000次迭代训练。
14.上述步骤d中,按照式1)计算子实体掩膜轮廓中每个点的曲率k,并取所有轮廓点曲率的平均值作为该轮廓的平均曲率:
[0015][0016]
式中:x

、y

以及x

、y

分别表示轮廓点x,y坐标的一阶和二阶导数。
[0017]
上述步骤d中,根据轮廓长度和平均曲率的组合大小关系,当子实体轮廓长度大于h(像素点)且平均曲率小于f时,子实体为规则轮廓子实体,否则为非规则轮廓子实体;其中:h、f是阈值;本文中,针对双孢蘑菇分割时,h取值为100,f取值为0.103。
[0018]
上述步骤e中,基于角点分割的最长轮廓提取及分类重构方法具体如下:
[0019]
步骤e1:检测轮廓形状突变处的角点;
[0020]
步骤e2:通过角点坐标,将相邻角点坐标之间的坐标连线视为一条子轮廓片段,从而将整个蘑菇轮廓分割成n段子轮廓片段;
[0021]
步骤e3:计算各轮廓片段的长度,从中选出最长轮廓片段;
[0022]
步骤e4:计算该最长轮廓片段的弓形曲率c,计算公式如下:
[0023][0024]
[0025][0026][0027]
p=1/(z+v+m)
[0028]
其中,r为弓形曲率半径,h
arc
为最长轮廓片段的弓形高,z、v、m分别为最长轮廓片段的两端点与片段上任一点组成三角形的三边长,z为最长轮廓片段的两端点连接的边长,p为三角形的半周长,s为三角形的面积;
[0029]
步骤e5:根据最长轮廓片段的弓形曲率c以及其长度大小组合不同,采用不同方式对非规则子实体进行轮廓重建;具体如下:
[0030]
当最长轮廓片段的弓形曲率c大于等于r并且其长度大于等于q(像素点)时,在该片段上选取若干个点,采用最小二乘椭圆拟合法重建子实体轮廓,r、q为阈值;本文中,针对双孢蘑菇重构时,r取值为0.9,q取值为100。
[0031]
当最长轮廓片段的弓形曲率c小于r或其长度小于q时,在该片段上选取若干个点,采用最小距离圆拟合的方法重建子实体轮廓。
[0032]
与现有技术相比,本发明的有益效果在于:
[0033]
(1)本发明对solov2网络结构与pointrend神经网络模块进行融合,构建了改进的solov2算法pr-solov2,通过逐层连接低层特征和高层特征,以由粗至细的方式迭代渲染输出图像的方法,改善原来网络结构可能对边界像素产生的误判,克服了密集果实子实体分割边缘的模糊问题,提高了图像分割边缘的精度。
[0034]
(2)本发明提出了一种基于高精度实例分割掩膜轮廓的蘑菇子实体的分类轮廓重构方法。本方法中,首次提出采用实例分割算法获得子实体的高精度掩膜并提取各子实体掩膜轮廓数据作为子实体轮廓重构的基础数据。由掩膜获得轮廓数据方法比其它的轮廓搜索方法简单有效,而且由于所获得的掩膜轮廓的数据较贴合轮廓边缘,轮廓边缘数据的精度也很高。此外,通过子实体掩膜轮廓的曲率和半径大小对形状规则、较平滑轮廓子实体和被严重遮挡或挤压的不规则轮廓子实体进行分类重构。特别是针对不规则轮廓子实体本发明提出了基于角点分割的最长轮廓提取及分类重构方法,基于轮廓角点提取轮廓中的最长轮廓片段、然后根据最长轮廓片段的弓形曲率及长度分别采用圆及椭圆拟合重构完整轮廓方法,能很好的恢复被严重遮挡或严重挤压的不规则轮廓子实体。
[0035]
本发明对密集重叠蘑菇簇子实体的轮廓分割和重构精度高、速度快,重构的轮廓边缘与蘑菇实际边缘贴合度较高,中心点定位更加精准,适用于双孢蘑菇、姬松茸、金针菇、海鲜菇、杏鲍菇等蘑菇子实体的高精度识别与定位。本发明还适用于其它类球型密集重叠果实的高精度识别与定位。
附图说明
[0036]
图1为基于solov2的蘑菇簇子实体高精度轮廓分割和重构方法流程图。
[0037]
图2为双孢蘑菇原图像。
[0038]
图3为pr-solov2网络结构图。
[0039]
图4为pr-solov2分割模型的分割效果比较图。
[0040]
图5为经pr-solov2分割获得的掩膜轮廓图。
[0041]
图6为提取的掩膜轮廓图。
[0042]
图7为最小二乘椭圆拟合的较规则子实体轮廓。
[0043]
图8为受遮挡严重或被严重挤压变形的轮廓形状不太规则的子实体直接用未处理的掩膜轮廓进行椭圆拟合的效果。
[0044]
图9为被严重遮挡的不规则轮廓基于角点提取的最长轮廓图。
[0045]
图10为受严重遮挡或严重挤压的不规则轮廓的重构轮廓效果图。
[0046]
图11为基于本发明方法的果实簇重构轮廓完整效果图。
具体实施方式
[0047]
下面结合附图,以双孢蘑菇为例对本发明的技术方案作进一步说明。
[0048]
本发明的流程图如图1所示,具体实施步骤如下。
[0049]
1、构建双孢蘑菇子实体分割模型的数据集
[0050]
采用深度相机realsensed435,安装在离培养基高度300mm处采集图像,采集的图像如图2所示。
[0051]
采集不同生长时期,不同光源环境下、不同拍摄角度下、不同菌种下、密集生长状态和稀疏生长状态的双孢蘑菇图像,使用“labelme”图像数据标注软件在训练集图像上标注出蘑菇子实体的多边形外轮廓,实现对目标子实体的人工标注,生成相应的json格式文件。为了提高双孢蘑菇训练模型的泛化能力和鲁棒性,进一步对采集的果实图像原始数据训练集进行图像亮度变化、水平翻转、镜像垂直、随机旋转等图像数据增强以获得更多的图像数据和图像特征。最后将图像增强的图像与原始数据图像集中在一起构成最终的训练数据集。
[0052]
2、设计构建改进的solov2的pr-solov2网络
[0053]
在solov2网络的特征提取骨干网络全卷积网络fcn后、实例分割预测分支的最前端加入pointrend网络模块,并选取fcn网络的第二层和第四层特征分别作为精细特征和粗糙特征作为该模块的输入,根据在低空间分辨率的特征图和相应较为精细的高空间分辨率特征上提取到的特征像素点,采用多层感知机对每个点不断迭代优化,接入实例分割预测分支来进行实例掩膜的预测。通过这种逐层连接低层特征和高层特征,以由粗至细的方式迭代渲染输出图像的方法,改善原来网络结构可能对边界像素产生的误判而造成的轮廓分割模糊问题,提高图像分割边缘的精度。所设计的pr-solov2算法的网络结构如图3所示。
[0054]
3、训练pr-solov2模型
[0055]
构建模型的运行环境:采用win10操作系统,运行内存24gb,显卡为1
×
geforcertx3090,配置python3.7、pytorch1.6、gpu运行架构cuda10.1、加速库为cudnn7.6.5下的facebook的开源框架detectron2作为模型的运行框架。
[0056]
pr-solov2模型采用构建的数据集进行训练,训练参数:训练批次大小设置为4,初始学习率设置为0.01,权重衰减因子为0.0001,动量大小为0.9,进行5000次迭代训练。
[0057]
4、采集双孢蘑菇图像
[0058]
5、将采集的图像通过训练出来的pr-solov2算法模型完成对图像中双孢蘑菇子实体的分割,pr-solov2分割模型的分割效果、获得各子实体掩膜,如图5所示。
[0059]
进一步的,发明人基于solov2算法和pr-solov2算法对不同双孢蘑菇图像样本的
分割效果进行比较,结果如图4所示,其中图4(a)图是未改进前即采用solov2算法得分割效果,对于密集蘑菇簇分割效果不好,密集粘连子实体边缘分割模糊,例如子实体1和2、2和3、3和4、4和5、6和7等子实体交界边缘分割处分割模糊。而图4(b)则是采用本发明提出的pr-solov2算法模型分割的结果,由图中可见,即使是密集粘连子实体间的边缘分割精准、清晰,与实际子实体边缘非常贴合。pr-solov2的分割精度高,平均精度ap可达93.037%,ap
50
高达99.056%,ap
75
可达95.249%,均高于其它典型实例分割算法,如表1所示。
[0060]
表1
[0061]
算法平均精度ap(%)ap
50
(%)ap
75
(%)mask r-cnn83.51095.06189.006yolact80.74393.45187.853solov290.27996.10392.747pr-solov293.03799.05695.249
[0062]
6、提取密集重叠子实体掩膜的边缘轮廓数据,如图6所示。
[0063]
7、计算子实体掩膜轮廓的平均曲率和长度
[0064]
按照以下公式计算子实体掩膜轮廓中每个点的曲率k,并取所有轮廓点曲率的平均值作为该轮廓的平均曲率。
[0065][0066]
其中,x

、y

以及x

、y

分别表示轮廓点x,y坐标的一阶和二阶导数。
[0067]
8、根据轮廓长度和平均曲率的组合大小关系,对规则轮廓子实体和非规则轮廓子实体分别采用不同方法进行轮廓重构。
[0068]
(1)若轮廓平均曲率和长度的组合关系满足条件实体轮廓长度大于100且平均曲率小于0.103,则说明该子实体是基本未受遮挡或被严重挤压变形的子实体,其轮廓边缘比较平滑,形状比较规则,取其上n个轮廓点为pi(xi,yi)(i=1,2,

,n),根据最小二乘椭圆拟合目标函数(如下式)进行拟合运算,解得a,b,c,d,e的值,根据椭圆特性,计算出椭圆位置参数(θ,x0,y0)以及形状参数(a,b),从而实现轮廓的重构。形状规则、轮廓边缘平滑子实体的轮廓重构效果如图7所示。
[0069][0070]
其中,欲使得f最小,需满足:
[0071][0072]
(2)若不满足实体轮廓长度大于100且平均曲率小于0.103的条件,则说明该子实体遮挡严重或被严重挤压变形,其轮廓形状不太规则、轮廓不太平滑,如果直接对其进行最小二乘椭圆拟合,如图8所示,箭头所指a1轮廓为拟合轮廓,拟合结果与实际轮廓相差较大;需要采用基于角点分割的最长轮廓提取及分类重构方法进行轮廓重构。具体实施步骤如下:
[0073]

检测轮廓形状突变处的角点;
[0074]

通过角点坐标,将相邻角点坐标之间的坐标连线视为一条子轮廓片段,从而将整个蘑菇轮廓分割成n段子轮廓片段;
[0075]

计算各轮廓片段的长度,从中选出最长轮廓片段;选出的最长轮廓片段。如图9所示,箭头指向的l1红色轮廓为最长轮廓。
[0076]

计算该最长轮廓片段的弓形曲率c,具体计算公式如下:
[0077][0078][0079][0080][0081]
p=1/(z+v+m)
[0082]
其中,其中,r为弓形曲率半径,h
arc
为最长轮廓片段的弓形高,z、v、m分别为最长轮廓片段的两端点与片段上任一点组成三角形的三边长,z为最长轮廓片段的两端点连接的边长,p为三角形的半周长,s为三角形的面积。
[0083]
然后,根据最大轮廓的弓形曲率以及长度大小组合不同,采用不同方式对较不规则子实体进行轮廓重建。当最大轮廓的弓形曲率较大大于0.9并且长度大于100,在最大轮廓上选取n个点(xj,yj),采用最小二乘椭圆拟合法重建子实体轮廓。当最大轮廓的弓形曲率小于0.9或长度较短小于100时,在最大轮廓上选取n个点(xj,yj),采用最小距离圆拟合的方法重建子实体轮廓,具体计算方法为根据n个数据点(xj,yj)到圆的距离绝对值的和来确定圆的参数:
[0084][0085]
其中,xc、yc为拟合后圆的中心点,r为拟合的圆半径,使得f取得最小值的xc、yc和r就是最佳拟合参数。
[0086]
基于角点分割的最长轮廓提取及分类重构方法对受严重遮挡或严重挤压的不规则轮廓重构结果如图10所示,红色轮廓为重建的轮廓,被遮挡部分恢复较好,重构轮廓的边缘与实际子实体轮廓边缘拟合较好。
[0087]
图11为基于本发明方法的果实簇重构轮廓效果图。由图中可见,密集粘连的蘑菇簇中,无论是形状较规则的子实体还是因被严重遮挡或被严重挤压变形或倾斜的不规则子实体的轮廓构建效果都很好,所构建的轮廓与实际轮廓很贴合,子实体的定位精度和形状尺寸精度都较高。
[0088]
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1