一种金丝猴面部图像识别方法、装置、设备及存储介质与流程

文档序号:22967471发布日期:2020-11-19 21:41阅读:129来源:国知局
一种金丝猴面部图像识别方法、装置、设备及存储介质与流程
本发明属于计算机视觉领域,具体涉及金丝猴面部图像识别方法、装置、设备及存储介质。
背景技术
:针对金丝猴的研究,首先需要对金丝猴进行监测。在传统的监测方法中,主要包括人员实地追踪监测、仪器追踪监测。由于金丝猴生活地的地形相对复杂,不利于研究人员长期进行实地追踪监测。而采用仪器追踪监测,在一定程度上可以解决上述难题。采用仪器追踪监测方法,方便且高效,但需要在金丝猴身体上绑定跟踪仪器,这可能会影响到金丝猴个体的生活习性和行为活动,因此该方法具有一定的局限性。随着科学技术的发展,特别是数码影像技术的发展,金丝猴的监测问题得到了有效的解决。由于数码影像技术具有非接触性的优点,已经被广泛的应用在各种野生动物的监测活动中。。采用数码影像技术进行金丝猴活动监测,可以实时的获取到金丝猴的图像数据,而这些图像数据对于研究金丝猴的生活习性、种群结构和种群密度等具有重要的意义。针对金丝猴的研究,还需要对金丝猴个体进行准确的识别。只有建立在准确无误的个体识别之上,才能够了解个体的生活习性并建立准确的社会结构模型。因此,个体识别显得尤为重要。针对金丝猴识别,可以利用金丝猴五官以及毛发之间的差异进行识别。人眼识别是最常用的方法,但易受外界因素以及自身因素的影响,带有一定的主观性。相比于人眼识别,标记法则具有很高的识别准确度。采用标记法需要在金丝猴身体上进行标记,例如项圈或者色彩。但该方法带有一定的侵入性,会影响到金丝猴的群居生活,更甚者会对金丝猴个体造成伤害。随着金丝猴图像数据的增多,怎样快速的识别并处理图像数据也是一个难题。传统的识别方法需要消耗大量的人力和时间,导致金丝猴图像数据得不到及时的、准确的处理。针对金丝猴图像数据,如何快速的、准确的识别出金丝猴个体显得尤为重要。随着计算机视觉技术的发展,针对野生动物图像的研究已经取得了丰硕成果,而深度学习技术在其中起着重要的作用。深度学习网络,特别是卷积神经网络(convolutionalneuralnetwork,cnn)已经在图像处理、图像分类等领域取得了巨大的成功。目前,在人脸识别方向,应用深度学习技术的识别准确度已超越了人类的肉眼识别,这为金丝猴面部识别提供了一个解决思路。由于金丝猴和人的五官特征有着很大的相似性,因此可以将人脸识别算法应用在金丝猴的面部识别之上。与传统识别方法相比,应用卷积神经网络进行金丝猴面部识别有很多优势。首先,应用卷积神经网络进行金丝猴识别可以提高识别的准确度,有效克服了人眼识别中由主观因素带来的影响。其次,应用卷积神经网络可以快速的识别出金丝猴个体,极大的提高了识别效率,减少了处理时间。应用深度学习技术进行金丝猴面部识别,也存在着诸多挑战。首先,由于是在非限制性环境下采集数据,因此图像中难免会包含过多的背景。而针对金丝猴面部识别,背景因素作为干扰特征会影响到算法识别准确度。其次,由于拍摄角度的限制,导致图像中存在着大量遮挡,如树叶、山石以及金丝猴个体的相互遮挡。这些遮挡因素会导致金丝猴部分特征丢失,且引入了其他干扰特征。在不同的光照条件下,同一个体在视觉上会存在很大的差异,导致类内差异变大。同时,采集到的数据中存在大量的侧脸,而侧脸数据只包含金丝猴个体的部分特征,不利于深度学习的特征提取。上述这些因素都是自然因素,是随机的、不可控的且不稳定的。相比于自然因素,金丝猴个体的内在因素则是相对稳定的,但内在的相似性却是金丝猴面部识别面临的最大难题。部分金丝猴个体在外观上拥有着极高的相似度,这就需要深度学习模型能够提取到具有显著区分性的特征,这为深度学习算法提出了更高的要求。目前,大多数神经网络在处理图像数据的时候,对图像的所有特征都是等价处理的,即输入的特征是没有差异的。但实际上,不同区域的特征对算法分类起着不同的作用,显著区域的特征比非显著区域的特征具有更高的可分性。然而在神经网络提取特征的过程中,卷积和池化操作可能导致部分显著区域特征丢失。如何提取到金丝猴的显著特征,是金丝猴面部识别的关键所在。可以通过手工标注或截取的方式,提取到金丝猴面部的显著特征,但是该方法效率低且不灵活。如何提取到金丝猴的显著特征,是金丝猴面部识别的关键和难点所在。针对金丝猴面部图像的研究相对较少,主要还是通过手工标记等进行识别。目前,成熟的面部识别算法为金丝猴面部识别提供了扎实的理论基础,因此可以将深度学习技术应用到金丝猴的面部识别上。但考虑到金丝猴面部和人以及其他动物有区别,不能直接将现有的算法应用在金丝猴识别上。技术实现要素:针对上述现有技术存在的问题或缺陷,本发明的目的在于提供一种金丝猴面部图像识别方法、装置、设备及存储介质,以解决现有技术中识别方法识别精度及泛化性能低的问题。为了解决上述技术任务,本发明采用如下技术方案予以实现:一种金丝猴面部图像识别方法,将采集得到的金丝猴图像,通过对金丝猴图像面部区域截取及预处理,获得金丝猴面部图像数据集;将金丝猴面部图像数据集输入至tri-attention神经网络模型,提取金丝猴特征,完成对金丝猴面部图像识别。具体地,所述的tri-attention神经网络模型由对象区域关注模型、局部区域关注模型和显著区域关注模型组成;对象区域关注模型,用于提取金丝猴的全局特征;局部区域关注模型,用于提取金丝猴面部的非毛发特征;显著区域关注模型,用于提取金丝猴面部区域的高判别性特征。进一步地,所述的对象区域关注模型包含8个卷积层,3个最大池化层和1个全局池化层。进一步地,所述的局部区域关注模型包含主干分支和掩膜分支,其中主干网络,包含有6个卷积神经网络,掩膜分支网络,包含有3个卷积层和2个反卷积层。进一步地,所述的显著区域关注模型为vgg16模型。所述的显著区域关注模型首先将金丝猴图像数据进行分割,得到不同大小的局部区域,然后计算区域的相似度并进行合并,再通过神经网络模型,选择出具有高判别度的局部区域并提取特征。本发明还涉及一种金丝猴面部图像识别装置,该装置包括:传输模块,用于上传金丝猴图像数据并返回处理后的结果;图像处理模块,用于对上传金丝猴图像进行加载、金丝猴图像面部区域截取、预处理及保存;模型加载处理模块,用于加载tri-attention神经网络模型并识别图片;数据查询模块,用于从数据库中查取信息,包括金丝猴个体的年龄、性别或者生活习性。进一步地,模型加载处理模块中所加载tri-attention神经网络模型,对象区域关注模型、局部区域关注模型和显著区域关注模型组成;对象区域关注模型,用于提取金丝猴的全局特征;局部区域关注模型,用于提取金丝猴面部的非毛发特征;显著区域关注模型,用于提取金丝猴面部区域的高判别性特征。本发明的技术方案还可以应用于计算机设备之中,包括收发器、存储器和处理器,所述的存储器中存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得处理器执行金丝猴面部图像识别相关系列方法。本发明还可以应用制成任意一种计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本发明总体的金丝猴面部图像识别方法。本发明与现有技术相比带来的有益技术效果:1、本发明提出了基于tri-attention的金丝猴面部识别算法。该算法能够自动的关注金丝猴的面部区域,不需要对数据进行手工标注。2、该算法采用了空间注意力机制,分别对金丝猴面部图像的全局特征、局部特征以及显著性特征进行关注。3、通过联合不同维度、不同粒度的特征,进行融合,以提高分类的准确度,提升了网络的泛化性能。附图说明图1为本发明的金丝猴面部图像识别方法流程图。图2为本发明的tri-attention神经网络模型构架图。图3为基于tri-attention的金丝猴面部识别算法中的对象区域关注模型算法图。图4为基于tri-attention的金丝猴面部识别算法中的局部区域关注模型算法图。图5为基于tri-attention的金丝猴面部识别算法中的显著区域关注模型算法图。图6为经过切割与合并之后,得到的金丝猴面部局部区域图像。图7为在对象区域模型中,网络输出的热力图。图8为本发明的金丝猴面部图像识别装置框架结构图。图9为本发明实施例中计算机设备的结构示意图。下面结合附图和具体实施例对本发明作进一步详细说明。具体实施方式以下给出本发明的具体实施例,需要说明的是本发明并不局限于以下具体实施例,凡在本申请技术方案基础上做的等同变换均属于本发明的保护范围。与本发明相关的概念及技术构思阐述:本发明涉及的tri-attention神经网络模型,是指基于空间注意力机制的三路卷积神经网络。金丝猴的面部特征和人的面部特征相似,但也存在着很大的差异。差异主要来源于两者的面部区域是否有大量毛发覆盖。相对于人的面部,金丝猴的大部分面部区域被毛发覆盖。毛发特征易受外界因素的干扰,容易发生变形且不稳定,而非毛发覆盖区域的特征则相对稳定。因此,需要从金丝猴数据出发,并分析金丝猴图像数据的特点,在金丝猴的面部区域中,非毛发区域所占的比例相对较小,而毛发区域所占比例大。金丝猴的毛发特征对于金丝猴个体的分类是有利也有弊的。一方面金丝猴的毛发包含了非常丰富的纹理特征,对于差异比较大的金丝猴个体来说,使用金丝猴的毛发特征就可以进行准确的分类。另一方面,毛发的纹理特征以及颜色是不稳定的,易受外界因素的干扰。若金丝猴个体之间的差异很小,则不能只利用金丝猴的毛发特征去识别。金丝猴的毛发包含丰富的纹理特征,但不能只利用金丝猴的毛发特征去分类。在提取特征的时候,可以考虑将毛发特征与其他特征相结合共同进行分类,而毛发特征是作为辅助特征。在金丝猴的面部区域中,非毛发区域的特征相对稳定。由于该区域的毛发覆盖相对较少,因此受外界因素的干扰相对较小,具有很强的不变性和鲁棒性。在设计算法的时候可以将非毛发区域的特征作为主要特征进行提取。但非毛发区域相对较小,该区域经过多次卷积操作和池化操作以后,部分特征可能会丢失。因此,可以将该区域的特征单独提取出来,辅以全局特征来提高算法的识别准确度。可采取的方法有手工截取,但是这种方法相对低效,且不能够保证所截去的部分是最优的。而采用基于注意力机制的卷积神经网络,可以将网络的关注点集中在金丝猴的面部非毛发区域。因此,针对金丝猴的非毛发区域特征,可以作为金丝猴的主要特征,但需要将该区域单独提取出来并联合其他特征共同进行识别。针对拥有着极高相似度的金丝猴个体来说,联合金丝猴的毛发和非毛发的特征也不能够进行准确的识别。这个时候,还需要考虑金丝猴面部区域的一些关键特征。金丝猴面部的关键特征的位置是不固定的,可能是某个个体嘴角上的伤疤,或者是个体独特形状的鼻子,还可能是金丝猴个体的纹理特征。因此,不能手工标注该区域,而需要网络自动的去关注。针对金丝猴的关键特征,可以通过遍历图像的局部区域而得到。整体算法设计时,关键特征可以作为更细粒度的特征,联合其他粒度的特征进行识别。本发明提出的tri-attention算法是由三路卷积神经网络组成,分别对应了三个网络模型,即对象区域关注模型、局部区域关注模型和显著区域关注模型,每个模型的网络结构、参数规模和作用都不相同。首先是对象区域关注模型,该模型用来提取金丝猴的全局特征,弱化背景因素带来的影响。在局部区域关注模型里,网络将会自动的提取金丝猴面部的非毛发特征。而针对金丝猴相似度高的难题,这里又引入了显著区域关注模型,该模型用来提取金丝猴面部区域的高判别性特征。综上,为了对金丝猴进行准确的识别,算法联合了全局、局部以及显著特征共同进行分类。参见图1,为本发明的tri-attention神经网络模型构架图。应用实施例:本发明的一种金丝猴面部图像识别方法,包括以下步骤:步骤s1,采集金丝猴图像,获得金丝猴图像样本集;本发明从网络公开数据库获取数据集包含126个金丝猴个体,共计33239张图像数据。表1金丝猴面部图像数据集数据集个体数量总数据量(张)平均数据量(张)金丝猴12633239263步骤s2,对所述的金丝猴的面部区域进行截取及预处理,获得金丝猴面部图像数据集;由于所采集到的金丝猴图像包含有大量的背景因素,因此需要将金丝猴的面部图像截取出来并进行灰度化处理。同时,在显著区域模型中还需要对金丝猴面部图像进行预处理,步骤如下:1)金丝猴图像样本的分割与合并首先,构建图像的矩阵表示。然后使用最小生成树等方法将像素点进行合并。最后,计算区域之间的界限,如公式1所示。其中,indif表示区域内的差异,dif表示区域间的差异。经切割与合并之后的图像如图3所示。2)金丝猴图像面部截取图像的截图是在caffe平台上进行的,截取已训练好的alexnet模型作为评判模型。对图片进行测试,可以获得每张图片的top-5精度。最终,选取正确识别且精度最高的区域图像,即该区域为金丝猴的显著性区域。表2alexnet模型的超参数名称参数大小max_iter40000batch_size50weight_decay0.0001base_lr0.0003将金丝猴面部图像数据集输入至tri-attention神经网络模型,提取金丝猴特征。步骤s31,将金丝猴面部图像数据集输入到tri-attention的对象区域关注模型,获得金丝猴个体的全局特征。在对象区域关注模型中,使用gap来代替全连接层,对象区域关注模型的网络结构图如图4所示。对象区域关注模型图4,包含8个卷积层,3个最大池化层和1个全局池化层。该网络的输入图像大小为100×100×1,卷积核的大小采用3×3,stride的大小设置为1。在两个最大池化层之间,为了保证特征图的大小不变,将会在卷积操作之后进行0填充。只有在经过最大池化层以后,特征图的长和宽才变为原来的一半,卷积核的数量则变为以前的二倍。在gap层前,特征图的大小为12×12,且有512个。gap分别计算512个特征图的平均值,即将512个特征图降维变换到大小为1×512的特征向量,然后使用n个1×1的卷积核将该特征向量变换到1×n,其中n表示要分类的类别数量。从实际效果来看,gap相当于一层全连接层,但参数量却小很多。若n的大小为10,采用一层全连接层的参数个数将会是737280个,这个数字超越了前几层网络的参数量。为了验证该模型的有效性,将网络的特征进行了可视化处理,如图5所示。从热力图可以看出,网络将注意力集中在了金丝猴的面部区域,将背景特征降低到了最小。由此,也验证了该模型能够关注于金丝猴的全局信息,而最大化的降低背景因素带来的影响。在对象区域关注模型中,采用全局平均池化层的目的有两个,首先避免特征向量在转换的过程中丢失空间信息,其次是减小网络的参数量。设计对象区域关注模型的目的,就是为了减小图像数据中的背景因素并保留金丝猴的全局特征,而使用gap就是为了避免这些特征信息的丢失。步骤s32,将所述的金丝猴面部图像数据集输入到tri-attention的对象区域关注模型中,获得金丝猴个体的非毛发区域特征。由于金丝猴有着丰富的毛发特征,而毛发易受外界因素的干扰。在不同光照强度之下,同一个体受光照的影响会在视觉上产生差异。然而相对于金丝猴的毛发特征,金丝猴的眼睛、鼻子、嘴等区域的特征变动性相对较小,即具有很强的鲁棒性和不可变性。本发明的局部区域关注模型,该模型能够将注意力集中到金丝猴的面部非毛发区域。参见图6所示。在局部区域关注模型中,包含有两个分支分别是主干分支和掩膜分支,两个分支可以在空间上对金丝猴的面部区域进行关注。在主干网络中,包含有6个卷积神经网络。在掩膜分支中,包含有3个卷积层和2个反卷积层。具体的参数如下:表3注意力块中网络层参数在主干分支中,6个卷积层有着相同的参数,卷积核的大小都为3,步长设置为1,边界填充的参数设置为same即确保从conv1到conv6的特征图维度相同。主干分支的作用主要是特征提取,而掩膜分支的作用是用来产生权重矩阵。从y1到y5,卷积核的大小分别是11、5、3、5、3,步长分别为2、2、1、2、3,前四层没有边界填充,而最后一层的边界填充为3。经过y1卷积后,特征图维度由100×100变为45×45。经y2和y3的卷积操作之后,感受野变到最大,特征图由45×45先变换到21×21再变换到18×18。前三层进行的是下采样操作,通过减小特征图的维度来增加单个像素的局部感受野,并过滤掉很大部分冗余的特征。y4和y5是反卷积层,属于上采样。从y4到y5,特征图的大小由18×18变为37×37,最终变成100×100。在局部区域关注模型的末尾,是一个融合块,将主干分支和掩膜分支的输出特征进行融合。这里使用element-wise-add方法来对特征进行融合,element-wise-add是对特征图进行相加,即在每个维度上合并所有的特征。其中,output表示融合层输出的特征图,c表示特征图的数量,in1,i表示主干分支输出的特征,in2,i表示掩膜分支输出的特征。步骤s33,将所述的金丝猴面部图像数据集输入到tri-attention的对象区域模型中,获得金丝猴个体的显著区域特征。在显著区域模型中,使用vgg16来提取特征。在vgg16中,所有卷积核的尺寸都是3×3,步长为1,卷积核个数从64依次增长到128、256以及512。池化层的参数大小都为2×2。在原有的vgg16模型中,全连接层共有三层,分别有4096、4096和126个节点,占整个网络的参数的70%。为了减小网络的参数规模,将全连接层的参数设置为1000、512和126,如图7所示。步骤s4,将金丝猴个体的全局特征、非毛发区域特征和显著区域特征进行融合,得到融合后的特征并将该特征输入到softmax分类器中进行分类。在对象区域关注模型和显著区域关注模型中,所输出的特征为1×1×128。而在局部区域模型中,输出的特征是一个多维度的特征向量。因此还需要将该特征进行展开,并使用全连接层将特征的维度降到1×1×128。在特征融上,使用concat操作进行连接,并使用softmax进行分类。对比实验分析:为了验证tri-attention算法的有效性,本发明将从多个角度进行试验,所有的实验均在金丝猴数据集上进行,数据以7:2:1的比例随机分成训练数据集、验证数据集和测试数据集。在实验过程中,采用多折交叉验证法,并选取平均值作为最终的结果。tri-attention算法是基于opam算法而改进的,最大的区别在于tri-attention引入了显著区域关注模型。在金丝猴数据集上,opam取得了0.9217的测试精度,而tri-attention则取得了0.9456的结果,比opam的0.9217高出了1.69个百分点,目前取得了最好的结果。表4tri-attention算法的precision、recall和f1名称precisionrecallf1tri-attention0.89280.90210.8974tri-attention的消融实验在tri-attention网络中,利用三个不同的模型提取金丝猴不同区域的特征,并将特征进行了融合。为了验证不同的算法模型以及不同尺度的图像对于分类是否有效,且同时还需要对特征融合进行性能评估。因此,将tri-attention分为三个单独的模型进行实验,分别验证不同尺度特征对分类的有效性和融合的有效性,即消融实验。针对tri-attention的消融实验,也是采用金丝猴数据集,并按照7:2:1的比例分数据。分解后的网络,都是用softmax分类器进行分类。针对对象区域关注模型,实验结果如表4.4所示。在测试精度上取得了0.9014的结果低于tri-attention的测试精度。precision、recall和f1的结果也都低于tri-attention的值。表5对象区域关注模型的实验结果名称accprecisionrecallf1objectmodel0.90140.85740.84930.8533在对象区域关注模型中,使用gap代替了全连接层。为了验证gap在金丝猴面部识别上的性能,又将gap改成了两个全连接层进行了4次对比试验,结果如表5。不难发现,针对同一数据集两个算法的性能相差不大,而两个算法在参数量上相差甚多。表6在objectmodel使用gap和fc的实验结果名称1234om-gap0.90140.90850.88490.9011om-fc0.90840.90110.89960.9108针对局部区域关注模型和显著区域关注模型的实验结果,如表6所示。从测试精度结果来看,这两个网络的测试精度都低于tri-attention的测试精度。至此,足以说明融合三个网络的能够带来精度的提升。图8是本发明的金丝猴面部图像识别装置,该装置包括:传输模块,用于上传金丝猴图像数据并返回处理后的结果;图像处理模块,用于对上传金丝猴图像进行加载、金丝猴图像面部区域截取、预处理及保存;模型加载处理模块,用于加载tri-attention神经网络模型并识别图片;数据查询模块,用于从数据库中查取信息,包括金丝猴个体的年龄、性别或者生活习性。数据查询模块,用于从数据库中查取信息,包括金丝猴个体的年龄、性别或者生活习性。该装置基于javaweb技术实现,共包含有三层架构。通常意义上,三层架构包括界面层、业务逻辑层、数据访问层。界面层又叫做web层,用于接收用户输入的数据以及显示数据,即用户可以上传金丝猴图像数据并可以得到相应结果。业务逻辑层可以用来处理复杂的逻辑判断等。数据访问层用来对数据库的直接访问,在该系统当中,我们已经提前建立好了金丝猴群体的数据信息。当模型识别出金丝猴个体的类别,可以通过查询数据库得到该金丝猴个体的信息并返回。首先,通过传输模块中dopost()或doget()方法,实现图片的上传。在该模块中,主要包含两个主要的参数,分别是picname和picpath,picname用来标识上传者的唯一信息以及图像的名称信息,picpath用于保存图像的存储路径。在图像预处理模块中,需要对图像做灰度化的处理并格式化成大小为100×100的图像,该功能由convert2grayscale()和normalsize()接口实现。在模型加载和处理模块中,实现步骤相对比较复杂。由于tri-attention是在kreas框架下实现的,而keras是基于python的调用,因此就需要java调用python接口。底层的加载模型步骤由loadmodel()接口实现,模型的预测由predict()接口实现。加载与预测都是由python调用keras接口实现,并将识别出的信息返回给java调用类,返回的信息为top-5精度以及对应的个体信息。在数据查询模块中,需要查询top-5个体的图像信息,以及top-1的详细信息,该功能由searchforpicname()接口实现。查询到的信息通过html页面,返回给查询界面。基于相同的技术构思,本申请还提供了一种计算机设备,如图9所示,该计算机设备包括收发器、处理器和存储器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述各实施方式中的所述金丝猴面部图像识别方法。基于相同的技术构思,本申请还提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施方式中的所述的金丝猴面部图像识别方法。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质如(rom/ram)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,这些均属于本申请的保护之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1