CN108596143B - 基于残差量化卷积神经网络的人脸识别方法及装置 - Google Patents
基于残差量化卷积神经网络的人脸识别方法及装置 Download PDFInfo
- Publication number
- CN108596143B CN108596143B CN201810435661.5A CN201810435661A CN108596143B CN 108596143 B CN108596143 B CN 108596143B CN 201810435661 A CN201810435661 A CN 201810435661A CN 108596143 B CN108596143 B CN 108596143B
- Authority
- CN
- China
- Prior art keywords
- quantization
- layer
- neural network
- image
- convolutional neural
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
为提供一种既能够完成大规模的人脸识别,又能够减小计算量从而降低硬件需求、减少训练所需时间的人脸识别方法及装置,本发明提供了一种基于残差量化卷积神经网络的人脸识别方法,包括如下步骤:步骤S1,构建卷积神经网络模型并进行训练;步骤S2,对目标图像进行预处理并对待判定图像进行预处理;步骤S3,将预处理待判定图像及预处理目标图像依次输入特征提取模型,得到待判定特征向量以及目标特征向量;步骤S4,根据目标特征向量以及待判定向量判定一致的人脸图像,其中,步骤S1包括将预定层设定为量化层并对量化层参数进行整数位量化来近似该量化层的参数矩阵的步骤。本发明还提供了基于残差量化卷积神经网络的人脸识别装置。
Description
技术领域
本发明属于机器学习领域,涉及人脸识别方法及装置,具体涉及一种基于残差量化卷积神经网络的人脸识别方法及装置。
背景技术
人脸识别是利用人类脸部的生物特征信息,通过一定的技术识别对应人的身份,例如,获得目标人物的人脸图像后从大量待判定的人脸图像中判定出与该目标人物一致人脸图像。人脸识别在计算机视觉与模式识别领域是一项重要的研究工作,也具有丰富的实际生活应用场景,如社区安防、罪犯追逃、移动支付等等。
人脸识别技术的发展已有数十年,早些年的许多相关的机器学习算法被提出,包括基于几何特征的方法和基于统计的方法等等。不过,受到光照亮度、呈现姿态、面部妆容以及环境遮挡等问题的影响,这些早期的机器学习方法识别精度都不理想,一旦环境或人物妆容发生较大变化,则难以准确地进行人脸识别。
近几年中,基于卷积神经网络的方法被广泛用于人脸识别上,并取得了较好的识别精度。其主要流程为利用训练集对卷积神经网络进行训练,并采用训练好的卷积神经网络进行特征提取获得目标图像以及待判定图像的向量,再通过基于向量的相似度判定方法,即可将相似度最高的待判定图像判定为目标人物。
由于人脸图像较为复杂、相关特征难以准确表示,而各种卷积神经网络模型及算法中,基于残差学习机制的卷积神经网络具有良好的学习能力和泛化能力,因此能够适用于人脸识别任务。现有技术中,有科研人员采用了残差卷积神经网络结构,用三个公开数据集超过1.7万人的约70万张图像训练模型,并在人脸识别数据集LFW上取得了优异的精度。
然而,卷积神经网络模型中的各层均存在对应的参数矩阵,而50层的残差网络模型就有超过2500万的参数。应用于人脸识别时,对于通常的人脸图像尺寸所对应的224×224大小的3通道输入,其计算过程包括42亿多次的浮点乘法,因而存储和计算的开销十分巨大,当应用于大规模的人脸识别时(例如待判定图像的数量巨大时)则更容易产生参数过量、模型过大和海量计算、效率低下的问题,这不仅提升了完成人脸识别所需的硬件要求,还将增加模型训练所需的时间甚至使得训练过程几乎无法完成,导致基于残差学习机制的卷积神经网络难以实际地应用在人脸识别任务上。
发明内容
为解决上述问题,提供一种既能够完成大规模的人脸识别,又能够减小计算量从而降低硬件需求、减少训练所需时间的人脸识别方法及装置,本发明采用了如下技术方案:
本发明提供了一种基于残差量化卷积神经网络的人脸识别方法,用于对目标图像进行人脸识别并从多个待判定图像中判定出与目标图像相一致的人脸图像,其特征在于,包括如下步骤:步骤S1,构建卷积神经网络模型并采用多个现有人脸图像作为训练集对该卷积神经网络模型进行基于残差量化的训练,得到训练后的卷积神经网络模型作为特征提取模型;步骤S2,对目标图像进行预处理获得预处理目标图像,并对待判定图像进行预处理获得对应的预处理待判定图像;步骤S3,将预处理待判定图像及预处理目标图像依次输入特征提取模型,从而得到分别与预处理待判定图像相对应的多个待判定特征向量以及与预处理目标图像相对应的目标特征向量;步骤S4,根据目标特征向量以及待判定向量判定出待判定图像中的与目标图像一致的人脸图像,其中,步骤S1包括如下子步骤:步骤S1-1,对用于作为训练集的多个现有人脸图像进行预处理从而获得尺寸统一并且分别与现有人脸图像相对应的预处理训练图像;步骤S1-2,构建含有输入层、卷积模块、残差计算模块以及全连接模块的卷积神经网络模型,该卷积神经网络模型中各层的参数矩阵中的参数为随机设置;步骤S1-3,将预处理图像作为训练集输入卷积神经网络模型;步骤S1-4,将卷积神经网络模型中的预定层设定为量化层并对量化层的参数进行整数位量化来近似该量化层的参数矩阵,然后进行前向传递计算误差;步骤S1-5,采用反向传播算法传递误差更新参数;步骤S1-6,重复步骤S1-3至步骤S1-5直至达到训练完成条件,得到训练后的卷积神经网络模型作为特征提取模型。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,卷积模块由依次连接的第一卷积层、第二卷积层以及第一最大池化层构成,残差计算模块包括依次连接的多个第一残差子模块和一个第二残差子模块,第一残差子模块由依次连接的至少一个残差构件、第三卷积层以及第二最大池化层构成,第二残差子模块由至少一个残差构件构成,全连接模块包括依次连接的第一全连接层、随机丢弃层以及第二全连接层,量化层为第二卷积层、残差构件、第三卷积层以及第一全连接层。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,步骤S1-4中,量化层的整数量化位数为1位,整数量化为二值量化。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,参数矩阵的二值量化近似采用下式(1)与式(2)的形式进行:
式(1)中,W表示二值量化前的参数矩阵,α为原有参数矩阵中所有参数的平均值,n为参数矩阵中的参数个数,B为二值量化后的参数矩阵,式(2)中,x为参数矩阵中的原有参数,sign(x)为对应的二值量化后的参数。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,步骤S1-5中,针对每一个参数的更新,均利用导函数g(w)进行,该导函数g(w)采用下式(3)表示:
式(3)中,w表示参数。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,量化层的整数量化位数为1~5位。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,靠近第一卷积层的多个量化层为低位量化层,远离第一卷积层的多个量化层为高位量化层,位于低位量化层和高位量化层之间的多个量化层为中位量化层,低位量化层的整数量化位数为1~2位,中位量化层的整数量化位数为2~3位,高位量化层的整数量化位数为4~5位。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,步骤S2的预处理包括如下子步骤:步骤S2-1,对待处理图像进行人脸检测,找出其中的人脸位置;步骤S2-2,检测步骤S2-1找出的人脸的至少包括双眼中心、鼻头以及两侧嘴角在内的多个关键位置点;步骤S2-3,根据关键位置点对待处理图像进行对齐操作并将待处理图像进行尺寸统一化;步骤S2-4,将尺寸统一化后的待处理图像进行中心剪裁,得到对应的预处理图像。
本发明提供的基于残差量化卷积神经网络的人脸识别方法,还可以具有这样的技术特征,其中,步骤S1-6中的训练完成条件为完成了预定的循环次数、参数已经收敛或消除了训练误差。
本发明还提供了一种基于残差量化卷积神经网络的人脸识别装置,用于对目标图像进行人脸识别并从多个待判定图像中判定出与目标图像相一致的人脸图像,其特征在于,包括:预处理部,对待判定图像以及目标图像进行预处理从而分别得到对应的预处理待判定图像及预处理目标图像;特征提取部,对预处理待判定图像进行特征提取得到对应的待判定特征向量以及对预处理目标图像进行特征提取得到对应的目标特征向量,该特征提取部含有经过采用多个现有人脸图像作为训练集训练得到的特征提取模型;以及一致判定部,根据目标特征向量以及待判定向量判定出待判定图像中的与目标图像一致的人脸图像,其中,特征提取模型采用如下方法获得:步骤1,对用于作为训练集的多个现有人脸图像进行预处理从而获得尺寸统一并且分别与现有人脸图像相对应的预处理训练图像;步骤2,构建含有输入层、卷积模块、残差计算模块以及全连接模块的卷积神经网络模型,该卷积神经网络模型中各层初始的参数为随机设置;步骤3,将预处理图像作为训练集输入卷积神经网络模型;步骤4,选取卷积神经网络模型中的预定多层设定为量化层,对量化层的参数进行整数位量化并用量化后的参数代替对应的原有参数,然后进行前向传递计算误差;步骤5,采用反向传播算法传递误差并更新参数;步骤6,重复步骤3至步骤5直至达到训练完成条件,得到训练后的卷积神经网络模型作为特征提取模型。
发明作用与效果
根据本发明提供的基于残差量化卷积神经网络的人脸识别方法及装置,由于在对构建好的卷积神经网络模型进行训练的过程中设定了量化层并对量化层进行了整数位量化,因此可以使各个量化层的浮点乘法计算被简化,将计算时间缩短30%~50%,使得模型训练能够更快完成,并且采用训练后的模型进行的特征向量提取也能够更快完成,从而让人脸识别的模型训练速度、目标图像和待判定图像的特征提取速度均得到加快。同时,本发明的方法及装置的识别精度与现有技术中的多种优秀人脸识别方法接近,与采用未量化卷积神经网络模型的方法相比,其识别精度仅仅略有下降,完全能够满足通常的人脸识别的需求。
附图说明
图1是本发明实施例的基于残差量化卷积神经网络的人脸识别方法的流程图;
图2是本发明实施例的卷积神经网络结构示意图;
图3是本发明实施例的卷积神经网络模型的计算量示意图。
具体实施方式
以下结合附图以及实施例来说明本发明的具体实施方式。
<实施例>
本实施例中的模型构建等均在Linux平台上实现,该平台具有至少一张图形处理单元GPU卡的支持。
图1是本发明实施例的基于残差量化卷积神经网络的人脸识别方法的流程图。
如图1所示,基于残差量化卷积神经网络的人脸识别方法主要包括以下步骤。
步骤S1,模型构建及训练。即,构建卷积神经网络模型并采用多个现有人脸图像作为训练集对该卷积神经网络模型进行基于残差量化的训练,得到的训练后卷积神经网络模型即可作为特征提取模型。该模型构建及训练包括如下子步骤:
步骤S1-1,对用于作为训练集的多个现有人脸图像进行预处理从而获得大小统一并且分别与现有人脸图像相对应的预处理训练图像。
本实施例中,作为训练集的现有人脸图像来源于CASIA-WebFace数据集,该数据集包括10575个人的494414张人脸图像,其中的每个人脸图像均作为待处理图像进行预处理,该预处理过程包括如下步骤:
步骤S1-1-1,对待处理图像进行人脸检测,找出其中的人脸位置。本实施例中,采用现有技术中的MTCNN来检测图像中的人脸。
步骤S1-1-2,检测步骤S1-1-1找出的人脸中的多个关键位置点,即至少包括双眼中心、鼻头以及两侧嘴角在内的关键位置点。
步骤S1-1-3,根据关键位置点对待处理图像进行对齐操作并将待处理图像进行尺寸统一化(即调整为统一尺寸)。本实施例中,待处理图像的对齐操作均依据双眼中心、鼻头以及两侧嘴角这样的关键点进行,在对齐后各个待处理图像就通过通常的图像调整手段被统一调整为128×128像素的尺寸。另外,各个待处理图像的通道数均不作改变。
步骤S1-1-4,将尺寸统一化后的待处理图像进行剪裁,得到对应的预处理图像。
本实施例中,作为训练集的各个图像所采用的剪裁方式为随机剪裁,得到112×96大小的剪裁后图像。剪裁后,这些图像的各个像素点的像素值均减去127.5并处以128,使得各个像素值均归一化到-1与+1之间,以便将对应的像素值输入至模型。
步骤S1-2,构建模型。本实施例中所采用的模型为基于残差计算的卷积神经网络,该卷积神经网络模型含有输入层、卷积模块、残差计算模块以及全连接模块。
图2是本发明实施例的卷积神经网络结构示意图。
如图2所示,本实施例所构建出的卷积神经网络模型包括输入层1、卷积模块2、残差计算模块3以及全连接模块4。
其中,卷积模块2由第一卷积层C1a、第二卷积层QC1b及第一最大池化层P1依次连接而构成。
残差计算模块3由依次连接的三个第一残差子模块(即第一残差子模块31、第一残差子模块32、第二残差子模块33)和一个第二残差子模块34所构成。
第一残差子模块31由依次连接的三个残差构件QB(图2中,QB×3表示此处有三个依次连接的残差构件;下同)、第三卷积层QC2以及第二最大池化层P2构成,第一残差子模块32由依次连接的四个残差构件QB、第三卷积层QC3以及第二最大池化层P3构成,第一残差子模块33由依次连接的六个残差构件QB、第三卷积层QC4以及第二最大池化层P4构成。
第二残差子模块34由三个依次连接的残差构件QB构成。
全连接模块4包括第一全连接层QFC5以及第二全连接层FC6,该第一全连接层QFC5和第二全连接层FC6之间还设有随机丢弃层(即Dropout层,图中未示出)。
上述各层中均含有用于计算向下一层传递的数据的计算权重数值(即参数)。本实施例中,各层参数如下表1所示。
表1本发明实施例的卷积神经网络模型各层参数
表1中,残差构件QC2_x(即QC2_1~QC2_3,一共三个残差构件)分别表示第一残差子模块31中的三个残差构件QB;残差构件QC3_x(即QC3_1~QC3_4,一共四个残差构件)分别表示第一残差子模块32中的四个残差构件QB;残差构件QC4_x(即QC4_1~QC4_6,一共六个残差构件)分别表示第一残差子模块33中的六个残差构件QB;残差构件QC5_x(即QC5_1~QC5_3,一共三个残差构件)分别表示第二残差子模块34中的三个残差构件QB。
从表1中可看出,本实施例的卷积神经网络模型的总层数为55层。模型构建完成后,即可采用训练集对其进行训练。
步骤S1-3,将预处理训练图像作为训练集输入卷积神经网络模型。
步骤S1-4,将卷积神经网络模型中的预定层设定为量化层并对量化层的参数进行整数位量化来近似该量化层的参数矩阵,然后进行前向传递并计算训练误差。
本实施例的模型各层中,除去第一卷积层C1a和第二全连接层FC6之外,其余卷积层与全连接层均被设定为量化层并进行二值量化。由于残差构件QB分别由不同层数的卷积层构成,因此各个残差构件的各层也进行二值量化。即,量化层为第二卷积层QC1b、各个残差构件QB、各个第三卷积层(即第三卷积层QC2、QC3和QC4)以及第一全连接层QFC5。
量化方法如下式(1)和(2)所示:
式(1)中,W表示二值量化前的所述参数矩阵,α为原有参数矩阵中所有参数的平均值,n为所述参数矩阵中的参数个数,B为二值量化后的所述参数矩阵,式(2)中,x为参数矩阵中的原有参数,sign(x)为对应的二值量化后的参数。
步骤S1-5,采用反向传播算法传递误差更新参数,即根据训练误差在模型中进行反向传播计算,并逐渐调整各层参数,使得训练误差逐渐降低。本实施例中,本实施例中,针对网络模型各层的每一个参数的更新,均可利用导函数g(w)进行,该导函数g(w)的形式如下式(3)所示:
式(3)中,w表示网络模型各层的各个参数。
步骤S1-6,重复步骤S1-3至步骤S1-5,直至达到了完成训练的条件(即完成了预定的循环次数、参数已经收敛或基本消除了训练误差),得到训练后的卷积神经网络模型作为特征提取模型。
为了方便图像输入、加快模型训练速度,本实施例的上述训练过程采用了分批输入处理的方式。即,将训练集的图像分为10000个批次、每批次输入64张图像,然后每批次分别进行步骤S1-4~步骤S1-5的处理;全部批次均完成输入及处理后,一次循环就完成了,随后即可进行下一个循环的分批次输入处理过程。
本实施例中,循环总次数为100次。另外,在输入时模型的初始学习率设置为0.01,并在40、70和90个循环时分别缩小10倍。模型采用Softmax损失函数进行监督,通过步骤S1-5的设置进行反向传播更新参数。
经过上述步骤,本实施例的卷积神经网络模型就完成了构建及训练,可以用于进行人脸识别了。本实施例中,训练后的上述卷积神经网络模型作为一种特征提取部,用于进行目标图像和待判定图像的特征向量提取,得到的特征向量即可用于判定目标图像与各个待判定图像的相似程度,从而找出多个待判定图像中与目标图像一致的人脸图像。
将目标图像和待判定图像输入训练好的模型前还需要进行相应的预处理,以获得尺寸大小一致的图像,即步骤S2:对目标图像进行预处理获得预处理目标图像,并对待判定图像进行预处理获得对应的预处理待判定图像。
本实施例中,采用LFW数据集作为测试数据集,该LFW数据集包含5749人的共13233张图像。
进行测试前,先将各个人脸图像进行镜像翻转得到镜像图像作为待判定图像,而各个原图像则分别作为目标图像。
这些待判定图像及目标图像在输入训练好的模型前同样需要进行预处理,该预处理过程与作为训练集的人脸图像的预处理过程基本相同(即步骤),包括如下步骤:
步骤S2-1,对待处理图像进行人脸检测,找出其中的人脸位置;
步骤S2-2,检测步骤S2-1找出的人脸的至少包括双眼中心、鼻头以及两侧嘴角在内的多个关键位置点;
步骤S2-3,根据关键位置点对待处理图像进行对齐操作并将待处理图像进行尺寸统一化;
步骤S2-4,将尺寸统一化后的待处理图像进行中心剪裁,得到对应的预处理图像。本实施例中,与训练集不同,作为测试集的各个人脸图像的剪裁不采用随机剪裁而是采用中心剪裁。
同样地,经过上述预处理的图像的各个像素点的像素值均减去127.5并处以128,使得各个像素值均归一化到-1与+1之间,以便将对应的像素值输入至模型。
上述待判定图像及目标图像经过预处理后即可进行特征提取及判定,即如下步骤:
步骤S3,将预处理待判定图像及预处理目标图像依次输入特征提取模型,从而得到分别与预处理待判定图像相对应的多个待判定特征向量以及与预处理目标图像相对应的目标特征向量。
步骤S4,根据目标特征向量以及待判定向量判定出待判定图像中的与目标图像一致的人脸图像。
本实施例中,为了方便进行训练后模型判定精度的考察,将预处理目标图像及对应的预处理待判定图像(即经过翻转及预处理后得到的图像)设置为图片对。在分别输入模型得到对应的特征向量后,采用余弦距离来对一个图片对中的两个特征向量的相似度进行计算,当计算得到的余弦距离大于预设值时,则判定图片对中的目标图像及待判定图像中不是同一个人,而小于预设值时则判定二者中的为同一个人。
显然,由于图片对中的待判定仅仅是目标图像翻转后形成的,因此实际上二者均为同一个人。当经过上述图像预处理、输入模型获得特征向量、计算余弦距离并判定的过程后,若一个图片对的判定结果为不是同一个人,则说明该次人脸识别结果有误,而若判定结果为同一个人,则说明该次人脸识别结果是正确的。
表2是本发明实施例的基于残差量化卷积神经网络的人脸识别方法的判定精度结果,该表2中还包含了采用其他人脸识别方法对本实施例的测试集进行人脸识别的判定精度结果。
其中,“量化模型”指本实施例的基于残差量化卷积神经网络的人脸识别方法。“DeepFace单模型”、“DeepFace联合”以及“DeepID”是现有技术中常用的优秀人脸识别方法。“未量化网络”的方法与本实施例基本相同,但其采用的是不经过量化的卷积神经网络模型,即,采用与本实施例相同的模型架构(即55层的卷积神经网络模型),但其训练过程中完全不采用参数量化的策略(即,在步骤S1-4中不设定量化层,也不进行任何整数位量化,而是直接进行前向传递计算误差)。
表2本发明实施例的方法与其他一些优秀方法模型精度的对比
方法 | 准确率 |
DeepFace单模型 | 0.9592 |
DeepFace联合 | 0.9735 |
DeepID | 0.9745 |
未量化网络 | 0.9783 |
量化网络 | 0.9743 |
从表2可以看出,本实施例的基于残差量化卷积神经网络的人脸识别方法识别精度较高,基本达到了现有技术中常用的优秀人脸识别方法的精度。同时,本实施例的精度为0.9743,而采用未量化卷积神经网络模型的方法的精度为0.9783,因此,与基于通常的残差卷积神经网络模型的人脸识别方法相比,本实施例的基于残差量化卷积神经网络的人脸识别方法的精度仅仅略有下降,完全能够满足通常的人脸识别的需求。
图3是本发明实施例的卷积神经网络模型的计算量示意图。
如图3所示,当一个经过预处理的目标图像或待判定图像进入训练好后的卷积神经网络模型时,主要经过如下计算过程:
首选,输入层1的输入数据为112×96的三通道图像,因此其输入的数据大小为112×96×3。
随后,该112×96×3的输入数据就进入了第一卷积层C1a,根据表1可知,该第一卷积层C1a不进行填充计算,因此其卷积输出的数据大小110×94×32。
本实施例中,该第一卷积层C1a一共有864个参数,当数据在该层时需经过8933760次的浮点乘法计算,其计算结果作为该层的输出进入下一层(即第二卷积层QC1b)。
数据经过第二卷积层QC1b,该层与第一卷积层C1a的参数设置一样,故该层的输出尺寸为108×92×64,共有18432个参数,且计算过程中经过183140352次浮点乘法。
然后,数据经过第一最大池化层P1。该层采用区间为2×2、移动步长为2的最大池化方法,这一设置将使得输入数据的长宽均减少一半,故其输出大小为54×46×64。
随后,第一最大池化层P1输出的数据经过PC2_x层,即,数据开始进入残差计算模块3的第一残差子模块31。
根据表1的可知,第一残差子模块31一共包含三个连续的残差构件QB,而各残差构件QB中的各卷积层的填充尺寸为1,其输出尺寸仍为54×46×64,这也是保证残差构件最后相加操作时两边对应维度能够相等;每个残差构件QB包含三个卷积核,每个卷积核所对应层的参数为36864,相应地具有浮点乘法91570716次。因此,第一残差子模块31的三个残差构件QB一共有9个卷积层,共331776个参数及824131584次浮点乘法。
第一残差子模块31的最后残差构件QB(即残差构件QC2_3)输出的数据经过第三卷积层QC2,该层不采用填充操作,且通道数翻倍,故该层计算的输出尺寸为52×44×128。而计算可得,该层共73728个参数,共168689664次浮点乘法。第三卷积层QC2的输出数据继续经过第二最大池化层P2,该第二最大池化层P2与第一最大池化层P1采用一样的设置,其输出尺寸为26×22×128,且输出的数据将继续向下进入第二残差子模块32。
进入第二残差子模块32及第三残差子模块33后,数据所经历的计算过程与上述第一残差子模块31类似,其不同点主要是残差构件QB的数量不同,在此不再赘述。
在经过上述残差计算模块3后,数据进入全连接模块4的第一全连接层QFC5。这是全连接模块4的第一层,其输出为1024维向量,相应地输出数据大小为5×4×512,因此该层共有10485760个参数和与参数个数相同的浮点计算。
类似地,数据经过随机丢弃层后进入第二全连接层FC6,这是网络最后一层,其输出结果为与训练集中所包含的人数相对应的向量,即,训练集中包含10575人时,该输出的向量为10575维向量。本实施例中,该第二全连接层FC6所输出的向量主要用于计算训练误差,其具体方式为:设定与训练集中每个人分别对应的标签向量(即10575个10575维向量,每个10575维向量中均只有与人的序号相对应的一维的数值为1,其他维的数值均为0),然后将模型输出的各个10575维向量与标签向量分别比对,从而计算得出训练误差。理论上来说,卷积神经网络模型所输出的向量应该与训练集中的个人相对应,也就是说,输出的10575维向量中应当有且仅有与个人相对应的一维的数值为1,其他维的数值应当为0,即,输出的各个向量应当与对应的各个标签向量一致。然而,由于训练误差的存在,输出的向量不总是与标签向量一致,因此将输出向量与标签向量比对计算即可得出训练误差。
本实施例的卷积神经网络模型中,各个卷积层与全连接层的参数共有56833888个;而一个112×96×3的输入图像经过上述模型进行特征提取的过程中,需要进行4152970624次浮点乘法计算。
由于本实施例中,除去第一卷积层C1a和第二全连接层FC6之外的其余卷积层与全连接层均被设定为量化层并进行二值量化,因此,与进行二值量化的模型相比,相应层的浮点乘法计算均被简化,其计算时间可缩短30%~50%。
实施例作用与效果
根据本实施例提供的基于残差量化卷积神经网络的人脸识别方法,由于在对构建好的卷积神经网络模型进行训练的过程中设定了量化层并对量化层进行了二值量化,因此可以使各个量化层的浮点乘法计算被简化,将计算时间缩短30%~50%,使得模型训练能够更快完成,并且采用训练后的模型进行的特征向量提取也能够更快完成,从而让人脸识别的模型训练速度、目标图像和待判定图像的特征提取速度均得到加快。同时,根据表2可知,本实施例的方法的识别精度与现有技术中的多种优秀人脸识别方法接近,采用未量化卷积神经网络模型的方法相比,其识别精度仅仅略有下降,完全能够满足通常的人脸识别的需求。
上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。
例如,实施例提供的是基于残差量化卷积神经网络的人脸识别方法,该方法中包含基于残差量化的卷积神经网络模型的构建及训练步骤。根据该方法,本发明也可以提供相应的人脸识别装置,即,将经过上述构建及训练得到的卷积神经网络模型进行封装形成特征提取部,再增加用于对待判定图像以及目标图像进行预处理的预处理部以及用于根据特征提取部提取出的目标特征向量和待判定向量进行一致性判定的一致判定部,即可形成基于残差量化卷积神经网络的人脸识别装置。
实施例中,各个量化层的整数量化位数相同,均为一位,也就是说,各个量化层均同样地进行二值量化。但在本发明中,考虑到越低的层(即靠近输入层的层)所包含的特征信息越少,可以将量化层的整数量化位数设置得不同,例如,按照与输入层之间的远近关系,将靠近第一卷积层的多个量化层设定为低位量化层,远离第一卷积层的多个量化层设定为高位量化层,同时将位于低位量化层和高位量化层之间的多个量化层设定为中位量化层,进一步将各种量化层的整数量化位数按照低位量化层<中位量化层<高位量化层的规则进行设定。同时,由于整数量化位数过多则无法达到减小计算量的效果,因此整体的整数量化位数宜设定在1~5位。例如,可以将低位量化层的整数量化位数设定为1~2位、中位量化层的整数量化位数设定为2~3位、高位量化层的整数量化位数设定为4~5位。
实施例中,目标图像与待判定图像之间是否一致是通过二者的特征向量之间的余弦距离计算来判定的。在本发明中,也可以利用其他的向量距离计算方式来判定目标图像与待判定图像之间的一致性。
实施例中,为了方便图像输入、加快模型训练速度,训练过程采用了分批输入处理的方式。但在采用图像数量不多的其他训练集时,也可以不采用分批输入处理的方式,而是直接将训练集全部输入,然后进行步骤S1-4~步骤S1-5的处理过程。
Claims (10)
1.一种基于残差量化卷积神经网络的人脸识别方法,用于对目标图像进行人脸识别并从多个待判定图像中判定出与所述目标图像相一致的人脸图像,其特征在于,包括如下步骤:
步骤S1,构建卷积神经网络模型并采用多个现有人脸图像作为训练集对该卷积神经网络模型进行基于残差量化的训练,得到训练后的卷积神经网络模型作为特征提取模型;
步骤S2,对所述目标图像进行预处理获得预处理目标图像,并对所述待判定图像进行预处理获得对应的预处理待判定图像;
步骤S3,将所述预处理待判定图像及所述预处理目标图像依次输入所述特征提取模型,从而得到分别与所述预处理待判定图像相对应的多个待判定特征向量以及与所述预处理目标图像相对应的目标特征向量;
步骤S4,根据所述目标特征向量以及所述待判定特征向量判定出所述待判定图像中的与所述目标图像一致的人脸图像,
其中,步骤S1包括如下子步骤:
步骤S1-1,对用于作为所述训练集的多个所述现有人脸图像进行预处理从而获得尺寸统一并且分别与所述现有人脸图像相对应的预处理训练图像;
步骤S1-2,构建含有输入层、卷积模块、残差计算模块以及全连接模块的卷积神经网络模型,该卷积神经网络模型中各层的参数矩阵中的参数为随机设置;
步骤S1-3,将所述预处理图像作为训练集输入所述卷积神经网络模型;
步骤S1-4,将所述卷积神经网络模型中的预定层设定为量化层并对所述量化层的参数进行整数位量化来近似该量化层的所述参数矩阵,然后进行前向传递计算误差;
步骤S1-5,采用反向传播算法传递误差更新所述参数;
步骤S1-6,重复步骤S1-3至步骤S1-5直至达到训练完成条件,得到训练后的卷积神经网络模型作为所述特征提取模型。
2.根据权利要求1所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,所述卷积模块由依次连接的第一卷积层、第二卷积层以及第一最大池化层构成,
所述残差计算模块包括依次连接的多个第一残差子模块和一个第二残差子模块,所述第一残差子模块由依次连接的至少一个残差构件、第三卷积层以及第二最大池化层构成,所述第二残差子模块由至少一个残差构件构成,
所述全连接模块包括依次连接的第一全连接层、随机丢弃层以及第二全连接层,
所述量化层为所述第二卷积层、所述残差构件、所述第三卷积层以及所述第一全连接层。
3.根据权利要求2所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,步骤S1-4中,所述量化层的整数量化位数为1位,所述整数量化为二值量化。
6.根据权利要求2所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,所述量化层的整数量化位数为1~5位。
7.根据权利要求6所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,靠近所述第一卷积层的多个所述量化层为低位量化层,远离所述第一卷积层的多个所述量化层为高位量化层,位于所述低位量化层和所述高位量化层之间的多个所述量化层为中位量化层,
所述低位量化层的整数量化位数为1~2位,
所述中位量化层的整数量化位数为2~3位,
所述高位量化层的整数量化位数为4~5位。
8.根据权利要求1所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,步骤S2的预处理包括如下子步骤:
步骤S2-1,对待处理图像进行人脸检测,找出其中的人脸位置;
步骤S2-2,检测步骤S2-1找出的人脸的至少包括双眼中心、鼻头以及两侧嘴角在内的多个关键位置点;
步骤S2-3,根据所述关键位置点对所述待处理图像进行对齐操作并将所述待处理图像进行尺寸统一化;
步骤S2-4,将尺寸统一化后的所述待处理图像进行中心剪裁,得到对应的预处理图像。
9.根据权利要求1所述的基于残差量化卷积神经网络的人脸识别方法,其特征在于:
其中,步骤S1-6中的所述训练完成条件为完成了预定的循环次数、参数已经收敛或消除了训练误差。
10.一种基于残差量化卷积神经网络的人脸识别装置,用于对目标图像进行人脸识别并从多个待判定图像中判定出与所述目标图像相一致的人脸图像,其特征在于,包括:
预处理部,对所述待判定图像以及所述目标图像进行预处理从而分别得到对应的预处理待判定图像及预处理目标图像;
特征提取部,对所述预处理待判定图像进行特征提取得到对应的待判定特征向量以及对所述预处理目标图像进行特征提取得到对应的目标特征向量,该特征提取部含有经过采用多个现有人脸图像作为训练集训练得到的特征提取模型;以及
一致判定部,根据所述目标特征向量以及所述待判定特征向量判定出所述待判定图像中的与所述目标图像一致的人脸图像,
其中,所述特征提取模型采用如下方法获得:
步骤1,对用于作为所述训练集的所述多个现有人脸图像进行预处理从而获得尺寸统一并且分别与所述现有人脸图像相对应的预处理训练图像;
步骤2,构建含有输入层、卷积模块、残差计算模块以及全连接模块的卷积神经网络模型,该卷积神经网络模型中各层初始的参数为随机设置;
步骤3,将所述预处理图像作为训练集输入所述卷积神经网络模型;
步骤4,选取所述卷积神经网络模型中的预定多层设定为量化层,对所述量化层的参数进行整数位量化并用量化后的参数代替对应的原有参数,然后进行前向传递计算误差;
步骤5,采用反向传播算法传递误差并更新所述参数;
步骤6,重复步骤3及至步骤5直至达到训练完成条件,得到训练后的卷积神经网络模型作为所述特征提取模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810435661.5A CN108596143B (zh) | 2018-05-03 | 2018-05-03 | 基于残差量化卷积神经网络的人脸识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810435661.5A CN108596143B (zh) | 2018-05-03 | 2018-05-03 | 基于残差量化卷积神经网络的人脸识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108596143A CN108596143A (zh) | 2018-09-28 |
CN108596143B true CN108596143B (zh) | 2021-07-27 |
Family
ID=63635954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810435661.5A Active CN108596143B (zh) | 2018-05-03 | 2018-05-03 | 基于残差量化卷积神经网络的人脸识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108596143B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020118553A1 (zh) * | 2018-12-12 | 2020-06-18 | 深圳鲲云信息科技有限公司 | 一种卷积神经网络的量化方法、装置及电子设备 |
CN110991210A (zh) * | 2019-01-30 | 2020-04-10 | 复钧智能科技(苏州)有限公司 | 一种基于深度学习的嵌入式人脸识别方法及装置 |
CN110991211B (zh) * | 2019-01-30 | 2024-03-19 | 复钧智能科技(苏州)有限公司 | 基于改进残差神经网络的便携式单兵人脸识别装置 |
CN110163260B (zh) * | 2019-04-26 | 2024-05-28 | 平安科技(深圳)有限公司 | 基于残差网络的图像识别方法、装置、设备及存储介质 |
CN110232338B (zh) * | 2019-05-29 | 2021-02-05 | 北京邮电大学 | 基于二值神经网络的轻量化Web AR识别方法及系统 |
CN110516575A (zh) * | 2019-08-19 | 2019-11-29 | 上海交通大学 | 基于残差域富模型的gan生成图片检测方法及系统 |
CN110866490A (zh) * | 2019-11-13 | 2020-03-06 | 复旦大学 | 一种基于多任务学习的人脸检测方法及装置 |
CN110889503B (zh) * | 2019-11-26 | 2021-05-04 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111368978B (zh) * | 2020-03-02 | 2023-03-24 | 开放智能机器(上海)有限公司 | 一种离线量化工具的精度提升方法 |
CN112733863B (zh) * | 2021-01-07 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种图像特征提取方法、装置、设备及存储介质 |
CN113255576B (zh) * | 2021-06-18 | 2021-10-29 | 第六镜科技(北京)有限公司 | 人脸识别方法及装置 |
CN113610222B (zh) * | 2021-07-07 | 2024-02-27 | 绍兴埃瓦科技有限公司 | 计算神经网络卷积运算的方法及系统、硬件装置 |
CN115062777B (zh) * | 2022-08-17 | 2022-11-22 | 珠海亿智电子科技有限公司 | 卷积神经网络的量化方法、量化装置、设备及存储介质 |
CN115424330B (zh) * | 2022-09-16 | 2023-08-11 | 郑州轻工业大学 | 一种基于dfmn和dsd的单模态人脸活体检测方法 |
CN117019883B (zh) * | 2023-08-25 | 2024-02-13 | 华北电力大学(保定) | 一种基于深度学习的带材轧制过程板形预测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866810A (zh) * | 2015-04-10 | 2015-08-26 | 北京工业大学 | 一种深度卷积神经网络的人脸识别方法 |
CN107247949A (zh) * | 2017-08-02 | 2017-10-13 | 北京智慧眼科技股份有限公司 | 基于深度学习的人脸识别方法、装置和电子设备 |
-
2018
- 2018-05-03 CN CN201810435661.5A patent/CN108596143B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866810A (zh) * | 2015-04-10 | 2015-08-26 | 北京工业大学 | 一种深度卷积神经网络的人脸识别方法 |
CN107247949A (zh) * | 2017-08-02 | 2017-10-13 | 北京智慧眼科技股份有限公司 | 基于深度学习的人脸识别方法、装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
A Deep Residual convolutional neural network for facial keypoint detection with missing labels;Shaoen Wu 等;《Signal Processing》;20171104;第384-391页 * |
基于捷径的卷积神经网络在人脸识别中的应用研究;王飞 等;《电子测量与仪器学报》;20180430;第32卷(第4期);第80-86页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108596143A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596143B (zh) | 基于残差量化卷积神经网络的人脸识别方法及装置 | |
US11967175B2 (en) | Facial expression recognition method and system combined with attention mechanism | |
CN111639692B (zh) | 一种基于注意力机制的阴影检测方法 | |
Zhou et al. | TSNet: Three-stream self-attention network for RGB-D indoor semantic segmentation | |
CN109543606B (zh) | 一种加入注意力机制的人脸识别方法 | |
CN106919897B (zh) | 一种基于三级残差网络的人脸图像年龄估计方法 | |
CN105138973B (zh) | 人脸认证的方法和装置 | |
CN108427921A (zh) | 一种基于卷积神经网络的人脸识别方法 | |
CN108921019B (zh) | 一种基于GEI和TripletLoss-DenseNet的步态识别方法 | |
CN112801015B (zh) | 一种基于注意力机制的多模态人脸识别方法 | |
CN110175506B (zh) | 基于并行降维卷积神经网络的行人重识别方法及装置 | |
CN109886391B (zh) | 一种基于空间正反对角卷积的神经网络压缩方法 | |
CN111275643A (zh) | 基于通道和空间注意力的真实噪声盲去噪网络模型及方法 | |
CN112580515B (zh) | 一种基于高斯热图回归的轻量级人脸关键点检测方法 | |
CN106709418B (zh) | 基于现场照和证件照的人脸识别方法及识别装置 | |
CN109685724A (zh) | 一种基于深度学习的对称感知人脸图像补全方法 | |
CN116052218B (zh) | 一种行人重识别方法 | |
CN110991210A (zh) | 一种基于深度学习的嵌入式人脸识别方法及装置 | |
CN112084911A (zh) | 一种基于全局注意力的人脸特征点定位方法及系统 | |
CN114743014A (zh) | 基于多头自注意力的激光点云特征提取方法及装置 | |
CN113822825B (zh) | 基于3d-r2n2的光学建筑目标三维重建方法 | |
CN115393928A (zh) | 基于深度可分离卷积与加性角度间隔损失的人脸识别方法及装置 | |
CN115050050A (zh) | 一种基于先验知识的视频行人再识别方法 | |
CN113705394B (zh) | 一种长短时域特征结合的行为识别方法 | |
CN113420289B (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 |