1.本发明涉及美颜技术领域,特别涉及一种用于关键点模型量化的网络结构方法、设备、存储介质。
背景技术:2.深度卷积神经网络在计算机视觉任务明显优于传统方案,但是其计算复杂度较高,导致在目标平台,特别是移动平台中部署时速度较慢,功耗较高。为了解决速度问题,进行模型量化是一个主要的途径。现在模型量化对于分类、分割等非连续输出的视觉任务已经取得了较好的进展,但是对于回归等需要连续输出的任务则效果欠佳,精度下降严重的同时,可能带来许多副作用。人脸关键点检测便是中回归问题,常规的量化方案不仅导致精度下降,还带来了人脸关键点在跟踪是剧烈抖动等副作用。
3.如cn202010453096.2提供了一种人脸关键点检测模型的训练方法及装置。在该方法中,针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,针对各个人脸关键点,计算人脸关键点的预测位置和真实位置之间的位置误差,并根据位置误差确定人脸关键点对应的损失函数值;当人脸关键点检测模型的损失函数值低于设定阈值时,确定人脸关键点检测模型满足训练结束条件。但其缺点在于:对于常规的模型进行量化,将导致关键点精度急剧下降。对于8位量化方案,结果数值精度为d/256,其中d表示输入图尺寸。对于 256x256大小的输入图来说,关键点的定位精度理论上只有1个像素,而 1个像素的定位精度远远无法满足业务需要,且由于量化结果的跳跃性,将带来剧烈的抖动问题。
4.因此申请人提出一种用于关键点模型量化的网络结构,以提高量化模型的回归精度,解决人脸关键点检测模型量化导致的精度下降与抖动的技术问题。同时针对一种用于关键点模型量化的网络结构提出一种人脸关键点量化模型的训练方法,为一种用于关键点模型量化的网络结构提供使用的方法。同时针对一种人脸关键点量化模型的训练方法分别提出一种人脸关键点量化模型的训练设备以及一种计算机可读存储介质。
技术实现要素:5.(一)技术方案
6.本发明通过如下技术方案实现:一种用于关键点模型量化的网络结构,所述网络结构用于人脸关键点预测模型的精度优化;所述网络结构包括:主干、基础预测分支,用于预测第一级人脸关键点坐标;循环分支:用于估计人脸关键点坐标误差余量;
7.所述循环分支设有n个精度优化循环分支,用于提升基础预测分支预测的关键点的误差余量;所述n为≥0的正整数。
8.作为上述方案的进一步说明,所述网络结构循环方法包括如下步骤:
9.基础预测分支输出人脸关键点坐标;
10.若n>0,则将人脸关键点坐标输入循环分支;
11.依据n的大小对人脸关键点坐标误差余量进行优化提升。
12.作为上述方案的进一步说明,所述依据n的大小对人脸关键点坐标误差余量进行优化提升的优化公式如下:
[0013][0014]
式中r为最终预测的人脸关键点坐标;
[0015]
r0为基础预测分支预测的人脸关键点坐标;
[0016]
n为精度优化循环分支个数,所述n为≥0的正整数。
[0017]
作为上述方案的进一步说明,若n=0,则直接输出基础预测分支预测的人脸关键点坐标。
[0018]
本发明还提出一种人脸关键点量化模型的训练方法,所述方法包括如前所述的一种用于关键点模型量化的网络结构;
[0019]
所述方法采用分布训练法,包括如下步骤:
[0020]
构建主干、基础预测分支、循环分支;
[0021]
训练主干、基础预测分支;
[0022]
连入循环分支并训练循环分支;
[0023]
网络结构微调。
[0024]
作为上述方案的进一步说明,所述训练主干、基础预测分支具体的:
[0025]
训练数据集标注人脸关键点;设定学习网络的关键点输出的功能、设定关键点损失函数,最后导入数据集对学习网络进行训练获得模型,最终在训练完成的模型上进行人脸及其关键点的检测。。
[0026]
作为上述方案的进一步说明,所述连入循环分支并训练循环分支具体的包括如下步骤:
[0027]
固定主干、基础预测分支;
[0028]
连入循环分支,设定n个精度优化循环分支;
[0029]
对n个精度优化循环分支进行逐级训练。
[0030]
作为上述方案的进一步说明,当n为0时,不对循环分支进行训练;
[0031]
所述n取值范围为[0,3],所述n为正整数。
[0032]
本发明还提出一种人脸关键点量化模型的训练设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如前所述的一种人脸关键点量化模型的训练方法。
[0033]
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如前所述的一种人脸关键点量化模型的训练方法。
[0034]
(二)有益效果
[0035]
本发明相对于现有技术,具有以下有益效果:
[0036]
本发明的优点在于,采用循环分支能够充分利用模型量化的优势,使得人脸关键
点模型进一步提升性能,降低功耗;能够解决回归问题量化精度不够的问题;解决了因为量化导致结果离散带来的人脸关键点抖动问题,有效低保证人脸关键点的精度,并且保证关键点的稳定性;克服了常规的量化方案不仅导致精度下降,还带来了人脸关键点在跟踪是剧烈抖动等副作用。
附图说明
[0037]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0038]
图1为现有技术网络结构示意图;
[0039]
图2为本发明网络结构示意图;
具体实施方式
[0040]
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0041]
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0042]
实施例
[0043]
一种用于关键点模型量化的网络结构,所述网络结构用于人脸关键点预测模型的精度优化;所述网络结构包括:主干、基础预测分支,用于预测第一级人脸关键点坐标;循环分支:用于提升人脸关键点坐标误差余量;徐娅进一步说明的是,传统网络结构主要由主干和预测头组成,请参阅图 1。对于常规的模型进行量化,将导致关键点精度极具下降。对于8位量化方案,结果数值精度为d/256,其中d表示输入图尺寸。对于256x256 大小的输入图来说,关键点的定位精度理论上只有1个像素,而1个像素的定位精度远远无法满足业务需要,且由于量化结果的跳跃性,将带来剧烈的抖动问题。因此本技术提出一种用于关键点模型量化的网络结构带有循环分支,请参阅图2。
[0044]
所述循环分支设有n个精度优化循环分支,用于提升基础预测分支预测的关键点的误差余量;所述n为≥0的正整数。网络分为基础预测分支,和循环提升分支组成。其中r0为基础预测分支,该分支和常规的人脸关键点模型一致,预测第一级人脸关键点坐标。ri,i>0分支为精度优化循环分支,其中i的最大值为超参,一般i不超过3。
[0045]
所述网络结构循环方法包括如下步骤:
[0046]
基础预测分支输出人脸关键点坐标;
[0047]
若n>0,则将人脸关键点坐标输入循环分支;
[0048]
依据n的大小对人脸关键点坐标误差余量进行优化提升。当n>0时,网络结构多出
了n个精度提升分支。提升分支预测了关键点的误差余量。因为误差余量的数值范围一般较小,特别适合量化结果的表示,通过余量的预测,很好地弥补了常规模型在量化中理论表示精度不足的权限。
[0049]
所述依据n的大小对人脸关键点坐标误差余量进行优化提升的优化公式如下:
[0050][0051]
式中r为最终预测的人脸关键点坐标;
[0052]
r0为基础预测分支预测的人脸关键点坐标;
[0053]
n为精度优化循环分支个数,所述n为≥0的正整数。
[0054]
若n=0,则直接输出基础预测分支预测的人脸关键点坐标,当n=0时,结果与常规的模型一致。
[0055]
本发明的优点在于,采用循环分支能够充分利用模型量化的优势,使得人脸关键点模型进一步提升性能,降低功耗;能够解决回归问题量化精度不够的问题;解决了因为量化导致结果离散带来的人脸关键点抖动问题,有效低保证人脸关键点的精度,并且保证关键点的稳定性;克服了常规的量化方案不仅导致精度下降,还带来了人脸关键点在跟踪是剧烈抖动等副作用。
[0056]
本发明还提出一种人脸关键点量化模型的训练方法,所述方法包括如前所述的一种用于关键点模型量化的网络结构;为了让网络学得基础关键点预测和误差余量预测,需要针对训练方法进行细分,实现分步训练。
[0057]
所述方法采用分布训练法,包括如下步骤:
[0058]
构建主干、基础预测分支、循环分支;
[0059]
训练主干、基础预测分支;该步训练是基础,旨在学习人脸图像的特征表示,和人脸点基础预测。训练数据集标注人脸关键点;设定学习网络的关键点输出的功能、设定关键点损失函数,最后导入数据集对学习网络进行训练获得模型,最终在训练完成的模型上进行人脸及其关键点的检测。
[0060]
连入循环分支并训练循环分支;具体的包括如下步骤:
[0061]
固定主干、基础预测分支;
[0062]
连入循环分支,设定n个精度优化循环分支;
[0063]
对n个精度优化循环分支进行逐级训练。逐级训练能让网络感知当前需要训练对象为误差余项,起到提升网络精度的效果,当n为0时,不对循环分支进行训练;所述n取值范围为[0,3],所述n为正整数。
[0064]
网络结构微调,最后,将整个网络全部放开进行微调,使得网络取得最佳的效果。本训练方法相较于传统的训练方法区别点在于为了让网络学得基础关键点预测和误差余量预测,需要分步进行训练。采用先训练基础预测分支和主干,在训练循环分支的逐级训练法,逐级训练能让网络感知当前需要训练对象为误差余项,起到提升网络精度的效果。
[0065]
本发明还提出一种人脸关键点量化模型的训练设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如前所述的一种人脸关键点量化模型的训练方法。
[0066]
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如前所述的一种人脸关键点量化模型的训练方法。
[0067]
示例性的,所述计算机程序可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在用于人脸关键点量化模型的训练设备中的执行过程。
[0068]
所述一种人脸关键点量化模型的训练设备可包括但不仅限于处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是人脸关键点量化模型的训练设备的示例,并不构成对人脸关键点量化模型的训练设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述人脸关键点量化模型的训练设备还可以包括输入输出设备、网络接入设备、总线等。
[0069]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor, dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述人脸关键点量化模型的训练设备的控制中心,利用各种接口和线路连接整个人脸关键点量化模型的训练设备的各个部分。
[0070]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述人脸关键点量化模型的训练设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart mediacard,smc),安全数字(secure digital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0071]
其中,所述人脸关键点量化模型的训练设备集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
[0072]
所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法
和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0073]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0074]
上述实施例中的实施方案可以进一步组合或者替换,且实施例仅仅是对本发明的优选实施例进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中专业技术人员对本发明的技术方案作出的各种变化和改进,均属于本发明的保护范围。
技术特征:1.一种用于关键点模型量化的网络结构,其特征在于,所述网络结构用于人脸关键点预测模型的精度优化;所述网络结构包括:主干、基础预测分支,用于预测第一级人脸关键点坐标;循环分支:用于估计人脸关键点坐标误差余量;所述循环分支设有n个精度优化循环分支,用于估计基础预测分支预测的关键点的误差余量;所述n为≥0的正整数。2.根据权利要求1所述的一种用于关键点模型量化的网络结构,其特征在于,所述网络结构循环方法包括如下步骤:基础预测分支输出人脸关键点坐标;若n>0,则将人脸关键点坐标输入循环分支;依据n的大小对人脸关键点坐标误差余量进行估计,进而提升提升关键点精度。3.根据权利要求2所述的一种用于关键点模型量化的网络结构,其特征在于,所述依据n的大小对人脸关键点坐标误差余量进行优化提升的优化公式如下:式中r为最终预测的人脸关键点坐标;r0为基础预测分支预测的人脸关键点坐标;n为精度优化循环分支个数,所述n为≥0的正整数。4.根据权利要求2所述的一种用于关键点模型量化的网络结构,其特征在于,若n=0,则直接输出基础预测分支预测的人脸关键点坐标。5.一种人脸关键点量化模型的训练方法,其特征在于,所述方法包括如权利要求1-4所述的一种用于关键点模型量化的网络结构;所述方法采用分布训练法,包括如下步骤:构建主干、基础预测分支、循环分支;训练主干、基础预测分支;连入循环分支并训练循环分支;网络结构微调。6.根据权利要求5所述的一种人脸关键点量化模型的训练方法,其特征在于,所述训练主干、基础预测分支具体的:训练数据集标注人脸关键点;设定学习网络的关键点输出的功能、设定关键点损失函数,最后导入数据集对学习网络进行训练获得模型,最终在训练完成的模型上进行人脸及其关键点的检测。7.根据权利要求5所述的一种人脸关键点量化模型的训练方法,其特征在于,所述连入循环分支并训练循环分支具体的包括如下步骤:固定主干、基础预测分支;连入循环分支,设定n个精度优化循环分支;对n个精度优化循环分支进行逐级训练。8.根据权利要求7所述的一种人脸关键点量化模型的训练方法,其特征在于,当n为0时,不对循环分支进行训练;
所述n取值范围为[0,3],所述n为正整数。9.一种人脸关键点量化模型的训练设备,其特征在于:包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如权利要求5至8任意一项所述的一种人脸关键点量化模型的训练方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求5至8任意一项所述的一种人脸关键点量化模型的训练方法。
技术总结本发明公开了一种用于关键点模型量化的网络结构、方法、设备、介质,属于美颜技术领域;所述网络结构用于人脸关键点预测量化模型的精度优化;所述网络结构包括:主干、基础预测分支,用于预测第一级人脸关键点坐标;循环分支:用于估计人脸关键点坐标误差余量;所述循环分支设有N个精度优化循环分支,用于估计基础预测分支预测的关键点的误差余量;所述N为≥0的正整数;本发明的优点在于,采用循环分支能够充分利用模型量化的优势,使得人脸关键点模型进一步提升性能,降低功耗;能够解决回归问题量化精度不够的问题;解决了因为量化导致结果离散带来的人脸关键点抖动问题,有效地保证人脸关键点的精度,并且保证关键点的稳定性。并且保证关键点的稳定性。并且保证关键点的稳定性。
技术研发人员:吴善思源 龚秋棠 侯峰
受保护的技术使用者:深圳真视科技有限公司
技术研发日:2022.03.28
技术公布日:2022/7/5