人脸关键点扩展计算方法、存储介质、电子设备及系统与流程

文档序号:18198314发布日期:2019-07-17 05:59阅读:297来源:国知局
人脸关键点扩展计算方法、存储介质、电子设备及系统与流程

本发明直播画面处理领域,具体涉及一种人脸关键点扩展计算方法、存储介质、电子设备及系统。



背景技术:

人脸关键点是指视频或画面中人脸的眉毛、眼睛、鼻子、嘴巴、人脸轮廓等人脸部位的关键点位置信息,在对画面或视频中人脸部位的处理需要经常用到。

当前,通用的人脸68关键点通常只包括眉毛、眼睛、鼻子、嘴巴、人脸轮廓等关键点的位置信息,但不包括人脸额头部位的关键点信息,而在直播应用中,经常需要对直播画面中人物的脸部进行细微处理,因此需要使用到额头部位的关键点信息,现有的人脸68关键点明显不适用。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种人脸关键点扩展计算方法,能够实现人脸额头部位关键点位置坐标的标定。

为达到以上目的,本发明采取的技术方案是,包括:

基于人脸位置,建立世界坐标系;

取人脸中鼻子和鼻梁的中心点,计算出人脸在xy平面上的旋转角度ɑ;

任取人脸识别68关键点中的两点c(x,y)和d(x,y),计算待求人脸额头部位关键点f(x,y)的基准点e(x,y):

e.x=c.x*(1-β)+d.x*β

e.y=c.y*(1-β)+d.y*β

其中,β为参数,取值范围为[0.0,1.0];

计算出待求人脸额头部位关键点f(x,y)与基准点e(x,y)间的距离l1;

计算待求人脸额头部位关键点f(x,y):

f.x=e.x+cos(ɑ)*l1

f.y=e.y+sin(ɑ)*l1。

在上述技术方案的基础上,取人脸识别68关键点中鼻子和鼻梁的中心点,计算人脸在xy平面上的旋转角度ɑ。

在上述技术方案的基础上,计算人脸在xy平面上的旋转角度ɑ,具体的为:

l=sqr((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))

ɑ=acos((a.x-b.x)/l)

其中,sqr为开方函数,a(x,y)为人脸识别68关键点中鼻子中心点坐标,b(x,y)为人脸识别68关键点中鼻梁中心点坐标,acos为反余弦函数,l为人脸识别68关键点中鼻子和鼻梁的中心点间的距离。

在上述技术方案的基础上,所述β的取值为0.2。

在上述技术方案的基础上,任取的人脸识别68关键点中的两点c(x,y)和d(x,y)位于待求人脸额头部位关键点f(x,y)附近。

本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。

本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。

本发明还提供一种人脸关键点扩展计算系统,包括:

创建模块,其用于基于人脸位置,建立世界坐标系;

第一计算模块,其用于取人脸中鼻子和鼻梁的中心点,计算出人脸在xy平面上的旋转角度ɑ,以及任取人脸识别68关键点中的两点c(x,y)和d(x,y),计算待求人脸额头部位关键点f(x,y)的基准点e(x,y):

e.x=c.x*(1-β)+d.x*β

e.y=c.y*(1-β)+d.y*β

其中,β为参数,取值范围为[0.0,1.0];

第二计算模块,其用于计算出待求人脸额头部位关键点f(x,y)与基准点e(x,y)间的距离l1,然后计算待求人脸额头部位关键点f(x,y):

f.x=e.x+cos(ɑ)*l1

f.y=e.y+sin(ɑ)*l1。

在上述技术方案的基础上,取人脸识别68关键点中鼻子和鼻梁的中心点,计算人脸在xy平面上的旋转角度ɑ。

在上述技术方案的基础上,任取的人脸识别68关键点中的两点c(x,y)和d(x,y)位于待求人脸额头部位关键点f(x,y)附近。

与现有技术相比,本发明的优点在于:基于人脸识别68关键点,对人脸建立世界坐标系,通过先求出人脸的旋转角度和人脸中某基准点,然后快速高效的求出人脸额头部位关键点的位置坐标,为直播画面中人脸的精确处理提供基准,方便对人脸额头部位进行出来,提升直播画面质量。

附图说明

图1为本发明实施例中一种人脸关键点扩展计算方法的流程图;

