图像识别方法及装置与流程

文档序号:12035223阅读:211来源:国知局
图像识别方法及装置与流程

本发明涉及图像识别技术领域,尤其是涉及一种图像识别方法及装置。



背景技术:

深度学习通过模仿人脑的机制来识别图像,随着计算机视觉的发展,深度学习在工业中的应用也越来越广泛,而深度神经网络作为一种效果出众的深度学习方法,目前成为了识别图像的主流方法之一。

然而,在应用需求不断扩大的同时,针对一些复杂的问题,基于普通cpu(英文全称:centralprocessingunit,即中央处理器)的深度学习算法具有时效、功耗等方面的局限性。究其原因,一方面是受深度学习算法的计算速率限制,另一方面是受硬件运行速度的影响。目前,虽然许多研究人员通过优化算法而缓解了上述局限性,但效果仍待改进。



技术实现要素:

有鉴于此,本发明的目的在于提供一种图像识别方法及装置,以在硬件运行方面缓解实现图像识别时效率低、功耗高的技术问题。

第一方面,本发明实施例提供了一种图像识别方法,包括:

获取定点化机制,其中,所述定点化机制用于将浮点数进行定点化处理,得到定点数,所述定点化机制中携带所述定点数的数值属性;

在通过已训练好的深度神经网络对待识别图像进行识别时,利用所述定点化机制对第一属性数据进行定点化处理,其中,所述第一属性数据包括:第一输出数据和/或所述深度神经网络中各层的权重,其中,所述第一输出数据包括:所述深度神经网络在进行识别时输入层的输出数据和所述深度神经网络在进行识别时中间层的输出数据;

基于所述定点化处理之后的所述第一属性数据确定所述深度神经网络中输出层输出的第一结果,并根据所述第一结果确定所述待识别图像的种类。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,在所述第一属性数据为所述深度神经网络中各层的权重的情况下,所述利用所述定点化机制对第一属性数据进行定点化处理,包括:

判断所述权重的表示方式是否为浮点数的表示方式;

在判断出所述权重的表示方式为浮点数的表示方式的情况下,利用所述定点化机制对所述权重进行定点化处理,得到以定点数方式表示的权重。

结合第一方面或第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在所述第一属性数据为所述第一输出数据的情况下,所述利用所述定点化机制对第一属性数据进行定点化处理,还包括:

在所述深度神经网络对所述待识别图像进行识别的过程中,利用所述定点化机制,依次对将要输出的所述第一输出数据进行定点化处理,或者,依次将接收到的所述第一输出数据进行定点化处理。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述获取定点化机制,包括:

获取预设样本图像的图像数据;

将所述预设样本图像的图像数据输入到所述深度神经网络的输入层进行测试,得到第二属性数据,其中,所述第二属性数据包括:第二输出数据和所述深度神经网络在进行测试时所述深度神经网络中各层的权重,所述第二输出数据包括:所述深度神经网络在进行测试时输入层的输出数据、所述深度神经网络在进行测试时中间层的输出数据;

根据所述第二属性数据的数值范围,确定所述定点化机制。

结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述根据所述第二属性数据的数值范围,确定所述定点化机制,包括:

获取多个预设定点化机制,其中,不同的所述预设定点化机制对应了不同的定点化条件,所述定点化条件携带定点化处理之后的定点数的数值范围;

根据所述第二属性数据的数值范围,对所述第二属性数据中满足每个所述定点化条件的数量进行统计,得到多个数量值;

从多个所述数量值中,查找目标数量值,并将所述目标数量值对应的预设定点化机制确定为所述定点化机制,其中,所述目标数量值为所述数量值中数值最大的数量值。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,在将所述目标数量值对应的预设定点化机制确定为所述定点化机制之后,所述方法包括:

获取所述深度神经网络在执行测试之后,输出层输出的第二结果;

确定所述第二结果与所述样本图像之间的相似程度,以根据所述相似程度对所述定点化机制的参数进行调整,其中,所述定点化机制的参数能够确定被定点化处理的浮点数的数值精度。

结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述对所述定点化机制的参数进行调整之后,所述方法还包括:

对所述权重的数值大小进行调整,以提高所述第二结果与所述样本图像的相似程度。

结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在通过已训练好的深度神经网络对待识别图像进行识别时之前,所述方法还包括:

获取预先设计的运算表,其中,所述运算表中存储了目标数据进行预设数学运算的运算结果数据,所述目标数据为目标范围内的浮点数经定点化处理后而得到的定点数,所述目标范围为所述定点化机制所确定的能够进行定点化的浮点数的数值范围,所述预设数学运算为所述深度神经网络对所述待识别图像进行识别过程中的数学运算;

在通过已训练好的深度神经网络对待识别图像进行识别时,所述方法包括:读取所述运算表中的运算结果数据,以获得所述深度神经网络中各层的所述第一输出数据。

结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,在通过已训练好的深度神经网络对待识别图像进行识别之前,所述方法还包括:

对所述待识别图像进行预处理,其中,所述预处理至少包括以下之一:图像滤波、图像亮度调节。

第二方面,本发明实施例还提供一种图像识别装置,包括:

第一获取模块,用于获取定点化机制,其中,所述定点化机制用于将浮点数进行定点化处理,得到定点数,所述定点化机制中携带所述定点数的数值属性;

定点化模块,用于在通过已训练好的深度神经网络对待识别图像进行识别时,利用所述定点化机制对第一属性数据进行定点化处理,其中,所述第一属性数据包括:第一输出数据和/或所述深度神经网络中各层的权重,其中,所述第一输出数据包括:所述深度神经网络在进行识别时输入层的输出数据和所述深度神经网络在进行识别时中间层的输出数据;

确定模块,用于基于所述定点化处理之后的所述第一属性数据确定所述深度神经网络中输出层输出的第一结果,并根据所述第一结果确定所述待识别图像的种类。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述定点化模块包括:

判断单元,用于在所述第一属性数据为所述深度神经网络中各层的权重的情况下,判断所述权重的表示方式是否为浮点数的表示方式;

第一定点化单元,用于在判断出所述权重的表示方式为浮点数的表示方式的情况下,利用所述定点化机制对所述权重进行定点化处理,得到以定点数方式表示的权重。

结合第二方面或第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述定点化模块包括:

第二定点化单元,用于在所述深度神经网络对所述待识别图像进行识别的过程中,利用所述定点化机制,依次对将要输出的所述第一输出数据进行定点化处理,或者,依次将接收到的所述第一输出数据进行定点化处理。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述获取模块包括:

第一获取单元,用于获取预设样本图像的图像数据;

测试单元,用于将所述预设样本图像的图像数据输入到所述深度神经网络的输入层进行测试,得到第二属性数据,其中,所述第二属性数据包括:第二输出数据和所述深度神经网络在进行测试时所述深度神经网络中各层的权重,所述第二输出数据包括:所述深度神经网络在进行测试时输入层的输出数据、所述深度神经网络在进行测试时中间层的输出数据;

确定单元,用于根据所述第二属性数据的数值范围,确定所述定点化机制。

结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述确定单元包括:

获取子单元,用于获取多个预设定点化机制,其中,不同的所述预设定点化机制对应了不同的定点化条件,所述定点化条件携带定点化处理之后的定点数的数值范围;

统计子单元,用于根据所述第二属性数据的数值范围,对所述第二属性数据中满足每个所述定点化条件的数量进行统计,得到多个数量值;

确定子单元,用于从多个所述数量值中,查找目标数量值,并将所述目标数量值对应的预设定点化机制确定为所述定点化机制,其中,所述目标数量值为所述数量值中数值最大的数量值。

结合第二方面的第四种可能的实施方式,本发明实施例提供了第二方面的第五种可能的实施方式,其中,所述装置包括:

第二获取单元,用于在将所述目标数量值对应的预设定点化机制确定为所述定点化机制之后,获取所述深度神经网络在执行测试之后,输出层输出的第二结果;

调整单元,用于确定所述第二结果与所述样本图像之间的相似程度,以根据所述相似程度对所述定点化机制的参数进行调整,其中,所述定点化机制的参数能够确定被定点化处理的浮点数的数值精度。

结合第二方面的第五种可能的实施方式,本发明实施例提供了第二方面的第六种可能的实施方式,其中,所述装置还包括:

优化单元,用于在对所述定点化机制的参数进行调整之后,对所述权重的数值大小进行调整,以提高所述第二结果与所述样本图像的相似程度。

结合第二方面,本发明实施例提供了第二方面的第七种可能的实施方式,其中,所述装置还包括:

第二获取模块,用于在通过已训练好的深度神经网络对待识别图像进行识别时之前,获取预先设计的运算表,其中,所述运算表中存储了目标数据进行预设数学运算的运算结果数据,所述目标数据为目标范围内的浮点数经定点化处理后而得到的定点数,所述目标范围为所述定点化机制所确定的能够进行定点化的浮点数的数值范围,所述预设数学运算为所述深度神经网络对所述待识别图像进行识别过程中的数学运算;

