人脸方向矫正方法、装置、计算机设备和存储介质与流程

文档序号:33079496发布日期:2023-01-31 16:46阅读:61来源:国知局
人脸方向矫正方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种人脸方向矫正方法、装置、计算机设备和存储介质。


背景技术:

2.随着科学技术的发展,人脸识别技术在图像处理领域的应用也越来越普及,例如,用户使用终端设备拍摄短视频,通过人脸识别技术定位画面中的人脸,并对识别出人脸图像执行添加贴纸或者美颜的操作。然而,在用户使用终端设备拍摄短视频的过程中,用户经常会采用横屏,竖屏或者其他各种角度来进行拍摄,从而使得所拍摄的短视频包含了不同人脸方向的多张人脸图像。
3.人脸检测作为人脸识别技术中最为重要的模块之一,其采集得到的人脸图像中的人脸方向直接影响着人脸识别率的高低。因此,对人脸图像中的人脸姿态进行矫正成为了急需解决的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能进行人脸方向矫正的人脸方向矫正方法、装置、计算机设备和存储介质。
5.一种人脸方向矫正方法,所述方法包括:
6.获取待检测人脸图像,对所述待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框;
7.确定每个人脸候选框的定位准确度和分类概率值,并根据所述定位准确度和所述分类概率值,确定所述每个人脸检测框各自对应的置信度;
8.基于每个人脸候选框的置信度,从所述人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;
9.获取人脸标注点;所述人脸标注点为标准姿态下人脸图像中的人脸定位点;
10.根据所述人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵;
11.基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
12.一种人脸方向矫正装置,所述装置包括:
13.人脸检测模块,用于获取待检测人脸图像,对所述待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框;
14.矩阵确定模块,用于确定每个人脸候选框的定位准确度和分类概率值,并根据所述定位准确度和所述分类概率值,确定所述每个人脸检测框各自对应的置信度;基于每个人脸候选框的置信度,从所述人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;获取人脸标注点;所述人脸标注点为标准姿态下人脸图像中的人脸定位点;根据所述人
脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵;
15.方向矫正模块,用于基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
16.在一个实施例中,人脸检测模块还包括特征提取模块,用于对所述待检测人脸图像进行多尺度的人脸特征提取,得到多个尺度的人脸特征图像;分别对多个尺度的人脸特征图像中的每个人脸特征图像进行通道数量的调整,得到通道数量一致的多个人脸特征图像;根据通道数量一致的多个人脸特征图像,确定所述待检测人脸图像中的至少一组人脸定位点、及与每组人脸定位点分别对应的至少一个人脸候选框。
17.在一个实施例中,所述人脸矫正方法通过人脸矫正模型执行,所述人脸矫正模型包括人脸检测结构和方向检测结构;所述人脸检测模块还用于通过所述人脸检测结构,并根据通道数量一致的多个人脸特征图像,对所述待检测人脸图像进行人脸区域检测,得到每个人脸区域各自对应的至少一个人脸候选框;通过所述方向检测结构,并根据通道数量一致的多个人脸特征图像,对所述待检测人脸图像中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组人脸定位点。
18.在一个实施例中,所述人脸矫正方法通过人脸矫正模型执行,所述人脸矫正模型包括定位检测结构和分类检测结构;所述矩阵确定模块还包括目标检测框确定模块,用于针对至少一个人脸候选框中的每个人脸候选框,均通过所述定位检测结构预测当前人脸候选框的定位准确度;所述定位准确度表征了所述人脸候选框与相应标准人脸框之间的差异程度;针对至少一个人脸候选框中的每个人脸候选框,均通过所述分类检测结构预测当前人脸候选框所框选的图像区域为人脸的分类概率值;针对至少一个人脸候选框中的每个人脸候选框,均根据与当前人脸候选框相对应的定位准确度和分类概率值,确定所述当前人脸候选框的置信度。
19.在一个实施例中,所述目标检测框确定模块还用于针对每组人脸定位点分别对应的至少一个人脸候选框,均从与当前组人脸定位点所对应的至少一个人脸候选框中,筛选出具有最高置信度的人脸候选框;将具有最高置信度的人脸候选框作为与当前组人脸定位点相对应的目标检测框。
20.在一个实施例中,所述矩阵确定模块还用于根据所述人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵,包括:根据所述人脸标注点的位置信息确定第一坐标矩阵;对于至少一组人脸定位点中的每组人脸定位点,均根据当前人脸定位点的位置信息确定当前第二坐标矩阵;对所述第一坐标矩阵和所述当前第二坐标矩阵进行仿射变换,得到当前组人脸定位点所对应的方向矫正矩阵。
21.在一个实施例中,所述方向矫正模块还用于对于至少一组人脸定位点中的每组人脸定位点,均基于与当前组人脸定位点所对应的当前方向矫正矩阵,对与所述当前组人脸定位点对应的当前目标检测框中的图像区域进行人脸方向矫正。
22.在一个实施例中,所述方向矫正模块还用于生成与当前目标检测框具有相同尺寸的空白人脸图像;所述空白人脸图像为包含了多个第一像素点的空白图像;依次遍历所述当前目标检测框所框选的图像区域中的第二像素点;对于当前遍历至的第二像素点,基于与当前遍历至的第二像素点的坐标和当前方向矫正矩阵,从所述空白图像的多个第一像素点中确定与当前遍历至的第二像素点对应的目标第一像素点,并将当前遍历至的第二像素
点的像素信息,作为相对应的目标第一像素点的像素信息;在遍历完成所有的第二像素点,且得到各个第一像素点的像素信息后,基于各个第一像素点的像素信息,得到对当前目标检测框中的图像区域进行人脸方向矫正的矫正结果。
23.在一个实施例中,所述人脸方向矫正装置还包括训练模块,用于获取训练样本,并获取与所述训练样本相对应的标准关键点、标准人脸框和分类标签;通过待训练的人脸矫正模型对所述训练样本进行人脸检测,得到至少一组预测关键点、与每组预测关键点分别对应的至少一个预测候选框、每个所述预测候选框分别对应的预测定位准确度和标准定位准确度、以及每个所述预测候选框分别对应的预测分类;根据所述预测候选框与相应标准人脸框间的第一差异、所述预测关键点与相应标准关键点间的第二差异、所述预测定位准确度与相应标准定位准确度间的第三差异、及预测分类与相应分类标签间的第四差异,构建损失函数;基于所述损失函数对所述人脸矫正模型进行训练,直至满足训练结束条件时结束,得到训练好的人脸矫正模型。
24.在一个实施例中,所述训练模块还用于通过待训练的人脸矫正模型中的人脸检测结构,对所述训练样本进行人脸区域检测,得到每个人脸区域各自对应的至少一个预测候选框;通过待训练的人脸矫正模型中的方向检测结构,对所述训练样本中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组预测关键点;通过所述待训练的人脸矫正模型中的定位检测结构,分别对各所述预测候选框进行定位准确性检测,得到各所述预测候选框分别对应的预测定位准确度;通过所述待训练的人脸矫正模型中的定位检测结构,确定每个预测候选框分别与相应标准人脸框之间的重叠度,并根据所述重叠度确定每个所述预测候选框分别对应的标准定位准确度;通过所述待训练的人脸矫正模型中的分类检测结构,确定每个预测候选框所框选的图像区域为人脸的概率值,得到相应的预测分类。
25.在一个实施例中,所述人脸方向矫正装置还用于获取多张初始人脸图像,并对多张所述初始人脸图像中的每张初始人脸图像进行随机角度的旋转,得到旋转人脸图像;分别对每张旋转人脸图像均进行尺度和像素值的调节,得到调节人脸图像;对所述调节人脸图像进行图像拼接,得到训练样本。
26.在一个实施例中,所述人脸方向矫正装置还用于当所述待检测人脸图像为进行视频通话时采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对视频通话所展示的画面进行画面调整;当所述待检测人脸图像为进行视频编辑时所采集到的人脸图像时,将经过人脸方向矫正后得到的目标人脸图像替换待编辑视频中的人脸图像;当所述待检测人脸图像为进行视频播放时所采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对播放的视频画面添加人脸方向矫正特效。
27.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
28.获取待检测人脸图像,对所述待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框;
29.确定每个人脸候选框的定位准确度和分类概率值,并根据所述定位准确度和所述分类概率值,确定所述每个人脸检测框各自对应的置信度;
30.基于每个人脸候选框的置信度,从所述人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;
31.获取人脸标注点;所述人脸标注点为标准姿态下人脸图像中的人脸定位点;
32.根据所述人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵;
33.基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
34.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
35.获取待检测人脸图像,对所述待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框;
36.确定每个人脸候选框的定位准确度和分类概率值,并根据所述定位准确度和所述分类概率值,确定所述每个人脸检测框各自对应的置信度;
37.基于每个人脸候选框的置信度,从所述人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;
38.获取人脸标注点;所述人脸标注点为标准姿态下人脸图像中的人脸定位点;
39.根据所述人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵;
40.基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
41.一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上以下步骤:获取待检测人脸图像,对所述待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框;确定每个人脸候选框的定位准确度和分类概率值,并根据所述定位准确度和所述分类概率值,确定所述每个人脸检测框各自对应的置信度;基于每个人脸候选框的置信度,从所述人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;获取人脸标注点;所述人脸标注点为标准姿态下人脸图像中的人脸定位点;根据所述人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵;基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
42.上述人脸方向矫正方法、装置、计算机设备、存储介质和计算机程序,上述人脸方向矫正方法中,通过获取待检测图像,可对待检测图像进行人脸检测,得到人脸定位点和人脸候选框。通过获取人脸候选框,可确定各人脸候选框的置信度,从而可基于置信度从人脸候选框中筛选出各组人脸定位点分别对应的目标检测框。通过获取人脸定位点和人脸标注点,可基于人脸定位点和人脸标注点,确定每组人脸定位点分别对应的方向矫正矩阵,如此,便可根据所确定的方向矫正矩阵,以及基于目标检测框,进行人脸方向矫正。
43.此外,由于可确定至少一组人脸定位点、以及确定各组人脸定位点分别对应的目标检测框,因此,可基于所确定的至少一组人脸定位点和各组人脸定位点分别对应的目标检测框,对待检测人脸图像中的多个人脸同时进行人脸方向矫正,如此大大提升了人脸方向矫正的效率。
附图说明
44.图1为一个实施例中人脸方向矫正方法的应用环境图;
45.图2为一个实施例中人脸方向矫正方法的流程示意图;
46.图3为一个实施例中人脸检测结果的示意图;
47.图4为一个实施例中人脸方向矫正的示意图;
48.图5为另一个实施例中人脸方向矫正的示意图;
49.图6为一个实施例中人脸矫正模型的框架示意图;
50.图7为一个实施例中训练样本的示意图;
51.图8为一个实施例中目标人脸图像的展示示意图;
52.图9为一个具体实施例中人脸方向矫正方法的流程示意图;
53.图10为另一个具体实施例中人脸方向矫正方法的流程示意图;
54.图11为一个实施例中人脸方向矫正装置的结构框图;
55.图12为一个实施例中人脸方向矫正装置的结构框图;
56.图13为一个实施例中计算机设备的内部结构图。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.图1为一个实施例中描述人脸方向矫正方法的应用环境图。参照图1,该人脸方向矫正方法应用于人脸方向矫正系统100。该人脸方向矫正系统100包括终端102和服务器104。终端102和服务器104通过网络连接。终端102具体可以是台式终端或移动终端,终端102包括但不限于是手机、平板电脑、笔记本电脑、智能语音交互设备、智能家电、车载终端等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102和服务器104均可单独用于执行本技术实施例中提供的人脸方向矫正方法。终端102和服务器104也可协同用于执行本技术实施例中提供的人脸方向矫正方法。以终端102和服务器104可协同用于执行本技术实施例中提供的人脸方向矫正方法为例进行说明,终端102-1可展示有待检测人脸图像,并将待检测人脸图像发送至服务器104,以使服务器104通过人脸矫正模型对待检测人脸图像进行人脸方向矫正,得到人脸方向矫正后的目标人脸图像,并将目标人脸图像返回至终端102-2,通过终端102-2展示目标人脸图像。其中,终端102-1与终端102-2可为同一终端,也可为不同终端。
59.还需要说明的是,本技术涉及人工智能(artificial intelligence,ai)技术领域,其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
60.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、
大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
61.本技术具体涉及计算机视觉技术(computer vision,cv)。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
62.在一个实施例中,如图2所示,提供了一种人脸方向矫正方法,以该方法应用于图1中的计算机设备为例进行说明,该计算机设备具体可为图1中的终端或者服务器,人脸方向矫正方法具体包括以下步骤:
63.步骤s202,获取待检测人脸图像,对待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框。
64.其中,人脸定位点指的是定位人脸关键特征的点,例如,人眼眼球中心点、眉峰、嘴角、鼻头中心点等均可称作人脸定位点。一组人脸定位点可包括多个人脸定位点,例如,可将左眼眼球中心点、右眼眼球中心点和鼻头中心点作为一组人脸定位点。人脸候选框指的是人脸矫正模型输出的用以框选人脸区域的检测框,针对同一人脸区域,人脸矫正模型可输出多个人脸候选框。人脸矫正模型为机器学习模型,该机器学习模型可通过样本学习具备人脸方向矫正的能力。
65.具体地,当获取得到待检测人脸图像时,计算机设备可将待检测人脸图像输入至人脸矫正模型中,通过人脸矫正模型对人脸区域、以及人脸区域中的人脸定位点进行检测,得到每个人脸区域中的一组人脸定位点,以及每个人脸区域各自对应的至少一个人脸候选框。其中,一组人脸定位点所包括的人脸定位点的数量可根据需求自由设置。比如,参考图3,当确定待检测图像中具备三张人脸时,人脸矫正模型可针对三张人脸中的每张人脸,均输出一组人脸定位点,以及针对三张人脸中的每张人脸,均输出至少一个人脸候选框。图3示出了一个实施例中人脸检测结果的示意图。
66.在一个实施例中,终端中运行有视频拍摄应用,用户可通过视频拍摄应用进行视频拍摄。视频拍摄应用中可展示有拍摄按钮,在拍摄时,用户可通过触控拍摄按钮进入拍摄状态,并通过调整手机角度来针对人脸进行多角度的视频拍摄,得到所拍摄的视频。当拍摄结束时,终端可将用户拍摄的视频发送至服务器,以使服务器从拍摄的视频中提取出待检测人脸图像。
67.在一个实施例中,人脸矫正模型针对每个人脸区域,均对左眼眼球中心点、右眼眼球中心点和鼻头中心点进行关键点检测,从而得到每个人脸区域各自对应的一组人脸定位点。
68.在一个实施例中,人脸矫正模型中包括有人脸检测结构和方向检测结构。当获取得到待检测人脸图像时,可通过人脸矫正模型,并基于预设的人脸特征提取策略提取待检测人脸图像中的人脸特征,从而人脸检测结构可基于提取出的人脸特征进行人脸区域的识
别,输出用以框选人脸区域的人脸候选框,以及方向检测结构可基于提取出的人脸特征进行人脸定位点的检测,得到每个人脸区域中的一组人脸定位点。其中,人脸特征可包括面部纹理特征。面部纹理特征可反映面部器官,包括鼻子、耳朵、眉毛、脸颊或嘴唇等的像素点深度。面部纹理特征可以包括面部图像像素点的颜色值分布和亮度值分布。
69.步骤s204,确定每个人脸候选框的定位准确度和分类概率值,并根据定位准确度和分类概率值,确定每个人脸检测框各自对应的置信度。
70.具体地,当生成至少一个人脸候选框时,人脸矫正模型可根据人脸候选框的准确程度,确定每个人脸候选框的定位准确度和分类准确度,并综合定位准确度和分类准确度,得到每个人脸检测框各自对应的置信度。比如,人脸矫正模型将与当前人脸候选框相对应的定位准确度乘以与当前人脸候选框相对应的分类准确度,得到当前人脸候选框的置信度。
71.在一个实施例中,人脸矫正方法通过人脸矫正模型执行,人脸矫正模型包括定位检测结构和分类检测结构;确定每个人脸候选框的定位准确度和分类概率值,并根据定位准确度和分类概率值,确定每个人脸检测框各自对应的置信度,包括:针对至少一个人脸候选框中的每个人脸候选框,均通过定位检测结构预测当前人脸候选框的定位准确度;定位准确度表征了人脸候选框与相应标准人脸框之间的差异程度;针对至少一个人脸候选框中的每个人脸候选框,均通过分类检测结构预测当前人脸候选框所框选的图像区域为人脸的分类概率值;针对至少一个人脸候选框中的每个人脸候选框,均根据与当前人脸候选框相对应的定位准确度和分类概率值,确定当前人脸候选框的置信度。
72.具体地,当获取得到至少一个人脸候选框时,针对至少一个人脸候选框中的每个人脸候选框,定位检测结构均可根据当前人脸候选框的位置坐标,确定当前人脸候选框的定位准确度。其中,人脸候选框的定位准确度表征了人脸候选框与相应标准人脸框之间的差异程度,其可为一个模型表达自身框选出人脸区域的自信程度的值。容易理解地,当一个人脸候选框所框选的人脸越完整时,其对应的定位准确度也就越高。
73.针对至少一个人脸候选框中的每个人脸候选框,分类检测结构均对当前人脸候选框所框选的图像区域进行分类预测,输出当前人脸候选框所框选的图像区域为人脸的分类概率值。进一步地,人脸矫正模型综合当前人脸候选框所对应的定位准确度和分类概率值,得到当前人脸候选框的置信度。例如,人脸矫正模型可将定位准确度和分类概率值进行加权求和处理,得到当前人脸候选框的置信度。值得注意的,定位准确度和分类概率值均可控制在预设区间内,例如均可在[0,1]区间内。
[0074]
在其中一个实施例中,针对至少一个人脸候选框中的每个人脸候选框,定位检测结构均可确定当前人脸候选框与相应标准候选框之间的重叠度,根据重叠度确定当前人脸候选框的定位准确度。容易理解地,在模型应用中,输入至人脸矫正模型中的待检测图像是不包括标准人脸检测框的,因此,该标准人脸检测框实际上是定位检测结构预测出的一个用以表征标准框的人脸检测框。
[0075]
上述实施例中,通过综合定位准确度和分类概率值来确定相应人脸候选框的置信度,相比于传统的将分类概率值作为人脸候选框置信度,本技术实施例可以减少在基于置信度确定目标检测框的过程中,具有高定位准确度但低分类概率值的人脸候选框被过滤的概率,从而提升了所确定的目标检测框的准确度。
[0076]
步骤s206,基于每个人脸候选框的置信度,从人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框。
[0077]
具体地,当生成至少一个人脸候选框时,人脸矫正模型根据人脸候选框的置信度,从人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框。其中,置信度表征了人脸候选框的准确程度。例如,人脸矫正模型将置信度超出预设阈值的人脸候选框作为目标检测框。又例如,人脸矫正模型对至少一个人脸候选框进行非极大值抑制(non-maximum suppression,nms)运算,得到每个人脸定位点各自对应的目标检测框,也即得到每个人脸区域各自对应的目标检测框。
[0078]
步骤s208,获取人脸标注点;人脸标注点为标准姿态下人脸图像中的人脸定位点。
[0079]
具体地,可预先设置一组人脸标注点,从而当需要对人脸方向进行矫正时,人脸矫正模型可获取预先标注的一组人脸标注点。其中,人脸标注点为标准姿态下人脸图像中的人脸定位点,标准姿态为人脸方向矫正后的人脸姿态,例如,当矫正后的人脸为正向人脸时,标准姿态即为正向人脸姿态。标准姿态下的人脸图像指的是包括有标准姿态的人脸的人脸图像。容易理解地,标注点所标注的人脸部位与关键点所标注的人脸部位相对应,例如,当人脸矫正模型需要对左眼眼球中心点、右眼眼球中心点和鼻头中心点进行关键点检测时,即可对标准姿态下人脸图像中的左眼眼球中心点、右眼眼球中心点和鼻头中心点进行标记,从而得到一组人脸标注点。
[0080]
在一个实施例中,当获取得到标准姿态下的初始人脸图像时,计算机设备可对初始人脸图像进行尺寸缩放处理,将初始人脸图像的尺寸缩放至预设尺寸大小,得到标准人脸图像,并将标准人脸图像中的预设人脸定位点作为人脸标注点。例如,可对标准人脸图像中的左眼眼球中心点、右眼眼球中心点和鼻头中心点进行标记,从而得到一组人脸标注点。
[0081]
在一个实施例中,可获取多个标准姿态下的初始人脸图像,并对每个初始人脸图像均进行尺寸缩放处理,得到多个标准人脸图像。计算机设备对每张标准人脸图像中的预设人脸定位点进行标记,并计算相同人脸部位下的人脸定位点的平均坐标值,将多个人脸部位下的人脸定位点的平均坐标值作为一组人脸标注点的坐标值。例如,可对多个左眼眼球中心点的坐标进行平均值计算,从而得到与左眼眼球中心点相对应的人脸标注点的坐标值。
[0082]
步骤s210,根据人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵。
[0083]
具体地,由于一组人脸定位点所构成的图像与一组人脸标注点所构成的图像之间,可以认为是经历了平移、旋转和尺寸缩放三种变换中的至少一种,因此,可将一组人脸标注点所构成的图像进行平移、旋转或尺寸缩放,得到一组人脸定位点所构成的图像。也就是说人脸定位点与人脸标注点之间进行了仿射变换。仿射变换又称仿射映射,是在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间,其中,线性变换可为旋转变换和尺寸缩放变换。
[0084]
当获取得到一组人脸标注点和至少一组人脸定位点时,人脸矫正模型中的方向检测结构可确定一组人脸标注点中的各人脸标注点的坐标值,以及对于至少一组人脸定位点中的每组人脸定位点,方向检测结构均可确定当前组人脸定位点中各当前人脸定位点的坐标值,并根据人脸标注点的坐标值和当前人脸定位点的坐标值,确定与当前组人脸定位点
相对应的方向矫正矩阵。例如,可对人脸标注点的坐标值和当前人脸定位点的坐标值进行仿射变换,得到相应的方向矫正矩阵。
[0085]
在一个实施例中,根据人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵,包括:根据人脸标注点的位置信息确定第一坐标矩阵;对于至少一组人脸定位点中的每组人脸定位点,均根据当前人脸定位点的位置信息确定当前第二坐标矩阵;对第一坐标矩阵和当前第二坐标矩阵进行仿射变换,得到当前组人脸定位点所对应的方向矫正矩阵。
[0086]
具体地,当获取得到一组标注点时,方向检测结构可确定一组标注点中各标注点的坐标值,并根据各标注点的坐标值确定第一坐标矩阵。对于至少一组人脸定位点中的每组人脸定位点,方向检测结构均可根据当前组人脸定位点所包括的当前人脸定位点的坐标值,确定当前第二坐标矩阵。进一步地,方向检测结构可对第一坐标矩阵和当前第二坐标矩阵进行仿射变换,得到当前组人脸定位点所对应的方向矫正矩阵。
[0087]
在其中一个实施例中,方向检测结构可确定与当前组人脸定位点相对应的目标检测框,并以当前目标检测框为基准,建立直角坐标系,从而得到当前人脸定位点的坐标值,例如,可以目标检测框的左下角为原点建立直角坐标系,计算当前人脸定位点的坐标值。相应的,方向检测结构还可以标准姿态下的人脸图像为基准建立直角坐标系,从而得到各人脸标注点的坐标值。
[0088]
在其中一个实施例中,方向检测结构可根据仿射变换公式a*t
tol
=a

