1、人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)基于Se-ResNet101+KNN的鱼类分类研究张守棋,苏海涛(青岛科技大学 信息科学与技术学院,山东 青岛 266061)摘要:在海洋科学研究中,对鱼类物种的鉴定在水生生态系统和质量评估中具有重大意义。传统的机器学习方法使用人工事先提取、标注鱼类特征,耗时、耗力且主观性太强。为了提升模型信息特征的敏感性和结果的准确率,本文提出了一种基于Se-ResNet101网络和KNN算法组合的鱼类识别方法。首先,提取并分析数据
2、集,了解其结构和组成部分,并对图像进行预处理,如图像缩放、图像增强等。其次,Se模块中包含一个全局平均池化操作(squeeze),两个全连接层(excitation)和一个Relu,以此特征提升敏感性。将特征信息导入Se-ResNet101网络进行池化、卷积等操作。最后,将全连接层的特征信息通过KNN算法进行预分类。最终得到准确率为98.83%,和ResNet系列网络对比,Se-ResNet101网络得到的准确率最高。关键词:Se-ResNet101;KNN;图像分类中图分类号:TP391 文献标识码:A文章编号:1009-3044(2023)18-0033-05开放科学(资源服务)标识码(O
3、SID):0 引言随着现代海洋渔业不断发展,许多识别技术和机制也在不断更新迭代。其中海洋鱼类分类就是一重要领域,传统分类一般以鱼的体态特征为依据,如形状、颜色等,虽然准确率相对较高,但同时缺点也很明显,如耗时长、强度大,得到的结果极易受主观因素影响等。与此同时,机器学习技术在多个领域逐渐应用,相关研究人员开始将机器学习应用于海洋鱼类的自动识别并分类。如王文成等人1通过提取不同种类比目鱼图像的形状和颜色等特征,构建分类器实现比目鱼的自动分类,分类精度达到92.8%。Hu等人2通过人工对鱼体图像进行锚点定位,并利用 BP神经网络进行鱼体形态特征的提取,得到了84%的准确率。但是,它的弊端也是显而易
4、见的。首先,机器学习对数据的依赖性非常强,若训练的数据质量不高,就可能导致学到的模型不全面,从而造成错误的分类或被欺骗现象。其次,机器学习取决于学习模型的类型,而模型的选取直接影响到机器学习系统的性能。最后,机器学习不能执行特定多种任务,其并行度相对较低。相比之下深度学习在分类问题上也有很好的表现,其能够实现自动抽取图像的特征,并直接提供预测结果,从而简化运算过程,增强了泛化能力,因而逐渐在各个领域得到应用。同时,对鱼类识别的研究也逐渐深入,如:提出了一种基于稀疏低序矩阵分解的方法,并采用深度结构与线性SVN相结合的方法等对鱼类进行分类;利用形态学运算、金字塔平移等3方法去除了背景噪声,然后利
5、用卷积神经网络进行分类。虽然机器学习和深度学习方法在分类中进行了一些进展,但针对海洋鱼类图像信息特征的敏感性和结果的准确率仍然有待进一步提高。鉴于上述问题,本文提出了一种基于KNN和Se-ResNet101网络组合的自动鱼类识别方法,首先,执行鱼数据集的可视化分析和图像预处理;其次,Se-ResNet101模型被构造为广义特征提取器,并且迁移到目标数据集;最后,在Fully connected layer层的特征信息,对特征信息首先通过KNN分类,得到一个由KNN处理后的结果,在对得到的结果进行卷积上实现鱼类鉴定。本文的主要贡献可以概括如下:1)所提出的KNN和Se-ResNet101相结合,
6、可以提升小规模细粒度图像分类的效果。2)基于KNN和Se-ResNet101网络的自动鱼类分类方法在NOAA Fisheries公共数据集上进行了提出和测试,其准确率优于常用方法。1 材料和方法1.1 数据集本实验的数据集由美国国家海洋渔业局(NOAA Fisheries)提供,该数据集由三个部分组成:训练、验证和测试图像集,其中训练集和测试集附带的注释数据定义了图像中每个标记的鱼目标对象的位置和范围,并使用.dat文件格式存储数据。收稿日期:2023-03-25作者简介:张守棋(1996),男,重庆人,硕士,主要研究方向为深度学习,计算机视觉;苏海涛(1996),男,山东临沂人,硕士,主要研
7、究方向为深度学习,计算机视觉。E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.19,No.18,June 202333DOI:10.14004/ki.ckt.2023.0863本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)训练和验证图像集:训练集包含 929 个图像文件,总共包括 4 172张图像。其中包含 1
8、005条带有相关注释的标记鱼(它们的标记位置和边界矩形),这些标记定义了各种种类、大小和范围的鱼,并包括不同背景组成的部分。147 张海底负片图像是从野生训练和测试图像集中的标记鱼类中提取的(提取了不包含鱼类的区域)。其余3 020张图像可从 OpenCV HaarTraining中获得。测试图像集:包含在近海底鱼类调查期间使用ROV的高清(HD;1080i)摄像机收集的图像序列。用于检测的测试图像包括来自ROV调查的视频片段。共标记了2 061个鱼对象,样本如图1所示。图1 NOAA Fisheries图像示例1.2 数据分析和预处理为了增强分类性能并节省训练成本,有必要预处理实验数据。本研
9、究中图像数据的预处理主要包括图像缩放和图像增强。1.2.1 图像缩放在实际数据集生产过程中,所获取的图像数据都是用高清相机在水下拍摄而成,由于设备、环境等因素的影响会导致分辨率偏低,直接使用未经处理的图片会增加训练时长、消耗存储等问题。因此,在本研究中,在模型训练之前将数据集中的原始图像进行图像缩放操作,通过双线性插值重新计算缩放的图像数据,并将每个图像的分辨率调整为256256像素。1.2.2 图像增强图像增强是指有限的数据产生相当于更多数据的值,而不会放大数据集大小。考虑到不同网络结构的输入尺寸是不同的,为了适应不同网络结构的输入并提升模型的泛化能力及其鲁棒性,对原始数据执行以下数据增强操
10、作4:使用随机图像差异裁剪图像以将其分辨率重置为224,将图像矩阵标准化为0-1的范围,并适度改变图像的饱和度、对比度和亮度。2 技术分析2.1 KNN原理及概述KNN的分类原理是比较不同特征值的间距来实现的。其基本思路是:一个样本在特征空间中的K个最相似(特征空间中最邻近)的样本中的大多数属于某一个类别,则该待测样本也属于这个类别,其中K通常是不大于20的整数。在KNN算法中,样本选取的邻域都是正确分类后的对象。这种方法仅根据最接近的一个或多个样品的类型来确定待分类的分类。在KNN中,各个对象之间的非相似性指标是通过计算待测样本和已分类K个样本间距离来实现5,这种方式可以有效避免对象之间匹配
11、不均的问题,其中距离通常使用曼哈顿距离或欧氏距离,如公式(1)、(2)所示:欧式距离公式:d(x,y)=k=1n(xk-yk)2(1)曼哈顿距离公式:d(x,y)=k=1n|xk-yk(2)其中,它们对向量之间差异的计算过程中,各个维度差异的权值不同,如:向量A(1,2),向量B(5,10),则它们的:欧氏距离:L_o=8.9;曼哈顿距离:L_m=12;由此可见,向量各个属性之间的差距越大,则曼哈顿距离越接近欧氏距离,且曼哈顿距离得到的样本可扩展性更强。本实验中样本数据量相对较大,则数据属性差异较大,所以本实验选择曼哈顿距离。2.2 Se-ResNet网络结构2.2.1 Se-ResNet简介
12、深 度 残 差 网 络(Deep Residual Networks)是 目前 CNN 特征提取网络中广泛使用的特征抽取方法。它主要作用是在保证高精度的同时降低数据的冗余,并使其具有更深的网络模型结构。相较于其他网络存在随着深度增加可能带来退化问题、梯度弥散或梯度爆炸6等问题,残差网络是一种相对易于优化的方法。它可以利用不同深度的网络结构得到不同层次的多样特征,随着层次的增长,它的抽象层次和语义信息会越来越丰富,图像识别的精度也会越来越高。但同时如果网络层太深,则会占用更多内存,需要更多的时间。在 本 研 究 中 选 择 了 ResNet-18、ResNet-34、ResNet-50、ResN
13、et-101等不同深度的 ResNet作为试验对象,其中ResNet系列网络中“-”后面的数字代表了层数,同时附加AlexNet、GoogleNet、ShuffleNet模型作为参照。在选择表现最佳的模型时,通常以模型的收敛速度、大小、效率、识别的均衡性作为衡量标准。实验中使用一个与众不同的网络设计,考虑通道之 间 的 关 系,提 出 新 的 结 构 单 元 Squeeze-and-Extraction(Se)模块,通过显式建模通道之间的关系来提升神经网络表示的质量,Se 模块的示意图如图1所示。输入一个任意变换的Ftr,如卷积,将输入X映射到特征图 U,U 的大小为 HWC,然后 U 经过一
14、个squeeze操作,通过聚合特征图的空间维度(HW),得到通道特征响应的全局分布 embedding。之后通过34人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)excitation操作(简单的Self-gating机制),以上述embedding作为输入,输出每个通道的modulation权重,该权重被作用在特征图U上,得到Se模块的输出,可以直接送到网络的后续层中。可以直接堆叠一系列Se模块得到SeNet,或者替换原有网络结构的模块。同时,尽管构建Se模块的方
15、法是通用的,但是在不同深度使用Se模块的结果是不同的,如在底层使用,更多地融入与类别无关的low-level表示,而在高层使用,更多信息与类别高度相关。目前,新的 CNN系统的设计是一个复杂的工程问题,其中包括了超参量的选取以及网络的组态。可以通过替代已存在的 SOTA网络架构,Se模块可直接使用,同时其计算轻量,轻微增加模型复杂度和计算负担。2.2.2 Se实现方式一般卷积运算对所有信道进行累加运算,并将信道相关隐含地编码在卷积核内,但与卷积核捕获的空间关联紧密相关。本文旨在明确地建立信道间的相互关系,加强卷积特性的学习,从而使网络能够更好地识别信息的特性,并被后续转换所利用。squeeze
16、:全局信息embedding该步骤由全局平均池化实现(这里可以使用更复杂的策略),如公式(3)所示:全局平均池化公式:Zc=Fsq(Uc)=1H Wi=1Hj=1WUc(i,j)(3)Excitation:Adaptive Recalibration该操作用于捕捉通道之间的相关性,需要具有灵活性(希望学习通道之间的非线性关系),需要学习anon-mutually-exclusive relationship(希望强调多个通道,而不是得到one-hot activation),如公式(4)所示:多通道相关性公式:S=Fex(z,W)=(g(z,W)=(W2(W1z)W1 RCr CW2 RC Cr (4)其中,指的是ReLU,W1和W2是两个全连接层,最终以如下形式获得输出(s为excitation得到scale因子,u为HW的特征图):Se模块输出:Xc=Fscale(Uc,Sc)=ScUc (5)2.2.3 Se模块实例化Se模块能够融入像VGG的标准结构,在每个卷积的非线性后使用。Se模块能够在各种结构中灵活使用,比如Inception和ResNet。在 Inception中,研究