一种基于Mask-Rcnn识别鱼类生长检测方法

文档序号:191454 发布日期:2021-11-02 浏览:23次 >En<

阅读说明:本技术 一种基于Mask-Rcnn识别鱼类生长检测方法 (Fish growth detection method based on Mask-Rcnn recognition ) 是由 牛广宇 朱星臣 钱思文 张继 张振伟 徐淑玲 于 2021-07-28 设计创作,主要内容包括:本发明涉及深度神经网络技术领域,涉及一种基于Mask-Rcnn识别鱼类生长检测方法,包括以下步骤:S1、通过鱼缸上设置摄像头采集鱼视频流数据;S2、对采集到的视频流进行分帧处理;S3、用标注软件1abelme在图像上标注鱼的标签;S4、利用Mask-Rcnn深度神经算法的迁移学习思想,用COC0公开数据集的权重,对Mask-Rcnn初始化,使用训练集进行训练;S5、使用测试集验证Mask-Rcnn模型的检测效果。本发明通过Mask-Rcnn深度神经算法,准确识别鱼类长度,计算出鱼类重量,从而准确计算出投喂饵料量。(The invention relates to the technical field of deep neural networks, and relates to a fish growth detection method based on Mask-Rcnn identification, which comprises the following steps: s1, collecting fish video stream data by arranging a camera on the fish tank; s2, framing the collected video stream; s3, labeling the fish label on the image by using labeling software 1 abelme; s4, initializing the Mask-Rcnn by using the migration learning idea of the Mask-Rcnn deep neural algorithm and the weight of a data set disclosed by COC0, and training by using a training set; s5, verifying the detection effect of the Mask-Rcnn model by using the test set. According to the invention, the length of the fish is accurately identified through a Mask-Rcnn deep neural algorithm, and the weight of the fish is calculated, so that the bait feeding amount is accurately calculated.)

一种基于Mask-Rcnn识别鱼类生长检测方法

技术领域

本发明涉及深度神经网络技术领域,尤其涉及一种基于Mask-Rcnn识别鱼类生长检测方法。

背景技术

在水产养殖业,饲料成本永远是所有投入中最大的项目,优化投喂方案将大大降低成本。附加地,饲料利润率的提升,也可以减少残饵降解产生的毒素,减轻环境和养殖水体的压力,所以现代化的养殖工艺中一个优秀的投喂方案是重中之重。

现有技术方案是使用人工投喂养殖,只能靠饲养人员的个人经验和观察料台来投喂饲料。而往往在水产养殖中,养殖生物处在不断的生长过程中,所以需要实时的调整投喂方案,于是需要开发可以识别鱼虾的生长特性,从而实现自动投喂的系统。

已公开的发明专利(“一种无损鱼骨的鱼骨表型信息自动检测系统及方法”,202010585963.8)提供一种无损鱼骨的鱼骨表型信息自动检测系统及方法,涉及图像处理提取轮廓技术及深度学习实例分割识别目标轮廓技术领域。该系统包括数据采集装置、信号传输系统、终端计算机及终端显示器;该方法通过数据采集装置采集待检测鱼的鱼侧身图像和鱼正面的X光图像,并通过信号传输系统传输到终端计算机;终端计算机根据接收的鱼侧身图像通过图像处理技术提取鱼侧身轮廓并计算鱼的厚度信息,然后控制数据采集装置采集鱼正面的X光图像,并根据接收的鱼正面的X光图像通过实例分割技术识别鱼的各个轮廓,计算得到鱼骨表型信息,并将检测结果通过终端显示模块进行显示,该系统及方法能够在不损伤鱼体本身的情况下检测鱼厚、鱼长及鱼骨表型信息,但在实际养殖中运用该X光技术是较为困难的,经济成本巨大,可行性较低。

另外,现有鱼类养殖中还存在以下问题:

1、饲料浪费:根据饲养人员的经验通过观察料台投喂饲料,导致近30%的饲料被浪费的,残饵降解还会产生的毒素,对鱼类生长和养殖水体都有影响。

