CN111191584A - 一种人脸识别方法及装置 - Google Patents
一种人脸识别方法及装置 Download PDFInfo
- Publication number
- CN111191584A CN111191584A CN201911389052.1A CN201911389052A CN111191584A CN 111191584 A CN111191584 A CN 111191584A CN 201911389052 A CN201911389052 A CN 201911389052A CN 111191584 A CN111191584 A CN 111191584A
- Authority
- CN
- China
- Prior art keywords
- face
- picture
- identity information
- face picture
- feature vector
- 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 84
- 239000013598 vector Substances 0.000 claims abstract description 106
- 238000012216 screening Methods 0.000 claims abstract description 31
- 238000004380 ashing Methods 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 20
- 230000001815 facial effect Effects 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 15
- 238000003708 edge detection Methods 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 11
- 238000003066 decision tree Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 210000000887 face Anatomy 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种人脸识别方法及装置,该方法包括:建立海量人脸图片库,并对海量人脸图片库中包括的人脸图片进行筛选优化,人脸图片经过灰化处理且包括对应的身份信息;获取人脸图片的第一人脸特征向量,第一人脸特征向量与人脸图片的身份信息相关联;获取待识别图片的第二人脸特征向量;分布式计算第二人脸特征向量与各第一人脸特征向量之间的第一欧式距离;根据第一欧式距离识别与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息。本发明实现了基于海量人脸图片库的高速人脸比对功能,大大提高了针对于海量数据的人脸识别应用的时效性和准确性。
Description
技术领域
本发明涉及人脸识别技术领域,具体涉及一种人脸识别方法及装置。
背景技术
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。随着人工智能的发展,如何快速且准确地从海量数据中识别用户身份是一个重要的研究与应用方向。
现有技术中,利用卷积神经网络的深度结构和非线性映射学习的特点,自动学习人脸特征和表达方法,并在人脸识别领域中逐渐成为主流。然而,目前现有技术中的此类深层神经网络结构,对人脸的识别性能有所改善,但在应用效率和准确率上还需要改进和提升。
需要注意的是,本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明实施例提供一种人脸识别方法及装置,以解决现有技术中利用卷积神经网络的深度结构进行人脸识别的方法在应用效率和准确率上需要改进和提升的问题。
第一方面,本发明实施例提供一种人脸识别方法,包括:
建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息;
获取各所述人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联;
获取待识别图片的第二人脸特征向量;
分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离;
根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
作为本发明第一方面的优选方式,所述建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息包括:
获取至少一张人脸图片,并将所述人脸图片存放入海量人脸图片库中,所述人脸图片包括对应的身份信息;
各所述人脸图片进行灰化处理后,对至少一张所述人脸图片进行聚类,使具有相同身份信息的人脸图片写入同一个文件夹中,所述文件夹以所述身份信息命名;
对每一文件夹中的所述人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片。
作为本发明第一方面的优选方式,所述对各文件夹中的人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片之后,还包括:
比较每一文件夹中清晰度满足第一预设条件的人脸图片中每一像素点与相邻像素点的亮度,并在所述像素点上标示一个梯度箭头,所述梯度箭头指向亮度变深的方向;
将所述人脸图片划分成多个区域,统计各所述区域内包含的梯度箭头在各个方向上的数量;
确定数量最多的梯度箭头为所述区域的梯度箭头,得到各所述人脸图片的梯度直方图;
对所述梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片。
作为本发明第一方面的优选方式,所述对所述梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片包括:
将所述梯度直方图处理成多个图片块;
将多个图片块分别与基于自编码器训练得到的多个人脸局部特征进行卷积运算和池化操作,并通过采用Softmax函数的输出层输出是否包含人脸的检测结果;
根据所述检测结果,筛选得到包含人脸的与所述梯度直方图对应的人脸图片。
作为本发明第一方面的优选方式,所述获取海量人脸图片库中各人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联包括:
基于梯度提升决策树的多个串联的树型回归器,从所述人脸图片中提取多个人脸特征点位置信息;
基于所述人脸特征点位置信息,分别生成代表人脸总体特征的各所述人脸图片的第一人脸特征向量,并将所述第一人脸特征向量与所述人脸图片的身份信息相关联。
作为本发明第一方面的优选方式,所述基于梯度提升决策树的多个串联的树型回归器,从所述人脸图像中提取多个人脸特征点位置信息之后,还包括:
判断所述人脸图片中人脸的眼部和嘴部是否处于水平状态;
若否,则对所述人脸特征点进行仿射变换,以对所述人脸特征点位置信息进行校准。
作为本发明第一方面的优选方式,所述获取海量人脸图片库中各人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联之后,还包括:
计算每一文件夹中各所述人脸图片的第一人脸特征向量之间的第二欧式距离;
判断所述第二欧式距离是否满足第二预设条件,并输出判断结果;
根据所述判断结果,筛选得到与文件夹具有相同身份信息的人脸图片。
作为本发明第一方面的优选方式,所述分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离包括:
将各所述第一人脸特征向量进行分布式存储;
并行计算所述第二人脸特征向量与所述第一人脸特征向量之间的第一欧式距离;
输出满足第三预设条件的所述第一欧式距离。
作为本发明第一方面的优选方式,根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息包括:
计算具有相同身份信息的人脸图片对应的第一欧式距离的平均值,得到具有相同身份信息的人脸图片的平均欧式距离;
按照从小到大的顺序对所述平均欧式距离进行排序;
从排在前面预设数量的平均欧式距离中,将对应出现次数最多的所述人脸图片识别为与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
第二方面,本发明实施例提供一种人脸识别装置,包括:
人脸图片库建立单元,用于建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息;
第一人脸特征向量获取单元,用于获取各所述人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联;
第二人脸特征向量获取单元,用于获取待识别图片的第二人脸特征向量;
第一欧式距离计算单元,用于分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离;
人脸图片识别单元,用于根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
第三方面,本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,计算机执行指令用于使人脸识别装置执行第一方面或第一方面的任一种优选方式中的人脸识别方法。
第四方面,本发明实施例还提供一种计算机设备,包括处理器和存储器,其中存储器内存储有执行指令,处理器读取存储器内的执行指令用于执行第一方面或第一方面的任一种优选方式中的人脸识别方法。
本发明实施例提供的一种人脸识别方法及装置,先对海量人脸图片库中的人脸图片进行筛选优化,去除干扰图片和图片中的干扰信息,然后分别获取代表人脸总体特征的各人脸图片的第一人脸特征向量,再用同样的方式获取代表人脸总体特征的待识别图片的第二人脸特征向量,最后通过分布式计算得到的第二人脸特征向量与各第一人脸特征向量之间的欧式距离来确定与待识别图片相似度最高的人脸图片。
本发明通过对待识别图片的人脸特征和海量人脸图片库中各人脸图片的人脸特征的分布式高效比对,用相关的深度学习算法对非结构化的人脸细节信息数据进行结构化、高度抽象化,实现了基于海量人脸图片库的高速人脸比对功能,大大提高了针对于海量数据的人脸识别应用的时效性和准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种人脸识别方法的流程图;
图2为本发明实施例提供的一种将人脸图片中的某一个像素点替换成梯度箭头的示意图;
图3为本发明实施例提供的一种梯度直方图的局部示意图;
图4(a)为典型的人脸的梯度直方图,图4(b)是本发明实施例提供的一种人脸的梯度直方图;
图5(a)为典型的人脸特征点位置示意图,图5(b)为本发明实施例提供的基于梯度提升决策树的多个串联的树型回归器估算出的人脸特征点位置示意图;
图6(a)为数据较简单的回归示意图,图6(b)为数据较复杂的回归示意图;
图7为本发明实施例提供的分布式计算第二人脸特征向量与各第一人脸特征向量之间的第一欧式距离的示意图;
图8为本发明实施例提供的一种人脸识别装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
参照图1所示,本发明实施例公开了一种人脸识别方法,该方法主要包括以下步骤:
101、建立海量人脸图片库,并对海量人脸图片库中包括的至少一张人脸图片进行筛选优化,人脸图片经过灰化处理且包括对应的身份信息;
102、获取各人脸图片的第一人脸特征向量,第一人脸特征向量与人脸图片的身份信息相关联;
103、获取待识别图片的第二人脸特征向量;
104、分布式计算第二人脸特征向量与各第一人脸特征向量之间的第一欧式距离;
105、根据第一欧式距离,识别与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息。
本发明实施例提供的一种人脸识别方法,在人脸特征点选取和标记的基础上,采用局部特征和总体特征相结合的特征抽象提取的方式,用相关的深度学习算法对非结构化的人脸细节信息数据进行结构化和高度抽象化,大大提高了针对于海量人脸数据的识别应用的时效性和准确性。
步骤101中,在进行人脸识别前,先建立一个海量人脸图片库,该海量人脸图片库中包括多张供比对的人脸图片。将各人脸图片存放入海量人脸图片库后,需要对各人脸图片进行筛选优化,以去除一些干扰的图片或信息,这样在识别过程中可以提高识别的时效性和准确性。
具体地,步骤101可按照如下步骤具体实施:
1011、获取至少一张人脸图片,并将人脸图片存放入海量人脸图片库中,人脸图片包括对应的身份信息。
本实施例中获取海量人脸图片的方式,可以是从现有的图片数据库中直接提取,还可以通过其他方式获得人脸图片,本实施例对人脸图片的获取方式不做限定,本领域技术人员可以根据实际情况进行获取。
在获取人脸图片时,同时还要关联该人脸图片对应的身份信息,主要是身份证号码。将各人脸图片存放入海量人脸图片库后,可根据人脸图片对应的身份信息对人脸图片进行重新命名,如可采用身份证号码对人脸图片进行命名,在后续识别出该人脸图片时可以较为方便地调取该人脸图片的身份信息。
1012、各人脸图片进行灰化处理后,对至少一张人脸图片进行聚类,使具有相同身份信息的人脸图片写入同一个文件夹中,文件夹以身份信息命名。
获取到的人脸图片通常是彩色的,而在人脸识别过程中是不需要这些彩色信息的,将这些信息去除可以用更简单的方式表示人脸的基本结构,提升处理速度并提高识别准确率。因此,可以先对各人脸图片进行灰化处理,处理成对应的灰度图,处理起来更方便。
对各人脸图片进行灰化处理后,可以按照人脸图片对应的身份信息对其分拣聚类,将属于同一身份信息下的人脸图片写入同一个文件夹中,该文件夹也以该身份信息命名。例如,可以将属于同一身份证号码的人脸图片写入同一个文件夹中,并以该身份证号码对该文件夹进行命名。
1013、对每一文件夹中的人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片。
在人脸识别过程中,清晰度不满足要求的人脸图片是无法进行比较准确快速的识别的,因此需要将清晰度不高的人脸图片去除,以提高识别的时效性和准确性。
在本实施例中,第一预设条件为预设的阈值,该阈值可由本领域技术人员根据实际情况确定。在具体检测时,可采用opencv的Laplacian方法,通过对人脸图片的拉普拉斯算子做卷积来对人脸图片进行边缘检测。当计算出的方差大于预设的阈值时,认为该人脸图片较为清晰,否则认为该人脸图片较为模糊,人脸图片的质量不达标,不继续下一步处理。
将清晰度不满足第一预设条件的人脸图片去除,在各文件夹中只保留清晰度满足第一预设条件的人脸图片。
在上述对每一文件夹中的人脸图片进行基于清晰度的筛选后,还要进一步检测这些人脸图片是否包含人脸,如不包含人脸,也不能继续下一步的处理,同样需要从文件夹中去除。
本实施例中先采用梯度直方图HOG算法来进一步对灰化处理后的人脸图片进行预处理,将人脸图片处理成对应的梯度直方图,然后基于该梯度直方图进行人脸检测。在梯度直方图中,用简单的方式表示出了人脸的基本结构,能够有效降低后续的运算量。
进一步地,步骤101还包括如下步骤:
1014、比较每一文件夹中清晰度满足第一预设条件的人脸图片中每一像素点与相邻像素点的亮度,并在像素点上标示一个梯度箭头,梯度箭头指向亮度变深的方向。
将灰化处理后的人脸图片处理成对应的梯度直方图时,先查看该人脸图片中的每个像素点,然后比较该像素点和周围像素点的亮度,最后在该像素点上画一个箭头指向亮度变深的方向,这样就将每个像素点替换成了一个箭头。这个箭头叫做梯度箭头,梯度箭头有8种可能方向,即:左、左上、上、右上、右、右下、下和左下。
参照图2所示,该图中眼部的一个像素点变成了一个指向右上的箭头。通过将像素点的亮度替换成亮度变化的方向,清除了明暗和对比度等无用信息。例如,某人有两张照片,一张亮一张暗,如果直接比较像素亮度,会发现差异很大,但如果比较梯度直方图,二者几乎完全相同,降低了问题复杂度,便于后续的处理。
1015、将人脸图片划分成多个区域,统计各区域内包含的梯度箭头在各个方向上的数量。
按照上述方式,将人脸图片上所有的像素点都对应用梯度箭头标示后,再将人脸图片划分成多个区域。一般地,会划分成16×16的小区域,该区域包含256个像素点。
区域划分好后,分别统计各个区域内包含的梯度箭头在各个方向上的数量,即统计包含的梯度箭头在8个方向上的数量。
1016、确定数量最多的梯度箭头为区域的梯度箭头,得到各人脸图片的梯度直方图。
在各个区域内,选取并保留数量最多的梯度箭头的方向,即该区域内强度最大的方向,并确定该梯度箭头来代表该区域,最终形成梯度直方图,如图3所示。
如果保留每一个像素点的方向,会使微观细节过多而难以提取宏观模式,导致无法直观地表示人脸的轮廓特征。而将人脸图片划分为较小的方块区域,并用该区域内数量最多的梯度箭头来代表这个区域,可以减少不必要的细节,用简单的方式表示出了人脸的基本结构,降低了后续运算量。
1017、对梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片。
根据上述步骤得到的梯度直方图进行人脸检测,以此来判断该人脸图片上是否存在人脸。根据得到的检测结果,可以知晓哪张人脸图片上不存在人脸,从而可将不存在人脸的人脸图片去除,在各文件夹中只保留清晰度满足第一预设条件且存在人脸的人脸图片,以减少一些不必要的处理过程。
本实施例中采用深度卷积神经网络(英文缩写:CNN)来进行人脸检测,将得到的梯度直方图送入深度卷积神经网络中,该深度卷积神经网络可以很好地判断得到的梯度直方图中是否存在人脸,以及人脸的位置。
具体地,步骤1017中对梯度直方图进行人脸检测具体包括如下步骤:
1017~1、将梯度直方图处理成多个图片块。
本实施例中,特征泛指任何可以区分某一事物的属性,对于人脸而言,具体分为人脸局部特征和人脸总体特征。人脸局部特征,是指人脸其中一部分表现的图像属性,如鼻子,嘴巴独特的线条形状;而人脸总体特征是局部特征的组合方式,表现在各局部特征的位置、间距、比例等布局关系。
而在人脸检测阶段,只需要学习和检测人脸局部特征即可得到检测结果,这一过程需要使用较小的图片块。例如,对于64×64像素的人脸图片,截取其中8×8像素的图片块来学习人脸局部特征比较合适。
1017~2、将多个图片块分别与基于自编码器训练得到的多个人脸局部特征进行卷积运算和池化操作,并通过采用Softmax函数的输出层输出是否包含人脸的检测结果。
自编码器是一种输出数值和输入数值“相等”的三层神经网络,它的隐藏层必须要找到输入数据中隐含的特征,否则隐藏层就不可能重建输入数据。创建一个自编码器,输入层是8×8=64个节点,隐藏层是200个节点,输出层是64个节点。本实施例中假定所有的人脸中总共有200个人脸局部特征,输入上万张8×8像素的图片块训练自编码器,会得到200个人脸局部特征。
将64×64像素较大的人脸图片处理成部分重叠的8×8像素的较小的图片块后,分别和基于自编码器训练得到的多个人脸局部特征进行比较,这一操作即为卷积。8×8像素的图片块与64×64像素的人脸图片进行比较时,会经过57×57个位置,每经过一个位置会做一次记录。记录的内容就是64对像素值乘积的和。显然,该乘积的和越大,说明二者越相似,即该人脸局部特征在这个较小的图片块上被激活了。最后,把每个图片块的结果存入一个数组,顺序和图片块的顺序相同。
上述过程中记录57×57个位置,会显得过于“精细”,有大量非常相似的结果近乎重叠。在实际处理时,可以把57×57个位置划分成9个19×19像素的子区域,并且只记录每个子区域的最大值即可,这样会大大减少后续检测时的运算量,能够减少19×19倍。
以上过程称为对卷积结果的下采样,也叫池化,池化可以取最大值或平均值,分别称为最大值池化和均值池化。
为了挖掘人脸的深层特征,可以将以上卷积运算和池化操作这两步进行多次组合串接,形成深度卷积神经网络。它从一张较大的人脸图片开始,在不同层逐层提取不同类型的特征,如第一卷积层提取锐角,第二卷积层据此提取眼角嘴角,第三卷积层据此提取整个人脸等。
卷积层数越多,深度卷积神经网络可以提取和检测的特征越多。为了减少卷积结果重叠,可以在任意卷积层后串联池化层。
以上进行人脸检测的输出层是一个Softmax全连接层,采用经过改进的Softmax函数,卷积池化后的结果会送入该层中,会输出人脸的位置以及对应概率。假定用1表示存在人脸,用0表示不存在人脸,则用S代表的Softmax函数有以下属性:0<S(0)<1,0<S(1)<1,S(0)+S(1)=1,因此可以用它表示存在人脸的概率,概率最大的区域是人脸的位置。
示例性地,假定人脸出现在图片中的区域A,该函数会为该区域输出较高的概率P;但是对于和区域A部分重叠的区域A’,该函数同样会输出较高的概率P’。输出层在输出之前,会选择概率最大的区域A和概率P作为输出,区域A是最准确的位置。
这种方法适用于多数情况,但在人脸有重叠时,可能造成遗漏。比如人脸出现在显示器上,或者以旗帜为背景,并且该深度卷积神经网络具有检测显示器或旗帜的功能,如果旗帜或显示器的概率超过了人脸概率,输出层会输出旗帜或显示器,而将人脸遗漏。
为此,本发明实施例中对深度卷积神经网络的输出方法进行了改进。以上述区域A和区域A’等邻近区域为例,将这些区域按照人脸、显示器、旗帜等类型存入不同的数组中,之后查找某数组中的成员的概率的最大值,如果该最大值超过了阈值,认为检测成功。之后查找下一数组中的成员的概率的最大值,直到处理完所有数组。改进后的输出层除了输出显示器或旗帜外,还会输出人脸,可见提升了检测的召回率。
1017~3、根据检测结果,筛选得到包含人脸的与梯度直方图对应的人脸图片。
根据上述深度卷积神经网络的输出层输出的检测结果,可以快速地对梯度直方图进行筛选,从而得到包含人脸的梯度直方图,进一步得到与该梯度直方图对应的人脸图片。参照图4所示,图4(a)是典型的人脸梯度直方图,是从大量人脸图片中得到的平均值,图4(b)是本实施例中根据上述步骤得到的梯度直方图。比较图4(a)和图4(b),二者明显相似,因此Softmax函数会给出一个接近于1的概率,同时给出人脸的位置。
根据该检测结果,可以检测到哪张梯度直方图中存在人脸,即与该梯度直方图对应的人脸图片上存在人脸,从而可将不存在人脸的人脸图片去除,在各文件夹中只保留清晰度满足第一预设条件且存在人脸的人脸图片。
经过上述步骤,对海量人脸图片库中的人脸图片进行了一些初步的筛选优化,先对人脸图片进行聚类,使具有同一身份信息的人脸图片存入同一个文件夹中,然后依次去除了清晰度不高、不存在人脸的人脸图片,确保了海量人脸图片库的图片质量,可以减少一些不必要的处理过程,有利于提高人脸识别的时效性和准确性。
步骤102中,在上述得到的海量人脸图片库的基础上,要进一步获取各人脸图片的第一人脸特征向量,并基于该第一特征向量进行后续的识别过程。
具体地,步骤102可按照如下步骤具体实施:
1021、基于梯度提升决策树的多个串联的树型回归器,从人脸图片中提取多个人脸特征点位置信息。
针对存在人脸的每张人脸图片,先提取多个人脸特征点位置信息,人脸特征点至少包括下颚轮廓、眼睛外缘、眉毛下缘、鼻子中线下缘和嘴巴外缘等。
人脸特征点的提取使用人脸特征点估算算法,采用基于梯度提升决策树的多个串联的树型回归器,拟合出人脸的68个特征点位置信息,即坐标。通过训练学习人脸68个特征点间的位置关系,能从未知人脸图片中得出68个特征点位置信息。利用集成学习技术中的提升技术和串联技术,能大幅提升输出的特征点的位置信息的准确性。具体过程如下:
(1)训练前,需首先标出训练图片中人脸的68个特征点位置。参照图5所示,图5(a)为典型的人脸特征点位置示意图,是从大量人脸图片中得到的平均值,以下称均值图像,也是串联回归器的初始值,图5(b)是基于梯度提升决策树的多个串联的树型回归器估算出的人脸特征点位置示意图。另外,还需要一张标注了人脸特征点的训练图片,由手工标注,以下称标注图像。
(2)估算的初始值和实际的标注值有较大差别,人脸特征点估算的目的是使二者拟合,即两者的数值尽量接近,是一个回归问题,而上一步人脸检测输出“是”和“否”两种类型,是分类问题。
回归是针对数值的拟合,目的是要使模型的输出数值回归于真实数值。如果数据具有线性关系,对其的最佳拟合是一条直线,使用线性回归。但如果数据较复杂,无法用一条直线拟合,需要将数据分成若干段,在每一段里使用线性回归,而总体上采用二叉树的树形结构,将每一段表示为二叉树的一个叶节点。树形结构支持按数值分叉,支持递归构建和查找,适用于拟合较复杂的数据,因此人脸特征估算采用了树型回归器。
参照图6所示,图6(a)为数据较简单的回归示意图,适合线性回归,而图6(b)为数据较复杂的回归示意图,无法采用线性回归,适合使用树型回归。
回归树的分叉依据是以某一对像素点的亮度差作为阈值,设u和v是其均值图像上的坐标,由于均值图像和标注图像有角度和比例的差异,经过旋转和缩放,可以得到在标注图像上的坐标u'和v'。若亮度用I表示,则亮度差为I(u')-I(v'),以亮度差作为阈值thresh,根据该thresh将回归树分叉。假如有N张训练图片,根据以上分叉,这N张图片会分属两类,各自按照使各自子类整体误差最小的方式回归,更新特征点坐标,计算回归后各训练图片的误差。
此步骤中的u、v和thresh称为“特征”,是随机生成的,并非最优,但需要找到的是最优特征,因此随机生成多份备选特征,分别按上述方法计算回归误差,误差最小的选为最优特征,据此进行分叉。如此,递归提取下一个特征,再次分叉,直到回归误差足够小,或者达到预设的回归树最大层数。
(3)机器学习中的提升技术,是将多个学习器结合起来,尽管每个学习器只是弱学习器,但后一级学习器专门纠正前一级学习器的误差。这样,多个弱学习器依次提升,最终得到的结果准确度达到强学习器的水平。
以上回归树随机选取特征,通过贪婪算法查找最佳特征,经过有限次的分叉回归后,实现了对人脸特征点的拟合。但其准确率还可提升,可在其后置第二级回归树,其结构和算法完全相同,但专门负责纠正前一级回归树的误差。在经过查找特征,分叉,回归的步骤后,可以进一步减少前一级误差。
以上步骤重复几百次,后置几百个回归树进行增强后,能提高人脸特征点估算的准确度,达到强回归器的水平。
(4)串联技术,进一步将上述得到的多个强回归器串联起来。最终,相较于单个强回归器,串联回归器的输出结果的准确度再次较大提升。
从图5(b)中可以看出,串联回归器的输出结果更加准确,能够较为准确地将人脸图片上的各个人脸特征点位置信息提取出来。
进一步地,在上述步骤1021中,从人脸图片中提取到多个人脸特征点位置信息之后,为了进一步提取人脸总体特征,应尽可能使人脸的眼部和嘴部尽量居中,并处于水平状态。
该校准过程具体包括以下步骤:
A1、判断人脸图片中人脸的眼部和嘴部是否处于水平状态;
A2、若否,则对人脸特征点进行仿射变换,以对人脸特征点位置信息进行校准。
如果人脸图片中人脸的眼部和嘴部不是处于水平状态,应进行仿射变换,将人脸图片进行旋转。此处采用仿射变换而不是3D空间变换,其原因是仿射变换只进行旋转缩放,保留了人脸图片的线性特征,不会引起失真。
经过这样校准后,提取出的人脸特征点位置信息会更加准确。
1022、基于人脸特征点位置信息,分别生成代表人脸总体特征的各人脸图片的第一人脸特征向量,并将第一人脸特征向量与人脸图片的身份信息相关联。
利用上一步得到的人脸特征点位置信息,进一步从各人脸图片中提取人脸的总体特征,并分别生成代表人脸总体特征的第一人脸特征向量,该过程也称“编码”。编码的原则是使属于同一个身份信息下的不同人脸图片的编码间的距离尽可能近,而使不属于同一个身份信息下的不同人脸图片的编码间的距离尽可能远。具体过程如下:
(1)采用和人脸检测时完全相同的深度卷积神经网络,但不检测人脸形状,而是输出一个128维的人脸编码,是一个包含128个浮点数的向量,即第一人脸特征向量。由于深度卷积神经网络的构成要素和人脸检测部分完全相同,这里不再赘述,具体过程可参照前面实施例中的说明。
(2)训练时每一步比较三张图片,其中的两张属于同一个人,剩余一张属于另外一个人。
(3)训练深度卷积神经网络,使前两张图片的编码间的距离尽量接近,使后两张图片的编码间的距离尽量远离。与前面实施例中所述用自编码器提取人脸局部特征类似,这里通过施加“同一人的相同,不同人的不同”这一约束,促使该深度卷积神经网络学习生成能辨别不同人的身份信息的编码。
(4)经过对几千人的上百万张图片反复训练后,生成的128维向量能可靠地代表人脸总体特征,同一个人的不同图片大都能得到大致相同的编码。由于该网络作用并非分类或回归,而是生成人脸总体编码,可以称其为“生成网络”。
经过上述步骤,分别生成了能够代表人脸总体特征的各人脸图片的第一人脸特征向量,且第一人脸特征向量与人脸图片的身份信息相关联。
优选地,以上步骤可分布式在多个GPU(图像处理器)上进行,GPU特别适合大规模矩阵运算。将深度卷积神经网络运行在GPU上时,其处理速度可比在CPU运行时提升约100倍。
在上述步骤102中,得到海量人脸图片库中各人脸图片的第一人脸特征向量后,可利用该第一人脸特征向量进一步去除每一文件夹中不属于该文件夹的人脸图片。
进一步地,步骤102还包括如下步骤:
B1、计算每一文件夹中各人脸图片的第一人脸特征向量之间的第二欧式距离;
B2、判断第二欧式距离是否满足第二预设条件,并输出判断结果;
B3、根据判断结果,筛选得到与文件夹具有相同身份信息的人脸图片。
在将海量人脸图片库中的各人脸图片进行聚类写入到各自的文件夹中时,由于人脸图片的数量巨大,存在将不属于同一身份信息下的人脸图片写入到同一文件夹的情况,因此需要将每一文件夹中与文件夹不具有相同身份信息的人脸图片从该文件夹中去除。
在得到各人脸图片的第一人脸特征向量后,在每一文件夹内,分别计算任意两个第一人脸特征向量之间的第二欧式距离。在本实施例中,第二预设条件为预设的阈值,该阈值可由本领域技术人员根据实际情况确定。
当某一张人脸图片对应的第一人脸特征向量与其他人脸图片对应的第一人脸特征向量之间的第二欧式距离均大于该预设的阈值时,即不满足第二预设条件时,则确定该人脸图片与该文件夹不具有相同的身份信息,即该人脸图片不属于该文件夹,属于干扰数据,应从该文件夹中去除。
通过进一步筛选优化,将这部分人脸图片的第一人脸特征向量过滤掉,可有效提高海量人脸图片库中人脸图片的质量,进一步能够提高人脸识别的时效性和准确性。
步骤103中,获取待识别的人脸图片,本实施例中的待识别图片既包括任意数据源的人脸图片,也包括视频中的未知人脸图片,本实施例对待识别人脸图片的获取方式不做限定。
采用与步骤102中相同的方法,对待识别图片进行人脸特征点提取,以此来获取待识别图片的第二人脸特征向量。具体过程可参照上述步骤,在此不再赘述。
步骤104中,同时获取到海量人脸图片库中各人脸图片的第一人脸特征向量以及待识别图片的第二人脸特征向量后,可通过逐个比较这两个向量之间的第一欧氏距离来判断待识别图片与海量人脸图片库中各人脸图片的相似度。
具体地,步骤104可按照如下步骤具体实施:
1041、将各第一人脸特征向量进行分布式存储。
在进行第一欧式距离的计算时,可采用进程池技术,充分利用多核CPU处理器的性能,进程池分布运行在多个CPU内核中,通过多进程并发计算,避免进程的频繁调度,高效完成第一欧式距离的计算和海量比对工作。
首先获取所有服务器的CPU内核数量信息,然后将所有海量人脸图片库中的人脸图片等分为与CPU内核数量相同的部分,最后将等分好的人脸图片分别下发存储到各服务器中的各个CPU内核中。
1042、并行计算第二人脸特征向量与第一人脸特征向量之间的第一欧式距离。
在各服务器中开启多个第一欧氏距离的计算进程,进程数和服务器的CPU内核总数相同,并一一对应,具体参照图7所示。
各进程加载对应的人脸图片的第一特征向量和待识别图片的第二特征向量,调用数学运算库计算两者之间的第一欧氏距离。例如,海量人脸图片库中有N张人脸图片,则会计算出N个第一欧氏距离。
优选地,在使用多进程方式进行上述人脸比对各步骤时,一次输入多张可大幅提升处理速度。不仅减少了调用次数,还可充分利用数学计算库的并行机制等优化手段。由于矩阵乘法的属性,在每一步处理多张人脸图片的方法是完全相同的,因此数学运算库可以通过并行处理,进行相当程度的优化。但如果每次只输入了一张人脸图片,则数学计算库无法进行优化。
1043、输出满足第三预设条件的第一欧式距离。
各进程将满足第三预设条件的第一欧式距离和对应的身份信息返回给调用进程,这样可去除一些相似度较低的第一欧式距离,可以减少后续比对的计算量。在本实施例中,第三预设条件为预设的阈值,该阈值可由本领域技术人员根据实际情况确定。
上述返回的满足第三预设条件的第一欧式距离和对应的身份信息采用压缩的数据结构,可有效提升计算速度。
假设某计算进程负责N张人脸图片的比对,传统方法返回比对结果时,会返回两个长度为N的列表,一个是第一欧式距离列表,一个是身份信息列表。但在海量人脸图片库中图片数量较多的情况下,单个计算进程负责的人脸图片也至少有百万张,因此计算进程间传输这两个列表耗时很大,甚至达到几百毫秒,而列表中绝大多数是无用信息。
因此,返回的比对结果使用压缩的数据结构,通过查找符合预设的阈值的列表索引,得到并返回两个符合条件的子列表。经验证,数据传输长度比传统方法减少约98%,速度提升约2个数量级。
步骤105中,根据返回的第一欧式距离来确定与待识别图片相似度最高的人脸图片,第一欧式距离越近表示两者的人脸总体特征越相似,越远则表示人脸总体特征越不同。
具体地,步骤105可按照如下步骤具体实施:
1051、计算具有相同身份信息的人脸图片对应的第一欧式距离的平均值,得到具有相同身份信息的人脸图片的平均欧式距离。
由于具有相同身份信息的人脸图片有多张,因此采用多张具有相同身份信息的人脸图片的平均欧式距离进行排序比对,识别结果会更加准确。
统计具有相同身份信息的人脸图片对应的第一欧式距离的数量,并计算其平均值,得到具有相同身份信息的人脸图片的平均欧式距离。
1052、按照从小到大的顺序对平均欧式距离进行排序。
按照从小到大的顺序,对上述得到的平均欧式距离进行排序。
1053、从排在前面预设数量的平均欧式距离中,将对应出现次数最多的人脸图片识别为与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息。
排序结束后,优选从排在前面的预设数量的平均欧式距离中选取与待识别图片相似度最高的人脸图片。在本实施例中,预设数量可由本领域技术人员根据实际情况确定,一般会根据海量人脸图片库中人脸图片的数量来确定。例如,当海量人脸图片库中人脸图片的数量小于等于1000张时,可从排在前十位的平均欧式距离中选取与待识别图片相似度最高的人脸图片;当海量人脸图片库中人脸图片的数量大于1000张时,可从排在前二十位的平均欧式距离中选取与待识别图片相似度最高的人脸图片,也可以按照一定比例来选取。
通过多次试验,这种选取方式不会对识别结果产生多大影响,但是能够大大减少运算量,有效提高了识别的时效性,特别是在一些需要实时识别的场景下,效果显著。
按照上述方式选取出一定数量的平均欧式距离后,将其中对应出现次数最多的人脸图片识别为与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息输出。
综上,本发明实施例提供的一种人脸识别方法,针对海量人脸图片库进行了分布式并行处理。在人脸特征点选取和标记的基础上,采用局部特征和总体特征相结合的特征抽象提取方法,用先进的深度学习算法对非结构化的人脸信息进行结构化、抽象化,可视化,实现了基于海量人脸图片库的高速人脸比对功能,大大提高了针对于海量数据的人脸识别应用的时效性和准确性。
需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
基于同一发明构思,参照图8所示,本发明实施例提供了一种人脸识别装置,该装置具体包括:
人脸图片库建立单元801,用于建立海量人脸图片库,并对海量人脸图片库中包括的至少一张人脸图片进行筛选优化,人脸图片经过灰化处理且包括对应的身份信息;
第一人脸特征向量获取单元802,用于获取各人脸图片的第一人脸特征向量,第一人脸特征向量与人脸图片的身份信息相关联;
第二人脸特征向量获取单元803,用于获取待识别图片的第二人脸特征向量;
第一欧式距离计算单元804,用于分布式计算第二人脸特征向量与各第一人脸特征向量之间的第一欧式距离;
人脸图片识别单元805,用于根据第一欧式距离,识别与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息。
优选地,所述人脸图片库建立单元801具体用于:
获取至少一张人脸图片,并将人脸图片存放入海量人脸图片库中,人脸图片包括对应的身份信息;
各人脸图片进行灰化处理后,对至少一张人脸图片进行聚类,使具有相同身份信息的人脸图片写入同一个文件夹中,文件夹以所述身份信息命名;
对每一文件夹中的人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片。
优选地,所述人脸图片库建立单元801还具体用于:
比较每一文件夹中清晰度满足第一预设条件的人脸图片中每一像素点与相邻像素点的亮度,并在像素点上标示一个梯度箭头,梯度箭头指向亮度变深的方向;
将人脸图片划分成多个区域,统计各区域内包含的梯度箭头在各个方向上的数量;
确定数量最多的梯度箭头为所述区域的梯度箭头,得到各人脸图片的梯度直方图;
对梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片。
优选地,所述人脸图片库建立单元801还具体用于:
将梯度直方图处理成多个图片块;
将多个图片块分别与基于自编码器训练得到的多个人脸局部特征进行卷积运算和池化操作,并通过采用Softmax函数的输出层输出是否包含人脸的检测结果;
根据检测结果,筛选得到包含人脸的与梯度直方图对应的人脸图片。
优选地,第一人脸特征向量获取单元802具体用于:
基于梯度提升决策树的多个串联的树型回归器,从人脸图片中提取多个人脸特征点位置信息;
基于人脸特征点位置信息,分别生成代表人脸总体特征的各人脸图片的第一人脸特征向量,并将第一人脸特征向量与人脸图片的身份信息相关联。
优选地,第一人脸特征向量获取单元802还具体用于:
判断人脸图片中人脸的眼部和嘴部是否处于水平状态;
若否,则对人脸特征点进行仿射变换,以对人脸特征点位置信息进行校准。
优选地,第一欧式距离计算单元804具体用于:
将各第一人脸特征向量进行分布式存储;
并行计算第二人脸特征向量与第一人脸特征向量之间的第一欧式距离;
输出满足第三预设条件的第一欧式距离。
优选地,人脸图片识别单元805具体用于:
计算具有相同身份信息的人脸图片对应的第一欧式距离的平均值,得到具有相同身份信息的人脸图片的平均欧式距离;
按照从小到大的顺序对平均欧式距离进行排序;
从排在前面预设数量的平均欧式距离中,将对应出现次数最多的人脸图片识别为与待识别图片相似度最高的人脸图片,并确定人脸图片的身份信息为待识别图片的身份信息。
需要说明的是,本发明实施例提供的人脸识别装置与前述实施例所述的人脸识别方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
应当理解,以上一种人脸识别装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种人脸识别装置所实现的功能与上述实施例提供的一种人脸识别方法一一对应,对于该系统所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
本发明实施例还公开了一种计算机可读存储介质,包含计算机执行指令,计算机执行指令用于使人脸识别装置执行前述实施例中的人脸识别方法。
本发明实施例还公开了一种设备,包括处理器和存储器,其中存储器内存储有执行指令,处理器读取存储器内的执行指令用于执行前述实施例中所示的人脸识别方法。
本领域技术人员可以理解,实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤,而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种人脸识别方法,其特征在于,包括:
建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息;
获取各所述人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联;
获取待识别图片的第二人脸特征向量;
分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离;
根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
2.根据权利要求1所述的方法,其特征在于,所述建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息包括:
获取至少一张人脸图片,并将所述人脸图片存放入海量人脸图片库中,所述人脸图片包括对应的身份信息;
各所述人脸图片进行灰化处理后,对至少一张所述人脸图片进行聚类,使具有相同身份信息的人脸图片写入同一个文件夹中,所述文件夹以所述身份信息命名;
对每一文件夹中的所述人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片。
3.根据权利要求2所述的方法,其特征在于,所述对各文件夹中的人脸图片进行边缘检测,并根据边缘检测结果筛选得到清晰度满足第一预设条件的人脸图片之后,还包括:
比较每一文件夹中清晰度满足第一预设条件的人脸图片中每一像素点与相邻像素点的亮度,并在所述像素点上标示一个梯度箭头,所述梯度箭头指向亮度变深的方向;
将所述人脸图片划分成多个区域,统计各所述区域内包含的梯度箭头在各个方向上的数量;
确定数量最多的梯度箭头为所述区域的梯度箭头,得到各所述人脸图片的梯度直方图;
对所述梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片。
4.根据权利要求3所述的方法,其特征在于,所述对所述梯度直方图进行人脸检测,并根据人脸检测结果筛选得到包含人脸的人脸图片包括:
将所述梯度直方图处理成多个图片块;
将多个图片块分别与基于自编码器训练得到的多个人脸局部特征进行卷积运算和池化操作,并通过采用Softmax函数的输出层输出是否包含人脸的检测结果;
根据所述检测结果,筛选得到包含人脸的与所述梯度直方图对应的人脸图片。
5.根据权利要求4所述的方法,其特征在于,所述获取海量人脸图片库中各人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联包括:
基于梯度提升决策树的多个串联的树型回归器,从所述人脸图片中提取多个人脸特征点位置信息;
基于所述人脸特征点位置信息,分别生成代表人脸总体特征的各所述人脸图片的第一人脸特征向量,并将所述第一人脸特征向量与所述人脸图片的身份信息相关联。
6.根据权利要求5所述的方法,其特征在于,所述基于梯度提升决策树的多个串联的树型回归器,从所述人脸图像中提取多个人脸特征点位置信息之后,还包括:
判断所述人脸图片中人脸的眼部和嘴部是否处于水平状态;
若否,则对所述人脸特征点进行仿射变换,以对所述人脸特征点位置信息进行校准。
7.根据权利要求5所述的方法,其特征在于,所述获取海量人脸图片库中各人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联之后,还包括:
计算每一文件夹中各所述人脸图片的第一人脸特征向量之间的第二欧式距离;
判断所述第二欧式距离是否满足第二预设条件,并输出判断结果;
根据所述判断结果,筛选得到与文件夹具有相同身份信息的人脸图片。
8.根据权利要求1~7中任一项所述的方法,其特征在于,所述分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离包括:
将各所述第一人脸特征向量进行分布式存储;
并行计算所述第二人脸特征向量与所述第一人脸特征向量之间的第一欧式距离;
输出满足第三预设条件的所述第一欧式距离。
9.根据权利要求1~7中任一项所述的方法,其特征在于,根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息包括:
计算具有相同身份信息的人脸图片对应的第一欧式距离的平均值,得到具有相同身份信息的人脸图片的平均欧式距离;
按照从小到大的顺序对所述平均欧式距离进行排序;
从排在前面预设数量的平均欧式距离中,将对应出现次数最多的所述人脸图片识别为与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
10.一种人脸识别装置,其特征在于,包括:
人脸图片库建立单元,用于建立海量人脸图片库,并对所述海量人脸图片库中包括的至少一张人脸图片进行筛选优化,所述人脸图片经过灰化处理且包括对应的身份信息;
第一人脸特征向量获取单元,用于获取各所述人脸图片的第一人脸特征向量,所述第一人脸特征向量与所述人脸图片的身份信息相关联;
第二人脸特征向量获取单元,用于获取待识别图片的第二人脸特征向量;
第一欧式距离计算单元,用于分布式计算所述第二人脸特征向量与各所述第一人脸特征向量之间的第一欧式距离;
人脸图片识别单元,用于根据所述第一欧式距离,识别与所述待识别图片相似度最高的人脸图片,并确定所述人脸图片的身份信息为所述待识别图片的身份信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389052.1A CN111191584B (zh) | 2019-12-30 | 2019-12-30 | 一种人脸识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911389052.1A CN111191584B (zh) | 2019-12-30 | 2019-12-30 | 一种人脸识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191584A true CN111191584A (zh) | 2020-05-22 |
CN111191584B CN111191584B (zh) | 2024-02-09 |
Family
ID=70707854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911389052.1A Active CN111191584B (zh) | 2019-12-30 | 2019-12-30 | 一种人脸识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191584B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099950A (zh) * | 2020-09-15 | 2020-12-18 | 重庆电政信息科技有限公司 | 基于边缘图像处理系统的图像预处理优化方法 |
CN112347842A (zh) * | 2020-09-11 | 2021-02-09 | 博云视觉(北京)科技有限公司 | 一种基于关联图的离线人脸聚类方法 |
CN112613390A (zh) * | 2020-12-18 | 2021-04-06 | 南京甄视智能科技有限公司 | 多gpu集群并行人脸搜索方法与系统 |
CN114359767A (zh) * | 2020-09-30 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 产品数据的处理方法、装置、存储介质和处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304114A (zh) * | 1999-12-13 | 2001-07-18 | 中国科学院自动化研究所 | 基于多生物特征的身份鉴定融合方法 |
CN107423690A (zh) * | 2017-06-26 | 2017-12-01 | 广东工业大学 | 一种人脸识别方法及装置 |
CA3040971A1 (en) * | 2016-10-20 | 2018-04-26 | Applied Recognition Inc. | Face authentication to mitigate spoofing |
CN109376679A (zh) * | 2018-11-05 | 2019-02-22 | 绍兴文理学院 | 一种基于深度学习的人脸识别系统及方法 |
WO2019037346A1 (zh) * | 2017-08-25 | 2019-02-28 | 广州视源电子科技股份有限公司 | 优化人脸图片质量评价模型的方法及装置 |
WO2019204945A1 (en) * | 2018-04-26 | 2019-10-31 | C2Ro Cloud Robotics Inc. | System and method for scalable cloud-robotics based face recognition and face analysis |
-
2019
- 2019-12-30 CN CN201911389052.1A patent/CN111191584B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304114A (zh) * | 1999-12-13 | 2001-07-18 | 中国科学院自动化研究所 | 基于多生物特征的身份鉴定融合方法 |
CA3040971A1 (en) * | 2016-10-20 | 2018-04-26 | Applied Recognition Inc. | Face authentication to mitigate spoofing |
CN107423690A (zh) * | 2017-06-26 | 2017-12-01 | 广东工业大学 | 一种人脸识别方法及装置 |
WO2019037346A1 (zh) * | 2017-08-25 | 2019-02-28 | 广州视源电子科技股份有限公司 | 优化人脸图片质量评价模型的方法及装置 |
WO2019204945A1 (en) * | 2018-04-26 | 2019-10-31 | C2Ro Cloud Robotics Inc. | System and method for scalable cloud-robotics based face recognition and face analysis |
CN109376679A (zh) * | 2018-11-05 | 2019-02-22 | 绍兴文理学院 | 一种基于深度学习的人脸识别系统及方法 |
Non-Patent Citations (3)
Title |
---|
冷凯群;: "人脸图像识别系统设计" * |
孟繁静;王连明;: "视频人脸识别系统中的最佳人脸捕获" * |
王灵珍;赖惠成;王睿;: "基于多任务级联CNN与三元组损失的人脸识别" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347842A (zh) * | 2020-09-11 | 2021-02-09 | 博云视觉(北京)科技有限公司 | 一种基于关联图的离线人脸聚类方法 |
CN112347842B (zh) * | 2020-09-11 | 2024-05-24 | 博云视觉(北京)科技有限公司 | 一种基于关联图的离线人脸聚类方法 |
CN112099950A (zh) * | 2020-09-15 | 2020-12-18 | 重庆电政信息科技有限公司 | 基于边缘图像处理系统的图像预处理优化方法 |
CN112099950B (zh) * | 2020-09-15 | 2024-09-24 | 重庆电政信息科技有限公司 | 基于边缘图像处理系统的图像预处理优化方法 |
CN114359767A (zh) * | 2020-09-30 | 2022-04-15 | 阿里巴巴集团控股有限公司 | 产品数据的处理方法、装置、存储介质和处理器 |
CN112613390A (zh) * | 2020-12-18 | 2021-04-06 | 南京甄视智能科技有限公司 | 多gpu集群并行人脸搜索方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111191584B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Image copy-move forgery detection via an end-to-end deep neural network | |
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
Radenovic et al. | Deep shape matching | |
CN111191584B (zh) | 一种人脸识别方法及装置 | |
CN110852316B (zh) | 一种采用密集结构卷积网络的图像篡改检测和定位方法 | |
Salman et al. | Classification of real and fake human faces using deep learning | |
Flores et al. | Application of convolutional neural networks for static hand gestures recognition under different invariant features | |
CN106203377B (zh) | 一种煤粉尘图像识别方法 | |
CN112818862A (zh) | 基于多源线索与混合注意力的人脸篡改检测方法与系统 | |
CN113111804B (zh) | 一种人脸检测的方法、装置、电子设备及存储介质 | |
Pirrone et al. | Papy-s-net: A siamese network to match papyrus fragments | |
CN113920516B (zh) | 一种基于孪生神经网络的书法字骨架匹配方法及系统 | |
Bajić et al. | Chart classification using simplified VGG model | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN113011253B (zh) | 基于ResNeXt网络的人脸表情识别方法、装置、设备及存储介质 | |
CN116343287A (zh) | 面部表情识别、模型训练方法、装置、设备及存储介质 | |
CN116206334A (zh) | 一种野生动物识别方法和装置 | |
CN109697240A (zh) | 一种基于特征的图像检索方法及装置 | |
CN115223239A (zh) | 一种手势识别方法、系统、计算机设备以及可读存储介质 | |
Wicht et al. | Camera-based sudoku recognition with deep belief network | |
Castillo et al. | Object detection in digital documents based on machine learning algorithms | |
CN117912058A (zh) | 一种牛脸识别方法 | |
CN111242114B (zh) | 文字识别方法及装置 | |
Saini et al. | Evaluating the Performance of Deep Learning Models in Handwritten Digit Recognition | |
Fadlil et al. | Butterfly Image Identification Using Multilevel Thresholding Segmentation and Convolutional Neural Network Classification with Alexnet Architecture |
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 |