确定方向矫正矩阵t
tol
。其中,a为第一坐标矩阵,a

为第二坐标矩阵。
[0089]
在其中一个实施例中,第一坐标矩阵可为其中,(x1,y1)可以为一组人脸标注点中第一个人脸标注点的坐标值,(xn,yn)可以为一组人脸标注点中第n个人脸标注点的坐标值。第一坐标矩阵中的第三列表示齐次坐标。同理,第二坐标矩阵可为(x1

,y1

)可以为一组人脸定位点中第一个人脸定位点的坐标值,(xn

,yn

)可以为一组人脸定位点中第n个人脸定位点的坐标值。
[0090]
上述实施例中,只需对第一坐标矩阵和第二坐标矩阵进行仿射变换,即可快速得到相应的方向矫正矩阵,从而提升了人脸方向矫正的效率。
[0091]
步骤s212,基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
[0092]
具体地,由于方向矫正矩阵表征了待矫正人脸相较于标准姿态下的人脸所旋转的角度、平移距离和缩放比例,因此,人脸矫正模型可基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,对待检测人脸图像中的各个人脸进行人脸方向矫正。
[0093]
在一个实施例中,参考图4,当待检测人脸图像中仅包含有一个目标检测框时,也即当待检测人脸图像中仅包含有一个人脸时,人脸矫正模型可根据人脸定位点所对应的方向矫正矩阵,对待检测人脸图像中的图像区域进行人脸方向矫正。比如,人脸矫正模型可将
待检测人脸图像中的每个像素点的坐标值均乘以方向矫正矩阵的逆矩阵,从而得到各像素点的矫正坐标值。人脸矫正模型将待检测人脸图像中的每个像素点均从当前坐标值迁移至相应的矫正坐标值中,得到方向矫正后的目标人脸图像。图4示出了一个实施例中人脸方向矫正的示意图。
[0094]
在一个实施例中,参考图5,当待检测人脸图像包括人脸501和人脸502时,人脸矫正模型均确定与人脸501相对应的方向矫正矩阵,以及与人脸502相对应的方向矫正矩阵,并通过与人脸501相对应的方向矫正矩阵对人脸501进行人脸方向的矫正,得到人脸方向矫正后的目标人脸图像503,以及通过与人脸502相对应的方向矫正矩阵对人脸502进行人脸方向的矫正,得到人脸方向矫正后的目标人脸图像504。图5示出了一个实施例中人脸方向矫正的示意图。
[0095]
上述人脸方向矫正方法中,通过获取待检测图像,可对待检测图像进行人脸检测,得到人脸定位点和人脸候选框。通过获取人脸候选框,可确定各人脸候选框的置信度,从而可基于置信度从人脸候选框中筛选出各组人脸定位点分别对应的目标检测框。通过获取人脸定位点和人脸标注点,可基于人脸定位点和人脸标注点,确定每组人脸定位点分别对应的方向矫正矩阵,如此,便可根据所确定的方向矫正矩阵,以及基于目标检测框,进行人脸方向矫正。
[0096]
此外,由于可确定至少一组人脸定位点、以及确定各组人脸定位点分别对应的目标检测框,因此,可基于所确定的至少一组人脸定位点和各组人脸定位点分别对应的目标检测框,对待检测人脸图像中的多个人脸同时进行人脸方向矫正,如此大大提升了人脸方向矫正的效率。
[0097]
在一个实施例中,对待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框,包括:对待检测人脸图像进行多尺度的人脸特征提取,得到多个尺度的人脸特征图像;分别对多个尺度的人脸特征图像中的每个人脸特征图像进行通道数量的调整,得到通道数量一致的多个人脸特征图像;根据通道数量一致的多个人脸特征图像,确定待检测人脸图像中的至少一组人脸定位点、及与每组人脸定位点分别对应的至少一个人脸候选框。
[0098]
具体地,当获取得到待检测人脸图像时,人脸矫正模型可对待检测人脸图像进行多尺度的人脸特征提取,得到多个尺度的人脸特征图像。比如,人脸矫正模型可对待检测人脸图像进行尺度变换,得到图像金字塔,并针对图像金字塔中的每张图像,均进行人脸特征的提取,得到多个尺度的人脸特征图像。又比如,人脸矫正模型可对待检测人脸图像进行人脸特征提取,得到位于特征金字塔底层的人脸特征图像,并对位于底层的人脸特征图像进行上采样,得到特征金字塔上层的人脸特征图像。
[0099]
进一步地,为了便于后续对人脸特征图像的处理,人脸矫正模型可对多个尺度的人脸特征图像均进行通道数量的调整,得到通道数量一致的多个人脸特征图像,从而人脸矫正模型可将通道数量一致的多个人脸特征图像输入至人脸检测结构和方向检测结构,得到待检测人脸图像中的至少一组人脸定位点、及与每组人脸定位点分别对应的至少一个人脸候选框。
[0100]
在其中一个实施例中,参考图6,图6中的c3至c5即为多个尺度的人脸特征图像,ci至pi即为对第i个人脸特征图像进行通道数量的调整。图6示出了一个实施例中人脸矫正模
型的框架示意图。
[0101]
上述实施例中,通过提取多个尺度的人脸特征图像,使得后续可基于多个尺度的人脸特征图像对待检测人脸图像所包括的多个不同尺度的人脸进行识别。通过对多个尺度的人脸特征图像进行通道数量的调整,可以便于后续对通道数量统一的人脸特征图像进行处理,从而提升了人脸特征图像的处理效率。
[0102]
在一个实施例中,人脸矫正方法通过人脸矫正模型执行,人脸矫正模型包括人脸检测结构和方向检测结构;根据通道数量一致的多个人脸特征图像,确定待检测人脸图像中的至少一组人脸定位点、及与每组人脸定位点分别对应的至少一个人脸候选框,包括:通过人脸检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像进行人脸区域检测,得到每个人脸区域各自对应的至少一个人脸候选框;通过方向检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组人脸定位点。
[0103]
具体地,人脸检测结构可通过预设的人脸识别算法,并基于通道数量一致的多个人脸特征图像,对待检测人脸图像进行人脸区域检测,得到每个人脸区域各自对应的至少一个人脸候选框。其中,人脸识别算法可根据需求自由设置,比如,人脸识别算法可以为基于模板的识别算法,此时人脸检测模型可将通道数量一致的多个人脸特征图像与学习到的人脸特征模板进行比较,并根据比较结果确定待检测人脸图像中的人脸区域,得到每个人脸区域各自对应的至少一个人脸候选框。又比如,人脸识别算法可以为基于人脸特征点的识别算法,人脸检测结构可根据通道数量一致的多个人脸特征图像中的人脸特征点,识别待检测人脸图像中的眼睛、鼻子、嘴等局部结构,并根据局部结构之间的几何结构关系,确定待检测人脸图像中的人脸区域。
[0104]
进一步地,方向检测结构可基于通道数量一致的多个人脸特征图像,对待检测人脸图像中的眼睛、鼻子、嘴等局部结构进行形状搜索,并根据形状搜索后的结果,确定得到每个人脸区域各自对应的一组人脸定位点。
[0105]
本实施例中,通过不同的模型结构分别对人脸区域和人脸定位点进行并行检测,可以提升人脸检测的效率,从而提升人脸方向矫正的效率。
[0106]
在一个实施例中,基于每个人脸候选框的置信度,从人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框,包括:针对每组人脸定位点分别对应的至少一个人脸候选框,均从与当前组人脸定位点所对应的至少一个人脸候选框中,筛选出具有最高置信度的人脸候选框;将具有最高置信度的人脸候选框作为与当前组人脸定位点相对应的目标检测框。
[0107]
具体地,针对多组人脸定位点中的每组人脸定位点,人脸矫正模型均确定当前组人脸定位点所对应至少一个当前人脸候选框,并确定每个当前人脸候选框各自对应的置信度。人脸矫正模型按照置信度由高至低,对至少一个当前人脸候选框进行排序,得到候选框序列。人脸矫正模型将候选框序列中的位于首位的当前人脸候选框作为与当前组人脸定位点相对应的目标检测框。
[0108]
本实施例中,通过将具有最高置信度的人脸候选框作为目标检测框,可以提升目标检测框的准确性,进而提升人脸矫正的准确性。
[0109]
在一个实施例中,基于与各组人脸定位点分别对应的目标检测框,并根据相应人
脸定位点所对应的方向矫正矩阵,进行人脸方向矫正,包括:对于至少一组人脸定位点中的每组人脸定位点,均基于与当前组人脸定位点所对应的当前方向矫正矩阵,对与当前组人脸定位点对应的当前目标检测框中的图像区域进行人脸方向矫正。
[0110]
具体地,当确定每人脸定位点各自对应的方向矫正矩阵时,对于至少一组人脸定位点中的每组人脸定位点,人脸矫正模型均可基于与当前组人脸定位点所对应的当前方向矫正矩阵,对与当前组人脸定位点对应的当前目标检测框中的图像区域进行人脸方向矫正。
[0111]
在其中一个实施例中,人脸检测结构在输出人脸候选框时,还可输出人脸候选框在待检测人脸图像中的坐标值,例如,人脸检测结构可以待检测图像的中心点为坐标原点建立直角坐标系,并输出人脸候选框在该坐标系中的左上角坐标值和右下角的坐标值,从而人脸矫正模型可根据人脸候选框的坐标值,从待检测人脸图像中裁剪出人脸候选框所框选的图像区域,并基于相应的方向矫正矩阵,对裁剪出的图像区域进行人脸方向的矫正,例如,对裁剪出的区域进行角度的旋转,得到人脸方向矫正后的图像。
[0112]
上述实施例中,通过确定每组人脸定位点各自对应的方向矫正矩阵,可基于所确定的多个方向矫正矩阵对待检测人脸图像中的多个人脸进行方向矫正,从而大大提升了人脸方向矫正的效率。
[0113]
在一个实施例中,基于与当前组人脸定位点所对应的当前方向矫正矩阵,对与当前组人脸定位点对应的当前目标检测框中的图像区域进行人脸方向矫正,包括:生成与当前目标检测框具有相同尺寸的空白人脸图像;空白人脸图像为包含了多个第一像素点的空白图像;依次遍历当前目标检测框所框选的图像区域中的第二像素点;对于当前遍历至的第二像素点,基于与当前遍历至的第二像素点的坐标和当前方向矫正矩阵,从空白图像的多个第一像素点中确定与当前遍历至的第二像素点对应的目标第一像素点,并将当前遍历至的第二像素点的像素信息,作为相对应的目标第一像素点的像素信息;在遍历完成所有的第二像素点,且得到各个第一像素点的像素信息后,基于各个第一像素点的像素信息,得到对当前目标检测框中的图像区域进行人脸方向矫正的矫正结果。
[0114]
具体地,当获取得到当前目标检测框时,人脸矫正模型可确定当前目标检测框的尺寸,根据所确定的尺寸,生成一个与当前目标检测框具有相同尺寸的空白人脸图像。其中,空白人脸图像包括了多个第一像素点。人脸矫正模型依次遍历当前目标检测框所框选的图像区域中的第二像素点。对于当前遍历至的第二像素点,人脸矫正模型确定当前遍历至的第二像素点在当前目标检测框所框选的图像区域中的坐标值,将由当前遍历至的第二像素点的坐标值而构成的矩阵乘以当前方向矫正矩阵的逆矩阵,得到空白图像中的与当前遍历至的第二像素点对应的目标第一像素点的坐标值,也即得到与当前遍历至的第二像素点相对应的目标第一像素点。比如,在当前遍历至的第二像素点的坐标为(xk,yk),当前方向矫正矩阵的逆矩阵为t
tol-1
时,人脸矫正模型可将由该第二像素点的坐标值而构成的矩阵[xk,yk,1]乘以t
tol-1
,得到[xk

,yk

,1],其中,(xk

,yk

)即为目标第一像素点的坐标值。其中,方向矫正矩阵的逆矩阵指的是对方向矫正矩阵进行求逆后得到的矩阵。
[0115]
进一步地,人脸矫正模型获取当前遍历至的第二像素点的像素信息,并将当前遍历至的第二像素点的像素信息,作为相对应的目标第一像素点的像素信息。其中,像素信息指的是与像素点相关的信息,像素点信息具体可以包括像素点的亮度值和颜色值等。在遍
历完成所有的第二像素点,且得到各个第一像素点的像素信息后,人脸矫正模型可基于各个第一像素点的像素信息,得到对当前目标检测框中的图像区域进行人脸方向矫正的矫正结果,也即得到与当前目标检测框中的图像区域相对应的人脸方向矫正后的目标人脸图像。
[0116]
在其中一个实施例中,当获取得到当前目标检测框所对应的人脸方向矫正后的目标人脸图像时,人脸矫正模型可将目标人脸图像替换待检测图像中的当前目标检测框所框选的图像区域。人脸矫正模型也可在待检测图像中的预设位置处展示该目标人脸图像。
[0117]
上述实施例中,只需将第二像素点映射至空白人脸图像的相应位置处,即可生成人脸方向矫正后的图像,如此,便提升了图像的生成效率。
[0118]
现有技术中,一般是采用分治策略进行人脸方向的矫正,也即将360个角度分为若干份,针对每份角度区域来进行人脸方向矫正,然而针对每份角度区域来进行人脸方向矫正,会大大增加神经网络的计算量,从而降低人脸方向矫正的矫正效率。而本技术实施例,无需针对每份角度区域来进行人脸方向矫正,只需确定方向矫正矩阵,即可基于方向矫正矩阵进行人脸方向矫正,如此,便提升了人脸方向矫正的矫正效率。
[0119]
在一个实施例中,人脸方向矫正方法由人脸矫正模型执行,人脸矫正模型通过模型训练步骤训练获得,模型训练步骤包括:获取训练样本,并获取与训练样本相对应的标准关键点、标准人脸框和分类标签;通过待训练的人脸矫正模型对训练样本进行人脸检测,得到至少一组预测关键点、与每组预测关键点分别对应的至少一个预测候选框、每个预测候选框分别对应的预测定位准确度和标准定位准确度、以及每个预测候选框分别对应的预测分类;根据预测候选框与相应标准人脸框间的第一差异、预测关键点与相应标准关键点间的第二差异、预测定位准确度与相应标准定位准确度间的第三差异、及预测分类与相应分类标签间的第四差异,构建损失函数;基于损失函数对人脸矫正模型进行训练,直至满足训练结束条件时结束,得到训练好的人脸矫正模型。
[0120]
其中,标准关键点指的是标准的人脸定位点,其是衡量预测关键点的准则,通常情况下,可通过人工的方式在样本图像中标出标准关键点。预测关键点指的是人脸矫正模型所输出的预测的人脸定位点。标准人脸框指的是标准的人脸检测框,其是衡量预测候选框的准则,通常情况下,可通过人工的方式在样本图像中框选出人脸所在区域,得到标准人脸框。预测候选框指的是人脸矫正模型所输出的预测的人脸候选框。
[0121]
分类标签指的是标注的用以指定相应图像区域所属分类的标签,例如,可通过分类标签指定标准人脸框所框选的图像区域为“人脸”类别。预测定位准确度指的是人脸矫正模型所预测的预测人脸候选框款选人脸区域的准确程度,标准定位准确度指的是标准的定位准确度,其是衡量预测定位准确度的准则。
[0122]
具体地,当需要对人脸矫正模型进行训练时,可获取大量的训练样本,并对每个训练样本进行标签标注,得到每个训练样本各自对应的标准关键点、标准人脸框和分类标签。计算机设备可将训练样本输入至待训练的人脸矫正模型中,通过待训练的人脸矫正模型对训练样本进行人脸检测,得到至少一组预测关键点、每组人脸定位点分别对应的至少一个预测候选框、每个预测候选框的预测定位准确度。进一步地,人脸矫正模型确定每个预测候选框分别对应的标准人脸框,并确定预测候选框与相应标准人脸框之间的重叠度,根据重叠度确定预测候选框的标准定位准确度。以及人脸矫正模型从预测候选框所框选的图像区
域中提取出图像特征,并根据图像特征对预测候选框所框选的图像区域进行分类预测,得到预测分类。
[0123]
进一步地,人脸矫正模型根据预测候选框与相应标准人脸框间的第一差异、预测关键点与相应标准关键点间的第二差异、预测定位准确度与相应标准定位准确度间的第三差异、及预测分类与相应分类标签间的第四差异,构建损失函数,通过所构建的损失函数对人脸矫正模型的模型参数进行调整,直至满足训练停止条件时停止,得到训练好的人脸矫正模型。其中,训练停止条件可根据需求自由设置,比如,当达到预测迭代次数时,即可认为达到训练停止条件。
[0124]
在其中给一个实施例中,可通过以下公式确定损失函数:
[0125]
l
total
=a*l
cls
+b*l
loc
+c*l
iou
+d*l
pose
[0126][0127][0128][0129][0130]
其中,n
pos
为正训练样本,n为正训练样本的数量,m为负训练样本的数量,l
loc
为第一差异,l
pose
为第二差异,l
iou
为第三差异,l
cls
为第四差异,fl为二分类函数,为标准人脸框,为预测候选框,(cx,cy)为中心点,w为长,h为高,jointj为标准关键点,joint
′j为预测关键点,ioui为标准定位准确度,iou
′i为预测定位准确度,pi为分类标签,p
′i为预测分类。
[0131]
上述实施例中,通过构建损失函数,可通过所构建的损失函数对人脸矫正模型进行训练,从而得到训练好的人脸矫正模型,以使后续可基于训练好的人脸矫正模型对待检测人脸图像进行人脸方向矫正。
[0132]
在一个实施例中,通过待训练的人脸矫正模型对训练样本进行人脸检测,得到至少一组预测关键点、与每组预测关键点分别对应的至少一个预测候选框、每个预测候选框分别对应的预测定位准确度和准确定位准确度、以及每个预测候选框分别对应的预测分类,包括:通过待训练的人脸矫正模型中的人脸检测结构,对训练样本进行人脸区域检测,得到每个人脸区域各自对应的至少一个预测候选框;通过待训练的人脸矫正模型中的方向检测结构,对训练样本中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组预测关键点;通过待训练的人脸矫正模型中的定位检测结构,分别对各预测候选框进行定位准确性检测,得到各预测候选框分别对应的预测定位准确度;通过待训练的人脸矫正模型中的定位检测结构,确定每个预测候选框分别与相应标准人脸框之间的重叠度,并
根据重叠度确定每个预测候选框分别对应的标准定位准确度;通过待训练的人脸矫正模型中的分类检测结构,确定每个预测候选框所框选的图像区域为人脸的概率值,得到相应的预测分类。
[0133]
具体地,人脸矫正模型包括人脸检测结构、方向检测结构、定位检测结构和分类检测结构。当获取得到训练样本时,人脸矫正模型可提取训练样本中的人脸特征,并将人脸特征输入至待训练的人脸检测结构,通过待训练的人脸检测结构对训练样本进行人脸区域检测,得到每个人脸区域各自对应的至少一个预测候选框。人脸矫正模型还可将提取出的人脸特征输入至待训练的方向检测结构,通过方向检测结构对训练样本中的人脸定位点进行检测,得到每个人脸区域各自对应的一组预测关键点。
[0134]
进一步地,人脸矫正模型将人脸特征和预测候选框的位置信息输入至待训练的定位检测结构,通过定位检测结构分别对每个预测候选框进行定位准确性检测,得到每个预测候选框各自对应的预测定位准确度。定位检测结构将框选有同一组预测关键点的预测候选框和标准人脸检测框作为相对应的检测框,并根据预测候选框的位置信息和标准人脸框的位置信息,确定每个预测候选框与相应标准人脸框之间的重叠度,根据重叠度确定相应预测候选框的标准定位准确度。例如,定位检测结构可确定预测候选框与标准人脸框之间的交并比,并将交并比作为标准定位准确度。
[0135]
进一步地,人脸矫正模型可将提取出的人脸特征输入至待训练的分类检测结构中,通过分类检测结构基于人脸特征对预测候选框所框选的图像区域进行分类预测,得到预测候选框所框选的图像区域为人脸的概率值,并将此概率值作为预测分类。
[0136]
本实施例中,通过将人脸特征分别输入至人脸检测结构、方向检测结构、定位检测结构和分类检测结构,可通过人脸检测结构、方向检测结构、定位检测结构和分类检测结构对人脸特征进行并行处理,从而提升训练效率。
[0137]
在一个实施例中,上述人脸方向矫正方法还包括训练样本生成步骤,训练样本生成步骤包括:获取多张初始人脸图像,并对多张所述初始人脸图像中的每张初始人脸图像进行随机角度的旋转,得到旋转人脸图像;分别对每张旋转人脸图像均进行尺度和像素值的调节,得到调节人脸图像;对所述调节人脸图像进行图像拼接,得到训练样本。
[0138]
具体地,为了增加训练样本的样本数量,在获取得到多张初始人脸图像时,计算机设备可对多张初始人脸图像中的每张人脸图像进行随机角度的旋转,得到旋转人脸图像。针对多张旋转人脸图像中的每张旋转人脸图像,计算机设备均可调整当前旋转人脸图像的尺度和像素值,将当前旋转人脸图像的尺度调整为预设尺度,将当前旋转人脸图像中每个像素点的像素值进行预设幅度的调节,得到调节人脸图像。进一步地,计算机设备将预设数量的调节人脸图像进行拼接,得到训练样本图像。比如,参考图7,计算机设备将每5张调节人脸图像进行拼接,得到训练样本图像。图7示出了一个实施例中训练样本的示意图。
[0139]
本实施例中,通过对初始人脸图像进行调节、拼接,不仅提升了训练样本的多样性,而且扩充了小尺寸人脸的数量,从而提升了训练样本的丰富度。
[0140]
在一个实施例中,上述人脸方向矫正方法还包括当待检测人脸图像为进行视频通话时采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对视频通话所展示的画面进行画面调整;当待检测人脸图像为进行视频编辑时所采集到的人脸图像时,将经过人脸方向矫正后得到的目标人脸图像替换待编辑视频中的人脸图像;当待检测人脸
图像为进行视频播放时所采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对播放的视频画面添加人脸方向矫正特效。
[0141]
具体地,上述人脸方向矫正方法可应用于视频通话场景、视频编辑场景和视频播放场景。在当前用户通过终端进行视频通话时,终端可获取视频通话时所产生的视频流。容易理解地,该视频流可以为图像采集装置对当前用户的人脸进行图像采集而产生的视频流,也可为与当前用户进行视频通话的对话用户所在终端发送的视频流。终端可对视频流进行分帧处理,得到多张待处理视频帧,并将待处理视频帧输入至训练完成的人脸矫正模型中,通过人脸矫正模型对待处理视频帧进行人脸方向矫正,得到人脸方向矫正后的目标人脸图像。进一步地,当获取得到人脸方向矫正后的目标人脸图像时,终端可将人脸方向矫正后的目标人脸图像替换视频流中的相应视频帧,并对应展示视频帧替换后的视频流,从而在视频通话过程中,用户可观看包含有正向人脸的视频流,进而提升了用户体验。
[0142]
当上述人脸矫正方法应用于视频编辑场景时,用户可通过视频编辑应用输入待编辑视频,从而视频编辑应用可对待编辑视频进行分帧处理,确定待编辑视频中包含有人脸的待检测图像,并将待检测图像输入至训练完成的人脸矫正模型,以使人脸矫正模型对待检测图像进行人脸方向矫正,得到人脸方向矫正后的目标人脸图像。进一步地,视频编辑应用可将目标人脸图像替换待编辑视频中的相应视频帧,得到编辑后的视频。
[0143]
相应地,当上述人脸矫正方法应用于视频编辑场景时,用户可通过视频播放应用播放待播放视频,从而视频播放应用可对待播放视频进行分帧处理,得到待检测图像,并通过人脸矫正模型对待检测图像进行人脸方向矫正,得到人脸方向矫正后的目标人脸图像。进一步地,视频播放应用可基于人脸方向矫正后的目标人脸图像对播放的视频画面添加人脸方向矫正特效,比如,参考图8,视频播放应用可在相应视频画面中的预设位置处,展示目标人脸图像801。图8示出了一个实施例中目标人脸图像的展示示意图。
[0144]
本实施例中,通过获取得到经过人脸方向矫正后得到的目标人脸图像,可基于目标人脸图像对视频通话所展示的画面进行画面调整、对待编辑视频中人脸图像进行替换、及对视频画面添加人脸方向矫正特效,从而大大提升了用户体验。
[0145]
在一个实施例中,如图9所述,本技术提供的人脸方向矫正方法包括以下步骤:
[0146]
s902,获取待检测人脸图像,对待检测人脸图像进行多尺度的人脸特征提取,得到多个尺度的人脸特征图像。
[0147]
s904,分别对多个尺度的人脸特征图像中的每个人脸特征图像进行通道数量的调整,得到通道数量一致的多个人脸特征图像。
[0148]
s906,通过人脸矫正模型中的人脸检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像进行人脸区域检测,得到每个人脸区域各自对应的至少一个人脸候选框。
[0149]
s908,通过人脸矫正模型中的方向检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组人脸定位点。
[0150]
s910,针对至少一个人脸候选框中的每个人脸候选框,均通过人脸矫正模型中的定位检测结构预测当前人脸候选框的定位准确度,定位准确度表征了人脸候选框与相应标准人脸框之间的差异程度。
[0151]
s912,针对至少一个人脸候选框中的每个人脸候选框,均通过人脸矫正模型中的分类检测结构预测当前人脸候选框所框选的图像区域为人脸的分类概率值。
[0152]
s914,针对至少一个人脸候选框中的每个人脸候选框,均根据与当前人脸候选框相对应的定位准确度和分类概率值,确定当前人脸候选框的置信度。
[0153]
s916,针对每组人脸定位点分别对应的至少一个人脸候选框,均从与当前组人脸定位点所对应的至少一个人脸候选框中,筛选出具有最高置信度的人脸候选框,将具有最高置信度的人脸候选框作为与当前组人脸定位点相对应的目标检测框。
[0154]
s918,获取人脸标注点,人脸标注点为标准姿态下人脸图像中的人脸定位点,根据人脸标注点的位置信息确定第一坐标矩阵。
[0155]
s920,对于至少一组人脸定位点中的每组人脸定位点,均根据当前人脸定位点的位置信息确定当前第二坐标矩阵。
[0156]
s922,对第一坐标矩阵和当前第二坐标矩阵进行仿射变换,得到当前组人脸定位点所对应的方向矫正矩阵。
[0157]
s924,生成与当前目标检测框具有相同尺寸的空白人脸图像;空白人脸图像为包含了多个第一像素点的空白图像并依次遍历当前目标检测框所框选的图像区域中的第二像素点。
[0158]
s926,对于当前遍历至的第二像素点,基于与当前遍历至的第二像素点的坐标和当前方向矫正矩阵,从空白图像的多个第一像素点中确定与当前遍历至的第二像素点对应的目标第一像素点,并将当前遍历至的第二像素点的像素信息,作为相对应的目标第一像素点的像素信息。
[0159]
s928,在遍历完成所有的第二像素点,且得到各个第一像素点的像素信息后,基于各个第一像素点的像素信息,得到对当前目标检测框中的图像区域进行人脸方向矫正的矫正结果。
[0160]
上述人脸方向矫正方法中,通过获取待检测图像,可对待检测图像进行人脸检测,得到人脸定位点和人脸候选框。通过获取人脸候选框,可确定各人脸候选框的置信度,从而可基于置信度从人脸候选框中筛选出各组人脸定位点分别对应的目标检测框。通过获取人脸定位点和人脸标注点,可基于人脸定位点和人脸标注点,确定每组人脸定位点分别对应的方向矫正矩阵,如此,便可根据所确定的方向矫正矩阵,以及基于目标检测框,进行人脸方向矫正。
[0161]
此外,由于可确定至少一组人脸定位点、以及确定各组人脸定位点分别对应的目标检测框,因此,可基于所确定的至少一组人脸定位点和各组人脸定位点分别对应的目标检测框,对待检测人脸图像中的多个人脸同时进行人脸方向矫正,从而大大提升了人脸方向矫正的效率。
[0162]
在一个实施例中,如图10,本技术提供的人脸方向矫正方法包括以下步骤:
[0163]
s1002,获取多张初始人脸图像,并对多张初始人脸图像中的每张初始人脸图像进行随机角度的旋转,得到旋转人脸图像。
[0164]
s1004,分别对每张旋转人脸图像均进行尺度和像素值的调节,得到调节人脸图像,对调节人脸图像进行图像拼接,得到训练样本。
[0165]
s1006,获取与训练样本相对应的标准关键点、标准人脸框和分类标签。
[0166]
s1008,通过待训练的人脸矫正模型中的人脸检测结构,对训练样本进行人脸区域检测,得到每个人脸区域各自对应的至少一个预测候选框。
[0167]
s1010,通过待训练的人脸矫正模型中的方向检测结构,对训练样本中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组预测关键点。
[0168]
s1012,通过待训练的人脸矫正模型中的定位检测结构,分别对各预测候选框进行定位准确性检测,得到各预测候选框分别对应的预测定位准确度。
[0169]
s1014,通过待训练的人脸矫正模型中的定位检测结构,确定每个预测候选框分别与相应标准人脸框之间的重叠度,并根据重叠度确定每个预测候选框分别对应的标准定位准确度。
[0170]
s1016,通过待训练的人脸矫正模型中的分类检测结构,确定每个预测候选框所框选的图像区域为人脸的概率值,得到相应的预测分类。
[0171]
s1018,根据预测候选框与相应标准人脸框间的第一差异、预测关键点与相应标准关键点间的第二差异、预测定位准确度与相应标准定位准确度间的第三差异、及预测分类与相应分类标签间的第四差异,构建损失函数。
[0172]
s1020,基于损失函数对人脸矫正模型进行训练,直至满足训练结束条件时结束,得到训练好的人脸矫正模型。
[0173]
本技术还提供一种应用场景,该应用场景应用上述的人脸方向矫正方法。具体地,该人脸方向矫正方法在该应用场景的应用如下:
[0174]
当获取得到待检测人脸图像时,计算机设备可通过上述人脸方向矫正方法对待检测人脸图像进行人脸方向的矫正,得到人脸方向矫正后的目标人脸图像,并将人脸方向矫正后的目标人脸图像输入至用以处理下游目标任务的服务器,以使服务器基于目标人脸图像进行处理下游目标任务的执行。比如,服务器可基于目标人脸图像确定相应待检测人脸图像中的人脸轮廓关键点,基于目标人脸图像裁剪出相应待检测人脸图像中的人脸等。
[0175]
上述应用场景仅为示意性的说明,可以理解,本技术各实施例所提供的业务相关数据上报方法的应用不局限于上述场景。
[0176]
应该理解的是,虽然图1、图9-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图9-图10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0177]
在一个实施例中,如图11所示,提供了一种人脸方向矫正装置1100,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:人脸检测模块1102、矩阵确定模块1104和方向矫正模块1106,其中:
[0178]
人脸检测模块1102,用于获取待检测人脸图像,对待检测人脸图像进行人脸检测,得到至少一组人脸定位点、以及与每组人脸定位点分别对应的至少一个人脸候选框。
[0179]
矩阵确定模块1104,用于确定每个人脸候选框的定位准确度和分类概率值,并根据定位准确度和分类概率值,确定每个人脸检测框各自对应的置信度;基于每个人脸候选
框的置信度,从人脸候选框中筛选出与各组人脸定位点分别对应的目标检测框;获取人脸标注点;人脸标注点为标准姿态下人脸图像中的人脸定位点;根据人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵。
[0180]
方向矫正模块1106,用于基于与各组人脸定位点分别对应的目标检测框,并根据相应人脸定位点所对应的方向矫正矩阵,进行人脸方向矫正。
[0181]
在一个实施例中,参考图12,人脸检测模块1102还包括特征提取模块1121,用于对待检测人脸图像进行多尺度的人脸特征提取,得到多个尺度的人脸特征图像;分别对多个尺度的人脸特征图像中的每个人脸特征图像进行通道数量的调整,得到通道数量一致的多个人脸特征图像;根据通道数量一致的多个人脸特征图像,确定待检测人脸图像中的至少一组人脸定位点、及与每组人脸定位点分别对应的至少一个人脸候选框。
[0182]
在一个实施例中,人脸矫正方法通过人脸矫正模型执行,人脸矫正模型包括人脸检测结构和方向检测结构;人脸检测模块1102还用于通过人脸检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像进行人脸区域检测,得到每个人脸区域各自对应的至少一个人脸候选框;通过方向检测结构,并根据通道数量一致的多个人脸特征图像,对待检测人脸图像中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组人脸定位点。
[0183]
在一个实施例中,人脸矫正方法通过人脸矫正模型执行,人脸矫正模型包括定位检测结构和分类检测结构;矩阵确定模块1104还包括目标检测框确定模块1141,用于针对至少一个人脸候选框中的每个人脸候选框,均通过定位检测结构预测当前人脸候选框的定位准确度;定位准确度表征了人脸候选框与相应标准人脸框之间的差异程度;针对至少一个人脸候选框中的每个人脸候选框,均通过分类检测结构预测当前人脸候选框所框选的图像区域为人脸的分类概率值;针对至少一个人脸候选框中的每个人脸候选框,均根据与当前人脸候选框相对应的定位准确度和分类概率值,确定当前人脸候选框的置信度。
[0184]
在一个实施例中,目标检测框确定模块1141还用于针对每组人脸定位点分别对应的至少一个人脸候选框,均从与当前组人脸定位点所对应的至少一个人脸候选框中,筛选出具有最高置信度的人脸候选框;将具有最高置信度的人脸候选框作为与当前组人脸定位点相对应的目标检测框。
[0185]
在一个实施例中,矩阵确定模块1104还用于根据人脸标注点和各组人脸定位点,确定与每组人脸定位点分别对应的方向矫正矩阵,包括:根据人脸标注点的位置信息确定第一坐标矩阵;对于至少一组人脸定位点中的每组人脸定位点,均根据当前人脸定位点的位置信息确定当前第二坐标矩阵;对第一坐标矩阵和当前第二坐标矩阵进行仿射变换,得到当前组人脸定位点所对应的方向矫正矩阵。
[0186]
在一个实施例中,方向矫正模块1106还用于对于至少一组人脸定位点中的每组人脸定位点,均基于与当前组人脸定位点所对应的当前方向矫正矩阵,对与当前组人脸定位点对应的当前目标检测框中的图像区域进行人脸方向矫正。
[0187]
在一个实施例中,方向矫正模块1106还用于生成与当前目标检测框具有相同尺寸的空白人脸图像;空白人脸图像为包含了多个第一像素点的空白图像;依次遍历当前目标检测框所框选的图像区域中的第二像素点;对于当前遍历至的第二像素点,基于与当前遍历至的第二像素点的坐标和当前方向矫正矩阵,从空白图像的多个第一像素点中确定与当
前遍历至的第二像素点对应的目标第一像素点,并将当前遍历至的第二像素点的像素信息,作为相对应的目标第一像素点的像素信息;在遍历完成所有的第二像素点,且得到各个第一像素点的像素信息后,基于各个第一像素点的像素信息,得到对当前目标检测框中的图像区域进行人脸方向矫正的矫正结果。
[0188]
在一个实施例中,人脸方向矫正装置1100还包括训练模块1108,用于获取训练样本,并获取与训练样本相对应的标准关键点、标准人脸框和分类标签;通过待训练的人脸矫正模型对训练样本进行人脸检测,得到至少一组预测关键点、与每组预测关键点分别对应的至少一个预测候选框、每个预测候选框分别对应的预测定位准确度和标准定位准确度、以及每个预测候选框分别对应的预测分类;根据预测候选框与相应标准人脸框间的第一差异、预测关键点与相应标准关键点间的第二差异、预测定位准确度与相应标准定位准确度间的第三差异、及预测分类与相应分类标签间的第四差异,构建损失函数;基于损失函数对人脸矫正模型进行训练,直至满足训练结束条件时结束,得到训练好的人脸矫正模型。
[0189]
在一个实施例中,训练模块1108还用于通过待训练的人脸矫正模型中的人脸检测结构,对训练样本进行人脸区域检测,得到每个人脸区域各自对应的至少一个预测候选框;通过待训练的人脸矫正模型中的方向检测结构,对训练样本中的人脸区域进行人脸定位点检测,得到每个人脸区域各自对应的一组预测关键点;通过待训练的人脸矫正模型中的定位检测结构,分别对各预测候选框进行定位准确性检测,得到各预测候选框分别对应的预测定位准确度;通过待训练的人脸矫正模型中的定位检测结构,确定每个预测候选框分别与相应标准人脸框之间的重叠度,并根据重叠度确定每个预测候选框分别对应的标准定位准确度;通过待训练的人脸矫正模型中的分类检测结构,确定每个预测候选框所框选的图像区域为人脸的概率值,得到相应的预测分类。
[0190]
在一个实施例中,人脸方向矫正装置1100还用于获取多张初始人脸图像,并对多张初始人脸图像中的每张初始人脸图像进行随机角度的旋转,得到旋转人脸图像;分别对每张旋转人脸图像均进行尺度和像素值的调节,得到调节人脸图像;对调节人脸图像进行图像拼接,得到训练样本。
[0191]
在一个实施例中,人脸方向矫正装置1100还用于当待检测人脸图像为进行视频通话时采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对视频通话所展示的画面进行画面调整;当待检测人脸图像为进行视频编辑时所采集到的人脸图像时,将经过人脸方向矫正后得到的目标人脸图像替换待编辑视频中的人脸图像;当待检测人脸图像为进行视频播放时所采集到的人脸图像时,基于经过人脸方向矫正后得到的目标人脸图像,对播放的视频画面添加人脸方向矫正特效。
[0192]
关于人脸方向矫正装置的具体限定可以参见上文中对于人脸方向矫正方法的限定,在此不再赘述。上述人脸方向矫正装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0193]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易
失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储人脸方向矫正数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种人脸方向矫正方法。
[0194]
本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0195]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0196]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0197]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0198]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0199]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0200]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1