一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Resnet和随机森林融合的鱼类分类方法与流程

2022-03-22 23:13:02 来源:中国专利 TAG:

一种基于resnet和随机森林融合的鱼类分类方法
技术领域
1.本发明属于图像处理技术领域,具体涉及一种基于resnet和随机森林融合的鱼类分类方法。


背景技术:

2.在渔业和海洋鱼类研究中,鱼类分类对鱼类食品加工和鱼类资源保护有重要的作用。海洋鱼类种类繁多,且颜色相近,外形相似,这都加重了鱼类分类的难度。传统的鱼类分类方法大多为手动提取鱼类特征信息,根据鱼类的轮廓、颜色、纹理等表层信息进行特征提取,这样的方式具有很大的盲目性且无法对鱼类图像的深层信息进行提取。
3.近年来,也有利用神经网络模型自动提取特征信息进行分类,大部分使用国外公开的数据集,一些数据集采集年限较久且数据集图像清晰度不高,并且组成数据集的大多数鱼类都在国外海域采集,不太符合我国周边海域鱼类种类的实际分布情况。
4.因此,提出一种基于resnet和随机森林相结合的海洋鱼类分类方法,并使用从海域采集的自建数据集,使用神经网络多个卷积层的前几层提取鱼类图像的表层信息,再使用后几层提取图像的深层信息,最后将提取的特征用随机森林进行分类。


技术实现要素:

5.本发明的目的是为了解决现有的对鱼类图像进行提取、处理所存在的手工提取特征困难、噪声环境下分类准确低的技术问题。
6.一种基于resnet和随机森林融合的鱼类分类方法,它包括以下步骤:
7.1.进行数据集的采集、选择,采集若干类海洋鱼类作为初始数据集;
8.2.进行数据集预处理;
9.3.进行数据集的增强;
10.4.进行特征提取网络的构造和图像特征提取,提取出若干类鱼的特征信息;
11.5.进行随机森林的构造,将若干类鱼的特征信息放入随机森林分类器中进行训练;
12.6.构造特征提取网络和随机森林鱼类分类模型;
13.采用所构造的鱼类分类模型进行鱼类的分类。
14.在步骤1中,收集拍摄海洋鱼类图片,做好鱼类种类标签和数量的对应整理。
15.在步骤2中,包括以下步骤:
16.1)使用预训练的多类别目标检测网络模型、使用网上公开的鱼类数据集进行鱼类目标检测训练;
17.2)进行鱼类图片的目标定位,保留少量的背景信息,裁剪出只有鱼类目标的矩形区域。
18.在步骤3中,包括以下步骤:
19.1)进行图像翻转:对鱼类图像进行水平翻转或者是垂直翻转;
20.2)进行图像旋转:将鱼类图像旋转一定角度;
21.3)进行图像平移:将鱼类图像沿水平方向平移或者竖直方向平移;
22.4)进行对比度变换:改变鱼类图像的s和v亮度分量;
23.5)噪声扰动:对鱼类图像进行椒盐噪声或者高斯噪声;
24.通过以上步骤,扩展每类鱼的图像的数量,并随机打散划分成若干张鱼类训练集和若干张鱼类验证集。
25.在步骤4中,包括以下步骤:
26.1)将步骤3获得的鱼类图片输入resnet网络中,输入图像为多通道,大小为h
×
w,经过一个卷积核为f,卷积核个数为k,步长为s,在使用cnn处理图像信息时,输入图像中的大部分边缘像素只被卷积核操作一次,而图像中间的像素会被多次扫描;这在一定程度上降低了边界信息的参考程度;另一方面,在使用零填充后,新边界对实际处理的某个部分有影响;在某种程度上,这个问题是可以解决的;同时,可以对不同尺寸的输入图像进行补齐,使其大小一致;设输入尺寸为(h,w),后置尺寸为(fh,fw),输出尺寸为(oph,opw),填充长度为p,步幅为s,则输出尺寸公式如下零填充大小为p的卷积操作,输出的大小为h1
×
w1
×
k计算公式如式(1)、式(2)所示:
[0027][0028][0029]
2)将步骤1)得出的结果经过batch normalization层,能够加速网络收敛和控制过拟合,在bn层中,均值:μ,方差:δ,偏移:β,可学习参数:γ,一个较小数(防止分母为0):∈,输入为x,输出为y,计算公式如式(3)、式(4)所示:
[0030][0031]
y=γx1 β
ꢀꢀꢀ
(4)
[0032]
3)再经过修正线性单元relu激活函数,偏置为:b,权重为:w,转置矩阵为t,输入为x,输出为y,计算公式如式(5)所示:
[0033]
y=max(0,w
t
×
x b)
ꢀꢀꢀ
(5)
[0034]
4)再经过最大池化层maxpool,得出第一阶段的特征图;
[0035]
5)将步骤4)的输出特征图输入到第二阶段,第二阶段由3个bottleneck组成,第1个bottleneck将图像通道增加4倍,第2个和第3个bottleneck保持通道和图像大小不变,得到特征图;
[0036]
6)将步骤5)的输出特征图输入到第三阶段,第三阶段由4个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2个、第3个和第4个bottleneck保持通道和图像大小不变,得到特征图;
[0037]
7)将步骤6)的输出特征图输入到第四阶段,第四阶段由6个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2、3、4、5、6个bottleneck保持通道和图像大小不变,得到特征图;
[0038]
8)将步骤7)的输出特征图输入到第五阶段,第五阶段由3个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2个和第3个bottleneck保持通道和图
像大小不变,得到特征图;
[0039]
9)将步骤8)得到的特征图经过输出大小为1
×
1的平均池化层,减小计算的参数量,防止过拟合,再经过展平操作,得出维度为d的图像特征向量;
[0040]
10)resnet网络选用nllloss损失函数,在nllloss损失函数中,输入为x,目标为y,权重为w,批次大小为n(从n=1开始),输出为l(x,y),默认还原为“mean”,它的计算公式如式(6)所示:
[0041][0042]
11)网络权重的更新,预测结果和实际结果的计算损失进行网络节点的更新;
[0043]
12)获取训练集的特征集,将数据集经过上述步骤1)至11)更新之后的特征提取网络,得出大小为n,长度为d的图像特征集。
[0044]
在步骤5中,具体包括以下步骤:
[0045]
1)进行特征样本集的选择,使用步骤4中获取的图像特征集,每轮从图像特征集中通过bootstraping(有放回抽样)的方式抽取n个样例,得到一个大小为n的样本子集,用来训练一个决策树,共进行x轮的抽取,一共生成x个决策树;
[0046]
2)进行决策树的生成,图像特征集中每张图像的特征向量为d维,在每一轮生成决策树的过程中,从d个特征中随机选择其中的若干个特征组成一个新的特征子集,通过使用新的特征子集来生成决策树,在生成决策树的过程中,由于这x个决策树在训练集的选择和特征的选择上都是随机的,因此各个决策树之间是相互独立的,在决策树节点的特征选择使用“gini”量化评估标准,表示在样本集合中一个随机选中的样本被分错的概率,“gini”指数越小表示集和被选中的样本被分错的概率越小,即集合的纯度越高,分类类别数为k(从k=1开始),样本属于第k类的概率为pk,概率分布按照式(7)计算:
[0047][0048]
3)进行决策树的组合,由于生成的x个决策树之间是相互独立的,每个决策树的重要性是相等的,因而在将它们进行组合时,无需考虑他们的权值,或者可以认为他们具有相同的权值,对于分类问题,最终的分类结果使用所有的决策树投票来确定最终分类结果。
[0049]
在步骤6中,将步骤4构造的resnet特征提取器和步骤5构造的随机森林分类器进行整合,构造出resnet 随机森林的鱼类分类模型。
[0050]
与现有技术相比,本发明具有如下技术效果:
[0051]
本发明使用yolov3目标检测网络对鱼类图像进行定位,裁剪掉图像多余背景信息,能够减小对后续鱼类分类精确度的影响;基于残差单元的resnet50卷积神经网络能够自动提取出鱼类图形的深层特征;基于决策树的随机森林分类器能够有效避免噪声的干扰,对提取的鱼类特征进行精确分类。使用resnet50和随机森林融合的模型,能够在特征信息充分提取的前提下,保证鱼类分类的准确率。
附图说明
[0052]
下面结合附图和实施例对本发明作进一步说明:
[0053]
图1是本发明的流程图;
[0054]
图2为实施例中resnet50残差单元的结构示意图;
[0055]
图3为实施例中resnet50特征提取器的结构示意图;
[0056]
图4为实施例中随机森林分类器的结构示意图;
具体实施方式
[0057]
实施例:一种基于resnet和随机森林融合的鱼类分类方法,在具体实施例中以resnet50为例,具体的实施方法流程图如图1所示,包括以下步骤:
[0058]
1.采集40类海洋鱼类作为初始数据集。
[0059]
2.鱼类数据集预处理。
[0060]
2.1使用鱼类数据集对预训练的yolov3目标检测网络进行鱼类目标检测训练。
[0061]
2.2使用经过训练的yolov3网络对初始数据集进行鱼类检测定位,并裁剪出包含鱼类目标区域的图像数据集。
[0062]
3.数据集增强。
[0063]
3.1使用多种数据增强方法对yolov3处理后的鱼类数据集进行增强。
[0064]
3.2对增强后的数据集随机划分训练集8000张和验证集2000张。
[0065]
4.构造resnet50特征提取网络。特征提取网络的结构如图3所示。提取出40类鱼的特征信息。
[0066]
5.构造随机森林分类器。分类器的结构如图4所示。将40类鱼的特征信息放入随机森林分类器中进行训练。
[0067]
6.得出resnet50和随机森林融合的鱼类分类模型。
[0068]
其中,步骤1具体包括:
[0069]
1.1人工手动收集拍摄海洋鱼类图片,每一张图片里只包含一条鱼;
[0070]
1.2初始采集40种海洋鱼类,并做好鱼类种类标签和数量的对应整理;
[0071]
步骤2具体包括:
[0072]
2.1使用预训练的多类别目标检测网络yolov3模型,再使用网上公开的大型鱼类数据集进行鱼类目标检测训练。
[0073]
2.2将步骤1获取的鱼类数据集经过yolov3网络进行鱼类图片的目标定位,保留少量的背景信息,裁剪出只有鱼类目标的矩形区域。
[0074]
步骤3具体包括:
[0075]
3.1图像翻转:对鱼类图像进行水平翻转或者是垂直翻转。
[0076]
3.2图像旋转:将鱼类图像旋转90度、-90度或180度。
[0077]
3.3图像平移:将鱼类图像沿水平方向平移或者竖直方向平移。
[0078]
3.4对比度变换:改变鱼类图像的s和v亮度分量。
[0079]
3.5噪声扰动:对鱼类图像进行椒盐噪声或者高斯噪声。
[0080]
3.6经过上述的五个步骤,每类鱼的数量扩展为250张,四十类鱼图像共10000张,随机打散划分成8000张鱼类训练集和2000张鱼类验证集。
[0081]
步骤4具体包括:
[0082]
4.1将步骤3获得的鱼类图片输入resnet50网络中,残差单元结构如图2所示,resnet50网络结构如图3所示,输入图像为3通道,大小为224
×
224,经过一个卷积核为f=7
×
7,卷积核个数为k=64,步长为s=2,在使用cnn处理图像信息时,输入图像中的大部分边缘像素只被卷积核操作一次,而图像中间的像素会被多次扫描。这在一定程度上降低了边界信息的参考程度。另一方面,在使用零填充后,新边界对实际处理的某个部分有影响。在某种程度上,这个问题是可以解决的。同时,可以对不同尺寸的输入图像进行补齐,使其大小一致。设输入尺寸为(h,w),后置尺寸为(fh,fw),输出尺寸为(oph,opw),填充长度为p,步幅为s,则输出尺寸公式如下零填充大小为p的卷积操作,输出的大小为h1
×
w1
×
k计算公式如式(1)、式(2)所示。
[0083][0084][0085]
4.2将步骤4.1得出的结果经过batch normalization层,能够加速网络收敛和控制过拟合,在bn层中,均值:μ,方差:δ,偏移:β,可学习参数:γ,一个较小数(防止分母为0):∈,输入为x,输出为y,计算公式如式(3)、式(4)所示。
[0086][0087]
y=γx1 β
ꢀꢀꢀ
(4)
[0088]
4.3再经过修正线性单元relu激活函数,偏置为:b,权重为:w,转置矩阵为t,输入为x,输出为y,计算公式如式(5)所示。
[0089]
y=max(0,w
t
×
x b)
ꢀꢀꢀ
(5)
[0090]
4.4再经过最大池化层maxpool,得出第一阶段的特征图大小为64
×
56
×
56。
[0091]
4.5将步骤4.4的输出特征图输入到第二阶段,第二阶段由3个bottleneck组成,第1个bottleneck将图像通道增加4倍,第2个和第3个bottleneck保持通道和图像大小不变,得到256
×
56
×
56的特征图。
[0092]
4.6将步骤4.5的输出特征图输入到第三阶段,第三阶段由4个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2个、第3个和第4个bottleneck保持通道和图像大小不变,得到512
×
28
×
28的特征图。
[0093]
4.7将步骤4.6的输出特征图输入到第四阶段,第四阶段由6个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2、3、4、5、6个bottleneck保持通道和图像大小不变,得到1024
×
14
×
14的特征图。
[0094]
4.8将步骤4.7的输出特征图输入到第五阶段,第五阶段由3个bottleneck组成,第1个bottleneck将图像通道增加2倍,图像尺寸减半,第2个和第3个bottleneck保持通道和图像大小不变,得到2048
×7×
7的特征图。
[0095]
4.9将步骤4.8得到的特征图经过输出大小为1
×
1的平均池化层,减小计算的参数量,防止过拟合。再经过展平操作,得出维度为2048的图像特征向量。
[0096]
4.10resnet50网络选用nllloss损失函数。在nllloss损失函数中,输入为x,目标为y,权重为w,批次大小为n(从n=1开始),输出为l(x,y),默认还原为“mean”,它的计算公式如式(6)所示。
[0097][0098]
4.11网络权重的更新。预测结果和实际结果的计算损失进行网络节点的更新。
[0099]
4.12获取训练集的特征集。将数据集经过上述步骤4.1至4.11更新之后的特征提取网络,得出大小为10000,长度为2048的图像特征集。
[0100]
步骤5具体包括:
[0101]
5.1特征样本集的选择。步骤4.12获取的图像特征集总共有10000个样例,每轮从图像特征集中通过bootstraping(有放回抽样)的方式抽取10000个样例,得到一个大小为10000的样本子集,用来训练一个决策树。共进行90轮的抽取,一共生成90个决策树。
[0102]
5.2决策树的生成。图像特征集中每张图像的特征向量为2048维,在每一轮生成决策树的过程中,从2048个特征中随机选择其中的50个特征组成一个新的特征子集,通过使用新的特征子集来生成决策树。在生成决策树的过程中,由于这90个决策树在训练集的选择和特征的选择上都是随机的,因此各个决策树之间是相互独立的。在决策树节点的特征选择使用“gini”量化评估标准,表示在样本集合中一个随机选中的样本被分错的概率,“gini”指数越小表示集合被选中的样本被分错的概率越小,即集合的纯度越高,分类类别数为k(从k=1开始),样本属于第k类的概率为pk,概率分布按照式(7)计算。
[0103][0104]
5.3决策树的组合。由于生成的90个决策树之间是相互独立的,每个决策树的重要性是相等的,因而在将它们进行组合时,无需考虑他们的权值,或者可以认为他们具有相同的权值。对于分类问题,最终的分类结果使用所有的决策树投票来确定最终分类结果。
[0105]
步骤6具体包括:
[0106]
6.1将步骤4构造的resnet50特征提取器和步骤5构造的随机森林分类器进行整合,构造出resnet50 随机森林的鱼类分类模型。
[0107]
本发明提出一种基于resnet和随机森林相结合的海洋鱼类分类方法,并使用从海域采集的自建数据集,使用神经网络多个卷积层的前几层提取鱼类图像的表层信息,再使用后几层提取图像的深层信息,最后将提取的特征用随机森林进行分类;能够在特征信息充分提取的前提下,保证鱼类分类的准确率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献