CN112417947A - 关键点检测模型的优化及面部关键点的检测方法及装置 - Google Patents
关键点检测模型的优化及面部关键点的检测方法及装置 Download PDFInfo
- Publication number
- CN112417947A CN112417947A CN202010982598.4A CN202010982598A CN112417947A CN 112417947 A CN112417947 A CN 112417947A CN 202010982598 A CN202010982598 A CN 202010982598A CN 112417947 A CN112417947 A CN 112417947A
- Authority
- CN
- China
- Prior art keywords
- sample image
- key point
- detection model
- keypoint
- facial
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种关键点检测模型的优化及面部关键点的检测方法及装置,用于解决在一些特殊场景下对面部关键点识别准确率不高的问题。本申请中先对关键点检测模型进行训练后采用该模型对训练样本进行面部关键点检测,并对训练样本进行面部偏转角检测得到面部偏转角以及面部关键点。然后基于面部关键点和训练样本的期望值进行比对,得到关键点检测模型的损失,并采用面部偏转角对训练样本的损失进行调整,重新对关键点检测模型进行训练,从而达到优化关键点检测模型的目的。由此,最终优化的关键点检测模型参考了面部偏转角信息对训练样本进行学习,使得最终训练的关键点检测模型不仅能够适用于正常角度情况,也能够适用于大角度场景。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种关键点检测模型的优化及面部关键点的检测方法及装置。
背景技术
随着计算机视觉技术的发展,计算机对人脸的理解越来越成熟。很多应用基于人脸关键点来完成,例如人脸识别、表情识别、人脸编辑等。
人脸对齐(Face Alignment)又称为人脸关键点检测,是计算机视觉中的重要课题,并在过去几年中得到了广泛的应用。
人脸对齐仍然面临着严峻的挑战。例如,在大角度场景中,一般包括两种情况,一种为对于头部左右摆动导致的拍摄到侧脸情况,另一种为在针对头部的俯仰视角下,得到的俯仰角较大的场景。而人脸关键点检测在大角度场景下准确率有待提高。
发明内容
本申请的目的是提供一种关键点检测模型的优化及面部关键点的检测方法及相关装置,用于解决相关技术中人脸关键点检测在大角度场景下准确率有待提高的问题。
第一方面,本申请实施例提供一种关键点检测模型的优化方法,所述关键点检测模型用于从已知图像中检测面部关键点,所述关键点检测模型为已训练的初始模型,所述方法包括:
获取第一样本图像集;所述第一样本图像集中包括多个第一样本图像,每个所述第一样本图像关联有第一面部关键点期望结果;
针对每个所述第一样本图像分别执行以下操作,得到所述第一样本图像的关键点损失值:
分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理,得到由所述角度检测模型输出的面部偏转角检测结果,以及所述关键点检测模型输出的关键点检测结果;
确定所述关键点检测结果和所述第一面部关键点期望结果之间的关键点损失信息;
采用所述面部偏转角检测结果对所述关键点损失信息进行调整,得到所述第一样本图像的所述关键点损失值;
采用各个所述第一样本图像的所述关键点损失值,确定出第一总损失值;
根据所述第一总损失值优化所述关键点检测模型的参数。
第二方面,本申请实施例还提供一种关键点检测方法,所述方法包括:
获取待检测图像;
将所述待检测图像输入本申请实施例提供的任一所述的关键点检测模型,得到所述待检测图像中的面部关键点。
第三方面,本申请实施例还提供一种关键点检测模型的优化装置,所述关键点检测模型用于从已知图像中检测面部关键点,所述关键点检测模型为已训练的初始模型,所述装置包括:
第一样本获取模块,用于获取第一样本图像集;所述第一样本图像集中包括多个第一样本图像,每个所述第一样本图像关联有第一面部关键点期望结果;
第一图像损失确定模块,用于针对每个所述第一样本图像分别执行以下操作,得到所述第一样本图像的关键点损失值:
分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理,得到由所述角度检测模型输出的面部偏转角检测结果,以及所述关键点检测模型输出的关键点检测结果;
确定所述关键点检测结果和所述第一面部关键点期望结果之间的关键点损失信息;
采用所述面部偏转角检测结果对所述关键点损失信息进行调整,
得到所述第一样本图像的所述关键点损失值;
第一总损失确定模块,用于采用各个所述第一样本图像的所述关键点损失值,确定出第一总损失值;
优化模块,用于根据所述第一总损失值优化所述关键点检测模型的参数。
第四方面,本申请还提供一种关键点检测装置,所述装置包括:
待检测图像获取模块,用于获取待检测图像;
检测模块,用于将所述待检测图像输入至本申请实施例提供的任一所述的关键点检测模型,得到所述待检测图像中的面部关键点。
第五方面,本申请另一实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任一关键点检测模型的优化或关键点检测方法。
第六方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行本申请实施例中的任一关键点检测模型的优化或关键点检测方法。
本申请实施例,先对关键点检测模型进行训练,然后采用该关键点检测模型对训练样本进行面部关键点检测,并对训练样本进行面部偏转角检测,从而获得训练样本的面部偏转角以及面部关键点。然后基于面部关键点和训练样本的期望值进行比对,得到关键点检测模型的损失,并采用面部偏转角对训练样本的损失进行调整,重新对关键点检测模型进行训练,从而达到优化关键点检测模型的目的。由此,最终优化的关键点检测模型参考了面部偏转角信息对训练样本进行学习,使得最终训练的关键点检测模型不仅能够适用于正常角度情况,也能够适用于大角度场景。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请一个实施例的应用场景示意图;
图2为根据本申请一个实施例的关键点检测模型和角度检测模型的结构示意图;
图3为根据本申请一个实施例的关键点模型的训练流程示意图;
图4为根据本申请一个实施例的构建第三样本图像集的流程示意图;
图5为根据本申请一个实施例的对样本图像进行对齐的示意图;
图6为根据本申请一个实施例的关键点检测模型的训练流程示意图;
图7a-图7b为根据本申请实施例的关键点检测模型的结构示意图;
图8为根据本申请一个实施例角度检测模型的结构示意图;
图9为根据本申请一个实施例的训练角度检测模型的流程示意图;
图10为根据本申请一个实施例的关键点检测模型的优化流程示意图;
图11为根据本申请一个实施例的关键点检测方法的流程示意图;
图12a-图12b为根据本申请一个实施例的相关装置的结构示意图;
图13为根据本申请一个实施例的电子设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为便于理解本申请实施例提供的技术方案,这里先对本申请涉及的一些技术名称进行解释说明:
面部关键点,本申请实施例中,面部可以包括人脸也可以包括动物的五官。例如,猫、狗等人们喜欢的宠物。这些宠物在短视频制作、影视特效中也有其相应的用途。故此,面部关键点,顾名思义为用于描述面部特征的特征点。
相关技术中,对同一面部进行特征描述的面部关键点的标注不统一,例如可98个关键点的数据集、68个关键点的数据集、11个关键点数据集、甚至还有5个关键点数据集等。采用不同数量的关键点的数据集对面部特征的位置取点有些重合,亦或者有些不同。本申请实施例为了能够优化模型使其能够更加准确的检测出面部关键点,可采用标注不一数据集进行训练。
关键点检测模型,本申请中关键点检测模型用于从已知图像中检测面部关键点,以此来描述面部特征。
面部偏转角,可包括俯仰角和侧脸角度。
第一样本图像集,包括第一样本图像及其对应的第一面部关键点期望结果,即样本标签,用于在训练好角度检测模型后采用该第一样本图像集对已经过训练的关键点检测模型进行参数优化。
第二样本图像集,包括第二样本图像,其标注的标签为第二样本图像中的面部偏转角,后文称之为面部偏转角期望结果,用于训练角度检测模型。
第三样本图像集,包括第三样本图像,其标签为从第三样本图像的第二面部关键点期望结果,用于对初始的关键点检测模型进行训练。训练之后会采用第一样本图像集对关键点检测模型进行优化。实施时,第三样本图像集可以为第一样本图像集,也可以为第一样本图像集和第二样本图像集的并集。
第四样本图像集,其为针对第三样本图像集中的第三样本图像进行缩放处理后得到。其作用用于对采用角度检测模型优化后的关键点检测模型再次进行优化,以便于关键点检测模型能够适用图像中面部较小的情况。
如背景技术所述,现有的关键点检测模型大多仅适用正常角度的情况,而对于面部偏转角较大的情况难以适用。有鉴于此本申请提出了一种关键点检测模型的优化及面部关键点的检测方法及相关装置。
在本申请中提供的技术方案中,为了能适应大角度场景,其发明构思可概括为:先对关键点检测模型进行训练,然后采用该关键点检测模型对训练样本进行面部关键点检测,并对训练样本进行面部偏转角检测,从而获得训练样本的面部偏转角以及面部关键点。然后基于面部关键点和训练样本的期望值进行比对,得到关键点检测模型的损失,并采用面部偏转角对训练样本的损失进行调整,重新对关键点检测模型进行训练,从而达到优化关键点检测模型的目的。由此,最终优化的关键点检测模型参考了面部偏转角信息对训练样本进行学习,使得最终训练的关键点检测模型不仅能够适用于正常角度情况,也能够适用于大角度场景。
进一步的,本申请实施例中为了能够适应更多复杂的场景,例如模糊、遮挡场景和小人脸场景也做了相应优化,并采用多种数据集对关键点检测模型进行训练来提高关键点检测模型的准确性。
下面结合附图对本申请实施例提供的关键点检测模型的优化及面部关键点的检测方法及相关装置进行说明。
如图1所示为本申请实施例的应用场景示意图。该应用环境中例如存储***10、服务器20以及终端设备30构成(如图1中的终端设备30_1、30_2、30_N)。终端设备30可用来进行网络访问的任何合适的电子设备,包括但不限于监控设备、计算机、笔记本电脑、智能电话、平板电脑或是其它类型的终端。存储***10能够存储被访问的数据例如监控设备的配置信息,录制的监控画面等。服务器20用于实现与终端设备30的交互,从存储***中获取数据返回给终端设备30。
本申请实施例中,关键点检测模型可部署在服务器20,并对终端设备30传输的画面进行面部关键点检测,其检测结果可分发给相应的终端设备30。
当然,如果终端设备30的处理性能能够满足关键点检测模型的运行需求,也可以将关键点检测模型部署在终端30中,本申请对此不作限定。
终端设备30之间(例如,30_1与30_2或30_N之间)也可以经由网络40彼此通信。网络40可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。
本申请中的描述中仅就单个服务器或终端设备加以详述,但是本领域技术人员应当理解的是,示出的单个服务器20、终端设备30和存储***10旨在表示本申请中的技术方案涉及终端设备、服务器以及存储***的操作。对单个终端设备以及单个服务器和存储***加以详述至少为了说明方便,而非暗示对终端设备和服务器的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本申请中的示例实施例的底层概念。另外,虽然为了方便说明而在图2中示出了从存储***10到服务器20的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是可以通过网络40实现的。
如图2所示,为本申请提供的在训练阶段用于优化关键点检测模型的结构示意图。其中,包括关键点检测模型20以及角度检测模型21。角度检测模型用于识别图像中的面部偏转角;关键点检测模型20用于对图像进行面部特征识别,得到面部关键点,该模型可包括第一特征提取网络201、第二特征提取网络202、以及后处理网络203。
第一特征提取网络201,用于对样本图像进行特征提取得到初步特征信息;
第二特征提取网络202,用于以第一特征提取网络的输出作为输入,对初步特征信息进一步进行特征分析,得到高层特征,并交由后处理网络203对高层特征进行分析处理,得到最终检测的面部关键点。
如图2所示,角度检测模型21,用于以第一特征提取网络201的输出作为输入,对样本图像的面部偏转角进行检测,并输出检测得到的面部偏转角;
由此,本申请实施例中,角度检测模型相当于复用了关键点检测模型的第一特征提取网络,使得角度检测模型检测的特征和关键点检测模型的中间特征高度重合,实现了角度检测模型和关键点检测模型的特征共享。由此,不仅实现了对第一特征提取网络的复用,还使得角度检测模型给出的面部偏转角能够很好的适应关键点检测模型,以便于采用角度检测网络能够对关键点检测模型的模型参数进行优化。
对检测模型的整个训练过程可分为三个阶段:
第一阶段:先采用多个数据集构建一个第三样本图像集,基于第三样本图像集对检测模型进行初步训练,得到已训练的初始模型。如图3包括以下流程:
a)、样本集的构建
如前文所述,为了丰富样本数量,本申请实施例中可以将数量不等的标注样本统一在一起对关键点检测模型进行训练。故此,在步骤301中,获取多个数据集,其中多个数据集中包括面部关键点数量为指定数量的第一数据集,以及面部关键点数量不等于指定数量的第二数据集;
例如,例如当以68个点的数据库作为第一数据集时,收集68个点的数据集,可包括300W、300VW、UTKFace等数据集。其中,为了丰富样本,可对300W数据集做数据增强,每张300W人脸图片可通过仿射变换旋转出10(可根据实际需求设定具体数量)张人脸图片来丰富数据集。
此外,可以98个点的WFLW数据集以及5个点的celebA数据集和其他小于68个点的数据集作为第二数据集。
为了能够兼容不同标注数量的数据集对关键点检测模型进行训练,在步骤302中,可以指定数量的关键点位置为标准位置模板,对第二数据集中各原始样本图像的面部关键点进行调整,以使原始样本图像的面部关键点与第一数据集的关键点位置对齐;
例如,在一种实施例中,可以找到用于表达相同位置的关键点,然后将非68个点的样本图像中空余位置的关键点进行标注出来,得到68个点的样本图像。
例如,针对11个关键点的样本图像,若其中仅有10个关键点与68个关键点的样本图像位置相同,则将这10个关键点保留下来,其他关键点从样本图像中剔除。为了将10个关键点扩充到68个位置关键点。空余位置的关键点可采用人工标注或机器标注的方法补齐其他关键点。
为了提高处理效率,避免人工标注或机器标注,本申请实施例中还提供了一种简单的方式来实现原始样本图像的面部关键点与第一数据集的关键点位置对齐,针对每个原始样本图像分别执行如图4所示的步骤:
在步骤401中,将原始样本图像的面部关键点与标准位置模板进行匹配操作,得到与标注位置模板匹配的面部关键点作为对齐关键点;
例如,如图5所示,以98个关键点的原始样本图像与68个关键点的标准位置模板进行比较。图5中左侧图像为98个关键点的原始样本图像,右侧图像为68个关键点的标准位置模板。通过比对可知,98个关键点的原始样本图像中,完全包括68个位置的关键点。例如原始样本图像中标号为68的点与标准位置模板中标号为37的点(即右眼角点)对齐,这样可以找到98个关键点中与标准位置模板的所有位置对齐的点,作为对齐关键点。
当然,当原始样本图像中的关键点数量少于68个点时,则标准位置模板中将有部分位置匹配不到对齐关键点。故此,针对98个关键点的情况以及少于68个关键点的情况,本申请实施例可分情况进行处理,可实施为在步骤402中,若原始样本图像中的面部关键点数量大于指定数量,则将原始样本图像中的对齐关键点之外的面部关键点滤除,并以对齐关键点的位置信息作为原始样本图像的第二面部关键点期望结果;
例如,将98个关键点中的对齐关键点按照68个关键点的标准位置模板重新进行编号,并采用补齐关键点的位置信息作为相应位置关键点的第二面部关键点期望结果。
在另一个实施例中,还可以根据98个关键点以及68个关键点的数据集,整合出标准关键点模板,然后将样本图像与标准关键点模板的同一位置上的偏移量作为相应位置的第二面部关键点期望结果。
例如,可实施为从调整后的第二数据集中获取原始面部关键点数量大于指定数量的原始样本图像构成第三数据集,也即第三数据集中每个标准位置均有对应的关键点;然后确定第一数据集以及第三数据集中的相同位置的面部关键点的均值,并采用各面部关键点的均值构成标准面部关键点模板,也即每个位置计算出关键点均值坐标作为该位置的标准关键点;然后,确定出样本图像与标准面部关键点模板中同一位置的面部关键点之间的偏移量,并以偏移量作为对应位置的面部关键点的第二面部关键点期望结果。
在步骤403中,对于原始样本图像中的面部关键点数量小于指定数量的情况,则将原始样本图像中的对齐关键点之外的面部关键点滤除之后,采用指定值补齐标注位置模板中未匹配到对齐关键点的关键点位置进行标记得到原始样本图像的补齐关键点,并以对齐关键点的位置信息作为原始样本图像的第二面部关键点期望结果。
例如,当原始样本图像中原来标注的关键点数量少于68个时,为了扩充到68个关键点,可以对空缺位置采用预设值进行补充。该预设值可以根据实际需求设置,只要该预设值能够标识该位置的关键点是补齐的而不是真正的关键点即可,在后续计算损失时,补齐位置的补齐关键点可不参与损失计算。一种简单的扩充方法为:与68个点的标签对应的点保留,没有在68个点中的点舍弃,其他位置补0。
由于检测模型能够学习到少于68个关键点的样本图像的特征,并对其完成关键点检测,使得最终信息的关键点检测模型的效果更好。
在将第二数据集的样本图像标准化到68个关键点之后,在步骤303中,采用第一数据集以及调整后的第二数据集构建第三样本图像集。然后,在步骤304中,采用第三样本图像集对关键点检测模型进行训练得到已训练的初始模型。
b)、训练关键点检测模型得到初始模型
训练关键点检测模型得到初始模型的一种可能的实施方式为:分别计算出第三样本图像集中各第三样本图像的关键点损失值,然后基于各第三样本图像集的关键点损失值训练关键点检测模型。如图6所述,可包括以下步骤:
在步骤601中,采用关键点检测模型对第三样本图像进行面部关键点检测,得到关键点识别结果;
在步骤602中,若第三样本图像中不存在补齐关键点,则将关键点识别结果中各关键点检测值与第二面部关键点期望结果中的对应关键点位置进行比较,得到第三样本图像的关键点损失值;
在步骤603中,若第三样本图像中存在补齐关键点,则将关键点识别结果中各对齐关键点的检测值与第二面部关键点期望结果中的对应关键点位置进行比较,得到由各补齐关键点的损失分量确定的第三样本图像的关键点损失值;
也即,对应补齐关键点其损失为0。
在步骤604中,采用各第三样本图像的关键点损失值确定第二总损失值;
在步骤605中,采用第二总损失值调整关键点检测模型的参数,得到已训练的初始模型。
实施时,训练关键点检测模型所采用的损失函数中,损失值与面部关键点检测值和相应的期望值之间的距离正相关,且与每张样本图像的瞳孔间距负相关。由此可以基于瞳孔间距作为一种限制条件对关键点检测模型的参数进行优化。
例如,当以偏移量为第二面部关键点期望结果时,关键点检测模型的损失函数的表达式如公式(1)所示:
其中,loss表示总损失值(如第一总损失值,第二总损失值),N表示样本图像的总数量,m表示指定数量,表示第n张样本图像中的第i个面部关键点的第一坐标检测值(如在图像中的横坐标值),表示第n张样本图像中的第i个面部关键点在第二面部关键点期望结果中的第一坐标期望值;表示第n张样本图像中的第i个面部关键点的第二坐标检测值(如在图像中的纵坐标值),表示第n张样本图像中的第i个面部关键点在第二面部关键点期望结果中的第二坐标期望值;表示第n张样本图像中左眼瞳孔的第一坐标值,表示第n张样本图像中右眼瞳孔的第一坐标值,表示第n张样本图像中左眼瞳孔的第二坐标值,表示第n张样本图像中右眼瞳孔的第二坐标值。
在一些实施例中,在关键点检测模型中的第一特征提取网络和第二特征提取网络中均包括多个卷积块。例如图7a所示,为第一特征提取网络和第二特征提取网络与角度检测网络的结构示意图。在图7a中,卷积块1、卷积块2以及卷积块3属于第一特征提取网络,卷积块4和卷积块5属于第二特征提取网络。其中,在这多个卷积块中,可存在至少一个卷积块与指定大小的卷积核的卷积块并联设置构成目标卷积块。也即,目标卷积块中包括并联设置的第一特征提取块和第二特征提取块,第二特征提取块中包括设置有指定卷积核的卷积层,例如卷积核大小可设置为1*1。其中,目标卷积块用于对输入信息分别采用第一特征提取块和第二特征提取块进行特征提取,得到第一特征提取块输出的第一特征分量和第二特征提取块输出的第二特征分量;由此通过并联设置的两个卷积块可以增加输出的特征信息的通道channl数,增加图像的特征。如图7a所示,每个卷积块之前的向上箭头表示由相应的1*1卷积核的卷积块对输入的信息进行处理。以卷积块1为例,卷积块1之前的1*1卷积块对输入给卷积块1的输入信息进行处理,并将处理结果和卷积块1的处理结果进行融合后交由卷积块2进行处理。
此外,本申请实施例中,为了能够将底层特征和高层特征进行融合,以使得最终提取的图像特征中能够兼容全局和细节的特征信息,本申请实施例中,如图7a所示,对输入卷积块1的特征以及卷积块3输入的特征进行下采样后交由卷积块4进行处理。由此,卷积块4输出的结果中能够融合底层特征和高层特征。
如图7b所示,为本申请实施例中提供的关键点检测模型的另一结构示意图。在图7b中,浅色背景的且实线边框内为各个卷积块,深灰色底纹的为用于增加通道数量的卷积块B。从图7b中可知,卷积块1-4中并联设置了融合块B。卷积块3中融合了底层卷积块0的特征以及卷积块2提取的特征。且卷积块1和卷积块3之后连接有池化层pooling用于对特征进行下采样并输入提取高层特征的卷积块4。在图7b中,卷积块3的输出结果还可用于训练角度检测网络,并且在训练好角度检测网络之后,由角度检测模型对样本图像的面部偏转角进行检测以优化关键点检测模型。
第二阶段,训练角度检测模型
如图8所示,为本申请实施例提供的角度检测模型的一种结构示意图,该角度检测模型中包括两个结构相同的卷积块M、一个池化层、两个多层感知层InnerProduct。其中,卷积块M中包括:卷积层Convolution、加速层Batchnorm(用于是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法)、映射层scale(用于将数据映射到特定取值范围)、以及非线性激活层Relu。采用Relu激活函数,可以节省整个过程的计算量,也可以减少了参数的相互依存关系,缓解过拟合问题的发生。
此外,角度检测模型中的最后一层可以仅由多层感知层构成,倒数第二个多层感知层中可融入其他神经网络层,例如如图8所示,可包括:多层感知层、Batchnorm层、映射层scale以及Relu层。
如图9所示,为本申请实施例中训练角度检测模型的流程示意图,包括以下步骤:
首先采集大角度的样本图像,然后标注面部偏转角作为相应样本图像的面部偏转角期望结果。由此基于大角度的样本图像构成第二样本数据集,然后在步骤901中,获取第二样本图像集之后,在步骤902中,将第二样本图像集输入至关键点检测模型,获取关键点检测模型的指定卷积块(如图7a中的卷积块3)输出的各第二样本图像的特征信息;在步骤903中,以各第二样本图像的特征信息作为角度检测模型的输入,并以各第二样本图像的面部偏转角期望结果作为角度检测模型的期望输出,对角度检测模型进行训练直至角度检测模型训练收敛。其中训练收敛可以是角度检测模型的损失不再下降或者对第二样本图像集迭代信息指定次数。
在训练好角度检测模型之后,可以使用角度检测模型对之前训练好的关键点检测模型进行优化。
第三阶段,采用角度检测模型对关键点检测模型进行优化:
如图10所示,为本申请实施例提供的对关键点检测模型的优化方法的流程示意图,包括以下步骤:
先构建第一样本集,该第一样本图像集中包括多个第一样本图像,每个第一样本图像关联有第一面部关键点期望结果;实施时,第一样本集可以和第三样本集为同一样本集,也可以不为同一样本集,本申请对此不作限定。然后在步骤1001中,获取第一样本图像集;之后在步骤1002中,针对每个第一样本图像分别执行以下操作,得到第一样本图像的关键点损失值,包括:
步骤1021:分别采用角度检测模型和关键点检测模型对第一样本图像进行处理,得到由角度检测模型输出的面部偏转角检测结果,以及关键点检测模型输出的关键点检测结果。
步骤1022:确定关键点检测结果和第一面部关键点期望结果之间的关键点损失信息;
步骤1023:采用面部偏转角检测结果对关键点损失信息进行调整,得到第一样本图像的关键点损失值;
其中,在一个实施例中,可以基于面部偏转角确定相应的权重因子,对关键点损失信息进行调整。例如,角度检测模型输出的面部偏转角为欧拉角,可以根据以下权重设置公式(2),确定面部偏转角度检测结果对应的权重因子:
其中,w表示权重因子,Yaw表示欧拉角中的偏航角,Pitch表示欧拉角中的俯仰角;
然后,采用权重因子对关键点损失信息进行加权处理,得到第一样本图像的关键点损失值。
也即,一张样本图像采用各个关键点检测结果计算出一个对应的关键点损失值,然后此阿勇该样本图像的面部偏转角确定出权重因子,采用该权重因子调整该张样本图像的关键点损失值,得到该样本图像的最终损失。
当得到各个第一样本图像的关键点损失值之后,可以采用关键点检测模型的损失函数计算总的损失值,可实施为在步骤1003中,采用各个第一样本图像的关键点损失值,确定出第一总损失值;然后在步骤1004中,根据第一总损失值优化关键点检测模型的参数。
在另一个实施例中,为了使得关键点检测模型能够适用于一些模糊、遮挡等场景,本申请实施例中,采用在关键点检测模型的每个卷积层后面添加DropBlock(卷积正则化方法层)的处理方式。此外,还可以进一步在训练时对训练样本进行在线加噪声例如,可通过高斯模糊和/或随机檫除等操作实现加噪处理。
在另一个实施例中,为了弥补相关技术中的关键点检测模型对于较小的面部图像准确率不高的问题,本申请实施例中,在基于角度检测模型优化关键点检测模型之后,还可以对第三样本图像集中的样本图像进行缩小处理之后得到第四样本图像集。然后采用第四样本图像集对优化后的关键点检测模型继续进行优化。
下面以人脸关键点检测为例,对关键点检测模型的训练进行说明:
首先,下载所需的数据集300W、300VW、WFLW等,通过自定进行人脸检测,检测出人脸,并获取对应的标注数据。为了能够更好的优化关键点检测模型,对300W的样本通过仿射变换旋转出不同角度的多张人脸来扩展样本。对应的标签位置随着方式变换也做应的旋转以使得扩展的样本中关键点和标签匹配。对WFLW样本按照与68个点对应位置的坐标把对应的关键点提取出来。并在多个数据集上求均值,生成均值文件(也即关键点标准模板)。求均值方式为将每张图片上同一位置处的关键点的坐标相加然后取均值。实际上均值是一张标准的人脸特征点,计算每张样本图像上的关键点均需要与相应的均值计算偏移量,并用偏移量作为样本图像的关键点的标签label。比如第一张图片中鼻尖点的坐标为(x,y),鼻尖点均值为(x1,y1),则偏移量为(x-x1,y-y1)。由此得到第三样本图像集。
同时,需要构建用于训练角度检测模型的第二样本图像集。例如,在安防场景中,可以获取各种安防场景下的人脸数据,主要包括大角度和口罩等遮挡人脸,对这些人脸人工标注后转换为68个点。转换方式为仅保留左右眼角点、鼻尖点和嘴角点的值,其他点的坐标为0。并按照计算偏移量,计算第二样本图像集中各样本图像的偏移量,需要说明的是补0位置的关键点其偏移量仍设置为0。
采用第三样本图像集对初始的关键点检测模型进行训练,可设置学习率为0.0001,迭代200000次后学习率减小为原来的0.1倍。总共迭代100万次后停止训练。然后固定住主干网络(如图7b中前三个卷积块的模型参数)后,将第二样本图像集输入给关键点检测模型,对关键点检测模型进行训练。
然后可以由第三样本图像集和第二样本图像集构成第一样本图像集。将第一样本图像集分别输入至关键点检测模型得到面部关键点检测结果,并输入给角度检测模型得到面部偏转角检测结果。并基于面部偏转角检测结果计算权重因子对相应样本图像的面部关键点检测结果的损失进行调整,从而优化关键点检测模型。
最后,为了适用于小人脸的场景,可以将第一样本图像集中的样本图像进行缩小得到第四样本图像集,然后采用第四样本图像集采用和第一样本图像集相同的方式进行处理,对关键点检测模型继续进行优化。
综上所述,首先本申请实施例中,使用不同标注数量的样本来扩充数据,能够有效解决68个点的样本不足的问题,同时因为利用其它数量的标注数据提供的图像特征,对模型效果带来较大的提升。本申请实施例训练得到的关键点检测模型能够适应各种复杂场景,尤其是安防领域各种遮挡、大角度、模糊和小人脸的问题,与很多先进的方法相比,本申请实施例能够在复杂场景下取得较好的效果,不但在正常场景中效果达到最优水平,在复杂场景中比很多先进方法好。本模型较小能够在1ms完成32张人脸的定点检测。如表1所述为本申请实施例对模型的测试效果。
表1在不同场景下的测试指标统计
测试数据 | 模糊人脸 | 模糊且大角度 | 正常角度 | 大角度人脸 | 口罩人脸 |
数量 | 1281 | 1851 | 1418 | 1667 | 103 |
平均像素偏差 | 1.23 | 1.66 | 1.48 | 2.3 | 2.8 |
由表1可知,本申请实施例训练的关键点检测模型在各种场景下都能够保证较小偏差,使得检测的准确性较为可靠。
基于相同的构思,本申请实施例还提出了一种面部关键点的检测方法,如图11所示,在该方法中,在步骤1101中,获取待检测图像之后,在步骤1102中,将该待检测图像输入至关键点检测模型,得到待检测图像中的面部关键点。
基于相同的构思,本申请实施例还提出了一种图像处理模型训练装置,所述图像处理模型包括价值网络以及策略网络。
图12a为根据本申请一个实施例的关键点检测模型的优化装置的结构示意图,所述关键点检测模型用于从已知图像中检测面部关键点,所述关键点检测模型为已训练的初始模型,该装置1200a可以包括:
第一样本获取模块1201,用于获取第一样本图像集;所述第一样本图像集中包括多个第一样本图像,每个所述第一样本图像关联有第一面部关键点期望结果;
第一图像损失确定模块1202,用于针对每个所述第一样本图像分别执行以下操作,得到所述第一样本图像的关键点损失值:
分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理,得到由所述角度检测模型输出的面部偏转角检测结果,以及所述关键点检测模型输出的关键点检测结果;
确定所述关键点检测结果和所述第一面部关键点期望结果之间的关键点损失信息;
采用所述面部偏转角检测结果对所述关键点损失信息进行调整,得到所述第一样本图像的所述关键点损失值;
第一总损失确定模块1203,用于采用各个所述第一样本图像的所述关键点损失值,确定出第一总损失值;
优化模块1204,用于根据所述第一总损失值优化所述关键点检测模型的参数。
在一些实施例中,所述关键点检测模型中包括多个卷积块,在所述分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理之前,所述装置还包括:
角度模型训练模块,用于根据以下方法训练所述角度检测模型:
获取第二样本图像集;所述第二样本图像集中包括多个第二样本图像,每个所述第二样本图像关联有面部偏转角期望结果;
将所述第二样本图像集输入至所述关键点检测模型,获取所述关键点检测模型的指定卷积块输出的各所述第二样本图像的特征信息;
以各所述第二样本图像的所述特征信息作为所述角度检测模型的输入,并以各所述第二样本图像的面部偏转角期望结果作为所述角度检测模型的期望输出,对所述角度检测模型进行训练。
在一些实施例中,所述装置还包括:
检测模型训练模块,用于根据以下单元对所述关键点检测模型进行预训练,得到所述已训练的初始模型:
数据集获取单元,用于获取多个数据集,其中所述多个数据集中包括面部关键点数量为指定数量的第一数据集,以及面部关键点数量不等于所述指定数量的第二数据集;
数据集处理单元,用于以所述指定数量的关键点位置为标准位置模板,对所述第二数据集中各原始样本图像的面部关键点进行调整,以使所述原始样本图像的面部关键点与所述第一数据集的关键点位置对齐;
第三样本构建单元,用于采用所述第一数据集以及调整后的所述第二数据集构建第三样本图像集;
模型训练单元,用于采用所述第三样本图像集对所述关键点检测模型进行训练得到所述已训练的初始模型。
在一些实施例中,所述数据集处理单元,用于:
针对每个所述原始样本图像分别执行:
将所述原始样本图像的面部关键点与所述标准位置模板进行匹配操作,得到与所述标注位置模板匹配的面部关键点作为对齐关键点;
若所述原始样本图像中的面部关键点数量大于所述指定数量,则将所述原始样本图像中的所述对齐关键点之外的面部关键点滤除,并以所述对齐关键点的位置信息作为所述原始样本图像的第二面部关键点期望结果;
若所述原始样本图像中的面部关键点数量小于所述指定数量,则将所述原始样本图像中的所述对齐关键点之外的面部关键点滤除之后,采用指定值补齐所述标注位置模板中未匹配到对齐关键点的关键点位置进行标记得到所述原始样本图像的补齐关键点,并以所述对齐关键点的位置信息作为所述原始样本图像的第二面部关键点期望结果。
在一些实施例中,所述模型训练单元,用于:
针对所述第三样本图像集中的各第三样本图像分别执行以下操作,得到所述第三样本图像的关键点损失值:
采用所述关键点检测模型对所述第三样本图像进行面部关键点检测,得到关键点识别结果;
若所述第三样本图像中不存在所述补齐关键点,则将所述关键点识别结果中各关键点检测值与所述第二面部关键点期望结果中的对应关键点位置进行比较,得到所述第三样本图像的关键点损失值;
若所述第三样本图像中存在所述补齐关键点,则将所述关键点识别结果中各所述对齐关键点的检测值与所述第二面部关键点期望结果中的对应关键点位置进行比较,得到由各所述补齐关键点的损失分量确定的所述第三样本图像的关键点损失值;
采用各所述第三样本图像的关键点损失值确定第二总损失值;
采用所述第二总损失值调整所述关键点检测模型的参数,得到所述已训练的初始模型。
在一些实施例中,所述第三样本构建单元,用于:
从调整后的所述第二数据集中获取原始面部关键点数量大于所述指定数量的原始样本图像构成第三数据集;
确定所述第一数据集以及所述第三数据集中的相同位置的面部关键点的均值,并采用各面部关键点的均值构成标准面部关键点模板;
对所述第一数据集以及调整后的所述第二数据集中的各待处理样本图像,分别执行:
确定所述待处理样本图像与所述标准面部关键点模板中同一位置的面部关键点之间的偏移量,并以所述偏移量作为对应位置的面部关键点的所述第二面部关键点期望结果。
在一些实施例中,在训练所述关键点检测模型所采用的损失函数中,损失值与面部关键点检测值和相应的期望值之间的距离正相关,且与每张样本图像的瞳孔间距负相关。
在一些实施例中,所述损失函数的表达式为:
其中,loss表示总损失值,N表示样本图像的总数量,m表示指定数量,表示第n张样本图像中的第i个面部关键点的第一坐标检测值,表示第n张样本图像中的第i个面部关键点在第二面部关键点期望结果中的第一坐标期望值;表示第n张样本图像中的第i个面部关键点的第二坐标检测值,表示第n张样本图像中的第i个面部关键点在第二面部关键点期望结果中的第二坐标期望值;表示第n张样本图像中左眼瞳孔的第一坐标值,表示第n张样本图像中右眼瞳孔的第一坐标值,表示第n张样本图像中左眼瞳孔的第二坐标值,表示第n张样本图像中右眼瞳孔的第二坐标值。
在一些实施例中,所述多个卷积块中存在至少一个目标卷积块,所述目标卷积块包括并联设置的第一特征提取块和第二特征提取块,所述第二特征提取块中包括设置有指定卷积核的卷积层,其中,所述目标卷积块用于对输入信息分别采用所述第一特征提取块和所述第二特征提取块进行特征提取,得到所述第一特征提取块输出的第一特征分量和所述第二特征提取块输出的第二特征分量;
所述第一特征分量和所述第二特征分量经融合处理后得到融合信息交由下一卷积块进行处理;
其中,低层特征的卷积块提取的低层特征信息交由高层特征的卷积块进入处理。
在一些实施例中,所述关键点检测模型中包括多个卷积层,且所述关键点检测模型的卷积块的卷积层之后连接有卷积正则化装置DropBlock层。
在一些实施例中,所述第三样本图像集中的多张样本图像经过加噪处理。
在一些实施例中,所述根据所述第一总损失值优化所述关键点检测模型的参数之后,所述装置还包括:
在优化模块,用于采用第四样本图像集中的样本图像对所述关键点检测模型进行优化处理直至所述关键点检测模型训练收敛,其中,所述第四样本图像集中的样本图像为对第三样本图像集中的样本图像进行缩小处理之后得到的。
在一些实施例中,所述面第一图像损失确定模块,用于:
根据以下权重设置公式,确定所述面部偏转角度检测结果对应的权重因子:
其中,w表示所述权重因子,Yaw表示所述欧拉角中的偏航角,Pitch表示所述欧拉角中的俯仰角;
采用所述权重因子对所述关键点损失信息进行加权处理,得到所述第一样本图像的所述关键点损失值。
基于相同的发明构思,本申请实施例还提供一种面部关键点的检测装置,如图12b所示,所述装置1200b包括:
待检测图像获取模块121,用于获取待检测图像;
检测模块122,用于将所述待检测图像输入至如权利要求1-13任一所述的关键点检测模型,得到所述待检测图像中的面部关键点。
关于上述装置中各操作的实施以及有益效果可参见前文方法中的描述,此处不再赘述。
在介绍了本申请示例性实施方式的方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的关键点检测模型的优化以及关键点检测方法中的步骤。
下面参照图13来描述根据本申请的这种实施方式的电子设备130。图13显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同***组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在一些可能的实施方式中,本申请提供的关键点检测模型的优化以及关键点检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的关键点检测模型的优化以及关键点检测方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于关键点检测模型的优化以及关键点检测的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种关键点检测模型的优化方法,所述关键点检测模型用于从已知图像中检测面部关键点,其特征在于,所述关键点检测模型为已训练的初始模型,所述方法包括:
获取第一样本图像集;所述第一样本图像集中包括多个第一样本图像,每个所述第一样本图像关联有第一面部关键点期望结果;
针对每个所述第一样本图像分别执行以下操作,得到所述第一样本图像的关键点损失值:
分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理,得到由所述角度检测模型输出的面部偏转角检测结果,以及所述关键点检测模型输出的关键点检测结果;
确定所述关键点检测结果和所述第一面部关键点期望结果之间的关键点损失信息;
采用所述面部偏转角检测结果对所述关键点损失信息进行调整,得到所述第一样本图像的所述关键点损失值;
采用各个所述第一样本图像的所述关键点损失值,确定出第一总损失值;
根据所述第一总损失值优化所述关键点检测模型的参数。
2.根据权利要求1所述的方法,其特征在于,所述关键点检测模型中包括多个卷积块,在所述分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理之前,所述方法还包括:
根据以下方法训练所述角度检测模型:
获取第二样本图像集;所述第二样本图像集中包括多个第二样本图像,每个所述第二样本图像关联有面部偏转角期望结果;
将所述第二样本图像集输入至所述关键点检测模型,获取所述关键点检测模型的指定卷积块输出的各所述第二样本图像的特征信息;
以各所述第二样本图像的所述特征信息作为所述角度检测模型的输入,并以各所述第二样本图像的面部偏转角期望结果作为所述角度检测模型的期望输出,对所述角度检测模型进行训练。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据以下方法对所述关键点检测模型进行预训练,得到所述已训练的初始模型:
获取多个数据集,其中所述多个数据集中包括面部关键点数量为指定数量的第一数据集,以及面部关键点数量不等于所述指定数量的第二数据集;
以所述指定数量的关键点位置为标准位置模板,对所述第二数据集中各原始样本图像的面部关键点进行调整,以使所述原始样本图像的面部关键点与所述第一数据集的关键点位置对齐;
采用所述第一数据集以及调整后的所述第二数据集构建第三样本图像集;
采用所述第三样本图像集对所述关键点检测模型进行训练得到所述已训练的初始模型。
4.根据权利要求3所述的方法,其特征在于,所述对所述第二数据集中各原始样本图像的面部关键点进行调整,包括:
针对每个所述原始样本图像分别执行:
将所述原始样本图像的面部关键点与所述标准位置模板进行匹配操作,得到与所述标注位置模板匹配的面部关键点作为对齐关键点;
若所述原始样本图像中的面部关键点数量大于所述指定数量,则将所述原始样本图像中的所述对齐关键点之外的面部关键点滤除,并以所述对齐关键点的位置信息作为所述原始样本图像的第二面部关键点期望结果;
若所述原始样本图像中的面部关键点数量小于所述指定数量,则将所述原始样本图像中的所述对齐关键点之外的面部关键点滤除之后,采用指定值补齐所述标注位置模板中未匹配到对齐关键点的关键点位置进行标记得到所述原始样本图像的补齐关键点,并以所述对齐关键点的位置信息作为所述原始样本图像的第二面部关键点期望结果。
5.根据权利要求4所述的方法,其特征在于,所述采用所述第三样本图像集对所述关键点检测模型进行训练得到所述已训练的初始模型,包括:
针对所述第三样本图像集中的各第三样本图像分别执行以下操作,得到所述第三样本图像的关键点损失值:
采用所述关键点检测模型对所述第三样本图像进行面部关键点检测,得到关键点识别结果;
若所述第三样本图像中不存在所述补齐关键点,则将所述关键点识别结果中各关键点检测值与所述第二面部关键点期望结果中的对应关键点位置进行比较,得到所述第三样本图像的关键点损失值;
若所述第三样本图像中存在所述补齐关键点,则将所述关键点识别结果中各所述对齐关键点的检测值与所述第二面部关键点期望结果中的对应关键点位置进行比较,得到由各所述补齐关键点的损失分量确定的所述第三样本图像的关键点损失值;
采用各所述第三样本图像的关键点损失值确定第二总损失值;
采用所述第二总损失值调整所述关键点检测模型的参数,得到所述已训练的初始模型。
6.根据权利要求4所述的方法,其特征在于,所述采用所述第一数据集以及调整后的所述第二数据集构建第三样本图像集,包括:
从调整后的所述第二数据集中获取原始面部关键点数量大于所述指定数量的原始样本图像构成第三数据集;
确定所述第一数据集以及所述第三数据集中的相同位置的面部关键点的均值,并采用各面部关键点的均值构成标准面部关键点模板;
对所述第一数据集以及调整后的所述第二数据集中的各待处理样本图像,分别执行:
确定所述待处理样本图像与所述标准面部关键点模板中同一位置的面部关键点之间的偏移量,并以所述偏移量作为对应位置的面部关键点的所述第二面部关键点期望结果。
7.根据权利要求1所述的方法,其特征在于,在训练所述关键点检测模型所采用的损失函数中,损失值与面部关键点检测值和相应的期望值之间的距离正相关,且与每张样本图像的瞳孔间距负相关。
8.根据权利要求7所述的方法,其特征在于,所述损失函数的表达式为:
9.根据权利要求2所述的方法,其特征在于,所述多个卷积块中存在至少一个目标卷积块,所述目标卷积块包括并联设置的第一特征提取块和第二特征提取块,所述第二特征提取块中包括设置有指定卷积核的卷积层,其中,所述目标卷积块用于对输入信息分别采用所述第一特征提取块和所述第二特征提取块进行特征提取,得到所述第一特征提取块输出的第一特征分量和所述第二特征提取块输出的第二特征分量;
所述第一特征分量和所述第二特征分量经融合处理后得到融合信息交由下一卷积块进行处理;
其中,低层特征的卷积块提取的低层特征信息交由高层特征的卷积块进入处理。
10.根据权利要求1-9任一所述的方法,其特征在于,所述关键点检测模型中包括多个卷积层,且所述关键点检测模型的卷积块的卷积层之后连接有卷积正则化方法DropBlock层。
11.根据权利要求10所述的方法,其特征在于,所述第三样本图像集中的多张样本图像经过加噪处理。
12.根据权利要求1-9中任一所述的方法,其特征在于,所述根据所述第一总损失值优化所述关键点检测模型的参数之后,所述方法还包括:
采用第四样本图像集中的样本图像对所述关键点检测模型进行优化处理直至所述关键点检测模型训练收敛,其中,所述第四样本图像集中的样本图像为对第三样本图像集中的样本图像进行缩小处理之后得到的。
14.一种关键点检测方法,其特征在于,所述方法包括:
获取待检测图像;
将所述待检测图像输入至如权利要求1-13任一所述的关键点检测模型,得到所述待检测图像中的面部关键点。
15.一种关键点检测模型的优化装置,所述关键点检测模型用于从已知图像中检测面部关键点,其特征在于,所述关键点检测模型为已训练的初始模型,所述装置包括:
第一样本获取模块,用于获取第一样本图像集;所述第一样本图像集中包括多个第一样本图像,每个所述第一样本图像关联有第一面部关键点期望结果;
第一图像损失确定模块,用于针对每个所述第一样本图像分别执行以下操作,得到所述第一样本图像的关键点损失值:
分别采用角度检测模型和所述关键点检测模型对所述第一样本图像进行处理,得到由所述角度检测模型输出的面部偏转角检测结果,以及所述关键点检测模型输出的关键点检测结果;
确定所述关键点检测结果和所述第一面部关键点期望结果之间的关键点损失信息;
采用所述面部偏转角检测结果对所述关键点损失信息进行调整,得到所述第一样本图像的所述关键点损失值;
第一总损失确定模块,用于采用各个所述第一样本图像的所述关键点损失值,确定出第一总损失值;
优化模块,用于根据所述第一总损失值优化所述关键点检测模型的参数。
16.一种关键点检测装置,其特征在于,所述装置包括:
待检测图像获取模块,用于获取待检测图像;
检测模块,用于将所述待检测图像输入至如权利要求15所述的关键点检测模型,得到所述待检测图像中的面部关键点。
17.一种电子设备,其特征在于,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任何一项所述的方法。
18.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行权利要求1-14中任何一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982598.4A CN112417947B (zh) | 2020-09-17 | 2020-09-17 | 关键点检测模型的优化及面部关键点的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982598.4A CN112417947B (zh) | 2020-09-17 | 2020-09-17 | 关键点检测模型的优化及面部关键点的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417947A true CN112417947A (zh) | 2021-02-26 |
CN112417947B CN112417947B (zh) | 2021-10-26 |
Family
ID=74854148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982598.4A Active CN112417947B (zh) | 2020-09-17 | 2020-09-17 | 关键点检测模型的优化及面部关键点的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417947B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065535A (zh) * | 2021-06-03 | 2021-07-02 | 北京的卢深视科技有限公司 | 关键点检测及检测网络训练的方法、电子设备和存储介质 |
CN113610106A (zh) * | 2021-07-01 | 2021-11-05 | 北京大学 | 模型间的特征兼容学习方法、装置、电子设备及介质 |
CN114550207A (zh) * | 2022-01-17 | 2022-05-27 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951840A (zh) * | 2017-03-09 | 2017-07-14 | 北京工业大学 | 一种人脸特征点检测方法 |
CN107066932A (zh) * | 2017-01-16 | 2017-08-18 | 北京龙杯信息技术有限公司 | 人脸识别中关键特征点的检测与定位方法 |
US20180053041A1 (en) * | 2016-08-17 | 2018-02-22 | Hon Hai Precision Industry Co., Ltd. | Face recognition system and method |
CN109508681A (zh) * | 2018-11-20 | 2019-03-22 | 北京京东尚科信息技术有限公司 | 生成人体关键点检测模型的方法和装置 |
CN110287846A (zh) * | 2019-06-19 | 2019-09-27 | 南京云智控产业技术研究院有限公司 | 一种基于注意力机制的人脸关键点检测方法 |
CN110765976A (zh) * | 2019-11-01 | 2020-02-07 | 重庆紫光华山智安科技有限公司 | 人脸特征点的生成方法、数据网络的训练方法及相关装置 |
-
2020
- 2020-09-17 CN CN202010982598.4A patent/CN112417947B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180053041A1 (en) * | 2016-08-17 | 2018-02-22 | Hon Hai Precision Industry Co., Ltd. | Face recognition system and method |
CN107066932A (zh) * | 2017-01-16 | 2017-08-18 | 北京龙杯信息技术有限公司 | 人脸识别中关键特征点的检测与定位方法 |
CN106951840A (zh) * | 2017-03-09 | 2017-07-14 | 北京工业大学 | 一种人脸特征点检测方法 |
CN109508681A (zh) * | 2018-11-20 | 2019-03-22 | 北京京东尚科信息技术有限公司 | 生成人体关键点检测模型的方法和装置 |
CN110287846A (zh) * | 2019-06-19 | 2019-09-27 | 南京云智控产业技术研究院有限公司 | 一种基于注意力机制的人脸关键点检测方法 |
CN110765976A (zh) * | 2019-11-01 | 2020-02-07 | 重庆紫光华山智安科技有限公司 | 人脸特征点的生成方法、数据网络的训练方法及相关装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065535A (zh) * | 2021-06-03 | 2021-07-02 | 北京的卢深视科技有限公司 | 关键点检测及检测网络训练的方法、电子设备和存储介质 |
CN113065535B (zh) * | 2021-06-03 | 2021-08-17 | 北京的卢深视科技有限公司 | 关键点检测及检测网络训练的方法、电子设备和存储介质 |
CN113610106A (zh) * | 2021-07-01 | 2021-11-05 | 北京大学 | 模型间的特征兼容学习方法、装置、电子设备及介质 |
CN113610106B (zh) * | 2021-07-01 | 2023-10-24 | 北京大学 | 模型间的特征兼容学习方法、装置、电子设备及介质 |
CN114550207A (zh) * | 2022-01-17 | 2022-05-27 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
CN114550207B (zh) * | 2022-01-17 | 2023-01-17 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112417947B (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558832B (zh) | 一种人体姿态检测方法、装置、设备及存储介质 | |
US11176381B2 (en) | Video object segmentation by reference-guided mask propagation | |
US11605226B2 (en) | Video data processing method and apparatus, and readable storage medium | |
CN112417947B (zh) | 关键点检测模型的优化及面部关键点的检测方法及装置 | |
CN110503074B (zh) | 视频帧的信息标注方法、装置、设备及存储介质 | |
CN109145759B (zh) | 车辆属性识别方法、装置、服务器及存储介质 | |
Yin et al. | FD-SSD: An improved SSD object detection algorithm based on feature fusion and dilated convolution | |
US20230119593A1 (en) | Method and apparatus for training facial feature extraction model, method and apparatus for extracting facial features, device, and storage medium | |
WO2023151237A1 (zh) | 人脸位姿估计方法、装置、电子设备及存储介质 | |
CN113205047B (zh) | 药名识别方法、装置、计算机设备和存储介质 | |
US11893773B2 (en) | Finger vein comparison method, computer equipment, and storage medium | |
WO2021169642A1 (zh) | 基于视频的眼球转向确定方法与*** | |
CN113850136A (zh) | 基于yolov5与BCNN的车辆朝向识别方法及*** | |
CN107948586A (zh) | 基于视频拼接的跨区域运动目标检测方法和装置 | |
JP2023526899A (ja) | 画像修復モデルを生成するための方法、デバイス、媒体及びプログラム製品 | |
CN110909578A (zh) | 一种低分辨率图像识别方法、装置和存储介质 | |
CN112070181A (zh) | 一种基于图像流的协同检测方法及装置、存储介质 | |
CN111062374A (zh) | 身份证信息的识别方法、装置、***、设备及可读介质 | |
CN114241411B (zh) | 基于目标检测的计数模型处理方法、装置及计算机设备 | |
CN113313720B (zh) | 对象分割方法和装置 | |
CN113705666B (zh) | 分割网络训练方法、使用方法、装置、设备及存储介质 | |
CN116415019A (zh) | 虚拟现实vr图像识别方法及装置、电子设备、存储介质 | |
CN116863456B (zh) | 视频文本识别方法、装置及存储介质 | |
CN113283376B (zh) | 人脸活体检测方法、人脸活体检测装置、介质及设备 | |
WO2024000728A1 (zh) | 单目三维平面恢复方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |