一种基于卷积神经网络的图像识别方法和装置与流程

文档序号:14249999阅读:184来源:国知局
一种基于卷积神经网络的图像识别方法和装置与流程

本发明涉及图像处理领域,特别涉及一种基于卷积神经网络的图像识别方法和装置。



背景技术:

图像识别技术是人工智能的一个重要领域。它是指对图像进行对象识别,以识别各种不同模式的目标和对像的技术。

现有技术中,图像识别技术对图像数据简单预处理,输入至卷积神经网络中训练得到网络的权重,并根据训练所得网络的权重计算得到特征向量,通过对特征向量进行处理获得图像识别的结果。

然而,现有技术中参与训练的图像数据之间的图像质量有较大差异。一些低质量的图像,如低分辨率、模糊、光照过强或过暗、图像内容偏转较大或者有遮挡等,会影响网络参数的学习效果,不利于提升识别系统的性能。因此在识别质量较差的图像时错误率较高,同时还浪费了很多不必要的计算资源。



技术实现要素:

有鉴于此,本发明实施例提供一种基于卷积神经网络的图像识别方法和装置,解决了现有图像识别技术中存在的图像识别效率较低的问题。

第一方面,本发明实施例提供了一种基于卷积神经网络的图像识别方法,包括:

基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值,其中,所述质量量化值用于表示待识别图像的识别度;

比较所述质量量化值与质量判别预设阈值;

若所述质量量化值大于或等于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像;

若所述质量量化值小于所述质量判别阈值,则剔除所述待识别图像。

第二方面,本发明实施例提供了一种基于卷积神经网络的图像识别装置,包括:

质量量化值提取模块,用于基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值,其中,所述质量量化值用于表示待识别图像的识别度;

图像质量判别模块,用于比较所述质量量化值与质量判别预设阈值;

第一图像识别模块,用于若所述质量量化值大于或等于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像;

第二图像识别模块,用于若所述质量量化值小于所述质量判别阈值,则剔除所述待识别图像。

第三方面,本发明实施例提供了一种设备,该设备具体包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本实施例中所述的图像识别方法。

第四方面,本发明实施例提供了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中所述的图像识别方法。

由上述技术方案可知,本发明实施例提出一种图像识别方法,解决了现有图像识别技术中存在图像识别效率较低的问题。通过提取待识别图像的质量量化值,并根据质量量化值判定是否对待识别图像进一步,进而仅对识别度较高的图像进行识别,提高了图像识别效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是本发明实施例一中的一种图像识别方法流程示意图;

图2是本发明实施例二中的一种图像识别方法流程示意图;

图3是本发明实施例四中的一种图像识别装置结构示意图;

图4是本发明实施例五中的一种设备结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一中的一种图像识别方法流程图,本实施例可适用于各个场景下的图像识别,例如人脸识别、车牌识别和生物医学图像识别,该方法可以由图像识别装置来执行,该图像识别装置可以集成于cpu和/或gpu中。如图1所示,图像识别方法具体包括如下步骤:

s110、基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值;其中,所述质量量化值用于表示待识别图像的识别度。

本实施例中所述的卷积神经网络通过训练得到,该卷积神经网络包括图像质量预测分支和图像特征提取分支两部分。其中,所述图像质量预测分支用于提取待识别图像的质量量化值;图像特征提取分支用于提取图像的特征向量。所述质量量化值用于表示待识别图像的识别度,所述质量量化值越高,待识别图像的识别度越高,待识别图像就越容易识别;质量量化值越低,待识别图像的识别度越难识别。

具体的,所述待识别图像的识别度会受多方面因素的影响,例如分辨率、清晰度、采集照片时的光照均匀程度、图像内容的完整度;分辨率较低、光照均匀过暗或过亮、清晰度过低和图像内容的完整度过低。

s120、比较所述质量量化值与质量判别预设阈值。

其中,质量判别预设阈值由开发人员根据神经网络的期望结果预先设置。

具体的,本实施例在获取到质量量化值后,可以对质量判别预设阈值和质量量化值进行比较,进而判定是否对该质量量化值进一步识别。

s130、若所述质量量化值大于或等于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像。

其中,图像特征提取分支用于提取待识别图像的特征向量,并根据特征向量识别所述待识别图像的图像内容。

本实施例中当判定质量量化值大于或等于所述质量判别预设阈值时,判断待识别图像的识别度较高,即越容易识别;此时,利用图像特征提取分支对待识别图像进一步识别,具体的,图像特征提取分支提取待识别图像的特征向量,进而根据该特征向量识别待识别图像的图像内容。

s140、若所述质量量化值小于所述质量判别阈值,则剔除所述待识别图像。