读取模块,用于在通过已训练好的深度神经网络对待识别图像进行识别时,读取所述运算表中的运算结果数据,以获得所述深度神经网络中各层的所述第一输出数据。

结合第二方面,本发明实施例提供了第二方面的第八种可能的实施方式,其中,所述装置还包括:

预处理模块,用于在通过已训练好的深度神经网络对待识别图像进行识别之前,对所述待识别图像进行预处理,其中,所述预处理至少包括以下之一:图像滤波、图像亮度调节。

本发明实施例带来了以下有益效果:通过利用定点化机制对第一属性数据进行定点化处理,将第一属性数据以定点数进行表示,鉴于硬件对定点数运算的速率高于对浮点数运算的速度,且功耗低于对浮点数运算的功耗,从而使得基于所述定点化处理之后的所述第一属性数据确定所述深度神经网络中输出层输出的第一结果更加快速且低耗,即使得确定待识别图像的种类的过程更加快速且低耗,因而,在硬件运行方面缓解了实现图像识别时效率低、功耗高的技术问题。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例一提供的一种图像识别方法的流程图;

图2为本发明实施例一提供的一种获取定点化机制的方法的流程图;

图3为发明实施例一提供的另一种图像识别方法的流程图;

图4为发明实施例二提供的一种图像识别装置的结构示意图。

图标:100-第一获取模块;200-定点化模块;300-确定模块。

具体实施方式

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

目前针对一些复杂的图像识别问题,基于普通cpu的深度学习算法具有时效、功耗等方面的局限性,基于此,本发明实施例提供的一种图像识别方法及装置,可以在硬件运行方面缓解实现图像识别时效率低、功耗高的技术问题。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种图像识别方法进行详细介绍。

实施例一

本发明实施例提供的一种图像识别方法,如图1所示,包括:

步骤s102,获取定点化机制,其中,定点化机制用于将浮点数进行定点化处理,得到定点数,定点化机制中携带定点数的数值属性。

具体地,定点化机制包括以下任意一种:十六位定点、半精度浮点、八位定点,其中,十六位定点表示用16个二进制位来表示一个定点,半精度浮点表示用32个二进制位来表示一个定点,八位定点表示用8个二进制位来表示一个定点,不同个数的二进制位表示的定点数的数值范围不同。

步骤s104,在通过已训练好的深度神经网络对待识别图像进行识别时,利用定点化机制对第一属性数据进行定点化处理,其中,第一属性数据包括:第一输出数据和/或深度神经网络中各层的权重,其中,第一输出数据包括:深度神经网络在进行识别时输入层的输出数据和深度神经网络在进行识别时中间层的输出数据。

具体地,深度神经网络包含一个输入层、至少一个中间层、一个输出层,其中,各层包含至少一个神经元,每个神经元包含数据输入接口、数据处理器和数据输出接口,并且每个神经元都有一个权重。需要说明的是,上述数据处理器包含对数据进行数学运算的硬件,例如加法器和减法器。其中,加法器可以采用位移运算符对二进制数进行加法运算,即,相加的两个数相异时,本位为1,进位为0;同为1时,本位为0,进位为1;同为0时,本位和进位均为0。而减法器根据补码特性,各位取反加1即可,作为现有的一种机器运算方法,此处不再详细赘述。

在通过深度神经网络对待识别图像进行识别时,待识别图像的图像数据输入到深度神经网络的输入层,输入层的神经元进行如下数据处理步骤:数据输入接口输入数据(输入层接收的是待识别图像的图像数据),数据处理器将待识别图像的图像数据和权重进行运算后得出一个输出数据,数据输出接口将输出数据输入到下一层的神经元的数据输入接口。然后,深度神经网络的中间层和输出层重复上述数据处理步骤,直到在输出层输出识别结果。需要说明的是,中间层和输出层的数据输入接口接收的是上一层的数据输出接口输出的数据。

在以上所述的在通过已训练好的深度神经网络对待识别图像进行识别时,通过利用定点化机制对第一属性数据进行定点化处理,从而将每个神经元的权重都用定点数表示,并且在每个神经元的数据处理器得出一个输出数据时,将输出数据也用定点数表示,继而使得每个神经元的数据处理器在处理数据输入接口接收到的数据和权重之间的运算时,是进行的定点数之间的运算,鉴于硬件对定点数运算的速率高于对浮点数运算的速度,且功耗低于对浮点数运算的功耗,从而各个数据处理器的运算速度加快且功耗降低。

