图像识别方法及装置技术领域
本公开涉及卷积技术领域,尤其涉及一种图像识别方法及装置。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种高效的图像识别方
法。在CNN中,图像经过一系列的卷积层、激活层、池化层、全连接层的特征提取和处理,得到
待识别图像的识别结果。相关技术中,卷积层的计算原理为使用一个方形卷积核以滑动窗
口的形式在输入的矩形区域上滑动,每滑动到一个新的位置,就计算卷积核与该位置的值
的乘积,方形卷积核的计算量是O(N2),计算量比较大,计算成本较高。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种图像识别方法及装置,用
以减小卷积的计算量,降低计算成本。
根据本公开实施例的第一方面,提供一种图像识别方法,可包括:
将待识别图像输入已训练的第一卷积神经网络,所述第一卷积神经网络包括P组
卷积层,每一组卷积层包括两个卷积层,所述两个卷积层的卷积核分别为大小为1*N的第一
卷积核和大小为N*1的第二卷积核;
通过所述第一卷积神经网络的每一组卷积层对所述待识别图像进行特征提取,得
到所述每一组卷积层的待提取特征;
根据所述每一组卷积层的待提取特征确定所述待识别图像的识别结果。
在一实施例中,方法还包括:
将第二卷积神经网络中的每一个卷积层分解为所述两个卷积层,得到所述第一卷
积神经网络,所述第二卷积神经网络中的每一个卷积层包括一个方形卷积核。
在一实施例中,第二卷积神经网络中的每一个卷积层的卷积核为大小为N*N的方
形卷积核,所述第二卷积神经网络包括P个卷积层;
所述将第二卷积神经网络中的每一个卷积层分解为所述两个卷积层,包括:
将所述第二卷积神经网络中每一个卷积层的大小为N*N的方形卷积核分解为大小
为1*N的第一卷积核和大小为N*1的第二卷积核,所述第一卷积核与所述第二卷积核的乘积
值为所述方形卷积核;
使用所述第一卷积核和所述第二卷积核分别替换所述第二卷积神经网络中对应
的卷积层的方形卷积核,得到所述第一卷积神经网络的一组卷积层。
在一实施例中,通过所述第一卷积神经网络的每一组卷积层对所述待识别图像进
行特征提取,包括:
利用所述第一卷积神经网络的每一组卷积层中的一个卷积层对输入信息进行特
征提取,得到每一组卷积层的待提取特征的中间值;
将所述待提取特征的中间值输入所述每一组卷积层中的另一个卷积层进行特征
提取,得到每一组卷积层的待提取特征。
根据本公开实施例的第二方面,提供一种图像识别装置,可包括:
输入模块,被配置为将待识别图像输入已训练的第一卷积神经网络,所述第一卷
积神经网络包括P组卷积层,每一组卷积层包括两个卷积层,所述两个卷积层的卷积核分别
为大小为1*N的第一卷积核和大小为N*1的第二卷积核;
特征提取模块,被配置为通过所述第一卷积神经网络的每一组卷积层对所述待识
别图像进行特征提取,得到所述每一组卷积层的待提取特征;
确定模块,被配置为根据所述每一组卷积层的待提取特征确定所述待识别图像的
识别结果。
在一实施例中,装置还包括:
分解模块,被配置为将第二卷积神经网络中的每一个卷积层分解为所述两个卷积
层,得到所述第一卷积神经网络,所述第二卷积神经网络中的每一个卷积层包括一个方形
卷积核。
在一实施例中,第二卷积神经网络中的每一个卷积层的卷积核为大小为N*N的方
形卷积核,所述第二卷积神经网络包括P个卷积层;
所述分解模块包括:
分解子模块,被配置为将所述第二卷积神经网络中每一个卷积层的大小为N*N的
方形卷积核分解为大小为1*N的第一卷积核和大小为N*1的第二卷积核,所述第一卷积核与
所述第二卷积核的乘积值为所述方形卷积核;
确定子模块,被配置为使用所述第一卷积核和所述第二卷积核分别替换所述第二
卷积神经网络中对应的卷积层的方形卷积核,得到所述第一卷积神经网络的一组卷积层。
在一实施例中,特征提取模块包括:
第一提取子模块,被配置为利用所述第一卷积神经网络的每一组卷积层中的一个
卷积层对输入信息进行特征提取,得到每一组卷积层的待提取特征的中间值;
第二提取子模块,被配置为将所述待提取特征的中间值输入所述每一组卷积层中
的另一个卷积层进行特征提取,得到每一组卷积层的待提取特征。
根据本公开实施例的第三方面,提供一种图像识别装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
将待识别图像输入已训练的第一卷积神经网络,所述第一卷积神经网络包括P组
卷积层,每一组卷积层包括两个卷积层,所述两个卷积层的卷积核分别为大小为1*N的第一
卷积核和大小为N*1的第二卷积核;
通过所述第一卷积神经网络的每一组卷积层对所述待识别图像进行特征提取,得
到所述每一组卷积层的待提取特征;
根据所述每一组卷积层的待提取特征确定所述待识别图像的识别结果。
本公开的实施例提供的技术方案可以包括以下有益效果:第一卷积神经网络中每
一组卷积层所包括的两个卷积层的卷积核为分别为大小为1*N的第一卷积核和大小为N*1
的第二卷积核,每一组卷积层的卷积核计算量为2*O(N),在卷积核比较大的情况下,本公开
中每一组卷积层的计算量2*O(N)要远低于相关技术中的方形卷积核的计算量O(N2),解决
了相关技术中采用方形卷积核所导致的计算量大、计算成本高的问题。
通过将第二卷积神经网络中的每一个卷积层的方形卷积核拆分为两个正交卷积
核,即可得到第一卷积神经网络,由于两个正交卷积核的乘积即为对应的方形卷积核,因
此,使用第一卷积神经网络中的每一组卷积层对待识别图像的特征提取效果与第二卷积神
经网络中对应的的每一个卷积层的方性卷积核的特征提取效果相同,因此本公开实现了在
卷积效果相同的基础上减小了卷积计算量,降低了计算成本。
通过直接将每一组卷积层中的一个卷积层的提取的第一特征图作为另一个卷积
层的输入,可以实现每一组卷积层的特征提取效果与第二卷积神经网络中对应的一个卷积
层的特征提取效果相同。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施
例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的图像识别方法的流程图。
图2是根据一示例性实施例一示出的通过第二卷积神经网络得到第一卷积神经网
络的流程图。
图3A是根据一示例性实施例二示出的通过第一卷积神经网络的每一组卷积层对
待识别图像进行特征提取的流程图。
图3B是根据一示例性实施例示出的使用第二卷积神经网络中一个方形卷积核对
输入信息进行卷积的示意图。
图3C是根据一示例性实施例示出的使用第一卷积神经网络中的对应图3B的方形
卷积核的一个卷积核对输入信息进行卷积的示意图。
图3D是根据一示例性实施例示出的使用第一卷积神经网络中的对应图3B的方形
卷积核的另一个卷积核对图3C的输出信息进行卷积的示意图。
图4是根据一示例性实施例示出的一种图像识别装置的框图。
图5是根据一示例性实施例示出的另一种图像识别装置的框图。
图6是根据一示例性实施例示出的一种适用于图像识别装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的图像识别方法的流程图;该图像识别方法可以
应用在电子设备(例如:智能手机、平板电脑、个人计算机)上,如图1所示,该图像识别方法
包括以下步骤:
在步骤101中,将待识别图像输入已训练的第一卷积神经网络,第一卷积神经网络
包括P组卷积层,每一组卷积层包括两个卷积层,两个卷积层的卷积核分别为大小为1*N的
第一卷积核和大小为N*1的第二卷积核。
在一实施例中,第一卷积神经网络可通过对第二卷积神经网络进行处理得到,可
通过对第二卷积神经网络中的每一个卷积层进行分解得到第一卷积神经网络,可参见图2
所示实施例,这里先不详述。
在一实施例中,第一卷积神经网络中的卷积层成组出现,每一组卷积层的两个卷
积层的卷积核为一个大小为1*N的第一卷积核和一个大小为N*1的第二卷积核。
在一实施例中,第二卷积神经网络可以为根据相关技术中相关训练方法训练得到
的卷积神经网络,卷积层中的卷积核为方形卷积核,即为N*N卷积核。
在步骤102中,通过第一卷积神经网络的每一组卷积层对待识别图像进行特征提
取,得到每一组卷积层的待提取特征。
在一实施例中,通过第一卷积神经网络的每一组卷积层对待识别图像进行特征提
取的步骤可参见图3A所示实施例,这里先不详述。
在步骤103中,根据每一组卷积层的待提取特征确定待识别图像的识别结果。
在一实施例中,可以根据相关技术中使用卷积神经网络的方式对每一组卷积层提
取的待提取特征进行处理,得到识别结果,例如使用池化层、全连接层等对每一组卷积层的
待提取特征进行处理得到识别结果,这里不再详述。
本实施例中,第一卷积神经网络中每一组卷积层所包括的两个卷积层的卷积核分
别为大小为1*N的第一卷积核和大小为N*1的第二卷积核,每一组卷积层的卷积核计算量为
2*O(N),在卷积核比较大的情况下,本公开中每一组卷积层的计算量2*O(N)要远低于相关
技术中的方形卷积核的计算量O(N2),解决了相关技术中采用方形卷积核所导致的计算量
大、计算成本高的问题。
在一实施例中,方法还包括:
将第二卷积神经网络中的每一个卷积层分解为两个卷积层,得到第一卷积神经网
络,第二卷积神经网络中的每一个卷积层包括一个方形卷积核。
在一实施例中,第二卷积神经网络中的每一个卷积层的卷积核为大小为N*N的方
形卷积核,第二卷积神经网络包括P个卷积层;
将第二卷积神经网络中的每一个卷积层分解为两个卷积层,包括:
将第二卷积神经网络中每一个卷积层的大小为N*N的方形卷积核分解为大小为1*
N的第一卷积核和大小为N*1的第二卷积核,第一卷积核与第二卷积核的乘积值为方形卷积
核;
使用第一卷积核和第二卷积核分别替换第二卷积神经网络中对应的卷积层的方
形卷积核,得到第一卷积神经网络的一组卷积层。
在一实施例中,通过第一卷积神经网络的每一组卷积层对待识别图像进行特征提
取,包括:
利用第一卷积神经网络的每一组卷积层中的一个卷积层对输入信息进行特征提
取,得到每一组卷积层的待提取特征的中间值;
将待提取特征的中间值输入每一组卷积层中的另一个卷积层进行特征提取,得到
每一组卷积层的待提取特征。
具体如何进行图像识别,请参考后续实施例。
下面以一具体实施例来说明本公开实施例提供的技术方案。
图2是根据一示例性实施例一示出的图像识别方法的流程图;本实施例利用本公
开实施例提供的上述方法,以电子设备如何根据第二卷积神经网络的每一个卷积层分解为
两个卷积层为例进行示例性说明,如图2所示,包括如下步骤:
在步骤201中,将第二卷积神经网络中每一个卷积层的大小为N*N的方形卷积核分
解为大小为1*N的第一卷积核和大小为N*1的第二卷积核,第一卷积核与第二卷积核的乘积
值为方形卷积核。
在一实施例中,以方形卷积核为3*3卷积核为例进行举例说明如何分解卷积层。例
如,方形卷积核为可以拆分为一个1*3的第一卷积核[110]和一个为3*1的第二卷
积核在本实施例中,第一卷积核为行向量,第二卷积核为列向量。
在一实施例中,通过将每一个方形卷积核拆分为第一卷积核和第二卷积核,既而
实现将一个卷积层拆分为一组卷积层。
在步骤202中,使用第一卷积核和第二卷积核分别替换第二卷积神经网络中对应
的卷积层的方形卷积核,得到第一卷积神经网络的一组卷积层。
本实施例中,通过将第二卷积神经网络中的每一个卷积层的方形卷积核拆分为两
个正交卷积核,即可得到第一卷积神经网络,由于两个正交卷积核的乘积即为对应的方形
卷积核,因此,使用第一卷积神经网络中的每一组卷积层对待识别图像的特征提取效果与
第二卷积神经网络中对应的的每一个卷积层的方性卷积核的特征提取效果完全相同,因此
本公开实现了在卷积效果相同的基础上减小了卷积计算量,降低了计算成本。
图3A是根据一示例性实施例二示出的通过第一卷积神经网络的每一组卷积层对
待识别图像进行特征提取的流程图,图3B是根据一示例性实施例示出的使用第二卷积神经
网络中一个方形卷积核对输入信息进行卷积的示意图,图3C是根据一示例性实施例示出的
使用第一卷积神经网络中的对应图3B的方形卷积核的一个卷积核对输入信息进行卷积的
示意图,图3D是根据一示例性实施例示出的使用第一卷积神经网络中的对应图3B的方形卷
积核的另一个卷积核对图3C的输出信息进行卷积的示意图;本实施例利用本公开实施例提
供的上述方法,以电子设备如何通过每一组卷积层对待识别图像进行特征提取进行示例性
说明,如图3A所示,包括如下步骤:
在步骤301中,利用第一卷积神经网络的每一组卷积层中的一个卷积层对输入信
息进行特征提取,得到每一组卷积层的待提取特征的中间值。
在步骤302中,将待提取特征的中间值输入每一组卷积层中的另一个卷积层进行
特征提取,得到每一组卷积层的待提取特征。
在一实施例中,参见图3B,这里以输入信息31为5*5的待识别图像31,通过第二卷
积神经网络中源卷积核,即标号为36的方形卷积核进行特征提取得到标号为35的特征,第
二卷积神经网络中方形卷积核36可以分解为第一卷积核32为[110],和第二卷积核34为
在一实施例中,在步骤301中,参见图3C,将输入信息31输入第一卷积神经网络中
的一组卷积层的一个卷积层,通过第一卷积核32进行卷积处理,得到该组卷积层的待提取
特征的中间值,也即标号为33的特征;在步骤302中,参见图3D,通过将标号为33的特征输入
第一卷积神经网络中的另一个卷积层,并使用第二卷积核34进行卷积处理,得到标号为35
的特征。通过图3B-图3D可知,本公开使用一个1*N的卷积核和一个N*1的卷积核对待识别图
像进行卷积的效果与相关技术中使用一个方形卷积核进行卷积的效果相同。
本实施例中,通过直接将每一组卷积层中的一个卷积层的提取的第一特征图作为
另一个卷积层的输入,可以实现每一组卷积层的特征提取效果与第二卷积神经网络中对应
的一个卷积层的特征提取效果完全相同。
与前述图像识别方法的实施例相对应,本公开还提供了图像识别装置及其所应用
的电子设备的实施例。
图4是根据一示例性实施例示出的一种图像识别装置的框图,如图4所示,图像识
别装置包括:
输入模块410,被配置为将待识别图像输入已训练的第一卷积神经网络,第一卷积
神经网络包括P组卷积层,每一组卷积层包括两个卷积层,两个卷积层的卷积核分别为大小
为1*N的第一卷积核和大小为N*1的第二卷积核;
特征提取模块420,被配置为通过第一卷积神经网络的每一组卷积层对待识别图
像进行特征提取,得到每一组卷积层的待提取特征;
确定模块430,被配置为根据每一组卷积层的待提取特征确定待识别图像的识别
结果。
图5是根据一示例性实施例示出的另一种图像识别装置的框图,如图5所示,在上
述图4所示实施例的基础上,在一实施例中,装置还包括:
分解模块440,被配置为将第二卷积神经网络中的每一个卷积层分解为两个卷积
层,得到第一卷积神经网络,第二卷积神经网络中的每一个卷积层包括一个方形卷积核。
在一实施例中,第二卷积神经网络中的每一个卷积层的卷积核为大小为N*N的方
形卷积核,第二卷积神经网络包括P个卷积层;
分解模块440包括:
分解子模块441,被配置为将第二卷积神经网络中每一个卷积层的大小为N*N的方
形卷积核分解为大小为1*N的第一卷积核和大小为N*1的第二卷积核,第一卷积核与第二卷
积核的乘积值为方形卷积核;
确定子模块442,被配置为使用第一卷积核和第二卷积核分别替换第二卷积神经
网络中对应的卷积层的方形卷积核,得到第一卷积神经网络的一组卷积层。
在一实施例中,特征提取模块420包括:
第一提取子模块421,被配置为利用第一卷积神经网络的每一组卷积层中的一个
卷积层对输入信息进行特征提取,得到每一组卷积层的待提取特征的中间值;
第二提取子模块422,被配置为将将待提取特征的中间值输入每一组卷积层中的
另一个卷积层进行特征提取,得到每一组卷积层的待提取特征。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的
实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实
施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明
的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是
物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要
选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创
造性劳动的情况下,即可以理解并实施。
图6是根据一示例性实施例示出的一种适用于图像识别装置的框图。例如,装置
600可以是电子设备,例如平板电脑、智能手机等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源
组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及
通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相
机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指
令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便
于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多
媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示
例包括用于在装置600上操作的任何应用程序或方法的指令,消息,图片等。存储器604可以
由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器
(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程
只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电力组件606可以包括电源管理系
统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在装置600和用户之间的提供一个输出接口的屏幕。在一些实
施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可
以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以
感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而
且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括
一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前
置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可
以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克
风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配
置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组
件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可
以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁
定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评
估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如组件
为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位
置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度
变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近
物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应
用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁
传感器,距离感应器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置
600可以接入基于通信标准的无线网络,如WIFI,2G或3G,或它们的组合。在一个示例性实施
例中,通信部件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。
在一个示例性实施例中,通信部件616还包括近场通信(NFC)模块,以促进短程通信。例如,
在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙
(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信
号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列
(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法,包括:
将待识别图像输入已训练的第一卷积神经网络,第一卷积神经网络包括P组卷积
层,每一组卷积层包括两个卷积层,两个卷积层的卷积核分别为大小为1*N的第一卷积核和
大小为N*1的第二卷积核;
通过第一卷积神经网络的每一组卷积层对待识别图像进行特征提取,得到每一组
卷积层的待提取特征;
根据每一组卷积层的待提取特征确定待识别图像的识别结果。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例
如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,
非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光
数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其
它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。