1.本技术涉及图像识别的领域,尤其是涉及一种底栖动物自动识别方法、系统、电子设备和可读存储介质。
背景技术:2.我国应用大型底栖动物进行健康评价自70年代末至今已有40多年的历史。80年代-90年代,我国引进多种生物指数及多样性指数来进行水质生物评价,如trent指数、chandler记分系统、fbi指数、 shannon-wiener指数、ept丰富度等。有关mmi和o/e指数的研究和应用工作大多直接借鉴国外已有的方法,对生物完整性指数构建方法与技术体系是否符合我国水生态系统特征的研究不够深入。
3.目前基于底栖动物完整性指数评价存在有以下问题:底栖动物标本鉴定困难。底栖动物分类专业性较强,把标本鉴定到种级水平需要较高专业知识及丰富的鉴定经验,这在一定程度上限制了底栖动物评价指数的应用和推广。
技术实现要素:4.为了方便进行底栖动物评价,本技术提供一种底栖动物自动识别方法、系统、电子设备和可读存储介质。
5.第一方面,本技术提供的一种底栖动物自动识别方法,采用如下的技术方案:一种底栖动物自动识别方法,包括以下步骤:获取的底栖动物样本图片并进行预处理;调用底栖动物识别模型识别物种;展示识别的物种信息。
6.通过采用上述技术方案,通过摄像装置或其它途径获取底栖动物样本图片,处理形成标准的适合用于输入底栖动物识别模型的图片,底栖动物识别模型对其进行处理,并输出物种匹配结果,最后基于物种匹配结果展示所识别到的物种信息。通过该方案,能够智能化、自动化地利用计算机程序对底栖动物的种类进行识别判断,降低了人们对底栖动物种类识别的门槛,有利于推广应用。
7.可选的,进行样本图片格式判断,并基于样本图片格式选取不同的转换算法标准化样本图片格式;进行样本图片大小判断,并基于样本图片的大小选取压缩算法对样本进行无损压缩;上传图片到云服务器。
8.通过采用上述技术方案,由于录入的图片可能是jpg、tiff、png等不同的格式,不同的编码格式将对模型的识别造成影响,样本图片转化为相同的格式后再输入到底栖动物识别模型中,有利于提高模型的识别准确度和降低模型的复杂度。同样的,录入的图片不同的尺寸将会对特征的提取造成影响,将样本图片转化为相同的大小再输入到底栖动物识别
模型中,有利于提高模型的识别准确度。另外,由于底栖动物识别模型内包含有大量的特征,因此图像在输入模型进行识别时常伴随巨大的运算量,因此模型常置于云服务器中,预处理完毕的图片上传至服务器后输入到在云服务器中的底栖动物模型进行运算。
9.可选的,所述底栖动物识别模型的训练方法包括以下步骤:获取待识别底栖动物的样本图像,对所述样本图像进行扩充处理,得到对应所述样本图像的图像集;将所述图像集输入物种信息识别模型中的提取层得到所述图像集的特征信息,其中,所述物种信息识别模型是通过对resnet50模型进行改造并训练得到的;将所述特征信息输入所述物种信息识别模型中的自建卷积神经网络,得到各个物种信息样本对应的分类得分值;根据各个物种信息样本对应的分类得分值,确定所述底栖动物样本的预测物种信息。
10.可选的,所述的调用模型识别物种的步骤,包括:将处理好的数据集中的图像输入神经网络,以进行卷积池化操作;基于交叉熵损失函数对分类预测的结果进行修正;基于softmax分类器将分类得分值转化为分类概率值,输出图像的预测类别。
11.可选的,所述的对底栖动物样本图片进行预处理的步骤,还包括:对样本图片进行实例分割以获得底栖动物的初步筛选实例;基于所获得的初步筛选实例获取实例中心位置,并基于实例中心位置建立极坐标系;基于实例中心位置沿极轴方向依次向外设置圆形采样路径,并沿实例中心位置向外发射设置若干等角距的放射采样路径;获取各圆形采样路径和放射采样路径的交叉点处的像素点作为采样点信息;将图片上的采样点信息映射形成一张新图片,其中,新图片各行的像素点对应于旧图片上同一圆形采样路径上各像素点且排列顺序相同,新图片各行像素点的顺序对应于旧图片上各圆形采样路径沿极轴的顺序。
12.通过采用上述技术方案,对于凸旋螺、光滑狭口螺等螺类,具有螺旋或环形的先验特征,因此对于该类底栖动物可以利用先验条件对其进行独立判断。首先运用传统的实例分割方式将底栖动物与环境相分割,从而得到底栖动物的初步筛选实例。再基于该底栖动物的初步筛选实例设定中心点,基于该中心点建立极坐标系,沿着极坐标系的极轴向外设置若干圈圆形采样路径,该圆形采样路径则容易与螺类的螺纹近似拟合,再利用圆形采样路径和放射采样路径的交叉点对螺纹进行采样,得到采样点信息。将采样点信息映射成新图片,映射规则为新图片各行的像素点对应于旧图片上同一圆形采样路径上各像素点且排列顺序相同,新图片各行像素点的顺序对应于旧图片上各圆形采样路径沿极轴的顺序,从而使得螺纹特征能够近似地在新图片上形成笔直条纹分布。由于卷积神经网络的卷积核通常是沿着被卷积矩阵的逐行移动,因此新图片上的条纹特征能够更好的被识别。
13.第二方面,本技术提供的一种底栖动物自动识别系统,采用如下的技术方案:一种底栖动物自动识别系统,包括:图片预处理模块,用于获取的底栖动物样本图片并进行预处理;
物种识别模块,用于调用底栖动物识别模型识别物种;物种展示模块,用于展示识别的物种信息。
14.第三方面,本技术提供的一种电子设备,采用如下的技术方案:一种电子设备,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行上述的底栖动物自动识别方法。
15.第四方面,本技术提供的一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,存储有能够被处理器加载并执行如上的上述方法的计算机程序。
16.所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现:如上述的底栖动物自动识别方法。
附图说明
17.图1用于示出本技术某一实施例中底栖动物自动识别方法的程序框图。
18.图2用于示出本技术某一实施例中s1子步骤的程序框图。
19.图3用于示出本技术另一实施例中s1其它子步骤的程序框图。
20.图4用于示出本技术某一实施例中s111子步骤的程序框图。
21.图5用于示出本技术某一实施例中s2子步骤的程序框图。
22.图6用于示出本技术某一实施例中底栖动物识别模型的训练方法的程序框图。
具体实施方式
23.以下结合附图,对本技术作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
24.图1为某一个实施例中底栖动物自动识别方法的流程示意图。应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行;除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行;并且图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
25.另外,本实施例中各步骤的标号仅为方便说明,不代表对各步骤执行顺序的限定,在实际应用时,可以根据需要各步骤执行顺序进行调整,或同时进行,这些调整或者替换均属于本发明的保护范围。
26.在以下描述中,为了解释的目的,阐述了很多具体细节,以便提供对发明构思的彻底理解。作为本说明书的一部分,本公开的附图中的一些附图以框图形式表示结构和设备,
以避免使所公开的原理复杂难懂。为了清晰起见,实际具体实施的并非所有特征都有必要进行描述。此外,本公开中所使用的语言已主要被选择用于可读性和指导性目的,并且可能没有被选择为划定或限定本发明的主题,从而诉诸于所必需的权利要求以确定此类发明主题。在本公开中对“一个具体实施”或“具体实施”的提及意指结合该具体实施所述的特定特征、结构或特性被包括在至少一个具体实施中,并且对“一个具体实施”或“具体实施”的多个提及不应被理解为必然地全部是指同一具体实施。
27.本技术实施例公开一种底栖动物自动识别方法。参照图1,该底栖动物自动识别方法包括以下步骤:s1.获取的底栖动物样本图片并进行预处理。
28.底栖动物样本图片的来源能够有所不同,在不同的实施例中,样本图片可以通过摄像装置进行实时拍摄获得,也可以是由可读存储介质中读取输入所获得,也可以是由其它终端设备采集输入所形成,但凡能够提供图片的来源均可。由于图片的来源不同,对其进行预处理以实现标准化,有利于提高底栖动物识别模型的识别效率。
29.作为示例的,参照图2,在某一实施例中,s1包括以下子步骤:s101.进行样本图片格式判断,并基于样本图片格式选取不同的转换算法标准化样本图片格式;由于不同来源的图片可能具有不同的格式,比如bmp格式、jpg格式、tiff格式等,不同格式图片的编码方式不同,其在录入模型时将会对识别效果造成影响,样本图片转化为相同的格式后再输入到底栖动物识别模型中,有利于提高模型的识别准确度和降低模型的复杂度。
30.s102.进行样本图片大小判断,并基于样本图片的大小选取压缩算法对样本进行无损压缩。
31.同样的,录入的图片不同的尺寸将会对特征的提取造成影响,将样本图片转化为相同的大小再输入到底栖动物识别模型中,有利于提高模型的识别准确度。
32.s103.上传图片到云服务器。
33.由于底栖动物识别模型内包含有大量的特征,因此图像在输入模型进行识别时常伴随巨大的运算量,因此模型常置于云服务器中,预处理完毕的图片上传至服务器后输入到在云服务器中的底栖动物模型进行运算。
34.另外,由于底栖动物相比于陆生动物等其它动物而言,常具有一些特殊的结构,比如凸旋螺、光滑狭口螺等螺类,具有螺旋或环形的先验特征,且通过不同的螺纹特征能够辅助对螺类种类进行区分。因此对于针对该类具有圆形形体特征的底栖动物的识别模型,可以针对性的地进行利用先验条件对其进行特殊的预处理。
35.具体的,参照图3,s1还可以包括以下子步骤:s111.对样本图片进行实例分割以获得底栖动物的初步筛选实例。
36.在该步骤中,利用目前已经成熟的实例分割模型对样本图片中的底栖动物进行圈选和分割,从而获得初步筛选实例。具体的,参照图4,s111可以包括以下步骤:s1111.将样本图片输入到目标检测模型中,基于目标框检测确定目标外接框,并基于语义分割确定目标个体集合以作为轮廓区域。其中,目标为底栖动物,目标外接框用于反映所述底栖动物在输入的检测图片中的成像位置,目标个体集合用于反映位于底栖动物的成像区域内的像素点。
37.目标检测模型为预先训练好的实例分割模型,能够进行目标框检测和语义分割。目标框检测能够在样本图片中框选出关联于底栖动物的区域,通过目标外接框在样本图片中把底栖动物与其他物体区分开。语义分割能够在样本图片中对属于底栖动物区域成像的像素点和属于非底栖动物区域成像的像素点进行分类,得到目标个体集合。
38.s1112.基于轮廓区域生成轮廓线,并基于轮廓线选取中心位置。
39.将样本图片进行目标框检测和语义分割后获得的轮廓区域,可以生成相应的轮廓线和中心位置,轮廓线用于教导后期取样路径的走向,以适应于不同螺纹形状的底栖动物,提高对底栖动物螺纹分布先验信息的利用率。
40.s1113.基于目标外接框对样本图片分割为各包含有一底栖动物的图像。
41.样本图片中可能出现一个或多个底栖动物,且位于样本图片中的不同位置。由于每个目标外接框分别对应有一个底栖动物,该步骤可以利用目标外接框将样本图片分割为数张,使得每一底栖动物分别位于一图像的中心,并避免不同的底栖动物分割过程中互相干扰,同时缩小后的样本图片包含无关特征减少,有利于减少后续模型处理产生的参数,提高处理效率。
42.s1114.基于所述样本图片的相邻像素点的像素信息,在各相邻像素之间进行像素插补插补以放大样本图片。
43.通过对降低原始像素的像素密度,以保证后期对样本图片的轮廓区域进行百分百采样。
44.s1115.结合目标外接框和目标个体集合,输出目标的特征信息;其中,所述特征信息为像素点的像素信息。
45.结合目标外接框和目标个体集合,可以减少样本图片中非底栖动物物体和背景环境对于特征信息提取的干扰,减少特征信息的提取过程中的占用计算量,提高运算速度和准确率。
46.s112.基于所获得的初步筛选实例获取实例中心位置,并基于实例中心位置建立极坐标系。
47.s113.基于实例中心位置沿极轴方向依次向外设置圆形采样路径,并沿实例中心位置向外发射设置若干等角距的放射采样路径。
48.s114.获取各圆形采样路径和放射采样路径的交叉点处的像素点作为采样点信息。
49.s115.将图片上的采样点信息映射形成一张新图片,其中,新图片各行的像素点对应于旧图片上同一圆形采样路径上各像素点且排列顺序相同,新图片各行像素点的顺序对应于旧图片上各圆形采样路径沿极轴的顺序。
50.以实例中心位置为基点建立极坐标系,极坐标系的极轴即为一条从实例中心位置向外发射的射线。在远离坐标原点的方向上定义有若干的圆形采样路径,同一圆形采样路径的采样点半径坐标均相等。采样结束后,由内向外依次将各圆形采样路径上的采样点重排形成映射图像,映射图像上行内像素对应于圆形采样路径上的采样点。由于样本图片中螺壳的螺纹具有非常明显的分布特征,即螺纹绕着图片中心向外螺旋发散,利用极坐标系连续采样到螺纹特征后映射到映射图像上将会形成斜线,以使得在模型学习和模型处理时卷积核能够连续地对特征部分进行卷积,减少背景的干扰,从而提高了卷积神经网络模型
对螺类底栖动物图像的学习效果和分割效果。
51.s2.调用底栖动物识别模型识别物种。
52.具体的,参照图5,s2包括以下子步骤:s201.将处理好的数据集中的图像输入神经网络,以进行卷积池化操作。
53.底栖动物图像在计算机中表示成三维数组形式(w,h,d),其中w表示图像宽度,h表示图像高度,d表示图像色彩通道,当图像是灰度图时d取1,彩色图时d取3。每张图像由若干像素点组成,每个像素点根据其颜色取值范围从0到255,将底栖动物图像统一切割成224
×
224
×
3的大小。输入图像的大小被设定为224
×
224,输入到神经网络之中,神经网络会对图像进行卷积池化操作,从而进行特征提取与压缩。
54.图像输入模型后,先通过卷积层,让卷积核对图像的每一个像素进行卷积,然后通过将卷积核在输入的张量上滑动而生成经过滤波处理的张量,刻画出包含所有边缘的新图像,实现对图像特征的提取和信息匹配;再通过非线性层、池化层进行数据拟合、参数调整等操作。
55.卷积层能够进行卷积运算的关键在于它拥有很多个卷积核,卷积操作是卷积核中的参数与输入数据中卷积区域之内的元素对应相乘之后的累加。卷积核可以是3*3,也可以是5*5等规模,通过改变其规模可以实现一些多尺度识别目的;改变卷积核内的参数可以提取不同的特征。设置步长可以控制卷积核进行卷积计算每一步的移动步数。
56.图像在进行卷积运算后都有了不同程度的缩小,如果想要保持图像大小不变,可以在进行卷积操作之前对图像的四周进行填充(pudding)以保证卷积后图像大小如一。默认填充的数据为0,而卷积层也会将填充的0作为特征进行卷积操作,所以填充的数据要根据不同的样本进行适当的调整,降低pudding对样本数据的影响,以便网络提取到准确的特征信息。
57.卷积层的几个参数:卷积核的大小(f
ω
,f1),步长s,填充p,输入图像大小(wi,wh)和输出特征图像大小(w0,w1)之间保持这一公式关系:w0=(w
i-f
ω
+2p)/s+1w1=(w
h-f1+2p)/s+1池化层在卷积神经网络中的作用是压缩数据和降低图像特征的空间维度,通常被称为下采样层。池化层会大大减少模型的参数,提高模型的运算速度。最常见的两种池化方式是:最大池化(max pooling)和平均池化(average pooling)。最大池化是选取区域中的最大值来代替该区域的特征,平均池化则是选取该区域的均值来代替该区域的特征。最大池化可以减少卷积操作带来的均值偏差,能更好适应图像特征;平均池化可以有效避免噪声点的影响,但是容易丢失图像边缘特征。
58.在具体实例中,自建的卷积神经网络为了确保底栖动物图像特征的保留,选择使用了3个最大池化层来保障特征提取的效果。
59.s202.基于交叉熵损失函数对分类预测的结果进行修正。
60.为了使模型识别效果更加泛化,在训练过程中常常采用梯度下降的优化策略,为此引出损失函数,它能用来表示预测结果与真实值的相差程度、识别预测的误差以及置信度。数据的变化越大,不可预测程度就越高,同时熵也就越大。
61.h(p,q)=-σp(x)log q(x)
p为期望输出,概率分布q为实际输出,h(p,q)为交叉熵。
62.神经网络模型最后一个全连接层的激活函数通常为一种分类器,具体实例中,使用softmax分类器将分类得分值转化为分类概率值,输出图像的预测类别:其中σ(z)j代表模型预测为第j类的概率,k表示图像的种类数。式中zj表示底栖动物图像属于正确类别时的得分,zk表示底栖动物图像属于错误类别时的得分。
63.具体实例中,本数据集图片有10类,k为10。
64.s203.基于softmax分类器将分类得分值转化为分类概率值,输出图像的预测类别。
65.其中,参照图6,底栖动物识别模型的训练方法包括以下步骤:s211.获取待识别底栖动物的样本图像,对所述样本图像进行扩充处理,得到对应所述样本图像的图像集。
66.在一些优选的实验中,收集典型底栖动物样本图像,筛查图像,保证数据集的典型性,获取高分辨率高质量的原始数据集,对图像进行翻转、裁剪、改变对比度、亮度等方法,使数据多样化,扩充数据集样本生成所述底栖动物样本的图像数据集。
67.采集并建立了高质量高分辨率的底栖动物图像数据集,解决了网络上大多底栖动物图像缺乏典型性的问题,对于卷积神经网络的训练效果提升显著。
68.s212.将所述图像集输入物种信息识别模型中的提取层得到所述图像集的特征信息,其中,所述物种信息识别模型是通过对resnet50模型进行改造并训练得到的。
69.可选的,在进一步的实施例中,利用了resnet50模型对于图像的优秀的特征提取能力,并在其基础上加以改进使其更适用于底栖动物物种信息识别。
70.s213.将所述特征信息输入所述物种信息识别模型中的自建卷积神经网络,得到各个物种信息样本对应的分类得分值。
71.可选的,在进一步的实施例中,将所述图像数据集输入神经网络,经过一系列的卷积池化操作,对图像进行特征提取与压缩。进行特征提取后,模型会有一个非线性的预测函数,自动对数据集图像进行预测分类,每个分类都会有一个得分,得到对应所述图像数据集的分类得分值。
72.s214.根据各个物种信息样本对应的分类得分值,确定所述底栖动物样本的预测物种信息。
73.通过获取底栖动物样本的图像数据,对所述图像数据进行有效性处理,得到所述底栖动物样本的图像数据集;以resnet50模型作为迁移学习的底层预训练模型建立预设卷积神经网络,其中,所述预设卷积神经网络满足对图像进行特征提取与压缩的需求;将所述图像数据集输入所述预设卷积神经网络,得到对应所述图像数据集的分类得分值;通过所述分类得分值获取所述底栖动物样本的预测物种信息。采集并建立了高质量高分辨率的底栖动物图像数据集,解决了网络上大多底栖动物图像缺乏典型性的问题,对于卷积神经网络的训练效果提升显著。利用了resnet50模型对于图像的优秀的特征提取能力,并在其基础上加以改进使其更适用于底栖动物物种信息识别。运用了迁移学习以及各种图像增强的
方法,极大程度上解决了小数据集训练深层卷积神经网络数据量不足的问题。使用了迭代优化的方法训练卷积神经网络,显著优化了训练速度与训练效果。输入底栖动物图像后,网络模型能对其进行自动分析,快捷准确地识别出底栖动物物种信息,实现了底栖动物物种信息的快速自动识别。
74.s3.展示识别的物种信息。
75.构建完成底栖动物物种信息识别深度参差学习识别模型后,通过输入的数据信息,计算待识别的底栖动物所属物种信息(凸旋螺、盘丝蚓属、贝氏仙女虫、光滑狭口螺、尖膀胱螺、纹沼螺、仙女虫属、扁泥甲科、小石蛾科、四节蜉科、扁蜉科、环棱螺、波摇蚊属、扁卷螺科、萝卜螺属、胡蚌、背角无齿蚌、蚶形无齿蚌、螺蛳)。通过界面展示动物的基本信息和百科信息。
76.本技术实施例还公开一种底栖动物自动识别系统,包括:图片预处理模块,用于获取的底栖动物样本图片并进行预处理;物种识别模块,用于调用底栖动物识别模型识别物种;物种展示模块,用于展示识别的物种信息。
77.本技术实施例还公开一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述底栖动物自动识别方法的计算机程序。本实施例方法的执行主体可以是一种控制装置,该控制装置设置在电子设备上,当前设备可以是具有wifi功能的手机,平板电脑,笔记本电脑等电子设备,本实施例方法的执行主体也可以直接是电子设备的 cpu(central processing unit,中央处理器)。
78.本技术实施例还公开一种计算机可读存储介质,存储有能够被处理器加载并执行如上的底栖动物自动识别方法的计算机程序。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台设备 (可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本技术每个实施例的方法。
79.以上均为本技术的较佳实施例,并非依此限制本技术的保护范围,故:凡依本技术的结构、形状、原理所做的等效变化,均应涵盖于本技术的保护范围之内。