对应的,当判定质量量化值小于所述质量判别预设阈值时,判断待识别图像的识别度较低,即越不容易识别,此时则剔除待识别图像,即不对该待识别图像进一步识别。这样设置的好处在于,剔除识别度较低的待识别图像不仅节省图像识别过程中的计算资源,进而提高图像识别方法的执行效率,而且提高了图像识别结果的准确率。

可以选择的,通过统计不同数据集的质量预测值,可以将判别预设阈值设定为50%。

可选的,基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值之前,包括:对所述待识别图像进行预处理操作;其中,所述预处理操作包括特征检测和关键点标注;根据关键点将所述待识别图像调整到对应位置;将所述待识别图像划归至同一尺度。

其中,所述特征检测用于检测待识别图像中图像内容的关键点,例如,当图像内容为人脸时,所述特征检测可以用于检测人脸的轮廓、五官形状、五官的具体位置或肤色等特征;当图像内容为虹膜时,所述特征检测可以用于虹膜形状、虹膜像冠、水晶体、条纹等特征。所述关键点标注,关键点在待识别图像中的位置进行标志。所述将待识别图像划归至同一尺度,可以是将待识别图像的尺寸进行划归,例如,本实施例中可以将所述待识别图像统一划归为245*245尺度。

可以选择的,本实施例所述的卷积神经网络可以用于识别人脸图像,进而提高人脸图像识别过程的执行效率。

本实施例的技术方案,通过对待识别图像进行质量判别,剔除质量量化值小于所述质量判别预设阈值的待识别图像,可以大大减少识别所需的计算资源,提升人脸识别效率和准确率。

实施例二

图2为本发明实施例二提供的一种图像识别方法流程图,本实施例在上述实施例的基础上增加了对卷积神经网络的训练过程,具体包括如下步骤:

s210、获取至少三个身份数据集作为训练数据集,并将所述训练数据集作为基模型的输入。其中,训练数据集中包括至少两个表示相同图像内容的身份数据集,和至少两个表示不同图像内容身份数据集;身份数据集中包括多个表示相同图像内容的训练图像。

其中,每一个身份数据集中的图像所表示的图像内容相同,例如,a身份数据集中的图像所表示的图像内容都是用户a的脸部图像,b身份数据集中的图像所表示的图像内容都是用户b的脸部图像。

所述基模型用于训练得到所述卷积神经网络。训练方式可以是有监督训练,也可以是无监督训练。训练过程中,基模型中的参数会根据输入的训练数据集不断进行调整,直至得到可准确识别图像的卷积神经网络。

可以选择的,所述卷积神经网络和/或基模型的结构包括:输入层、卷积池化单元、全连接层、sigmoid层、normalization层;所述卷积池化单元包括:相连的卷积层、batchnorm层、激活层、均值池化层和scale层。

本实施例中,训练数据集中的身份数据集可以从预设的数据库获取得到。可选的,当数据库中预存的身份数据集内的图像数量过大时,可以从身份数据集获取身份数据集的子集,进而得到训练数据集。

具体的,训练数据集中包括至少两个表示相同图像内容的身份数据集,和至少两个表示不同图像内容身份数据集。其中,相同图像内容的身份数据集可以使相同身份的图像表示尽量贴合,不同图像内容身份数据集可以使不同身份的图像表示尽量贴合,从而准确区分不同的图像内容。

可选的,训练数据集中各身份数据集内的待识别图像的数量相同。

s220、对于任意一个训练图像,基于基模型中的图像质量预测分支提取所述训练图像的质量量化值;基于所述基模型中的图像特征提取分支提取所述训练图像的特征向量;其中,所述基模型用于训练得到所述卷积神经网络;所述质量量化值与所述特征向量一一对应。

其中,本实施例中所述的质量量化值和特征向量的定义与上述实施例相同。

可以选择的,对于任意一个训练图像,并行提取训练图像的特征向量和质量量化值。具体的,基于基模型中的图像质量预测分支提取所述训练图像的质量量化值,和基于所述基模型中的图像特征提取分支提取所述训练图像的特征向量两个步骤可以并行执行,进而加快图像识别速率。

s230、将质量量化值作为对应于所述质量量化值的特征向量的附加权重信息,并对所述特征向量加权求和得到图像内容表示;所述图像内容表示与所述身份数据集一一对应。

其中,图像内容表示用于标识身份数据集内全部图像的整体特征。具体的,在同一身份的数据集中,可以将质量预测值的大小作为衡量每张图像对同一身份下的数据集表示的贡献大小的标准,识别度低的图像贡献小,识别度大的图像贡献大,因此在卷积神经网络的训练过程中,图像特征提取分支更加关注于识别度高的图像而忽视识别度低的图像,进而提升图像识别的准确率。

