CN109791625B - 使用人工神经网络进行面部识别 - Google Patents
使用人工神经网络进行面部识别 Download PDFInfo
- Publication number
- CN109791625B CN109791625B CN201780044757.2A CN201780044757A CN109791625B CN 109791625 B CN109791625 B CN 109791625B CN 201780044757 A CN201780044757 A CN 201780044757A CN 109791625 B CN109791625 B CN 109791625B
- Authority
- CN
- China
- Prior art keywords
- layer
- output
- amount
- pixel
- group
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/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
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
-
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
通过卷积神经网络的操作,可自动进行人脸识别。卷积神经网络包含有数个层组。其中,第一、第二和第三层组各包含一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层。第四层组包含一个卷积层和一个参数修正线性单元激活函数层。
Description
技术领域
此文所述的实施例,一般都涉及信息处理,尤其涉及机器视觉和机器学习系统,并且这些实施例还将具体的方法与实际运用联系在一起。实际运用包括人脸识别。
背景
人脸识别系统正面临着越来越多的应用。其应用范围十分广泛,并且多种多样,从执法、安全或访问控制,到照片和视频的组织安排、网上约会服务以及无数其他应用。人脸识别不同于人脸检测,人脸检测的目标是从图像或视频帧中简单地检测人脸的存在,而人脸识别的目标则是从大量被识别的个体中通过图像或视频帧来识别唯一的个体。
在这方面已经运用了许多不同的计算方法,如最邻近分类器、支持向量机、人工神经网络(ANN)以及其他。所有的各种计算方法中,卷积人工神经网络表现得特别突出和优秀。
卷积人工神经网络(以下简称为“卷积神经网络(CNN)”)包括有一种可训练架构。通过某些应用,这种架构可学习到不变特征。卷积神经网络通常包含有相互交替的卷积层、非线性层和特征池化层。每一层都由元素或“神经元”组成。这些元素或神经元都含有可学习的权重和偏置。尤其是当被用于图像识别时,卷积神经网络就会使用多层小神经元集合去处理输入图像的各部分。然后将这些小神经元集合的输出平铺,以使他们的输入区域出现重叠,从而可比较好地展示出原图像。
在使用中,卷积神经网络以高分辨率抽取每张图像的局部特征,并成功地以较低的分辨率将它们组合成较复杂的特征。然后再用较高层中的不断增加的特征图来补偿失去的空间信息。
卷积层计算线性滤波器与底层感受野的内积,紧接着在输入的每个局部部分是一个非线形激活函数,然后非线性转换层在邻近的特征图之间进行修正。特征池化层通过求均值或最大值运算将局部的邻域组合在一起,以防止出现微小的失真。
长期困扰人脸识别系统设计人员的问题是,他们一方面要获得高精度性能,而另一方面又要获取好的计算效率(如处理速度)。但是,在基于卷积神经网络的人脸识别系统中,这二者在性能上是此消彼长的。要想实际解决这个问题,就必需进一步增强这二者的性能属性。
披露信息概要
本次披露的重要对象之一,就是通过卷积神经网络进行的人脸识别。卷积神经网络包含数个层组。其中,第一层组、第二层组和第三层组都包括有一个卷积层,一个最大池化层和一个参数修正线性单元激活函数层。第四层组包括一个卷积层和一个参数修正线性单元激活函数层。
另外一个披露对象,就是执行自动人脸识别的系统。该系统有执行硬件,该执行硬件包括至少一个处理器核心,一个数据储存区以及输入/输出装置。执行硬件被用于运行至少有四个层组的卷积神经网络。
第一层组被设置成用来接收包含人脸的图像,并作为其输入。该图像有多个输入通道和一个特定输入像素量。第一层组包括一个第一卷积层、一个第一最大池化层和一个第一参数修正线性单元激活函数。第一层组被设置用来产生一种输出,该输出包含一个第一预定义通道量和一个第一像素量。第一预定义通道量的数量比输入通道数量多至少80倍,而第一像素量低于输入像素量至少4.2倍。
第二层组被设置为接收第一层组的输出,并作为其输入。第二层组包括一个第二卷积层、一个第二最大池化层和一个第二参数修正线性单元激活函数。第二层组被设置为用来产生一种输出,该输出包含一个第二预定义通道量和一个第二像素量。第二预定义通道量的数量比第一预定义通道量的数量多至少3倍,而第二像素量低于第一层组输出的第一像素量至少4.2倍。
第三层组被设置为接收第二层组的输出,并作为其输入。第三层组包括一个第三卷积层、一个第三最大池化层和一个第三参数修正线性单元激活函数。第三层组被设置为用来产生一种输出,该输出包含一个第三预定义通道量和一个第三像素量。这个第三预定义通道量的数量比第二预定义通道量的数量多至少2倍,而第三像素量低于第二层组输出的第二像素量至少3.5倍。
第四层组被设置为接收第三层组的输出,并作为其输入。第四层组包括一个第四卷积层和一个第四参数修正线性单元激活函数。第四层组被设置为用来产生一种输出,该输出包含一个第四预定义通道量和一个第四像素量。第四预定义通道量的数量比第三预定义通道量多至少2倍,而第四像素数量比第三层组输出的第三像素数量少1.1倍。
附图简要说明
附图中的图形,并未完全按比例绘制。不同的视图中,相似零部件都标有类似的数字进行尺寸说明。有些实施例,不仅通过附图中的图形进行了说明,还进行了举例说明。
图1A是说明训练集构建系统的高级系统架构的框图。在实施例中,该系统构建了一个参考人脸特征矢量的可搜索数据库。
图1B是实施例人脸识别系统的高级框图。
图2是说明实施例中基于处理器的计算装置的典型系统架构的框图。
图3是说明如图2所示的计算装置的典型软硬件架构的示意图,图中展示出了软硬件组件之间的各种接口。
图4是说明计算机系统可能用到的处理装置实例的框图。计算机系统是如某些实施例中图2和图3中所展示的计算机系统。
图5是说明CPU实际组件的方块图,CPU为图4中展示的各实施例处理装置的一种。
图6是说明实施例训练模式卷积神经网络实际架构的示意图。
图7是说明实施例特征矢量生成模式卷积神经网络实际架构的示意图。
详细说明
本发明的内容包括利用卷积神经网络自动进行人脸识别。卷积神经网络已被用来构建“已知的”参考人脸数据库。如果参考人脸中包括受试者的人脸,则可能会让受试者人脸与参考人脸进行对比,以对受试者人脸进行识别。显然,有可能受试者人脸与参考人脸取自不同的人脸源图像。如同下面详细介绍的内容所示,训练集构建系统会被用于为所有参考人脸建立特征矢量,并在数据库或其他可搜索数据结构中创建索引或另行保存。人脸识别系统被用来生成受试者人脸特征矢量和进行查询,以从参考人脸中找到受试者人脸。
源图像可能来自不同的合适来源,如图像传感器捕获的数据,对受试者进行表面形貌扫描获得的数据,取自视频帧的数据,以及对受试者的印刷图像扫描而得到的、预先存在的图像文件的数据。
有些实施例被作为专用计算机系统的一部分使用。计算机系统可能就是一个实体机器,也可能被按照某种方式(如按作用或功能)分布在多个实体机器中。如果是云计算分布式模式,也可能被按照进程或线程的方式分布在多个实体机器中。在各实施例中,发明内容可能被设置成在虚拟的机器上运行,而虚拟的机器在一个或多个实体机器上运行。本领域技术人员知晓,本发明的特点可通过使用各种各样的适当机器来实现。
图1A是说明训练集构建系统的高级系统架构100的框图。在实施例中,此构建系统构建了一个参考人脸特征矢量的可搜索数据库。特征矢量是表示对象各种参数的n维数值矢量值,代表多种对象参数,在本文中,指一个参考人脸或一个受试者人脸。在如前所述的一个典型实施例中,训练装置包括人脸检测器110,卷积神经网络120和搜索索引编辑器130。
人脸检测器110被编程或设置用来从大量参考图像105中的每一张图像中分析视觉特征,从该图像中检测一个或多个人脸。人脸检测器110的输出是一组大小均匀的个人人脸图像115。人脸图像115通过对参考图像105的修剪、调整大小、格式转换或这些操作的组合等被创建出来。参考图像105与人脸图像115之间的比例关系,可能是1:1,也可能不是。例如,有这样的情况,一张参考图像105包含有多于一人的人脸,或人脸检测器110在指定的参考图像105中检测不到任何人脸。在典型的实施例中,人脸图像115都是80x80像素的图像,并通过三个通道(如红绿蓝)表示。
每一张人脸图像115都被送到卷积神经网络120。在下文,将会对其进行详细介绍。整体看来,卷积神经网络120对每张人脸图像115都进行处理并生成特征矢量集125的相应特征矢量。特征矢量集125可被储存在可搜索数据库135中。在本例中,可搜索数据库是代表任意合适的可搜索数据结构。
在有关实施例中,搜索索引编辑器130被编程或被设置为用来读取特征矢量集125的每一个特征矢量,并创建一个搜索索引。在一实例中,搜索索引编辑器130计算每个特征矢量的哈希或摘要,并将哈希集合储存在快速检索的索引中。在另一个实施例中,搜索索引编辑器130生成一个特征矢量集125的二进制搜索树或它们各自的哈希。
图1B是一个实施例的人脸识别系统150高级框图。人脸识别系统150包括人脸检测器160,一卷积神经网络170,搜索引擎180和比较器190。人脸检测器160与人脸检测器110相似。不同的是,在使用中,人脸检测器160处理参考图像155,并生成受试者人脸图像165。生成的受试者人脸图像165与人脸图像115在大小和格式方面是一样的。
受试者人脸图像165被传送到卷积神经网络170。卷积神经网络170被编程或被设置为用来生成与受试者人脸图像165相对应的受试者特征矢量175。受试者特征矢量175被送到搜索引擎180,在可搜索数据库135中生成一个适当的搜索查询,从特征矢量集125中查询一个或多个特征矢量。特征矢量集125与受试者特征矢量175相匹配或与受试者特征矢量175相似。在某一实例中,如果没有找到完全相同的匹配,则查询返回一个与受试者特征矢量最相似的特征矢量的预定义量k,k可以是小于数据库135中特征矢量数量的任意正整数值,但k通常为一个小的整数值。例如,k可以是1、2、3等。
比较器190被编程或被设置为用来为每个查询返回的特征矢量生成一个相似性度量,并且将这个相似性度量与预定义的相似性阈值进行比较。在某一典型实施例中,相似性度量是一个欧几里得距离度量。但其他相似度度量可用于其他各种实施例中。例如,特征矢量的某些特征可以经过权重增加或减小其对相似性计算的影响。在有关实施例中,阈值被动态设置成满足距离数据库135最近的第k个特征矢量。更加补充的是,例如,如果欧几里得距离被用作相似性度量,并且通过将距离阈值设置为仅低于第(k+1)距离值,则这种情况可以被实现。比较器190的输出值可以是相似性标准的真/假二值,相似性标准的条件可被或未被满足。
人脸识别系统的准确性取决于可区分受试者面部与其他人面部的特征矢量的质量。换句话说,特征矢量应该是这样的:指定受试者的特征矢量vi与该受试者特征矢量vj之间的距离小于vi与非此受试者的其他个人的特征矢量vk之间的距离。
在一个典型实施例中,系统100和系统150在一个共同计算平台上被实现。在另一个典型实施例中,系统100和系统150分别在不同的共同计算平台上被实现。在一个相关实施例中,训练集构建系统100和人脸识别系统150分别相互独立运行。例如,系统100可通过增加或减少特征矢量来修改可搜索数据库135。又如,人脸识别系统100在可搜索数据库135中进行搜索。
在各实施例中,系统100和系统150的组件被作为引擎、电路、组件或模块实现。我们知道,这些术语都可互换使用。但在这里,为了保持一致性,都成为引擎。引擎可以是与一个或多个处理器联合使用的硬件、软件或固件,以用于执行此处所述的运算。引擎可以是硬件引擎。硬件引擎可被认为是可进行指定的运算和以一定方式设置或排列的有形实体。例如,电路可以作为以一定的方式排列(如内部排列或相对于外部实体,如其他电路的排列)的引擎。又例如,一个或多个硬件处理器的全部或一部分,可通过固件或软件(如指令、应用部分或应用程序)作为引擎设置。此引擎可用来进行指定的运算。在示例中,软件可驻留在机器可读介质中。在示例中,当引擎的底层硬件执行软件时,软件会使硬件去执行特定的运算。因此,术语硬件引擎被认为包括有形的实体,即是物理构造的实体,或特别配置(如电路的)的实体,或临时(如短时间)配置的(如编程方式配置)、以指定方式运行或执行此处描述的全部或部分运算的实体。
关于引擎临时设置的例子,并不是每个引擎在任何时候都需要被具体化。比如,如果引擎包含通用硬件处理器内核,并通过使用软件设置,则这个通用硬件处理器内核可在不同时间被设置成不同引擎。软件可对硬件处理器内核进行相应设置,例如,使其在一段时间内为某种引擎,而在另外一段时间内为另外一种不同的引擎。
图2是说明实施例中通用机器形式的计算机系统的框图。通用机器可通过软件或固件指令将其设置专用机器,然后在实施例中进行人脸识别操作。在某些实施例中,根据一种或多种具体算法在计算机系统200内编程,通过计算机系统执行这些编程的程序,就使得通用机器变成了专用机器。在联网的情况下,计算机系统200可在服务器-客户端网络环境下作为服务器或客户端使用,也可以在对等(分布式)网络环境下作为对等机器使用。计算机系统200代表一种典型的架构,系统100和系统150可在这种架构中实现。
作为实例的计算机系统200包括至少一个处理器202(如,一个中央处理单元(CPU),一个图形处理单元(GPU),或此二者,处理器内核,计算节点等),一块主存204,一块静态内存206,它们彼此通过连接部分208(如总线)相互连通。计算机系统200还可进一步包括一个视频显示单元210,一个字母数字输入装置212(如键盘)以及一个用户接口(UI)导航装置214(如鼠标)。在某一实施例中,视频显示单元210,输入装置212和用户导航装置214都被合并到一个触摸屏上。计算机系统200还可额外包括一个储存装置216(如驱动单元),一个信号发生装置218(如一个扬声器),一个网络接口装置(NID)220以及一个或多个传感器(未示出),传感器例如全球定位系统(GPS)传感器,罗盘,加速计以及其他传感器。
储存装置216包括一个机器可读媒介222,此媒介上储存有一组或多组数据结构和指令224(如软件),这些数据结构和指令通过此处描述的一种或多种的方法或功能来体现或使用。在计算机系统200执行这些指令224期间,这些指令224可全部或至少部分驻留在主存204,静态内存206,和/或处理器202中,并且主存204,静态内存206和处理器202也构成了机器可读媒介。
虽然在典型实施例中机器可读媒介222被描述成单一媒介,但是“机器可读媒介”这一术语可指存储单一或多个指令224的单一媒介或多种媒介(如集中式或分布式数据库,和/或相关的高速缓存和服务器)。“机器可读媒介”这一术语是包括任何可储存、编码或携带机器可执行指令的有形媒介,并且使机器能执行本公开的一种或多种方法的有形媒介,或能够储存、编码或携带与这些指令相关的或被这些指令执行的数据结构的有形媒介。“机器可读媒介”这一术语所指范围,包括但不限于固态内存以及光磁媒介。例如,机器可读媒介的具体应用例子中包括非易失性储存器,其中包括但不限于半导体储存装置(如可擦除编程只读存储器(EPROM),电可擦除编程只读存储器(EEPROM)),闪存装置,磁盘(如内置硬盘和移动硬盘),磁光盘片,只读光盘驱动器和只读DVD光盘驱动器。
网络接口装置220可取任何适当的外形。在这种实施例中,网络接口装置220被做成了网络接口卡(NIC)的形式,通过连接件208与处理器202连接。在某一实例中,连接件208包括一个PCI Express(PCIe)总线,PCI Express总线包括一个插槽,网络接口卡可插入此插槽并可取出。在另一个实施例中,网络接口装置220是一个网络接口电路,与本地连接电路、处理器接口电路、其他输入/输出电路、储存器电路、存储装置与周边控制器电路等一起被布设在主板上。在另外一个实施例中,网络接口装置220是一个周边装置,它通过一个周边输入/输出端口,如通用串行总线(USB)端口,与连接件208相连。网络接口装置220通过发送媒介226发送和接收数据。此发送和接收可以是有线的,也可以是无线的(如无线电频率、红外线或可见光光谱等),还可以是光纤的,等等。
图3是说明如图2中所示的计算装置的典型硬件软件架构的示意图,图中显示了硬件组件与软件组件之间的各种接口。如HW所示的硬件组件被放在分隔线下,而如SW所示的软件组件被安排在分隔线之上。从硬件方面看,处理装置302(可能包括一个或多个微处理器、数字信号处理器等,并且每个处理器都有一个或多个处理器内核)与内存管理装置304和互联系统306连接。内存管理装置304提供正被执行的过程使用的虚拟内存与实体内存之间的映射。内存管理装置304可以是一个中央处理单元中不可缺少的部分,该中央处理单元包括处理装置302。
互联系统306包括一个基架,如内存、数据、控制线以及输入/输出装置的接口(如PCI、USB等)等。内存308(如动态随机存取存储器(DRAM))和非易失性存储器309,如闪存(如电可擦只读存储器(EEPROM),NAND型闪存,NOR型闪存等),都通过内存控制器310与内存管理装置304以及互联系统306连接。在某些实施例中,这种架构可支持通过周边装置的直接存储器(DMA)存取。输入/输出装置,包括视频和音频适配器、非易失性储存器,外部连接的周边装置(如USB、蓝牙等)等,和网络接口装置,如通过Wi-Fi或LTE系列接口的通信装置,被一起用输入/输出装置和网络装置312来表示。它们通过相应的输入/输出控制器314与互联系统306连接。
从软件方面看,预操作系统(pre-OS)环境316,在初始系统被启动时被执行,并且它负责初始化操作系统的启动部分。预操作系统环境316的一个传统的实例就是操作系统的基本输入/输出系统(BIOS)。在现在的操作系统中,执行的是一种统一可扩展固件接口(UEFI)。预操作系统环境316负责初始化操作系统的启动,并且根据本发明某些方面的特点为嵌入的应用程序提供执行环境。
操作系统(OS)318提供一个内核。这个内核控制硬件装置,控制在内存中管理程序的内存存取,协调任务和强化多任务功能,组织保存数据,分配内存空间及其他资源,将程序二进制代码装入内存,启动应用程序的执行,然后程序使用户和硬件装置之间发生互动,并检测并响应各种已定义的中断。另外,操作系统318提供设备驱动程序和各种各样的公共服务,如与周边装置及网络的连接便利化服务。这些设备驱动程序和各种各样的公共服务,使得应用程序被抽象化,应用程序不再需要负责应对这些公共操作的细节。操作系统318还提供一个图形用户界面(GUI),该界面会使得通过周边装置(如监视器、键盘、鼠标、麦克风、视频摄像头、触摸屏等)与用户的互动变得更容易。
运行时系统320实现了部分执行模型,包括这样的一些操作:在函数调用前将参数推入堆栈,磁盘输入/输出行为以及与并行执行相关的行为。运行时系统320还提供一些支持服务,如类型检查、调试,以及代码生成与优化。
函数库322包括程序函数的集合,这些函数为应用程序提供进一步抽象化服务。函数库322包括共享函数库和动态链接函数库(DLLs)等。例如,函数库322可以是操作系统318或运行时系统320不可缺少的部分,或也可以是增加的功能,或者甚至是远程托管的部分。函数库322定义应用程序接口(API)。通过这些接口,应用程序324可进行各种各样的函数调用以调用操作系统318提供的服务。应用程序324是为用户执行有用任务的应用程序,这些任务不是低级系统程序所执行的任务,低级系统程序协调计算装置本身的基础可操作性。
图4是说明某些实施例中处理装置302的框图。在某些实施例中,一个这种装置或多个这种装置的组合可构成处理器120。中央处理单元410可包括一个或多个处理核心412,而每个处理核心根据处理器的具体架构,有一个或多个算数逻辑单元(ALU),取指令单元,指令解码单元,控制单元,寄存器,数据堆栈指针,程序计数器以及其他基本组件。作为说明实例,中央处理单元410可以是一个x86型的处理器。处理装置302可包含一个图形处理单元(GPU)414。在这些实施例中,图形处理单元414可能是一个专门的协处理器。这个专门的协处理器会为中央处理单元410卸载某些计算密集型的运算,尤其是那些与图形渲染相关的运算。很显然,中央处理单元410与图形处理单元414通常协同工作,共享内存资源的存取,输入/输出通道等。
在某些实施例中,处理装置302可能包括看管者处理器416。看管者处理器416一般不会像中央处理单元410和图形处理单元414那样参加处理工作、执行软件代码。在某些实施例中,看管者处理器416不与中央处理单元410和图形处理单元414共享内存空间,因此它不会被安排来运行操作系统或应用程序。但是,看管者处理器416可执行专门的固件程序,这些固件程序支持中央处理单元410,图形处理单元414和计算机系统中其他组件的技术运行。在某些实施例中,看管者处理器416被作为微控制器装置使用,它可以跟中央处理单元410一起以实体形态存在于同一个集成电路晶粒中,或者也可以以实体形态存在于另外的集成电路晶粒中。看管者处理器416也可以包括一套专门的输入/输出设备以帮助其与外部实体进行通信。在某种类型的实施例中,看管者处理器416通过使用管理引擎(ME)或平台安全处理器(PSP)来实现。输入/输出(I/O)控制器415协调各处理装置410、414和416之间的信息流以及与外部电路(如互联系统)的信息流。
图5是说明各种实施例中中央处理单元410的实例组件的框图。如图所示,中央处理单元410包括一个或多个核心502,高速缓存504和CPU控制器506,它协调核心502的互操作性和任务分配,提供接口以促进中央处理单元410各种内部组件间的数据流通以及与外部组件(如内存总线或互联系统)之间的数据流通。
中央处理单元410包含有非易失性存储器508(如闪存、EEPROM等),存储器508被用来储存部分基础性代码,如初始化代码、认证转换(AC)代码以及微代码。另外,中央处理单元410还可与外部(如独立在集成电路上的)非易失性存储器装置510连接。存储器510是储存初始化代码启动的基础性代码的,如系统的BIOS或UEFI代码。
本发明的特点之一是,卷积神经网络120和卷积神经网络170可被设置成训练模式,和特征矢量生成模式。在实施例中,训练模式和特征矢量生成模式具有不同的卷积神经网络架构。
图6是说明卷积神经网络120和卷积神经网络170在其各自的训练模式下的典型构架的示意图。图7是说明卷积神经网络120和卷积神经网络170在其各自的特征矢量生成模式下的典型构架的示意图。在下面的讨论中,卷积神经网络架构可能包含有卷积层、非线性(如激活函数)层、池化层、全连接层、正则化层和损失层。其中每一层在卷积神经网络技术中通常都被知晓,并且掌握相关技术的人员都了解每一层的含义。因此,对于每一层的含义,在此就不再进行详细赘述了。例如,关于每层的工作原理,见余定军等.卷积神经网络的混合池化,RSKT 2014,lanai.8818第364-375页(2014),孙意.从预测10,000个类别深度学习人脸表现,IEEE计算机视觉与模式识别会议论文集,第1891-1898页(2014),吴祥.学习稳定的深度人脸表现,arViv:1507.04844(2015),以及Hinton,G.E.等人.通过防止特征检测器共同适应改进神经网络.,arXiv:1207.0580(2012),都有叙述。以上这些文章,都已被列入后面的参考文献中。
在某些实施例中,卷积层包括几组带W参数的滤波器,W参数是一组3维维度张量:K、W和H。每个滤波器通过单独使用如下的二维卷积公式被用于层中的输入:
在这个实例中,第k个滤波器的输入应用的结果可使用如下公式进行计算:
hij k=max{0(Wk*x)ij+bk}.
在某些实施例中,非线性层被设置为使用按下式定义的参数修正线性单元(PReLU)激活函数:
在某些实施例中,池化层被设置为按照下式进行最大池化操作以降低空间维度:
mjk=max{(m-1)jk,(m-1)j-1,k,(m-1)j,k-1,(m-1)j-1,k-1}.
在某些实施例中,全连接层进行高级推理,并且全连接层的神经元与上一层所有激活函数全链接。这些激活函数通过矩阵乘法进行计算,然后按照下式进行偏差补偿:
fci=(Wi·x)+bi
代表上一层输出和W参数矩阵的矢量积的结果。
在某些实施例中,正则化层使用dropout操作,随机将每个训练样本的隐藏层中一半激活函数设置为零。通过这样做,隐藏单元不会共同相互适应,并且它们会学习更好的输入表示以进行较好的概括。Hinton等人所著的《超级(Supra)》中对dropout操作实例进行了描述。
在某些实施例中,损失层被作为softmax(带损失)函数使用,用于预测K个相互排斥的类中的单独类。
现在转到图6。图6中显示了一种典型的训练模式的卷积神经网络架构。在实施例中,这种索引和训练模式架构被用于人工神经网络120(图1A)。这种架构包括四组卷积-最大池化-PReLU层,如602、604、606和608所示。输入620被送到卷积层CONV1。在实例中,输入620包含规范的(如经修剪的,重新调整尺寸的等)人脸图像,这个图像是在人脸检测后生成的。这个图像可以是带三个通道(如红、绿、蓝)的位图格式。CONV1层将一个第一滤波器与图像卷在一起,以生成一个带256个通道的层输出。MAXPOOL1层生成一个规模较小的输出,这个输出大约是CONV1接收的输入的四分之一。
在激活函数PRELU1被使用以后,卷积层CONV2利用一个滤波器生成一个带768个通道的输出。MAXPOOL2层将CONV2层的输出减小到其初始规模的四分之一,然后将输出送至PRELU2。
卷积层CONV3接收来自PRELU2的输出,然后通过滤波器生成1,536个通道。MAXPOOL3层将输出规模减小约四倍。然后再使用激活函数PRELU3,如图所示。其输出被送到卷积层CONV4,这个卷积层CONV4利用滤波器生成大小为3,072的输出,然后经PRE PRELU4的输出被送到一个层组610。在这个层组610中,全连接层FACEN生成一个具有160个值的特征矢量输出。操作接下来是,PRELU5层和dropout操作DROP。全连接层FC6生成一个大小为198,397的特征矢量。最后使用SOFTMAX层。
为了训练目的,误差需要反向传播,需要使用“反向传播”技术。损失函数,按照下面的表达式进行了定义:
在一个典型的实施例中,CONV1层的输入是一张带三个通道的80x80像素的图像。CONV1层使用一个输入步长为1的4x4的滤波器,以生成一个带256个通道的77x77像素的输出。MAXPOOL1使用一个步长为2的2x2的滤波器,以生成带256个通道的39x39像素的输出。卷积层CONV2使用一个步长为1的3x3滤波器,以生成带768个通道的37x37像素的输出。MAXPOOL2使用一个步长为2的2x2滤波器,以生成带768个通道的19x19像素的输出。卷积层CONV3使用一个步长为1的3x3滤波器,以生成带1536个通道的17x17像素的输出。MAXPOOL3使用一个步长为2的2x2滤波器,以生成带3072个通道的9x9像素的输出。卷积层CONV4使用一个步长为1的2x2滤波器,以生成带3072个通道的8x8像素的输出。
全连接层FACEN生成一个160元素的特征矢量。这个160元素的特征矢量,在图1A中被表示为特征矢量125,并且被储存在可搜索数据库135中,如搜索索引所示。
余下的层都被用于卷积神经网络的训练。全连接层FC6产生一个大小为198,397的输出。
在相关的实施例中,从卷积神经网络120(例如用于卷积层的滤波器)的训练中获得的训练结果被用于卷积神经网络170。
图7显示出实施例中特征矢量生成模式下的卷积神经网络架构。卷积/最大池化/PReLU1层组702、704、706和708的结构本质上与上面图6中展示的层组602、604、606和608的结构相同。但特征矢量生成模式下的架构有所不同:在PRELU4层之后,710处的全连接层FACEN被用来生成一个大小为160个值特征矢量。在某个相关实施例中,这种卷积神经网络架构被当作卷积神经网络170(图1B)使用。而在另一个相关实施例中,图7中的架构省略了卷积神经网络的训练。
其他说明与实例
实例1是一个自动人脸识别系统。这个系统的构成如下:执行硬件包括至少一个处理器核心、一个数据存储区以及输入/输出设备,被设置为实现一个卷积神经网络的执行硬件包括:一个第一层组,这个层组被设置为接收一张含有一个人脸的图像,并作为其输入;图像具有多个输入通道和一个输入像素量,所述第一层组包括一个第一卷积层、一个第一最大池化层和一个第一参数修正线性单元激活函数,和所述第一层组被设置用来产生一种输出,所述输出包含一个第一预定义通道量和一个第一像素量,第一预定义通道量的数量比输入通道的数量多至少80倍,所述第一像素量的数量低于输入像素量至少4.2倍;第二层组被设置为接收第一层组的输出,并作为其输入;第二层组包括一个第二卷积层、一个第二最大池化层和一个第二参数修正线性单元激活函数,所述第二层组被设置用来产生一种输出,这种输出包含一个第二预定义通道量和一个第二像素量,所述第二预定义通道量的数量比第一预定义通道量的数量多至少3倍,所述第二像素量的数量低于第一层组输出的第一像素量至少4.2倍;第三层组被设置为接收第二层组的输出,并作为其输入;所述第三层组包括一个第三卷积层、一个第三最大池化层和一个第三参数修正线性单元激活函数;所述第三层组被设置用来产生一种输出,这种输出包含一个第三预定义通道量和一个第三像素量,所述第三预定义通道量的数量比第二预定义通道量的数量多至少2倍,所述第三像素量的数量低于第二层组输出的第二像素量至少3.5倍;第四层组被设置为接收第三层组的输出,并将其为输入;所述第四层组包括一个第四卷积层和一个第四参数修正线性单元激活函数;所述第四层组被设置用来产生一种输出,这种输出包含一个第四预定义通道量和一个第四像素量,所述第四预定义通道量的数量比第三预定义通道量的数量多至少2倍,所述第四像素量的数量比第三层组输出的第三像素量少1.1倍。
在实例2中,选择性地包括了实例1的主要部分:所述卷积神经网络进一步包括一个第五层组,所述第五层组包括一个第一全连接层,这个第一全连接层产生包含代表图像的特征矢量的输出;和所述系统进一步包括一个可搜索数据库,所述可搜索数据库包含有特征矢量,以及多个其他的、分别代表其他人脸图像的特征矢量。
在实例3中,选择性地包括了实例2的主要部分,包括一个搜索索引生成器,此搜索索引生成器被设置为在可搜索数据库中创建特征矢量的搜索索引。
在实例4中,选择性地包括了实例2和实例3的任何一个或多个主要部分,还包括一个搜索引擎和一个比较器,此搜索引擎被设置为在可搜索数据库中针对目标特征矢量的创建一个查询。此比较器被设置为在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值,并且将这个相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
在实例5中,选择性地包括了实例2、实例3和实例4的任何一个或多个题,还包括一个第五层组,这个第五层组包括一个第五参数修正线性单元激活函数,一个dropout操作,一个第二全连接层和一个softmax层。
在实例6中,选择性地包括了实例2、实例3、实例4和实例5的任何一个或多个主要部分,还包括一个卷积神经网络,在训练集构建设置中和人脸识别设置中,均可对此卷积神经网络进行设置,所述训练集构建设置中包括训练部分,而所述人脸识别设置中不包括训练部分。
在实例7中,选择性地包括了实例6的主要部分,还包括一个卷积神经网络的训练集构建设置,所述训练集构建设置成用于为可搜索数据库生成参考特征矢量。
在实例8中,选择性地包括了实例1、实例2、实例3、实例4、实例5、实例6和实例7的任何一个或多个主要部分,还包括一个第一卷积层、一个第二卷积层、一个第三卷积层和一个第四卷积层;第一卷积层被设置为产生一种256个通道的输出;第二卷积层被设置为产生一种768个通道的输出;第三卷积层被设置为产生一种1536个通道的输出;第四卷积层被设置为产生一种3072个通道的输出。
在实例9中,选择性地包括了实例1、实例2、实例3、实例4、实例5、实例6、实例7和实例8的任何一个或多个主要部分,还包括一个对第一层组的输入部分,这个输入部分包括经过剪切的人脸图像。
在实例10中,选择性地包括了实例1、实例2、实例3、实例4、实例5、实例6、实例7、实例8和实例9的任何一个或多个主要部分,包括:一个第一卷积层、一个第一最大池化层、一个第二卷积层、一个第二最大池化层、一个第三卷积层、一个第三最大池化层和一个第四卷积层;第一卷积层被设置为使用一个输入步长为1的4x4的滤波器,以生成一个带256个通道的77x77像素的输出;第一最大池化层被设置为使用一个步长为2的2x2的滤波器,以生成带256个通道的39x39的输出;第二卷积层被设置为使用一个步长为1的3x3滤波器,以生成带768个通道的37x37像素的输出;第二最大池化层被设置为使用一个步长为2的2x2滤波器,以生成带768个通道的19x19像素的输出;第三卷积层被设置为使用一个步长为1的3x3滤波器,以生成带1536个通道的17x17像素的输出;第三最大池化层被设置为使用一个步长为2的2x2滤波器,以生成带3072个通道的9x9像素的输出;第四卷积层被设置为使用一个步长为1的2x2滤波器,以生成带3072个通道的8x8像素的输出。
在实例11中,选择性地包括了实例1、实例2、实例3、实例4、实例5、实例6、实例7、实例8、实例9和实例10的任何一个或多个主要部分,包括一个人脸检测器,该人脸检测器被设置为分析捕捉到的图像,检查图像是否存在人脸的视觉特征表示,和产生一个输出,将该输出作为含有人脸的图像送到卷积神经网络,作为卷积神经网络的输入。
实例12是自动人脸识别的机器实现方法,此方法包括:通过计算平台接收包含人脸的图像,该图像有多个通道和一个输入像素量;通过卷积神经网络的一个第一层组处理图像,卷积神经网络包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,执行于计算平台上,以产生一个第一层输出,第一层输出包括一个第一预定义通道量和一个第一像素量,第一预定义通道量比输入通道量高至少80倍,这个第一像素量低于输入像素量至少4.2倍;通过卷积神经网络的一个第二层组处理第一层的输出,卷积神经网络的第二层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,执行于计算平台上,以产生一个第二层输出,第二层输出包括一个第二预定义通道量和一个第二像素量,这个第二预定义通道量多于第一预定义通道量至少3倍,这个第二像素量低于第一层输出的第一像素量至少4.2倍;通过卷积神经网络的一个第三层组处理第二层的输出,卷积神经网络的第三层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,执行于计算平台上,以产生一个第三层输出;第三层输出包括一个第三预定义通道量和一个第三像素量,而这个第三预定义通道量多于第二预定义通道量至少2倍,这个第三像素量低于第二层输出的第二像素量至少3.5倍;通过卷积神经网络的一个第四层组处理第三层的输出,卷积神经网络的第四层组包括一个卷积层和一个参数修正线性单元激活函数层以产生一个第四层输出;第四层输出包括一个第四预定义通道量和一个第四像素量,而这个第四预定义通道量多于第三预定义通道量至少2倍,这个第四像素量低于第三层输出的第三像素量至少1.1倍。
在实例13中,选择性地包括了实例12的主要部分,通过第五层组处理第四层的输出,第五层组包括一个第一全连接层,该第一全连接层产生含有代表图像的特征矢量的输出;然后将特征矢量储存到一个可搜索数据库中,这个可搜索数据库包括很多分别代表其他人脸图像的其他特征矢量。
在实例14中,选择性地包括了实例13的主要部分,在可搜索数据库中针对目标特征矢量创建一个查询,并且在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值,还将这个相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
在实例15中,选择性地包括了实例13和实例14的任何一个或多个主要部分,第五层组包括一个第五参数修正线性单元激活函数、一个dropout操作、一个第二全连接层和一个softmax层。
在实例16中,选择性地包括了实例13、实例14和实例15的任何一个或多个主要部分,在训练集构建设置中和人脸识别设置中,均可对此卷积神经网络进行设置,此训练集构建设置中包括训练部分,而人脸识别设置中不包括训练部分。
实例17是一种含有指令的非暂时性机器可读媒介,包括以下指令:当指令在计算平台上被执行时,指令使计算平台执行自动人脸识别操作;操作包括:通过计算平台接收包含人脸的图像,图像有多个通道和一个输入像素量;通过卷积神经网络的一个第一层组处理图像,卷积神经网络的第一层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第一层输出;第一层输出包括一个第一预定义通道量和一个第一像素量,这个第一预定义通道量比输入通道量高至少80倍,这个第一像素量低于输入像素量至少4.2倍;通过卷积神经网络的一个第二层组处理第一层的输出,卷积神经网络的第二层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第二层输出;第二层输出包括一个第二预定义通道量和一个第二像素量,而这个第二预定义通道量多于第一预定义通道量至少3倍,这个第二像素量低于第一层输出的第一像素量至少4.2倍;通过卷积神经网络的一个第三层组处理第二层的输出,卷积神经网络的第三层包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第三层输出;第三层输出包括一个第三预定义通道量和一个第三像素量,而这个第三预定义通道量多于第二预定义通道量至少2倍,这个第三像素量低于第二层输出的第二像素量至少3.5倍;通过卷积神经网络的一个第四层组处理第三层的输出,卷积神经网络的第四层组包括一个卷积层和一个参数修正线性单元激活函数层,以产生一个第四层输出;第四层输出包括一个第四预定义通道量和一个第四像素量,而这个第四预定义通道量多于第三预定义通道量至少2倍,第四像素量低于第三层输出的第三像素量至少1.1倍。
在实例18中,选择性地包括了实例17的主要部分,实例18的操作进一步包括:通过第五层组处理第四层输出,第五层组包括一个第一全连接层,这个第一全连接层产生一个输出,该输出含有代表图像的特征矢量;然后将特征矢量储存到一个可搜索数据库中,这个可搜索数据库还包括有很多其他的代表人脸图像的其他特征矢量。
在实例19中,选择性地包括了实例18的主要部分,实例19的操作包括:在可搜索数据库中针对目标特征矢量的创建一个查询;和在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值,并且将这个相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
在实例20中,选择性地包括了实例18和实例19的任何一个或多个主要部分,第五层组包括一个第五参数修正线性单元激活函数、一个dropout操作、一个第二全连接层和一个softmax层。
以上的详细介绍包括对附图的参考,参考附图也属于此详细介绍的一个部分。附图通过图示说明可实施的具体实施例。这些实施例在这里也被称作“实例”。这些实例可能包括图示和描述以外的内容。但是,预期的内容是包括图示和描述内容的实例。此外,预期的内容是,针对图示的或描述的一种具体实例(或实例的一个或多个方面)或其他实例(或实例的一个或多个方面)对图示或描述的内容(或内容的一个或多个方面)进行组合或排列的实例。
本文件中所提及的出版物、专利和专利文件,都被完整地按照条目依次收录到了参考文献中。如果本文件中所述的用法与收录到参考文献中的文件中所述的用法不一致,则参考文献中的文件所述用法是本文件所述用法的补充。如果这种不一致导致不可协调的矛盾,则以本文件所述的用法为准。
在本文件中所使用的“一个”,是专利文件的普通用法,包括一个或一个以上,但不包括“至少一个”或“一个或多个”这样的其他用法。如无其他特别说明,本文件中所使用的“或”是指无排他性的或。例如,“A或B”是指“A,但非B”、“B,但非A”以及“A和B”。在本文件的权利要求中,用语“including”和“in which”被作为一般意义的英语使用,它们的意思分别与“comprising”和“wherein”的意思相同。另外,在后面的权利要求中,用语“including”和“comprising”都是开放式的。也就是说,一个系统、装置、物品或过程不仅包括列在其后内容,还包括其他内容,并且这些内容被视为仍在权利要求范围内。此外,在后面的权利要求中,用语“第一”、“第二”和“第三”等只是被用作标签,并不表示被标上对象的顺序编号。
以上的描述和说明都是说明性的,而非限制性的。例如,上述实例(或实例的一个或多个方面)可以与其他实例联合使用。其他实施例也可以使用,如重温上述描述后通过基本技能之一使用其他的实施例。摘要可以方便读者快速了解技术公开的性质。它不是用来解释或限定权利要求的范围或内容的。另外,以上详细介绍中的各种特征可进行分组以使技术公开显得更有条理。但是,由于实施例可能只体现已提及的特征的一个部分,权利要求可能不会提及每一个公开的特征细节。实施例可能包括的特征少于技术公开的特征。因此,以下权利要求被包括进了详细描述部分,并且权利要求仍被当作独立的实施例使用。此处公开的实施例范围和实施例同等物的全部范围,根据后面的权利要求进行确定,并以权利要求作为标题。
Claims (17)
1.一个自动人脸识别系统,其特征在于:所述系统包括:
含有至少一个处理器核心、一个数据存储区以及输入/输出设备的执行硬件,所述执行硬件被设置为实现一个卷积神经网络;所述卷积神经网络包括:
一个第一层组被设置为用来接收包含人脸的图像,并作为第一输入;所述图像有多个输入通道和一个输入像素量;所述第一层组包括一个第一卷积层、一个第一最大池化层和一个第一参数修正线性单元激活函数,并且第一层组被设置用来产生一种输出,所述输出包含一个第一预定义通道量和一个第一像素量,所述第一预定义通道量比输入通道数量多至少80倍,所述像素量低于输入像素量至少4.2倍;
一个第二层组被设置为接收第一层组的输出,并作为第二输入;所述第二层组包括一个第二卷积层、一个第二最大池化层和一个第二参数修正线性单元激活函数;所述第二层组被设置用来产生一种输出,所述输出包含一个第二预定义通道量和一个第二像素量,所述第二预定义通道量比第一预定义通道量多至少3倍,所述第二像素量低于第一层组输出的第一像素量至少4.2倍;
一个第三层组被设置为接收第二层组的输出,并作为第三输入,所述第三层组包括一个第三卷积层、一个第三最大池化层和一个第三参数修正线性单元激活函数,所述第三层组被设置用来产生一种输出,所述输出包含一个第三预定义通道量和一个第三像素量,所述第三预定义通道量比第二预定义通道量多至少2倍,所述第三像素量低于第二层组输出的第二像素量至少3.5倍;
一个第四层组被设置为接收第三层组的输出,并作为第四输入,所述第四层组包括一个第四卷积层和一个第四参数修正线性单元激活函数,所述第四层组被设置用来产生一种输出,这种输出包含一个第四预定义通道量和一个第四像素量,所述第四预定义通道量比第三预定义通道量多至少2倍,所述第四像素量比第三层组输出的第三像素量少1.1倍;
一个第五层组,所述第五层组包括一个第一全连接层,所述第一全连接层产生一个包含代表图像的特征矢量的输出,并且
所述系统进一步包括一个可搜索数据库,所述可搜索数据库包含有特征矢量,以及多个分别代表其他人脸图像的其他特征矢量。
2.根据权利要求1所述的系统,其特征在于:进一步包括:
一个搜索索引编辑器,所述搜索索引编辑器被设置为在可搜索数据库中特征矢量的创建一个搜索索引。
3.根据权利要求1所述的系统,其特征在于:所述系统进一步包括:
一个搜索引擎,所述搜索引擎被设置为在可搜索数据库中针对目标特征矢量的创建一个查询;以及
一个比较器,所述比较器被设置为在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值,并且将这个相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
4.根据权利要求1所述的系统,其特征在于:所述第五层组包括一个第五参数修正线性单元激活函数,一个dropout操作,一个第二全连接层和一个softmax层。
5.根据权利要求1所述的系统,其特征在于:所述卷积神经网络在训练集构建设置中和人脸识别设置中是可设置的,所述训练集构建设置包括训练部分,而人脸识别设置中不包括训练部分。
6.根据权利要求5所述的系统,其特征在于:所述卷积神经网络的训练集构建设置被用于为可搜索数据库生成参考特征矢量。
7.根据权利要求1所述的系统,其特征在于:
第一卷积层被设置为产生一个256个通道的输出;
第二卷积层被设置为产生一个768个通道的输出;
第三卷积层被设置为产生一个1536个通道的输出;以及
第四卷积层被设置为产生一个3072个通道的输出。
8.根据权利要求1所述的系统,其特征在于:所述第一层组的输入包括经过修剪的人脸图像。
9.根据权利要求1所述的系统,其特征在于:
第一卷积层被设置为使用一个输入步长为1的4x4的滤波器,以生成一个带256个通道的77x77像素的输出;
第一最大池化层被设置为使用一个步长为2的2x2的滤波器,以生成带256个通道的39x39的输出;
第二卷积层被设置为使用一个步长为1的3x3滤波器,以生成带768个通道的37x37像素的输出;
第二最大池化层被设置为使用一个步长为2的2x2滤波器,以生成带768个通道的19x19像素的输出;
第三卷积层被设置为使用一个步长为1的3x3滤波器,以生成带1536个通道的17x17像素的输出;
第三最大池化层被设置为使用一个步长为2的2x2滤波器,以生成带3072个通道的9x9像素的输出;以及
第四卷积层被设置为使用一个步长为1的2x2滤波器,以生成带3072个通道的8x8像素的输出。
10.根据权利要求1所述的系统,其特征在于:所述系统进一步包括:
一个人脸检测器,所述检测器被设置为分析捕捉到的图像,检查图像是否存在人脸的视觉特征表示,然后产生一个输出,并且将所述输出作为含有人脸的图像送到卷积神经网络,作为卷积神经网络的输入。
11.一个自动人脸识别的机器实现方法,其特征在于:所述方法包括:
通过计算平台接收包含人脸的图像,所述图像有多个通道和一个输入像素量;
通过卷积神经网络的一个第一层组处理图像,卷积神经网络的第一层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第一层输出;第一层输出包括一个第一预定义通道量和一个第一像素量,所述第一预定义通道量多于输入通道量至少80倍,所述第一像素量低于输入像素量至少4.2倍;
通过卷积神经网络的一个第二层组处理第一层的输出,卷积神经网络的第二层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第二层输出;第二层输出包括一个第二预定义通道量和一个第二像素量,所述第二预定义通道量多于第一预定义通道量至少3倍,所述第二像素量低于第一层输出的第一像素量至少4.2倍;
通过卷积神经网络的一个第三层组处理第二层的输出,卷积神经网络的第三层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第三层输出;第三层输出包括一个第三预定义通道量和一个第三像素量,所述第三预定义通道量多于第二预定义通道量至少2倍,所述第三像素量低于第二层输出的第二像素量至少3.5倍;以及
通过卷积神经网络的一个第四层组处理第三层的输出,卷积神经网络的第四层组包括一个卷积层和一个参数修正线性单元激活函数层,以产生一个第四层输出;第四层输出包括一个第四预定义通道量和一个第四像素量,所述第四预定义通道量多于第三预定义通道量至少2倍,所述第四像素量低于第三层输出的第三像素量至少1.1倍;
通过一个第五层组处理第四层组的输出;所述第五层组包括一个第一全连接层,所述全连接层产生包含代表图像的特征矢量的输出;以及
将特征矢量储存在一个可搜索数据库中,所述可搜索数据库包含有多个其他特征矢量,所述特征矢量分别代表其他含有人脸的图像。
12.根据权利要求11所述的方法,其特征在于:所述方法进一步包括:
在可搜索数据库中查询一个目标特征矢量;以及
在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值;以及
将所述相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
13.根据权利要求11所述的方法,其特征在于:所述第五层组包括一个第五参数修正线性单元激活函数,一个dropout操作,一个第二全连接层和一个softmax层。
14.根据权利要求11所述的方法,其特征在于:所述卷积神经网络在训练集构建设置中和人脸识别设置中是可设置的,所述训练集构建设置中包括训练部分,而人脸识别设置中不包括训练部分。
15.一种非暂时性机器可读媒介,其特征在于:包含有以下指令:当指令在计算平台上被执行时,指令使计算平台执行自动人脸识别操作;操作包括:
通过计算平台接收包含人脸的图像,图像有多个通道和一个输入像素量;
通过卷积神经网络的一个第一层组处理图像,卷积神经网络的第一层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第一层输出;所述第一层输出包括一个第一预定义通道量和一个第一像素量,所述第一预定义通道量比输入通道量高至少80倍,所述第一像素量低于输入像素数量至少4.2倍;
通过卷积神经网络的一个第二层组处理第一层的输出,卷积神经网络的第二层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第二层输出;所述第二层输出包括一个第二预定义通道量和一个第二像素量,所述第二预定义通道量多于第一预定义通道量至少3倍,所述第二像素量低于第一层输出的第一像素量至少4.2倍;
通过卷积神经网络的一个第三层组处理第二层的输出,卷积神经网络的第三层组包括一个卷积层、一个最大池化层和一个参数修正线性单元激活函数层,在计算平台上被执行,以产生一个第三层输出;所述第三层输出包括一个第三预定义通道量和一个第三像素量,所述第三预定义通道量多于第二预定义通道量至少2倍,所述第三像素量低于第二层输出的第二像素量至少3.5倍;
通过卷积神经网络的一个第四层组处理第三层的输出,卷积神经网络的第四层组包括一个卷积层和一个参数修正线性单元激活函数层,以产生一个第四层输出;所述第四层输出包括一个第四预定义通道量和一个第四像素量,所述第四预定义通道量多于第三预定义通道量至少2倍,所述第四像素量低于第三层输出的第三像素量至少1.1倍;
所通过一个第五层组处理第四层输出,第五层组包括一个第一全连接层,所述全连接层产生包含代表图像的特征矢量的输出;以及
将特征矢量储存在一个可搜索数据库,所述可搜索数据库包含有多个其他特征矢量,所述特征矢量分别代表其他含有人脸的图像。
16.根据权利要求15所述的非暂时性机器可读媒介,其特征在于:所述操作进一步包括:
在可搜索数据库中针对目标特征矢量的创建一个查询;以及
在目标特征矢量与至少一个作为查询结果返回的参考特征矢量之间产生一个相似性度量值;以及
将所述相似性度量值与相似性标准进行对照比较,如果达到了相似性标准,则表明人脸已识别。
17.根据权利要求15所述的非暂时性机器可读媒介,其特征在于:所述第五层组包括一个第五参数修正线性单元激活函数,一个dropout操作,一个第二全连接层和一个softmax层。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/224,289 US10083347B2 (en) | 2016-07-29 | 2016-07-29 | Face identification using artificial neural network |
PCT/RU2017/000687 WO2018021942A2 (ru) | 2016-07-29 | 2017-09-21 | Распознавание лиц с помощью искусственной нейронной сети |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791625A CN109791625A (zh) | 2019-05-21 |
CN109791625B true CN109791625B (zh) | 2023-06-30 |
Family
ID=61009726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780044757.2A Active CN109791625B (zh) | 2016-07-29 | 2017-09-21 | 使用人工神经网络进行面部识别 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10083347B2 (zh) |
CN (1) | CN109791625B (zh) |
RU (1) | RU2718222C1 (zh) |
WO (1) | WO2018021942A2 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL299710A (en) * | 2016-06-03 | 2023-03-01 | Magic Leap Inc | Identity verification in augmented reality |
US10354159B2 (en) * | 2016-09-06 | 2019-07-16 | Carnegie Mellon University | Methods and software for detecting objects in an image using a contextual multiscale fast region-based convolutional neural network |
US10354362B2 (en) * | 2016-09-08 | 2019-07-16 | Carnegie Mellon University | Methods and software for detecting objects in images using a multiscale fast region-based convolutional neural network |
US10387740B2 (en) * | 2016-10-10 | 2019-08-20 | Gyrfalcon Technology Inc. | Object detection and recognition apparatus based on CNN based integrated circuits |
KR102252298B1 (ko) * | 2016-10-21 | 2021-05-14 | 삼성전자주식회사 | 표정 인식 방법 및 장치 |
CN106780658B (zh) | 2016-11-16 | 2021-03-09 | 北京旷视科技有限公司 | 人脸特征添加方法、装置及设备 |
CN106780662B (zh) * | 2016-11-16 | 2020-09-18 | 北京旷视科技有限公司 | 人脸图像生成方法、装置及设备 |
EP3336774B1 (en) * | 2016-12-13 | 2020-11-25 | Axis AB | Method, computer program product and device for training a neural network |
CN106650806B (zh) * | 2016-12-16 | 2019-07-26 | 北京大学深圳研究生院 | 一种用于行人检测的协同式深度网络模型方法 |
US10726514B2 (en) | 2017-04-28 | 2020-07-28 | Intel Corporation | Compute optimizations for low precision machine learning operations |
CN107679466B (zh) * | 2017-09-21 | 2021-06-15 | 百度在线网络技术(北京)有限公司 | 信息输出方法和装置 |
CN108364061B (zh) * | 2018-02-13 | 2020-05-05 | 北京旷视科技有限公司 | 运算装置、运算执行设备及运算执行方法 |
US11132532B1 (en) | 2018-05-10 | 2021-09-28 | Ism Connect, Llc | System and method for facial recognition accuracy |
US11010597B1 (en) * | 2018-05-10 | 2021-05-18 | Ism Connect, Llc | Entry prevention of persons of interest from venues and events using facial recognition |
US11544965B1 (en) | 2018-05-10 | 2023-01-03 | Wicket, Llc | System and method for access control using a plurality of images |
US12020505B1 (en) | 2018-05-10 | 2024-06-25 | Wicket, Llc | System and method for facial recognition accuracy |
CN110930350A (zh) * | 2018-09-19 | 2020-03-27 | 鸿富锦精密电子(天津)有限公司 | 机器学习方法及应用机器学习方法的自动光学检测设备 |
CN109359556B (zh) * | 2018-09-21 | 2021-08-06 | 四川长虹电器股份有限公司 | 一种基于低功耗嵌入式平台的人脸检测方法及系统 |
US10943101B2 (en) | 2018-09-28 | 2021-03-09 | Accenture Global Solutions Limited | Target recognition and verification using image processing techniques and/or artifical intelligence |
US10915734B2 (en) | 2018-09-28 | 2021-02-09 | Apple Inc. | Network performance by including attributes |
RU2703327C1 (ru) * | 2018-12-10 | 2019-10-16 | Самсунг Электроникс Ко., Лтд. | Способ обработки двухмерного изображения и реализующее его вычислительное устройство пользователя |
US11893681B2 (en) | 2018-12-10 | 2024-02-06 | Samsung Electronics Co., Ltd. | Method for processing two-dimensional image and device for executing method |
CN110135483A (zh) * | 2019-04-30 | 2019-08-16 | 北京百度网讯科技有限公司 | 训练图像识别模型的方法、装置及相关设备 |
US11341186B2 (en) * | 2019-06-19 | 2022-05-24 | International Business Machines Corporation | Cognitive video and audio search aggregation |
CN112308202A (zh) * | 2019-08-02 | 2021-02-02 | 华为技术有限公司 | 一种确定卷积神经网络的决策因素的方法及电子设备 |
CN110825765B (zh) * | 2019-10-23 | 2022-10-04 | 中国建设银行股份有限公司 | 一种人脸识别的方法和装置 |
US10997399B1 (en) | 2019-11-25 | 2021-05-04 | Karya Property Management, Llc | Facial recognition tool |
KR20210071472A (ko) * | 2019-12-06 | 2021-06-16 | 삼성전자주식회사 | 데이터를 처리하는 방법 및 장치 |
US11328170B2 (en) * | 2020-02-19 | 2022-05-10 | Toyota Research Institute, Inc. | Unknown object identification for robotic device |
US11475684B1 (en) * | 2020-03-25 | 2022-10-18 | Amazon Technologies, Inc. | Methods and systems for performing noise-resistant computer vision techniques |
US20210319878A1 (en) * | 2020-04-14 | 2021-10-14 | Electrifai, Llc | Medical detection system and method |
JP6834097B1 (ja) * | 2020-05-15 | 2021-02-24 | エッジコーティックス ピーティーイー. リミテッド | 推論のニューラルネットワークアクセラレータのハードウェア固有分割 |
US11151390B1 (en) | 2020-05-21 | 2021-10-19 | Ism Connect, Llc | Self-correcting face detection pipeline-based method and apparatus for censusing a crowd |
CN111783643B (zh) * | 2020-06-30 | 2023-09-01 | 北京百度网讯科技有限公司 | 人脸识别的方法、装置、电子设备及存储介质 |
CN112905793B (zh) * | 2021-02-23 | 2023-06-20 | 山西同方知网数字出版技术有限公司 | 一种基于Bilstm+Attention文本分类的案例推荐方法及系统 |
US11706546B2 (en) * | 2021-06-01 | 2023-07-18 | Sony Semiconductor Solutions Corporation | Image sensor with integrated single object class detection deep neural network (DNN) |
JP2024099998A (ja) * | 2023-01-13 | 2024-07-26 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法およびプログラム |
CN116091907B (zh) * | 2023-04-12 | 2023-08-15 | 四川大学 | 一种基于非互斥三元对比学习的图像篡改定位模型及方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463163B1 (en) | 1999-01-11 | 2002-10-08 | Hewlett-Packard Company | System and method for face detection using candidate image region selection |
US7050607B2 (en) | 2001-12-08 | 2006-05-23 | Microsoft Corp. | System and method for multi-view face detection |
US7203346B2 (en) | 2002-04-27 | 2007-04-10 | Samsung Electronics Co., Ltd. | Face recognition method and apparatus using component-based face descriptor |
KR100442835B1 (ko) | 2002-08-13 | 2004-08-02 | 삼성전자주식회사 | 인공 신경망을 이용한 얼굴 인식 방법 및 장치 |
US7236615B2 (en) | 2004-04-21 | 2007-06-26 | Nec Laboratories America, Inc. | Synergistic face detection and pose estimation with energy-based models |
JP4217664B2 (ja) | 2004-06-28 | 2009-02-04 | キヤノン株式会社 | 画像処理方法、画像処理装置 |
RU2304307C1 (ru) * | 2006-03-29 | 2007-08-10 | Юрий Витальевич Морзеев | Способ идентификации человека по изображению его лица |
US7689011B2 (en) | 2006-09-26 | 2010-03-30 | Hewlett-Packard Development Company, L.P. | Extracting features from face regions and auxiliary identification regions of images for person recognition and other applications |
US8442927B2 (en) | 2009-07-30 | 2013-05-14 | Nec Laboratories America, Inc. | Dynamically configurable, multi-ported co-processor for convolutional neural networks |
RU2427911C1 (ru) * | 2010-02-05 | 2011-08-27 | Фирма "С1 Ко., Лтд." | Способ обнаружения лиц на изображении с применением каскада классификаторов |
US9858220B2 (en) * | 2014-03-17 | 2018-01-02 | Purdue Research Foundation | Computing architecture with concurrent programmable data co-processor |
JP6767966B2 (ja) * | 2014-04-09 | 2020-10-14 | エントルピー インコーポレーテッドEntrupy Inc. | 微視的差異からの機械学習を使用する物体の真贋鑑定 |
US9672416B2 (en) * | 2014-04-29 | 2017-06-06 | Microsoft Technology Licensing, Llc | Facial expression tracking |
JP2015215837A (ja) * | 2014-05-13 | 2015-12-03 | 株式会社デンソー | 演算処理装置 |
WO2015180042A1 (en) | 2014-05-27 | 2015-12-03 | Beijing Kuangshi Technology Co., Ltd. | Learning deep face representation |
US9552549B1 (en) * | 2014-07-28 | 2017-01-24 | Google Inc. | Ranking approach to train deep neural nets for multilabel image annotation |
CN104346607B (zh) | 2014-11-06 | 2017-12-22 | 上海电机学院 | 基于卷积神经网络的人脸识别方法 |
US20170140260A1 (en) * | 2015-11-17 | 2017-05-18 | RCRDCLUB Corporation | Content filtering with convolutional neural networks |
CN105912990B (zh) * | 2016-04-05 | 2019-10-08 | 深圳先进技术研究院 | 人脸检测的方法及装置 |
CN106650688A (zh) * | 2016-12-30 | 2017-05-10 | 公安海警学院 | 基于卷积神经网络的眼部特征检测方法,装置及识别系统 |
CN106845549B (zh) * | 2017-01-22 | 2020-08-21 | 珠海习悦信息技术有限公司 | 一种基于多任务学习的场景与目标识别的方法及装置 |
-
2016
- 2016-07-29 US US15/224,289 patent/US10083347B2/en active Active
-
2017
- 2017-09-21 CN CN201780044757.2A patent/CN109791625B/zh active Active
- 2017-09-21 WO PCT/RU2017/000687 patent/WO2018021942A2/ru active Application Filing
- 2017-09-21 RU RU2018145555A patent/RU2718222C1/ru active
Also Published As
Publication number | Publication date |
---|---|
WO2018021942A3 (ru) | 2018-03-01 |
CN109791625A (zh) | 2019-05-21 |
US20180032796A1 (en) | 2018-02-01 |
WO2018021942A2 (ru) | 2018-02-01 |
US10083347B2 (en) | 2018-09-25 |
RU2718222C1 (ru) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791625B (zh) | 使用人工神经网络进行面部识别 | |
CN112101083B (zh) | 使用神经网络进行弱监督的对象检测方法及系统 | |
CN108875522B (zh) | 人脸聚类方法、装置和系统及存储介质 | |
US11574097B2 (en) | Deep learning based identification of difficult to test nodes | |
Meng et al. | Robust matrix factorization with unknown noise | |
US20190370647A1 (en) | Artificial intelligence analysis and explanation utilizing hardware measures of attention | |
US11748887B2 (en) | Segmentation using an unsupervised neural network training technique | |
Zhao et al. | Joint face alignment and segmentation via deep multi-task learning | |
CN111881804B (zh) | 基于联合训练的姿态估计模型训练方法、系统、介质及终端 | |
WO2023130717A1 (zh) | 图像定位方法、装置、计算机设备和存储介质 | |
JP6107531B2 (ja) | 特徴抽出プログラム及び情報処理装置 | |
CN112529068B (zh) | 一种多视图图像分类方法、系统、计算机设备和存储介质 | |
US10438088B2 (en) | Visual-saliency driven scene description | |
CN111985458A (zh) | 一种检测多目标的方法、电子设备及存储介质 | |
Obukhov | Haar classifiers for object detection with cuda | |
CN111598149A (zh) | 一种基于注意力机制的回环检测方法 | |
CN111104911A (zh) | 一种基于大数据训练的行人重识别方法及装置 | |
CN110163095B (zh) | 回环检测方法、回环检测装置及终端设备 | |
CN110009625B (zh) | 基于深度学习的图像处理系统、方法、终端、及介质 | |
Qin et al. | Depth estimation by parameter transfer with a lightweight model for single still images | |
CN113762331B (zh) | 关系型自蒸馏方法、装置和系统及存储介质 | |
CN111797862A (zh) | 任务处理方法、装置、存储介质和电子设备 | |
CN110532971A (zh) | 图像处理及装置、训练方法以及计算机可读存储介质 | |
CN114600128A (zh) | 神经网络处理器中的三维卷积 | |
US20220108155A1 (en) | Mappable filter for neural processor circuit |
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 |