需要强调的是,步骤s104确保各层的数据处理器在处理数据输入接口接收到的数据和权重之间的运算时,上一层的第一输出数据和该层的权重的表示方式都是定点数表示方式。

步骤s106,基于定点化处理之后的第一属性数据确定深度神经网络中输出层输出的第一结果,并根据第一结果确定待识别图像的种类。

具体地,在通过已训练好的深度神经网络对待识别图像进行识别的过程结束时,深度神经网络的输出层输出第一结果,第一结果携带了对待识别图像的识别结果信息,从而根据第一结果确定待识别图像的种类。

在本发明实施例中,通过利用定点化机制对第一属性数据进行定点化处理,将第一属性数据以定点数进行表示,鉴于硬件对定点数运算的速率高于对浮点数运算的速度,且功耗低于对浮点数运算的功耗,从而使得基于定点化处理之后的第一属性数据确定深度神经网络中输出层输出的第一结果更加快速且低耗,即使得确定待识别图像的种类的过程更加快速且低耗,因而,在硬件运行方面缓解了实现图像识别时效率低、功耗高的技术问题。

考虑到已训练好的深度神经网络中各层的神经元的权重的表示方式有定点数表示方式和浮点数表示方式两种可能,本发明实施例的一个可选实施方式中,在第一属性数据为深度神经网络中各层的权重的情况下,利用定点化机制对第一属性数据进行定点化处理,包括:

判断权重的表示方式是否为浮点数的表示方式;

在判断出权重的表示方式为浮点数的表示方式的情况下,利用定点化机制对权重进行定点化处理,得到以定点数方式表示的权重;否则,不对权重进行定点化处理。

本发明实施例的另一个可选实施方式中,在第一属性数据为第一输出数据的情况下,利用定点化机制对第一属性数据进行定点化处理,还包括:

在深度神经网络对待识别图像进行识别的过程中,利用定点化机制,依次对将要输出的第一输出数据进行定点化处理,或者,依次将接收到的第一输出数据进行定点化处理。

具体地,即随着深度神经网络各层中数据处理器得出第一输出数据的先后顺序,将第一输出数据进行定点化处理,其中,可以采用以下两种方式中的任意一种:各个神经元在得出第一输出数据后即进行定点化处理,然后输出到数据输出接口;各个神经元在接收到上一层的神经元的数据输出接口输出的第一输出数据后,对接收到的第一输出数据进行定点化处理。

本实施例中采用的任一种方式,将第一输出数据定点化的运算任务分散在各个神经元里,有利于提高运算的速率和防止某一数据处理器因数据处理负荷较重而出现故障。

本发明实施例的另一个可选实施方式中,参照图2,获取定点化机制,包括:

步骤s201,获取预设样本图像的图像数据。

步骤s202,将预设样本图像的图像数据输入到深度神经网络的输入层进行测试,得到第二属性数据,其中,第二属性数据包括:第二输出数据和深度神经网络在进行测试时深度神经网络中各层的权重,第二输出数据包括:深度神经网络在进行测试时输入层的输出数据、深度神经网络在进行测试时中间层的输出数据。

需要强调的是,这里的第二属性数据所包括的深度神经网络中各层的权重是深度神经网络在进行测试时的权重,上述的第一属性数据所包括的深度神经网络中各层的权重是深度神经网络在对待识别图像进行识别时的权重。如果,深度神经网络在进行测试后,和对待识别图像进行识别前,深度神经网络的权重不再改变,则对待识别图像进行识别的深度神经网络的权重和深度神经网络在进行测试时的权重的数值大小相同。

步骤s203,根据第二属性数据的数值范围,确定定点化机制。

具体地,不同的定点化机制表示的定点数的数值范围不同,被定点化处理的浮点数,如果定点化之后数值大小超出定点化机制所能表示的数值范围,则要进行取舍处理,即,如果定点化之后数值大小小于定点化机制所能表示的最小值,则取最小值来表示;如果定点化之后数值大小大于定点化机制所能表示的最大值,则取最大值来表示。

本发明实施例中,鉴于深度神经网络中各层的权重以及图像识别时的深度神经网络输入层和中间层的输出数据影响输出层的输出结果,因而首先通过对样本图像的识别而进行测试,通过深度神经网络在进行测试时输入层的输出数据、深度神经网络在进行测试时中间层的输出数据和深度神经网络中各层的权重的数值范围来确定一个合适定点化机制,降低由于定点化机制选取不合理给识别结果造成的误差。

