CN116740790B - 一种基于Transformer的人脸检测方法及装置 - Google Patents
一种基于Transformer的人脸检测方法及装置 Download PDFInfo
- Publication number
- CN116740790B CN116740790B CN202310746034.4A CN202310746034A CN116740790B CN 116740790 B CN116740790 B CN 116740790B CN 202310746034 A CN202310746034 A CN 202310746034A CN 116740790 B CN116740790 B CN 116740790B
- Authority
- CN
- China
- Prior art keywords
- face
- module
- key point
- transducer
- face detection
- 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 171
- 238000010276 construction Methods 0.000 claims abstract description 35
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 230000003321 amplification Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 27
- 238000013527 convolutional neural network Methods 0.000 description 17
- 230000000007 visual effect Effects 0.000 description 10
- 102100027282 Fanconi anemia group E protein Human genes 0.000 description 6
- 101000914677 Homo sapiens Fanconi anemia group E protein Proteins 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation 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/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于Transformer的人脸检测方法及装置,涉及计算机视觉技术领域。包括:获取待检测的图像数据;将图像数据输入到训练好的基于Transformer的人脸检测模型;其中,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块;根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。本发明使用Transformer作为骨干网络,通过双阶段目标检测结构实现基于Transformer的人脸检测。这样既能有效利用Transformer能更好地获得全局信息的特点,又能保证在使用相对较小的数据集时模型能够快速收敛。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种基于Transformer的人脸检测方法及装置。
背景技术
人脸检测属于特殊的目标检测,目标检测通常要检测多类别的物体,而人脸检测只需检测出人脸。目前目标检测领域的深度学习方法按照是否包含生成候选框部分的结构可以分为两类:双阶段的目标检测算法和单阶段的目标检测算法。双阶段的目标检测算法先生成候选框样本,再通过卷积神经网络对这些候选框进行分类;单阶段的目标检测算法则舍弃了双阶段的检测算法中生成候选框的过程,通过直接在特征图上进行采样来预测人脸的位置。为了达到不错的检测准确率,本发明采用双阶段的目标检测结构。
人脸检测通常使用卷积神经网络作为骨干网络。在计算机视觉领域,卷积神经网络自2012年以来已经成为视觉任务的主导模型。随着出现了越来越高效的结构,计算机视觉和自然语言处理越来越收敛到一起,使用Transformer来完成视觉任务成为了一个新的研究方向,以降低结构的复杂性,探索可扩展性和训练效率。然而随着Transformer逐渐应用于计算机视觉任务,基于Transformer的人脸检测器却鲜有出现。所以本发明探究了此现象的原因,并针对人脸检测的特点,完成了性能良好的基于Transformer的人脸检测器。
Transformer最初应用于自然语言处理任务,并且带来了显著的改进。受到自然语言处理任务中Transformer功能的启发,最近的研究人员将Transformer扩展到计算机视觉任务。卷积神经网络曾经是视觉应用中的基本组件,但是Transformer显示出了替代CNN(Convolutional Neural Networks,卷积神经网络)的能力。随着视觉Transformer的成熟,Transformer已经能在多种视觉任务上获得良好的表现,然而现在却缺少基于Transformer的人脸检测器。所以基于Transformer的人脸检测器是一个值得研究的方向。
Chen等人(S.Zheng et al.Rethinking semantic segmentation from a sequence-tosequence perspective with transformers.In CVPR,2021.)训练了一个序列Transformer去自动回归预测像素,并且在图像分类任务上获得了与卷积神经网络相比富有竞争性的结果。Dosovitskiy等人(Alexey Dosovitskiy,Lucas Beyer,AlexanderKolesnikov,Dirk Weissenborn,Xiaohua Zhai,Thomas Unte rthiner,MostafaDehghani,Matthias Minderer,Georg Heigold,Sylvain Gelly,Jakob Uszkoreit,andNeil Houlsby.An image is worth 16x16 words:Transfo rmers for imagerecognition at scale.In ICLR,2021.)最近提出的视觉Transf ormer模型叫ViT(VisionTransformer,视觉转换器),这个模型将一个纯粹的Transformer应用于图像块序列,并且在多个图像识别基准上获得了最先进的性能。ViT是2020年Google团队提出的将Transformer应用在图像分类的模型,虽然不是第一篇将Transformer应用在视觉任务的论文,但是因为其模型“简单”且效果好,可扩展性强,成为了Transformer在计算机视觉领域应用的里程碑著作,也引爆了后续相关研究。
ViT将输入图片分为多个图像块,再将每个图像块投影为固定长度的向量送入Transformer,后续编码器的操作和原始Transformer中完全相同。但是因为对图片分类,因此在输入序列中加入一个特殊的编码,该编码对应的输出即为最后的类别预测。
Swin Transformer在Vision Transformer的基础上进行了多方面的改进。SwinTransformer使用了类似卷积神经网络中的层次化构建方法,比如特征图尺寸中有对图像下采样4倍的,8倍的以及16倍的,这样的骨干网络有助于在此基础上构建目标检测,实例分割等任务。而在之前的Vision Transformer中是一开始就将图像直接下采样16倍,后面的特征图也是维持这个下采样率不变。
在Swin Transformer中使用了基于窗口的多头注意力机制,比如在4倍下采样和8倍下采样中,将特征图划分成了多个不相交的区域,只在划分的区域内进行注意力计算。相对于ViT中直接对整个特征图进行注意力计算,这样做的目的是减少计算量,尤其是在浅层特征图很大的时候。这样做虽然减少了计算量但也会隔绝不同窗口之间的信息传递,所以在论文中作者又提出了基于移动窗口的多头注意力机制,通过此方法能够让信息在相邻的窗口中进行传递。
除了基本的图像分类,Transformer还用于解决更多计算机视觉问题,例如:目标检测、语义分割、图像处理和视频理解。由于其出色的性能,越来越多的基于Transformer的模型被提出用于改善不同的视觉任务。
传统的双阶段目标检测模型例如Faster-RCNN(Faster Region-basedConvolutional Neural Networks,快速深度神经网络)的流程是使用骨干网络提取特征,然后将提取出的特征输入RPN(Region Proposal Network,区域候选网络)网络,输出为多个兴趣区域。输出的每个兴趣区域具体表示为一个概率值和四个坐标值,概率值表示该兴趣区域有物体的概率,这个概率是通过softmax损失函数对每个区域进行二分类得到的;坐标值是预测的物体的位置,在进行训练时会用这个坐标与真实的坐标进行回归使在测试时预测的物体位置更加准确。兴趣域池化层以RPN网络输出的兴趣区域和卷积层输出的特征图作为输入,将两者进行综合后得到固定大小的区域特征图并输出到后面的全连接网络中进行分类和回归,检测出物体的准确位置。
DETR(Detection Transformer,目标检测)是Facebook团队于2020年提出的基于Transformer的端到端目标检测,没有NMS(non maximum suppression,非极大值抑制)后处理步骤、没有anchor等先验知识和约束,整个由网络实现端到端的目标检测实现,大大简化了目标检测。
DETR主要分为四个部分,首先是一个使用卷积神经网络作为骨干网络提取特征,经过Transformer的编码器和解码器后使用前馈神经网络进行预测。这种方法虽然结构简单,可是却收敛困难且需要大量数据。
随着Transformer在视觉领域的发展,如何使用Transformer良好地完成人脸检测任务成为亟待解决的问题。Transformer的训练需要大量数据,例如Swin transformer使用来自Imagenet数据集中的120万张图片进行预训练。对于目标检测任务,它使用包含11.8万张图片的coco数据集进行训练。而对于人脸检测任务,WIDER_FACE数据集中的训练集图片数量仅有1.6万张,且每张图片包含的平均目标数更多。
发明内容
本发明针对如何使用Transformer良好地完成人脸检测任务的问题,提出了本发明。
为解决上述技术问题,本发明提供如下技术方案:
一方面,本发明提供了一种基于Transformer的人脸检测方法,该方法由电子设备实现,该方法包括:
S1、获取待检测的图像数据。
S2、将图像数据输入到训练好的基于Transformer的人脸检测模型;其中,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块。
S3、根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
可选地,S2中的基于Transformer的人脸检测模型的训练过程包括:
S21、获取数据集,对数据集中的每张图片进行增强策略处理。
S22、将增强策略处理后的图片输入到特征提取模块,得到特征图。
S23、将特征图输入到多尺度特征构造模块,得到多尺度特征图。
S24、将多尺度特征图输入到人脸检测模块,得到人脸框检测结果。
S25、将多尺度特征图输入到人脸关键点检测模块,得到人脸关键点检测结果。
可选地,S21中的数据集为WIDER_FACE数据集。
对数据集中的每张图片进行增强策略处理,包括:
对数据集中的每张图片进行标注信息获取、随机失真、随机位移、改变人脸位置、随机裁剪、像素放大、归一化随机翻转以及边界填充。
可选地,S22中的特征提取模块包括图像块划分模块以及特征图构建模块。
将增强策略处理后的图片输入到特征提取模块,得到特征图,包括:
S221、将增强策略处理后的图片输入到图像块划分模块进行分块以及在通道方向展平。
S222、将展平后的图像输入到特征图构建模块,得到构建好的特征图;其中,特征图构建模块包括四个阶段。
可选地,四个阶段包括第一阶段、第二阶段、第三阶段以及第四阶段。
第一阶段包括线性通道转换层以及Swin Transformer模块。
第二阶段、第三阶段以及第四阶段包括图像块合并层以及Swin Transformer模块。
可选地,S2中的特征提取模块为Swin Transformer网络。
多尺度特征构造模块为FPN网络。
人脸检测模块以及人脸关键点检测模块为RPN网络;其中,RPN网络还包括人脸关键点回归分支。
可选地,人脸关键点回归分支包括回归出人脸的左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。
可选地,人脸关键点回归分支还包括:人脸关键点的标签转换。
人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标。
获取人脸关键点的坐标,将人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值。
将横坐标的相对值与纵坐标的相对值分别除以人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签。
可选地,人脸检测模块以及人脸关键点检测模块的人脸关键点回归分支的损失函数为smooth L1损失函数,如下式(1)所示:
其中,x为真值与估计值的差。
另一方面,本发明提供了一种基于Transformer的人脸检测装置,该装置应用于实现基于Transformer的人脸检测方法,该装置包括:
获取模块,用于获取待检测的图像数据。
输入模块,用于将图像数据输入到训练好的基于Transformer的人脸检测模型;其中,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块。
输出模块,用于根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
可选地,输入模块,进一步用于:
S21、获取数据集,对数据集中的每张图片进行增强策略处理。
S22、将增强策略处理后的图片输入到特征提取模块,得到特征图。
S23、将特征图输入到多尺度特征构造模块,得到多尺度特征图。
S24、将多尺度特征图输入到人脸检测模块,得到人脸框检测结果。
S25、将多尺度特征图输入到人脸关键点检测模块,得到人脸关键点检测结果。
可选地,数据集为WIDER_FACE数据集。
输入模块,进一步用于:
对数据集中的每张图片进行标注信息获取、随机失真、随机位移、改变人脸位置、随机裁剪、像素放大、归一化随机翻转以及边界填充。
可选地,特征提取模块包括图像块划分模块以及特征图构建模块。
输入模块,进一步用于:
S221、将增强策略处理后的图片输入到图像块划分模块进行分块以及在通道方向展平。
S222、将展平后的图像输入到特征图构建模块,得到构建好的特征图;其中,特征图构建模块包括四个阶段。
可选地,四个阶段包括第一阶段、第二阶段、第三阶段以及第四阶段。
第一阶段包括线性通道转换层以及Swin Transformer模块。
第二阶段、第三阶段以及第四阶段包括图像块合并层以及Swin Transformer模块。
可选地,特征提取模块为Swin Transformer网络。
多尺度特征构造模块为FPN网络。
人脸检测模块以及人脸关键点检测模块为RPN网络;其中,RPN网络还包括人脸关键点回归分支。
可选地,人脸关键点回归分支包括回归出人脸的左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。
可选地,人脸关键点回归分支还包括:人脸关键点的标签转换。
人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标。
获取人脸关键点的坐标,将人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值。
将横坐标的相对值与纵坐标的相对值分别除以人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签。
可选地,人脸检测模块以及人脸关键点检测模块的人脸关键点回归分支的损失函数为smooth L1损失函数,如下式(1)所示:
其中,x为真值与估计值的差。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于Transformer的人脸检测方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于Transformer的人脸检测方法。
上述技术方案,与现有技术相比至少具有如下有益效果:
上述方案,提供了一种基于Transformer的人脸检测方法。本发明作为第一个基于Transformer的人脸检测器,其性能可以接近基于卷积神经网络的人脸检测器,可以准确地定位图片中的人脸,输出人脸框坐标。
本发明不仅能完成人脸框的定位,还能同时定位人面部的五个关键点。本发明在网络结构中添加了人脸关键点数据流,使其作为辅助任务,既能提升主任务的性能,又能为人脸检测的下一步任务人脸识别做好准备。
本发明可以在数据集数量偏小的情况下,完成基于Transformer的人脸检测器的训练,使其良好地收敛并且不会过拟合。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于Transformer的人脸检测方法流程示意图;
图2是本发明实施例提供的基于Transformer的人脸检测结构示意图;
图3是本发明实施例提供的基于Transformer的人脸检测装置框图;
图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于Transformer的人脸检测方法,该方法可以由电子设备实现。如图1所示的基于Transformer的人脸检测方法流程图,该方法的处理流程可以包括如下的步骤:
S1、获取待检测的图像数据。
S2、将图像数据输入到训练好的基于Transformer的人脸检测模型。
如图2所示,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块。
可选地,S2中的基于Transformer的人脸检测模型的训练过程包括S21-S25:
S21、获取WIDER_FACE数据集,对数据集中的每张图片进行标注信息获取、随机失真、随机位移、改变人脸位置、随机裁剪、像素放大、归一化随机翻转以及边界填充。
一种可行的实施方式中,基于卷积神经网络的人脸检测技术不断发展,模型不断迭代更新,准确率几乎能在WIDER_FACE数据集上达到饱和。然而表现良好的基于Transformer的人脸检测器却没有出现。可能的原因有如下几方面。首先Transformer在训练过程中容易有训练不稳定的问题,尤其是当训练的图片分辨率比较大时。Transformer在预训练时通常使用224*224大小的图片,而人脸检测常用的数据集WIDER_FACE中包含的几乎都是大分辨率图像。ViT虽然证明纯Transformer也可以取得非常好的效果,但是它相比卷积神经网络在数据量越大的情况下优势更加明显,Transformer还存在问题:需要大量数据进行预训练,Swin transformer使用来自Imagenet数据集中的120万张图片进行预训练。对于目标检测任务,它使用包含11.8万张图片的coco数据集进行训练。而对于人脸检测任务,WIDER_FACE数据集中的训练集图片数量仅有1.6万张,且每张图片包含的平均目标数更多。所以针对在WIDER_FACE数据集上的人脸检测任务,Transformer目前还没有崭露头角。因此,本发明旨在利用Transformer实现WIDER_FACE数据集上的人脸检测任务。本发明主要针对以下三点进行展开:
1)使用双阶段检测网络结构,使用Swin transformer完成特征提取,使该检测器作为第一个可以准确定位人脸的基于Transformer的人脸检测器。
2)受到卷积神经网络常通过添加分支同时实现人脸检测与其它任务的启发,本发明添加人脸关键点分支。人脸识别的第一步是人脸检测,第二步要做的是人脸对齐,而人脸对齐需要对人脸关键点进行检测。人脸检测与人脸关键点检测这两个任务存在着固有联系。所以本发明拟利用辅助任务帮助主任务的学习。
3)对于双阶段检测网络,首先由RPN网络生成候选框并判断它属于目标还是背景,同时RPN的另一分支继续修正候选框,最后进行分类和回归操作完成目标检测。本发明在候选框生成网络平行加入关键点检测分支,在检测网络的前期多加入了监督信息,提升后续检测的准确性。
具体地,针对人脸检测的人脸数据集有很多,本发明采用WIDER_FACE这一长期由官方维护的数据集。它是目前最常用的数据集也是目前最大的公开人脸数据集。数据集都采用了VOC形式的标注,每张图片都对应一个xml格式文件,其中包含该图片中的具体信息:图片名称、每张人脸的分类、每张人脸的位置坐标(xmin,ymin,xmax,ymax)等等。WIDER_FACE数据集包含60种场景下的图片,这些图片包含多种尺度的人脸,而且该数据集还有其它多方面的难点,例如:遮挡、光照、化妆、姿态和表情等等。虽然WIDER_FACE对于检测任务来说是难度较大的数据集,但是它却可以更加全面地评测检测器是否可靠。WIDER_FACE数据集中共包含32203张图像,393703个标注人脸。其中训练集占总数的40%,验证集占总数的10%。对于WIDER_FACE来说,一半的人脸的高度都小于50像素,高度在50到300像素之间的人脸占43%。即WIDER_FACE中大部分的人脸都属于偏小和中等大小人脸。本课题发明将数据集中的每张图片都通过增强策略处理。首先需要读取VOC数据集,取出每张图片的标注信息。然后对每张图片进行随机失真处理,之后对每张图片进行随机的位移,改变人脸位置,再进行随机裁剪,之后将该图片的大小放大到1024*1024像素,对图像进行归一化随机翻转以及边界填充等操作,改善图像的视觉效果,使其能更适用于本发明来进行图像检测任务的训练。
S22、将增强策略处理后的图片输入到特征提取模块,得到特征图。
可选地,S22中的特征提取模块包括图像块划分模块以及特征图构建模块。
可选地,特征提取模块为Swin Transformer网络。
将增强策略处理后的图片输入到特征提取模块,得到特征图,包括S221-S222:
S221、将增强策略处理后的图片输入到图像块划分模块进行分块以及在通道方向展平。
一种可行的实施方式中,该结构使用Swin Transformerv2作为骨干网络,首先将图片输入到图像块划分模块中进行分块,即每4x4相邻的像素为一个Patch,然后在通道方向展平。假设输入的是RGB三通道图片,那么每个patch就有4x4=16个像素,然后每个像素有R、G、B三个值所以展平后图像通道大小是16x3=48,所以通过图像块划分后图像尺寸由[H,W,3]变成了[H/4,W/4,48]。然后再对每个像素的通道数据做线性变换,由48变成C,即图像尺寸再由[H/4,W/4,48]变成了[H/4,W/4,C]。
S222、将展平后的图像输入到特征图构建模块,得到构建好的特征图;其中,特征图构建模块包括四个阶段。
一种可行的实施方式中,通过四个阶段构建不同大小的特征图,除了第一个阶段先通过一个线性通道转换层外,剩下三个截断阶段都是先通过一个图像块合并层进行下采样。然后是重复堆叠的Swin Transformer模块。
S23、将特征图输入到多尺度特征构造模块,得到多尺度特征图。
可选地,多尺度特征构造模块为FPN网络。
一种可行的实施方式中,本发明通过构造特征金字塔来帮助构造多尺度的特征信息,以方便对于多尺度的人脸进行检测定位。
S24、将多尺度特征图输入到人脸检测模块,得到人脸框检测结果。
S25、将多尺度特征图输入到人脸关键点检测模块,得到人脸关键点检测结果。
可选地,人脸检测模块以及人脸关键点检测模块为RPN网络;其中,RPN网络还包括人脸关键点回归分支。
可选地,人脸关键点回归分支包括回归出人脸的左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。
一种可行的实施方式中,RPN网络根据多尺度特征图初步确定出可能的人脸框位置。本发明在RPN网络加入了关键点回归分支,为RPN网络加入更多监督信息,进而帮助人脸框的定位。根据RPN网络提取的人脸框帮助后续的网络继续进行人脸框的修正,同时本发明在后续网络也加入了关键点回归分支,与人脸检测任务需要回归人脸框的四个坐标相似,关键点回归任务需要回归出人脸左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。使用该辅助任务可以帮助主任务获得更好的性能。
可选地,人脸关键点回归分支还包括:人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标。
获取人脸关键点的坐标,将人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值。
将横坐标的相对值与纵坐标的相对值分别除以人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签。
一种可行的实施方式中,为了更好地对关键点进行回归,本发明对关键点的标签进行了编码处理,即将关键点的标签转换为相对于人脸框的大小。
具体方法就是对于RPN网络生成的人脸框,计算出其中心坐标,将每组人脸关键点的坐标减去其对应的人脸框的中心坐标,将得到的横坐标的相对值与纵坐标的相对值分别除以该人脸框的宽和高。这样使网络回归的关键点值为关键点与人脸框的偏差值,更有助于网络的收敛。
本发明使用smooth L1损失函数作为人脸框以及人脸关键点回归分支任务的损失函数。该损失函数是由L1范数损失函数改进而来。L1范数损失函数公式如下式(1):
其中,Yi为真实值,即标签,n为数据个数。
所以由公式可以看出,该损失函数为真值与估计值差的绝对值的和。L2范数损失函数公式如下式(2):
由公式可以看出,该损失函数为真值与估计值差的平方和。由于L2范数损失计算误差的平方和,当误差大于1时,模型的误差会比L1范数损失更大,所以模型就会通过调整连接权值等参数来最小化误差。但是如果该样本为一个异常值,即该样本并不属于合理样本。那么模型就会因此性能变差。所以通常来说L1范数损失函数具有更好的鲁棒性。smoothL1损失函数,如下式(3)所示:
其中,x为真值与估计值的差。
由该公式可以看出,该函数为分段函数,当真值与估计值的差x的绝对值小于1时,Smooth L1损失函数与L2范数损失函数相似,而当x的绝对值大于等于1时,Smooth L1损失函数与L1范数损失函数相似。这样相比于L1范数损失函数,Smooth L1损失函数曲线更加光滑,不会出现中心点不能求导的问题。同时相比于L2范数损失函数,Smooth L1损失函数的泛化能力更强,避免了误差x较大导致梯度爆炸的问题。
S3、根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
针对在WIDER_FACE数据集上的人脸检测任务,本发明使用传统双阶段检测方法与Transformer相结合构成基于Transformer的人脸检测网络。这样可以保证使用相对于通用目标检测数据集数据量偏少的WIDER_FACE数据集完成人脸检测任务的训练。
本发明在RPN网络加入与人脸框定位平行的关键点回归任务分支,通过更细致的监督信息能够辅助RPN网络生成更为准确的候选区域,更有助于提升后续的人脸框回归任务的性能。
本发明在网络末端也加入关键点回归分支,通过在网络结构中引入人脸关键点数据流,对整体增强了监督。多任务学习可以学到多个任务的共享表示,这个共享表示具有较强的抽象能力,能够适应多个不同但相关的目标,通常可以使主任务获得更好的泛化能力。此外,由于使用共享表示,多个任务同时进行预测时,减少了数据来源的数量以及整体模型参数的规模,使预测更加高效。因此,本发明可以利用多任务学习来提高人脸检测性能。
本发明实施例中,提供了一种基于Transformer的人脸检测方法。本发明作为第一个基于Transformer的人脸检测器,其性能可以接近基于卷积神经网络的人脸检测器,可以准确地定位图片中的人脸,输出人脸框坐标。
本发明不仅能完成人脸框的定位,还能同时定位人面部的五个关键点。本发明在网络结构中添加了人脸关键点数据流,使其作为辅助任务,既能提升主任务的性能,又能为人脸检测的下一步任务人脸识别做好准备。
本发明可以在数据集数量偏小的情况下,完成基于Transformer的人脸检测器的训练,使其良好地收敛并且不会过拟合。
如图3所示,本发明实施例提供了一种基于Transformer的人脸检测装置300,该装置300应用于实现基于Transformer的人脸检测方法,该装置300包括:
获取模块310,用于获取待检测的图像数据。
输入模块320,用于将图像数据输入到训练好的基于Transformer的人脸检测模型;其中,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块。
输出模块330,用于根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
可选地,输入模块320,进一步用于:
S21、获取数据集,对数据集中的每张图片进行增强策略处理。
S22、将增强策略处理后的图片输入到特征提取模块,得到特征图。
S23、将特征图输入到多尺度特征构造模块,得到多尺度特征图。
S24、将多尺度特征图输入到人脸检测模块,得到人脸框检测结果。
S25、将多尺度特征图输入到人脸关键点检测模块,得到人脸关键点检测结果。
可选地,数据集为WIDER_FACE数据集。
输入模块320,进一步用于:
对数据集中的每张图片进行标注信息获取、随机失真、随机位移、改变人脸位置、随机裁剪、像素放大、归一化随机翻转以及边界填充。
可选地,特征提取模块包括图像块划分模块以及特征图构建模块。
输入模块320,进一步用于:
S221、将增强策略处理后的图片输入到图像块划分模块进行分块以及在通道方向展平。
S222、将展平后的图像输入到特征图构建模块,得到构建好的特征图;其中,特征图构建模块包括四个阶段。
可选地,四个阶段包括第一阶段、第二阶段、第三阶段以及第四阶段。
第一阶段包括线性通道转换层以及Swin Transformer模块。
第二阶段、第三阶段以及第四阶段包括图像块合并层以及Swin Transformer模块。
可选地,特征提取模块为Swin Transformer网络。
多尺度特征构造模块为FPN网络。
人脸检测模块以及人脸关键点检测模块为RPN网络;其中,RPN网络还包括人脸关键点回归分支。
可选地,人脸关键点回归分支包括回归出人脸的左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。
可选地,人脸关键点回归分支还包括:人脸关键点的标签转换。
人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标。
获取人脸关键点的坐标,将人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值。
将横坐标的相对值与纵坐标的相对值分别除以人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签。
可选地,人脸检测模块以及人脸关键点检测模块的人脸关键点回归分支的损失函数为smooth L1损失函数,如下式(1)所示:
其中,x为真值与估计值的差。
本发明实施例中,提供了一种基于Transformer的人脸检测方法。本发明作为第一个基于Transformer的人脸检测器,其性能可以接近基于卷积神经网络的人脸检测器,可以准确地定位图片中的人脸,输出人脸框坐标。
本发明不仅能完成人脸框的定位,还能同时定位人面部的五个关键点。本发明在网络结构中添加了人脸关键点数据流,使其作为辅助任务,既能提升主任务的性能,又能为人脸检测的下一步任务人脸识别做好准备。
本发明可以在数据集数量偏小的情况下,完成基于Transformer的人脸检测器的训练,使其良好地收敛并且不会过拟合。
图4是本发明实施例提供的一种电子设备400的结构示意图,该电子设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)401和一个或一个以上的存储器402,其中,存储器402中存储有至少一条指令,至少一条指令由处理器401加载并执行以实现下述基于Transformer的人脸检测方法:
S1、获取待检测的图像数据。
S2、将图像数据输入到训练好的基于Transformer的人脸检测模型;其中,基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块。
S3、根据图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述基于Transformer的人脸检测方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于Transformer的人脸检测方法,其特征在于,所述方法包括:
S1、获取待检测的图像数据;
S2、将所述图像数据输入到训练好的基于Transformer的人脸检测模型;其中,所述基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块;
所述S2中的特征提取模块为Swin Transformer网络;
多尺度特征构造模块为特征图金字塔FPN网络;
人脸检测模块以及人脸关键点检测模块为区域生成网络RPN网络;其中,所述RPN网络还包括人脸关键点回归分支;
所述人脸关键点回归分支还包括:人脸关键点的标签转换;
所述人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标;
获取人脸关键点的坐标,将所述人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值;
将所述横坐标的相对值与纵坐标的相对值分别除以所述人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签;
S3、根据所述图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
2.根据权利要求1所述的方法,其特征在于,所述S2中的基于Transformer的人脸检测模型的训练过程包括:
S21、获取数据集,对所述数据集中的每张图片进行增强策略处理;
S22、将增强策略处理后的图片输入到所述特征提取模块,得到特征图;
S23、将所述特征图输入到所述多尺度特征构造模块,得到多尺度特征图;
S24、将所述多尺度特征图输入到人脸检测模块,得到人脸框检测结果;
S25、将所述多尺度特征图输入到人脸关键点检测模块,得到人脸关键点检测结果。
3.根据权利要求2所述的方法,其特征在于,所述S21中的数据集为WIDER_FACE数据集;
对所述数据集中的每张图片进行增强策略处理,包括:
对数据集中的每张图片进行标注信息获取、随机失真、随机位移、改变人脸位置、随机裁剪、像素放大、归一化随机翻转以及边界填充。
4.根据权利要求2所述的方法,其特征在于,所述S22中的特征提取模块包括图像块划分模块以及特征图构建模块;
所述将增强策略处理后的图片输入到所述特征提取模块,得到特征图,包括:
S221、所述将增强策略处理后的图片输入到所述图像块划分模块进行分块以及在通道方向展平;
S222、将展平后的图像输入到所述特征图构建模块,得到构建好的特征图;其中,特征图构建模块包括四个阶段。
5.根据权利要求4所述的方法,其特征在于,所述四个阶段包括第一阶段、第二阶段、第三阶段以及第四阶段;
所述第一阶段包括线性通道转换层以及Swin Transformer模块;
所述第二阶段、第三阶段以及第四阶段包括图像块合并层以及Swin Transformer模块。
6.根据权利要求1所述的方法,其特征在于,所述人脸关键点回归分支包括回归出人脸的左眼、右眼、鼻子、左嘴角以及右嘴角的十个坐标点。
7.根据权利要求1所述的方法,其特征在于,所述人脸检测模块以及人脸关键点检测模块的人脸关键点回归分支的损失函数为smooth L1损失函数,如下式(1)所示:
其中,x为真值与估计值的差。
8.一种基于Transformer的人脸检测装置,其特征在于,所述装置包括:
获取模块,用于获取待检测的图像数据;
输入模块,用于将所述图像数据输入到训练好的基于Transformer的人脸检测模型;其中,所述基于Transformer的人脸检测模型包括特征提取模块、多尺度特征构造模块、人脸检测模块以及人脸关键点检测模块;
所述特征提取模块为Swin Transformer网络;
多尺度特征构造模块为特征图金字塔FPN网络;
人脸检测模块以及人脸关键点检测模块为区域生成网络RPN网络;其中,所述RPN网络还包括人脸关键点回归分支;
所述人脸关键点回归分支还包括:人脸关键点的标签转换;
所述人脸关键点的标签转换,包括:
获取人脸框的坐标,计算出人脸框的中心坐标;
获取人脸关键点的坐标,将所述人脸关键点的坐标减去对应的人脸框的中心坐标,得到横坐标的相对值与纵坐标的相对值;
将所述横坐标的相对值与纵坐标的相对值分别除以所述人脸框的宽和高,将人脸关键点的标签转换为相对于人脸框的大小,得到转换后的人脸关键点的标签;
输出模块,用于根据所述图像数据以及基于Transformer的人脸检测模型,得到图像数据的人脸检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746034.4A CN116740790B (zh) | 2023-06-21 | 2023-06-21 | 一种基于Transformer的人脸检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746034.4A CN116740790B (zh) | 2023-06-21 | 2023-06-21 | 一种基于Transformer的人脸检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116740790A CN116740790A (zh) | 2023-09-12 |
CN116740790B true CN116740790B (zh) | 2024-02-09 |
Family
ID=87911222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310746034.4A Active CN116740790B (zh) | 2023-06-21 | 2023-06-21 | 一种基于Transformer的人脸检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116740790B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436174A (zh) * | 2021-06-30 | 2021-09-24 | 华中科技大学 | 一种人脸质量评估模型的构建方法及应用 |
CN114926882A (zh) * | 2022-05-23 | 2022-08-19 | 深圳大学 | 一种基于detr的人脸检测方法 |
CN115063833A (zh) * | 2022-05-16 | 2022-09-16 | 国网冀北电力有限公司信息通信分公司 | 一种基于图像分层视觉的机房人员检测方法 |
CN116189265A (zh) * | 2023-02-22 | 2023-05-30 | 北京信息科技大学 | 基于轻量化语义Transformer模型的素描人脸识别方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202696B (zh) * | 2021-12-15 | 2023-01-24 | 安徽大学 | 基于上下文视觉的sar目标检测方法、装置和存储介质 |
-
2023
- 2023-06-21 CN CN202310746034.4A patent/CN116740790B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436174A (zh) * | 2021-06-30 | 2021-09-24 | 华中科技大学 | 一种人脸质量评估模型的构建方法及应用 |
CN115063833A (zh) * | 2022-05-16 | 2022-09-16 | 国网冀北电力有限公司信息通信分公司 | 一种基于图像分层视觉的机房人员检测方法 |
CN114926882A (zh) * | 2022-05-23 | 2022-08-19 | 深圳大学 | 一种基于detr的人脸检测方法 |
CN116189265A (zh) * | 2023-02-22 | 2023-05-30 | 北京信息科技大学 | 基于轻量化语义Transformer模型的素描人脸识别方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116740790A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299274B (zh) | 一种基于全卷积神经网络的自然场景文本检测方法 | |
CN109886121B (zh) | 一种遮挡鲁棒的人脸关键点定位方法 | |
CN113158862B (zh) | 一种基于多任务的轻量级实时人脸检测方法 | |
CN115496928B (zh) | 基于多重特征匹配的多模态图像特征匹配方法 | |
CN112150493A (zh) | 一种基于语义指导的自然场景下屏幕区域检测方法 | |
CN113313082B (zh) | 一种基于多任务损失函数的目标检测方法及系统 | |
CN112364931A (zh) | 基于元特征和权重调整的少样本目标检测方法及网络模型 | |
CN113177549B (zh) | 一种基于动态原型特征融合的少样本目标检测方法及系统 | |
CN114724155A (zh) | 基于深度卷积神经网络的场景文本检测方法、系统及设备 | |
CN111680739A (zh) | 一种目标检测和语义分割的多任务并行方法及系统 | |
CN112633220A (zh) | 一种基于双向序列化建模的人体姿态估计方法 | |
CN116524307A (zh) | 一种基于扩散模型的自监督预训练方法 | |
Lei et al. | SNLRUX++ for building extraction from high-resolution remote sensing images | |
CN116596966A (zh) | 一种基于注意力和特征融合的分割与跟踪方法 | |
Liu et al. | SLPR: A deep learning based Chinese ship license plate recognition framework | |
CN116740790B (zh) | 一种基于Transformer的人脸检测方法及装置 | |
Wang et al. | Summary of object detection based on convolutional neural network | |
CN115861810A (zh) | 一种基于多头注意力和自监督学习的遥感图像变化检测方法及系统 | |
CN116311345A (zh) | 一种基于Transformer的遮挡行人重识别方法 | |
CN115410089A (zh) | 自适应局部上下文嵌入的光学遥感小尺度目标检测方法 | |
Ma | PANet: parallel attention network for remote sensing image semantic segmentation | |
CN115331254A (zh) | 一种免锚框的实例人像语义解析方法 | |
CN113569650A (zh) | 一种基于电力杆塔标牌识别的无人机自主巡检定位方法 | |
Liu et al. | L2-LiteSeg: A Real-Time Semantic Segmentation Method for End-to-End Autonomous Driving | |
Wang et al. | Text recognition in uav aerial images |
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 |