CN108268885B - 特征点检测方法、设备和计算机可读存储介质 - Google Patents
特征点检测方法、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN108268885B CN108268885B CN201710003459.0A CN201710003459A CN108268885B CN 108268885 B CN108268885 B CN 108268885B CN 201710003459 A CN201710003459 A CN 201710003459A CN 108268885 B CN108268885 B CN 108268885B
- Authority
- CN
- China
- Prior art keywords
- type
- convolutional
- layer
- cnn
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000001514 detection method Methods 0.000 title description 4
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000006870 function Effects 0.000 claims description 54
- 238000011176 pooling Methods 0.000 claims description 50
- 230000004913 activation Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 16
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 241000282414 Homo sapiens Species 0.000 description 20
- 238000001994 activation Methods 0.000 description 20
- 238000004590 computer program Methods 0.000 description 18
- 210000002569 neuron Anatomy 0.000 description 16
- 210000001508 eye Anatomy 0.000 description 14
- 102100033620 Calponin-1 Human genes 0.000 description 12
- 101000945318 Homo sapiens Calponin-1 Proteins 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000001815 facial effect Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 210000000056 organ Anatomy 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 210000004709 eyebrow Anatomy 0.000 description 3
- 210000000720 eyelash Anatomy 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 210000000214 mouth Anatomy 0.000 description 3
- 210000001331 nose Anatomy 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 210000004209 hair Anatomy 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 210000000857 visual cortex Anatomy 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 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
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural 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/04—Architecture, e.g. interconnection topology
-
- 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
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
根据本公开的实施例,提供了一种使用卷积神经网络(CNN)来检测图像中的特征点的方法。所述方法包括:使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括具有非共享权值的卷积核;使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括具有共享权值的卷积核;以及基于所述第二处理数据来确定所述图像中的特征点。此外,根据本公开的实施例还提供了相应的设备和计算机可读存储介质。
Description
技术领域
本公开涉及图像处理领域,且更具体地涉及使用卷积神经网络(CNN)来检测图像中的特征点的方法、设备和计算机可读存储介质。
背景技术
作为图像处理领域中的重要部分的人脸解析,其在各个领域中都有非常重要的作用。例如,人脸解析在人脸识别以及情绪检测方面都有重要应用。目前针对人脸解析已经存在很多方法,例如:形状限制(shape constraints)、回归树、纹理信息、以及多种方法的结合。此外,还有一些浅层的机器学习方法。
发明内容
然而,这些方法都或多或少的存在一些问题。例如,梯度提升树(GradientBoosting Tree)方法的运算速度快,但是其在复杂环境下容易受到干扰。此外,人脸具有很强的结构化信息,即面部的各个特征(如眼睛、鼻子、耳朵、嘴等)的轮廓、颜色、大小、及其相对位置等大体固定。因此,如何有效地利用这些信息来提高人脸特征点的检测精度和速度就成为了一个重要的课题。
为了至少部分解决上述问题,提供了根据本公开实施例的使用卷积神经网络(CNN)来检测图像中的特征点的方法、设备和计算机可读存储介质。
根据本公开的第一方面,提供了一种使用卷积神经网络(CNN)来检测图像中的特征点的方法。所述方法包括:使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括具有非共享权值的卷积核;使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括具有共享权值的卷积核;以及基于所述第二处理数据来确定所述图像中的特征点。
在一些实施例中,所述CNN中在前的第一类卷积层的卷积核的大小大于等于在后的第一类卷积层的卷积核的大小,以及所述CNN中在前的第一类卷积层的卷积核的数量小于等于在后的第一类卷积层的卷积核的数量。在一些实施例中,所述第一类卷积层的数量为3~5层。在一些实施例中,所述第二类卷积层的数量为3~7层。在一些实施例中,在所述CNN中,所述第一类卷积层在所述第二类卷积层之前。在一些实施例中,所述CNN中包括4个第一类卷积层,分别为包括20个4x4卷积核、40个3x3卷积核、60个3x3卷积核、和80个2x2卷积核。在一些实施例中,所述CNN中包括5个第二类卷积层,分别为包括80个3x3卷积核、80个3x3卷积核、80个3x3卷积核、80个2x2卷积核、和80个2x2卷积核。在一些实施例中,基于所述第二处理数据来确定所述图像中的特征点的步骤还包括:使用所述CNN中的第三类卷积层来处理所述第二处理数据,以生成第三处理数据,所述第三类卷积层是全连接卷积层;以及基于所述第三处理数据来确定所述图像中的特征点。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括激活层,所述激活层采用以下各激活函数之一:Sigmoid函数、双曲正切函数、和/或纠正线性单元“ReLU”函数。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括池化层,所述池化层采用以下各池化函数之一:最大池化函数和/或平均池化函数。在一些实施例中,所述CNN是使用随机梯度下降法“SGD”来训练的。在一些实施例中,初始学习速率为10-2。在一些实施例中,所述CNN中的各卷积层的初始权重值是使用以0为平均值且方差为0.01的高斯随机数来初始化的。
根据本公开的第二方面,提供了一种使用卷积神经网络(CNN)来检测图像中的特征点的设备。所述设备包括:第一卷积处理单元,用于使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括具有非共享权值的卷积核;第二卷积处理单元,用于使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括具有共享权值的卷积核;以及特征点确定单元,用于基于所述第二处理数据来确定所述图像中的特征点。
在一些实施例中,所述CNN中在前的第一类卷积层的卷积核的大小大于等于在后的第一类卷积层的卷积核的大小,以及所述CNN中在前的第一类卷积层的卷积核的数量小于等于在后的第一类卷积层的卷积核的数量。在一些实施例中,所述第一类卷积层的数量为3~5层。在一些实施例中,所述第二类卷积层的数量为3~7层。在一些实施例中,在所述CNN中,所述第一类卷积层在所述第二类卷积层之前。在一些实施例中,所述CNN中包括4个第一类卷积层,分别为包括20个4x4卷积核、40个3x3卷积核、60个3x3卷积核、和80个2x2卷积核。在一些实施例中,所述CNN中包括5个第二类卷积层,分别为包括80个3x3卷积核、80个3x3卷积核、80个3x3卷积核、80个2x2卷积核、和80个2x2卷积核。在一些实施例中,所述特征点确定单元还用于:使用所述CNN中的第三类卷积层来处理所述第二处理数据,以生成第三处理数据,所述第三类卷积层是全连接卷积层;以及基于所述第三处理数据来确定所述图像中的特征点。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括激活层,所述激活层采用以下各激活函数之一:Sigmoid函数、双曲正切函数、和/或纠正线性单元“ReLU”函数。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括池化层,所述池化层采用以下各池化函数之一:最大池化函数和/或平均池化函数。在一些实施例中,所述CNN是使用随机梯度下降法“SGD”来训练的。在一些实施例中,初始学习速率为10-2。在一些实施例中,所述CNN中的各卷积层的初始权重值是使用以0为平均值且方差为0.01的高斯随机数来初始化的。
根据本公开的第三方面,提供了一种存储指令的计算机可读存储介质。当所述指令在由计算机执行时,使得所述计算机:使用卷积神经网络(CNN)中的第一类卷积层来处理图像的数据,以生成第一处理数据,所述第一类卷积层包括具有非共享权值的卷积核;使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括具有共享权值的卷积核;以及基于所述第二处理数据来确定所述图像中的特征点。
在一些实施例中,所述CNN中在前的第一类卷积层的卷积核的大小大于等于在后的第一类卷积层的卷积核的大小,以及所述CNN中在前的第一类卷积层的卷积核的数量小于等于在后的第一类卷积层的卷积核的数量。在一些实施例中,所述第一类卷积层的数量为3~5层。在一些实施例中,所述第二类卷积层的数量为3~7层。在一些实施例中,在所述CNN中,所述第一类卷积层在所述第二类卷积层之前。在一些实施例中,所述CNN中包括4个第一类卷积层,分别为包括20个4x4卷积核、40个3x3卷积核、60个3x3卷积核、和80个2x2卷积核。在一些实施例中,所述CNN中包括5个第二类卷积层,分别为包括80个3x3卷积核、80个3x3卷积核、80个3x3卷积核、80个2x2卷积核、和80个2x2卷积核。在一些实施例中,所述指令在由计算机执行时,还使得所述计算机:使用所述CNN中的第三类卷积层来处理所述第二处理数据,以生成第三处理数据,所述第三类卷积层是全连接卷积层;以及基于所述第三处理数据来确定所述图像中的特征点。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括激活层,所述激活层采用以下各激活函数之一:Sigmoid函数、双曲正切函数、和/或纠正线性单元“ReLU”函数。在一些实施例中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括池化层,所述池化层采用以下各池化函数之一:最大池化函数和/或平均池化函数。在一些实施例中,所述CNN是使用随机梯度下降法“SGD”来训练的。在一些实施例中,初始学习速率为10-2。在一些实施例中,所述CNN中的各卷积层的初始权重值是使用以0为平均值且方差为0.01的高斯随机数来初始化的。
根据本公开的第四方面,提供了一种使用卷积神经网络(CNN)来检测图像中的特征点的设备。所述设备包括:处理器;存储器,存储指令,其中,所述指令在由所述处理器执行时使得所述处理器执行以下操作:使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括具有非共享权值的卷积核;使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括具有共享权值的卷积核;以及基于所述第二处理数据来确定所述图像中的特征点。
通过使用根据本公开实施例的方法、设备和计算机可读存储介质,可以将非共享权值卷积核与共享权值卷积核相结合,从而充分利用人脸的结构化信息,实现对人脸特征的快速、准确的检测。
附图说明
通过下面结合附图说明本公开的优选实施例,将使本公开的上述及其它目的、特征和优点更加清楚,其中:
图1是示出了根据本公开实施例的卷积神经网络的示意图。
图2是示出了根据本公开实施例的、在设备处执行的用于使用卷积神经网络来检测图像中的特征点的示例方法的流程图。
图3是示出了根据本公开实施例的用于执行图2所示方法的示例设备的框图。
图4是示出了根据本公开实施例的图3所示设备的示例硬件布置的框图。
具体实施方式
下面参照附图对本公开的优选实施例进行详细说明,在描述过程中省略了对于本公开来说是不必要的细节和功能,以防止对本公开的理解造成混淆。在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不脱离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同的附图标记用于相同或相似的功能和操作。
以下,以本公开应用于无线移动通信系统的场景为例,对本公开进行了详细描述。但本公开并不局限于此,本公开也可以应用于固定通信系统、有线通信系统,或者应用于无线移动通信系统、固定通信系统、有线通信系统等的任意混合结构。就移动通信系统而言,本公开并不局限于所涉及的各个移动通信设备的具体通信协议,可以包括(但不限于)2G、3G、4G、5G网络、WCDMA、CDMA2000、TD-SCDMA系统等、WiFi、Bluetooth、WiMax等,不同的移动设备可以采用相同的通信协议,也可以采用不同的通信协议。此外,本公开并不局限于移动设备的具体操作系统,可以包括(但不限于)iOS、Windows Phone、Symbian(塞班)、Android(安卓)、Windows、Linux、Unix等,不同的移动设备可以采用相同的操作系统,也可以采用不同的操作系统。
在本公开中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。
随着移动终端(例如,智能手机、平板电脑等)的广泛应用,其已经成为人们生产生活中不可或缺的一部分。移动终端可以提供各种各样的应用功能,其中,对于静态图像/动态视频的处理是非常重要的一种应用功能。例如,在目前的图像处理中,可以通过识别图像/视频中存在的人脸及其各个面部器官来进行针对性处理。例如,可以针对图像进行瘦脸、美白、眼部放大等等统称为“美颜”的操作。又例如,还可以将图像中的人耳替换为猫耳等用户感兴趣的修图功能。
在这些应用中,都需要移动终端去识别人脸部中的各种具体特征。如前所述,现有的方法都或多或少存在一些问题。例如,梯度提升树(Gradient Boosting Tree)方法的运算速度快,但是其在复杂环境下容易受到干扰。此外,现有的方法也并未利用人脸中很强的结构化信息。为了至少部分解决上述问题,提供了根据本公开实施例的使用卷积神经网络(CNN)来检测图像中的特征点的方法、设备和计算机可读存储介质。
卷积神经网络(Convolutional Neural Network)
Hubel和Wiesel等人在1950年和1960年的研究表明:猫和猴子的视觉皮层中包含单独对视野中的小区域进行响应的神经元。如果眼睛不移动的话,视觉空间中的由视觉刺激影响单个神经元的区域被称为该神经元的感受野或感受域(receptive field)。相邻神经元具有相似和重叠的感受野。感受野的大小和位置在皮层上系统性改变,以形成完整的视觉空间映射。
受到该研究的启发,在机器学习领域中,提出了卷积神经网络(简称为CNN或ConvNet),其是一类前馈(feed-forward)人工神经网络。具体地,该神经网络的神经元之间的连接模式受到了动物视觉皮层的启发。单个神经元对于空间的有限区域中的刺激加以响应,该有限区域即为前述感受野。不同神经元的各自感受野彼此部分重叠,使得它们排列形成了整个视野。单个神经元对其感受野内刺激的响应可以用卷积运算的方式来数学近似。因此,卷积神经网络在图像和视频识别领域、推荐领域(例如,购物网站的商品推荐等)、以及自然语言处理领域中都具有广泛的应用。
以下结合图1来详细说明根据本公开实施例的CNN 1。图1是示出了根据本公开实施例的卷积神经网络CNN 1的示意图。如图1所示,CNN 1通常可以包含多个卷积层20和40,这些卷积层20和40一般是由彼此部分重叠的小型神经元(其在数学的意义上也被称为卷积核,以下如无特别声明,这两个术语可以互换使用)的集合。此外,在本公开的上下文中,除非另有明确声明,否则对于CNN 1中的任何两层而言,更接近输入数据(或输入层,例如图1的输入层10)的层被称为“在前”或“在下”的层,而另一个更接近输出数据(或输出层,例如图1的输出层70)的层被称为“在后”或“在上”的层。此外,在训练、验证和/或使用期间,从输入层(例如,图1的输入层10)到输出层(例如,图1的输出层70)的方向被称为前向或正向(forward),而从输出层(例如,图1的输出层70)到输入层(例如,图1的输入层10)的方向被称为后向或反向(backward)。
以图1所示的第一卷积层20为例,这些小型神经元可以对输入图像的各个局部(例如,输入层10中的位于爱因斯坦眼部的局部)进行处理。然后这些小型神经元的输出被合并排列为一个输出(称为特征映射,例如第一卷积层20中的每个方形),以获得对原始图像中某些特征进行更好表示的输出图像。同时,相邻神经元之间部分重叠的排列也使得CNN 1对于原始图像中的特征具备一定程度的平移容忍度。换言之,即使原始图像中的特征在某个容忍度内以平移方式改变了其位置,该CNN 1也可以正确地识别出该特征。关于卷积层的详细描述将在后文中给出,此处不再详细讨论。
接下来的一层30是可选的池化(pooling)层,即第一池化层30,其主要用于在保持特征的情况下对前一卷积层20的输出数据进行下采样,减少计算量并防止过拟合。关于池化层的详细描述将在后文中给出,此处不再详细讨论。
接下来的一层40同样是一个卷积层,其可以对于第一卷积层20所产生的、并经由池化层30下采样的输出数据进行进一步的特征采样。从直观上看,其所学习到的特征在全局性上大于第一卷积层所学习到的特征。同样地,后续的卷积层都是对前一卷积层的特征的全局化。
作为一个直观的示例,不妨认为第一卷积层20学习到的特征可以是例如眼睛颜色、眼睛轮廓、睫毛、鼻子轮廓、鼻子阴影、嘴部轮廓、嘴部颜色等等细微(或非常局部)的特征,而第二卷积层40针对第一卷积层20的输出学习到的可以是眼睛(根据例如眼睛颜色、眼睛轮廓、睫毛等来识别)、鼻子(根据例如鼻子轮廓、鼻子阴影等来确定)、嘴(根据例如嘴部轮廓、嘴部颜色等来确定)等略大一些的面部器官的特征,这些特征在全局性上大于第一卷积层20所学习到的特征。而图1中未示出的可能存在的第三卷积层或者图1所示的全连接层60可以根据第二卷积层40的输出学习到人脸(根据例如眼睛、鼻子、嘴等来确定)等更为全局的特征,并最终判定图像中存在人脸或者人脸的特征点的位置。当然,本公开不限于此。此外,关于全连接层的详细描述将在后文中给出,此处不再详细讨论。
然而,尽管上述示例是以人类能够理解的方式给出的,但实际上CNN学习到的特征通常不是人类所理解的语义特征,而是一种抽象特征,这种特征对于人类来说通常是完全无法理解的。但是通过将这些特征组合在一起,计算机就可以判定这是一个人脸以及人脸的各个部位。为了便于理解,可以认为一个人判断人脸的标准可能是看看图像中有没有人类的眼睛、鼻子、嘴巴;但是另一个人选取的特征就可能是图像中有没有人类的眉毛、下巴;还有的人可能更加奇怪,会去通过这张图像里是不是有眼镜、口罩、耳环等去判断是否存在人脸。而CNN,则可能是最奇怪的一个“人”,它可能会使用人类完全无法用语言形容的一系列特征去判断是否是人脸以及人脸的各个部位,例如,某些特定的像素组合。
通过利用自然图像中广泛存在的强空间局部相关性,CNN可以显著解决或减轻与其它多层感知元神经网络(Multi-Layer Perceptron neural networks或MLP神经网络)架构的问题。与MLP架构相比,CNN至少具有以下特征:
-3维神经元。如图1所示,CNN 1的每一卷积层20和40都具有按3维方式排列的神经元:宽(width,简记为w)、高(height,简记为h)和深度(depth,简记为d)。在图1所示示例中,卷积层20和40中每个方形的两个维度(即,w和h)代表由该层的卷积核映射后的特征映射(feature map)的宽和高,而方形的个数代表该层的深度。在后面提到的共享权值卷积核的情况下,方形的个数也同时代表了卷积核的个数。而在后面提到的非共享权值卷积核的情况下,卷积核的个数则由该卷积层的三个维度共同确定。例如,在共享权值的情况下,图1所示的卷积层20包括4个方形,即该层存在4个卷积核,或更确切地说同一方块中的所有卷积核具有相同权值,这样通过每个卷积核将输入图像映射为1个特征映射。例如,在非共享权值的情况下,图1所示的卷积层20包括4个方形,每个方形的每个点对应一个卷积核,则因此卷积核的个数为4×w×h,通过同一方形中的w×h个卷积核将输入图像映射为1个特征映射。此外,如图1所示,一层内的神经元仅连接到前一层的小区域(即,感受野)。不同类型的层(局部连接和全连接)堆叠在一起形成CNN架构。
-局部连接性。基于感受野的概念,CNN 1可以通过在相邻层的神经元之间强制实现局部连接模式来利用空间局部相关性。该架构从而确保了经过学习得到的“卷积核”针对空间局部输入图案产生最强的响应。将很多这种层加以堆叠得到了变为逐渐“全局化”(即,对于像素空间中更大的区域加以响应)的非线性“卷积核”。这允许网络首先创建输入的小部分的良好表示,然后根据这些小部分的表示来组装更大区域的表示,如前面关于“鼻子/眼睛/嘴”的示例所说明的。
-共享权重。在CNN 1中,每个卷积核在整个视野(即,宽和高的平面中)中可以是重复的。这些重复的单元可以共享相同的参数(权重矢量和偏置)并形成了特征映射。这意味着给定卷积层中的所有神经元都可以检测相同的特征。按这种方式重复的单元允许不管特征出现在视野中的什么位置上都可以被检测到,从而构成了平移不变的特性。权重共享还有助于显著降低要学习的自由参数的数目,从而降低运行该网络所需的内存量。降低内存占用允许对更大的、更强力的网络进行训练。此外,如下文中详细描述的,在CNN 1中,权重也可以不共享,以实现本公开实施例中的技术效果。
接下来将详细描述CNN 1中可能包含的各种基本构造单元。
如图1所示,CNN 1可以由不同的层20~60来堆叠而成,它们可以将输入数据变换为输出数据。几种不同类型的层如下所述:
-卷积层
卷积层(例如,第一和第二卷积层20和40)是CNN(例如,CNN1)的核心构造单元。该层的参数由可学习卷积核(或简称为卷积核)的集合来构成,每个卷积核具有很小的感受野,但是在输入数据的整个深度上延伸(例如,如图1中附图标记25、35、45所示)。在前向过程中,将每个卷积核沿输入数据的宽度和高度进行卷积,计算卷积核的元素与输入数据之间的点积,并产生该卷积核的二维激活映射。作为结果,网络能够学习到在输入的某个空间位置上看到某个具体类型的特征时才可以激活的卷积核。
将所有卷积核的激活映射沿深度方向进行堆叠,形成了卷积层的全输出数据。因此,输出数据中的每个元素可以被解释为看到输入中的小区域并与相同激活映射中的其他卷积核共享参数的卷积核的输出。
如前所述,在处理诸如图像之类的大尺寸输入时,将本层中的卷积核连接到前一层中的所有卷积核是不实际的,因为这种网络架构并未考虑到数据的空间结构。卷积网络通过对相邻层的卷积核之间强制采用局部连接模式,利用了该空间局部相关性;即,每个卷积核仅连接到输入数据的小区域。该连接性的程度就是被称为该卷积核的感受野的参数。该连接在空间中是局部的(沿宽度和高度),但是始终沿输入数据的整个深度延伸。这种架构确保了学习到的卷积核产生了对空间局部输入图案的最强响应。
如前所述,除了输入数据的大小(例如,二维情况下,图像的宽度和高度)之外,多个参数也可以控制卷积层的输出数据的大小:深度、步幅和零填充。
输出数据的深度控制了层中连接到输入数据的相同区域的卷积核的数量。例如,如图1所示,第一卷积层20的深度为4,第二卷积层40的深度为12。所有这些卷积核将学习到针对输入中的不同特征来激活。例如,如果第一卷积层20以原始图像为输入,则沿着深度维度的不同卷积核(即,图1中的不同方形)可以在输入数据中出现各种定向的边、或色块时激活。
步幅控制了如何分配空间维度(宽度和高度)的深度列。例如,在图1中,当步幅为1时,第一卷积层20中的每个方形中的两个相邻卷积核的输入数据仅相差1个空间单位。这导致在各列之间高度重叠的感受野,且导致较大尺寸的输出数据。相反,如果使用较高的步幅,则感受野将不那么重叠,且作为结果的输出数据将具有较小的空间尺寸。
此外,为了方便图像边缘处的卷积运算,有时在输入数据的边界上用0来填充输入数据是方便的,或者在另一些实施例中,该零填充可以变为用对侧的数据来填充,或者在又一些实施例中,干脆没有零填充,使得输入数据比输出数据的大小略大。该零填充的大小是第三个参数。零填充提供了对输出数据空间大小的控制。具体地,有时需要对输入数据的空间大小进行严格地保持,从而必须使用零填充来保持该空间大小。
如前所述,在卷积层中使用参数共享方案以控制自由参数的数量。其依赖于以下合理的假设:如果一个特征对于在某个空间位置处计算是有用的,则其也应当对于在不同位置上计算是有用的。更通俗的,如果一个特征可以出现在图像一个位置上,则它也应该有可能出现在其它任何位置上。换言之,如果将深度的单个二维切片定义为深度切片(即,仅有宽度和高度,例如图1所示的每个方形),则将每个深度切片中的卷积核约束为使用相同的权重和偏置。
由于单个深度切片中的所有卷积核可以共享相同的参数,则卷积层中每个深度切片的前向过程可以被计算为卷积核的权重与输入数据的卷积(然后可选地加上偏置)。例如,假设输入数据和共享权值的卷积核分别为如下4x 4和2x 2的矩阵,则在无零填充、步幅为1、无偏置的情况下卷积计算结果如下式(1):
应当注意:有时候参数共享假设并不一定必然需要。这在CNN的输入图像具有特定的结构化特征时是尤为明显的,其中,我们期望在不同的空间位置上学习到完全不同的特征。在例如人脸特征识别的场景中,可以预期在不同的位置上应当学习到不同的面部特征,例如眼睛、头发、眉毛、鼻子、嘴、耳朵等等等等。在该情况下,可以不要求参数共享,并代之以将该层称为局部连接层或局部连接卷积层。在这些层中,同一个深度切片中的各卷积核并不共享参数,这样的非共享卷积层将比同样设置的共享卷积层消耗更多的内存、更多的训练时间等。然而,如前所述,在图像中存在较强的结构化构造时(例如,人脸),在CNN中在前的各层中采用这样的非共享卷积层将是更为优选的。
例如,针对式(1)中的4x4输入数据的每个2x2局部或感受野来说,可以采用不共享权值的多个(本示例中,最多9个)卷积核来进行卷积运算,并同样得到1个3x 3的输出数据。然而,由于采用了不同的卷积核,该输出数据的每个元素与式(1)中的输出数据的相应元素通常是不同的。但在一些特别情况下,取决于非共享权值的卷积核的训练过程,这些非共享权值的卷积核可能全部或部分相同,从而使得输出数据与式(1)中的输出数据也有可能全部或部分相同。
-池化层
CNN中另一个重要的概念是池化(pooling),其具有非线性下采样的形式。存在若干种用于实现池化的非线性函数,其中至少包括常用的最大池化和平均池化。最大池化将输入图像分为不重叠的矩形的集合,并且针对这样的每个子区域来输出最大值。例如,如果池化层的输入为如下左侧表1所示的4x4的二维数组(或矩阵),则最大池化层的输出可以为如下右侧表2所示的2x2的二维数组(或矩阵):
直观上这意味着:一旦找到一个特征,则其精确位置就不如其相对于其他特征的大致位置那么重要了。池化层的功能是逐渐降低数据的空间大小,以减少网络中的参数量和计算量,且因此还可以防止过拟合(overfitting)。在CNN架构中的连续卷积层之间可以周期性地或以其它模式来插入池化层。例如,在图1所示示例中,在每个卷积层20和40之后分别设置有池化层30和50。池化运算提供了一定程度的平移不变性。
池化层针对输入数据的每个深度切片进行独立运算,并在空间上对其大小进行调整。最常见的形式是具有大小2x2的卷积核的池化层,其以输入中的每个深度切片的2个下采样为步幅沿着宽度和高度来应用,放弃75%的激活。每个最大值(MAX)运算或平均值(AVG)运算将取四个数中的最大值或这四个数的平均值。此外,深度方向的大小并不改变。此外,还可以采用L2范数池化等其它池化函数。此外,池化层并不是必须的,而是可选的。
-ReLU层(更一般地,激活层(Activation Layer,有时也被称为激励层))
ReLU是纠正线性单元的简写。这是应用非饱和激活函数f(x)=max(0,x)的神经元层。其增加了判定函数和整个网络的非线性特性,而不影响卷积层的感受野。
当然,在另一些实施例中,也可以使用其它函数来增加非线性度,例如双曲正切(hyperbolic tangent)函数f(x)=tanh(x)和S型函数(Sigmoid)f(x)=(1+e-x)-1。与其它函数相比,ReLU函数更为常用,因为其使得神经网络训练速度快了几倍,而不对准确度产生显著的影响。
尽管在图1中并未明确示出ReLU层(或激活层),然而在一些实施例中,每个卷积层后都可以紧跟一个ReLU层,使得每个卷积层的输出的非线性度增加,且防止在训练阶段中过早出现饱和状态。
-全连接层
最后,在卷积层、池化层和/或激活层之后,可以经由全连接层来实现神经网络中的全局特征捕捉。如图1所示,最后一层60即为全连接层60。全连接层60中的卷积核具有针对前一层中所有激活的全连接,这与常规神经网络是一样的。因此,可以使用矩阵乘法然后是偏置来计算其激活。
此外,全连接层60的输出70可以是一个一维数组,其中每个元素代表该图像被分类到某一类别的可能性指标。在人脸特征识别的上下文中,该输出可以用来例如确定图像中是否存在人脸、图像中是否存在面部器官(例如,眼睛、鼻子、嘴、眉毛、下巴、头发、舌头甚至睫毛等)、以及(如果存在)这些器官的位置等等。
此外,由于特征映射(feature map)的大小随着CNN 1深度而减少,接近输入层(在前)的各层将倾向于具有较少的卷积核,而接近输出层(在后)的各层可以具有较多的卷积核。为了平衡各层的计算量,特征数量与像素位置数量的乘积通常被设置为在各层上大致恒定。保留与输入有关的信息将要求总的激活数(特征映射乘以像素位置数量)可以是逐层减少的。然而,请注意这不是必须的。在其他实施例中,完全可以采用不同的设置。特征映射的数量直接控制容量,并取决于可用采样的数量和任务的复杂度。
卷积核形状
在各种文献中常用的感受野的形状千变万化,且通常是基于数据集来选择的。对于MNIST(混合国家标准技术研究所数据库)大小(28x28)的图像的最佳结果通常在第一层是5x5,而自然图像数据集(通常在每个维度上是上百个像素)倾向于使用较大的第一层卷积核形状12x12或15x15。因此,难度在于在给定特定数据集的情况下找到正确的粒度级别,以产生正确尺度上的抽象。
在本公开的一个示例实施例中,可以采用如下面表3所示的各个卷积层的卷积核的配置。
表3:示例CNN的卷积层设置
然而,本公开的实施例不限于此。例如,在一些实施例中,CNN中在前的非共享卷积层的卷积核的大小可以大于等于在后的非共享卷积层的卷积核的大小。此外,在一些实施例中,CNN中在前的非共享卷积层的卷积核的数量可以小于等于在后的非共享卷积层的卷积核的数量。此外,在一些实施例中,非共享卷积层的数量可以为3~5层。此外,在一些实施例中,共享卷积层的数量可以为3~7层。然而,本公开同样不限于上述这些实施例。
此外,尽管表1中未示出,依然可以在每个卷积层之后设置激活层和/或池化层。
-最大池化(MAX POOLING)形状
池化层中的感受野的通常大小是2x2。非常大的输入数据可以在接近输入层(在前)的各层采用4x4池化。然而,选择较大的形状将大幅减少信号的尺寸,且可能导致丢弃前一层的输出数据中的过多信息。因此,通常可以选择2x2作为池化层的感受野的大小。
在例如表1所示的实施例中,首先利用多个非共享卷积层来学习不同部位的局部特征,然后利用后续的多个具有小尺寸卷积核的卷积层从局部特征扩展到全局特征。同时如上所述,共享权重的卷积核能够有效降低计算量,节约内存和处理器的资源。此外,可以在每一个卷积层后都连接最大池化层和激活层,其中,激活层可以采用双曲正切函数和/或ReLU函数。该激活层使得输出与输入的关系能保持非线性单调上升和下降关系,其比S型函数延迟了饱和期,对神经网路的容错性好。此外,最后一层可以采用全连接层。
至此,已结合图1提出了一种结合非共享权值局部卷积核层和共享权值卷积核层的方法,实现了较为鲁棒的关键点提取。该方案有效地利用了人脸的结构性信息,同时考虑到人脸在不同环境中的图像结果,实现了对人脸特征的快速、准确的识别。
-CNN的训练过程
训练过程在深度学习中是一个非常重要的部分。为了保证网络能够有效收敛,可以采用随机梯度下降法。例如,可以采用Nesterov优化算法来求解。在一些实施例中,初始的学习速率可以设置为从10-2开始,并逐渐减小,直至找到一个最优值。此外,在一些实施例中,对于权重的初始值,可以使用具有较小方差的Gaussian随机过程来初始化各卷积核的权重值。
在一些实施例中,图像训练集可以采用LFW(labeled face in the wild)数据库(5000张)以及网络人脸数据(3000张),其均标记有人脸关键点,其中可以将5000张用于训练而其余3000张用于验证。
图2是示出了根据本公开实施例的在设备(例如,图3中的设备100和/或图4所示的设备400)中执行的使用CNN来检测图像中的特征的方法200的流程图。如图2所示,方法200可以包括步骤S210、S220和S230。根据本公开,方法200的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图2所示的具体操作顺序。
图3是示出了根据本公开实施例的使用CNN来检测图像中的特征的示例设备100的框图。如图3所示,设备100可以包括:第一卷积处理单元110、第二卷积处理单元120和特征点确定单元130。
第一卷积处理单元110可以使用CNN(例如,表1所示CNN)中的第一类卷积层来处理图像的数据,以生成第一处理数据,该第一类卷积层包括具有非共享权值的卷积核。第一卷积处理单元110可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与设备100的通信部分(例如,无线收发信机、以太网卡、xDSL调制解调器等)和/或存储部分(例如,RAM、SD卡等)相配合,接收待处理的图像数据,并使用CNN(例如表1所示CNN)中的非共享权值的卷积层来处理图像的数据,以生成第一处理数据。
第二卷积处理单元120可以使用CNN(例如,表1所示CNN)中的第二类卷积层来处理第一处理数据,以生成第二处理数据,第二类卷积层包括具有共享权值的卷积核。第二卷积处理单元120也可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以获取由第一卷积处理单元110处理过的图像数据(即,第一处理数据),并使用CNN(例如表1所示CNN)中的共享权值的卷积层来处理该第一处理数据,以生成第二处理数据。
特征点确定单元130可以基于第二处理数据来确定图像中的特征点。特征点确定单元130也可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以获取由第二卷积处理单元120处理过的图像数据(即,第二处理数据),并基于第二处理数据来确定图像中的特征点。例如,可以根据通过使用全连接层对前面各层处理过的各局部特征进行综合判定。
此外,设备100还可以包括图3中未示出的其他功能单元,例如:总线、存储器、电源、天线、通信部分、存储部分。然而,它们并不影响对本申请的原理的理解,且因此此处省略对它们的详细描述。
以下将结合图2和图3,对根据本公开实施例的在设备100上执行的使用卷积神经网络来检测图像中的特征点的方法200和设备100进行详细的描述。
方法200开始于步骤S210,在步骤S210中,可以由设备100的第一卷积处理单元110使用CNN中的第一类卷积层来处理图像的数据,以生成第一处理数据,该第一类卷积层包括具有非共享权值的卷积核。
在步骤S220中,可以由设备100的第二卷积处理单元120使用CNN中的第二类卷积层来处理第一处理数据,以生成第二处理数据,该第二类卷积层包括具有共享权值的卷积核。
在步骤S230中,可以由设备100的特征点确定单元130来基于第二处理数据来确定图像中的特征点。
在一些实施例中,CNN中在前的第一类卷积层的卷积核的大小可以大于等于在后的第一类卷积层的卷积核的大小,以及CNN中在前的第一类卷积层的卷积核的数量可以小于等于在后的第一类卷积层的卷积核的数量。在一些实施例中,第一类卷积层的数量可以为3~5层。在一些实施例中,第二类卷积层的数量可以为3~7层。在一些实施例中,在CNN中,第一类卷积层可以在第二类卷积层之前。在一些实施例中,CNN中可以包括4个第一类卷积层,可以分别为包括20个4x4卷积核、40个3x3卷积核、60个3x3卷积核、和80个2x2卷积核。在一些实施例中,CNN中可以包括5个第二类卷积层,可以分别为包括80个3x3卷积核、80个3x3卷积核、80个3x3卷积核、80个2x2卷积核、和80个2x2卷积核。在一些实施例中,特征点确定单元还可以用于:可以使用CNN中的第三类卷积层来处理第二处理数据,以生成第三处理数据,第三类卷积层可以是全连接卷积层;以及可以基于第三处理数据来确定图像中的特征点。在一些实施例中,紧接在每个第一类卷积层和/或每个第二类卷积层之后,CNN还可以包括激活层,激活层可以采用以下各激活函数之一:Sigmoid函数、双曲正切函数、和/或纠正线性单元“ReLU”函数。在一些实施例中,紧接在每个第一类卷积层和/或每个第二类卷积层之后,CNN还可以包括池化层,池化层可以采用以下各池化函数之一:最大池化函数和/或平均池化函数。在一些实施例中,CNN可以是使用随机梯度下降法“SGD”来训练的。在一些实施例中,初始学习速率可以为10-2。在一些实施例中,CNN中的各卷积层的初始权重值可以是使用以0为平均值且方差为0.01的高斯随机数来初始化的。
图4是示出了根据本公开实施例的图3所示设备100的示例硬件布置400的框图。硬件布置400包括处理器406(例如,数字信号处理器(DSP))。处理器406可以是用于执行本文描述的流程的不同动作的单一处理单元或者是多个处理单元。布置400还可以包括用于从其他实体接收信号的输入单元402、以及用于向其他实体提供信号的输出单元404。输入单元402和输出单元404可以被布置为单一实体或者是分离的实体。
此外,布置400可以包括具有非易失性或易失性存储器形式的至少一个可读存储介质408,例如是电可擦除可编程只读存储器(EEPROM)、闪存、和/或硬盘驱动器。可读存储介质408包括计算机程序410,该计算机程序410包括代码/计算机可读指令,其在由布置400中的处理器406执行时使得硬件布置400和/或包括硬件布置400在内的设备100可以执行例如上面结合图1~3所描述的流程及其任何变形。
计算机程序410可被配置为具有例如计算机程序模块410A~410C架构的计算机程序代码。因此,在例如设备100中使用硬件布置400时的示例实施例中,布置400的计算机程序中的代码包括:模块410A,用于使用CNN中的第一类卷积层来处理图像的数据,以生成第一处理数据,该第一类卷积层包括具有非共享权值的卷积核。计算机程序中的代码还包括:模块410B,用于使用CNN中的第二类卷积层来处理第一处理数据,以生成第二处理数据,该第二类卷积层包括具有共享权值的卷积核。计算机程序中的代码还包括:模块410C,用于基于第二处理数据来确定该图像中的特征点。
计算机程序模块实质上可以执行图1~3中所示出的流程中的各个动作,以模拟设备100。换言之,当在处理器406中执行不同计算机程序模块时,它们可以对应于设备100中的上述不同单元。
尽管上面结合图4所公开的实施例中的代码手段被实现为计算机程序模块,其在处理器406中执行时使得硬件布置400执行上面结合图1~3所描述的动作,然而在备选实施例中,该代码手段中的至少一项可以至少被部分地实现为硬件电路。
处理器可以是单个CPU(中央处理单元),但也可以包括两个或更多个处理单元。例如,处理器可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))。处理器还可以包括用于缓存用途的板载存储器。计算机程序可以由连接到处理器的计算机程序产品来承载。计算机程序产品可以包括其上存储有计算机程序的计算机可读介质。例如,计算机程序产品可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)、EEPROM,且上述计算机程序模块在备选实施例中可以用UE内的存储器的形式被分布到不同计算机程序产品中。
至此已经结合优选实施例对本公开进行了描述。应该理解,本领域技术人员在不脱离本公开的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本公开的范围不局限于上述特定实施例,而应由所附权利要求所限定。
此外,在本文中被描述为通过纯硬件、纯软件和/或固件来实现的功能,也可以通过专用硬件、通用硬件与软件的结合等方式来实现。例如,被描述为通过专用硬件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)来实现的功能,可以由通用硬件(例如,中央处理单元(CPU)、数字信号处理器(DSP))与软件的结合的方式来实现,反之亦然。
Claims (15)
1.一种使用卷积神经网络“CNN”来检测图像中的特征点的方法,包括:
使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括针对同一输入数据的不同感受野具有非共享权值的卷积核;
使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括针对同一输入数据的不同感受野具有共享权值的卷积核;以及
基于所述第二处理数据来确定所述图像中的特征点。
2.根据权利要求1所述的方法,其中,所述CNN中在前的第一类卷积层的卷积核的大小大于等于在后的第一类卷积层的卷积核的大小,以及所述CNN中在前的第一类卷积层的卷积核的数量小于等于在后的第一类卷积层的卷积核的数量。
3.根据权利要求1所述的方法,其中,所述第一类卷积层的数量为3~5层。
4.根据权利要求3所述的方法,其中,所述CNN中包括4个第一类卷积层,分别为包括20个4x4卷积核、40个3x3卷积核、60个3x3卷积核、和80个2x2卷积核。
5.根据权利要求1所述的方法,其中,所述第二类卷积层的数量为3~7层。
6.根据权利要求5所述的方法,其中,所述CNN中包括5个第二类卷积层,分别为包括80个3x3卷积核、80个3x3卷积核、80个3x3卷积核、80个2x2卷积核、和80个2x2卷积核。
7.根据权利要求1所述的方法,其中,在所述CNN中,所述第一类卷积层在所述第二类卷积层之前。
8.根据权利要求1所述的方法,其中,基于所述第二处理数据来确定所述图像中的特征点的步骤还包括:
使用所述CNN中的第三类卷积层来处理所述第二处理数据,以生成第三处理数据,所述第三类卷积层是全连接卷积层;以及
基于所述第三处理数据来确定所述图像中的特征点。
9.根据权利要求1所述的方法,其中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括激活层,所述激活层采用以下各激活函数之一:Sigmoid函数、双曲正切函数、和/或纠正线性单元“ReLU”函数。
10.根据权利要求1所述的方法,其中,紧接在每个所述第一类卷积层和/或每个所述第二类卷积层之后,所述CNN还包括池化层,所述池化层采用以下各池化函数之一:最大池化函数和/或平均池化函数。
11.根据权利要求1所述的方法,其中,所述CNN是使用随机梯度下降法“SGD”来训练的。
12.根据权利要求11所述的方法,其中,初始学习速率为10-2。
13.根据权利要求11所述的方法,其中,所述CNN中的各卷积层的初始权重值是使用以0为平均值且方差为0.01的高斯随机数来初始化的。
14.一种使用卷积神经网络“CNN”来检测图像中的特征点的设备,包括:
第一卷积处理单元,用于使用所述CNN中的第一类卷积层来处理所述图像的数据,以生成第一处理数据,所述第一类卷积层包括针对同一输入数据的不同感受野具有非共享权值的卷积核;
第二卷积处理单元,用于使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括针对同一输入数据的不同感受野具有共享权值的卷积核;以及
特征点确定单元,用于基于所述第二处理数据来确定所述图像中的特征点。
15.一种存储指令的计算机可读存储介质,当所述指令在由计算机执行时,使得所述计算机:
使用卷积神经网络“CNN”中的第一类卷积层来处理图像的数据,以生成第一处理数据,所述第一类卷积层包括针对同一输入数据的不同感受野具有非共享权值的卷积核;
使用所述CNN中的第二类卷积层来处理所述第一处理数据,以生成第二处理数据,所述第二类卷积层包括针对同一输入数据的不同感受野具有共享权值的卷积核;以及
基于所述第二处理数据来确定所述图像中的特征点。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003459.0A CN108268885B (zh) | 2017-01-03 | 2017-01-03 | 特征点检测方法、设备和计算机可读存储介质 |
EP17835991.5A EP3567516B1 (en) | 2017-01-03 | 2017-07-17 | Method and device for detecting feature point in image, and computer-readable storage medium |
PCT/CN2017/093151 WO2018126638A1 (zh) | 2017-01-03 | 2017-07-17 | 检测图像中的特征点的方法、设备和计算机可读存储介质 |
US15/751,325 US10579862B2 (en) | 2017-01-03 | 2017-07-17 | Method, device, and computer readable storage medium for detecting feature points in an image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003459.0A CN108268885B (zh) | 2017-01-03 | 2017-01-03 | 特征点检测方法、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268885A CN108268885A (zh) | 2018-07-10 |
CN108268885B true CN108268885B (zh) | 2020-06-30 |
Family
ID=62770808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710003459.0A Active CN108268885B (zh) | 2017-01-03 | 2017-01-03 | 特征点检测方法、设备和计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10579862B2 (zh) |
EP (1) | EP3567516B1 (zh) |
CN (1) | CN108268885B (zh) |
WO (1) | WO2018126638A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
CN107622240B (zh) * | 2017-09-21 | 2023-10-13 | 百度在线网络技术(北京)有限公司 | 人脸检测方法和装置 |
US10878592B2 (en) * | 2018-05-23 | 2020-12-29 | Apical Limited | Video data processing |
CN109241835A (zh) * | 2018-07-27 | 2019-01-18 | 上海商汤智能科技有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN109508700A (zh) * | 2018-12-28 | 2019-03-22 | 广州粤建三和软件股份有限公司 | 一种人脸识别方法、系统及存储介质 |
CN109886107A (zh) * | 2019-01-15 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 眼部图像处理方法、设备、图像处理设备、介质 |
CN109886341B (zh) * | 2019-02-25 | 2021-03-02 | 厦门美图之家科技有限公司 | 一种训练生成人脸检测模型的方法 |
CN110084318B (zh) * | 2019-05-07 | 2020-10-02 | 哈尔滨理工大学 | 一种结合卷积神经网络和梯度提升树的图像识别方法 |
CN110378262B (zh) * | 2019-07-08 | 2022-12-13 | 深圳大学 | 基于加性高斯核的核非负矩阵分解人脸识别方法、装置、系统及存储介质 |
CN111507963B (zh) * | 2020-04-17 | 2023-08-29 | 无锡雪浪数制科技有限公司 | 一种基于目标检测的煤矿异物剔除方法 |
CN111783519B (zh) * | 2020-05-15 | 2024-09-20 | 北京迈格威科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113936163B (zh) * | 2020-07-14 | 2024-10-15 | 武汉Tcl集团工业研究院有限公司 | 一种图像处理方法、终端以及存储介质 |
CN112084911B (zh) * | 2020-08-28 | 2023-03-07 | 安徽清新互联信息科技有限公司 | 一种基于全局注意力的人脸特征点定位方法及系统 |
CN112507963B (zh) * | 2020-12-22 | 2023-08-25 | 华南理工大学 | 一种批量口罩人脸样本自动生成以及口罩人脸识别方法 |
EP4268077A4 (en) * | 2020-12-24 | 2024-07-17 | Intel Corp | METHODS, SYSTEMS, ARTICLES OF MANUFACTURE AND APPARATUS FOR OPTIMIZING RESOURCES IN EDGE NETWORKS |
CN112581465B (zh) * | 2020-12-28 | 2023-04-07 | 西安邮电大学 | 一种焊缝缺陷检测方法、系统、终端及存储介质 |
CN112818168B (zh) * | 2021-01-29 | 2023-08-25 | 浙江闪链科技有限公司 | 基于视频人脸识别对电梯媒体播放序列进行控制的方法 |
CN113239898A (zh) * | 2021-06-17 | 2021-08-10 | 阿波罗智联(北京)科技有限公司 | 用于处理图像的方法、路侧设备和云控平台 |
CN113487022A (zh) * | 2021-06-17 | 2021-10-08 | 千芯半导体科技(北京)有限公司 | 适用于硬件电路的高精度压缩方法、装置及电子设备 |
CN117592521B (zh) * | 2023-11-28 | 2024-06-28 | 浙江大学 | 一种用于全同态cnn推理的批量编码方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1445715A (zh) * | 2002-03-15 | 2003-10-01 | 微软公司 | 便于模式识别的系统和方法 |
CN103824054A (zh) * | 2014-02-17 | 2014-05-28 | 北京旷视科技有限公司 | 一种基于级联深度神经网络的人脸属性识别方法 |
CN104809443A (zh) * | 2015-05-05 | 2015-07-29 | 上海交通大学 | 基于卷积神经网络的车牌检测方法及系统 |
CN105956572A (zh) * | 2016-05-15 | 2016-09-21 | 北京工业大学 | 一种基于卷积神经网络的活体人脸检测方法 |
CN105981041A (zh) * | 2014-05-29 | 2016-09-28 | 北京旷视科技有限公司 | 使用粗到细级联神经网络的面部关键点定位 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105960647B (zh) * | 2014-05-29 | 2020-06-09 | 北京旷视科技有限公司 | 紧凑人脸表示 |
US10489703B2 (en) * | 2015-05-20 | 2019-11-26 | Nec Corporation | Memory efficiency for convolutional neural networks operating on graphics processing units |
US10438112B2 (en) * | 2015-05-26 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus of learning neural network via hierarchical ensemble learning |
US10635949B2 (en) * | 2015-07-07 | 2020-04-28 | Xerox Corporation | Latent embeddings for word images and their semantics |
-
2017
- 2017-01-03 CN CN201710003459.0A patent/CN108268885B/zh active Active
- 2017-07-17 EP EP17835991.5A patent/EP3567516B1/en active Active
- 2017-07-17 US US15/751,325 patent/US10579862B2/en active Active
- 2017-07-17 WO PCT/CN2017/093151 patent/WO2018126638A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1445715A (zh) * | 2002-03-15 | 2003-10-01 | 微软公司 | 便于模式识别的系统和方法 |
CN103824054A (zh) * | 2014-02-17 | 2014-05-28 | 北京旷视科技有限公司 | 一种基于级联深度神经网络的人脸属性识别方法 |
CN105981041A (zh) * | 2014-05-29 | 2016-09-28 | 北京旷视科技有限公司 | 使用粗到细级联神经网络的面部关键点定位 |
CN104809443A (zh) * | 2015-05-05 | 2015-07-29 | 上海交通大学 | 基于卷积神经网络的车牌检测方法及系统 |
CN105956572A (zh) * | 2016-05-15 | 2016-09-21 | 北京工业大学 | 一种基于卷积神经网络的活体人脸检测方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3567516B1 (en) | 2023-04-19 |
EP3567516A1 (en) | 2019-11-13 |
WO2018126638A1 (zh) | 2018-07-12 |
EP3567516A4 (en) | 2020-10-07 |
CN108268885A (zh) | 2018-07-10 |
US10579862B2 (en) | 2020-03-03 |
US20190266387A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268885B (zh) | 特征点检测方法、设备和计算机可读存储介质 | |
CN109635141B (zh) | 用于检索图像的方法、电子设备和计算机可读存储介质 | |
JP7282810B2 (ja) | 視線追跡方法およびシステム | |
US10410353B2 (en) | Multi-label semantic boundary detection system | |
CN110135406B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
EP3605388B1 (en) | Face detection method and apparatus, computer device, and storage medium | |
CN108364023A (zh) | 基于注意力模型的图像识别方法和系统 | |
JP2020513637A (ja) | データ管理のためのシステム及び方法 | |
EP3923233A1 (en) | Image denoising method and apparatus | |
CN107292352B (zh) | 基于卷积神经网络的图像分类方法和装置 | |
KR20210028185A (ko) | 사람 자세 분석 시스템 및 방법 | |
Okafor et al. | An analysis of rotation matrix and colour constancy data augmentation in classifying images of animals | |
US11574500B2 (en) | Real-time facial landmark detection | |
CN111183455A (zh) | 图像数据处理系统与方法 | |
CN109271930A (zh) | 微表情识别方法、装置与存储介质 | |
CN111259838A (zh) | 服务机器人服务环境下深度理解人体行为的方法及系统 | |
KR102434038B1 (ko) | 카메라 모듈을 이용한 클라우드 기반 피부 분석 시스템 및 방법 | |
KR102300459B1 (ko) | 딥러닝 기반의 뇌-컴퓨터 인터페이스를 위한 공간-주파수 특징맵을 생성하는 장치 및 방법 | |
CN116704206B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN111435448B (zh) | 图像显著性物体检测方法、装置、设备及介质 | |
US20230093827A1 (en) | Image processing framework for performing object depth estimation | |
CN116958718A (zh) | 向量确定方法、装置、计算机设备和存储介质 | |
WO2023250223A1 (en) | View dependent three-dimensional morphable models | |
CN109359560A (zh) | 基于深度学习神经网络的图表识别方法、装置及设备 | |
WO2023003642A1 (en) | Adaptive bounding for three-dimensional morphable models |
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 |