CN114972957A - 低比特网络的图像识别方法、系统及电子设备 - Google Patents

低比特网络的图像识别方法、系统及电子设备 Download PDF

Info

Publication number
CN114972957A
CN114972957A CN202210665482.7A CN202210665482A CN114972957A CN 114972957 A CN114972957 A CN 114972957A CN 202210665482 A CN202210665482 A CN 202210665482A CN 114972957 A CN114972957 A CN 114972957A
Authority
CN
China
Prior art keywords
preset
image
value
bit width
floating point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210665482.7A
Other languages
English (en)
Inventor
刘帅
王贤良
孟凡军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Haixin Zhisheng Technology Co ltd
Original Assignee
Beijing Haixin Zhisheng Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Haixin Zhisheng Technology Co ltd filed Critical Beijing Haixin Zhisheng Technology Co ltd
Priority to CN202210665482.7A priority Critical patent/CN114972957A/zh
Publication of CN114972957A publication Critical patent/CN114972957A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Molecular Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • Nonlinear Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及图像识别技术领域,提供一种低比特网络的图像识别方法、系统及电子设备,其中方法包括:将获取的待识别图像输入图像识别模型识别出图像特征;基于图像特征与预存的特征样本,得到识别结果;其中,将输入图像识别模型的网络层的特征值以及网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,预设第一位宽和预设第二位宽分别小于量化前的特征值和浮点权重的位宽。该方法用以解决现有技术中在基于深度学习的图像识别中,应用浮点数据进行运算,所造成的需要较高存储资源和计算资源支持的缺陷,实现浮点数据的低比特量化,进而降低基于深度学习的图像识别,对存储资源和计算资源的要求,提高识别效率。

Description

低比特网络的图像识别方法、系统及电子设备
技术领域
本发明涉及图像识别技术领域,尤其涉及一种低比特网络的图像识别方法、系统及电子设备。
背景技术
目前基于深度学习的方法可以很好地对图像特征进行描述,但是深度学习的方法,在模型的网络层中参与运算的是单精度的浮点数据,而浮点数据一般为位宽32比特的数据,运算数据量大,因而使得基于深度学习的图像识别计算复杂度高,需要较高的存储资源和计算资源。
发明内容
本发明提供一种低比特网络的图像识别方法、系统及电子设备,用以解决现有技术中在基于深度学习的图像识别中,应用浮点数据进行运算,所造成的需要较高存储资源和计算资源支持的缺陷,实现浮点数据的低比特量化,进而降低基于深度学习的图像识别,对存储资源和计算资源的要求,提高识别效率。
本发明提供一种低比特网络的图像识别方法,包括:
获取待识别图像;
将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
根据本发明所述的低比特网络的图像识别方法,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第一预设规则,将所述特征值限制在第一预设数值范围内;
基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据。
根据本发明所述的低比特网络的图像识别方法,所述第一预设规则为:
当所述特征值小于所述第一预设数值范围的下限值时,将所述特征值设定为等于所述下限值;
当所述特征值处于所述第一预设数值范围内时,保持所述特征值不变;
当所述特征值大于所述第一预设数值范围的上限值时,将所述特征值设定为等于所述上限值。
根据本发明所述的低比特网络的图像识别方法,所述基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据,包括:
基于所述预设第一位宽,得到在所述预设第一位宽下的最大值;
将限制在所述第一预设数值范围内的所述特征值和在所述预设第一位宽下的最大值相乘,得到第一乘积;
对所述第一乘积进行取整,得到所述特征值数据。
根据本发明所述的低比特网络的图像识别方法,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第二预设规则,将所述浮点权重变换到第二预设数值范围内;
基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值;
按照第三预设规则,将所述浮点权重的近似值变换到第三预设数值范围内;
基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据。
根据本发明所述的低比特网络的图像识别方法,所述第二预设规则为:
w2=f(w)
其中,w2表示变换到所述第二预设数值范围内的浮点权重;f(w)表示将w2限制在所述第二预设数值范围内的单调递增函数;w表示所述网络层的浮点权重。
根据本发明所述的低比特网络的图像识别方法,所述基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值,包括:
基于所述预设第二位宽,得到在所述预设第二位宽下的最大值;
将变换到所述第二预设数值范围内的所述浮点权重和在所述预设第二位宽下的最大值相乘,得到第二乘积;
对所述第二乘积进行取整,并除以在所述预设第二位宽下的最大值,得到变换到所述第二预设数值范围内的所述浮点权重的近似值。
根据本发明所述的低比特网络的图像识别方法,所述第三预设规则为:
w4=w3*2-1
其中,w4表示变换到第三预设数值范围内的所述浮点权重的近似值;w3表示所述浮点权重的近似值。
根据本发明所述的低比特网络的图像识别方法,所述基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据,包括:
将变换到所述第三预设数值范围内的所述浮点权重的近似值和在所述预设第二位宽下的最大值相乘,得到第三乘积;
对所述第三乘积进行取整,得到所述权重数据。
根据本发明所述的低比特网络的图像识别方法,还包括所述特征样本的获取方式:
获取表征待识别目标的第一图像;
由所述第一图像上滑窗截取预设面积的多个第二图像;
标记所述第二图像包含的用于识别所述待识别目标的特征点;所述特征点为所述第二图像中或在所述第二图像周边预设距离内的特征点;
获取所述特征点与相应的所述第二图像的位置关系;
将得到所述位置关系的所述第二图像作为所述特征样本。
根据本发明所述的低比特网络的图像识别方法,所述特征样本的获取方式,还包括:
依次选取多张所述第一图像中的一张,作为基准图像;
基于所述基准图像的所述第二图像的所述特征点,以及所述位置关系,将所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像进行配对,所述配对指所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像,表征所述待识别目标的相同区域;
将配对的所述第二图像合并为同一类别,作为所述特征样本。
本发明还提供一种低比特网络的图像识别系统,包括:
获取模块,用于获取待识别图像;
识别模块,用于将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
比对模块,用于基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的低比特网络的图像识别方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的低比特网络的图像识别方法。
本发明提供的低比特网络的图像识别方法、系统及电子设备,在将获取的待识别图像输入图像识别模型中后,通过将输入所述图像识别模型的各网络层的对应于所述待识别图像的特征值以及网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,然后再进行运算,进而识别出所述待识别图像的图像特征,并基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果,因预设第一位宽和预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽,使得所述图像识别模型基于待识别图像的运算,所需的存储空间和计算复杂度均大幅降低,有效提高了对待识别图像的识别效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的低比特网络的图像识别方法的流程示意图;
图2是本发明提供的低比特网络的图像识别系统的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,深度学习模型通过提取待识别图像的特征,然后将提取的特征与预存的特征样本进行比对,在比对的分值大于预设阈值时,认为比对成功,进而将相应的特征样本作为对待识别图像的识别结果输出。其中,深度学习模型对待识别图像的特征的提取的过程,是基于代表待识别图像的浮点数据进行运算的,而其中的浮点数据的位宽一般为32比特,这种较大的位宽使得深度学习模型在使用时的计算复杂度都较高,同时需要较高的存储资源和计算资源的支持,影响了图像识别效率。
基于此,本发明实施例提供了一种在基于深度学习模型对待识别图像进行处理时,将表征待识别图像的特征,以及模型的网络层的浮点权重先进行低比特量化的低比特网络的图像识别方法,以降低模型在处理待识别图像时的运算复杂度,并降低对存储资源和计算资源的需求,以提高对待识别图像的识别效率。
下面结合图1描述本发明的低比特网络的图像识别方法,通过计算机或者其中的软件和/或硬件执行,如图1所示,所述方法具体包括:
101、获取待识别图像;
102、将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
103、基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
具体地,在获取了待识别图像后,通过将待识别图像输入图像识别模型,得到表征图像的特征,然后与预存的特征样本进行比对,得到待识别图像的识别结果。
可以理解的是,对于为深度学习模型的图像识别模型来说,是由一系列的网络层连接而成的。对于一个普通的网络层来说,输入为x,输出为y,网络权重为w,偏置为b,则有y=w*x+b,其中,w、b、x和y均为浮点数。所以,对于普通的深度学习模型来说,是基于浮点数进行的运算。
基于此,在本发明实施例中,为了提高对待识别图像的识别效率,即提高图像识别模型在存储和计算时的效率,同时,考虑到在通常情况下,b可以置为0,所述图像识别模型在处理所述待识别图像时,在将表征所述待识别图像的浮点数据输入所述图像识别模型的网络层前,先将浮点数据和网络层的浮点权重经低比特量化,即使用低比特的数值来表示x和w,然后使得网络层基于低比特的数据和低比特的权重进行运算,例如,将特征值和浮点权重均量化为4比特的数据,则相对于原本一般为32比特的浮点数据和浮点权重,使得存储和运算资源需求降低了8倍,进而有效降低了运算复杂度,以及存储和运算资源的需求,使得处理效率大大提高。
作为本发明的一种实施例,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第一预设规则,将所述特征值限制在第一预设数值范围内;
基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据。
具体地,对于预设第一位宽来说,以位宽为4比特数据为例,其仅包含0到15内的有限量的数据,而原本的特征值的位宽为32比特,要将32比特的特征值量化为4比特的特征值数据,就需要先将原本的特征值限制在预设的数值范围内,然后才能根据预设范围内的特征值和预设位宽的关系,来对特征值进行低比特量化。
作为本发明的一种实施例,所述第一预设规则为:
当所述特征值小于所述第一预设数值范围的下限值时,将所述特征值设定为等于所述下限值;
当所述特征值处于所述第一预设数值范围内时,保持所述特征值不变;
当所述特征值大于所述第一预设数值范围的上限值时,将所述特征值设定为等于所述上限值。
具体地,以第一预设数值范围为0-1为例,则需要将输入x截断限制在0-1之间,即当x<0时,x=0;当0=<x<=1时,x=x;当x>1时,x=1。
作为本发明的一种实施例,所述基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据,包括:
基于所述预设第一位宽,得到在所述预设第一位宽下的最大值;
将限制在所述第一预设数值范围内的所述特征值和在所述预设第一位宽下的最大值相乘,得到第一乘积;
对所述第一乘积进行取整,得到所述特征值数据。
具体地,以预设第一位宽为4比特为例,对本发明实施例所述的得到特征值数据的方法进行说明。对于位宽4比特的数据,最大值为NMAX=15,则输入x的值近似为x2=取整(x*NMAX)/NMAX。其中的取整(x*NMAX)部分就可以用4比特的数值表示和计算,即在图像识别模型的网络层的网络推理过程中,使用x3=取整(x*NMAX)进行计算,而在所述网络层计算结束,再除以NMAX即可。
更具体地,以x=0.3为例,则根据x2=取整(x*NMAX)/NMAX可知,0.3*15=4.5,对4.5进行取整为5,则可以以5作为特征值数据进行网络层的运算,然后在运算结束后再除以15后,重新转换为浮点数。
作为本发明的一种实施例,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第二预设规则,将所述浮点权重变换到第二预设数值范围内;
基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值;
按照第三预设规则,将所述浮点权重的近似值变换到第三预设数值范围内;
基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据。
具体地,基于对所述特征值进行低比特量化的相同的原理,也需要先将原本的浮点权重限制在预设的数值范围内,然后才能根据预设范围内的浮点权重和预设第二位宽的关系,来对浮点权重进行低比特量化。
根据本发明所述的低比特网络的图像识别方法,所述第二预设规则为:
w2=f(w) (1)
其中,w2表示变换到所述第二预设数值范围内的浮点权重;f(w)表示将w2限制在所述第二预设数值范围内的单调递增函数;w表示所述网络层的浮点权重。
具体地,所述第二预设数值范围为[0,1],通过上述公式1,可以将w变换到第二预设数值范围内。
更具体地,所述单调递增函数可以为任意能将浮点权重变换到[0,1]的具体形式,例如:
Figure BDA0003691464140000101
其中,wmin表示所述网络层的浮点权重的最小值;wmax表示所述网络层的浮点权重的最大值。
或者:
f(w)=sigmoid(w) (3)
作为本发明的一种实施例,所述基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值,包括:
基于所述预设第二位宽,得到在所述预设第二位宽下的最大值;
将变换到所述第二预设数值范围内的所述浮点权重和在所述预设第二位宽下的最大值相乘,得到第二乘积;
对所述第二乘积进行取整,并除以在所述预设第二位宽下的最大值,得到变换到所述第二预设数值范围内的所述浮点权重的近似值。
具体地,以预设第二位宽也为4比特为例,对本发明实施例所述的得到浮点权重近似值的方法进行说明。对于位宽4比特的数据,最大值为NMAX=15,同时,基于获取输入x在位宽4比特下的近似值的相同原理,w2的值近似为w3=取整(w2*NMAX)/NMAX。
作为本发明的一种实施例,所述第三预设规则为:
w4=w3*2-1 (4)
其中,w4表示变换到第三预设数值范围内的所述浮点权重的近似值;w3表示所述浮点权重的近似值。
具体地,所述第三预设数值范围为[-1,1],基于上述公式1,能够得到公式3,通过公式3就能得到变换到第三预设数值范围内的所述浮点权重的近似值。
作为本发明的一种实施例,所述基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据,包括:
将变换到所述第三预设数值范围内的所述浮点权重的近似值和在所述预设第二位宽下的最大值相乘,得到第三乘积;
对所述第三乘积进行取整,得到所述权重数据。
具体地,通过将w4*NMAX得到第三乘积,然后w5=取整(w4*NMAX)即为所述权重数据。
更具体地,w5可以利用低比特保存,同时可以利用w5参与网络层推理计算,在相应网络层计算结束后,再除以NMAX即可。
作为本发明的一种实施例,本发明所述的低比特网络的图像识别方法还包括所述特征样本的获取方式:
获取表征待识别目标的第一图像;
由所述第一图像上滑窗截取预设面积的多个第二图像;
标记所述第二图像包含的用于识别所述待识别目标的特征点;所述特征点为所述第二图像中或在所述第二图像周边预设距离内的特征点;
获取所述特征点与相应的所述第二图像的位置关系;
将得到所述位置关系的所述第二图像作为所述特征样本。
可以理解的是,以指纹识别为例,基于特征点匹配的方法需要准确的提取特征点,然而,虽然大面积指纹图像特征点数目较多,但在部分应用场景下,如:智能设备解锁、上下班指纹打卡等,只能获取小部分指纹区域,无法提取足够的特征点,所以在基于深度学习的方法中,可以基于小面积的图像特征样本来对深度学习模型进行训练,进而使得训练得到的深度学习模型在输入小面积的指纹图像时,也能够对图像进行准确的识别。
基于此,本发明上述实施例提供一种获取小面积的特征样本的方式。具体地,对获取的表征待识别目标的第一图像通过滑窗截取预设面积的小面积的第二图像,作为一个类别参与分类计算,即作为图像识别模型的特征样本进行模型的训练。
作为本发明的一种实施例,所述特征样本的获取方式,还包括:
依次选取多张所述第一图像中的一张,作为基准图像;
基于所述基准图像的所述第二图像的所述特征点,以及所述位置关系,将所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像进行配对,所述配对指所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像,表征所述待识别目标的相同区域;
将配对的所述第二图像合并为同一类别,作为所述特征样本。
可以理解的是,用于训练的包含同一待识别目标的不同位置不同角度的特征样本越多,越能使得训练得到的图像识别模型的准确度越高。
基于此,本发明上述实施例依次将选取的多张第一图像中的一张作为基准图像I,然后利用大面积图像特征点的配对关系S,即位置关系S,在除基准图像I外的其他大面积的第一图像I2上找到这几个特征点c相对应的特征点,进一步利用位置关系S,找到小面积的第二图像b在除基准图像I外的其他第一图像I2上相同区域的图像b2。即b和b2为同一待识别目标不同图像,相同位置的小面积图像,将其作为同一类别参与分类计算,使得同一类别包含多张小面积图像,进而能够提供深度学习模型的识别性能。
更具体地,本发明实施例对于特征点的提取方法和比对方法不做具体的限制,只要能够实现针对图像的特征点提取,以及进行特征点比对即可。例如:可以基于标准的FingerNet网络的方法进行特征点的提取;基于标准的三维数据结构的圆柱编码算法进行特征点的比对。
进一步地,可以理解的是,在使用所述图像识别模型对待识别图像进行识别时,需要将输入每个网络层的特征值和所述网络层的浮点权重先进行低比特量化,因而,需要所述图像识别模型具有针对低比特量化后的数据进行处理的能力。
下面以实例的方式具体说明本发明实施例所述的低比特网络的图像识别方法中所涉及的图像识别模型的结构。
同时可以理解的是,所述图像识别模型对待识别图像的处理过程,与所述图像识别模型在训练过程中,输入特征样本时,对特征样本的处理方式相同。因而,本发明实例中涉及的低比特量化,均采用本发明上述实施例所述的低比特量化方法。
具体地,所述图像识别模型的一个实例对待识别图像的处理主要通过三个计算模块完成,其中:
第一个计算模块包含一个N-bit(如:3-bit、4-bit、5bit等)卷积层,输入为1通道的96*96的8-bit灰度图像,卷积核(kernel_size)值为3*3,步幅(stride)值为2,填充(padding)值为1,无偏置参数(bias),卷积层输出out为16通道数据。第一个计算模块输出值作为下一个计算模块的输入值进行计算。
第二个计算模块包含8个小模块(Block),每一个小模块(Block)的输入为上一模块输出的低比特量化值。以第一个小模块(B1)的结构为例:
1、上一个模块的输出值作为输入,进入第一个批标准化层(BatchNorm),对第一个批标准化层的输出进行低比特量化后,进入第一个N-bit卷积层,参数为卷积核B1_1(kernel_size B1_1)值为1*1,步幅B1_1(stride B1_1)值为1,无填充(padding B1_1),无偏置参数(bias),卷积层输出Out_B1_1为16通道数据。
2、输出数据进入第二个批标准化层(BatchNorm),对第二个批标准化层的输出进行低比特量化后,再进入第二个N-bit卷积层,参数为卷积核B1_2(kernel_size B1_2)值为5*5,步幅B1_2(stride B1_2)值为2,填充B1_2(padding B1_2)值为2,无偏置参数(bias),卷积层输出Out_B1_2为16通道数据。
3、输出数据进入第三个批标准化层(BatchNorm)层,对第三个批标准化层的输出进行低比特量化后,再进入第三个N-bit卷积层,参数为卷积核B1_3(kernel_size B1_3)值为1*1,步幅B1_3(stride B1_3)值为1,无填充(padding B1_3),无偏置参数(bias),卷积层输出Out_B1_3为16通道数据。
4、第一个批标准化层的输出低比特量化的值同时进入第四个N-bit卷积层,参数为卷积核B1_4(kernel_size B1_4)值为1*1,步幅B1_4(stride B1_4)值为2,无填充(padding B1_4),无偏置参数(bias),卷积层输出16通道数据。第四个N-bit卷积层的输出进入第四个批标准化层,输出Out_B1_4。
5、第四个批标准化层的输出Out_B1_4和第二个N-bit卷积层的输出结果Out_B1_2相加计算,和值进入下一个小模块(Block)。
8个小模块(Block)的结构相似,每一个小模块(Block)卷积层的参数略有不同。
小模块2(B2)的卷积层参数为:
B2_1(kernel_size B2_1)值为1*1,步幅B2_1(stride B2_1)值为1,无填充(padding B2_1=0),无偏置参数(bias),卷积层输出out_B2_1为32通道数据。
B2_2(kernel_sizeB2_2)值为5*5,步幅B2_2(strideB2_2)值为2,填充B2_2(padding B2_2)值为2,无偏置参数(bias),卷积层输出out_B2_2为32通道数据。
B2_3(kernel_sizeB2_3)值为1*1,步幅B2_3(strideB2_3)值为1,无填充(paddingB2_3=0),无偏置参数(bias),卷积层输出out_B2_3为16通道数据。
B2_4(kernel_sizeB2_4)值为1*1,步幅B2_4(strideB2_4)值为2,无填充(paddingB2_4=0),无偏置参数(bias),卷积层输出out_B2_4为16通道数据。
小模块3(B3)的卷积层参数为:
B3_1(kernel_size B3_1)值为1*1,步幅B3_1(stride B3_1)值为1,无填充(padding B3_1=0),无偏置参数(bias),卷积层输出out_B3_1为48通道数据。
B3_2(kernel_sizeB3_2)值为5*5,步幅B3_2(strideB3_2)值为1,填充B3_2(padding B3_2)值为2,无偏置参数(bias),卷积层输出out_B3_2为48通道数据。
B3_3(kernel_sizeB3_3)值为1*1,步幅B3_3(strideB3_3)值为1,无填充(paddingB3_3=0),无偏置参数(bias),卷积层输出out_B3_3为24通道数据。
B3_4(kernel_sizeB3_4)值为1*1,步幅B3_4(strideB3_4)值为1,无填充(paddingB3_4=0),无偏置参数(bias),卷积层输出out_B3_4为24通道数据。
小模块4(B4)的卷积层参数为:
B4_1(kernel_size B4_1)值为1*1,步幅B4_1(stride B4_1)值为1,无填充(padding B4_1=0),无偏置参数(bias),卷积层输出out_B4_1为56通道数据。
B4_2(kernel_sizeB4_2)值为5*5,步幅B4_2(strideB4_2)值为2,填充B4_2(padding B4_2)值为2,无偏置参数(bias),卷积层输出out_B4_2为56通道数据。
B4_3(kernel_sizeB4_3)值为1*1,步幅B4_3(strideB4_3)值为1,无填充(paddingB4_3=0),无偏置参数(bias),卷积层输出out_B4_3为32通道数据。
B4_4(kernel_sizeB4_4)值为1*1,步幅B4_4(strideB4_4)值为2,无填充(paddingB4_4=0),无偏置参数(bias),卷积层输出out_B4_4为32通道数据。
小模块5(B5)的卷积层参数为:
B5_1(kernel_size B5_1)值为1*1,步幅B5_1(stride B5_1)值为1,无填充(padding B5_1=0),无偏置参数(bias),卷积层输出out_B5_1为64通道数据。
B5_2(kernel_sizeB5_2)值为5*5,步幅B5_2(strideB5_2)值为1,填充B5_2(padding B5_2)值为2,无偏置参数(bias),卷积层输出out_B5_2为64通道数据。
B5_3(kernel_sizeB5_3)值为1*1,步幅B5_3(strideB5_3)值为1,无填充(paddingB5_3=0),无偏置参数(bias),卷积层输出out_B5_3为32通道数据。
B5_4(kernel_sizeB5_4)值为1*1,步幅B5_4(strideB5_4)值为1,无填充(paddingB5_4=0),无偏置参数(bias),卷积层输出out_B5_4为32通道数据。
小模块6(B6)的卷积层参数为:
B6_1(kernel_size B6_1)值为1*1,步幅B6_1(stride B6_1)值为1,无填充(padding B6_1=0),无偏置参数(bias),卷积层输出out_B6_1为96通道数据。
B6_2(kernel_sizeB6_2)值为5*5,步幅B6_2(strideB6_2)值为1,填充B6_2(padding B6_2)值为2,无偏置参数(bias),卷积层输出out_B6_2为96通道数据。
B6_3(kernel_sizeB6_3)值为1*1,步幅B6_3(strideB6_3)值为1,无填充(paddingB6_3=0),无偏置参数(bias),卷积层输出out_B6_3为48通道数据。
B6_4(kernel_sizeB6_4)值为1*1,步幅B6_4(strideB6_4)值为1,无填充(paddingB6_4=0),无偏置参数(bias),卷积层输出out_B6_4为48通道数据。
小模块7(B7)的卷积层参数为:
B7_1(kernel_size B7_1)值为1*1,步幅B7_1(stride B7_1)值为1,无填充(padding B7_1=0),无偏置参数(bias),卷积层输出out_B7_1为144通道数据。
B7_2(kernel_sizeB7_2)值为5*5,步幅B7_2(strideB7_2)值为1,填充B7_2(padding B7_2)值为2,无偏置参数(bias),卷积层输出out_B7_2为144通道数据。
B7_3(kernel_sizeB7_3)值为1*1,步幅B7_3(strideB7_3)值为1,无填充(paddingB7_3=0),无偏置参数(bias),卷积层输出out_B7_3为96通道数据。
B7_4(kernel_sizeB7_4)值为1*1,步幅B7_4(strideB7_4)值为1,无填充(paddingB7_4=0),无偏置参数(bias),卷积层输出out_B7_4为96通道数据。
小模块8(B8)的卷积层参数为:
B8_1(kernel_size B8_1)值为1*1,步幅B8_1(stride B8_1)值为1,无填充(padding B8_1=0),无偏置参数(bias),卷积层输出out_B8_1为144通道数据。
B8_2(kernel_sizeB8_2)值为5*5,步幅B8_2(strideB8_2)值为2,填充B8_2(padding B8_2)值为2,无偏置参数(bias),卷积层输出out_B8_2为144通道数据。
B8_3(kernel_sizeB8_3)值为1*1,步幅B8_3(strideB8_3)值为1,无填充(paddingB8_3=0),无偏置参数(bias),卷积层输出out_B8_3为96通道数据。
B8_4(kernel_sizeB8_4)值为1*1,步幅B8_4(strideB8_4)值为2,无填充(paddingB8_4=0),无偏置参数(bias),卷积层输出out_B8_4为96通道数据。
第三个计算模块包含一个批标准化层,一个N比特卷积层,一个特征归一化层。上一个模块的输出进入批标准化层(BatchNorm),输出经低比特量化后进入卷积层,卷积核(kernel_size)值为3*3,步幅(stride)值为1,无填充(padding=0),无偏置参数(bias),卷积层输出out为128通道数据。之后经特征归一化层进行数据归一化,归一化的浮点特征作为图像数据的特征表示,用于进行图像相似性比对计算。
其中,在图像识别过程中,相似性比对分值利用归一化的特征点积计算得到。在模型训练过程中,归一化的浮点特征进入所述图像识别模型的分类层对图像数据进行分类计算。
更进一步地,在对所述图像识别模型的训练过程中,以输入的图像样本的尺寸为预设第一尺寸的灰度图像为例,训练过程可将预设第二尺寸的小面积的图像样本随机绕中心点旋转预设的角度,例如30度、45度等,然后随机进行灰度值拉伸变换后,随机截取预设第一尺寸大小输入网络训练。训练过程通过交叉熵损失函数对整个网络参数优化,直至损失不再下降。
下面以指纹识别领域为例,具体说明基于本发明实施例所述的方法,进行图像识别模型的构建和训练,以及利用训练后的所述图像识别模型进行小面积指纹识别的方法:
首先,生成用于图像识别模型训练的小面积指纹图像块。
获取同一指纹的多张大面积指纹图像,在大面积指纹图像上利用FingerNet网络提取指纹特征点,利用基于标准的三维数据结构的圆柱编码算法进行特征点配对。选取一张整幅指纹图像为基准图像I1,滑窗截取110*110小面积指纹图像块。每一个小面积指纹图像块都将作为一个类别参与分类计算。对于每一个小面积指纹图像块b1,找到其包含或周边的几个特征点,并计算小面积指纹图像块和这几个特征点的位置关系S1。同时利用大面积指纹图像特征点的配对关系,在第二张整幅指纹图像I2上找到与这几个特征点相对应的特征点,进一步利用位置关系S1,找到小面积指纹图像块b1在第二张整幅指纹图像I2上相同区域的图像块b2。因为b1和b2为同一指纹不同图像相同位置的小指纹图像块,作为同一类别参与分类计算。依次将这一指纹的所有图像按相同方式处理。通过使用不同的大面积指纹图像作为基准图像,共生成约10万数目类别的小图像块。
之后,构建4比特深度学习网络模型。所述构建方法可以参照前述图像识别模型的实例。
然后,训练所述4比特深度学习网络模型。
训练过程输入网络的图像尺寸为96*96的灰度图像,训练过程中将110*110大小的小面积指纹图像样本随机绕中心点旋转30度,然后随机进行灰度值拉伸变换,之后随机截取96*96大小输入网络训练。训练过程通过交叉熵损失函数对整个网络参数优化,直至损失不在下降。128维归一化的浮点特征进入分类层对训练样本数据进行分类计算。128维归一化的浮点特征用于指纹图像相似性比对计算。
至此,得到训练好的图像识别模型,进而,可以利用所述图像识别模型进行小面积指纹图像的识别,具体识别方法为图像比对。
对于两张96*96的小面积指纹图像,利用4比特深度学习网络模型分别提取128维特征,两个特征的点积可以用来表示两张指纹图像的相似度。相似度高于设定阈值,即比对成功。即基于模型中存储的多个不同位置的小面积图像块的特征,将输入模型的小面积指纹图像的特征与所有存储的图像块特征比对,有一个比对分值大于设定阈值时,则比对成功。其中,所述阈值通过实验得到。
综上,本发明实施例提出了一种基于低比特深度学习的针对小面积图像的低比特网络的图像识别方法,所述方法无需手动提取特征点,使用较低的存储和计算资源提高了小面积图像的图像识别性能,使得所述方法尤其适用于指纹识别等,仅对小面积的图像进行识别的技术领域,不仅提高了对指纹的识别效率,还保证了识别的准确率。
下面结合图2对本发明提供的一种低比特网络的图像识别系统进行描述,下文描述的低比特网络的图像识别系统与上文描述的低比特网络的图像识别方法可相互对应参照。
本发明实施例所述的低比特网络的图像识别系统,如图2所示,包括:获取模块210、识别模块220和比对模块230;其中,
所述获取模块210用于获取待识别图像;
所述识别模块220用于将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
所述比对模块230用于基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
本发明实施例所述的低比特网络的图像识别系统,在将获取的待识别图像输入图像识别模型中后,通过将输入所述图像识别模型的各网络层的对应于所述待识别图像的特征值以及网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,然后再进行运算,进而识别出所述待识别图像的图像特征,并基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果,因所述预设第一位宽和预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽,使得所述图像识别模型基于待识别图像的运算,所需的存储空间和计算复杂度均大幅降低,有效提高了对待识别图像的识别效率。
优选的,所述图像识别模型用于按照第一预设规则,将所述特征值限制在第一预设数值范围内;
基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据。
优选的,所述第一预设规则为:当所述特征值小于所述第一预设数值范围的下限值时,将所述特征值设定为等于所述下限值;当所述特征值处于所述第一预设数值范围内时,保持所述特征值不变;当所述特征值大于所述第一预设数值范围的上限值时,将所述特征值设定为等于所述上限值。
优选的,所述图像识别模型还用于基于所述预设第一位宽,得到在所述预设第一位宽下的最大值;将限制在所述第一预设数值范围内的所述特征值和在所述预设第一位宽下的最大值相乘,得到第一乘积;对所述第一乘积进行取整,得到所述特征值数据。
优选的,所述图像识别模型还用于按照第二预设规则,将所述浮点权重变换到第二预设数值范围内;基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值;按照第三预设规则,将所述浮点权重的近似值变换到第三预设数值范围内;基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据。
优选的,所述第二预设规则为:
w2=f(w) (1)
其中,w2表示变换到所述第二预设数值范围内的浮点权重;f(w)表示将w2限制在所述第二预设数值范围内的单调递增函数;w表示所述网络层的浮点权重。
优选的,所述图像识别模型还用于基于所述预设第二位宽,得到在所述预设第二位宽下的最大值;将变换到所述第二预设数值范围内的所述浮点权重和在所述预设第二位宽下的最大值相乘,得到第二乘积;对所述第二乘积进行取整,并除以在所述预设第二位宽下的最大值,得到变换到所述第二预设数值范围内的所述浮点权重的近似值。
优选的,所述第三预设规则为:
w4=w3*2-1 (4)
其中,w4表示变换到第三预设数值范围内的所述浮点权重的近似值;w3表示所述浮点权重的近似值。
优选的,所述图像识别模型还用于将变换到所述第三预设数值范围内的所述浮点权重的近似值和在所述预设第二位宽下的最大值相乘,得到第三乘积;对所述第三乘积进行取整,得到所述权重数据。
优选的,所述的低比特网络的图像识别系统中还包括特征样本的生成模块;
所述生成模块用于获取表征待识别目标的第一图像;由所述第一图像上滑窗截取预设面积的多个第二图像;标记所述第二图像包含的用于识别所述待识别目标的特征点;所述特征点为所述第二图像中或在所述第二图像周边预设距离内的特征点;获取所述特征点与相应的所述第二图像的位置关系;将得到所述位置关系的所述第二图像作为所述特征样本。
优选的,所述生成模块还用于依次选取多张所述第一图像中的一张,作为基准图像;基于所述基准图像的所述第二图像的所述特征点,以及所述位置关系,将所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像进行配对,所述配对指所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像,表征所述待识别目标的相同区域;将配对的所述第二图像合并为同一类别,作为所述特征样本。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行低比特网络的图像识别方法,该方法包括:获取待识别图像;将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的低比特网络的图像识别方法,该方法包括:获取待识别图像;将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法所提供的低比特网络的图像识别方法,该方法包括:获取待识别图像;将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种低比特网络的图像识别方法,其特征在于,包括:
获取待识别图像;
将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
2.根据权利要求1所述的低比特网络的图像识别方法,其特征在于,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第一预设规则,将所述特征值限制在第一预设数值范围内;
基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据。
3.根据权利要求2所述的低比特网络的图像识别方法,其特征在于,所述第一预设规则为:
当所述特征值小于所述第一预设数值范围的下限值时,将所述特征值设定为等于所述下限值;
当所述特征值处于所述第一预设数值范围内时,保持所述特征值不变;
当所述特征值大于所述第一预设数值范围的上限值时,将所述特征值设定为等于所述上限值。
4.根据权利要求2所述的低比特网络的图像识别方法,其特征在于,所述基于限制在所述第一预设数值范围内的所述特征值和所述预设位宽,得到所述特征值数据,包括:
基于所述预设第一位宽,得到在所述预设第一位宽下的最大值;
将限制在所述第一预设数值范围内的所述特征值和在所述预设第一位宽下的最大值相乘,得到第一乘积;
对所述第一乘积进行取整,得到所述特征值数据。
5.根据权利要求1所述的低比特网络的图像识别方法,其特征在于,所述将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,包括:
按照第二预设规则,将所述浮点权重变换到第二预设数值范围内;
基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值;
按照第三预设规则,将所述浮点权重的近似值变换到第三预设数值范围内;
基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据。
6.根据权利要求5所述的低比特网络的图像识别方法,其特征在于,所述第二预设规则为:
w2=f(w)
其中,w2表示变换到所述第二预设数值范围内的浮点权重;f(w)表示将w2限制在所述第二预设数值范围内的单调递增函数;w表示所述网络层的浮点权重。
7.根据权利要求5所述的低比特网络的图像识别方法,其特征在于,所述基于变换到所述第二预设数值范围内的所述浮点权重和所述预设第二位宽,得到变换到所述第二预设数值范围内的所述浮点权重的近似值,包括:
基于所述预设第二位宽,得到在所述预设第二位宽下的最大值;
将变换到所述第二预设数值范围内的所述浮点权重和在所述预设第二位宽下的最大值相乘,得到第二乘积;
对所述第二乘积进行取整,并除以在所述预设第二位宽下的最大值,得到变换到所述第二预设数值范围内的所述浮点权重的近似值。
8.根据权利要求7所述的低比特网络的图像识别方法,其特征在于,所述第三预设规则为:
w4=w3*2-1
其中,w4表示变换到第三预设数值范围内的所述浮点权重的近似值;w3表示所述浮点权重的近似值。
9.根据权利要求8所述的低比特网络的图像识别方法,其特征在于,所述基于变换到所述第三预设数值范围内的所述浮点权重的近似值和所述预设第二位宽,得到所述权重数据,包括:
将变换到所述第三预设数值范围内的所述浮点权重的近似值和在所述预设第二位宽下的最大值相乘,得到第三乘积;
对所述第三乘积进行取整,得到所述权重数据。
10.根据权利要求1所述的低比特网络的图像识别方法,其特征在于,还包括所述特征样本的获取方式:
获取表征待识别目标的第一图像;
由所述第一图像上滑窗截取预设面积的多个第二图像;
标记所述第二图像包含的用于识别所述待识别目标的特征点;所述特征点为所述第二图像中或在所述第二图像周边预设距离内的特征点;
获取所述特征点与相应的所述第二图像的位置关系;
将得到所述位置关系的所述第二图像作为所述特征样本。
11.根据权利要求10所述的低比特网络的图像识别方法,其特征在于,所述特征样本的获取方式,还包括:
依次选取多张所述第一图像中的一张,作为基准图像;
基于所述基准图像的所述第二图像的所述特征点,以及所述位置关系,将所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像进行配对,所述配对指所述基准图像的所述第二图像与除所述基准图像外的所述第一图像的所述第二图像,表征所述待识别目标的相同区域;
将配对的所述第二图像合并为同一类别,作为所述特征样本。
12.一种低比特网络的图像识别系统,其特征在于,包括:
获取模块,用于获取待识别图像;
识别模块,用于将所述待识别图像输入图像识别模型中,识别所述待识别图像的图像特征;
比对模块,用于基于所述待识别图像的图像特征与预存的特征样本,得到所述待识别图像的识别结果;
其中,针对所述图像识别模型的每个网络层,将输入所述网络层的特征值以及所述网络层的浮点权重分别量化为预设第一位宽的特征值数据和预设第二位宽的权重数据,所述预设第一位宽和所述预设第二位宽分别小于量化前的所述特征值的位宽和所述浮点权重的位宽。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至11任一项所述的低比特网络的图像识别方法。
14.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述的低比特网络的图像识别方法。
CN202210665482.7A 2022-06-13 2022-06-13 低比特网络的图像识别方法、系统及电子设备 Pending CN114972957A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210665482.7A CN114972957A (zh) 2022-06-13 2022-06-13 低比特网络的图像识别方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210665482.7A CN114972957A (zh) 2022-06-13 2022-06-13 低比特网络的图像识别方法、系统及电子设备

Publications (1)

Publication Number Publication Date
CN114972957A true CN114972957A (zh) 2022-08-30

Family

ID=82961329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210665482.7A Pending CN114972957A (zh) 2022-06-13 2022-06-13 低比特网络的图像识别方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN114972957A (zh)

Similar Documents

Publication Publication Date Title
CN107944020B (zh) 人脸图像查找方法及装置、计算机装置和存储介质
CN110807314A (zh) 文本情感分析模型训练方法、装置、设备及可读存储介质
CN105138993A (zh) 建立人脸识别模型的方法及装置
CN111178312B (zh) 基于多任务特征学习网络的人脸表情识别方法
CN109740674B (zh) 一种图像处理方法、装置、设备和存储介质
Yang et al. Blind image quality assessment based on multi-scale KLT
CN111223128A (zh) 目标跟踪方法、装置、设备及存储介质
CN113095333A (zh) 无监督特征点检测方法及装置
CN112966685A (zh) 用于场景文本识别的攻击网络训练方法、装置及相关设备
CN114332500A (zh) 图像处理模型训练方法、装置、计算机设备和存储介质
US9058517B1 (en) Pattern recognition system and method using Gabor functions
CN111553241A (zh) 掌纹的误匹配点剔除方法、装置、设备及存储介质
CN117315377B (zh) 基于机器视觉的图像处理方法、装置及电子设备
CN111582284B (zh) 用于图像识别的隐私保护方法、装置和电子设备
CN111931757A (zh) 基于mdlbp分块直方图和pca降维的指静脉快速排序方法及装置
CN114972957A (zh) 低比特网络的图像识别方法、系统及电子设备
CN114550224A (zh) 基于深度学习的指纹图像识别比对方法、装置和电子设备
CN113887709A (zh) 神经网络自适应量化方法、装置、设备、介质和产品
CN115063374A (zh) 模型训练、人脸图像质量评分方法、电子设备及存储介质
CN114139678A (zh) 卷积神经网络量化方法、装置、电子设备和存储介质
Montagner et al. NILC: a two level learning algorithm with operator selection
Krupiński et al. Improved two-step binarization of degraded document images based on Gaussian mixture model
CN112084979A (zh) 食品成分识别方法、装置、设备及存储介质
Lam et al. Application of convolutional neural networks for fingerprint recognition
CN117974833B (zh) 图像生成方法、装置、设备、可读存储介质及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination