基于迁移学习的群猪图像分割的方法及系统

文档序号:29044794发布日期:2022-02-25 21:43阅读:117来源:国知局
基于迁移学习的群猪图像分割的方法及系统

1.本发明属于生猪图像的个体分割领域,具体涉及一种基于迁移学习的群猪图像分割的方法及系统。


背景技术:

2.机器视觉技术是监测生猪健康状况、评价生猪福利的重要技术手段之一,相较于穿戴式传感器监测相关数据,具有易安装、无接触、使用方便等优点,在大规模养殖场景应用中优势明显。
3.目前大多数生猪养殖模式属于群养饲喂模式,并且生猪有聚集的习性,当使用机器视觉技术跟踪监测猪只状态时,会存在猪只图像粘连,导致个体图像分割困难,这也是当前利用机器视觉技术实现监测生猪目标状态所存在的问题之一。
4.目前分割群养猪图像中的粘连猪只的方法大致分为两种:基于传统的图像分割算法(包括基于阈值、区域、边缘检测等分割算法)和利用深度学习对图像进行分割。前者易受背景、光照、噪声等影响,分割模型的泛化能力较差;后者包括语义分割和实例分割,具有自学习图像的特点,解决了图像中噪声以及不均匀的问题。其中,语义分割能区分不同的类别,而实例分割在语义分割的基础上,能区分出同一类别的不同的实例个体,为大规模养殖环境中,群猪的个体分割提供了可能性。目前,将实例分割用于粘连猪只的研究较少,且都依赖大量的标记数据,而采集数据过程以及标记过程非常耗时耗力。


技术实现要素:

5.本发明的目的在于提供一种基于迁移学习的群猪图像分割的方法及系统,解决现有群猪图像分割困难以及人工标注数据集费时费力的问题,从而实现利用少量的标注数据集完成群猪的实例分割,进一步完成后续的生猪个体的分辨和定位。
6.实现本发明目的的技术解决方案为:一种基于迁移学习的群猪图像分割的方法,步骤如下:
7.步骤1、制作数据集:首先采集群猪视频数据并获取采样图像,之后将图像按比例分别分为训练集和测试集,并对数据集进行标注与预处理;
8.步骤2、搭建分割网络:所述分割网络基于mask r-cnn网络结构进行改进,对mask r-cnn网络框架的骨干网络进行选择,并对输出类别进行调整;
9.步骤3、基于mask r-cnn分割网络在coco数据集上进行训练后,对参数进行迁移,作为分割网络参数的初始化;
10.步骤4、将步骤1中标注好的训练集输入到已经权重初始化的分割网络中,经过训练得出改进的分割模型;
11.步骤5、将测试集输入到训练好的分割模型中,输出群猪实例分割图像。
12.本发明还提供一种基于迁移学习的群猪图像分割的系统,包括:
13.数据集制作模块,用于采集群猪视频数据并获取采样图像,将图像按比例分别分
为训练集和测试集,并对数据集进行标注与预处理;
14.分割网络搭建模块,用于搭建分割网络,所述分割网络基于mask r-cnn网络结构进行改进,对mask r-cnn网络框架的骨干网络进行选择,并对输出类别进行调整;
15.参数迁移模块,基于mask r-cnn分割网络在coco数据集上进行训练,对参数进行迁移,作为分割网络参数的初始化;
16.分割模型训练模块,用于将标注好的训练集输入到已经权重初始化的分割网络中,经过训练得出改进的分割模型;
17.输出模块,用于将测试集输入到训练好的分割模型中,输出群猪实例分割图像。
18.本发明与现有技术相比,其显著优点为:
19.(1)本发明使用改进的基于mask r-cnn的分割算法,用于实现群猪图像的实例分割,相较于传统的群猪分割方法,该方法实现了群猪的实例分割,受噪声的影响较小,泛化能力更好;
20.(2)本发明基于迁移学习的理论,初始化分割网络的参数,避免对大量标注数据集的依赖性,时间成本短,训练收敛更快。
21.下面结合附图对本发明作进一步详细描述。
附图说明
22.图1是本发明提出的一种基于迁移学习的群猪图像分割的方法的流程图;
23.图2是本发明中的改进的mask r-cnn分割网络的结构示意图;
24.图3是本发明中群猪图像测试集某张原图。
25.图4是本发明中群猪图像测试集某张原图的掩码图。
26.图5是本发明中群猪图像测试集某张原图的分割结果示意图。
具体实施方式
27.如图1所示,本发明的一种基于迁移学习的群猪图像分割的方法,包括如下步骤:
28.步骤1、制作数据集。首先采集群猪视频数据并获取采样图像,之后将图像按比例分别分为训练集和测试集,并对数据集进行标注与预处理;
29.图像标注与预处理步骤如下:
30.读取视频数据,每25帧截取一帧均匀采样,截取出群猪图片;使用labelme标注软件对群猪图像中的各生猪的边缘轮廓使用标注点进行标注,并使用不同的标注标签进行分类,并保存生成.json文件;标注结束后,再批量将json文件转换成coco数据集格式,用于后续的网络训练;在图像输入到网络之前,对其进行旋转操作,用于图像增强。
31.步骤2、搭建分割网络。本发明中的分割网络是基于mask r-cnn网络结构作出了改进。对mask r-cnn网络框架的骨干网络进行了选择,并对输出类别进行了调整;
32.分割网络采用基于改进的mask r-cnn模型;针对本文的群猪的应用场景,对mask r-cnn网络进行调整改进:1)设置classfication分支的输出为0和1,代表输出两类,即背景和生猪目标;2)针对本发明的研究场景以及硬件配置,选取backbone为resnet-50+fpn;改进的mask r-cnn分割网络结构如图2所示。
33.如图2所示,本网络模型主要由backbone(骨干网络)、rpn(目标区域生成网络)以
及网络输出模块构成;其中,骨干网络采用resnet50+fpn进行特征提取,其提取的特征分为两支,一支用于roialign池化层处理,另一支通过rpn卷积层用于提取特征信息,并最终产生可能的目标候选区域;输出部分包括经全连接层完成预测类别和回归框任务,以及经卷积层输出的mask掩模。
34.改进的分割网络的损失函数loss包括三个部分,如式(1)所示:
35.l=l
cls
+l
box
+l
mask
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
36.其中,l表示损失函数,l
cls
表示分类误差,l
box
表示检测误差,l
mask
表示分割误差。l
cls
、l
box
利用全连接层处理,预测出每个roi(感兴趣区域)的所属类别和回归框坐标值。l
mask
对每个roi(感兴趣区域)的目标进行分割,并赋予mask掩模。
37.步骤3、基于迁移学习的模型预训练,初始化分割网络的参数。基于mask r-cnn分割网络在coco数据集上进行训练后,对参数进行迁移,作为本发明中分割网络参数的初始化;
38.首先,利用在coco数据集上预先训练的resnet50+fpn实例分割模型,进行迁移学习,获取分类器的输入特征数;其次,使用fast r-cnn预测器代替上述训练好的分类器的头部分割框预测器,获取掩码分类器的输入特征数、隐藏层数;最后,用mask r-cnn预测器代替上述训练好的分类器的头部演码预测器,初始化自己的mask r-cnn实例分割网络模型。
39.如果从头开始训练一个网络的话,比较耗时耗力,利用迁移学习,可以实现网络权重初始化,加快训练速度;coco数据集种类丰富,虽然没有本发明中的研究对象生猪目标,但里面包含了很多动物数据集,也就是说涵盖了动物的一些基本特征,因此,通过加载在该数据集上训练好的mask r-cnn模型权重,用于初始化自己的网络,可以加快训练。
40.步骤4、将标注的数据集输入到分割模型中,训练分割模型。即将步骤1中标注好的训练集输入到已经权重初始化的分割网络中,经过训练得出改进的分割模型;
41.训练分割网络的流程如下:
42.1)预训练阶段,加载步骤3中预训练好的初始模型;
43.2)在预训练的基础上,将标记好的数据集输入至预训练好的改进的分割模型中,使用gpu加速运算,处理速度比cpu快数十倍;
44.3)设置模型参数,本网络中的模型训练的主要配置参数为:卷积核大小为7*7;激活函数为relu;优化器模型为sgd;sgd优化器的学习率为0.002,学习率调整规则为:每训练3次,更新学习参数的乘法因子为0.1;动量因子为0.9;正则化权重衰减系数为0.0005;设置迭代次数为10;
45.4)不断重复上述过程,直至网络损失函数收敛,训练集和测试集的准确率趋于稳定,代表模型训练完成。
46.步骤5、将测试集输入到训练好的分割模型中,输出群猪实例分割图像。
47.进一步的,本发明还提供一种基于迁移学习的群猪图像分割的系统,包括:
48.数据集制作模块,用于采集群猪视频数据并获取采样图像,将图像按比例分别分为训练集和测试集,并对数据集进行标注与预处理;
49.分割网络搭建模块,用于搭建分割网络,所述分割网络基于mask r-cnn网络结构进行改进,对mask r-cnn网络框架的骨干网络进行选择,并对输出类别进行调整;
50.参数迁移模块,基于mask r-cnn分割网络在coco数据集上进行训练,对参数进行
迁移,作为分割网络参数的初始化;
51.分割模型训练模块,用于将标注好的训练集输入到已经权重初始化的分割网络中,经过训练得出改进的分割模型;
52.输出模块,用于将测试集输入到训练好的分割模型中,输出群猪实例分割图像。
53.上述模块的具体实现方式与上述分割方法部分相同,此处不再赘述。
54.下面结合附图对本发明的具体实施方式作进一步描述。
55.实施例
56.结合图1、图2,本发明基于迁移学习的群猪图像分割的方法,步骤如下:
57.第一步,制作数据集:采集群猪视频,读取视频数据,每25帧截取一帧均匀采样,截取出群猪图片共50张;将群猪图片分出40张作为训练集,10张作为测试集;使用labelme标注软件对群猪图像中的每只生猪目标按轮廓边界进行描点标注,并对每只生猪目标进行不同的命名,并保存生成.json文件;标注结束后,再批量将json文件转换成coco数据集格式,用于后续的网络训练;在图像输入到网络之前,对其进行旋转操作,用于图像增强。
58.第二步,搭建分割网络:针对本文的群猪的应用场景,对mask r-cnn网络进行调整改进:1)设置classfication分支的输出为0和1,代表输出两类,即背景和生猪目标;2)针对本发明的研究场景以及硬件配置,选取backbone为resnet-50+fpn;改进的mask r-cnn分割网络结构如附图2所示。
59.mask r-cnn模型主要由backbone(骨干网络)、rpn(目标区域生成网络)以及网络输出模块构成;其中,骨干网络采用restnet50+fpn进行特征提取,其提取的特征分为两支,一支用于roialign池化层处理,另一支通过rpn卷积层用于提取特征信息,并最终产生可能的目标候选区域;输出部分包括经全连接层完成预测类别和回归框任务,以及经卷积层输出的mask掩模。
60.改进的分割网络的损失函数loss包括三个部分,如式(1)所示:
61.l=l
cls
+l
box
+l
mask
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
62.其中,l表示损失函数,l
cls
表示分类误差,l
box
表示检测误差,l
mask
表示分割误差。l
cls
、l
box
利用全连接层处理,预测出每个roi(感兴趣区域)的所属类别和回归框坐标值。l
mask
对每个roi(感兴趣区域)的目标进行分割,并赋予mask掩模。
63.本发明中采集的群猪数据中,每张图中的群猪的数量为2-9只不等,按照上述网络结构的流程,群猪分割图最终对于不同的生猪目标赋予不同颜色的掩模,代表图中同一生猪类别的不同个体,即实现实例分割。
64.第三步,基于迁移学习的模型预训练,初始化分割网络的参数。基于mask r-cnn分割网络在coco数据集上进行训练后,对参数进行迁移,作为本发明中分割网络参数的初始化。
65.第四步,训练分割网络。具体训练流程如下:
66.1)预训练阶段,加载步骤3中预训练好的初始模型;
67.2)在预训练的基础上,将标记好的数据集输入至预训练好的改进的分割模型中,使用gpu加快图像的运算速度;
68.3)设置模型参数,本网络中的模型训练的主要配置参数为:卷积核大小为7*7;激活函数为relu;优化器模型为sgd;sgd优化器的学习率为0.002,学习率调整规则为:每训练
3次,更新学习参数的乘法因子为0.1;动量因子为0.9;正则化权重衰减系数为0.0005;设置迭代次数为10;
69.4)不断重复上述过程,直至网络损失函数收敛,训练集和测试集的准确率趋于稳定,代表模型训练完成;
70.第五步,将测试集输入至训练好的分割网络中,输出群猪图像分割结果。
71.本发明中使用的硬件配置为:intel(r)core(tm)i5-1135g7 2.4ghz cpu;16g ram;mx450 gpu;软件配置为:基于anaconda3环境;python版本为3.8.0;开发工具为jupyter notebook;pytorch版本为1.7.1;torchversion版本为0.8.2;并且使用了geforce experience gpu加速,cuda110,cudnn8.0。
72.本实例输出群猪图像分割结果如附图3-5所示,以6只生猪为例。其中图3表示测试集中的其中一张,即原始图像;图4表示标记好的数据集并对每只生猪个体进行命名,该图中代表6只不同的生猪;经改进的分割网络之后,图5为输出的群猪分割结果,从图中可以看出,本发明中所提出的方法能够较好的分割不同的形态粘连的群猪,对每只生猪个体赋予不同的掩模,最终实现群猪的实例分割。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1