s240、利用预设损失函数和所述训练数据集中与身份数据集分别对应的图像内容表示,计算模型损失。

其中,损失函数是用来评价卷积神经网络的预测值与真实值的不一致程度,当所述模型损失越小,该卷积神经网络识别图像的准确性越高。相反的,当所述模型损失越大,该卷积神经网络识别图像的准确性越低。

s250、利用梯度反传法,并根据所述模型损失调整所述基模型的权重参数。

其中,所述梯度反传法的原理在将预测值与实际值间的误差从卷积神经网络的输出层想隐藏层反向传播,直至传播到输入层。

在反向传播的过程中,根据所述模型损失调整基模型的权重参数,直至收敛。

s260、返回执行训练数据集获取操作,并继续调整权重参数,直至满足迭代条件为止;确定最终权重参数,并得到所述卷积神经网络。

其中,所述迭代条件可以有开发人员预先设定,可以用于判断所述模型损失的条件,也可以是卷积神经网络的图像识别的准确率。

s270、基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值,其中,所述质量量化值用于表示待识别图像的识别度。

s280、比较所述质量量化值与质量判别预设阈值。

s290、若所述质量量化值大于或等于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像。

s2100、若所述质量量化值小于所述质量判别阈值,则剔除所述待识别图像。

本实施例中,通过计算质量量化值,不仅节省了标注的人力物力,制定了统一的量化标准;而且将质量量化值作为辅助信息利用到卷积神经网络的训练过程中,提高了卷积神经网络的表达能力,进而增强了网络对低质量图片的适应性。以基于每个身份数据集的图像内容为输入的损失函数计算网络损失,使不同身份集的数据集合的特征尽量分离,同一身份集的数据集合的特征尽量贴近,从而区分不同身份,进而提高卷积神经网络图像识别能力的准确性。

可以选择的,将所述训练数据集输入至基模型之前,还包括:对所述训练数据集中的训练图像进行预处理操作;其中,所述预处理操作包括特征检测和关键点标注;根据关键点将所述训练图像调整到对应位置;将所述训练图像划归至同一尺度。

本实施例所述的卷积神经网络可以用于识别人脸图像。

实施例三

本实施例在上述实施例的基础上,将基于人脸图像识别的场景提出了一个优选实施例,具体包括如下步骤:

对训练数据集所有人脸图像ii(i=1,2,...ntrain)进行预处理操作。预处理操作包括人脸检测和提取关键点,提取出有人脸的图像并记录人脸的关键点,再根据关键点对每一张输入图像进行对齐,统一划归到245*245尺度。记处理之后的人脸图像为ii(i=1,2,...ntrain)。

在输入到基模型进行训练时,先为每一轮的训练挑选一批特定组成的训练数据集。具体方法为,随机选择三个身份数据集作为一组训练数据集,分别为sa、sp和sn。其中,sa表示a用户的身份数据集,sp表示用户p的身份数据集,sn表示用户n的身份数据集,a=p,a≠n,即用户a与用户p为同一身份,用户a与用户n为不同身份。再在三个身份数据集下各随机挑选n张训练图像,组成每一轮训练数据集{sa、sp、sn}。

将训练数据集输入到卷积神经网络中训练,得到待识别图像的特征向量和质量量化值。

其中,获得待识别图像的特征向量的方法具体为:

其中xi,j为训练集imgtrain中图像ii(i=1,2,...ntrain)的第j+1维度的特征向量数值θ1为特征提取分支的网络参数。

获得待识别图像的质量量化值μi的具体方法为:

μi=θ2·i′i

其中μi为人脸图像i′i的质量量化值,θ2为质量预测分支的网络参数。

根据图像质量预测分支提取质量量化值,和图像特征提取分支提取的特征向量,分别获得三个身份数据集的图像内容表示ra(sa)、ra(sp)、ra(sn),其中,ra(sa)表示sa的图像内容表示,ra(sp)表示sp的图像内容表示,ra(sn)表示sn的图像内容表示。

具体计算方法为:

μi=θ2·i′i

即在每个身份集合内,把每张人脸图像的质量预测值μi作为附加权重信息对相应图像的特征向量进行加权求和,所求结果即为各个身份集合的图像内容表示。

根据每轮训练数据集{sa,sp,sn}中每个身份集合的表示ra(sa),ra(sp),ra(sn),带入到损失函数中进行计算,得卷积神经网络的模型损失,再利用随机梯度下降更新网络参数,完成每次训练过程。

其中,损失函数可以是:

ltriplet=||ra(sa)-ra(sp)||-||ra(sa)-ra(sn)||+δ

lcontrastive=||ra(sa)-ra(sp)||2

其中,δ为常量。

triplet损失函数可以使不同身份的数据集合的表示尽量分离,contrastive损失函数是使同一身份的数据集合的表示尽量贴近,从而区分不同身份。

在训练到一定轮数后,模型损失减小到一定范围内,即可保留卷积神经网络的最终权重参数θf,并得到所述卷积神经网络。

实施例四

图3为本发明实施例三提供的一种图像识别装置结构示意图,如图3所示,所述图像识别装置包括:质量量化值提取模块310、图像质量判别模块320、第一图像识别模块330和第二图像识别模块340。

其中,质量量化值提取模块310,用于基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值,其中,所述质量量化值用于表示待识别图像的识别度;

图像质量判别模块320,用于比较所述质量量化值与质量判别预设阈值;

第一图像识别模块330,用于若所述质量量化值大于或等于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像;

第二图像识别模块340,用于若所述质量量化值小于所述质量判别阈值,则剔除所述待识别图像。

本实施例的技术方案,通过对待识别图像进行质量判别,剔除质量量化值小于所述质量判别预设阈值的待识别图像,可以大大减少识别所需的计算资源,提升人脸识别效率和准确率。

在上述实施例的基础上,所述图像识别装置还包括:

预处理模块,用于对所述待识别图像进行预处理操作;其中,所述预处理操作包括特征检测和关键点标注;

图像位置调整模块,用于根据关键点将所述待识别图像调整到对应位置;

图像尺度划归模块,用于将所述待识别图像划归至同一尺度。

在上述实施例的基础上,所述图像识别装置还包括神经网络训练模块,该图像识别装置具体包括:数据获取和输入单元,用于从数据库中获取至少三个身份数据集作为训练数据集,并将所述训练数据集作为基模型的输入;其中,训练数据集中包括至少两个表示相同图像内容的身份数据集,和至少两个表示不同图像内容身份数据集;每个身份数据集中包括多个表示相同图像内容的训练图像;所述基模型用于训练得到所述卷积神经网络;

特征信息提取单元,对于针对任意一个训练图像,基于基模型中的图像质量预测分支提取所述训练图像的质量量化值;基于所述基模型中的图像特征提取分支提取所述训练图像的特征向量;其中,所述基模型用于训练得到所述卷积神经网络;所述质量量化值与所述特征向量一一对应;

图像内容表示计算单元,用于将质量量化值作为对应于所述质量量化值的特征向量的附加权重信息,并对所述图像特征加权求和得到图像内容表示;所述图像内容表示与所述身份数据集一一对应;

模型损失计算单元,用于利用训练数据集中至少三个身份数据集分别对应的图像内容表示和预设损失函数,计算模型损失;

权重参数调整单元,用于利用梯度反传法,并根据所述模型损失调整所述基模型的权重参数;

最终权重参数确定模块,用于返回执行训练数据集获取操作,并继续调整权重参数,直至满足迭代条件为止;确定最终权重参数,并得到所述卷积神经网络。

在上述实施例的基础上,对于任意一个训练图像,并行提取训练图像的图像特征和质量量化值。

在上述实施例的基础上,所述卷积神经网络和/或基模型的结构包括:输入层、卷积池化单元、全连接层、sigmoid层、normalization层;所述卷积池化单元包括:相连的卷积层、batchnorm层、激活层、均值池化层和scale层。

在上述实施例的基础上,神经网络训练模块还包括:

预处理单元,用于对所述训练数据集中的训练图像进行预处理操作;其中,所述预处理操作包括特征检测和关键点标注;

图像位置调整单元,用于根据关键点将所述训练图像调整到对应位置;

图像尺度划归单元,用于将所述训练图像划归至同一尺度。

在上述实施例的基础上,所述卷积神经网络用于识别人脸图像。

本发明实施例所提供的图像识别装置可执行本发明任意实施例所提供的图像识别方法,具备执行方法相应的功能模块和有益效果。

实施例五

图4为本发明实施例五提供的一种设备的结构示意图,如图4所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的冠字号图像获取方法对应的模块(例如,冠字号图像获取装置中的质量量化值提取模块310、图像质量判别模块320、第一图像识别模块330和第二图像识别模块340。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的图像识别方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图像识别方法,该方法包括:

基于卷积神经网络中的图像质量预测分支提取待识别图像的质量量化值,其中,所述质量量化值用于表示待识别图像的识别度;

比较所述质量量化值与质量判别预设阈值;

若所述质量量化值小于所述质量判别预设阈值,则基于卷积神经网络中的图像特征提取分支识别所述待识别图像;

若所述质量量化值大于或等于所述质量判别阈值,则不识别所述待识别图像。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种图像识别方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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