CN116416672B - 一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法 - Google Patents
一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法 Download PDFInfo
- Publication number
- CN116416672B CN116416672B CN202310685922.XA CN202310685922A CN116416672B CN 116416672 B CN116416672 B CN 116416672B CN 202310685922 A CN202310685922 A CN 202310685922A CN 116416672 B CN116416672 B CN 116416672B
- Authority
- CN
- China
- Prior art keywords
- loss
- face
- feature
- prediction
- training
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 76
- 230000004927 fusion Effects 0.000 claims abstract description 18
- 230000001965 increasing effect Effects 0.000 claims abstract description 9
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000001629 suppression Effects 0.000 claims description 7
- 238000002474 experimental method Methods 0.000 claims description 6
- 238000005286 illumination Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000009432 framing Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 2
- 208000029152 Small face Diseases 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 230000002457 bidirectional effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 210000000887 face Anatomy 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 210000001331 nose Anatomy 0.000 description 3
- 241000764238 Isis Species 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/161—Detection; Localisation; Normalisation
-
- 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/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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法,使用GhostNetV2作为主干特征提取网络的人脸检测模型,并且为了提高对小人脸的检测,使用了由特征融合模块加权双向特征金字塔网络改进而来的分离的特征金字塔网络,为了提高对较大人脸的检测效果,在模型的检测头部分使用了级联上下文预测模块来增大感受野,并加入人脸关键点损失。最后针对WIDER FACE数据集进行分析,制定了合适的锚点分配策略。模型的总参数量为1.6M,在简单,中等,困难子集上的准确率分别达到93.13%,92.39%,84.11%,在CPU上对VAG图像进行推理,仅需要37.7ms。
Description
技术领域
本发明属于计算机视觉领域中的目标检测,具体来说是一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法。
背景技术
人脸检测在人脸识别、人脸验证等人脸相关应用中都是必不可少的一步。随着近年来深度卷积神经网络的蓬勃发展,特别是随着一些通用目标检测方法的提出(比如单阶段的检测模型:SSD,YOLO,RetinaNet,EfficientDet等,两阶段的检测模型:Faster R-CNN,Mask R-CNN,Cascade R-CNN等),人脸检测的性能有了很大的提高。考虑到目前在现实场景中的应用,实时人脸检测受到了越来越多的关注,实时的人脸检测要求模型要能在保证较高的检测精度的情况下足够的轻量化,目前的人脸检测普遍采用单阶段的方法,单阶段的方法比两阶段方法更简单和高效。
最近的人脸检测模型在性能上都有很大的提高,能够检测不同密度和尺度的人脸。这些人脸检测模型基本上是通过对通用的目标检测模型架构进行改进而来的。它们大多采用参数量较大的分类模型作为主干特征提取网络并且还会使用一些专门设计的特征融合和增大感受野的模块。这里的主干网络除了常用的ResNet系列之外,还包括一些通过神经网络搜索出来的模型,他们的参数量非常的大,虽然检测的精度比较高,但是推理的速度非常慢。比如PyramidBox和DSFD,它们提出了自己的特征融合模块,以提高特征的表现力,用来处理更小,更不容易被检测的人脸。在RetinaFace还加入了包括人脸关键点损失的多种损失函数来进行联合训练,在检测的过程中,除了检测框外,还可以检测出人面部的五个关键点:眼睛、鼻子、嘴巴,与MTCNN类似。HAMBox专注于可用于进一步性能改进的非匹配框,从而达到很高的性能。这些模型都具有很高的计算量和参数量,并且需要大量的内存,很难在一些移动设备上部署。
为了在移动设备或CPU设备上运行上述的人脸检测模型,一些检测模型提供了轻量化的版本,大多数是使用分组卷积来替换原始模型中的标准卷积,通过控制分组的个数达到控制参数量的目的。在MobileNet-V1和V2利用深度可分离卷积和倒残差结构的开创性工作出现后,对网络结构的更多改进带来了性能增强。这些结构改进的优势体现在ImageNet数据集上分类准确率的提高以及将其用在目标检测和语义分割上其性能都有很大的提高。随着轻量化骨干模型性能的提升,RetinaFace和SCRFD使用了MobileNet的通道宽度修剪版本。BlazeFace和MCUNetV2提出了针对移动GPU和CPU环境的MobileNet的新变体,而EXTD堆叠地使用了MobileNet中的倒残差块,以进一步缩小网络规模。除了使用深度可分卷积作为骨干网络的总体趋势外,KPNet提出了自己的由标准卷积组成的骨干网,但对于移动设备来说,它的参数量依旧比较大,并且它主要关注稀疏和大尺度的脸。
发明内容
本发明旨在提供一种轻量化的实时人脸与人脸关键检测方法,使用目前最新的轻量化的模型GhostNetV2来减少模型的参数量,提高模型推理速度和可用性,使其能够更好的在移动设备或者CPU设备上部署。
一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法,包含以下步骤:
步骤1、对数据集中的图片进行数据清洗,删除标注错误的标签,并对训练集中的图片进行数据增强;
步骤2、分析数据集中的待检测目标,设计锚框尺寸和长宽比,制定正负样本的分配策略;
步骤3、使用GhostNetV2作为人脸检测模型的主干特征提取网络,并使用分离的特征金字塔网络作为网络的颈部,再将生成的预测特征图通过级联上下文预测模块得到最终的预测特征图,完成整体人脸检测模型的搭建;
步骤4、使用步骤1中数据增强后的图片对步骤3搭建好的人脸检测模型进行训练,采用合适的训练策略,并在训练的过程中不断地更新保存的权重;
步骤5、人脸检测模型载入训练过程中保存的最好的权重,向人脸检测模型中输入要预测的图片;
步骤6、在预测图片上框出人脸的位置,并在人脸上标注人脸上的五个关键点。
进一步的,所述步骤1具体包括:删除标签中对同一个目标重复标注的标签以及长和宽大于图片长和宽的标签;关于数据增强的部分,从原始图像中裁剪正方形块,其大小随机介于原始图像短边的[0.3,1]之间,对于位于裁剪边界上的脸,如果其中心在裁剪块内,将其进行保留;除了随机裁剪外,还通过随机水平翻转、光照变换和色彩变幻来增强训练数据。
进一步的,所述步骤2具体包括:通过对训练集中真实标签的分析和计算之后,将锚框的长宽比设置为1:1.2,在下采样步长为4的预测特征层上设置的锚框为[16,20.16,25.40];在下采样步长为8的预测特征层上设置的锚框为[32,40.32,50.80];在下采样步长为16的预测特征层上设置的锚框为[64,80.63,101.59];在下采样步长为32的预测特征层上设置的锚框为[128,161.26,203.19];在下采样步长为64的预测特征层上设置的锚框为[256,322.54,406.37]。
进一步的,所述步骤3具体包括:人脸检测模型首先是将输入的图片通过GhostNetV2网络进行特征提取,分别在不同的下采样步长处得到6个预测特征层[P1,P2,P3,P4,P5,P6],这六个特征层会经过分离的特征金字塔网络进行特征融合,得到[C1,C2,C3,C4,C5,C6],然后再通过级联上下文预测模块,增大预测特征层的感受野,最后得到目标特征层[D1,D2,D3,D4,D5,D6],分别计算分类损失,回归损失和关键点损失;GhostNetV2网络是由GhostNet网络改进而来,Ghost模块将输出通道分成两部分,一部分使用常规的卷积,卷积核大小为1x1,另外一部分使用深度可分离卷积,最后将两部分拼接到一起。
进一步的,所述分离的特征金字塔网络不使用自底向上的特征融合,并且将自上而下的特征融合分为两步;在具有相似感受野的特征层之间进行特征融合;所述级联上下文预测模块是通过3条分支分别使用3x3的卷积来增大感受野。
进一步的,所述步骤4的训练策略具体包括:训练过程中使用的优化器是带有动量的SGD;初始学习率设置为1e-2,最终学习率设置为1e-3,权值衰减设置为5e-3;在前3个时期为预热阶段,使用的动量为0.8;之后正式训练的动量是0.937;进行非极大值抑制的IoU阈值被设置为0.5;在两块1080ti显卡上训练模型;批处理大小为32张图像,总的训练时期为300。
进一步的,所述人脸检测模型的损失函数具体包括:人脸检测模型的损失函数包含4部分,分类损失,回归损失,置信度损失,关键点损失,如下公式所示:
总损失:,其中为可调节的
超参数;为分类损失,为回归损失,为置信度损失,为关键点损失;
关键点损失,其中为标注的关键点位置,为预测的关
键点位置,关键点使用坐标(x,y)来表示,一共使用5个关键点,所以i的取值为1到10,s表示
某一个坐标的x值或者y值。
函数:,
关键点损失使用上述公式中的wing函数,其中是通过实验得到的超参数,取
值为10,取值为2,x是预测值和对应标签的差值,,由和的值可以
求出,因此是一个常量。分类损失使用广义焦点损失,回归损失使用SIoU损失,置信度
损失使用交叉熵损失,在训练的过程中,人脸检测模型会在每个时期之后保存当前权重,并
更新到目前位置准确率最高的权重。
进一步的,所述步骤5具体包括:人脸检测模型加载步骤4保存的最好的权重,输入要预测的图片,人脸检测模型对图片进行特征提取,根据给定的IoU阈值进行非极大值抑制。
进一步的,所述步骤6具体包括:人脸检测模型最终预测的4个回归参数是相对于锚框的相对参数,将这些参数应用到指定的锚框上,得到最终在图片上预测框,公式如下:
,
其中分别是预测框的中心点坐标和宽高,分别是锚框的中心
点坐标和宽高,分别是模型预测的参数;最后在预测框的人脸中标注人脸的五个
关键点的位置。
本发明的有益效果是:
本发明同时关注容易被检测的较大的正脸目标,以及具有挑战性在姿态,光照,表情,遮挡等变化范围较大的人脸目标,本发明可以应对人脸尺度极端变化的场景,同时具有较快的检测速度和较高的检测精度。在本发明中,我们采用高精度、计算代价低、参数少的GhostNetV2作为检测模型的主干网络,并使用了分离的特征金字塔网络模块,该模块分组进行特征融合,只融合大小接近的特征图,提高极小人脸的检测精度。同时为了在增大感受野的同时,尽量降低模型的推理耗时,使用了级联上下文预测模块。损失方面,分类损失使用了广义焦点损失,边界框回归损失使用了SIoU损失,不仅能提高的模型的预测准确率,还能加快模型的训练速度,最后添加了人脸关键点损失,不仅能辅助训练人脸检测,还能准确的预测人脸的五个关键点(两个眼睛,鼻尖和两个嘴角)位置。
附图说明
图1为基于GhostNetV2的轻量化人脸与人脸关键点检测模型整体结构图;
图2为级联上下文预测模块结构图;
图3为分离的特征金字塔网络模块结构图;
图4为GhostNetV2中步长为1和步长为2的结构块以及解耦全连接注意力机制结构图;
图5为GhostNetV1中步长为1和步长为2的结构块;
图6为解耦全连接注意力机制中的信息流动图;
图7为解耦全连接注意力机制中信息在不同分支之间的聚合图;
图8为角度损失的计算方案图;
图9为距离损失的计算方案图;
图10为形状损失的计算方案图;
图11为本发明在WIDER FACE数据集上简单,中等,困难子集上的P-R曲线图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。此处所描述的具体实施例仅用于解释本发明技术方案,并不限于本发明。
一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法,包含以下步骤:
步骤1、对数据集中的图片进行数据清洗,删除标注错误的标签,并对训练集中的图片进行数据增强。
步骤2、分析数据集中的待检测目标,设计合适的锚框尺寸和长宽比,制定正负样本的分配策略。
步骤3、使用GhostNetV2作为人脸检测模型的主干特征提取网络,并使用分离的特征金字塔网络作为网络的颈部,再将生成的预测特征图通过级联上下文预测模块得到最终的预测特征图,完成整体人脸检测模型的搭建。
步骤4、使用步骤1中数据增强后的图片对步骤3搭建好的人脸检测模型进行训练,采用合适的训练策略,并在训练的过程中不断地更新保存的权重。
步骤5、人脸检测模型载入训练过程中保存的最好的权重,向人脸检测模型中输入要预测的图片。
步骤6、在预测图片上框出人脸的位置,并在人脸上标注出人脸上的五个关键点(两个眼睛的中心,鼻尖,以及嘴角)。
所述步骤1具体包括:删除标签中对同一个目标重复标注的标签以及长和宽大于图片长和宽的标签;关于数据增强的部分,由于在WIDER FACE训练集中大约有20%的小脸,从原始图像中随机裁剪正方形补丁,并将这些补丁调整为640×640的大小,以生成尺寸更大的训练样本,并在训练过程中对这些图片采用Mosica数据增强;更具体地说,从原始图像中裁剪正方形块,其大小随机介于原始图像短边的[0.3,1]之间。对于位于裁剪边界上的脸,如果其中心在裁剪块内,我们会将其进行保留;除了随机裁剪外,我们还通过随机水平翻转(概率为0.5)、光照变换和色彩变幻来增强训练数据。
所述步骤2具体包括:我们通过对训练集中真实标签的分析和计算之后,我们将锚框的长宽比设置为1:1.2。对于锚框的大小,我们根据每一层的感受野来设计,感受野可以通过卷积和池化层的数量来计算。然而,并不是理论感受野中每一个像素对与最终输出都有相同的贡献。一般来说,中心像素比外围像素的影响更大。也就是说,只有一小部分区域对输出值有有效影响。实际效果相当于一个有效的感受野。根据这一假设,为了匹配有效的感受野,锚框的大小应该要小于理论感受野,于是在下采样步长为4的预测特征层上我们设置的锚框为[16,20.16,25.40];在下采样步长为8的预测特征层上设置的锚框为[32,40.32,50.80];在下采样步长为16的预测特征层上设置的锚框为[64,80.63,101.59];在下采样步长为32的预测特征层上设置的锚框为[128,161.26,203.19];在下采样步长为64的预测特征层上设置的锚框为[256,322.54,406.37]。
所述步骤3具体包括:人脸检测模型的整体结构如图1所示。首先是将输入的图片通过GhostNetV2网络进行特征提取,分别在不同的下采样步长处得到6个预测特征层[P1,P2,P3,P4,P5,P6],这六个特征层会经过分离的特征金字塔网络进行特征融合,得到[C1,C2,C3,C4,C5,C6],然后再通过级联上下文预测模块,增大预测特征层的感受野,最后得到目标特征层[D1,D2,D3,D4,D5,D6],分别计算分类损失,回归损失和关键点损失。GhostNetV2网络是由GhostNet网络改进而来,GhostNet中的主要构件是Ghost模块,如图5所示,它可以使用更少的参数来生成更多的特征层。Ghost模块将输出通道分成两部分,一部分使用常规的卷积,卷积核大小为1×1,另外一部分使用深度可分离卷积,也可以称之为线性操作。最后将两部分拼接到一起,与普通卷积模块相比,在同样的输入和输出特征图数量的情况下,Ghost模块所需要的参数量和计算量都得到了降低。GhostNetV2是在V1的基础上加入了对硬件友好的注意力机制,如图4所示,该注意力机制通过两个卷积核大小为1×h,1×w的卷积来实现,这两个卷积分别沿水平和垂直方向聚集不同位置的像素,既可以捕捉长程空间信息能力,增强网络的表增能力,也避免了拉低整体模型的推理速度。图6为解耦全连接注意力机制中的信息流动图,其中的垂直全连接和水平全连接分别从垂直和水平两个方向捕获长距离信息。图7展示了Ghost分支与注意力分支的聚合方式,两个分支的信息相乘然后再输出。
所述步骤3具体包括:为了增强对小目标的检测,特征金字塔网络将高级特征的上下文传播到低级特征(自上而下)中,以强化小对象的特征信息。然而,先前的一些研究表明,由于高水平特征的感受野对于小人脸来说太大,将高水平特征聚合到低水平特征上会损害小人脸的检测性能。所以目前的人脸检测器不仅使用自顶向下的路径,还使用自底向上的路径。但是这可能会造成较大的延迟开销。为了解决这样的问题,本发明使用了分离的特征金字塔网络模块,如图3所示,该模块不使用自底向上的特征融合,并且将自上而下的特征融合分为两步。在具有相似感受野的特征层之间进行特征融合。级联上下文预测模块的结构如图2所示,主要是通过3条分支分别使用3×3的卷积来增大感受野,同时相比与单阶段无头模型中的模块具有更快的推理速度。
所述步骤4的训练策略具体包括:训练过程中使用的优化器是带有动量的SGD。初始学习率设置为1e-2,最终学习率设置为1e-3,权值衰减设置为5e-3。在前3个时期为预热阶段,使用的动量为0.8。之后正式训练的动量是0.937。进行非极大值抑制的IoU阈值被设置为0.5。在两块1080ti显卡上训练模型。批处理大小为32张图像,总的训练时期为300。
所述人脸检测模型的损失函数具体包括:人脸检测模型的损失函数包含4部分,分类损失,回归损失,置信度损失,关键点损失,如下公式所示:
总损失:,其中为可调节的
超参数;为分类损失,为回归损失,为置信度损失,为关键点损失;
关键点损失,其中为标注的关键点位置,为预测的关
键点位置,关键点使用坐标(x,y)来表示,一共使用5个关键点,所以i的取值为1到10,s表示
某一个坐标的x值或者y值。
函数:,
关键点损失使用上述公式中的wing函数,其中是通过实验得到的超参数,取
值为10,取值为2,x是预测值和对应标签的差值,,由和的值可以
求出,因此是一个常量。分类损失使用广义焦点损失,回归损失使用SIoU损失,置信度
损失使用交叉熵损失,在训练的过程中,人脸检测模型会在每个时期之后保存当前权重,并
更新到目前位置准确率最高的权重。SIoU损失函数由四个损失函数构成,包含角度损失,距
离损失,形状损失,IoU损失。
角度损失的定义公式如下:
,其中表示角度损失, ,所表示的角度
如图8所示,图8中的表示预测框,表示真实框,,表示预
测框中心点和真实框中心点的距离,,
表示预测框中心点与真实框中心点的垂直距离。
距离损失通过角度损失进行重新定义,定义公式如下:
,其中 表示距离损失,,表示角度损失,和表示预测框和真实框的外接矩形框的宽和高,如图9所示。
形状损失的定义如下:
其中表示形状损失,,分别表示预测框的宽,真实框的宽,预测框的高,真实框的高,如图10所示。
最终回归损失的定义如下:
其中,表示预测框,表示真实框,
表示两者的交并比,表示距离损失,表示形状损失。
焦点损失(FL)的计算方式定义如下:
,
式中y表示真实标签,p表示预测值,是可调节的参数。具体来说焦点损失由标准
交叉熵部分和动态调节因子部分组成,动态调节因子在训练过程中会自
动地降低简单样本对模型的贡献,使模型迅速地聚焦于困难样本。考虑到焦点损失只支持
0,1这种离散的标签,但质量估计的分数是一个位于[0,1]之间的浮点数,因此要对焦点损
失进行一些改进,最终广义焦点损失(QFL)计算方法定义如下:
,
式中是焦点损失中的完整表示,为模型的
预测值,表示预测值与对应标签y的绝对距离,同样是一个调节因子,当一
个样例的质量估计不准确,偏离标签y时,调节因子比较大,因此模型会更注重学习这个困
难的样例,当时调节效果最好。
所述步骤5具体包括:人脸检测模型加载步骤4保存的最好的权重,输入要预测的图片,人脸检测模型对图片进行特征提取,根据给定的IoU阈值进行非极大值抑制。
所述步骤6具体包括:人脸检测模型最终预测的4个回归参数是相对于锚框的相对参数,我们要将这些参数应用到指定的锚框上,得到最终在图片上预测框,公式如下:
,
其中分别是预测框的中心点坐标和宽高,分别是锚框的中心
点坐标和宽高,分别是模型预测的参数。最后在预测框的人脸中标注人脸的五个
关键点的位置。
本发明的模型总参数量为1.6M,在WIDER FACE数据集的简单,中等,困难子集上的准确率分别达到93.13%,92.39%,84.11%,在CPU上对VAG图像(640×480)进行推理,仅需要37.7ms。实验结果表明,该人脸与人脸关键点检测算法具有实时、高效、低功耗的特性。
本发明是在WIDER FACE数据集进行训练并测试的,WIDER FACE数据集是人脸检测的一个benchmark数据集,包含32203图像,以及393703个标注人脸,其中包含了61个类别,对于每个类别,随机选择40%,10%,50%作为训练,验证,测试集。每一个子集都包含3个级别的检测难度:简单,中等,困难。这些人脸在尺度,姿态,光照、表情、遮挡方面都有很大的变化范围,具有较大的检测难度并且要在原始的数据集上进行5个人脸关键点的标注。
关于数据增强的部分,由于在WIDER FACE训练集中大约有20%的小脸,从原始图像中随机裁剪正方形补丁,并将这些补丁调整为640×640的大小,以生成尺寸更大的训练样本,并在训练过程中对这些图片采用Mosica数据增强;更具体地说,从原始图像中裁剪正方形块,其大小随机介于原始图像短边的[0.3,1]之间。对于位于裁剪边界上的脸,如果其中心在裁剪块内,我们会将其进行保留;除了随机裁剪外,我们还通过随机水平翻转(概率为0.5)、光照变换和色彩变幻来增强训练数据。
关于实验设置,训练过程中使用的优化器是带有动量的SGD。初始学习率设置为1e-2,最终学习率设置为1e-3,权值衰减设置为5e-3。在前3个时期为预热阶段,使用的动量为0.8。之后正式训练的动量是0.937。进行非极大值抑制的IoU阈值被设置为0.5。在两块1080ti显卡上训练模型。批处理大小为32张图像,总的训练时期为300。最终本发明在WIDERFACE 数据集的验证集的简单,中等,困难子集上的P-R曲线如图11所示。
本实验是在CentOS系统上采用Pytorch框架进行编写,具体的配置见表1。
表1
,
为了更好的突出本发明的优越性,我们进行了多种对比实验,其中基线为我们的基准模型,在此基础上我们增加不同的特征融合模块,最终结果显示使用分离的特征金字塔网络效果更好(见表2)。
表2
,
在添加了特征融合模块的基础上,又添加了增大感受野的模块,同样进行了多个对比实验,实验结果显示我们的级联上下文预测模块在速度和准确率上都取得了最好的结果(见表3)。
表3
,
最后将我们的模型和当前的主流的模型进行对比,可以看到虽然我们的模型参数量要稍微的大一些,但是我们的准确率要高很多,并且我们在CPU上的推理速度也是最快的(见表4)。
表4
,
以上所述仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形、改进及替代,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,包含以下步骤:
步骤1、对数据集中的图片进行数据清洗,删除标注错误的标签,并对训练集中的图片进行数据增强;
步骤2、分析数据集中的待检测目标,设计锚框尺寸和长宽比,制定正负样本的分配策略;
步骤3、使用GhostNetV2作为人脸检测模型的主干特征提取网络,并使用分离的特征金字塔网络作为网络的颈部,再将生成的预测特征图通过级联上下文预测模块得到最终的预测特征图,完成整体人脸检测模型的搭建;
步骤4、使用步骤1中数据增强后的图片对步骤3搭建好的人脸检测模型进行训练,采用合适的训练策略,并在训练的过程中不断地更新保存的权重;
步骤5、人脸检测模型载入训练过程中保存的最好的权重,向人脸检测模型中输入要预测的图片;
步骤6、在预测图片上框出人脸的位置,并在人脸上标注人脸上的五个关键点;
所述步骤3具体包括:人脸检测模型首先是将输入的图片通过GhostNetV2网络进行特征提取,分别在不同的下采样步长处得到6个预测特征层[P1,P2,P3,P4,P5,P6],这六个特征层会经过分离的特征金字塔网络进行特征融合,得到[C1,C2,C3,C4,C5,C6],然后再通过级联上下文预测模块,增大预测特征层的感受野,最后得到目标特征层[D1,D2,D3,D4,D5,D6],分别计算分类损失,回归损失和关键点损失;Ghost模块将输出通道分成两部分,一部分使用常规的卷积,卷积核大小为1x1,另外一部分使用深度可分离卷积,最后将两部分拼接到一起;
所述分离的特征金字塔网络不使用自底向上的特征融合,并且将自上而下的特征融合分为两步;在具有相似感受野的特征层之间进行特征融合;所述级联上下文预测模块是通过3条分支分别使用3x3的卷积来增大感受野;
所述人脸检测模型的损失函数具体包括:人脸检测模型的损失函数包含4部分,分类损失,回归损失,置信度损失,关键点损失,如下公式所示:
总损失:,其中/>为可调节的超参数;/>为分类损失,/>为回归损失,/>为置信度损失,/>为关键点损失;
关键点损失,其中/>为标注的关键点位置,/>为预测的关键点位置,关键点使用坐标(x,y)来表示,一共使用5个关键点,所以i的取值为1到10,s表示某一个坐标的x值或者y值;
函数:/>,
关键点损失使用上述公式中的wing函数,其中是通过实验得到的超参数,/>取值为10,/>取值为2,x是预测值和对应标签的差值,/>,由/>和/>的值求出/>,因此/>是一个常量;分类损失使用广义焦点损失,回归损失使用SIoU损失,置信度损失使用交叉熵损失,在训练的过程中,人脸检测模型会在每个时期之后保存当前权重,并更新到目前位置准确率最高的权重。
2.根据权利要求1所述的基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,所述步骤1具体包括:删除标签中对同一个目标重复标注的标签以及长和宽大于图片长和宽的标签;关于数据增强的部分,从原始图像中裁剪正方形块,其大小随机介于原始图像短边的[0.3,1]之间,对于位于裁剪边界上的脸,如果其中心在裁剪块内,将其进行保留;除了随机裁剪外,还通过随机水平翻转、光照变换和色彩变幻来增强训练数据。
3.根据权利要求1所述的基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,所述步骤2具体包括:通过对训练集中真实标签的分析和计算之后,将锚框的长宽比设置为1:1.2,在下采样步长为4的预测特征层上设置的锚框为[16,20.16,25.40];在下采样步长为8的预测特征层上设置的锚框为[32,40.32,50.80];在下采样步长为16的预测特征层上设置的锚框为[64,80.63,101.59];在下采样步长为32的预测特征层上设置的锚框为[128,161.26,203.19];在下采样步长为64的预测特征层上设置的锚框为[256,322.54,406.37]。
4.根据权利要求1所述的基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,所述步骤4的训练策略具体包括:训练过程中使用的优化器是带有动量的SGD;初始学习率设置为1e-2,最终学习率设置为1e-3,权值衰减设置为5e-3;在前3个时期为预热阶段,使用的动量为0.8;之后正式训练的动量是0.937;进行非极大值抑制的IoU阈值被设置为0.5;在两块1080ti显卡上训练模型;批处理大小为32张图像,总的训练时期为300。
5.根据权利要求1所述的基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,所述步骤5具体包括:人脸检测模型加载步骤4保存的最好的权重,输入要预测的图片,人脸检测模型对图片进行特征提取,根据给定的IoU阈值进行非极大值抑制。
6.根据权利要求1所述的基于GhostNetV2的轻量化人脸与人脸关键点检测方法,其特征在于,所述步骤6具体包括:人脸检测模型最终预测的4个回归参数是相对于锚框的相对参数,将这些参数应用到指定的锚框上,得到最终在图片上预测框,公式如下:
,
其中分别是预测框的中心点坐标和宽高,/>分别是锚框的中心点坐标和宽高,/>分别是模型预测的参数;最后在预测框的人脸中标注人脸的五个关键点的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685922.XA CN116416672B (zh) | 2023-06-12 | 2023-06-12 | 一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685922.XA CN116416672B (zh) | 2023-06-12 | 2023-06-12 | 一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116416672A CN116416672A (zh) | 2023-07-11 |
CN116416672B true CN116416672B (zh) | 2023-08-29 |
Family
ID=87052960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310685922.XA Active CN116416672B (zh) | 2023-06-12 | 2023-06-12 | 一种基于GhostNetV2的轻量化人脸与人脸关键点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116416672B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019091271A1 (zh) * | 2017-11-13 | 2019-05-16 | 苏州科达科技股份有限公司 | 一种人脸检测方法以及人脸检测系统 |
CN109919097A (zh) * | 2019-03-08 | 2019-06-21 | 中国科学院自动化研究所 | 基于多任务学习的人脸和关键点联合检测系统、方法 |
CN113158862A (zh) * | 2021-04-13 | 2021-07-23 | 哈尔滨工业大学(深圳) | 一种基于多任务的轻量级实时人脸检测方法 |
CN113591795A (zh) * | 2021-08-19 | 2021-11-02 | 西南石油大学 | 一种基于混合注意力特征金字塔结构的轻量化人脸检测方法和系统 |
WO2022151535A1 (zh) * | 2021-01-15 | 2022-07-21 | 苏州大学 | 基于深度学习的人脸特征点检测方法 |
CN115223219A (zh) * | 2022-06-17 | 2022-10-21 | 河南科技大学 | 一种基于改进yolov4的羊脸识别方法 |
CN116229535A (zh) * | 2022-12-21 | 2023-06-06 | 苏州科达科技股份有限公司 | 人脸检测模型的训练方法、人脸检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263774B (zh) * | 2019-08-19 | 2019-11-22 | 珠海亿智电子科技有限公司 | 一种人脸检测方法 |
-
2023
- 2023-06-12 CN CN202310685922.XA patent/CN116416672B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019091271A1 (zh) * | 2017-11-13 | 2019-05-16 | 苏州科达科技股份有限公司 | 一种人脸检测方法以及人脸检测系统 |
CN109919097A (zh) * | 2019-03-08 | 2019-06-21 | 中国科学院自动化研究所 | 基于多任务学习的人脸和关键点联合检测系统、方法 |
WO2022151535A1 (zh) * | 2021-01-15 | 2022-07-21 | 苏州大学 | 基于深度学习的人脸特征点检测方法 |
CN113158862A (zh) * | 2021-04-13 | 2021-07-23 | 哈尔滨工业大学(深圳) | 一种基于多任务的轻量级实时人脸检测方法 |
CN113591795A (zh) * | 2021-08-19 | 2021-11-02 | 西南石油大学 | 一种基于混合注意力特征金字塔结构的轻量化人脸检测方法和系统 |
CN115223219A (zh) * | 2022-06-17 | 2022-10-21 | 河南科技大学 | 一种基于改进yolov4的羊脸识别方法 |
CN116229535A (zh) * | 2022-12-21 | 2023-06-06 | 苏州科达科技股份有限公司 | 人脸检测模型的训练方法、人脸检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于级联网络的快速人脸检测算法;包晓安;胡玲玲;张娜;吴彪;桂江生;;浙江理工大学学报(自然科学版)(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116416672A (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738207B (zh) | 一种融合文字图像中文字区域边缘信息的文字检测方法 | |
Wang et al. | Data-driven based tiny-YOLOv3 method for front vehicle detection inducing SPP-net | |
CN112270347B (zh) | 一种基于改进ssd的医疗废弃物分类检测方法 | |
Yuliang et al. | Detecting curve text in the wild: New dataset and new solution | |
CN107563372B (zh) | 一种基于深度学习ssd框架的车牌定位方法 | |
Wang et al. | An improved light-weight traffic sign recognition algorithm based on YOLOv4-tiny | |
Haloi | Traffic sign classification using deep inception based convolutional networks | |
CN111767882A (zh) | 一种基于改进yolo模型的多模态行人检测方法 | |
Nguyen et al. | Yolo based real-time human detection for smart video surveillance at the edge | |
Kadam et al. | Detection and localization of multiple image splicing using MobileNet V1 | |
CN109190752A (zh) | 基于深度学习的全局特征和局部特征的图像语义分割方法 | |
CN110032925B (zh) | 一种基于改进胶囊网络与算法的手势图像分割与识别方法 | |
CN111898432B (zh) | 一种基于改进YOLOv3算法的行人检测系统及方法 | |
CN110175504A (zh) | 一种基于多任务级联卷积网络的目标检测和对齐方法 | |
CN103679187B (zh) | 图像识别方法和系统 | |
CN109902576B (zh) | 一种头肩图像分类器的训练方法及应用 | |
CN109934272B (zh) | 一种基于全卷积网络的图像匹配方法 | |
CN110991444A (zh) | 面向复杂场景的车牌识别方法及装置 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
Cai et al. | Vehicle Detection Based on Deep Dual‐Vehicle Deformable Part Models | |
CN116977844A (zh) | 一种轻量级水下目标实时检测方法 | |
CN117152625A (zh) | 一种基于CoordConv和YOLOv5的遥感小目标识别方法、系统、设备及介质 | |
Wang et al. | CDFF: a fast and highly accurate method for recognizing traffic signs | |
CN117710965A (zh) | 基于改进YOLOv5的小目标检测方法 | |
CN114333062A (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 |