图2为本发明实施例中一种电子设备的结构示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种人脸关键点扩展计算方法,基于人脸识别68关键点,用于求出人脸额头部位的关键点。需要说明的是,本发明实施例中,对于坐标点值的表述,如a.x为a(x,y)中x轴的值,a.y为a(x,y)中y轴的值,其它处的表述与此类似。本发明实施例的人脸关键点扩展计算方法具体包括:

s1:基于人脸位置,建立世界坐标系,即对于图像或视频中的人脸建立世界坐标系。

s2:取人脸中鼻子和鼻梁的中心点,计算出人脸在xy平面上的旋转角度ɑ。具体的,取人脸识别68关键点中鼻子和鼻梁的中心点,计算人脸在xy平面上的旋转角度ɑ,计算人脸在xy平面上的旋转角度ɑ,具体的为:

l=sqr((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))

ɑ=acos((a.x-b.x)/l)

其中,sqr为开方函数,a(x,y)为人脸识别68关键点中鼻子中心点坐标,b(x,y)为人脸识别68关键点中鼻梁中心点坐标,acos为反余弦函数,l为人脸识别68关键点中鼻子和鼻梁的中心点间的距离。

s3:任取人脸识别68关键点中的两点c(x,y)和d(x,y),计算待求人脸额头部位关键点f(x,y)的基准点e(x,y):

e.x=c.x*(1-β)+d.x*β

e.y=c.y*(1-β)+d.y*β

其中,β为参数,取值范围为[0.0,1.0],β的取值一般为0.2。为提高计算的精确度,任取的人脸识别68关键点中的两点c(x,y)和d(x,y)位于待求人脸额头部位关键点f(x,y)附近。

s4:计算出待求人脸额头部位关键点f(x,y)与基准点e(x,y)间的距离l1,即点f(x,y)与点e(x,y)间在世界坐标系中的物理距离。

s5:计算待求人脸额头部位关键点f(x,y):

f.x=e.x+cos(ɑ)*l1

f.y=e.y+sin(ɑ)*l1。

至此便求出了人脸额头部位某关键点的坐标,对于人脸额头其它关键点的求法与上述求解方法类似。

本发明实施例的人脸关键点扩展计算方法,基于人脸识别68关键点,对人脸建立世界坐标系,通过先求出人脸的旋转角度和人脸中某基准点,然后快速高效的求出人脸额头部位关键点的位置坐标,为直播画面中人脸的精确处理提供基准,方便对人脸额头部位进行出来,提升直播画面质量。

另外,对应上述人脸关键点扩展计算方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的人脸关键点扩展计算方法的步骤。需要说明的是,所述存储介质包括u盘、移动硬盘、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。

参见图2所示,对应上述人脸关键点扩展计算方法,本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的人脸关键点扩展计算方法。

本发明实施例还提供一种基于上述人脸关键点扩展计算方法的人脸关键点扩展计算系统,包括创建模块、第一计算模块和第二计算模块。

创建模块用于基于人脸位置,建立世界坐标系;第一计算模块用于取人脸中鼻子和鼻梁的中心点,计算出人脸在xy平面上的旋转角度ɑ,以及任取人脸识别68关键点中的两点c(x,y)和d(x,y),计算待求人脸额头部位关键点f(x,y)的基准点e(x,y):

e.x=c.x*(1-β)+d.x*β

e.y=c.y*(1-β)+d.y*β

其中,β为参数,取值范围为[0.0,1.0];

第二计算模块用于计算出待求人脸额头部位关键点f(x,y)与基准点e(x,y)间的距离l1,然后计算待求人脸额头部位关键点f(x,y):

f.x=e.x+cos(ɑ)*l1

f.y=e.y+sin(ɑ)*l1。

取人脸识别68关键点中鼻子和鼻梁的中心点,计算人脸在xy平面上的旋转角度ɑ。任取的人脸识别68关键点中的两点c(x,y)和d(x,y)位于待求人脸额头部位关键点f(x,y)附近。

本发明实施例的人脸关键点扩展计算系统,基于人脸识别68关键点,对人脸建立世界坐标系,通过先求出人脸的旋转角度和人脸中某基准点,然后快速高效的求出人脸额头部位关键点的位置坐标,为直播画面中人脸的精确处理提供基准,方便对人脸额头部位进行出来,提升直播画面质量。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1