CN113468935A - 人脸识别方法 - Google Patents
人脸识别方法 Download PDFInfo
- Publication number
- CN113468935A CN113468935A CN202010384361.6A CN202010384361A CN113468935A CN 113468935 A CN113468935 A CN 113468935A CN 202010384361 A CN202010384361 A CN 202010384361A CN 113468935 A CN113468935 A CN 113468935A
- Authority
- CN
- China
- Prior art keywords
- shift
- neural network
- result
- convolutional neural
- convolution
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 106
- 238000013135 deep learning Methods 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 238000013528 artificial neural network Methods 0.000 claims abstract description 21
- 238000013139 quantization Methods 0.000 claims description 63
- 230000006698 induction Effects 0.000 claims description 30
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000002087 whitening effect Effects 0.000 claims description 3
- 238000011002 quantification Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
人脸识别方法,其中,采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别,包括:确定卷积神经网络的结构;根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并;根据所述合并的结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果。本发明将诸如ResNet类、GoogLeNet类或Inception‑ResNet类的高精度的卷积神经网络算法在保持原有分类、检测准确率的情况下,量化到一个低精度的数据来表示,从而将高精度的卷积神经网络部署在诸如智能手机、智能摄像头等边缘设备上,提高了在边缘端上进行人脸检测的性能。
Description
技术领域
本发明涉及人工智能技术领域,特别是涉及一种人脸识别方法。
背景技术
通过深度学习能够获得人脸检测的结果,是实现人脸识别的基础。具体的,现有技术中,实现人脸检测的方法包括:使用手机,智能摄像头将外界信息采集送入到硬件的处理单元,通过深度学习方法获得人脸检测的结果,然后将结果送入到深度学习人脸识别的算法中,进行人脸识别,最终的结果是在一副图像或者视频中,用方框框上人脸的位置和大小,并在上面标出人脸的名字。
关于其中的深度学习,目前卷积神经网络在物体分类,人脸/人形检测,人脸识别,图像分割上都取得了相当高的准确度,但是如果想把卷积神经网络算法应用到边缘端上,比如智能手机、智能摄像头等,会由于模型的高精度数据表示和算法所占用的储存空间面临速度,功耗等问题。
因此,亟需一种能够在手机,智能摄像头等边缘端上实现的人脸检测方法。
目前公认的成功并流行的卷积神经网络结构有如下几种,AlexNet,VGG,ResNet和GoogLeNet类。
其中,AlexNet是较早的卷积神经网络,它首先是5个卷积层,后面连接着3个全连层。
VGG对比于AlexNet的改进是采用多个连续的3x3卷积核来代替掉AlexNet中的较大的卷积核(11x11,5x5)。
ResNet的出现,可以让我们去训练更加深的网络,在VGG的基础上,出现了短路连接插入形成残差网络的新结构。
GoogLeNet基于深度学习网络中大部分的输出的激活值是冗余的,设计了一种称为Inception的模块,这个模块使用密集的小尺寸卷积核来近似稀疏的CNN。
现有技术中的深度学习网络架构的偏移量的量化算法都是针对于AlexNet,VGG结构的偏移量的量化算法。
发明内容
本发明解决的技术问题是:如何在智能手机、智能摄像头等边缘端上实现高性能的人脸检测。
为了解决上述技术问题,本发明实施例提供一种人脸识别方法,包括:
获得待识别的图像;
通过人脸检测手段,来检测图像中的人脸区域;
从人脸区域中提取人脸表征;
采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别;
其中,所述采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别包括:
确定卷积神经网络的结构;
根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;
根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并;
根据所述合并的结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果。
可选的,所述获得待识别的图像包括:
采集视频流;
获得视频流中的图像帧,作为待识别的图像。
可选的,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;包括:
对于ResNet类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
Y′=Y<<shift(a-b),pos
Y′=Y>>shift|a-b|,neg
其中,Y`表示第二归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位。
可选的,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于ResNet类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X+Y′
其中,Z表示合并结果,X表示输入数值,Y`表示第二归纳结果。
可选的,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;包括:
对于ResNet类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
其中,X`表示第一归纳结果,Y`表示第二归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位。
可选的,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于ResNet类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X′+Y′
其中,Z表示合并结果,X`表示第一归纳结果,Y`表示第二归纳结果。
可选的,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下包括:
对于Inception类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
Y′=Y<<shift(a-b),pos
Y′=Y>>shift|a-b|,neg
Z′=Y<<shift(a-c),pos
Z′=Y>>shift|a-c|,neg
其中,Y`表示第二归纳结果,Z`表示第三归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位,c表示第三卷积结果的移位。
可选的,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于Inception类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X+Y′+Z′
其中,Z表示合并结果,X表示输入数值,Y`表示第二归纳结果,Z`表示第三归纳结果。
可选的,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下包括:
对于Inception类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
其中,X`表示第一归纳结果,Y`表示第二归纳结果,Z`表示第三归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位,c表示第三卷积结果的移位。
可选的,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于Inception类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X′+Y′+Z′
其中,Z表示合并结果,X`表示第一归纳结果,Y`表示第二归纳结果,Z`表示第三归纳结果。
可选的,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
通过以下公式,来将偏移量的量化的系数通过以2为底的对数操作,得到向下一层卷积神经网络传递时的移位:
如果所述移位为正,则通过以下公式,向左移位,来得到偏移量的量化结果:
qdata=data<<shiftbits,pos (3)
如果所述移位为负,则通过以下公式,向右移位,来得到偏移量的量化结果:
qdata=data>>|shiftbits,neg| (4)
可选的,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
根据公式(2)-(4),分别将深度学习的卷积神经网络各层的权重参数量化到8位定点数的权重值,并分别保存各层的权重移位;
从视频中选择一张图像,经过白化后,通过公式(2)-(4)获得量化到8位定点数的量化图像,获得移位,并保存;
将所述量化图像输入到卷积神经网络中,与所述8位定点数的权重值进行计算;
将输入图像的移位和卷积神经网络第一层的权重移位相加,作为这一层偏移量的移位,对偏移量进行移位,量化到16位定点数;
将前2个步骤的结果相加,并采用公式(2)-(4)的方法进行量化,得到量化后的输出,并保存量化移位值,将所述量化移位值传递给下一层卷积神经网络作为量化偏移量的参数;
按照前3个步骤的方式,分别对卷积神经网络每一层进行量化,得到卷积神经网络每一层的输出量化移位值;
以所述8位定点数的权重值、16位定点数的量化移位值和卷积神经网络每一层的输出量化移位值,来作为深度学习的卷积神经网络量化的结果。
可选的,还包括:
将人脸识别的结果标注在屏幕上。
如权利要求1所述的人脸识别方法,其特征在于,所述卷积神经网络的结构为:ResNet类、GoogLeNet类或Inception-ResNet类。
与现有技术相比,本发明的技术方案具有以下有益效果:
将诸如ResNet类、GoogLeNet类或Inception-ResNet类的高精度的卷积神经网络算法在保持原有分类、检测准确率的情况下,量化到一个低精度的数据来表示,从而将高精度的卷积神经网络部署在诸如智能手机、智能摄像头等边缘设备上,提高了在边缘端上进行人脸检测的性能。
进一步的,将计算机端所使用的IEEE754标准下32位浮点数的数值精度,量化到8位定点数来表达,大幅度的压缩了深度学习网络模型的大小,同时深度学习网络在性能上的损失却很小,可以忽略不计。
进一步的,提供了量化所采用的具体算法,通过独创的算法,支持ResNet、Inception、ResNet-Inception、DenseNet等多种复杂的卷积神经网络结构的偏移量的量化,极大的提升了偏移量的量化后卷积神经网络的表现,让这些性能更好的卷积神经网络结构可以应用于诸如智能手机、智能摄像头等边缘设备上,提高了在边缘端上进行人脸检测的性能。
附图说明
图1为对称线性量化算法的示意图;
图2为深度学习网络量化算法的流程图;
图3为人脸识别方法的流程图;
图4为本发明实施例中人脸识别方法流程图;
图5为本发明实施例中对图像中的人脸区域进行人脸识别流程图;
图6为本发明实施例中对ResNet类的卷积神经网络进行移位和合并的流程简图;
图7为本发明实施例中对Inception类的卷积神经网络进行移位和合并的流程简图;
图8为本发明实施例中对ResNet类的卷积神经网络获得输出移位的流程简图;
图9为本发明实施例中对Inception类的卷积神经网络获得输出移位的流程简图。
具体实施方式
根据背景技术部分的分析可知,目前卷积神经网络在物体分类,人脸/人形检测,人脸识别,图像分割上都取得了相当高的准确度,但是如果想把卷积神经网络算法应用到边缘端上,比如智能手机、智能摄像头等,会由于模型的高精度数据表示和算法所占用的储存空间面临速度,功耗等问题。
对此,发明人提出,将一个高精度的卷积神经网络算法在保持原有分类、检测准确率的情况下量化到一个低精度的数据表示,会使得卷积神经网络更适合的部署在边缘设备上。
对于计算机端,我们使用的数值精度是IEEE754标准下32位浮点数,我们要将计算机端使用的高精度的数据量化到低精度的数据格式,比如说16位浮点数,16位定点数,8位定点数,4位定点数等。但是量化精度并不是越低越好,通过大量实验证明,8位定点精度的数据表达,深度学习网络模型的大小会大幅度压缩,更适合于边缘设备所使用,同时网络的表现的损失可以忽略不计,所以我们这里选择将深度学习模型量化到8位定点数。8位定点数的取值范围是[-128,127],图1为对称线性量化算法的映射图示。
对称模式线性量化的算法公式如下:
对于芯片等嵌入式设备来说,硬件的计算操作都是使用二进制数据来进行计算,乘法和除法都是通过移位操作来进行的,所以需要将这个过程转化为移位过程。所以对于嵌入式设备来说,量化过程分为如下三个公式:公式(2)将量化的系数通过以2为底的对数操作,得到需要移位的位数。如果得到位数为正,则使用公式(3)左移相应的位数,如果得到的位数为负,则使用公式(4)右移相应的位数,嵌入式设备就可以通过这样对于运算结果进行偏移量的量化。其中:
qdata=data<<shiftbits,pos (3)
qdata=data>>|shiftbits,neg| (4)
如图2所示,深度学习的卷积神经网络量化算法如下:
S201、将深度学习的卷积神经网络所有的层的权重参数通过公式(2)-(4)获得量化到8位定点数的权重值,并记录每一层的权重的移位。
S202、选择一张典型的图片经过白化后,通过公式(2)-(4)获得量化到8位定点数的量化图片,获得移位,并保存。
S203、将步骤S202中量化好的图片输入卷积网络中,与8位定点数的权重值进行运算。
S204、将输入图片的移位和第一层的权重移位相加,并作为这一层偏移量的移位,对偏移量进行移位,量化到16位定点数。
S205、将步骤S203中的结果与步骤S204的结果相加,并采用公式(2)-(4)的方法进行量化,得到量化后的输出,并保存量化移位位数,这个移位传递给下一层作为量化偏移量的参数。
S206、剩下的层都按照步骤S203到步骤S205的方式进行偏移量的量化,得到每一层输出的量化移位值。
S207、深度学习的卷积神经网络量化的结果为8位定点的权重值,16位定点的偏移量值,和每一层的输出量化移位值,量化结束。
如图3所示,人脸识别方法包括:
S301、使用摄像头采集视频流。
S302、提取其中的一帧。
S303、采用人脸检测手段检测人脸的位置。
S304、提取人脸表征。
S305、采用深度学习人脸识别算法进行人脸识别。
S306、将结果标注在屏幕上。
深度学习网络,目前应用最广的深度学习网络结构有AlexNet,VGG,ResNet和GoogLeNet四种网络结构。目前的偏移量的量化算法,都是针对AlexNet和VGG这一类的神经网络结构的量化。如果将适用于AlexNet和VGG结构的偏移量的量化算法和流程应用于GoogLeNet,ResNet或者更加复杂的二者结构的结合体Inception-ResNet类算法,通过实验发现,由于网络结构的不同,对于复杂的网络量化后的结果准确度有着大幅度的下降。现有技术中,缺少一种量化方法可以处理Inception-ResNet这个深度学习框架的量化算法来实施人脸识别。
现有技术的缺陷在于,对于整个人脸识别的过程来说,在前述步骤S305中,无法采用识别效果优秀的Inception-ResNet深度学习网络实施人脸识别算法。缺乏一种能够适用于Inception-ResNet网络的偏移量的量化算法。
偏移量的量化算法的缺失导致采用目前市面上流行了深度学习算法并不能全都应用在人脸识别应用上,所以偏移量的量化的算法成为了人脸识别算法在边缘端的应用和部署的一个瓶颈。
人脸识别方法的核心在于深度学习算法,但是由于出于智能硬件的考虑,仅仅能使用低精度(整形8比特)的算法来计算。
现有技术的缺陷是,目前对于深度学习神经网络的偏移量的量化,仅仅考虑了AlexNet和VGG这类传统的深度学习神经网络结构,使得后来出现的ResNet,GoogLeNet以及更加复杂的二者结合体ResNet-Inception类结构的量化后的表现下降很多。所以说,这样就限制深度学习人脸识别算法那的种类和精度。
结合了Inception结构和ResNet结构的Inception-ResNet网络结构,是一种复杂的深度学习结构,采用现有的深度学习量化方法并不能很好的量化这种网络架构,本发明采用新型的、独创的量化算法,完美的解决了现有技术中诸如ResNet类、GoogLeNet类或Inception-ResNet类的高精度的卷积神经网络无法量化的问题。
本发明针对结合了ResNet和GoogLeNet两种流行的深度学习神经网络结构的ResNet-Inception结构,发明了一套新的深度学习模型框架的偏移量的量化算法,大大的提高了Inception-ResNet量化算法的表现,让这类复杂结构的深度学习算法可以高效的部署在边缘设备上,比如说智能手机,智能摄像头等设备。
本发明的技术优点在于通过独创的算法,解决了传统偏移量的量化算法仅仅能支持AlexNet和VGG类深度学习网络结构的偏移量的量化的问题,支持了ResNet,Inception,ResNet-Inception,DenseNet等多种复杂结构的偏移量的量化,极大的提升了偏移量的量化后神经网络的表现,让表现更加好的神经网络结构可以应用于边缘端设备,如智能手机、智能摄像头等。
为使本领域技术人员更好地理解和实现本发明,以下参照附图,通过具体实施例进行详细说明。
将现有技术中的传统卷积神经网络与现有技术中的Inception-Resnet结构卷积神经网络结构进行对比发现,两者最大的不同之处在于,Inception-ResNet结构可以分为左右两个部分,左边为结构的输入,右边为Inception结构,最终在输出的时候需要将两个结果相加,作为下一层的输入。这个结构面临如下这个问题,左边支路量化移位与右边支路移位不一致。如果移位不一致,说明两个数值并不在同一个坐标系之下,不同坐标系下的数并不能相加,之后的量化与移位也无法进行,针对这种结构,本发明研究出了如下的量化方法。
如下所述,本发明实施例提供一种量化算法方法。
参照图4所示的人脸识别方法流程图,以下通过具体步骤进行详细说明:
S401,获得待识别的图像。
具体的,在一些实施例中,所述获得待识别的图像包括:
采集视频流;
获得视频流中的图像帧,作为待识别的图像。
S402,通过人脸检测手段,来检测图像中的人脸区域。
S403,从人脸区域中提取人脸表征。
S404,采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别。
具体的,如图5所示,所述采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别具体包括:
S501,确定卷积神经网络的结构。
S502,根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下。
如图6所示,为ResNet的结构,左边支路为从上一次传输下来的8位定点数的输出结果,移位为a,右边支路为卷积的结果Y,移位为b。首先通过如下公式(5)-(6)将X和Y归纳到同一个坐标系下,在同一个坐标系下就可以做加法,得到结果Z。之后通过前述公式(2)-(4)得到偏移量的量化后的结果和移位。
Y′=Y<<shift(a-b),pos (5)
Y′=Y>>shift|a-b|,neg (6)
Z=X+Y′ (7)
如图7所示,为Inception类的结构,这个结构分为左,中,右三个分支,与ResNet结构面临同样的问题,如果遇到移位不同的时候,无法合并在一起,所以需要采用上述的方法进行偏移量的量化。首先通过如下公式(8)-(11)将Y和Z的结果先移一次位,然后合并到一起,再通过前述公式(2)-(4)获得偏移量的量化后的结果,和输出结果的移位。
Y′=Y<<shift(a-b),pos (8)
Y′=Y>>shift|a-b|,neg (9)
Z′=Y<<shift(a-c),pos (10)
Z′=Y>>shift|a-c|,neg (11)
以上两种方法解决了ResNet和Inception结构的偏移量的量化和移位的问题,但是传统的网络结构的偏移量的量化的步骤,步骤S304中偏移量的移位无法通过这种方式获得。由于偏移量的移位来自于上一层输出相对于32位浮点数的移位加上权重参数的移位,但是通过上述两个方法获得的并不是相对于32位浮点数的移位,所以我们发明了一种新的算法来获得正确的输出移位像下一层传递,这样偏移量就可以获得正确的移位进行相加的操作。
S503,根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并。
如图8所示,ResNet结构获得输出移位的流程图,首先左分支X,右分支Y,通过如下公式(12)-(13)恢复到与32位浮点数在同一个坐标系下,再将Y^'和X^'想加的结果通过前述公式(2)-(4)获得向下一层传递的移位。
如图9所示,是Inception结构获得输出移位的流程图,首先左分支X,中分支Y,右分支Z,分别通过如下公式(12)-(14)恢复到与32位浮点数在同一个坐标系下,再将这三个结果合并,并通过前述公式(2)-(4)获得向下一层传递的移位。
S504,根据所述合并的结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果。
具体的,在一些实施例中,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
通过以下公式,来将偏移量的量化的系数通过以2为底的对数操作,得到向下一层卷积神经网络传递时的移位:
如果所述移位为正,则通过以下公式,向左移位,来得到偏移量的量化结果:
qdata=data<<shiftbits,pos (3)
如果所述移位为负,则通过以下公式,向右移位,来得到偏移量的量化结果:
qdata=data>>|shiftbits,neg| (4)
在一些实施例中,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
根据公式(2)-(4),分别将深度学习的卷积神经网络各层的权重参数量化到8位定点数的权重值,并分别保存各层的权重移位;
从视频中选择一张图像,经过白化后,通过公式(2)-(4)获得量化到8位定点数的量化图像,获得移位,并保存;
将所述量化图像输入到卷积神经网络中,与所述8位定点数的权重值进行计算;
将输入图像的移位和卷积神经网络第一层的权重移位相加,作为这一层偏移量的移位,对偏移量进行移位,量化到16位定点数;
将前2个步骤的结果相加,并采用公式(2)-(4)的方法进行量化,得到量化后的输出,并保存量化移位值,将所述量化移位值传递给下一层卷积神经网络作为量化偏移量的参数;
按照前3个步骤的方式,分别对卷积神经网络每一层进行量化,得到卷积神经网络每一层的输出量化移位值;
以所述8位定点数的权重值、16位定点数的量化移位值和卷积神经网络每一层的输出量化移位值,来作为深度学习的卷积神经网络量化的结果。
S405,将人脸识别的结果标注在屏幕上。
通过以上对技术方案的描述可以看出:本实施例中,将诸如ResNet类、GoogLeNet类或Inception-ResNet类的高精度的卷积神经网络算法在保持原有分类、检测准确率的情况下,量化到一个低精度的数据来表示,从而将高精度的卷积神经网络部署在智能手机、智能摄像头等边缘设备上,提高了在边缘端上进行人脸检测的性能。
进一步的,将计算机端所使用的IEEE754标准下32位浮点数的数值精度,量化到8位定点数来表达,大幅度的压缩了深度学习网络模型的大小,同时深度学习网络在性能上的损失却很小,可以忽略不计。
进一步的,提供了量化所采用的具体算法,通过独创的算法,支持ResNet、Inception、ResNet-Inception、DenseNet等多种复杂的卷积神经网络结构的偏移量的量化,极大的提升了偏移量的量化后卷积神经网络的表现,让这些性能更好的卷积神经网络结构可以应用于诸如智能手机、智能摄像头等边缘设备上,提高了在边缘端上进行人脸检测的性能。
本发明具有以下几个关键点:
1)在ResNet类卷积神经网络结构中,获得正确的量化数值和移位结果;
2)在ResNet类卷积神经网络结构中,获得正确的向下一层传递的正确移位;
3)在Inception类卷积神经网络结构中,获得正确的量化数值和移位结果;
4)在Inception类卷积神经网络结构中,获得正确的向下一层传递的正确移位;
5)通过本发明中这种新型的、独创的量化算法得到的数据,将诸如ResNet类、GoogLeNet类或Inception-ResNet类的高精度的卷积神经网络算法在保持原有分类、检测准确率的情况下,量化到一个低精度的数据来表示,运用在诸如智能手机、智能摄像头等边缘设备上进行人脸识别,从而提高了在边缘端上进行人脸检测的性能。
本领域普通技术人员可以理解,上述实施例的各种方法中,全部或部分步骤是可以通过程序指令相关的硬件来完成的,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种人脸识别方法,其特征在于,包括:
获得待识别的图像;
通过人脸检测手段,来检测图像中的人脸区域;
从人脸区域中提取人脸表征;
采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别;
其中,所述采用基于深度学习的人脸识别算法,来对图像中的人脸区域进行人脸识别包括:
确定卷积神经网络的结构;
根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;
根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并;
根据所述合并的结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果。
2.如权利要求1所述的人脸识别方法,其特征在于,所述获得待识别的图像包括:
采集视频流;
获得视频流中的图像帧,作为待识别的图像。
3.如权利要求1所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下;包括:
对于ResNet类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
Y′=Y<<shift(a-b),pos
Y′=Y>>shift|a-b|,neg
其中,Y`表示第二归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位。
4.如权利要求3所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于ResNet类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X+Y′
其中,Z表示合并结果,X表示输入数值,Y`表示第二归纳结果。
6.如权利要求5所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于ResNet类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X′+Y′
其中,Z表示合并结果,X`表示第一归纳结果,Y`表示第二归纳结果。
7.如权利要求1所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将一个或多个卷积结果和/或输入数值归纳到在同一个坐标系下包括:
对于Inception类卷积神经网络,通过以下公式,来将输入数值和卷积结果归纳到同一个坐标系下:
Y′=Y<<shift(a-b),pos
Y′=Y>>shift|a-b|,neg
Z′=Y<<shift(a-c),pos
Z′=Y>>shift|a-c|,neg
其中,Y`表示第二归纳结果,Z`表示第三归纳结果,Y表示第二卷积结果,a表示输入数值的移位,b表示第二卷积结果的移位,c表示第三卷积结果的移位。
8.如权利要求7所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于Inception类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X+Y′+Z′
其中,Z表示合并结果,X表示输入数值,Y`表示第二归纳结果,Z`表示第三归纳结果。
10.如权利要求9所述的人脸识别方法,其特征在于,所述根据卷积神经网络的结构,来将同一个坐标系下的一个或多个卷积结果和/或输入数值进行合并包括:
对于Inception类卷积神经网络,通过以下公式,来将同一个坐标系下的输入数值和卷积结果进行合并:
Z=X′+Y′+Z′
其中,Z表示合并结果,X`表示第一归纳结果,Y`表示第二归纳结果,Z`表示第三归纳结果。
11.如权利要求1所述的人脸识别方法,其特征在于,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
通过以下公式,来将偏移量的量化的系数通过以2为底的对数操作,得到向下一层卷积神经网络传递时的移位:
如果所述移位为正,则通过以下公式,向左移位,来得到偏移量的量化结果:
qdata=data<<shiftbits,pos (3)
如果所述移位为负,则通过以下公式,向右移位,来得到偏移量的量化结果:
qdata=data>>|shiftbits,neg| (4)
12.如权利要求11所述的人脸识别方法,其特征在于,所述根据所述合并结果,来计算向下一层卷积神经网络传递时的移位和偏移量的量化结果包括:
根据公式(2)-(4),分别将深度学习的卷积神经网络各层的权重参数量化到8位定点数的权重值,并分别保存各层的权重移位;
从视频中选择一张图像,经过白化后,通过公式(2)-(4)获得量化到8位定点数的量化图像,获得移位,并保存;
将所述量化图像输入到卷积神经网络中,与所述8位定点数的权重值进行计算;
将输入图像的移位和卷积神经网络第一层的权重移位相加,作为这一层偏移量的移位,对偏移量进行移位,量化到16位定点数;
将前2个步骤的结果相加,并采用公式(2)-(4)的方法进行量化,得到量化后的输出,并保存量化移位值,将所述量化移位值传递给下一层卷积神经网络作为量化偏移量的参数;
按照前3个步骤的方式,分别对卷积神经网络每一层进行量化,得到卷积神经网络每一层的输出量化移位值;
以所述8位定点数的权重值、16位定点数的量化移位值和卷积神经网络每一层的输出量化移位值,来作为深度学习的卷积神经网络量化的结果。
13.如权利要求1所述的人脸识别方法,其特征在于,还包括:
将人脸识别的结果标注在屏幕上。
14.如权利要求1所述的人脸识别方法,其特征在于,所述卷积神经网络的结构为:ResNet类、GoogLeNet类或Inception-ResNet类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010384361.6A CN113468935B (zh) | 2020-05-08 | 2020-05-08 | 人脸识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010384361.6A CN113468935B (zh) | 2020-05-08 | 2020-05-08 | 人脸识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468935A true CN113468935A (zh) | 2021-10-01 |
CN113468935B CN113468935B (zh) | 2024-04-02 |
Family
ID=77865922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010384361.6A Active CN113468935B (zh) | 2020-05-08 | 2020-05-08 | 人脸识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468935B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018140294A1 (en) * | 2017-01-25 | 2018-08-02 | Microsoft Technology Licensing, Llc | Neural network based on fixed-point operations |
CN110059822A (zh) * | 2019-04-24 | 2019-07-26 | 苏州浪潮智能科技有限公司 | 一种基于通道分组低比特神经网络参数压缩量化方法 |
CN110135561A (zh) * | 2019-04-29 | 2019-08-16 | 北京航天自动控制研究所 | 一种实时在线飞行器ai神经网络系统 |
WO2019168084A1 (ja) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
CN110222820A (zh) * | 2019-05-28 | 2019-09-10 | 东南大学 | 基于权值剪枝和量化的卷积神经网络压缩方法 |
WO2019184823A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN110555450A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人脸识别神经网络调整方法和装置 |
CN110555508A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
WO2019238029A1 (zh) * | 2018-06-12 | 2019-12-19 | 华为技术有限公司 | 卷积神经网络系统和卷积神经网络量化的方法 |
CN110889503A (zh) * | 2019-11-26 | 2020-03-17 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110929862A (zh) * | 2019-11-26 | 2020-03-27 | 陈子祺 | 定点化的神经网络模型量化装置和方法 |
-
2020
- 2020-05-08 CN CN202010384361.6A patent/CN113468935B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018140294A1 (en) * | 2017-01-25 | 2018-08-02 | Microsoft Technology Licensing, Llc | Neural network based on fixed-point operations |
WO2019168084A1 (ja) * | 2018-03-02 | 2019-09-06 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
WO2019184823A1 (zh) * | 2018-03-26 | 2019-10-03 | 华为技术有限公司 | 基于卷积神经网络模型的图像处理方法和装置 |
WO2019223594A1 (zh) * | 2018-05-21 | 2019-11-28 | Oppo广东移动通信有限公司 | 神经网络模型处理方法和装置、图像处理方法、移动终端 |
CN110555450A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人脸识别神经网络调整方法和装置 |
CN110555508A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
WO2019238029A1 (zh) * | 2018-06-12 | 2019-12-19 | 华为技术有限公司 | 卷积神经网络系统和卷积神经网络量化的方法 |
CN110059822A (zh) * | 2019-04-24 | 2019-07-26 | 苏州浪潮智能科技有限公司 | 一种基于通道分组低比特神经网络参数压缩量化方法 |
CN110135561A (zh) * | 2019-04-29 | 2019-08-16 | 北京航天自动控制研究所 | 一种实时在线飞行器ai神经网络系统 |
CN110222820A (zh) * | 2019-05-28 | 2019-09-10 | 东南大学 | 基于权值剪枝和量化的卷积神经网络压缩方法 |
CN110889503A (zh) * | 2019-11-26 | 2020-03-17 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110929862A (zh) * | 2019-11-26 | 2020-03-27 | 陈子祺 | 定点化的神经网络模型量化装置和方法 |
Non-Patent Citations (3)
Title |
---|
AOJUN ZHOU等: "INCREMENTAL NETWORK QUANTIZATION: TOWARDS LOSSLESS CNNS WITH LOW-PRECISION WEIGHTS", 《ICLR 2017》, pages 1 - 14 * |
EUNHYEOK PARK等: "Value-aware Quantization for Training and Inference of Neural Networks", 《ECCV2018》, pages 1 - 16 * |
黎明灰烬: "Neural Network Quantization Introduction", 《HTTPS://ZHENHUAW.ME/BLOG/2019/NEURAL-NETWORK-QUANTIZATION-INTRODUCTION.HTML》, pages 1 - 13 * |
Also Published As
Publication number | Publication date |
---|---|
CN113468935B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639692B (zh) | 一种基于注意力机制的阴影检测方法 | |
US10096134B2 (en) | Data compaction and memory bandwidth reduction for sparse neural networks | |
CN110188768B (zh) | 实时图像语义分割方法及系统 | |
CN108171701B (zh) | 基于u网络和对抗学习的显著性检测方法 | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN110689599B (zh) | 基于非局部增强的生成对抗网络的3d视觉显著性预测方法 | |
CN113743269B (zh) | 一种轻量化识别视频人体姿态的方法 | |
CN112163498B (zh) | 前景引导和纹理聚焦的行人重识别模型建立方法及其应用 | |
CN113052868A (zh) | 一种抠图模型训练、图像抠图的方法及装置 | |
CN113554032A (zh) | 基于高度感知的多路并行网络的遥感图像分割方法 | |
CN112036260A (zh) | 一种自然环境下多尺度子块聚合的表情识别方法及系统 | |
CN115132201A (zh) | 唇语识别方法、计算机设备及存储介质 | |
CN112528077B (zh) | 基于视频嵌入的视频人脸检索方法及系统 | |
CN113919479B (zh) | 一种提取数据特征的方法和相关装置 | |
CN112308213A (zh) | 一种基于全局特征关系的卷积神经网络压缩方法 | |
CN112418229A (zh) | 一种基于深度学习的无人船海上场景图像实时分割方法 | |
CN116416649A (zh) | 一种基于多尺度分辨率对齐的视频行人重识别方法 | |
KR20210038027A (ko) | 신경망 압축 훈련 방법 및 압축된 신경망을 이용하는 방법 | |
CN113468935A (zh) | 人脸识别方法 | |
CN113223006B (zh) | 一种基于深度学习的轻量级目标语义分割方法 | |
CN113486718B (zh) | 一种基于深度多任务学习的指尖检测方法 | |
CN113095335B (zh) | 一种基于类别一致性深度学习的图像识别方法 | |
CN112487927B (zh) | 一种基于物体关联注意力的室内场景识别实现方法及系统 | |
CN114821368A (zh) | 一种基于强化学习和Transformer的电力缺陷检测方法 | |
CN114758128B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |