首页 / 专利库 / 视听技术与设备 / / 一种单阶段的人脸检测和关键点定位方法及系统

一种单阶段的人脸检测和关键点定位方法及系统

阅读:646发布:2021-06-15

专利汇可以提供一种单阶段的人脸检测和关键点定位方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种单阶段的 人脸检测 和关键点 定位 方法及系统,涉及人脸检测和关键点定位技术领域,包括对人脸图像进行标注得到标注图像;根据标注图像训练得到人脸检测和关键点定位融合模型;将当前 帧 待检测人脸图片输入人脸检测和关键点定位融合模型,得到当前帧人脸检测框和当前帧人脸关键点 位置 ;根据当前帧人脸关键点位置对下一帧待检测人脸图片进行关键点防抖处理,得到下一帧人脸检测框和下一帧人脸关键点位置;进行关键点防抖处理的总次数不大于次数 阈值 时采用关键点防抖且不于时采用人脸检测和关键点定位融合模型进行人脸检测和关键点定位。本发明有效提升人脸检测和关键点定位的准确率;改善关键点抖动;适用于单模型部署的边缘计算设备。,下面是一种单阶段的人脸检测和关键点定位方法及系统专利的具体信息内容。

1.一种单阶段的人脸检测和关键点定位方法,其特征在于,具体包括:
步骤S1,获取若干人脸图像,并对各所述人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
步骤S2,根据所述标注图像训练得到人脸检测和关键点定位融合模型;
步骤S3,将视频图像中的当前待检测人脸图片输入所述人脸检测和关键点定位融合模型,得到所述当前帧检测人脸图片对应的当前帧人脸检测框和当前帧人脸关键点位置并输出;
步骤S4,根据所述当前帧人脸关键点位置对下一帧所述待检测人脸图片进行关键点防抖处理,并记录进行所述关键点防抖处理的总次数;
步骤S5,将记录得到的所述总次数与预设的次数阈值进行比较:
若所述总次数不大于所述次数阈值,则转向步骤S6;
若所述总次数大于所述次数阈值,则将所述总次数清零,随后返回所述步骤S3;
步骤S6,根据所述关键点防抖处理的处理结果直接得到下一帧所述待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为所述当前帧人脸检测框和所述当前帧人脸关键点位置输出,随后返回所述步骤S4;
上述过程持续执行,直至所有帧所述视频图像均处理完毕为止。
2.根据权利要求1所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述人脸检测和关键点定位融合模型采用retinanet网络结构,且所述retinanet网络结构中的后三层卷积层输出的特征图采用特征金字塔网络结构。
3.根据权利要求2所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述人脸检测和关键点定位融合模型的训练过程中,采用具有预设比例的锚点框进行所述人脸检测框的回归预测以及所述人脸关键点位置的预测。
4.根据权利要求3所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述人脸检测和关键点定位融合模型的训练过程中,卷积操作生成的特征图中,各像素点在对应的所述人脸图像中的感受野的尺寸大小是所述锚点框尺寸大小的两倍。
5.根据权利要求3所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述预设比例为1:1。
6.根据权利要求3所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述步骤S2具体包括:
步骤S21,将所述标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
所述人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
步骤S22,分别计算所述人脸分类预测结果与所述真实人脸框包含的真实人脸分类结果之间的第一损失函数、所述人脸框回归预测结果与所述真实人脸框包含的真实人脸区域之间的第二损失函数、所述人脸框比例预测结果与所述预设比例之间的第三损失函数,以及所述关键点预测结果与所述真实关键点位置的第四损失函数;
步骤S23,对所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数进行加权求和,得到总损失函数,并将所述总损失函数与预设的损失函数阈值进行比较:
若所述总损失函数不小于所述损失函数阈值,则转向步骤S24;
若所述总损失函数小于所述损失函数阈值,则转向步骤S25;
步骤S24,根据预设学习率调整所述初始融合模型中的训练参数,随后返回所述步骤S21,以继续新一轮训练过程;
步骤S25,将所述初始融合模型作为人脸检测和关键点定位融合模型并输出。
7.根据权利要求1所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述步骤S4,所述关键点防抖处理具体包括:
步骤A1,根据所述人脸关键点位置,将下一帧待检测人脸图片中对应的所述人脸关键点位置扩大预设倍数,得到人脸区域图片;
步骤A2,根据预先生成的人脸校验模型对所述人脸区域图片进行校验,并根据校验结果判断所述人脸区域图片是否为人脸:
若是,则转向步骤A3;
若否,则退出;
步骤A3,采用跟踪算法对所述人脸进行跟踪,得到下一帧所述待检测人脸图片对应的所述人脸检测框和所述人脸关键点位置。
8.一种单阶段的人脸检测和关键点定位系统,其特征在于,应用如权利要求1-9中任意一项所述的单阶段的人脸检测和关键点定位方法,所述人脸检测和关键点定位系统具体包括:
数据标注模,用于获取若干人脸图像,并对各所述人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
数据训练模块,连接所述数据标注模块,用于根据所述标注图像训练得到人脸检测和关键点定位融合模型;
模型预测模块,连接所述数据训练模块,用于将当前帧待检测人脸图片输入所述人脸检测和关键点定位融合模型,得到所述当前帧检测人脸图片对应的人脸检测框和人脸关键点位置并输出;
防抖处理模块,连接所述模型预测模块,用于根据所述人脸检测框和所述人脸关键点位置对下一帧待检测人脸图片进行关键点防抖处理,并记录进行所述关键点防抖处理的总次数;
数据比较模块,连接所述防抖处理模块,用于将记录得到的所述总次数与预设的次数阈值进行比较,并在所述总次数不大于所述次数阈值时生成第一比较结果,以及在所述总次数大于所述次数阈值时生成第二比较结果;
第一处理模块,连接所述数据比较模块,用于根据所述第一比较结果并根据所述关键点防抖处理的处理结果直接得到下一帧所述待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为所述当前帧人脸检测框和所述当前帧人脸关键点位置输出;
第二处理模块,连接所述数据比较模块,用于根据所述第二比较结果将所述总次数清零。
9.根据权利要求8所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述数据训练模块具体包括:
数据预测单元,用于将所述标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
所述人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
第一处理单元,连接所述数据预测单元,用于分别计算所述人脸分类预测结果与所述真实人脸框包含的真实人脸分类结果之间的第一损失函数、所述人脸框回归预测结果与所述真实人脸框包含的真实人脸区域之间的第二损失函数、所述人脸框比例预测结果与所述预设比例之间的第三损失函数,以及所述关键点预测结果与所述真实关键点位置的第四损失函数;
第二处理单元,连接所述第一处理单元,用于对所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数进行加权求和,得到总损失函数;
数据比较单元,连接所述第二处理单元,用于将所述总损失函数与预设的损失函数阈值进行比较,并在所述总损失函数不小于所述损失函数阈值时生成第一比较结果,以及在所述总损失函数小于所述损失函数阈值时生成第二比较结果;
第三处理单元,连接所述数据比较单元,用于根据所述第一比较结果和预设学习率调整所述初始融合模型中的训练参数以继续新一轮训练过程;
第四处理单元,连接所述数据比较单元,用于根据所述第二比较结果将所述初始融合模型作为人脸检测和关键点定位融合模型并输出。
10.根据权利要求8所述的单阶段的人脸检测和关键点定位方法,其特征在于,所述防抖处理模块具体包括:
图像处理单元,用于根据所述人脸关键点位置,将下一帧待检测人脸图片中对应的所述人脸关键点位置扩大预设倍数,得到人脸区域图片;
人脸校验单元,连接所述图像处理单元,用于根据预先生成的人脸校验模型对所述人脸区域图片进行校验,并在校验结果表示所述人脸区域图片为人脸时输出相应的人脸校验结果;
人脸跟踪单元,连接所述人脸校验单元,用于采用跟踪算法对所述人脸进行跟踪,得到包含下一帧所述待检测人脸图片对应的所述人脸检测框和所述人脸关键点位置的所述关键点防抖处理的处理结果。
数据记录单元,连接所述人脸跟踪单元,用于根据所述处理结果记录进行所述关键点防抖处理的总次数。

说明书全文

一种单阶段的人脸检测和关键点定位方法及系统

技术领域

[0001] 本发明涉及人脸检测和关键点定位技术领域,尤其涉及一种单阶段的人脸检测和关键点定位方法及系统。

背景技术

[0002] 人脸检测是一种在任意输入图像中自动搜索人脸位置和大小的技术,关键点定位是在给定的人脸框中正确定位出关键点位置的过程。在人脸相关领域,人脸检测和关键点定位是很多算法的前置算法,比如人脸识别、美颜、换脸等,所以人脸检测和关键点定位在人脸领域是至关重要的。
[0003] 目前大多数人脸和关键点检测方法都是分步实施的,即先进行人脸检测,再进行关键点检测,人脸检测算法只负责人脸检测,人脸关键点算法只负责关键点定位,两个算法互相独立,无关联,此类方法忽略了这两个任务之间的内在联系,整体的检测效率不高。现有技术中,人脸检测和关键点定位存在以下问题:一是精度问题,由于两个算法独立训练,无互相补充促进作用,导致准确率一般。二是关键点抖动问题,目前关键点定位算法都会有点抖动。三是部署问题,目前的一些边缘计算设备,只支持单模型推理,例如:海思的某些型号开发板,如果加载两个或两个以上的模型,推理速度会大幅下降,满足不了速度要求,落地也就会变得非常困难。

发明内容

[0004] 针对现有技术中存在的问题,本发明提供一种单阶段的人脸检测和关键点定位方法,具体包括:
[0005] 步骤S1,获取若干人脸图像,并对各所述人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
[0006] 步骤S2,根据所述标注图像训练得到人脸检测和关键点定位融合模型;
[0007] 步骤S3,将视频图像中的当前待检测人脸图片输入所述人脸检测和关键点定位融合模型,得到所述当前帧检测人脸图片对应的当前帧人脸检测框和当前帧人脸关键点位置并输出;
[0008] 步骤S4,根据所述当前帧人脸关键点位置对下一帧所述待检测人脸图片进行关键点防抖处理,并记录进行所述关键点防抖处理的总次数;
[0009] 步骤S5,将记录得到的所述总次数与预设的次数阈值进行比较:
[0010] 若所述总次数不大于所述次数阈值,则转向步骤S6;
[0011] 若所述总次数大于所述次数阈值,则将所述总次数清零,随后返回所述步骤S3;
[0012] 步骤S6,根据所述关键点防抖处理的处理结果直接得到下一帧所述待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为所述当前帧人脸检测框和所述当前帧人脸关键点位置输出,随后返回所述步骤S4;
[0013] 上述过程持续执行,直至所有帧所述视频图像均处理完毕为止。
[0014] 优选的,所述人脸检测和关键点定位融合模型采用retinanet网络结构,且所述retinanet网络结构中的后三层卷积层输出的特征图采用特征金字塔网络结构。
[0015] 优选的,所述人脸检测和关键点定位融合模型的训练过程中,采用具有预设比例的锚点框进行所述人脸检测框的回归预测以及所述人脸关键点位置的预测。
[0016] 优选的,所述人脸检测和关键点定位融合模型的训练过程中,卷积操作生成的特征图中,各像素点在对应的所述人脸图像中的感受野的尺寸大小是所述锚点框尺寸大小的两倍。
[0017] 优选的,所述预设比例为1:1。
[0018] 优选的,所述步骤S2具体包括:
[0019] 步骤S21,将所述标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
[0020] 所述人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
[0021] 步骤S22,分别计算所述人脸分类预测结果与所述真实人脸框包含的真实人脸分类结果之间的第一损失函数、所述人脸框回归预测结果与所述真实人脸框包含的真实人脸区域之间的第二损失函数、所述人脸框比例预测结果与所述预设比例之间的第三损失函数,以及所述关键点预测结果与所述真实关键点位置的第四损失函数;
[0022] 步骤S23,对所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数进行加权求和,得到总损失函数,并将所述总损失函数与预设的损失函数阈值进行比较:
[0023] 若所述总损失函数不小于所述损失函数阈值,则转向步骤S24;
[0024] 若所述总损失函数小于所述损失函数阈值,则转向步骤S25;
[0025] 步骤S24,根据预设学习率调整所述初始融合模型中的训练参数,随后返回所述步骤S21,以继续新一轮训练过程;
[0026] 步骤S25,将所述初始融合模型作为人脸检测和关键点定位融合模型并输出。
[0027] 优选的,所述步骤S4,所述关键点防抖处理具体包括:
[0028] 步骤A1,根据所述人脸关键点位置,将下一帧待检测人脸图片中对应的所述人脸关键点位置扩大预设倍数,得到人脸区域图片;
[0029] 步骤A2,根据预先生成的人脸校验模型对所述人脸区域图片进行校验,并根据校验结果判断所述人脸区域图片是否为人脸:
[0030] 若是,则转向步骤A3;
[0031] 若否,则退出;
[0032] 步骤A3,采用跟踪算法对所述人脸进行跟踪,得到下一帧所述待检测人脸图片对应的所述人脸检测框和所述人脸关键点位置。
[0033] 一种单阶段的人脸检测和关键点定位系统,应用以上任意一项所述的单阶段的人脸检测和关键点定位方法,所述人脸检测和关键点定位系统具体包括:
[0034] 数据标注模,用于获取若干人脸图像,并对各所述人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
[0035] 数据训练模块,连接所述数据标注模块,用于根据所述标注图像训练得到人脸检测和关键点定位融合模型;
[0036] 模型预测模块,连接所述数据训练模块,用于将当前帧待检测人脸图片输入所述人脸检测和关键点定位融合模型,得到所述当前帧检测人脸图片对应的人脸检测框和人脸关键点位置并输出;
[0037] 防抖处理模块,连接所述模型预测模块,用于根据所述人脸检测框和所述人脸关键点位置对下一帧待检测人脸图片进行关键点防抖处理,并记录进行所述关键点防抖处理的总次数;
[0038] 数据比较模块,连接所述防抖处理模块,用于将记录得到的所述总次数与预设的次数阈值进行比较,并在所述总次数不大于所述次数阈值时生成第一比较结果,以及在所述总次数大于所述次数阈值时生成第二比较结果;
[0039] 第一处理模块,连接所述数据比较模块,用于根据所述第一比较结果并根据所述关键点防抖处理的处理结果直接得到下一帧所述待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为所述当前帧人脸检测框和所述当前帧人脸关键点位置输出;
[0040] 第二处理模块,连接所述数据比较模块,用于根据所述第二比较结果将所述总次数清零。
[0041] 优选的,所述数据训练模块具体包括:
[0042] 数据预测单元,用于将所述标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
[0043] 所述人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
[0044] 第一处理单元,连接所述数据预测单元,用于分别计算所述人脸分类预测结果与所述真实人脸框包含的真实人脸分类结果之间的第一损失函数、所述人脸框回归预测结果与所述真实人脸框包含的真实人脸区域之间的第二损失函数、所述人脸框比例预测结果与所述预设比例之间的第三损失函数,以及所述关键点预测结果与所述真实关键点位置的第四损失函数;
[0045] 第二处理单元,连接所述第一处理单元,用于对所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数进行加权求和,得到总损失函数;
[0046] 数据比较单元,连接所述第二处理单元,用于将所述总损失函数与预设的损失函数阈值进行比较,并在所述总损失函数不小于所述损失函数阈值时生成第一比较结果,以及在所述总损失函数小于所述损失函数阈值时生成第二比较结果;
[0047] 第三处理单元,连接所述数据比较单元,用于根据所述第一比较结果和预设学习率调整所述初始融合模型中的训练参数以继续新一轮训练过程;
[0048] 第四处理单元,连接所述数据比较单元,用于根据所述第二比较结果将所述初始融合模型作为人脸检测和关键点定位融合模型并输出。
[0049] 优选的,所述防抖处理模块具体包括:
[0050] 图像处理单元,用于根据所述人脸关键点位置,将下一帧待检测人脸图片中对应的所述人脸关键点位置扩大预设倍数,得到人脸区域图片;
[0051] 人脸校验单元,连接所述图像处理单元,用于根据预先生成的人脸校验模型对所述人脸区域图片进行校验,并在校验结果表示所述人脸区域图片为人脸时输出相应的人脸校验结果;
[0052] 人脸跟踪单元,连接所述人脸校验单元,用于采用跟踪算法对所述人脸进行跟踪,得到下一帧所述待检测人脸图片对应的所述人脸检测框和所述人脸关键点位置。
[0053] 上述技术方案具有如下优点或有益效果:
[0054] 1)将人脸检测和关键点定位进行融合,采用端到端的训练方式,人脸检测和关键点定位相互促进,有效提升人脸检测和关键点定位的准确率;
[0055] 2)通过将人脸校验模型和跟踪模型结合,有效改善了关键点抖动的问题;
[0056] 3)将人脸检测和关键点定位融合成一个模型,有效提升推理速度,适用于只支持单模型部署的边缘计算设备。附图说明
[0057] 图1为本发明的较佳的实施例中,一种单阶段的人脸检测和关键点定位方法的流程示意图;
[0058] 图2为本发明的较佳的实施例中,人脸检测和关键点定位融合模型的训练过程的流程示意图;
[0059] 图3为本发明的较佳的实施例中,关键点防抖处理过程的流程示意图;
[0060] 图4为本发明的较佳的实施例中,一种单阶段的人脸检测和关键点定位系统的结构示意图。

具体实施方式

[0061] 下面结合附图和具体实施例对本发明进行详细说明。本发明并不限定于该实施方式,只要符合本发明的主旨,则其他实施方式也可以属于本发明的范畴。
[0062] 本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种单阶段的人脸检测和关键点定位方法,如图1所示,具体包括:
[0063] 步骤S1,获取若干人脸图像,并对各人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
[0064] 步骤S2,根据标注图像训练得到人脸检测和关键点定位融合模型;
[0065] 步骤S3,将视频图像中的当前帧待检测人脸图片输入人脸检测和关键点定位融合模型,得到当前帧检测人脸图片对应的当前帧人脸检测框和当前帧人脸关键点位置并输出;
[0066] 步骤S4,根据当前帧人脸关键点位置对下一帧待检测人脸图片进行关键点防抖处理,并记录进行关键点防抖处理的总次数;
[0067] 步骤S5,将记录得到的总次数与预设的次数阈值进行比较:
[0068] 若总次数不大于次数阈值,则转向步骤S6;
[0069] 若总次数大于次数阈值,则将总次数清零,随后返回步骤S3;
[0070] 步骤S6,根据关键点防抖处理的处理结果直接得到下一帧待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为当前帧人脸检测框和当前帧人脸关键点位置输出,随后返回步骤S4;
[0071] 上述过程持续执行,直至所有帧视频图像均处理完毕为止。
[0072] 键点定位方法将人脸检测和关键点定位进行融合,采用端到端的训练方式,人脸检测和关键点定位相互促进,有效提升人脸检测和关键点定位的准确率;同时通过将人脸校验模型和跟踪模型结合,有效改善了关键点抖动的问题;进一步地,将人脸检测和关键点定位融合成一个模型,有效提升推理速度,适用于只支持单模型部署的边缘计算设备,解决了边缘计算设备在加载大于一个模型时,整个推理速度会变得很慢的问题。
[0073] 进一步具体地,本发明的技术方案包括人脸检测和关键点定位融合模型的训练过程:
[0074] 首先对训练数据进行准备,即对获取的若干人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像。本实施例中,优选将上述标注图像以文本文档的格式进行存储。具体地,通过新建一个名称为train.txt的文本文档作为训练集,其中,train.txt中的每一行表示一条标注图像数据。每条标注图像数据中优选包含人脸框(box)和人脸关键点(landmark)的6个点和图片路径,具体存储格式如下:
[0075] Path/xxx.jpg x1,y1,x2,y2,ptx1,pty1,ptx2,pty2……ptx6,pty6[0076] 其中,Path表示存储路径,xxx.jpg表示标注图像的名称,x1,y1,x2,y2表示人脸框数据,ptx1,pty1,ptx2,pty2……ptx6,pty6表示6个人脸关键点数据。x1,y1直到ptx6,pty6表示标注图像中一个人脸的数据,如果一张图片中包含多个人脸,在后面循环即可。通过将人脸检测和关键点定位的训练数据融合在一起,形成一个标注文件,方便数据处理和读取。
[0077] 其次,对人脸检测和关键点定位融合模型的网络框架进行预设,本发明采用单阶段的网络框架为基础,优选采用retinanet网络结构,该retinanet网络结构时具有特征金字塔(fpn)结构的单阶段检测网络结构。由于人脸的特殊性,优选将训练过程中的锚点框(anchor)的比例设置为1:1,有效避免模型检测出的人脸框出现有长、有宽、不符合人脸比例的现象。为进一步提升人脸检测和关键点定位的召回率和精准率,本发明的人脸检测和关键点定位融合模型训练过程中,卷积操作生成的特征图中,优选将特征图中各像素点在对应的人脸图像中的感受野的尺寸大小设置为锚点框尺寸大小的两倍,避免由于特征图采用默认值导致的检测精度差的问题。为了使得本发明的人脸检测和关键点定位融合模型对小脸的检测效果好,本发明优选选取主干网络(backbone)后面三层的特征图采用特征金字塔(fpn)进行上采样,实现特征融合,有效提升小脸的召回率。
[0078] 更为优选的,在人脸检测和关键点定位融合模型的训练过程中,每次训练结束后,还包括根据本次训练预测结果进行正负样本的均衡,并将得到的正样本和负样本送入下一次训练。本实施例中,对于人脸检测的正负样本,优选在计算本次训练预测得到的锚点框(anchor)与真实人脸框(gt)的交并比(iou)大于0.5时作为正样本,锚点框(anchor)与真实人脸框(gt)的交并比(iou)小于0.3时作为负样本。对于关键点定位的正负样本,优选在本次训练预测得到的锚点框(anchor)与真实人脸框(gt)的交并比(iou)大于0.7时,才计算预测得到的关键点定位与真实关键点位置之间的损失函数,避免由于锚点框(anchor)与真实人脸框(gt)的交并比(iou)过小,网络难以收敛和关键点定位不准的问题。
[0079] 进一步具体地,在人脸检测和关键点定位融合模型的训练过程中,优选设定四个损失函数作为训练过程中的回传值,从而保证网络有效性。上述四个损失函数优选包括人脸分类预测结果与真实人脸框包含的真实人脸分类结果之间的第一损失函数、人脸框回归预测结果与真实人脸框包含的真实人脸区域之间的第二损失函数、人脸框比例预测结果与预设比例之间的第三损失函数,以及关键点预测结果与真实关键点位置的第四损失函数。上述第一损失函数优选采用softmax函数,上述第二损失函数优选采用smooth函数,上述第三损失函数优选采用MSE函数,上述第四损失函数的设置保证了人脸框的比例为1:1。
[0080] 优选分别对第一损失函数、第二损失函数、第三损失函数和第四损失函数进行加权求和,得到总损失函数。其中,上述第一损失函数的权重优选为1,上述第二损失函数的权重优选为1,上述第三损失函数的权重优选为0.5,上述第四损失函数的权重优选为0.1。由于第四损失函数的权重设置较小,保证人脸框比例的同时,不影响网络对人脸检测和关键点定位的整体效果。训练过程中,预设学习率优选为0.0001,训练结束后,等到人脸检测和关键点定位融合模型。
[0081] 进一步地,采用上述人脸检测和关键点定位融合模型对视频图像的待检测图片进行人脸检测和关键点定位,为消除由于数据标注主观性以及人脸检测框抖动导致的关键点定位出现抖动的问题,本发明从人脸跟踪的度,固定人脸检测框的位置,保证人脸不动时,人脸检测框就不动,也就保证了做关键点定位时的输入框是不动的,从而减小了关键点抖动的幅度。
[0082] 具体地,在对视频图像连续多帧的待检测图片进行人脸检测和关键点定位时,优选以当前帧待检测图片为检测起始节点,对当前帧待检测图片采用上述人脸检测和关键点定位融合模型预测得到当前帧待检测图片对应的当前帧人脸检测框和当前帧关键点位置,后续的连续多帧待检测图片采用关键点防抖处理得到对应的人脸检测框和关键点位置。优选采用一次人脸检测和关键点定位融合模型预测,后续十帧待检测图片均采用关键点防抖处理,随后再采用人脸检测和关键点定位融合模型预测,以此类推。
[0083] 本发明的较佳的实施例中,人脸检测和关键点定位融合模型采用retinanet网络结构,且retinanet网络结构中的后三层卷积层输出的特征图采用特征金字塔网络结构。
[0084] 本发明的较佳的实施例中,人脸检测和关键点定位融合模型的训练过程中,采用具有预设比例的锚点框进行人脸检测框的回归预测以及人脸关键点位置的预测。
[0085] 本发明的较佳的实施例中,人脸检测和关键点定位融合模型的训练过程中,卷积操作生成的特征图中,各像素点在对应的人脸图像中的感受野的尺寸大小是锚点框尺寸大小的两倍。
[0086] 本发明的较佳的实施例中,预设比例为1:1。
[0087] 本发明的较佳的实施例中,如图2所示,步骤S2具体包括:
[0088] 步骤S21,将标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
[0089] 人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
[0090] 步骤S22,分别计算人脸分类预测结果与真实人脸框包含的真实人脸分类结果之间的第一损失函数、人脸框回归预测结果与真实人脸框包含的真实人脸区域之间的第二损失函数、人脸框比例预测结果与预设比例之间的第三损失函数,以及关键点预测结果与真实关键点位置的第四损失函数;
[0091] 步骤S23,对第一损失函数、第二损失函数、第三损失函数和第四损失函数进行加权求和,得到总损失函数,并将总损失函数与预设的损失函数阈值进行比较:
[0092] 若总损失函数不小于损失函数阈值,则转向步骤S24;
[0093] 若总损失函数小于损失函数阈值,则转向步骤S25;
[0094] 步骤S24,根据预设学习率调整初始融合模型中的训练参数,随后返回步骤S21,以继续新一轮训练过程;
[0095] 步骤S25,将初始融合模型作为人脸检测和关键点定位融合模型并输出。
[0096] 本发明的较佳的实施例中,步骤S4,如图3所示,关键点防抖处理具体包括:
[0097] 步骤A1,根据人脸关键点位置,将下一帧待检测人脸图片中对应的人脸关键点位置扩大预设倍数,得到人脸区域图片;
[0098] 步骤A2,根据预先生成的人脸校验模型对人脸区域图片进行校验,并根据校验结果判断人脸区域图片是否为人脸:
[0099] 若是,则转向步骤A3;
[0100] 若否,则退出;
[0101] 步骤A3,采用跟踪算法对人脸进行跟踪,得到下一帧待检测人脸图片对应的人脸检测框和人脸关键点位置。
[0102] 具体地,本实施例中,通过关键点防抖处理,可以大大减小关键点抖动的幅度。上述关键点防抖处理主要包括两部分,一是人脸校验模块,用来判断是否为人脸,上述人脸校验模块优选采用一个极简的二分类网络,只需几个卷积层即可实现;二是跟踪算法,该跟踪算法优选采用KCF算法,用于在人脸校验模块判断是人脸时,进行人脸跟踪得到人脸检测框,由于跟踪算法的特征匹配度高的特点,从而保证了连续两帧的人脸检测框的覆盖的人脸位置,几乎相同。将该人脸区域扩大1.5倍,送入检测算法中,从而保证输出的图片不会出现大的变化,也就保证了关键点回归的准确性。
[0103] 一种单阶段的人脸检测和关键点定位系统,应用以上任意一项的单阶段的人脸检测和关键点定位方法,如图4所示,人脸检测和关键点定位系统具体包括:
[0104] 数据标注模块1,用于获取若干人脸图像,并对各人脸图像进行标注,得到具有真实人脸框以及真实关键点位置的标注图像;
[0105] 数据训练模块2,连接数据标注模块1,用于根据标注图像训练得到人脸检测和关键点定位融合模型;
[0106] 模型预测模块3,连接数据训练模块2,用于将当前帧待检测人脸图片输入人脸检测和关键点定位融合模型,得到当前帧检测人脸图片对应的人脸检测框和人脸关键点位置并输出;
[0107] 防抖处理模块4,连接模型预测模块3,用于根据人脸检测框和人脸关键点位置对下一帧待检测人脸图片进行关键点防抖处理,并记录进行关键点防抖处理的总次数;
[0108] 数据比较模块5,连接防抖处理模块4,用于将记录得到的总次数与预设的次数阈值进行比较,并在总次数不大于次数阈值时生成第一比较结果,以及在总次数大于次数阈值时生成第二比较结果;
[0109] 第一处理模块6,连接数据比较模块5,用于根据第一比较结果并根据关键点防抖处理的处理结果直接得到下一帧待检测人脸图片对应的下一帧人脸检测框和下一帧人脸关键点位置,并作为当前帧人脸检测框和当前帧人脸关键点位置输出;
[0110] 第二处理模块7,连接数据比较模块5,用于根据第二比较结果将总次数清零。
[0111] 本发明的较佳的实施例中,数据训练模块2具体包括:
[0112] 数据预测单元21,用于将标注图像输入预先生成的初始融合模型中,得到对应的人脸检测预测结果以及关键点预测结果;
[0113] 人脸检测预测结果包括人脸分类预测结果、人脸框回归预测结果以及人脸框比例预测结果;
[0114] 第一处理单元22,连接数据预测单元21,用于分别计算人脸分类预测结果与真实人脸框包含的真实人脸分类结果之间的第一损失函数、人脸框回归预测结果与真实人脸框包含的真实人脸区域之间的第二损失函数、人脸框比例预测结果与预设比例之间的第三损失函数,以及关键点预测结果与真实关键点位置的第四损失函数;
[0115] 第二处理单元23,连接第一处理单元22,用于对第一损失函数、第二损失函数、第三损失函数和第四损失函数进行加权求和,得到总损失函数;
[0116] 数据比较单元24,连接第二处理单元23,用于将总损失函数与预设的损失函数阈值进行比较,并在总损失函数不小于损失函数阈值时生成第一比较结果,以及在总损失函数小于损失函数阈值时生成第二比较结果;
[0117] 第三处理单元25,连接数据比较单元24,用于根据第一比较结果和预设学习率调整初始融合模型中的训练参数以继续新一轮训练过程;
[0118] 第四处理单元26,连接数据比较单元24,用于根据第二比较结果将初始融合模型作为人脸检测和关键点定位融合模型并输出。
[0119] 本发明的较佳的实施例中,防抖处理模块4具体包括:
[0120] 图像处理单元41,用于根据人脸关键点位置,将下一帧待检测人脸图片中对应的人脸关键点位置扩大预设倍数,得到人脸区域图片;
[0121] 人脸校验单元42,连接图像处理单元41,用于根据预先生成的人脸校验模型对人脸区域图片进行校验,并在校验结果表示人脸区域图片为人脸时输出相应的人脸校验结果;
[0122] 人脸跟踪单元43,连接人脸校验单元42,用于采用跟踪算法对人脸进行跟踪,得到包含下一帧待检测人脸图片对应的人脸检测框和人脸关键点位置的关键点防抖处理的处理结果。
[0123] 数据记录单元44,连接人脸跟踪单元43,用于根据处理结果记录进行关键点防抖处理的总次数。
[0124] 以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