2、投喂方案不能灵活调整:鱼类处在不断的生长过程中,传统的人工养殖方式投喂饲料是固定的,无法进行个性化定制投喂方案。

发明内容

本发明解决的技术问题:通过Mask-Rcnn深度神经算法,准确识别鱼类长度,计算出鱼类重量,从而准确计算出投喂饵料量。

本发明所采用的技术方案:一种基于Mask-Rcnn识别鱼类生长检测方法,包括以下步骤:

S1、通过鱼缸上设置摄像头采集鱼视频流数据;

S2、对采集到的视频流进行分帧处理,每隔固定间隔采样,得到鱼类图像;

S3、用标注软件1abelme在图像上标注鱼的标签,鱼的标签为标注鱼的轮廓,获得包括原始图像和对应标签的json文件,将数据集随机分为训练集、验证集和测试集,比例为7:1:2;

S4、利用Mask-Rcnn深度神经算法的迁移学习思想,用COC0公开数据集的权重,对Mask-Rcnn初始化,使用训练集进行训练,训练过程中,每个训练轮次使用验证集进行验证,如果训练轮次和损失率的验证曲线收敛(即曲线斜率变化小于5度),进入步骤S5;否则返回步骤S3,增加训练样本(如果训练样本偏少,无法达到收敛条件),并重新做标签,重复训练,直至验证曲线收敛,从而建立Mask-Rcnn模型;

Mask-Rcnn的损失函数L=Lcls+Lbox+Lmask;

其中,Lcls、Lbox、Lmask分别表示分类、回归、语义预测的损失函数,L的值为损失值;

S41、通过Mask-Rcnn深度神经算法构建检测鱼类平均长度的Mask-Rcnn神经网络模型,Mask-Rcnn神经网络模型包括实例分割模块、去异类模块、骨架化模块、去重叠模块和长度计算模块;

S42、其中,实例分割模块是基于Mask-Rcnn模型构建的用于识别鱼的语义掩码;

去异类模块是将语义掩码中的预测置信度低与80%阈值的语义掩码剔除;由于鱼群的生存坏境中存在障碍物,可能会发生将障碍物误识别成鱼群的现象,所以我们剔除置信度小于80%的预测结果;

骨架化模块是根据语义掩码的预测结果,将预测出的鱼的轮廓提取出来,并运用Zhang-Suen骨架算法提取骨架,Zhang-Suen骨架算法每一次的迭代是对符合特定条件的目标像素进行腐蚀,使目标变得越来越细;不断的迭代,直到在上一次腐蚀后的目标在本轮操作中没有新的像素点被腐蚀,迭代结束;

(a)2≤B(P1)≤6

中心像素P1周围的目标像素(二值中的1)的个数之和在2和6之间;

(b)A(P1)=1

8邻域像素中,按顺时针方向,相邻两个像素出现0->1的次数;

(c)P2×P4×P6=0

(d)P4×P6×P8=0

S43、去重叠模块是根据语义掩码和骨架化的预测结果,判断是否有两条及以上的鱼类发生重叠,如果是,则保留较长的鱼的长度,舍去短的;

S44、长度计算模块用于根据骨架图,计算骨架图所占据的像素数,该像素数即为鱼的长度。

S5、使用测试集验证Mask-Rcnn模型的检测效果,为了赋予模型多角度的普适性,降低模型的损失值,在模型的数据集中包含了同一视角,不同位置拍摄的水面照片。

进一步的,Mask-Rcnn模型采用ResNet-50网络和特征金字塔网络作为特征提取器,用于从原始图片中提取图像的低级特征和高级特征,通过这个过程,它允许每一级的特征都可以和高级、低级特征互相结合;这些特征输入区域建议网络,生成建议区域之后,将建议区域对齐池化,识别出语义掩码;区域建议网络中使用了锚点,可以将不同尺寸的输入调整成为相同尺寸的输出,使得任意大小的特征图都能够转换成固定大小的特征向量。

进一步的,根据Logistic模型计算鱼的体重,鱼的长度-体重关系方程为:

M=b×L×a

其中,a为无量纲量,则参数b的量纲为M/(L×a);

循环水养殖条件下,鱼体长L生长呈线性生长,体长生长方程为:L=0.0961×t+9.1442,体长和日龄(t)之间呈线性关系;体质量(m)生长呈指数生长,体质量生长方程为:M=0.0651t1.6147;体质量和日龄之间呈指数关系,体重与长度的关系方程为:M=0.0132×L×3.0455;

根据鱼的体重可以计算出需投喂饲料的量,饲料投喂克数=M×30%。

本发明的有益效果是:

1、利用图像识别和Mask-Rcnn算法准确计算鱼的长度,并根据长度计算出重量,从而准确计算出饲料投喂量。

附图说明

图1是本发明基于Mask-Rcnn识别鱼类生长检测方法流程图;

图2是本发明鱼群分帧采样图;

图3是本发明鱼群轮廓标签图;

图4是本发明Mask-Rcnn网络训练轮次和loss值关系图;

图5是本发明图像分割之后的效果图;

图6是本发明图像骨架化后的效果图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明,此图为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

一种基于Mask-Rcnn识别鱼类生长检测方法,如图1所示,S1、通过鱼缸上设置摄像头采集鱼视频流数据;

S2、对采集到的视频流进行分帧处理,每隔固定间隔采样,得到鱼类图像;

如图2所示为间隔5分钟采集到的四张鱼类图像;

S3、用标注软件1abelme在图像上标注鱼的标签,获得包括原始图像和对应标签的json文件,将数据集随机分为训练集、验证集和测试集,比例为7:1:2;

如图3为软件1abelme在图像上标注鱼的标签效果图;

S4、利用Mask-Rcnn深度神经算法的迁移学习思想,用COC0公开数据集的权重,对Mask-Rcnn初始化,使用训练集进行训练,训练过程中,每个训练轮次使用验证集进行验证,如果验证曲线收敛,进入步骤S5;否则返回步骤S3,扩大原始数据库,并重新做标签,重复训练,从而建立Mask-Rcnn模型;

如图4所述为采集300张鱼的图像,经过30轮训练后损失率小于预设5%;

S5、使用测试集验证Mask-Rcnn模型的检测效果。

进一步的,所述步骤S4的Mask-Rcnn深度神经算法包括:通过Mask-Rcnn深度神经算法构建检测鱼类平均长度的Mask-Rcnn神经网络模型,Mask-Rcnn神经网络模型包括实例分割模块、去异类模块、骨架化模块、去重叠模块和长度计算模块;

S41、通过Mask-Rcnn深度神经算法构建检测鱼类平均长度的Mask-Rcnn神经网络模型,Mask-Rcnn神经网络模型包括实例分割模块、去异类模块、骨架化模块、去重叠模块和长度计算模块;

S42、其中,实例分割模块是基于Mask-Rcnn模型构建的用于识别鱼的语义掩码;

如图5为对鱼进行识别分割后,在鱼所在位置绘制最小外接矩形框,坐标为矩形框的中心,框上数字为鱼类识别置信度。

S43、去重叠模块是根据语义掩码和骨架化的预测结果,判断是否有两条及以上的鱼类发生重叠,如果是,则保留较长的鱼的长度,舍去短的;

S44、长度计算模块用于根据骨架图,计算骨架图所占据的像素数,该像素数即为鱼的长度。

如图6所示为运用Zhang-Suen骨架算法提取骨架,经过30次迭代,对符合特定条件的目标像素进行腐蚀,使目标变得越来越细,最终鱼的形状为细长线条,图中十四条鱼细长线的像素长度分别为:55.44、69.52、39.6、61.6、44、57.2、69.52、45.76、51.05、46.64、36.08、54.56、54.56和40.48。

本发明的有益效果:利用图像识别和Mask-Rcnn算法准确计算鱼的长度,并根据长度计算出重量,从而准确计算出饲料投喂量。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于Mask-Rcnn识别鱼类状态的检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!