CN113705521A - 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法 - Google Patents

一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法 Download PDF

Info

Publication number
CN113705521A
CN113705521A CN202111036062.4A CN202111036062A CN113705521A CN 113705521 A CN113705521 A CN 113705521A CN 202111036062 A CN202111036062 A CN 202111036062A CN 113705521 A CN113705521 A CN 113705521A
Authority
CN
China
Prior art keywords
layer
face
prediction
coordinates
feature
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.)
Pending
Application number
CN202111036062.4A
Other languages
English (en)
Inventor
冯俊燕
贾飞勇
董涵宇
陈小林
万园园
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
First Hospital Jinlin University
Original Assignee
First Hospital Jinlin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by First Hospital Jinlin University filed Critical First Hospital Jinlin University
Priority to CN202111036062.4A priority Critical patent/CN113705521A/zh
Publication of CN113705521A publication Critical patent/CN113705521A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种结合YOLO‑MobilenetV3人脸检测的头部姿态估计方法,属于机器视觉图像处理领域。构建人脸和人脸关键特征点检测模块,对原始YOLOV3损失函数进行改进,对包含头部姿态的图像预处理,训练改进的YOLOV3检测模型进行训练,将测试图像输入上述训练好模型中,并结合PnP算法计算欧拉角,估计头部姿态。有益效果是利用MobileNetV3结构代替原始YOLOV3中的darknet53结构实现模型轻量化;采用空间金字塔池化模块提升模型对图像全局语义的获取,更有效地处理目标的空间位置信息,从而提升检测精度;对YOLOV3输出层和损失函数进行改进,使得模型能检测人脸关键点,易于实际应用,可以更加快速准确地对头部姿态进行估计。

Description

一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法
技术领域
本发明属于机器视觉图像处理领域,涉及单帧检测技术,具体涉及一种基于YOLO-MobilenetV3检测的头部姿态估计方法。
背景技术
近些年,人工智能技术发展迅速,人们对信息安全化以及智能化程度的需求也逐渐增加,头部姿态估计作为生物特征分析的一部分,是姿态分析和人脸识别的交叉领域,具有很重要的研究价值与意义。头部姿态识别可运用在驾驶系统,通过估计驾驶员的头部姿态来检测检测是否有疲劳驾驶;可运用在一些无人机械作业系统,通过评估操作员的头部姿态,在一些恶劣的作业环境远程操作机械工作;还可以运用在智能课堂和虚拟游戏等。
对于人类来说,通过直接观察并估计出人体头部姿态是一种常见的能力,然而,利用计算机仅通过图像来获取更高维的空间信息,进而实现人体头部姿态的估计却绝非易事。通常头部姿态估计分为三个部分:人脸检测、人脸和关键点定位以及姿态估计。其中人脸检测和人脸关键点定位这两步十分关键,人脸和关键点定位越准确,算法的姿态评估效果也越好。
目前随着深度学习技术的发展,在目标检测上有突出表现的YOLO网络也被引入头部姿态估计的研究领域。YOLO是继R-CNN、Fast R-CNN和Faster R-CNN之后一种新的端到端目标检测模型,可以预测目标位置和类别,同时端到端训练方式能够提高准确性。其中YOLOV3检测速度较快,其主要采用darknet53为基础主干网络结构进行特征提取,该结构参数过多,计算量大,导致训练时间较长,在训练过程中所占内存也较大。
发明内容
本发明提供一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,目的是能够减少模型的计算量同时保证检测精度,可以快速地从图像中检测出人脸并估计出人头部姿态。
本发明采取的技术方案是:包括下列步骤:
1)构建人脸和人脸关键特征点检测模块,从模型轻量化、保证检测精度和实现关键特征点标记的角度出发,对原始YOLOV3网络结构进行改进;
2)构建检测模块的训练损失函数,对原始YOLOV3损失函数进行改进;
3)获取图像,对包含头部姿态的图像进行预处理;
4)将预处理之后的训练图像输入上述改进的YOLOV3检测模型进行训练,使模型学习标记人脸检测框和五个关键特征点:左右两眼中心点,鼻子,嘴巴左右嘴角;
5)将测试图像输入上述训练好的YOLOV3模型中,得到标记的人脸框和特征关键点,并结合PnP算法,将提取的特征点从二维坐标转换成三维坐标信息,得到旋转矩阵并计算头部在三个自由度:偏航yaw、仰俯pitch、翻滚roll上的欧拉角,从而估计出头部在相机坐标系下的姿态。
本发明所述步骤(1)对原始YOLOV3网络结构进行改进包括:
1.1、MobilenetV3的层结构为;首先将输入尺寸为416×416×3的图像经过1×1的卷积层、批归一化层BN层和hard-swish激活函数,得到208×208×16的特征图,然后将得到的特征图输入通道数为16的逆残差组合层1,同时尺寸缩小一倍,得到的104×104×16的特征图,随后依次将特征图输入2个通道数为24的逆残差组合层2、5个通道数为48的逆残差组合层3和3个通道数为96的逆残差组合层4,最终得到的特征图尺寸为13×13×96;
1.2、在模型的主干特征提取部分末段添加空间金字塔池化结构,首先,采用1×1、2×2、3×3和6×6这四种不同尺度对输入的特征图进行平均池化,再分别经过一个1×1的卷积层以获取不同层次的特征,然后,采用上采样操作将池化后的特征图调整与输入尺寸大小一致,接着,将这四个子特征图与输入特征图进行拼接融合;最后,再经过一个1×1的卷积层进行降维输出;
1.3、在预测部分中,从主干特征提取部分中引出三种不同尺度,再对三个不同尺度特征图进行进一步的特征学习和预测,首先将13×13的特征图经过卷积模块,然后经过上采样和一个1×1的卷积层,将其与26×26的特征图进行拼接融合和卷积模块操作,再进行上采样和一个1×1的卷积层,随后将其与52×52的特征图进行拼接和卷积模块,每种尺度特征再经过卷积模块操作后,都会再经过一个3×3的卷积层,最后与输出部分相连接,卷积模块包括5个卷积层,其中包括3个1×1卷积层和2个3×3卷积层,1×1卷积层和3×3卷积层主要以交替方式进行组合;
1.4、输出部分将预测部分的特征图再通过一个1×1的卷积层,输出检测的人脸预测框和关键点等信息,关于人脸检测框的输出,三个不同的尺度会预测大量人脸定位框,而有许多是错误和冗余的,需要先设置置信度阈值进行筛选,剔除置信度低的错误预测框,然后采用非极大值抑制NMS进行冗余框删除,置信度阈值设置为0.25,其中非极大值抑制为:首先将预测框按照置信度从高到低进行排列,然后将置信度最大的预测框与其它预测框计算交并比IOU,最终删除低于交并比阈值的预测框,其中交并比IOU是计算两个边界框的交集和并集之比,该方案IOU阈值为0.5,其计算公式如下所示,A和B表示两个预测框;
Figure BDA0003246920330000031
关于关键特征点的输出:需要YOLO网络不仅能检测人脸框,同时还能检测人脸关键点,因此需要对预测部分的输出层进行改进,采用基于预测框左上角坐标偏移的人脸关键点定位方法,所以检测类别为1,将五个关键点的坐标信息也添加在输出参数中,在每个预测框中,除了中心坐标,宽高和置信度以外,还添加10个参数,所以最终的预测输出维度为(13,13,3×(10+5+1))、(26,26,3×(10+5+1))和(52,52,3×(10+5+1))。
本发明所述步骤1.1中逆残差组合层包括2个卷积组合层、1个深度可分离卷积组合层和1个轻量型注意力结构,其处理流程为:先将输入特征经过一个卷积组合层和一个深度可分离卷积组合层,然后将得到的特征图经过一个轻量化注意力结构,接着将轻量化注意力结构的输出通过
Figure BDA0003246920330000032
操作对深度可分离卷积输出的特征进行通道加权,最终将输入特征通过“+”跳跃连接与加权后的特征相加,再经过一个卷积组合层处理后输出;
其中,卷积组合层包括1×1的卷积层、批归一化层BN层和激活函数;深度可分离卷积组合层包括3×3的深度可分离卷积层、BN层和激活函数;轻量型注意力结构包括一个平均池化层和两个1×1的卷积层;关于激活函数的选择,逆残差组合层1和逆残差组合层2选用Relu6激活函数,逆残差组合层3和逆残差组合层4选用hard-swish激活函数,这两类激活函数的表达式如下:
Relu6:f(x)=min(max(0,x),6) (1)
hard-swish:
Figure BDA0003246920330000033
本发明所述步骤(2)对原始YOLOV3损失函数进行改进如下:
添加关键点的损失函数,计算预测的关键点坐标与真实关键点坐标的误差:
Figure BDA0003246920330000041
x1i'y1i'和x1i y1i表示第i个输出预测框中左眼中心点坐标以及其对应的真实左眼中心点坐标;
x2i'y2i'和x2i y2i表示第i个输出预测框中右眼的中心点坐标以及其对应的真实右眼中心点坐标;
x3i'y3i'和x3i y3i表示第i个输出预测框中鼻尖点坐标以及其对应的真实鼻尖点坐标;
x4i'y4i'和x4i y4i表示第i个输出预测框中左嘴角点坐标以及其对应的真实左嘴角点坐标;
x5i'y5i'和x5i y5i表示第i个输出预测框中右嘴角点坐标以及其对应的真实右嘴角点坐标;
因此,改进后的YOLOV3的损失函数为:
Loss=Lossyolo+Losspoints (6)。
本发明所述步骤(3)对训练的数据图像进行预处理如下:
在相机拍摄人脸视频中,截取尺寸为416×416大小的人脸图像,该人脸视频人包括不同的头部姿态,因为标是先检测出人脸框和标记人脸五个关键特征点,包括左右两眼中心,鼻尖和左右嘴角,所以需要对截取的人脸图像进行人脸框标注和关键点标注,由于图像模糊和人脸关键部位被遮挡带来的标记难度较大,因此在标注时,选取人脸五官清晰的图像来标记五官坐标,最终标记了1000张人脸图像,其中训练集和测试集按照5:1的比例划分,在训练之前对图像进行去噪处理。
本发明所述步骤(4)将预处理之后的图像输入改进的YOLOV3模型中进行训练如下:
模型经过“特征提取、预测、输出”这三部分网络得到训练时的预测结果,然后计算损失函数Loss的损失值,该损失值表示的是当前预测结果与真实结果的差距;最后通过梯度下降最小化损失值,将误差损失反向传播,去指导网络进一步优化,以得到更好的预测效果;这样不断的进行迭代训练,在损失函数的约束下,可以促进模型的预测结果逐渐与真实效果靠近,最终使得模型具备较为准确输出人脸预测框并标记人脸五官关键点位置的能力。
本发明所述步骤(5)估计出头部在相机坐标系下的姿态如下:
得到改进YOLOV3网络输出人脸框和人脸关键点位置后,下一步便结合PnP算法进行坐标转换,计算三个方向上的自由度:偏航(yaw)、仰俯(pitch)、翻滚(roll))对应的欧拉角并估计头部姿态,其中,头部姿态的估计最重要的就是获取大量三维空间信息,而上述步骤获取的人脸关键点坐标为2D信息,所以将2D关键点信息与标准3D人脸模型进行坐标匹配,采用PnP算法来求解2D坐标到3D坐标的映射关系,最后根据旋转矩阵求解欧拉角来估计头部姿态信息,所述的PnP算法:
在头部姿态估计中,通常使用三个自由度来表示,即翻滚(roll)、仰俯(pitch)和偏航(yaw),其分别对应空间坐标中的x轴,y轴和z轴,故而旋转矩阵R用3*3的矩阵来表示如下所示,已知维度为3x3的旋转矩阵:
Figure BDA0003246920330000051
其中r11表示旋转矩阵的第一行第一列中的元素,同理r12表示旋转矩阵的第一行第二列中的元素,其它以此类推。
通过旋转矩阵确定头部姿态yaw、pitch、roll这三个方向的欧拉角,roll方向的欧拉角为θx,pitch方向的欧拉角为θy,yaw方向的欧拉角为θz,其计算过程如下所示:
Figure BDA0003246920330000052
Figure BDA0003246920330000053
atan2是一个函数,atan2(y,x)表示:当x的绝对值比y的绝对值大,使用atan(y/x);反之则使用atan(x/y),这样可以保证数值的稳定性;
将旋转矩阵R按照x轴,y轴和z轴三个方向进行拆分,得到Rxx)、Ryy)和Rzz)这三个子旋转矩阵,其中Rxx)表示绕x轴旋转θx角度的旋转矩阵,Ryy)表示绕y轴旋转θy角度的旋转矩阵,Rzz)表示绕z轴旋转θz角度的旋转矩阵,通过计算得到三个欧拉角,从而可以估计出头部姿态。
本发明利用改进后的YOLOV3网络检测人脸和关键点位置,然后结合PnP算法对关键特征点进行坐标转换得到三维角度,从而实现对头部姿态的估计。
本发明的有益效果:改进YOLOV3网络:1)利用MobileNetV3结构代替原始YOLOV3中的darknet53结构实现模型轻量化;2)采用空间金字塔池化模块提升模型对图像全局语义的获取,更有效地处理目标的空间位置信息,从而提升检测精度;3)对YOLOV3输出层和损失函数进行改进,使得模型能检测人脸关键点。随后将改进YOLOV3网络检测到的人脸和关键特征点与PnP算法结合,进行头部姿态估计,本发明方便有效,易于实际应用,可以更加快速准确地对头部姿态进行估计。
附图说明
图1是本发明的流程图;
图2(a)是本发明改进的YOLOV3网络示意图;
图2(b)是本发明改进的YOLOV3网络中的逆残差组合层示意图;
图2(c)是本发明改进的YOLOV3网络中采用的空间金字塔池化示意图;
图3是本发明中头部姿态检测流程图。
具体实施方式
包括下列步骤:
(1)、对YOLOV3网络结构进行改进。
模型整体结构如附图2(a)所示,步骤1.1,将原始图像处理得到416*416分辨率的输入图像,然后将输入图像经过主干特征提取网络,该部分将利用MobileNetV3结构代替原始YOLOV3中的darknet53结构实现模型轻量化;步骤1.2,为了保证检测准确度,主干特征提取网络的末段融合空间金字塔池化模块,便于模型获取更丰富的全局上下文特征信息;步骤1.3,预测部分包括在特征提取主干网络部分引出三个不同尺度,进行多层特征学习和预测,最终连接到输出部分输出预测结果;步骤1.4,在输出部分对YOLOV3的预测输出层参数进行修改,原始的YOLOV3只输出类别和检测框信息,添加关键点坐标信息输出,改变最终的输出维度;
1.1、MobilenetV3模型计算量仅darknet53结构的1/15,参数量也只有其1/11,本方案采用的MobilenetV3模型同时具备MobilenetV1的深度可分离卷积和MobilenetV2的线性瓶颈逆残差结构这两个优势,并且还引入了基于SE(squeezeand excitation)结构的轻量级注意力模型。
MobilenetV3的层结构为;首先将输入尺寸为416×416×3的图像经过1×1的卷积层、批归一化层(Batch Normalization,简称BN层)和hard-swish激活函数,得到208×208×16的特征图,然后将得到的特征图输入通道数为16的逆残差组合层1,同时尺寸缩小一倍,得到的104×104×16的特征图,随后依次将特征图输入2个通道数为24的逆残差组合层2、5个通道数为48的逆残差组合层3和3个通道数为96的逆残差组合层4,最终得到的特征图尺寸为13×13×96。
如图2(b)所示,逆残差组合层包括2个卷积组合层、1个深度可分离卷积组合层和1个轻量型注意力结构,其处理流程为:先将输入特征经过一个卷积组合层和一个深度可分离卷积组合层,然后将得到的特征图经过一个轻量化注意力结构,接着将轻量化注意力结构的输出通过
Figure BDA0003246920330000072
操作对深度可分离卷积输出的特征进行通道加权,最终将输入特征通过“+”跳跃连接与加权后的特征相加,再经过一个卷积组合层处理后输出;
其中,卷积组合层包括1×1的卷积层、批归一化层(Batch Normalization,简称BN层)和激活函数;深度可分离卷积组合层包括3×3的深度可分离卷积层、BN层和激活函数;轻量型注意力结构包括一个平均池化层和两个1×1的卷积层;关于激活函数的选择,逆残差组合层1和逆残差组合层2选用Relu6激活函数,逆残差组合层3和逆残差组合层4选用hard-swish激活函数,这两类激活函数的表达式如下:
Relu6:f(x)=min(max(0,x),6) (1)
hard-swish:
Figure BDA0003246920330000071
1.2:轻量化网络的添加可以很好的降低模型的计算量和计算参数,但是对检测精度会造成一定影响。为了能够保证检测准确率,在模型的主干特征提取部分末段添加空间金字塔池化结构,其结构图如图2(c)所示,首先,采用1×1、2×2、3×3和6×6这四种不同尺度对输入的特征图进行平均池化,再分别经过一个1×1的卷积层以获取不同层次的特征,主要是全局特征和多尺度局部特征;然后,采用上采样操作将池化后的特征图调整与输入尺寸大小一致,接着,将这四个子特征图与输入特征图进行拼接融合;最后,再经过一个1×1的卷积层进行降维输出;空间金字塔池化模块能够将图像上下文的语义信息聚合,增强模型获取全局信息的能力,有利于捕获目标在图像中的空间信息,从而达到提升检测准确度的效果;
1.3:在预测部分中,从主干特征提取部分(MobileNetV3结构)中引出三种不同尺度,再对三个不同尺度特征图进行进一步的特征学习和预测,如图2(a)所示,首先将13×13的特征图经过卷积模块,然后经过上采样和一个1×1的卷积层,将其与26×26的特征图进行拼接融合和卷积模块操作,再进行上采样和一个1×1的卷积层,随后将其与52×52的特征图进行拼接和卷积模块,每种尺度特征再经过卷积模块操作后,都会再经过一个3×3的卷积层,最后与输出部分相连接,卷积模块包括5个卷积层,其中包括3个1×1卷积层和2个3×3卷积层,1×1卷积层和3×3卷积层主要以交替方式进行组合。
1.4:输出部分将预测部分的特征图再通过一个1×1的卷积层,输出检测的人脸预测框和关键点等信息,关于人脸检测框的输出,三个不同的尺度会预测大量人脸定位框,而有许多是错误和冗余的,需要先设置置信度阈值进行筛选,剔除置信度低的错误预测框,然后采用非极大值抑制(NMS)进行冗余框删除,置信度阈值设置为0.25,其中非极大值抑制的主要原理为:首先将预测框按照置信度从高到低进行排列,然后将置信度最大的预测框与其它预测框计算交并比(IOU),最终删除低于交并比阈值的预测框,其中交并比(IOU)是计算两个边界框的交集和并集之比,该方案IOU阈值为0.5,其计算公式如下所示,A和B表示两个预测框;
Figure BDA0003246920330000081
关于关键特征点的输出:原始YOLOV3只预测检测框,而本方案需要YOLO网络不仅能检测人脸框,同时还能检测人脸关键点,因此需要对预测部分的输出层进行改进,采用基于预测框左上角坐标偏移的人脸关键点定位方法。原始YOLOV3的输出维度分别为(13,13,3×(5+1))、(26,26,3×(5+1))和(52,52,3×(5+1)),5表示每个预测框的信息,包含预测框2个中心点坐标(x、y)、预测框的宽和高和预测框的置信度得分,1表示检测目标的类别,因为本方案只检测人脸,所以检测类别为1,本方案将五个关键点的坐标信息也添加在输出参数中,在每个预测框中,除了中心坐标,宽高和置信度以外,还添加10个参数,所以最终的预测输出维度为(13,13,3×(10+5+1))、(26,26,3×(10+5+1))和(52,52,3×(10+5+1));
(2)、原始YOLOV3损失函数如下所示,其中第一项表示预测框的中心坐标误差,第二项表示预测框的宽和高的误差,第三项和第四项表示置信度误差,第五项表示类别误差;
Figure BDA0003246920330000091
其中S×S表示特征图尺寸,即分别为(13×13、26×26、52×52);
B表示预测目标种类;
wi'hi'和wi hi分别表示第i个输出预测框的宽和高以及其对应的真实预测框的宽和高;
xi'yi'和xi yi分别表示第i个输出预测框的中心坐标以及其对应的真实预测框的中心坐标;
Figure BDA0003246920330000092
表示第i个网格中的第j个框是否负责这个检测目标,如果是则
Figure BDA0003246920330000093
否则为0;
Figure BDA0003246920330000094
表示参数置信度,其取值由第i个网格的第j个框有无预测目标所决定,有则
Figure BDA0003246920330000095
否则为0;
本方案添加关键点的损失函数,计算预测的关键点坐标与真实关键点坐标的误差:
Figure BDA0003246920330000096
x1i'y1i'和x1i y1i表示第i个输出预测框中左眼中心点坐标以及其对应的真实左眼中心点坐标;
x2i'y2i'和x2i y2i表示第i个输出预测框中右眼的中心点坐标以及其对应的真实右眼中心点坐标;
x3i'y3i'和x3i y3i表示第i个输出预测框中鼻尖点坐标以及其对应的真实鼻尖点坐标;
x4i'y4i'和x4i y4i表示第i个输出预测框中左嘴角点坐标以及其对应的真实左嘴角点坐标;
x5i'y5i'和x5i y5i表示第i个输出预测框中右嘴角点坐标以及其对应的真实右嘴角点坐标;
因此,改进后的YOLOV3的损失函数为:
Loss=Lossyolo+Losspoints (6)
(3)、对训练的数据图像进行预处理:在相机拍摄人脸视频中,截取尺寸为416×416大小的人脸图像,该人脸视频人包括不同的头部姿态,因为本方案的目标是先检测出人脸框和标记人脸五个关键特征点,包括左右两眼中心,鼻尖和左右嘴角,所以需要对截取的人脸图像进行人脸框标注和关键点标注,由于图像模糊和人脸关键部位被遮挡带来的标记难度较大,因此在标注时,选取人脸五官清晰的图像来标记五官坐标,最终标记了1000张人脸图像,其中训练集和测试集按照5:1的比例划分,在训练之前对图像进行去噪处理;
(4)、将预处理之后的图像输入改进的YOLOV3模型中进行训练,在训练过程中,模型经过“特征提取、预测、输出”这三部分网络得到训练时的预测结果,然后计算公式(6)所表示损失函数Loss的损失值,该损失值表示的是当前预测结果与真实结果的差距;最后通过梯度下降最小化损失值,将误差损失反向传播,去指导网络进一步优化,以得到更好的预测效果;这样不断的进行迭代训练,在损失函数的约束下,可以促进模型的预测结果逐渐与真实效果靠近,最终使得模型具备较为准确输出人脸预测框并标记人脸五官关键点位置的能力;其训练平台采用Pytorch深度学习框架,用Python语言编写;输入图像尺寸为416×416,学习率设置为1e-4,训练周期为100,批次大小设置为8;
(5)、得到改进YOLOV3网络输出人脸框和人脸关键点位置后,下一步便结合PnP算法进行坐标转换,计算三个方向上的自由度:偏航(yaw)、仰俯(pitch)、翻滚(roll))对应的欧拉角并估计头部姿态,其中,头部姿态的估计最重要的就是获取大量三维空间信息,而上述步骤获取的人脸关键点坐标为2D信息,所以将2D关键点信息与标准3D人脸模型进行坐标匹配,采用PnP算法来求解2D坐标到3D坐标的映射关系,最后根据旋转矩阵求解欧拉角来估计头部姿态信息,其过程如图3所示,所述的PnP算法,其理论如下:
在头部姿态估计中,通常使用三个自由度来表示,即翻滚(roll)、仰俯(pitch)和偏航(yaw),其分别对应空间坐标中的x轴,y轴和z轴,故而旋转矩阵R用3*3的矩阵来表示如下所示,已知维度为3x3的旋转矩阵:
Figure BDA0003246920330000111
其中r11表示旋转矩阵的第一行第一列中的元素,同理r12表示旋转矩阵的第一行第二列中的元素,其它以此类推。
通过旋转矩阵确定头部姿态yaw、pitch、roll这三个方向的欧拉角,roll方向的欧拉角为θx,pitch方向的欧拉角为θy,yaw方向的欧拉角为θz,其计算过程如下所示:
Figure BDA0003246920330000112
Figure BDA0003246920330000113
atan2是一个函数,atan2(y,x)表示:当x的绝对值比y的绝对值大,使用atan(y/x);反之则使用atan(x/y),这样可以保证数值的稳定性;
首先将旋转矩阵R按照x轴,y轴和z轴三个方向进行拆分,得到Rxx)、Ryy)和Rzz)这三个子旋转矩阵,其中Rxx)表示绕x轴旋转θx角度的旋转矩阵,Ryy)表示绕y轴旋转θy角度的旋转矩阵,Rzz)表示绕z轴旋转θz角度的旋转矩阵,通过计算得到三个欧拉角,从而可以估计出头部姿态。
综上所示,本发明通过改进YOLOV3网络,大大较少了计算量和参数量,在轻量化模型的同时保证了检测精度,使得模型在检测人脸框的同时还能标记人脸关键点,随后将其与PnP算法相结合,可实时高效地检测相机拍摄的头部姿态信息。

Claims (7)

1.一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,包括下列步骤:
(1)构建人脸和人脸关键特征点检测模块,从模型轻量化、保证检测精度和实现关键特征点标记的角度出发,对原始YOLOV3网络结构进行改进;
(2)构建检测模块的训练损失函数,对原始YOLOV3损失函数进行改进;
(3)获取图像,对包含头部姿态的图像进行预处理;
(4)将预处理之后的训练图像输入上述改进的YOLOV3检测模型进行训练,使模型学习标记人脸检测框和五个关键特征点:左右两眼中心点,鼻子,嘴巴左右嘴角;
(5)将测试图像输入上述训练好的YOLOV3模型中,得到标记的人脸框和特征关键点,并结合PnP算法,将提取的特征点从二维坐标转换成三维坐标信息,得到旋转矩阵并计算头部在三个自由度:偏航yaw、仰俯pitch、翻滚roll上的欧拉角,从而估计出头部在相机坐标系下的姿态。
2.根据权利要求1所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤(1)对原始YOLOV3网络结构进行改进包括:
1.1、MobilenetV3的层结构为;首先将输入尺寸为416×416×3的图像经过1×1的卷积层、批归一化层BN层和hard-swish激活函数,得到208×208×16的特征图,然后将得到的特征图输入通道数为16的逆残差组合层1,同时尺寸缩小一倍,得到的104×104×16的特征图,随后依次将特征图输入2个通道数为24的逆残差组合层2、5个通道数为48的逆残差组合层3和3个通道数为96的逆残差组合层4,最终得到的特征图尺寸为13×13×96;
1.2、在模型的主干特征提取部分末段添加空间金字塔池化结构,首先,采用1×1、2×2、3×3和6×6这四种不同尺度对输入的特征图进行平均池化,再分别经过一个1×1的卷积层以获取不同层次的特征,然后,采用上采样操作将池化后的特征图调整与输入尺寸大小一致,接着,将这四个子特征图与输入特征图进行拼接融合;最后,再经过一个1×1的卷积层进行降维输出;
1.3、在预测部分中,从主干特征提取部分中引出三种不同尺度,再对三个不同尺度特征图进行进一步的特征学习和预测,首先将13×13的特征图经过卷积模块,然后经过上采样和一个1×1的卷积层,将其与26×26的特征图进行拼接融合和卷积模块操作,再进行上采样和一个1×1的卷积层,随后将其与52×52的特征图进行拼接和卷积模块,每种尺度特征再经过卷积模块操作后,都会再经过一个3×3的卷积层,最后与输出部分相连接,卷积模块包括5个卷积层,其中包括3个1×1卷积层和2个3×3卷积层,1×1卷积层和3×3卷积层主要以交替方式进行组合;
1.4、输出部分将预测部分的特征图再通过一个1×1的卷积层,输出检测的人脸预测框和关键点等信息,关于人脸检测框的输出,三个不同的尺度会预测大量人脸定位框,而有许多是错误和冗余的,需要先设置置信度阈值进行筛选,剔除置信度低的错误预测框,然后采用非极大值抑制NMS进行冗余框删除,置信度阈值设置为0.25,其中非极大值抑制为:首先将预测框按照置信度从高到低进行排列,然后将置信度最大的预测框与其它预测框计算交并比IOU,最终删除低于交并比阈值的预测框,其中交并比IOU是计算两个边界框的交集和并集之比,该方案IOU阈值为0.5,其计算公式如下所示,A和B表示两个预测框;
Figure FDA0003246920320000021
关于关键特征点的输出:需要YOLO网络不仅能检测人脸框,同时还能检测人脸关键点,因此需要对预测部分的输出层进行改进,采用基于预测框左上角坐标偏移的人脸关键点定位方法,所以检测类别为1,将五个关键点的坐标信息也添加在输出参数中,在每个预测框中,除了中心坐标,宽高和置信度以外,还添加10个参数,所以最终的预测输出维度为(13,13,3×(10+5+1))、(26,26,3×(10+5+1))和(52,52,3×(10+5+1))。
3.根据权利要求2所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤1.1中逆残差组合层包括2个卷积组合层、1个深度可分离卷积组合层和1个轻量型注意力结构,其处理流程为:先将输入特征经过一个卷积组合层和一个深度可分离卷积组合层,然后将得到的特征图经过一个轻量化注意力结构,接着将轻量化注意力结构的输出通过
Figure FDA0003246920320000022
操作对深度可分离卷积输出的特征进行通道加权,最终将输入特征通过“+”跳跃连接与加权后的特征相加,再经过一个卷积组合层处理后输出;
其中,卷积组合层包括1×1的卷积层、批归一化层BN层和激活函数;深度可分离卷积组合层包括3×3的深度可分离卷积层、BN层和激活函数;轻量型注意力结构包括一个平均池化层和两个1×1的卷积层;关于激活函数的选择,逆残差组合层1和逆残差组合层2选用Relu6激活函数,逆残差组合层3和逆残差组合层4选用hard-swish激活函数,这两类激活函数的表达式如下:
Relu6:f(x)=min(max(0,x),6) (1)
Figure FDA0003246920320000031
4.根据权利要求1所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤(2)对原始YOLOV3损失函数进行改进如下:
添加关键点的损失函数,计算预测的关键点坐标与真实关键点坐标的误差:
Figure FDA0003246920320000032
x1i'y1i'和x1i y1i表示第i个输出预测框中左眼中心点坐标以及其对应的真实左眼中心点坐标;
x2i'y2i'和x2i y2i表示第i个输出预测框中右眼的中心点坐标以及其对应的真实右眼中心点坐标;
x3i'y3i'和x3i y3i表示第i个输出预测框中鼻尖点坐标以及其对应的真实鼻尖点坐标;
x4i'y4i'和x4i y4i表示第i个输出预测框中左嘴角点坐标以及其对应的真实左嘴角点坐标;
x5i'y5i'和x5i y5i表示第i个输出预测框中右嘴角点坐标以及其对应的真实右嘴角点坐标;
因此,改进后的YOLOV3的损失函数为:
Loss=Lossyolo+Losspoints (6)。
5.根据权利要求1所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤(3)对训练的数据图像进行预处理如下:
在相机拍摄人脸视频中,截取尺寸为416×416大小的人脸图像,该人脸视频人包括不同的头部姿态,因为标是先检测出人脸框和标记人脸五个关键特征点,包括左右两眼中心,鼻尖和左右嘴角,所以需要对截取的人脸图像进行人脸框标注和关键点标注,由于图像模糊和人脸关键部位被遮挡带来的标记难度较大,因此在标注时,选取人脸五官清晰的图像来标记五官坐标,最终标记了1000张人脸图像,其中训练集和测试集按照5:1的比例划分,在训练之前对图像进行去噪处理。
6.根据权利要求1所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤(4)将预处理之后的图像输入改进的YOLOV3模型中进行训练如下:
模型经过“特征提取、预测、输出”这三部分网络得到训练时的预测结果,然后计算损失函数Loss的损失值,该损失值表示的是当前预测结果与真实结果的差距;最后通过梯度下降最小化损失值,将误差损失反向传播,去指导网络进一步优化,以得到更好的预测效果;这样不断的进行迭代训练,在损失函数的约束下,可以促进模型的预测结果逐渐与真实效果靠近,最终使得模型具备较为准确输出人脸预测框并标记人脸五官关键点位置的能力。
7.根据权利要求1所述的一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法,其特征在于,所述步骤(5)估计出头部在相机坐标系下的姿态如下:
得到改进YOLOV3网络输出人脸框和人脸关键点位置后,下一步便结合PnP算法进行坐标转换,计算三个方向上的自由度:偏航(yaw)、仰俯(pitch)、翻滚(roll))对应的欧拉角并估计头部姿态,其中,头部姿态的估计最重要的就是获取大量三维空间信息,而上述步骤获取的人脸关键点坐标为2D信息,所以将2D关键点信息与标准3D人脸模型进行坐标匹配,采用PnP算法来求解2D坐标到3D坐标的映射关系,最后根据旋转矩阵求解欧拉角来估计头部姿态信息,所述的PnP算法:
在头部姿态估计中,通常使用三个自由度来表示,即翻滚(roll)、仰俯(pitch)和偏航(yaw),其分别对应空间坐标中的x轴,y轴和z轴,故而旋转矩阵R用3*3的矩阵来表示如下所示,已知维度为3x3的旋转矩阵:
Figure FDA0003246920320000041
其中r11表示旋转矩阵的第一行第一列中的元素,同理r12表示旋转矩阵的第一行第二列中的元素,其它以此类推。
通过旋转矩阵确定头部姿态yaw、pitch、roll这三个方向的欧拉角,roll方向的欧拉角为θx,pitch方向的欧拉角为θy,yaw方向的欧拉角为θz,其计算过程如下所示:
Figure FDA0003246920320000051
Figure FDA0003246920320000052
atan2是一个函数,atan2(y,x)表示:当x的绝对值比y的绝对值大,使用atan(y/x);反之则使用atan(x/y),这样可以保证数值的稳定性;
将旋转矩阵R按照x轴,y轴和z轴三个方向进行拆分,得到Rxx)、Ryy)和Rzz)这三个子旋转矩阵,其中Rxx)表示绕x轴旋转θx角度的旋转矩阵,Ryy)表示绕y轴旋转θy角度的旋转矩阵,Rzz)表示绕z轴旋转θz角度的旋转矩阵,通过计算得到三个欧拉角,从而可以估计出头部姿态。
CN202111036062.4A 2021-09-05 2021-09-05 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法 Pending CN113705521A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111036062.4A CN113705521A (zh) 2021-09-05 2021-09-05 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111036062.4A CN113705521A (zh) 2021-09-05 2021-09-05 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法

Publications (1)

Publication Number Publication Date
CN113705521A true CN113705521A (zh) 2021-11-26

Family

ID=78660128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111036062.4A Pending CN113705521A (zh) 2021-09-05 2021-09-05 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法

Country Status (1)

Country Link
CN (1) CN113705521A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209907A (zh) * 2019-12-20 2020-05-29 广西柳州联耕科技有限公司 一种复杂光污染环境下产品特征图像人工智能识别方法
CN114332956A (zh) * 2022-03-15 2022-04-12 华中农业大学 一种基于卷积神经网络的牛脸检测和牛脸关键点定位方法
CN114724221A (zh) * 2022-04-13 2022-07-08 浙江工业大学 一种基于深度图神经网络的rass镇静评分判别方法
CN114882556A (zh) * 2022-04-26 2022-08-09 西北大学 一种基于改进的YoloX的戏曲角色妆容脸部检测方法
CN114973320A (zh) * 2022-05-17 2022-08-30 中国矿业大学 一种基于深度信息的煤矿井下人员检测方法
CN115019338A (zh) * 2022-04-27 2022-09-06 淮阴工学院 一种基于GAMHR-Net的多人姿态估计方法及系统
CN116264016A (zh) * 2021-12-10 2023-06-16 中国科学院软件研究所 一种轻量的实时人脸检测和头部姿态估计方法及系统
CN116386100A (zh) * 2022-12-30 2023-07-04 深圳市宗匠科技有限公司 人脸图像采集方法及皮肤检测方法、装置、设备和介质
CN116434127A (zh) * 2023-06-14 2023-07-14 季华实验室 人体姿态估计方法、装置、设备及存储介质
CN116453198A (zh) * 2023-05-06 2023-07-18 广州视景医疗软件有限公司 一种基于头部姿态差异的视线校准方法和装置
CN116524572A (zh) * 2023-05-16 2023-08-01 北京工业大学 基于自适应Hope-Net的人脸精准实时定位方法
CN117132767A (zh) * 2023-10-23 2023-11-28 中国铁塔股份有限公司湖北省分公司 一种小目标检测方法、装置、设备及可读存储介质
CN117392221A (zh) * 2023-10-19 2024-01-12 电子科技大学 一种基于光学图像的托盘检测及位姿计算方法
CN117409077A (zh) * 2023-10-18 2024-01-16 无锡九霄科技有限公司 基于多尺度残差UNet分割的芯片姿态检测方法
CN117556194A (zh) * 2024-01-12 2024-02-13 中国科学院长春光学精密机械与物理研究所 基于改进的yolo网络的脑电图伪影检测方法
CN117877126A (zh) * 2024-03-12 2024-04-12 无锡车联天下信息技术有限公司 一种基于人脸关键点与Haar特征的头部姿态估计方法
CN117894059A (zh) * 2024-03-15 2024-04-16 国网江西省电力有限公司信息通信分公司 一种3d人脸识别方法
CN118298513A (zh) * 2024-06-05 2024-07-05 华东交通大学 一种基于机器视觉的电力作业违规行为检测方法及系统

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209907B (zh) * 2019-12-20 2023-04-07 广西柳州联耕科技有限公司 一种复杂光污染环境下产品特征图像人工智能识别方法
CN111209907A (zh) * 2019-12-20 2020-05-29 广西柳州联耕科技有限公司 一种复杂光污染环境下产品特征图像人工智能识别方法
CN116264016A (zh) * 2021-12-10 2023-06-16 中国科学院软件研究所 一种轻量的实时人脸检测和头部姿态估计方法及系统
CN114332956A (zh) * 2022-03-15 2022-04-12 华中农业大学 一种基于卷积神经网络的牛脸检测和牛脸关键点定位方法
CN114332956B (zh) * 2022-03-15 2023-04-07 华中农业大学 一种基于卷积神经网络的牛脸检测和牛脸关键点定位方法
CN114724221A (zh) * 2022-04-13 2022-07-08 浙江工业大学 一种基于深度图神经网络的rass镇静评分判别方法
CN114882556B (zh) * 2022-04-26 2024-03-15 西北大学 一种基于改进的YoloX的戏曲角色妆容脸部检测方法
CN114882556A (zh) * 2022-04-26 2022-08-09 西北大学 一种基于改进的YoloX的戏曲角色妆容脸部检测方法
CN115019338A (zh) * 2022-04-27 2022-09-06 淮阴工学院 一种基于GAMHR-Net的多人姿态估计方法及系统
CN115019338B (zh) * 2022-04-27 2023-09-22 淮阴工学院 一种基于GAMHR-Net的多人姿态估计方法及系统
CN114973320A (zh) * 2022-05-17 2022-08-30 中国矿业大学 一种基于深度信息的煤矿井下人员检测方法
CN116386100A (zh) * 2022-12-30 2023-07-04 深圳市宗匠科技有限公司 人脸图像采集方法及皮肤检测方法、装置、设备和介质
CN116453198A (zh) * 2023-05-06 2023-07-18 广州视景医疗软件有限公司 一种基于头部姿态差异的视线校准方法和装置
CN116453198B (zh) * 2023-05-06 2023-08-25 广州视景医疗软件有限公司 一种基于头部姿态差异的视线校准方法和装置
CN116524572A (zh) * 2023-05-16 2023-08-01 北京工业大学 基于自适应Hope-Net的人脸精准实时定位方法
CN116524572B (zh) * 2023-05-16 2024-01-26 北京工业大学 基于自适应Hope-Net的人脸精准实时定位方法
CN116434127A (zh) * 2023-06-14 2023-07-14 季华实验室 人体姿态估计方法、装置、设备及存储介质
CN116434127B (zh) * 2023-06-14 2023-11-07 季华实验室 人体姿态估计方法、装置、设备及存储介质
CN117409077B (zh) * 2023-10-18 2024-04-05 无锡九霄科技有限公司 基于多尺度残差UNet分割的芯片姿态检测方法
CN117409077A (zh) * 2023-10-18 2024-01-16 无锡九霄科技有限公司 基于多尺度残差UNet分割的芯片姿态检测方法
CN117392221A (zh) * 2023-10-19 2024-01-12 电子科技大学 一种基于光学图像的托盘检测及位姿计算方法
CN117132767B (zh) * 2023-10-23 2024-03-19 中国铁塔股份有限公司湖北省分公司 一种小目标检测方法、装置、设备及可读存储介质
CN117132767A (zh) * 2023-10-23 2023-11-28 中国铁塔股份有限公司湖北省分公司 一种小目标检测方法、装置、设备及可读存储介质
CN117556194A (zh) * 2024-01-12 2024-02-13 中国科学院长春光学精密机械与物理研究所 基于改进的yolo网络的脑电图伪影检测方法
CN117556194B (zh) * 2024-01-12 2024-03-22 中国科学院长春光学精密机械与物理研究所 基于改进的yolo网络的脑电图伪影检测方法
CN117877126A (zh) * 2024-03-12 2024-04-12 无锡车联天下信息技术有限公司 一种基于人脸关键点与Haar特征的头部姿态估计方法
CN117877126B (zh) * 2024-03-12 2024-05-17 无锡车联天下信息技术有限公司 一种基于人脸关键点与Haar特征的头部姿态估计方法
CN117894059A (zh) * 2024-03-15 2024-04-16 国网江西省电力有限公司信息通信分公司 一种3d人脸识别方法
CN118298513A (zh) * 2024-06-05 2024-07-05 华东交通大学 一种基于机器视觉的电力作业违规行为检测方法及系统
CN118298513B (zh) * 2024-06-05 2024-08-13 华东交通大学 一种基于机器视觉的电力作业违规行为检测方法及系统

