1.本发明属于图像识别技术领域,涉及鱼类图像识别技术,具体地说,涉及一种鱼类图像识别方法、系统及设备。
背景技术:2.随着人类对海洋资源需求的日益增加,海洋渔业资源越来越受到重视。为了保护海洋生态系统,防止渔民在不恰当的时节捕捞不恰当的鱼类,不少国家与国际组织在渔船甲板上安装了监控摄像头,但由于在海洋作业过程中常见雨浪交杂,水雾弥漫等情况严重影响监控画质,监管者难以辨识画面中的鱼类,并且审查海量的监控视频需要大量的人力资源,且识别准确性差。
技术实现要素:3.本发明针对技术存在的上述问题,提供一种鱼类图像识别方法、系统设备,能够准确快速对鱼类进行识别和分类。
4.为了达到上述目的,本发明提供了一种鱼类图像识别方法,其具体步骤为:
5.s1、采集鱼类图像,对鱼类图像进行筛选、数据增强及尺寸统一处理,并确定分类标签,构建训练数据集;
6.s2、将深度残差网络的每个残差块中加入cbam模块,构建鱼类图像识别网络;
7.s3、利用训练数据集训练步骤s2中构建的鱼类图像识别网络,训练结束后得到鱼类图像识别模型;
8.s4、对待识别鱼类图像进行筛选、数据增强及尺寸统一处理,利用鱼类图像识别模型对处理后的待识别鱼类图像进行识别,获得识别结果。
9.优选的,步骤s1和步骤s4中,所述筛选的具体要求为:去除鱼类特征不清晰或残缺1/3的鱼类图像、去除分辨率低于100的鱼类图像以及去除与某鱼类类别不同的鱼类图像。
10.优选的,步骤s1和步骤s4中,所述数据增强采用torchvision图像库操作,具体包括:对图像进行水平翻转、随机裁剪、添加高斯噪声、图像亮度调节及随机旋转变换。
11.优选的,所述cbam模块包括顺序设置的通道注意力模块和空间注意力模块,给定一张输入特征图,cbam模块沿着通道注意力模块和空间注意力模块两个单独的维度依次推断得到注意力图,然后将注意力图与输入特征图相乘,得到细化的自适应特征图,该自适应特征图为cbam模块的最终输出特征图,表示为:
[0012][0013]
式中,f"为最终特征输出图,表示元素相乘,f'为通道注意力模块得到输出特征图,m
c
(f)为通道注意力模块推断得到的通道注意力图,m
s
(f')为空间注意力模块推断得到的空间注意力图,f为输入特征图。
[0014]
优选的,所述通道注意力模块通过使用平均池化和最大池化操作聚集输入特征图
f的空间信息,生成两个不同的空间背景描述符,将两个描述符转发到一个由多层感知器mlp组成的共享网络,产生通道注意图,其中共享网络中含有一个隐藏层。
[0015]
优选的,在共享网络应用于每个描述符后,使用元素相加法合并输出特征向量,得到通道注意力图,表示为:
[0016][0017]
式中,avg(
·
)为平均池化特征函数,max(
·
)为最大池化特征函数,mlp(
·
)表示多层感知器输出函数,为特征图f平均池化得到的特征,为特征图f最大池化得到的特征,w0(
·
)为共享网络中第一层网络的线性变化函数、w1(
·
)为共享网络中第二层网络线性变化函数,σ(
·
)表示sigmoid函数。
[0018]
优选的,所述空间注意力模块通过使用平均池化和最大池化操作聚集特征图f'的通道信息,生成两个二维图,每个二维图都表示整个通道的平均集合特征和最大集合特征,将平均集合特征和最大集合特征连接起来,并由一个标准卷积层进行卷积,产生空间注意力图,表示为:
[0019][0020]
式中,f
m*m
(
·
)为卷积函数,m*m表示卷积核大小,为特征图f'平均池化得到的特征,为特征图f'最大池化得到的特征。
[0021]
优选的,步骤s3中,训练鱼类图像识别网络时,采用adam算法进行网络参数优化,输出层采用softmax函数进行分类,采用交叉熵损失函数进行网络优化。
[0022]
为了达到上述目的,本发明还提供了一种鱼类图像识别系统,包括:
[0023]
数据采集模块,用于采集鱼类图像数据;
[0024]
训练数据集构建模块,用于对鱼类图像进行筛选、数据增强及尺寸统一处理,并确定分类标签,构建训练数据集;
[0025]
鱼类图像识别网络构建模块,用于将深度残差网络的每个残差块中加入cbam模块,构建鱼类图像识别网络;
[0026]
训练模块,用于利用训练数据集训练构建的鱼类图像识别网络,训练结束后得到鱼类图像识别模型;
[0027]
识别模块,用于根据鱼类图像识别模型识别待识别鱼类图。
[0028]
为了达到上述目的,本发明又提供了一种鱼类图像识别设备,包括计算机存储器、计算机处理器以及存储在所述计算机存储器并可在所述计算机处理器上执行的计算机程序,所述计算机程序用以实现上述鱼类图像识别方法的步骤。
[0029]
与现有技术相比,本发明的优点和积极效果在于:
[0030]
(1)本发明在卷积层的残差块中cbam模块(即:注意力机制模块),该模块是一个简单高效的前向卷积神经网络注意力模块,给定一张特征图,cbam模块沿着通道(英文:channel)和空间(英文:spatial)两个单独的维度依次推断注意力图,然后将注意力图和输入特征图相乘,进行自适应特征细化。由于cbam模块是一个轻量级的通用模块,可以无缝的
集成到任何cnn架构中,几乎对效率、算力没有影响,能够实现端到端的训练,提高识别效率。本发明通过在卷积残差网络的基础上引入注意力机制,在输入的鱼类图片信息中聚焦于对当前任务更为关键的鱼类信息,降低对其他信息的关注度,甚至过滤掉无关信息,就可以解决信息过载问题,并提高任务处理的效率和准确性。
[0031]
(2)本发明采集鱼类图像与分类标签来自于网络以及人工筛选,因此,本发明提供的鱼类图像识别方法对于常见鱼类图像具有较高的识别率,识别准确率能够达到80.95%。
附图说明
[0032]
图1为本发明实施例所述鱼类图像识别方法的流程图;
[0033]
图2为本发明实施例所述cbam模块的结构示意图;
[0034]
图3为本发明实施例所述通道注意力模块的结构示意图;
[0035]
图4为本发明实施例所述空间注意力模块的结构示意图;
[0036]
图5为本发明实施例所述残差块的结构示意图;
[0037]
图6为本发明实施例所述卷积层的结构示意图;
[0038]
图7为本发明实施例鱼类识别的结果显示界面示意图。
具体实施方式
[0039]
下面,通过示例性的实施方式对本发明进行具体描述。然而应当理解,在没有进一步叙述的情况下,一个实施方式中的元件、结构和特征也可以有益地结合到其他实施方式中。
[0040]
实施例1:参见图1,本实施例提供了一种鱼类图像识别方法,其具体步骤为:
[0041]
s1、采集鱼类图像,对鱼类图像进行筛选、数据增强及尺寸统一处理,并确定分类标签,构建训练数据集。
[0042]
具体地,筛选的方式可以是人工筛选也可以自动筛选(采用筛选软件完成),筛选的具体要求为:去除鱼类特征不清晰或残缺1/3的鱼类图像、去除分辨率低于100的鱼类图像以及去除与某鱼类类别不同的鱼类图像。
[0043]
具体地,数据增强采用torchvision图像库操作,具体包括:对图像进行水平翻转、随机裁剪、添加高斯噪声、图像亮度调节及随机旋转变换。其随机旋转变换的角度可以是30
°
、60
°
、90
°
、270
°
不等,具体可以根据实际需求进行变换。
[0044]
在数据增强后,将所有鱼类图片尺寸统一,例如:所有鱼类图片的尺寸归一为224*224像素,具体根据实际情况而定。
[0045]
s2、将深度残差网络的每个残差块中加入cbam模块,构建鱼类图像识别网络。
[0046]
具体地,参见图2,cbam模块包括顺序设置的通道注意力模块和空间注意力模块,给定一张输入特征图,cbam模块沿着通道注意力模块和空间注意力模块两个单独的维度依次推断得到注意力图,然后将注意力图与输入特征图相乘,得到细化的自适应特征图,该自适应特征图为cbam模块的最终输出特征图,表示为:
[0047][0048]
式中,f"为最终特征输出图,表示元素相乘,f'为通道注意力模块得到输出特征
图,m
c
(f)为通道注意力模块推断得到的通道注意力图,m
s
(f')为空间注意力模块推断得到的空间注意力图,f为输入特征图。
[0049]
参见图3,通道注意力模块通过使用平均池化和最大池化操作聚集输入特征图f的空间信息,生成两个不同的空间背景描述符,将两个描述符转发到一个由多层感知器mlp组成的共享网络,产生通道注意图,其中共享网络中含有一个隐藏层。在共享网络应用于每个描述符后,使用元素相加法合并输出特征向量,得到通道注意力图,表示为:
[0050][0051]
式中,avg(
·
)为平均池化特征函数,max(
·
)为最大池化特征函数,mlp(
·
)表示多层感知器输出函数,为特征图f平均池化得到的特征,为特征图f最大池化得到的特征,w0(
·
)为共享网络中第一层网络的线性变化函数、w1(
·
)为共享网络中第二层网络线性变化函数,σ(
·
)表示sigmoid函数。
[0052]
参见图4,空间注意力模块通过使用平均池化和最大池化操作聚集特征图f'的通道信息,生成两个二维图,每个二维图都表示整个通道的平均集合特征和最大集合特征,将平均集合特征和最大集合特征连接起来,并由一个标准卷积层进行卷积,产生空间注意力图,表示为:
[0053][0054]
式中,f
m*m
(
·
)为卷积函数,m*m表示卷积核大小,为特征图f'平均池化得到的特征,为特征图f'最大池化得到的特征。
[0055]
s3、利用训练数据集训练步骤s2中构建的鱼类图像识别网络,训练结束后得到鱼类图像识别模型。
[0056]
具体地,训练鱼类图像识别网络时,采用adam算法进行网络参数优化,输出层采用softmax函数进行分类,采用交叉熵损失函数进行网络优化。需要说明的是,采用adam算法进行参数优化,由于该算法结合了适应性梯度算法和均方根传播算法的优点,通过计算每个参数的梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。
[0057]
其中,softmax函数的表达式为:
[0058][0059]
式中,σ(z)
j
为第j个神经元的输出值,j=1,2,...,k,k为神经元的个数。
[0060]
需要说明的是,softmax函数将多个神经元的输出值映射到[0,1]区间内,该区间内的每个值代表这个样本属于每个类的概率,而这些值的累和为1。
[0061]
交叉熵损失函数表示为:
[0062][0063]
式中,g
loss
为损失值,m为当前一批输入网络的样本数量,n为类别数量,为真实
的标签,y
ij
为预测的标签。
[0064]
需要说明的是,交叉熵函数刻画了实际输出概率与期望输出概率分布之间的距离,交叉熵函数的值越小,表示模型训练过程的中学习效果越好。
[0065]
s4、对待识别鱼类图像进行筛选、数据增强及尺寸统一处理,利用鱼类图像识别模型对处理后的待识别鱼类图像进行识别,获得识别结果。
[0066]
具体地,筛选的方式可以是人工筛选也可以自动筛选(采用筛选软件完成),筛选的方式可以是人工筛选也可以自动筛选(采用筛选软件完成),筛选的具体要求为:去除鱼类特征不清晰或残缺1/3的鱼类图像、去除分辨率低于100的鱼类图像以及去除与某鱼类类别不同的鱼类图像。
[0067]
具体地,数据增强采用torchvision图像库操作,具体包括:对图像进行水平翻转、随机裁剪、添加高斯噪声、图像亮度调节(调亮或者调暗)及随机旋转变换。其随机旋转变换的角度可以是30
°
、60
°
、90
°
、270
°
不等,具体可以根据实际需求进行变换。
[0068]
在数据增强后,将所有鱼类图片尺寸统一,例如:所有鱼类图片的尺寸归一为224*224像素,具体根据实际情况而定。
[0069]
为了评估鱼类图像识别模型的识别准确率,本实施例采用top
‑
1准确率(简称:acc
top
‑1)作为评估标准,top
‑
1准确率是指最后输出的概率向量中最大概率所代表的鱼类类别与正确的鱼类类别一致的概率,其公式表示为:
[0070][0071]
式中,n表示图像总数,n
top
‑1表示正确分类的图像数量。
[0072]
本实施例上述鱼类图像识别方法,采集鱼类图像,构建训练数据集,基于深度残差网络,将深度残差网络与cbam模块相结合,构建鱼类图像识别网络,并通过训练数据集训练鱼类图像识别网络得到鱼类图像识别模型,通过鱼类图像识别模型对待识别鱼类图像进行识别。由于本实施例上述鱼类图像识别方法基于cbam模块,该模块是轻量级的通用模块,可以无缝集成到任何cnn架构中,几乎对效率、算法没有影响,能够实现端到端的训练要求,提升网络的特征表达能力,进而提高了鱼类图像识别模型的收敛速度及测试精度,且训练后的模型结构简单,识别效果好。
[0073]
实施例2:参见图,本实施例提供了一种鱼类图像识别系统,包括:
[0074]
数据采集模块1,用于采集鱼类图像数据;
[0075]
训练数据集构建模块2,用于对鱼类图像进行筛选、数据增强及尺寸统一处理,并确定分类标签,构建训练数据集;
[0076]
鱼类图像识别网络构建模块3,用于将深度残差网络的每个残差块中加入cbam模块,构建鱼类图像识别网络;
[0077]
训练模块4,用于利用训练数据集训练构建的鱼类图像识别网络,训练结束后得到鱼类图像识别模型;
[0078]
识别模块5,用于根据鱼类图像识别模型识别待识别鱼类图。
[0079]
其中,参见图2,cbam模块包括顺序设置的通道注意力模块和空间注意力模块,给定一张输入特征图,cbam模块沿着通道注意力模块和空间注意力模块两个单独的维度依次推断得到注意力图,然后将注意力图与输入特征图相乘,得到细化的自适应特征图,该自适
应特征图为cbam模块的最终输出特征图,表示为:
[0080][0081]
式中,f"为最终特征输出图,表示元素相乘,f'为通道注意力模块得到输出特征图,m
c
(f)为通道注意力模块推断得到的通道注意力图,m
s
(f')为空间注意力模块推断得到的空间注意力图,f为输入特征图。
[0082]
参见图3,通道注意力模块通过使用平均池化和最大池化操作聚集输入特征图f的空间信息,生成两个不同的空间背景描述符,将两个描述符转发到一个由多层感知器mlp组成的共享网络,产生通道注意图,其中共享网络中含有一个隐藏层。在共享网络应用于每个描述符后,使用元素相加法合并输出特征向量,得到通道注意力图,表示为:
[0083][0084]
式中,avg(
·
)为平均池化特征函数,max(
·
)为最大池化特征函数,mlp(
·
)表示多层感知器输出函数,为特征图f平均池化得到的特征,为特征图f最大池化得到的特征,w0(
·
)为共享网络中第一层网络的线性变化函数、w1(
·
)为共享网络中第二层网络线性变化函数,σ(
·
)表示sigmoid函数。
[0085]
参见图4,空间注意力模块通过使用平均池化和最大池化操作聚集特征图f'的通道信息,生成两个二维图,每个二维图都表示整个通道的平均集合特征和最大集合特征,将平均集合特征和最大集合特征连接起来,并由一个标准卷积层进行卷积,产生空间注意力图,表示为:
[0086][0087]
式中,f
m*m
(
·
)为卷积函数,m*m表示卷积核大小,为特征图f'平均池化得到的特征,为特征图f'最大池化得到的特征。
[0088]
具体地,利用训练数据集训练构建的鱼类图像识别网络时,采用adam算法进行网络参数优化,输出层采用softmax函数进行分类,采用交叉熵损失函数进行网络优化。需要说明的是,采用adam算法进行参数优化,由于该算法结合了适应性梯度算法和均方根传播算法的优点,通过计算每个参数的梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。
[0089]
其中,softmax函数的表达式为:
[0090][0091]
式中,σ(z)
j
为第j个神经元的输出值,j=1,2,...,k,k为神经元的个数。
[0092]
需要说明的是,softmax函数将多个神经元的输出值映射到[0,1]区间内,该区间内的每个值代表这个样本属于每个类的概率,而这些值的累和为1。
[0093]
交叉熵损失函数表示为:
[0094][0095]
式中,g
loss
为损失值,m为当前一批输入网络的样本数量,n为类别数量,为真实的标签,y
ij
为预测的标签。
[0096]
需要说的是,交叉熵函数刻画了实际输出概率与期望输出概率分布之间的距离,交叉熵函数的值越小,表示模型训练过程的中学习效果越好。
[0097]
本实施例上述鱼类识别系统中,通过数据采集模块采集鱼类图像,利用训练数据集构建模块构建训练数据集,并基于深度残差网络,通过鱼类图像识别网络构建模块将深度残差网络与cbam模块相结合,构建鱼类图像识别网络,然后由训练模块通过训练数据集训练鱼类图像识别网络得到鱼类图像识别模型,最后通过识别模块由鱼类图像识别模型对待识别鱼类图像进行识别。由于本实施例上述鱼类图像识别系统构建鱼类图像识别网络时,基于深度残差网络,将残差网络与cbam模块相结合,而cbam模块是轻量级的通用模块,可以无缝集成到任何cnn架构中,几乎对效率、算法没有影响,能够实现端到端的训练要求,提升网络的特征表达能力,进而提高了鱼类图像识别模型的收敛速度及测试精度,且训练后的模型结构简单,识别效果好。
[0098]
实施例3:本实施例提供了一种鱼类图像识别设备,包括计算机存储器、计算机处理器以及存储在所述计算机存储器并可在所述计算机处理器上执行的计算机程序,所述计算机程序用以实现实施例1所述鱼类图像识别方法的步骤。
[0099]
以下结合具体实施例对上述方法进行说明。
[0100]
采集鱼类图像,对采集的鱼类图像进行筛选、数据增强及尺寸统一处理,并确定分类标签,构建训练数据集。
[0101]
筛选的具体要是:通过人工帅选的方式去除鱼类特征不清晰或残缺1/3的鱼类图像、去除分辨率低于100的鱼类图像以及去除与某鱼类类别不同的鱼类图像。经过筛选提高了训练数据集的质量,筛选后的鱼类图像共包含21种常见的鱼类种类,总计300张鱼类图像,图像格式为pg或png。
[0102]
由于人工筛选得到的鱼类图像数量对于深度残差网络所需的训练样本量来说相对较小,因此,采用数据增强的方式扩充鱼类图像数量,数据增强可以将单张图片扩增成多个图像副本,大幅度增加训练样本量,进而提高网络的泛化性,减少过拟合。本实施例数据增强采用torchvision图像库对样本进行数据增强,具体包括:对图像进行水平翻转、随机裁剪、添加高斯噪声、图像亮度调节(调亮或者调暗)及随机旋转变换。其随机旋转变换的角度为30
°
、60
°
、90
°
、270
°
。
[0103]
在数据增强完成后,将所有鱼类图像尺寸归一为224*224像素。
[0104]
最后为每张图像添加分类标签,形成训练数据集,并将其写入csv文件中,方便深度残差网络读取。
[0105]
将resnet50作为本实施例的骨干网络,并将cbam模块加入到resnet50中卷积层的每个残差模块中,构建鱼类图像识别网络。将cbam模块入到resnet50中,一方面可以提升网络的特征表达能力,另一方面,不仅能够告诉网络该注意什么,同时也能增强特定区域的表征。
[0106]
参见图5,对深度残差网络,若最理想的特征输出是y,cbam模块获得的输入是x,那么期望中cbam模块能提供的非线性处理结果(即残差)便是f(x)=y
‑
x,这样输出就会是f(x)+x。若前方浅层网络已经提供了最优的输出x=y,则f(x)就应当趋于0,如此一来,就保证了鱼类图像识别网络的错误率不会更高。在本发明实施例中包含了三层卷积、通道注意力和空间注意力,实际使用的残差块结构参照图6所示。鱼类图像识别模型对鱼类图像识别的结果如图7所示。
[0107]
上述实施例用来解释本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。