图像类别的确定方法、装置及存储介质与流程

文档序号:11231294阅读:1054来源:国知局
图像类别的确定方法、装置及存储介质与流程

本公开涉及图像处理领域,尤其涉及一种图像类别的确定方法、装置及存储介质。



背景技术:

在相关技术中,深度卷积神经网络(英文:convolutionneuralnetworks简称:cnn)被经常使用于图像识别中,能够支持对图像的单标签的分类,例如,对于1000个类别的分类问题,通过目前的cnn对图像进行识别,输出结果为一个1000维的概率向量,用于表示对应的1000个类别中每一个类别的置信度,这1000个类别的置信度之和为1,其中置信度最高的类别就是该待识别图像的类别标签,也就是说利用该cnn只能从这1000个类别中确定该图像的一个类别标签。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种图像类别的确定方法、装置及存储介质。

根据本公开实施例的第一方面,提供一种图像类别的确定方法,包括:

获取目标图像的图像数据;

通过后向传递算法确定深度卷积神经网络的目标参数,所述深度卷积神经网络用于对所述图像数据进行识别;

在确定所述深度卷积神经网络的目标参数后,将所述图像数据作为所述深度卷积神经网络输入,获取所述深度卷积神经网络输出的预设个数的二分类概率,其中,每个所述二分类概率对应一个类别,且每个所述二分类概率互不相关;

根据所有的所述二分类概率确定所述目标图像的类别。

可选的,所述深度卷积神经网络,包括:二维神经元全连接层,至少一个一维神经元全连接层和至少一个卷积层,其中,所述二维神经元全连接层位于所述至少一个一维神经元全连接层的下层,所述至少一个一维神经元全连接层位于所述至少一个卷积层的下层。

可选的,所述通过后向传递算法确定深度卷积神经网络的目标参数,包括:

分别对所述深度卷积神经网络的每层的每个参数建立临时存储器;

利用为所述深度卷积神经网络的每层的每个参数建立的临时存储器,通过所述后向传递算法训练所述深度卷积神经网络的参数;

其中,当所述深度卷积神经网络中的所有层执行一次所述训练所述深度卷积神经网络的参数的步骤后,再次执行所述训练所述深度卷积神经网络的参数的步骤,直至所述深度卷积神经网络中每层的每个参数的梯度值满足预设的收敛条件时,将所述深度卷积神经网络中每层的每个参数的当前值确定为所述深度卷积神经网络的目标参数。

可选的,所述训练所述深度卷积神经网络的参数的步骤包括:

在所述深度卷积神经网络的当前层不存在下一层时,将所述当前层的每个参数,分别与所述当前层的每个参数对应的临时存储器中存储的梯度值相加,得到所述当前层的更新后的参数;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行所述训练所述深度卷积神经网络的参数的步骤时得到的,所述深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

获取所述当前层的每个更新后的参数的当前梯度值;

将所述当前层的每个更新后的参数的当前梯度值存储在与所述当前层的每个参数对应的临时存储器中。

可选的,所述训练所述深度卷积神经网络的参数的步骤包括:

在所述深度卷积神经网络的当前层存在下一层时,将所述当前层的每个参数对应的临时存储器中存储的梯度值,分别与所述下一层的临时存储器中存储的与所述当前层的每个参数关联的参数的梯度值相加,得到所述当前层的每个参数的新的梯度值;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行所述训练所述深度卷积神经网络的参数的步骤时得到的,所述深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

将所述当前层的每个参数的新的梯度值,分别与所述当前层的每个参数相加,得到所述当前层的更新后的参数;

获取所述当前层的每个更新后的参数的当前梯度值;

将所述当前层的每个更新后的参数的当前梯度值存储在与所述当前层的每个参数对应的临时存储器中;

其中,所述当前层和所述下一层为所述深度卷积神经网络中任意相邻的两层。

可选的,所述二分类概率包括,肯定概率值和否定概率值,所述肯定概率值是所述图像属于所述二分类概率对应分类的概率值,所述根据所有的所述二分类概率确定所述目标图像的类别,包括:

将所述所有的所述二分类概率中所述肯定概率值大于预设概率阈值的所述二分类概率,确定为目标二分类概率;

将所有所述目标二分类概率所对应类别确定为所述目标图像的类别。

可选的,所述二维神经元全连接层包括利用逻辑回归函数确定的预设个数的二维神经元。

根据本公开实施例的第二方面,提供一种图像类别的确定装置,包括:

图像数据获取模块,被配置为获取目标图像的图像数据;

图像数据识别模块,被配置为通过后向传递算法确定深度卷积神经网络的目标参数,所述深度卷积神经网络用于对所述图像数据进行识别;

二分类概率输出模块,被配置为在确定所述深度卷积神经网络的目标参数后,将所述图像数据作为所述深度卷积神经网络输入,获取所述深度卷积神经网络输出的预设个数的二分类概率,其中,每个所述二分类概率对应一个类别,且每个所述二分类概率互不相关;

图像类别确定模块,被配置为根据所有的所述二分类概率确定所述目标图像的类别。

可选的,所述深度卷积神经网络,包括:二维神经元全连接层,至少一个一维神经元全连接层和至少一个卷积层,其中,所述二维神经元全连接层位于所述至少一个一维神经元全连接层的下层,所述至少一个一维神经元全连接层位于所述至少一个卷积层的下层。

可选的,所述图像数据识别模块,包括存储器建立子模块和参数训练子模块:

所述存储器建立子模块,被配置为分别对所述深度卷积神经网络的每层的每个参数建立临时存储器;

所述参数训练子模块,被配置为利用为所述深度卷积神经网络的每层的每个参数建立的临时存储器,通过所述后向传递算法训练所述深度卷积神经网络的参数;

其中,当所述深度卷积神经网络中的所有层执行一次所述训练所述深度卷积神经网络的参数的步骤后,再次执行所述训练所述深度卷积神经网络的参数的步骤,直至所述深度卷积神经网络中每层的每个参数的梯度值满足预设的收敛条件时,将所述深度卷积神经网络中每层的每个参数的当前值确定为所述深度卷积神经网络的目标参数。

可选的,所述参数训练子模块,被配置为:

在所述深度卷积神经网络的当前层不存在下一层时,将所述当前层的每个参数,分别与所述当前层的每个参数对应的临时存储器中存储的梯度值相加,得到所述当前层的更新后的参数;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行所述训练所述深度卷积神经网络的参数的步骤时得到的,所述深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

获取所述当前层的每个更新后的参数的当前梯度值;

将所述当前层的每个更新后的参数的当前梯度值存储在与所述当前层的每个参数对应的临时存储器中。

可选的,所述参数训练子模块,被配置为:

在所述深度卷积神经网络的当前层存在下一层时,将所述当前层的每个参数对应的临时存储器中存储的梯度值,分别与所述下一层的临时存储器中存储的与所述当前层的每个参数关联的参数的梯度值相加,得到所述当前层的每个参数的新的梯度值;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行所述训练所述深度卷积神经网络的参数的步骤时得到的,所述深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

将所述当前层的每个参数的新的梯度值,分别与所述当前层的每个参数相加,得到所述当前层的更新后的参数;

获取所述当前层的每个更新后的参数的当前梯度值;

将所述当前层的每个更新后的参数的当前梯度值存储在与所述当前层的每个参数对应的临时存储器中;

其中,所述当前层和所述下一层为所述深度卷积神经网络中任意相邻的两层。

可选的,所述二分类概率包括,肯定概率值和否定概率值,所述肯定概率值是所述图像属于所述二分类概率对应分类的概率值;所述图像类别确定模块,包括:

二分类概率识别子模块,被配置为将所述所有的所述二分类概率中所述肯定概率值大于预设概率阈值的所述二分类概率,确定为目标二分类概率;

图像类别确定子模块,被配置为将所有所述目标二分类概率所对应类别确定为所述目标图像的类别。

可选的,所述二维神经元全连接层包括利用逻辑回归函数确定的预设个数的二维神经元。

根据本公开实施例的第三方面,提供一种图像类别的确定装置,所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:获取目标图像的图像数据;通过后向传递算法确定深度卷积神经网络的目标参数,所述深度卷积神经网络用于对所述图像数据进行识别;在确定所述深度卷积神经网络的目标参数后,将所述图像数据作为所述深度卷积神经网络输入,获取所述深度卷积神经网络输出的预设个数的二分类概率,其中,每个所述二分类概率对应一个类别,且每个所述二分类概率互不相关;根据所有的所述二分类概率确定所述目标图像的类别。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的计算机程序指令由处理器执行时,能够实现第一方面所述方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

上述技术方案在获取目标图像的图像数据后,通过后向传递算法确定深度卷积神经网络的目标参数,所述深度卷积神经网络用于对所述图像数据进行识别,在确定所述深度卷积神经网络的目标参数后,将所述图像数据作为所述深度卷积神经网络输入,获取所述深度卷积神经网络输出的预设个数的二分类概率,其中,每个所述二分类概率对应一个类别,且每个所述二分类概率互不相关,并根据所有的所述二分类概率确定所述目标图像的类别。本公开所提供的技术方案通过改进深度卷积神经网络的结构,使得深度卷积神经网络输出互不相关的二分类概率,能够实现对图像的多标签分类。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是相关技术中的基于alexnet网络结构的cnn的结构示意图;

图2是根据一示例性实施例示出一种基于alexnet网络结构的cnn的结构示意图;

图3是根据一示例性实施例示出的一种图像类别的确定方法的流程图;

图4是根据一示例性实施例示出的一种图像类别的确定方法的流程图;

图5是根据一示例性实施例示出的一种图像类别的确定方法的流程图;

图6是根据一示例性实施例示出的一种图像类别的确定方法的流程图;

图7是根据一示例性实施例示出的一种图像类别的确定装置的框图;

图8是根据一示例性实施例示出的一种图像数据识别模块的框图;

图9是根据一示例性实施例示出的一种图像类别确定模块的框图;

图10是根据另一示例性实施例示出的一种图像类别的确定装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在介绍本公开的实施例之前,首先对深度卷积神经网络进行介绍。

在本公开实施例中,涉及的cnn结构,可以基于alexnet网络结构,在基于该结构的cnn中,图像数据会分别经过一系列的卷积层(英文:convolutionlayer)、激活层(英文:activationlayer)、池化层(英文:poolinglayer)、全连接层(英文:fullyconnectedlayer)的处理,并通过类别概率层(英文:softmaxlayer)进行结果的输出。采用cnn进行图像数据的识别能够获取对平移、缩放和旋转不变的观测数据的显著特征,图像数据的局部感受区域允许神经元(或者处理单元)访问到基础的图像特征,例如定向边缘或者角点。但是相关技术中的cnn只支持单标签分类,并不支持多标签分类,即可以理解为只能识别出图像的一个分类,因此对于包括多个类别对象的图像也只能识别出其中的一个类别。例如,在一幅图像中同时出现了猫和狗,当相关技术中的cnn对图像进行识别后所输出的识别结果中,猫和狗的置信度是此消彼长的关系,即其识别结果非猫即狗,无法实现在同一图像中对多个类别的对象的识别。

因此,本公开实施例所提出的cnn的网络结构是基于alexnet的网络结构进行的改进。alexnet是最初应用于大规模图像识别并取得积极结果的深度卷积神经网络的结构,相关技术中alexnet网络结构包括8层,如图1所示。其中第一层到第五层是卷积层,以第一层为例,当输入的图像规格采用224*224*3时,第一层的卷积滤波器的大小是11*11,卷积步幅设置为4,包括96个卷积滤波器,因此该第一层的输出是96个55*55大小的图像,在卷积滤波之后还可以接有relus(英文:rectifiedlinearunits,中文:激活函数)操作和最大池化(英文:max-pooling)处理操作,用于提高深度卷积神经网络的训练速度以及提高训练的经度,不容易产生过拟合的训练结果。从第一层到第五层,每层设置有不同大小和个数的滤波器,如图1所示,第二层的卷积滤波器的大小是5*5,设置有256个卷积滤波器,第三层和第四层的卷积滤波器的大小是3*3,设置有384个卷积滤波器,第五层的的卷积滤波器的大小是3*3,设置有256个卷积滤波器,通过对输入图像数据进行逐层的卷积处理,其处理过程与上述的第一层相同,最终输出256个6*6的特征图像。之后第六层到第八层是全连接层,是在前五层卷积层的基础上再加上一个三层的全连接神经网络分类器。以第六层为例,该第六层的神经元个数为4096个,用于对第五层输出的256个大小为6*6特征图像进行一个全连接处理以将上述256个特征图像进行卷积变为一个特征点,然后对于4096个神经元中的每一个神经元,都是由256个特征图中某些个特征图卷积之后得到的特征点乘以相应的权重之后,再加上一个偏置得到的。而第八层的神经元个数设置为1000(个数可以根据需要设置),用于训练目标图像的1000个类别,因此第八层最终的输出结果为一个1000维的概率向量,该概率向量中的每个元素用于表示上述1000个类别中的每一个类别的置信度,这1000个类别的置信度的和为1,置信度最高的类别就是该目标图像的类别。

在本公开一实施例中,cnn的结构如图2所示,其与相关技术中的cnn的结构不同之处在于,在第八层使用1000个(二维神经元的数量可以根据实际需要来设置)互不影响的二维神经元代替原来的一维神经元,其中,每个二维神经元对应一个类别。举例来说,在本公开一实施例中,cnn网络的输出表示为output,output=[c_1,c_2,…,c_k],其中,k=1000,其中c_1,c_2,…,c_k分别表示上述1000个二维神经元输出的二分类概率,c_i表示第i个类别的二分类概率的编号,因为二维神经元输出的是二分类概率,因此c_i包括:c_i=0和c_i=1,其中c_i=0用于表示待识别的样本图像不属于该c_i对应的类别,c_i=1则表示这幅图像属于该c_i对应类别,所有的c_i的概率值相加和不等于1,且c_i=0和c_i=1的概率之和等于1。为了实现这一目的,在本公开一实施例提供的cnn的输出不再是一个k维的概率向量,而是k个不相互干扰的二维概率向量,从而能够对图像进行k个分类的识别,因此能够实现图像的多标签分类。

图3是根据一示例性实施例示出的一种图像类别的确定方法的流程图,如图3所示,该方法包括以下步骤:

在步骤301中,获取目标图像的图像数据。

在步骤302中,通过后向传递算法确定深度卷积神经网络的目标参数,该深度卷积神经网络用于对图像数据进行识别。

示例地,该深度卷积神经网络包括:二维神经元全连接层,至少一个一维神经元全连接层和至少一个卷积层,其中,二维神经元全连接层位于至少一个一维神经元全连接层的下层,至少一个一维神经元全连接层位于至少一个卷积层的下层。也就是说,该深度卷积神经网络的结构从上至下,依次是卷积层,一维神经元全连接层和二维神经元全连接层,示例地,卷积层的层数可以为5,一维神经元全连接层的层数可以为2,该深度卷积神经网络的最后一层为二维神经元全连接层,其结构可以如图2所示。

其中,后向传递算法(英文:back-propagation,简称bp)是一种神经网络学习算法,是在多层前馈神经网络上的学习,它能够迭代地处理训练卷积神经网络中的数据集(参数和参数的梯度的集合),直至满足预设的收敛条件。简单的说,就是从最后一层即输出层开始,经由各个全连接层和卷积层到第一层为止,逐层向前训练各层的每个参数,依次求出每层的每个参数的梯度值,求出的梯度值可以用于对每层以及每层的上一层的参数更新,因此称作后向传递,在所有层的参数更新过一次后再次执行上述方法,直至每层的每个参数的梯度满足收敛条件为止,因此也可以看做是一种逐层求梯度值的算法。

另外,步骤302和步骤301没有固定的执行顺序,也可以先执行步骤302,再执行步骤301。

在步骤303中,在确定深度卷积神经网络的目标参数后,将图像数据作为深度卷积神经网络输入,获取深度卷积神经网络输出的预设个数的二分类概率,其中,每个二分类概率对应一个类别,且每个二分类概率互不相关。

其中,该深度卷积神经网络的二维神经元全连接层包括利用逻辑回归函数确定的预设个数的二维神经元。

逻辑回归(logisticregression)是当前比较常用的机器学习方法,用于估计某种事物的可能性,是一个非线性分类模型,它与普通线性回归的不同点在于能够将线性回归输出的很大范围的数,例如从负无穷到正无穷,压缩到0和1之间,以0到1之间的浮点数为输出值表示为该函数的概率值。逻辑回归函数经常用于分类,主要是二分类,也可以是多分类。所谓二分类,包含正类和负类,正类代表该样本所表示命题为真,负类代表该样本所表示命题为假,因此二分类概率就包括样本属于正类的概率值和属于负类的概率值,示例的,当样本属于正类的概率值大于0.5,那么就可以判定它是正类,否则就是负类,其中正类的概率值和负类的概率值之和为1,即可以理解为该二分类概率包括了该目标图像属于对应类别的概率,以及不属于该对应类别的概率,当该目标图像属于(该二分类概率的)对应类别的概率大于一定阈值时,可以确定该目标图像属于这一类别,当该目标图像不属于该对应类别的概率大于一定阈值时,可以确定该目标图像不属于这一类别。

因此,经过二维神经元全连接层后输出的深度卷积神经网络的可以是1000个互不干扰的二分类概率,每个二分类概率分别对应一个类别,用于分别指示该目标图像属于和不属于每个类别的概率,之后根据该输出的[c_1,c_2,…,c_k]可以确定该目标图像的所有类别标签。

在步骤304中,根据所有的二分类概率确定目标图像的类别。

示例地,由于在步骤303中输出的1000个c_i互不相关,因此根据这1000个c_i互不相关的二分类概率能确定出目标图像的类别可能有1到1000个,因此根据所有二分类概率能确定出的目标图像的类别不再唯一。

综上所述,本公开实施例所提供的图像类别的确定方法,该方法通过获取目标图像的图像数据;通过后向传递算法确定深度卷积神经网络的目标参数,该深度卷积神经网络用于对图像数据进行识别;在确定深度卷积神经网络的目标参数后,将图像数据作为深度卷积神经网络输入,获取深度卷积神经网络输出的预设个数的二分类概率;之后根据所有的二分类概率确定目标图像的类别。本公开实施例所提供的技术方案通过改进深度卷积神经网络的结构,使得深度卷积神经网络输出互不相关的二分类概率,能够实现对图像的多标签分类。

图4是根据一示例性实施例示出的一种图像类别的确定方法的流程图,如图4所示,图3中的步骤302所述的通过后向传递算法确定深度卷积神经网络的目标参数,该深度卷积神经网络用于对图像数据进行识别,包括以下步骤:

在步骤3021中,分别对深度卷积神经网络的每层的每个参数建立临时存储器。

为了防止在迭代链式求导确定参数的过程中,会造成参数的逐层覆盖,可以分别为每层的每个参数度一应的建立临时的存储器,以在每一轮计算中存储对应参数的梯度值,确保深度卷积神经网络的输出结果之间相互独立。其中,需要说明的是,在本实施例中意图2所示的网络结构为例,上述的一轮计算是指从输入层(第一个卷基层)到输出层(二维神经元全连接层)完成一次参数更新。

在步骤3022中,利用为深度卷积神经网络的每层的每个参数建立的临时存储器,通过后向传递算法训练深度卷积神经网络的参数。

其中,当深度卷积神经网络中的所有层执行一次训练深度卷积神经网络的参数的步骤后,再次执行所述训练深度卷积神经网络的参数的步骤,直至深度卷积神经网络中每层的每个参数的梯度值满足预设的收敛条件时,将深度卷积神经网络中每层的每个参数的当前值确定为深度卷积神经网络的目标参数。

也就是说,通过后向传递算法训练深度卷积神经网络的参数的方式是迭代的,该步骤实施方式参见下面图5的实施例,首先从深度卷积神经网络的最后一层,也就是二维神经元全连接层开始进行步骤30221,除了最后一层外其他层进行步骤30222的操作。本实施例中所述的当前层可以理解为正在进行参数更新计算的这一层,该当前层可以是深度卷积神经网络中的任一层。另外,对该深度卷积神经网络进行训练时,该输入数据可以为预设置的若干个标签图像。

图5是根据一示例性实施例示出的一种图像类别的确定方法的流程图,如图5所示,以深度卷积神经网络中的任一层为例,图4中的步骤3022所述的训练所述深度卷积神经网络的参数的步骤包括:

在步骤30221中,在深度卷积神经网络的当前层不存在下一层时,将当前层的每个参数,分别与当前层的每个参数对应的临时存储器中存储的梯度值相加,得到当前层的更新后的参数。

例如,输出层(二维神经元全连接层)是上述cnn网络中的第八层,也是最后一层,因此输出层的每个参数的更新可以执行步骤30221,以该层中的参数a为例,该参数a的原值(或称为当前值,即本次更新以前参数a的值)为a0,那么参数a更新后的参数是参数a对应的临时存储器中的梯度值ad与参数a的原值a0之和,表示为anew=ad+a0,之后进行步骤30224的操作。其中,参数a可以是输出层中的任一参数,在第一次更新参数a时,参数a对应的临时存储器中的梯度值ad是在上一次更新参数a后计算得到的参数a的梯度值,因此如果是第一次更新参数a,参数a对应的临时存储器中的梯度值ad为零。

在步骤30222中,在深度卷积神经网络的当前层存在下一层时,将当前层的每个参数对应的临时存储器中存储的梯度值,分别与下一层的临时存储器中存储的与当前层的每个参数关联的参数的梯度值相加,得到当前层的每个参数的新的梯度值。

其中,当前层和下一层为深度卷积神经网络中任意相邻的两层。每个参数对应的临时存储器中存储的梯度值是在上次执行所述训练深度卷积神经网络的参数的步骤时得到的,该深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零。

例如,对于上述cnn网络的第一层至第七层,均具有下一层,以第七层为例,第七层的下一层就是上述的第八层,也就是输出层。假设对于第七层的参数b,该参数的原值为b0,参数b对应的临时存储器中存储的梯度值为bd,bd是在上一次更新参数b后计算得到的参数b的梯度值,因此如果是第一次更新参数b,参数b对应的临时存储器中的梯度值bd为零。假设在第八层与参数b关联的参数分别有d、e、f,参数d、e、f分别对应的临时存储其中分别存储了参数d、e、f的梯度值dd’、ed’和fd’(梯度值dd’、ed’和fd’,是在第八层执行完步骤3021以及步骤3024~3026后得到的),则参数b的新的梯度值bdnew为bd、dd’、ed’和fd’之和。

在步骤30223中,将当前层的每个参数的新的梯度值,分别与当前层的每个参数相加,得到当前层的更新后的参数。

例如,对于第七层的参数b,更新后的参数b为参数b的原值b0与参数b的新的梯度值bdnew之和。

综上,通过上述步骤30221可以对cnn网络中最后一层进行参数更新,通过步骤30222和步骤30223可以对除了最后一层以外其他所有层的参数进行更新,在每一层的参数完成更新后,再对更新后的参数进行步骤30224的操作,以确定更新后的参数的梯度值,进而完成对临时存储器中的梯度值的更新。

在步骤30224中,获取当前层的每个更新后的参数的当前梯度值。

示例的,以步骤30221中的参数a为例,在得到参数a的更新后的参数anew后,计算anew的当前梯度值,记为ad’,并执行步骤30223以将ad’存储在参数a对应的临时存储器中替换之前存储的ad。其中,步骤30222中涉及的梯度值dd’、ed’和fd’也是通过同样方法得到并存储在对应的临时存储器中的。这样,在后向传递算法中对梯度值的逐层求解,每层的每个参数的当前梯度值都是根据更新后的参数而确定的,以保证的该参数的实时更迭。

在步骤30225中,将当前层的每个更新后的参数的当前梯度值存储在与当前层的每个参数对应的临时存储器中。

将当前层的每个更新后的参数的当前梯度值存储在对应的临时存储器中,以便在再一次执行步骤30221~30226所述的训练深度卷积神经网络的参数的步骤时,用于对各层的各个参数进行更新,也就是步骤30221或者步骤30222所进行的参数更新。由此可见,通过为每层的每个参数设置临时存储器,使得每一层的每个参数在更新后,都将更新后的梯度值进行独立存储,使得上一层在更新参数时能够利用相邻的下层中相关联参数的梯度值进行参数更新,因此参数更新后的梯度值在迭代过程中并非被直接覆盖,而是传递到了上一层。

在步骤30226中,判断深度卷积神经网络中每层的每个参数的梯度值是否满足预设的收敛条件。

当满足预设的收敛条件时,结束对该深度卷积神经网络的参数的训练,继续步骤303的操作。如果深度卷积神经网络中还存在不满足收敛条件的参数,则再次执行步骤30221~30226所述的训练深度卷积神经网络的参数的步骤,直至深度卷积神经网络中每层的每个参数的梯度值均满足预设的收敛条件时,将深度卷积神经网络中每层的每个参数的当前值确定为深度卷积神经网络的目标参数,此时就完成了深度卷积神经网络的参数的训练。

示例的,该预设的收敛条件可以设置为深度卷积神经网络的每层的参数的梯度值为0,或者该梯度值小于一个较小的预设值,当满足该预设的收敛条件时,说明此时的深度卷积神经网络的各层的每个参数已经接近理想需求,可以结束对参数的训练,进行对图像的类别的识别操作。

而当仍不满足预设的收敛条件时,说明还需对深度卷积神经网络的参数进行训练,返回步骤30221,重新从最后一层从后向前再次开始参数训练,直到满足本步骤的判断条件为止。

图6是根据一示例性实施例示出的一种图像类别的确定方法的流程图,如图6所示,图3中的步骤304所述的根据所有的二分类概率确定目标图像的类别,包括:

在步骤3041中,将所有的二分类概率中肯定概率值大于预设概率阈值的二分类概率,确定为目标二分类概率。

以步骤304中输出的1000个c_i为例,可以预先设置一个概率阈值,用于过滤肯定概率值过低的二分类概率所对应的类别,例如可以设置该概率阈值为:0.5,当c_i=1的概率值低于或等于0.5时,可以确定该目标图像不属于该c_i对应的类别,当c_i=1的概率值大于0.5时,可以确定该目标图像属于该c_i对应的类别。当然,也可以通过否定概率来确定目标图像的分类,例如,可以是将所有的二分类概率中否定概率值小于预设概率阈值的二分类概率,确定为目标二分类概率。

在步骤3042中,将所有目标二分类概率所对应类别确定为目标图像的类别。

经过步骤3041的确定的目标二分类概率所有对应的类别是目标图像可能属于的类别集合,类别集合中可以包括一个或者多个类别标签。由于所有二分类概率是相互独立的,因此所有二分类概率互相不干扰,因此目标图像是各个目标二分类概率对应的类别的概率也不再是此消彼长,而是互不影响的,因此基于上述方法能够确定的该目标图像的多个分类,从而能够实现该目标图像的多标签分类。

综上所述,本公开实施例所提供的图像类别的确定方法,该方法通过获取目标图像的图像数据;通过后向传递算法确定深度卷积神经网络的目标参数,该深度卷积神经网络用于对图像数据进行识别;在确定深度卷积神经网络的目标参数后,将图像数据作为深度卷积神经网络输入,获取深度卷积神经网络输出的预设个数的二分类概率;之后根据所有的二分类概率确定目标图像的类别。本公开实施例所提供的技术方案通过改进深度卷积神经网络的结构,使得深度卷积神经网络输出互不相关的二分类概率,能够实现对图像的多标签分类。

图7是根据一示例性实施例示出的一种图像类别的确定装置的框图,如图7所示,该装置700包括:

图像数据获取模块710,被配置为获取目标图像的图像数据。

图像数据识别模块720,被配置为通过后向传递算法确定深度卷积神经网络的目标参数,深度卷积神经网络用于对图像数据进行识别。

二分类概率输出模块730,被配置为在确定深度卷积神经网络的目标参数后,将图像数据作为深度卷积神经网络输入,获取深度卷积神经网络输出的预设个数的二分类概率,其中,每个二分类概率对应一个类别,且每个二分类概率互不相关。

图像类别确定模块740,被配置为根据所有的二分类概率确定目标图像的类别。

可选的,该深度卷积神经网络,包括:二维神经元全连接层,至少一个一维神经元全连接层和至少一个卷积层,其中,二维神经元全连接层位于至少一个一维神经元全连接层的下层,至少一个一维神经元全连接层位于至少一个卷积层的下层。

可选的,图8是根据一示例性实施例示出的一种图像数据识别模块的框图,如图8所示,该图像数据识别模块720,包括存储器建立子模块721和参数训练子模块722:

存储器建立子模块721,被配置为分别对深度卷积神经网络的每层的每个参数建立临时存储器。

参数训练子模块722,被配置为利用为深度卷积神经网络的每层的每个参数建立的临时存储器,通过后向传递算法训练深度卷积神经网络的参数。

其中,当深度卷积神经网络中的所有层执行一次训练深度卷积神经网络的参数的步骤后,再次执行训练深度卷积神经网络的参数的步骤,直至深度卷积神经网络中每层的每个参数的梯度值满足预设的收敛条件时,将深度卷积神经网络中每层的每个参数的当前值确定为深度卷积神经网络的目标参数。

可选的,该参数训练子模块722,被配置为:在深度卷积神经网络的当前层不存在下一层时,将当前层的每个参数,分别与当前层的每个参数对应的临时存储器中存储的梯度值相加,得到当前层的更新后的参数;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行训练深度卷积神经网络的参数的步骤时得到的,深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

获取当前层的每个更新后的参数的当前梯度值;

将当前层的每个更新后的参数的当前梯度值存储在与当前层的每个参数对应的临时存储器中。

可选的,参数训练子模块722,还被配置为:在深度卷积神经网络的当前层存在下一层时,将当前层的每个参数对应的临时存储器中存储的梯度值,分别与下一层的临时存储器中存储的与当前层的每个参数关联的参数的梯度值相加,得到当前层的每个参数的新的梯度值;其中,每个参数对应的临时存储器中存储的梯度值是在上次执行训练深度卷积神经网络的参数的步骤时得到的,深度卷积神经网络的每层的每个参数对应的临时存储器中存储的梯度值的初始值为零;

将当前层的每个参数的新的梯度值,分别与当前层的每个参数相加,得到当前层的更新后的参数;

获取当前层的每个更新后的参数的当前梯度值;

将当前层的每个更新后的参数的当前梯度值存储在与当前层的每个参数对应的临时存储器中;

其中,当前层和下一层为深度卷积神经网络中任意相邻的两层。

可选的,二分类概率包括,肯定概率值和否定概率值,肯定概率值是图像属于二分类概率对应分类的概率值,肯定概率值和否定概率值之和为1。

图9是根据一示例性实施例示出的一种图像类别确定模块的框图,如图9所示,该图像数据识别模块740,包括:

二分类概率识别子模块741,被配置为将所有的二分类概率中肯定概率值大于预设概率阈值的二分类概率,确定为目标二分类概率。

图像类别确定子模块742,被配置为将所有目标二分类概率所对应类别确定为目标图像的类别。

可选的,二维神经元全连接层包括利用逻辑回归函数确定的预设个数的二维神经元。

综上所述,本公开所提供的图像类别的确定装置,该方法通过获取目标图像的图像数据;通过后向传递算法确定深度卷积神经网络的目标参数,该深度卷积神经网络用于对图像数据进行识别;在确定深度卷积神经网络的目标参数后,将图像数据作为深度卷积神经网络输入,获取深度卷积神经网络输出的预设个数的二分类概率;之后根据所有的二分类概率确定目标图像的类别。本公开所提供的技术方案通过改进深度卷积神经网络的结构,使得深度卷积神经网络输出互不相关的二分类概率,能够实现对图像的多标签分类。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图10是根据另一示例性实施例示出的一种图像类别的确定装置1000的框图。例如,装置1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图10,装置1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电力组件1006,多媒体组件1008,音频组件1010,输入/输出(i/o)的接口1012,传感器组件1014,以及通信组件1016。

处理组件1002通常控制装置1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成图像类别的确定的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。

存储器1004被配置为存储各种类型的数据以支持在装置1000的操作。这些数据的示例包括用于在装置1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图像,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件1006为装置1000的各种组件提供电力。电力组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置1000生成、管理和分配电力相关联的组件。

多媒体组件1008包括在所述装置1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当装置1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(mic),当装置1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。

i/o接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1014包括一个或多个传感器,用于为装置1000提供各个方面的状态评估。例如,传感器组件1014可以检测到装置1000的打开/关闭状态,组件的相对定位,例如所述组件为装置1000的显示器和小键盘,传感器组件1014还可以检测装置1000或装置1000一个组件的位置改变,用户与装置1000接触的存在或不存在,装置1000方位或加速/减速和装置1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1016被配置为便于装置1000和其他设备之间有线或无线方式的通信。装置1000可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1016还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置1000可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行图像类别的确定。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由装置1000的处理器1020执行以完成图像类别的确定。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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