Similar Documents

Publication Publication Date Title
CN113705521A (zh) 一种结合YOLO-MobilenetV3人脸检测的头部姿态估计方法
CN108549873B (zh) 三维人脸识别方法和三维人脸识别系统
CN108764048B (zh) 人脸关键点检测方法及装置
CN111126272A (zh) 姿态获取方法、关键点坐标定位模型的训练方法和装置
US10380413B2 (en) System and method for pose-invariant face alignment
CN110246181B (zh) 基于锚点的姿态估计模型训练方法、姿态估计方法和系统
CN111723691B (zh) 一种三维人脸识别方法、装置、电子设备及存储介质
CN109176512A (zh) 一种体感控制机器人的方法、机器人及控制装置
CN109359526A (zh) 一种人脸姿态估计方法、装置和设备
CN113221647B (zh) 一种融合点云局部特征的6d位姿估计方法
CN112183491A (zh) 表情识别模型及训练方法、识别方法、装置和计算设备
US11915451B2 (en) Dense 6-DoF pose object detector
CN112990101B (zh) 基于机器视觉的面部器官定位方法及相关设备
CN113927597B (zh) 基于深度学习的机器人连接件六自由度位姿估计系统
CN113011401B (zh) 人脸图像姿态估计和校正方法、系统、介质及电子设备
CN105159452A (zh) 一种基于人脸姿态估计的控制方法与系统
CN115661246A (zh) 一种基于自监督学习的姿态估计方法
CN117854155B (zh) 一种人体骨骼动作识别方法及系统
CN115205926A (zh) 一种基于多任务学习的轻量化鲁棒人脸对齐方法及系统
Wen et al. CAE-RLSM: Consistent and efficient redundant line segment merging for online feature map building
CN113313824B (zh) 一种三维语义地图构建方法
CN111723688B (zh) 人体动作识别结果的评价方法、装置和电子设备
CN111709269B (zh) 一种深度图像中基于二维关节信息的人手分割方法和装置
CN114820899A (zh) 一种基于多视角渲染的姿态估计方法和装置
CN111881744B (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