本发明实施例的另一个可选实施方式中,根据第二属性数据的数值范围,确定定点化机制,包括:

获取多个预设定点化机制,其中,不同的预设定点化机制对应了不同的定点化条件,定点化条件携带定点化处理之后的定点数的数值范围;

根据第二属性数据的数值范围,对第二属性数据中满足每个定点化条件的数量进行统计,得到多个数量值;

从多个数量值中,查找目标数量值,并将目标数量值对应的预设定点化机制确定为定点化机制,其中,目标数量值为数量值中数值最大的数量值。

本发明实施例中,通过统计满足每个定点化条件的第二属性数据的数量而确定为定点化机制,使得更加可靠地降低了定点化机制选取不合理给识别结果造成的误差。

本发明实施例的另一个可选实施方式中,参照图2,在将目标数量值对应的预设定点化机制确定为定点化机制之后,图像识别方法包括:

步骤s204,获取深度神经网络在执行测试之后,输出层输出的第二结果;

步骤s205,确定第二结果与样本图像之间的相似程度,以根据相似程度对定点化机制的参数进行调整,其中,定点化机制的参数能够确定被定点化处理的浮点数的数值精度。

具体的,在不同的定点化机制中,小数点定在不同的二进制位,表示的浮点数绝对值的最小值会不同,即影响浮点数的数值精度,因而通过确定第二结果与样本图像之间的相似程度,进一步调整各种定点化机制中小数点的位置参数,从而使得第二结果与样本图像的相似程度更大。

本发明实施例的另一个可选实施方式中,参照图2,对定点化机制的参数进行调整之后,方法还包括:

步骤s206,对权重的数值大小进行调整,以提高第二结果与样本图像的相似程度。

本发明实施例考虑到定点化过程中通过对定点化机制的选择以及定点化参数的调整后,深度神经网络的识别结果的正确性还会受到影响,因而在选定定点化机制及相应的定点化参数后,对权重的数值大小进行调整,达到对深度神经网络进行优化的目的,以提高深度神经网络识别的精确度。

需要说明的是,本发明实施例中,步骤s206中对权重的数值大小进行调整而得到的调整之后的权重的数值大小和步骤s104中的权重的数值大小相等。

本发明实施例的另一个可选实施方式中,在通过已训练好的深度神经网络对待识别图像进行识别时之前,图像识别方法还包括:

获取预先设计的运算表,其中,运算表中存储了目标数据进行预设数学运算的运算结果数据,目标数据为目标范围内的浮点数经定点化处理后而得到的定点数,目标范围为定点化机制所确定的能够进行定点化的浮点数的数值范围,预设数学运算为深度神经网络对待识别图像进行识别过程中的数学运算;

在通过已训练好的深度神经网络对待识别图像进行识别时,图像识别方法包括:读取运算表中的运算结果数据,以获得深度神经网络中各层的第一输出数据。

具体地,硬件在对定点数进行数学运算时,通过移位的方法可以较快速地得到加法和减法的运算结果,而对于乘法和除法的运算速度较慢,本发明实施例中,运算表可以存储目标数据进行乘法和除法的运算结果数据,以便加快各个神经元的数据处理器的运算速率。

需要强调的是,本发明实施例中,预设数学运算并不限于乘法和除法,在综合考虑神经元的数据处理器从运算表中读取存储数据的速率和运行相应数学运算的速率后,针对一种运算结果的获取,选择速率最佳的一种。

本发明实施例的另一个可选实施方式中,参照图3,在通过已训练好的深度神经网络对待识别图像进行识别之前,图像识别方法还包括:

步骤s103,对待识别图像进行预处理,其中,预处理至少包括以下之一:图像滤波、图像亮度调节。

具体地,获取到的待识别图像往往会因为噪声或亮度的不均匀而影响到深度神经网络识别的结果,因而本发明实施例先对待识别图像进行预处理,从而提高图像识别的精度。

实施例二

本发明实施例提供的一种图像识别装置,如图4所示,包括:

第一获取模块100,用于获取定点化机制,其中,定点化机制用于将浮点数进行定点化处理,得到定点数,定点化机制中携带定点数的数值属性;

定点化模块200,用于在通过已训练好的深度神经网络对待识别图像进行识别时,利用定点化机制对第一属性数据进行定点化处理,其中,第一属性数据包括:第一输出数据和/或深度神经网络中各层的权重,其中,第一输出数据包括:深度神经网络在进行识别时输入层的输出数据和深度神经网络在进行识别时中间层的输出数据;

确定模块300,用于基于定点化处理之后的第一属性数据确定深度神经网络中输出层输出的第一结果,并根据第一结果确定待识别图像的种类。

本发明实施例中,第一获取模块100获取定点化机制,定点化模块200通过利用定点化机制对第一属性数据进行定点化处理,将第一属性数据以定点数进行表示,鉴于硬件对定点数运算的速率高于对浮点数运算的速度,且功耗低于对浮点数运算的功耗,从而使得基于定点化处理之后的第一属性数据确定深度神经网络中输出层输出的第一结果更加快速且低耗,即使得确定待识别图像的种类的过程更加快速且低耗,因而,在硬件运行方面缓解了实现图像识别时效率低、功耗高的技术问题。

本发明实施例的一个可选实施方式中,定点化模块包括:

判断单元,用于在第一属性数据为深度神经网络中各层的权重的情况下,判断权重的表示方式是否为浮点数的表示方式;

第一定点化单元,用于在判断出权重的表示方式为浮点数的表示方式的情况下,利用定点化机制对权重进行定点化处理,得到以定点数方式表示的权重。

本发明实施例的一个可选实施方式中,定点化模块包括:

第二定点化单元,用于在第二属性数据为第二输出数据的情况下,在深度神经网络对待识别图像进行识别的过程中,利用定点化机制,依次对将要输出的第一输出数据进行定点化处理,或者,依次将接收到的第一输出数据进行定点化处理。

本发明实施例的一个可选实施方式中,获取模块包括:

第一获取单元,用于获取预设样本图像的图像数据;

测试单元,用于将预设样本图像的图像数据输入到深度神经网络的输入层进行测试,得到第二属性数据,其中,第二属性数据包括:第二输出数据和深度神经网络在进行测试时深度神经网络中各层的权重,第二输出数据包括:深度神经网络在进行测试时输入层的输出数据、深度神经网络在进行测试时中间层的输出数据;

确定单元,用于根据第二属性数据的数值范围,确定定点化机制。

本发明实施例的一个可选实施方式中,确定单元包括:

获取子单元,用于获取多个预设定点化机制,其中,不同的预设定点化机制对应了不同的定点化条件,定点化条件携带定点化处理之后的定点数的数值范围;

统计子单元,用于根据第二属性数据的数值范围,对第二属性数据中满足每个定点化条件的数量进行统计,得到多个数量值;

确定子单元,用于从多个数量值中,查找目标数量值,并将目标数量值对应的预设定点化机制确定为定点化机制,其中,目标数量值为数量值中数值最大的数量值。

本发明实施例的一个可选实施方式中,装置包括:

第二获取单元,用于在将目标数量值对应的预设定点化机制确定为定点化机制之后,获取深度神经网络在执行测试之后,输出层输出的第二结果;

调整单元,用于确定第二结果与样本图像之间的相似程度,以根据相似程度对定点化机制的参数进行调整,其中,定点化机制的参数能够确定被定点化处理的浮点数的数值精度。

本发明实施例的一个可选实施方式中,图像识别装置还包括:

优化单元,用于在对定点化机制的参数进行调整之后,对权重的数值大小进行调整,以提高第二结果与样本图像的相似程度。

本发明实施例的一个可选实施方式中,装置还包括:

第二获取模块,用于在通过已训练好的深度神经网络对待识别图像进行识别时之前,获取预先设计的运算表,其中,运算表中存储了目标数据进行预设数学运算的运算结果数据,而目标数据为目标范围内的浮点数经定点化处理后而得到的定点数,目标范围为定点化机制所确定的能够进行定点化的浮点数的数值范围,预设数学运算为深度神经网络对待识别图像进行识别过程中的数学运算;

读取模块,用于在通过已训练好的深度神经网络对待识别图像进行识别时,读取运算表中的运算结果数据,以获得深度神经网络中各层的第一输出数据。

本发明实施例的一个可选实施方式中,图像识别装置还包括:

预处理模块,用于在通过已训练好的深度神经网络对待识别图像进行识别之前,对待识别图像进行预处理,其中,预处理至少包括以下之一:图像滤波、图像亮度调节。

本发明实施例所提供的图像识别方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。

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

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

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

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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