一种图像特征提取的方法、系统、设备及可读存储介质与流程

文档序号:22131517发布日期:2020-09-08 12:58阅读:103来源:国知局
一种图像特征提取的方法、系统、设备及可读存储介质与流程

本申请涉及图像特征提取领域,特别涉及一种图像特征提取的方法、系统、设备及可读存储介质。



背景技术:

随着科学技术的发展,机器学习在众多领域里都有涉及,深度学习作为机器学习领域最前沿的分支,在近几年也得到了飞速发展。卷积神经网络模型是深度学习中应用较为广泛的一种算法模型,在图像特征提取模型中通常以卷积神经网络模型作为主干。

然而随着卷积神经网络的复杂度不断提高,计算量也越来越大,但是计算机资源存在限制,导致图像特征提取的速度慢。

因此,如何提高图像特征提取的速度是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种图像特征提取的方法、系统、设备及可读存储介质,用于提高图像特征提取的速度。

为解决上述技术问题,本申请提供一种图像特征提取的方法,该方法包括:

获取图像矩阵、卷积核及卷积特性参数;

根据所述卷积核的阶数及所述卷积特性参数将所述卷积核及所述图像矩阵划分为对应的卷积块及图像块;

将所述卷积块与所述图像块进行顺序相乘,并确定得到的乘积结果为所述图像矩阵的特征矩阵。

可选的,所述根据所述卷积核的阶数及所述卷积特性参数将所述卷积核及所述图像矩阵划分为对应的卷积块及图像块,包括:

将所述卷积核划分为所述卷积核的阶数对应数目的卷积块;其中,每个所述卷积块具有所述卷积核的阶数对应数目的卷积元素。

可选的,所述根据所述卷积核的阶数及所述卷积特性参数将所述卷积核及所述图像矩阵划分为对应的卷积块及图像块,包括:

根据所述卷积核的阶数及所述卷积特性参数对所述图像矩阵进行数据调度,得到待划分矩阵;

将所述待划分矩阵划分为所述图像块。

可选的,根据所述卷积核的阶数及所述卷积特性参数对所述图像矩阵进行数据调度,得到待划分矩阵,包括:

根据公式计算拍数的最大值;

根据公式计算所述待划分矩阵中第j行第i块在所述图像矩阵中的地址;

按照所述地址从所述图像矩阵中获取对应的元素在所述待划分矩阵中进行排列;

其中,colij为所述待划分矩阵中第j列第i块在所述图像矩阵中的地址,且1≤i≤m-f,1≤j≤f,m为所述图像矩阵的阶数,s为卷积运算时的步长,f为所述卷积核的阶数,o为所述拍数的最大值。

可选的,将所述卷积块与所述图像块进行顺序相乘,包括:

按照第一拍到第o拍的顺序依次确定与第j个的卷积块中卷积元素相乘的第j行图像块中的图像元素;

将每个所述卷积块中的卷积元素与所述图像块中的图像元素按照所述第一拍到所述第o拍的顺序进行顺序相乘。

本申请还提供一种图像特征提取的系统,该系统包括:

获取模块,用于获取图像矩阵、卷积核及卷积特性参数;

划分模块,用于根据所述卷积核的阶数及所述卷积特性参数将所述卷积核及所述图像矩阵划分为对应的卷积块及图像块;

计算模块,用于将所述卷积块与所述图像块进行顺序相乘,并确定得到的乘积结果为所述图像矩阵的特征矩阵。

可选的,所述划分模块包括:

第一划分子模块,用于将所述卷积核划分为所述卷积核的阶数对应数目的卷积块;其中,每个所述卷积块具有所述卷积核的阶数对应数目的卷积元素。

可选的,所述划分模块包括:

数据调度子模块,用于根据所述卷积核的阶数及所述卷积特性参数对所述图像矩阵进行数据调度,得到待划分矩阵;

第二划分子模块,用于将所述待划分矩阵划分为所述图像块。

本申请还提供一种图像特征提取设备,该图像特征提取设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述图像特征提取的方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述图像特征提取的方法的步骤。

本申请所提供图像特征提取的方法,包括:获取图像矩阵、卷积核及卷积特性参数;根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块;将卷积块与图像块进行顺序相乘,并确定得到的乘积结果为图像矩阵的特征矩阵。

本申请所提供的技术方案,通过根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块,然后将卷积块与图像块进行顺序相乘,并最后根据得到的乘积结果计算图像矩阵的处理结果,使得整个卷积计算过程去除了不需要的乘法运算,降低了对存储单元的需求,并且通过并行运算单元的复用,在有限存储单元运用的前提下,实现了高速运算的改进,极大的提高了图像特征提取的速度。本申请同时还提供了一种图像特征提取的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种图像特征提取的方法的流程图;

图2为图1所提供的一种图像特征提取的方法中s102的一种实际表现方式的流程图;

图3为本申请实施例所提供的一种卷积核分块示意图;

图4为本申请实施例所提供的一种对图像矩阵进行数据调度的示意图;

图5为本申请实施例所提供的一种待划分矩阵划分图像块的示意图;

图6为本申请实施例所提供的一种图像块与卷积块相乘的示意图;

图7为本申请实施例所提供的一种图像特征提取的系统的结构图;

图8为本申请实施例所提供的另一种图像特征提取的系统的结构图;

图9为本申请实施例所提供的一种图像特征提取设备的结构图。

具体实施方式

本申请的核心是提供一种图像特征提取的方法、系统、设备及可读存储介质,用于提高图像特征提取的速度。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以图像特征提取的cnn为例,其中的卷积运算如下所示:

其中假设输入的待卷积运算的数据矩阵为

卷积运算的卷积核为

其中h为输入的图像矩阵,常见为32*32到224*224甚至其他大小不等,f为进行运算的卷积核常见为2*2到7*7甚至其他大小不等,使用gemm算法时先要将输入的h和f分别转换为可以进行矩阵乘积的形式,对于h来说,就是把会与f相乘并且结果累加起来的元素展开成连续的一行或一列,这个展开过程要考虑卷积核f滑动的特征。gemm展开成列或行的方法,分别被称为im2col方法和im2row方法。以上述为例,展开为列的im2col方法可以描述为:

im2row方法与im2col方法类似,基于这种方法展开的运算,可以直接按照行或列进行并行乘加运算,降低运算的复杂度,提高运算的速度和吞吐率,与im2col或im2row的方法不同,kn2col和kn2row的方法在近几年被提出,为得到更高的运算速度表现,针对mac的运算特性,在gemm的最终输出需求之前,以kn2col为例,首先展开所有的卷积核和元素如下所示:

生成一个9*4的矩阵,然后选择所需要的参与加法运算的部分乘积,进行累加计算。kn2row与kn2col类似,只是展开的行列相反。kn2col和kn2row的算法为了提高速度,以1*1的卷积为基础单位,将乘法运算的并行度最大化,在输出端基于卷积特性的选择进行累加,以牺牲面积(存储损耗)为代价,得到最快的并行运算速度。

常见im2col和im2row方法,是将h矩阵内的元素利用查找表的方式,重新排序,然后根据不同的设计需求进行并行乘加运算。其中h矩阵内的元素在h矩阵较小时,可以通过简单的查找表得到,但是在h矩阵较大时,相应的查找表就会变得很大,并且由于不同的卷积核和卷积特性(如步长,补零),也会影响不同的行列排序的h矩阵的生成,使得查找表的生成更加复杂。而kn2col和kn2row的算法虽然在并行展开上做到了极致,可以实现最快的运算速度,但是比较适用于卷积核较小的情况,当卷积核较大时,也会增加大量的冗余乘法运算,造成存储单元的沉重负担。

故本申请提供了一种图像特征提取的方法,用于解决上述问题。

请参考图1,图1为本申请实施例所提供的一种图像特征提取的方法的流程图。

其具体包括如下步骤:

s101:获取图像矩阵、卷积核及卷积特性参数;

这里提到的卷积特性参数可以包括但不限于图像矩阵的阶数、卷积运算时的步长、卷积核的阶数等参数,本申请对此不做具体限定;

可选的,这里提到的图像矩阵可以通过用户直接输入的方式获取,也可以通过连接到服务器指定位置下载得到,还可以通过执行如下步骤实现,即获取图像矩阵、卷积核及卷积特性参数,其具体可以为:

获取图像集,并调用matlab工具将图像集中的每一张图像转化为对应的图像矩阵。

s102:根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块;

在本步骤中,将卷积核及图像矩阵划分为对应的卷积块及图像块的目的在于,令得到的卷积块与图像块相乘,进而可以根据得到的乘积结果计算图像矩阵的处理结果,降低了运算的复杂度,提高了乘加运算的速度和吞吐率;

可选的,这里提到的根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块,其具体可以为:

将卷积核划分为卷积核的阶数对应数目的卷积块;其中,每个卷积块具有卷积核的阶数对应数目的卷积元素。

可选的,这里提到的根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块,其具体也可以通过执行图2所示的步骤实现,下面结合图2进行说明,请参考图2,图2为图1所提供的一种图像特征提取的方法中s102的一种实际表现方式的流程图。

其具体包括以下步骤:

s201:根据卷积核的阶数及卷积特性参数对图像矩阵进行数据调度,得到待划分矩阵;

可选的,这里提到的根据卷积核的阶数及卷积特性参数对图像矩阵进行数据调度,得到待划分矩阵,其具体可以为:

根据公式计算拍数的最大值;

根据公式计算待划分矩阵中第j行第i块在图像矩阵中的地址;

按照地址从图像矩阵中获取对应的元素在待划分矩阵中进行排列;

其中,colij为待划分矩阵中第j列第i块在图像矩阵中的地址,且1≤i≤m-f,1≤j≤f,m为图像矩阵的阶数,s为卷积运算时的步长,f为卷积核的阶数,o为拍数的最大值。

s202:将待划分矩阵划分为图像块。

s103:将卷积块与图像块进行顺序相乘,并确定得到的乘积结果为图像矩阵的特征矩阵。

可选的,在上述实施例的基础上,这里提到的将卷积块与图像块进行顺序相乘,其具体可以为:

按照第一拍到第o拍的顺序依次确定与第j个的卷积块中卷积元素相乘的第j行图像块中的图像元素;

将每个卷积块中的卷积元素与图像块中的图像元素按照第一拍到第o拍的顺序进行顺序相乘。

基于上述技术方案,本申请所提供的一种图像特征提取的方法,通过根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块,然后将卷积块与图像块进行顺序相乘,并最后根据得到的乘积结果计算图像矩阵的处理结果,使得整个卷积计算过程去除了不需要的乘法运算,降低了对存储单元的需求,并且通过并行运算单元的复用,在有限存储单元运用的前提下,实现了高速运算的改进,极大的提高了图像特征提取的速度。

下面介绍本申请提供的一种应用实施例,这里以im2col方法为例,为实现快速并行化运算,首先对输入的待卷积运算矩阵每元素位置进行顺序编号,代表每个元素的位置地址。以下面运算为例:

这里对hij重新按照地址顺序方式描述为hx,这里的x即为对应的地址,待划分矩阵大小为m*m,则顺序编号,分别代表1~m*m个地址的待运算数据。

第一步:基于kn2col展开卷积核,并将其分为f个卷积块,每个卷积块有f个卷积元素,这里以2*2的卷积核为例展开,基于以上分块理论,则展开的卷积块请参考图3,图3为本申请实施例所提供的一种卷积核分块示意图,如图3所示,即卷积核分为卷积块1和卷积块2两块,分别包含的卷积元素为顺序分布的f1到f2和f3到f4。

第二步:划分图像块。需要先对图像矩阵进行数据调度,得到待划分矩阵,即根据公式计算拍数的最大值,然后根据公式计算待划分矩阵中第j行第i块在图像矩阵中的地址,请参考图4及图5,图4为本申请实施例所提供的一种对图像矩阵进行数据调度的示意图,图5为本申请实施例所提供的一种待划分矩阵划分图像块的示意图,如图5所示,以2*2卷积核计算3*3的输入矩阵,步长为1的计算为例,图像块与第一步的卷积块组成4个大小为f*o的小型矩阵。

第三步:图像块中的图像元素与卷积块中的卷积元素按照卷积块的数量顺序相乘,请参考图6,图6为本申请实施例所提供的一种图像块与卷积块相乘的示意图,如图6所示,以2*2卷积核计算3*3的输入矩阵,步长为1的计算为例,则f*o的小型矩阵并行乘法运算,每小块进行f个乘法。下一拍元素当前地址+s,在本申请实施例中,s为1,则第一块第一拍进行的乘法即是f1*h1和f2*h2。下一拍进行的乘法运算即是f1*h2和f2*h3,直至完成o拍的操作。

第四步:对每纵向的运算结果做加法运算,生成最终的卷积结果输出。

请参考图7,图7为本申请实施例所提供的一种图像特征提取的系统的结构图。

该系统可以包括:

获取模块100,用于获取图像矩阵、卷积核及卷积特性参数;

划分模块200,用于根据卷积核的阶数及卷积特性参数将卷积核及图像矩阵划分为对应的卷积块及图像块;

计算模块300,用于将卷积块与图像块进行顺序相乘,并确定得到的乘积结果为图像矩阵的特征矩阵。

请参考图8,图8为本申请实施例所提供的另一种图像特征提取的系统的结构图。

该划分模块200可以包括:

第一划分子模块,用于将卷积核划分为卷积核的阶数对应数目的卷积块;其中,每个卷积块具有卷积核的阶数对应数目的卷积元素。

该划分模块200可以包括:

数据调度子模块,用于根据卷积核的阶数及卷积特性参数对图像矩阵进行数据调度,得到待划分矩阵;

第二划分子模块,用于将待划分矩阵划分为图像块。

该数据调度子模块可以包括:

第一计算单元,用于根据公式计算拍数的最大值;

第二计算单元,用于根据公式计算待划分矩阵中第j行第i块在图像矩阵中的地址;

排列单元,用于按照地址从图像矩阵中获取对应的元素在待划分矩阵中进行排列;

其中,colij为待划分矩阵中第j列第i块在图像矩阵中的地址,且1≤i≤m-f,1≤j≤f,m为图像矩阵的阶数,s为卷积运算时的步长,f为卷积核的阶数,o为拍数的最大值。

该计算模块300可以包括:

确定子模块,用于按照第一拍到第o拍的顺序依次确定与第j个的卷积块中卷积元素相乘的第j行图像块中的图像元素;

顺序相乘子模块,用于将每个卷积块中的卷积元素与图像块中的图像元素按照第一拍到第o拍的顺序进行顺序相乘。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参考图9,图9为本申请实施例所提供的一种图像特征提取设备的结构图。

该图像特征提取设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器922可以设置为与存储介质930通信,在图像特征提取设备900上执行存储介质930中的一系列指令操作。

图像特征提取设备900还可以包括一个或一个以上电源929,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图6所描述的图像特征提取的方法中的步骤由图像特征提取设备基于该图9所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种图像特征提取的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1