CN112132044B - 一种基于人脸对齐及仿射变换的人脸贴纸产生方法 - Google Patents

一种基于人脸对齐及仿射变换的人脸贴纸产生方法 Download PDF

Info

Publication number
CN112132044B
CN112132044B CN202011013622.XA CN202011013622A CN112132044B CN 112132044 B CN112132044 B CN 112132044B CN 202011013622 A CN202011013622 A CN 202011013622A CN 112132044 B CN112132044 B CN 112132044B
Authority
CN
China
Prior art keywords
face
point
axis coordinate
affine transformation
cen
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.)
Active
Application number
CN202011013622.XA
Other languages
English (en)
Other versions
CN112132044A (zh
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.)
Tianjin Fengwu Technology Co ltd
Original Assignee
Tianjin Fengwu Technology Co ltd
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 Tianjin Fengwu Technology Co ltd filed Critical Tianjin Fengwu Technology Co ltd
Priority to CN202011013622.XA priority Critical patent/CN112132044B/zh
Publication of CN112132044A publication Critical patent/CN112132044A/zh
Application granted granted Critical
Publication of CN112132044B publication Critical patent/CN112132044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于人脸对齐及仿射变换的人脸贴纸产生方法,基于两眼中心点的坐标及OpenCV的函数自动推算出贴纸模板的基准点及转换矩阵,其算法更简单、可靠,相较于现有的人脸贴纸产生方法,其产生的人脸贴纸位置更精确,效果更好。

Description

一种基于人脸对齐及仿射变换的人脸贴纸产生方法
技术领域
本发明涉及一种电子人脸贴纸的产生方法,尤其涉及一种基于人脸对齐及仿射变换的人脸贴纸产生方法。
背景技术
随着近年来智能手机的普及以及移动互联网的快速发展,各类手机应用层出不穷,其中受众最高的当属各类通讯、社交类app。在人们对轻松娱乐的永恒追求和强烈表达自我的诉求下,生动鲜活的人脸贴纸功能广受欢迎,人脸贴纸技术在这类app中更是应用广泛。形态各异、风格多样的贴纸需要在人脸上逼真动态地展示出来,能在手机端运行的、稳定高效的人脸贴纸算法是贴纸功能实现的关键。现有的人脸贴纸的生成方法,要么过程较为复杂,生成速度较慢,要么生成的人脸贴纸不能很好地与人脸贴合、生成效果较差。
发明内容
为解决上述技术问题,本发明的目的是提供一种生成速度快、效果好的基于人脸对齐及仿射变换的人脸贴纸产生方法。
本发明的基于人脸对齐及仿射变换的人脸贴纸产生方法,包括S1人脸检测的步骤:
采用Mtcnn人脸检测器对目标图像进行人脸检测,获得人脸框;
S2人脸对齐的步骤:
基于步骤S1输出的人脸框进行人脸对齐,即在人脸框内提取与人脸特征相关的多个人脸特征点;
S3获取仿射变换基准点的步骤:
基于步骤S2输出的多个人脸特征点获取与贴纸模板仿射变换后相对应矩形区域的4个顶点,即贴纸模板的基准点;
S4仿射变换矩阵计算的步骤:
将贴纸模板图片的4个顶点作为仿射变换前的基准点,将步骤S3中的4个基准点坐标作为仿射后的基准点,此8个点作为仿射变换的输入,进而求得仿射变换矩阵T,
其中,仿射变换前的4个基准点坐标为:
Psrc-lt=(0,0)
Psrc-lb=(0,H-1)
Psrc-rt=(W-1,0)
Psrc-rb=(W-1,H-1)
其中,H为贴纸模板图片的像素高度,W为贴纸模板的像素宽度,Psrc-lt、Psrc-lb、Psrc-rt、Psrc-rb依次为贴纸模板图片左上角、左下角、右上角、右下角的坐标;
S5对贴纸模板进行仿射变换的步骤:
将步骤S34得到的仿射变换矩阵T应用到贴纸模板上,获得仿射变换后的贴纸;
S6贴纸叠加的步骤:
将步骤S35得到的仿射变换后的贴纸模板画在人脸相应位置上;
步骤S2中人脸特征点包括从右眼右端开始绕其轮廓设置的至少6个眼部轮廓特征点P37、P38、P39、P40、P41和P42;从左眼右端开始绕其轮廓设置的至少6个左眼轮廓特征点P43、P44、P45、P46、P47和P48;位于人脸轮廓最低端的9号人脸特征点P9、与鼻梁顶端对应的28号人脸特征点P28
所述获取仿射变换基准点的步骤如下:
S31:根据左右两眼各自的6个人脸特征点,分别计算左眼中心点CenL及右眼中心点CenR的坐标;
S32:在连接左眼中心点及右眼中心点的线段左侧取点PSL,在连接左眼中心点及右眼中心点的线段右侧取点PSR,点PSL及PSR的坐标点如下:
PSL=(CenL.x+0.55(CenL.x-CenR.x),CenL.y+0.55(CenL.y-CenR.y))
PSR=(CenR.x+0.55(CenR.x-CenL.x),CenR.y+0.55(CenR.y-CenL.y))
其中CenL.x为左眼中心点CenL的x轴坐标,CenR.x为右眼中心点CenR的x轴坐标,CenL.y为左眼中心点CenL的y轴坐标,CenR.y为右眼中心点CenR的y轴坐标,点PSL对应所述矩形区域左边沿的中点,PSR对应所述矩形区域右边沿的中点;
S33:根据步骤S32获得的点PSL及PSR分别计算所述矩形区域左边沿的端点及右边沿的端点,即映射到人脸上贴纸的4个顶点,其具体步骤如下:
S331获取人脸对称轴与像素坐标系下y轴之间的夹角:
alpha=a tan2(P9.x-P28.x,P9.y-P28.y)
其中,alpha为9号人脸特征点P9与28号人脸特征点P28连线与y坐标轴之间的夹角,atan2为方位角函数,其返回以弧度表示的(P9.y-P28.y)/(P9.x-P28.x)的反正切;
S332获取左眼两端距离及右眼两端距离:
deL=sqrt((P37.x-P40.x)2+(P37.y-P40.y)2)
deR=sqrt((P43.x-P46.x)2+(P43.y-P46.y)2);
其中,deL为左眼的距离,deR为右眼的距离,sqrt为开平方根函数,P37.x为人脸特征点P37的x轴坐标值,P40.x为人脸特征点P40的x轴坐标值,P43.x为人脸特征点P43的x轴坐标值,P46。x为人脸特征点P46的x轴坐标值,P37.y为人脸特征点P37的y轴坐标值,P40.y为人脸特征点P40的y轴坐标值,P43.y为人脸特征点P43的y轴坐标值,P46。y为人脸特征点P46的y轴坐标值;
S333获取所述矩形局域左边沿两端点相对其中点的x方向及y方向偏移量:
dLX=0.6*deL*sin(alpha)
dLY=0.6*deL*cos(alpha)
S334获取所述矩形局域右边沿两端点相对其中点的x方向及y方向偏移量:
dRX=0.6*deR*sin(alpha)
dRY=0.6*deR*cos(alpha)
其中sin为正弦函数,cos为余弦函数;
S335基于矩形区域左边沿中点、矩形区域右边沿中点及步骤S334中各偏移量,计算矩形区域左边沿端点及矩形区域右边沿端点,即最终要获得的人脸上的贴纸的4顶点,人脸上贴纸左上角、左下角、右上角、右下角坐标依次如下:
Plt=(PSL.x-dLX,PSL.y-dLY)
Plb=(PSL.x+dLX,PSL.y+dLY)
Prt=(PSR.x-dRX,PSR.y-dRY)
Prb=(PSR.x+dRX,PSR.y+dRY)
其中PSL.x为点PSL的x轴坐标值,PSL.y为点PSL的Y轴坐标值,PSR.x为点PSR的x轴坐标值,PSR.y为点PSR的y轴坐标值;
S336获取以上4点相对由该4点构成的最小矩形区域的相对坐标,该相对坐标为仿射变换的目标基准点,具体计算方法如下:
minTempX=min(min(min(Plt.x,Plb.x),Prt.x),Prb.x)
minTempY=min(min(min(Plt.y,Plb.y),Prt.y),Prb.y)
refPoint=(minTempX,minTempY)
Pdst-lt=(Plt.x-Pref.x,Plt.y-Pref.y)
Pdst-lb=(Plb.x-Pref.x,Plb.y-Pref.y)
Pdst-rt=(Prt.x-Pref.x,Prt.y-Pref.y)
Pdst-rb=(Prb.x-Pref.x,Prb.y-Pref.y)
其中,min为最小化函数,其返回给定参数表中的最小值,refPoint为参照点,Pdst-lt、Pdst-1b、Pdst-rt、Pdst-rb依次为矩形区域左上角、左下角、右上角、右下角的相对坐标;P1t.x、P1t.y分别为点P1t的x轴坐标值及y轴坐标值;Plb.x,P1b.y分别为点Plb的x轴坐标值及y轴坐标值,Prt.x、Prt.y分别为点Prt的x轴坐标值及y轴坐标值,Prb.x、Prb.y分别为点Prb的x轴坐标值及y轴坐标值。
进一步的,本发明基于人脸对齐及仿射变换的人脸贴纸产生方法,所述人脸对齐的步骤中获取的人脸特征点总数为68个。
借由上述方案,本发明至少具有以下优点:本发明基于人脸对齐及仿射变换的人脸贴纸产生方法,通过人脸特征点推演出的贴纸模板基准点进行仿射变换矩阵求解,再将变换后的贴纸模板叠加到人脸相应位置。本发明的基于人脸对齐及仿射变换的人脸贴纸产生方法计算量低,功能稳定,效果生动逼真,可在较大pitch、yaw、roll的人脸姿态下实现稳定贴纸。
综上所述,本发明的基于人脸对齐及仿射变换的人脸贴纸产生方法基于两眼中心点的坐标及OpenCV的函数自动推算出贴纸模板的基准点及转换矩阵,其算法更简单、可靠,相较于现有的人脸贴纸产生方法,其产生的人脸贴纸位置更精确,效果更好。。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1是人脸特征点点位图;
图2是与贴纸模板对应的矩形区域在人脸上的示意图;
图3是于人脸对齐及仿射变换的人脸贴纸产生方法的流程图。
其中,矩形区域1;左眼中心点CenL2;右眼中心点CenR3;点PSL4;点PSR5;左上角6;左下角7;右上角8;右下角9。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1至图3,本发明一较佳实施例的基于人脸对齐及仿射变换的人脸贴纸产生方法,S1人脸检测的步骤:
采用Mtcnn人脸检测器对目标图像进行人脸检测,获得人脸框;
Mtcnn(Multi-task Cascaded Convolutional Net works)人脸检测是KaipengZhang,Zhanpeng Zhang,Zhifeng Li,Yu Qiao于2016年提出的一种人脸检测模型。该模式是一种Multi-task的人脸检测框架,使用3个CNN级联算法结构,将人脸检测和人脸特征点检测同时进行,起具体检测方法为现有技术,此处不再赘述。
S2人脸对齐的步骤:
基于步骤S1输出的人脸框进行人脸对齐,即在人脸框内提取与人脸特征相关的多个人脸特征点;
S3获取仿射变换基准点的步骤:
基于步骤S2输出的多个人脸特征点获取与贴纸模板仿射变换后相对应矩形区域1的4个顶点,即贴纸模板的基准点;
S4仿射变换矩阵计算的步骤:
将贴纸模板图片的4个顶点作为仿射变换前的基准点,将步骤S3中的4个基准点坐标作为仿射后的基准点,此8个点作为仿射变换的输入,进而求得仿射变换矩阵T,
其中,仿射变换前的4个基准点坐标为:
Psrc-lt=(0,0)
Psrc-lb=(0,H-1)
Psrc-rt=(W-1,0)
Psrc-rb=(W-1,H-1)
其中,H为贴纸模板图片的像素高度,W为贴纸模板的像素宽度,Psrc-lt、Psrc-lb、Psrc-rt、Psrc-rb依次为贴纸模板图片左上角、左下角、右上角、右下角的坐标;
计算仿射变换矩阵T时,采用OpenCV函数getPerspectiveTransform(constPoint2f src[],const Point2f dst[])求解,返回值即为3x3仿射变换矩阵T;其中OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
S5对贴纸模板进行仿射变换的步骤:
将步骤S34得到的仿射变换矩阵T应用到贴纸模板上,获得仿射变换后的贴纸;
基于仿射变换矩阵T,采用OpenCV函数warpPerspective()即可获得仿射变换后的贴纸。
S6贴纸叠加的步骤:
将步骤S35得到的仿射变换后的贴纸模板画在人脸相应位置上;
步骤S2中人脸特征点包括从右眼右端开始绕其轮廓设置的至少6个眼部轮廓特征点P37、P38、P39、P40、P41和P42;从左眼右端开始绕其轮廓设置的至少6个左眼轮廓特征点P43、P44、P45、P46、P47和P48;位于人脸轮廓最低端的9号人脸特征点P9、与鼻梁顶端对应的28号人脸特征点P28
获取仿射变换基准点的步骤如下:
S31:根据左右两眼各自的6个人脸特征点,分别计算左眼中心点CenL2及右眼中心点CenR3的坐标;
S32:在连接左眼中心点及右眼中心点的线段左侧取点PSL4,在连接左眼中心点及右眼中心点的线段右侧取点PSR5,点PSL及PSR的坐标点如下:
PSL=(CenL.x+0.55(CenL.x-CenR.x),CenL.y+0.55(CenL.y-CenR.y))
PSR=(CenR.x+0.55(CenR.x-CenL.x),CenR.y+0.55(CenR.y-CenL.y))
其中CenL.x为左眼中心点CenL的x轴坐标,CenR.x为右眼中心点CenR的x轴坐标,CenL.y为左眼中心点CenL的y轴坐标,CenR.y为右眼中心点CenR的y轴坐标,点PSL对应矩形区域左边沿的中点,PSR对应矩形区域右边沿的中点;
S33:根据步骤S32获得的点PSL及PSR分别计算矩形区域左边沿的端点及右边沿的端点,即映射到人脸上贴纸的4个顶点,其具体步骤如下:
S331获取人脸对称轴与像素坐标系下y轴之间的夹角:
alpha=a tan2(P9.x-P28.x,P9.y-P28.y)
其中,alpha为9号人脸特征点P9与28号人脸特征点P28连线与y坐标轴之间的夹角,atan2为方位角函数,其返回以弧度表示的(P9.y-P28.y)/(P9.x-P28.x)的反正切;
S332获取左眼两端距离及右眼两端距离:
deL=sqrt((P37.x-P40.x)2+(P37.y-P40.y)2)
deR=sqrt((P43.x-P46.x)2+(P43.y-P46.y)2);
其中,deL为左眼的距离,deR为右眼的距离,sqrt为开平方根函数,P37.x为人脸特征点P37的x轴坐标值,P40.x为人脸特征点P40的x轴坐标值,P43.x为人脸特征点P43的x轴坐标值,P46。x为人脸特征点P46的x轴坐标值,P37.y为人脸特征点P37的y轴坐标值,P40.y为人脸特征点P40的y轴坐标值,P43.y为人脸特征点P43的y轴坐标值,P46。y为人脸特征点P46的y轴坐标值;
S333获取矩形局域左边沿两端点相对其中点的x方向及y方向偏移量:
dLX=0.6*deL*sin(alpha)
dLY=0.6*deL*cos(alpha)
S334获取矩形局域右边沿两端点相对其中点的x方向及y方向偏移量:
dRX=0.6*deR*sin(alpha)
dRY=0.6*deR*cos(alpha)
其中sin为正弦函数,cos为余弦函数;
S335基于矩形区域左边沿中点、矩形区域右边沿中点及步骤S334中各偏移量,计算矩形区域左边沿端点及矩形区域右边沿端点,即最终要获得的人脸上的贴纸的4顶点,人脸上贴纸左上角6、左下角7、右上角8、右下角9坐标依次如下:
Plt=(PSL.x-dLX,PSL.y-dLY)
Plb=(PSL.x+dLX,PSL.y+dLY)
Prt=(PSR.x-dRX,PSR.y-dRY)
Prb=(PSR.x+dRX,PSR·y+dRY)
其中PSL.x为点PSL的x轴坐标值,PSL.y为点PSL的Y轴坐标值,PSR.x为点PSR的x轴坐标值,PSR.y为点PSR的y轴坐标值;
S336获取以上4点相对由该4点构成的最小矩形区域的相对坐标,该相对坐标为仿射变换的目标基准点,具体计算方法如下:
minTempX=min(min(min(Plt.x,Plb.x),Prt.x),Prb.x)
minTempY=min(min(min(Plt.y,Plb.y),Prt.y),Prb.y)
refPoint=(minTempX,minTempY)
Pdst-lt=(Plt.x-Pref.x,Plt.y-Pref.y)
Pdst-lb=(Plb.x-Pref.x,Plb.y-Pref.y)
Pdst-rt=(Prt.x-Pref.x,Prt.y-Pref.y)
Pdst-rb=(Prb.x-Pref.x,Prb.y-Pref.y)
其中,min为最小化函数,其返回给定参数表中的最小值,refPoint为参照点,Pdst-lt、Pdst-lb、Pdst-rt、Pdst-rb依次为矩形区域左上角、左下角、右上角、右下角的相对坐标;P1t.x、P1t.y分别为点P1t的x轴坐标值及y轴坐标值;P1b.x,Plb.y分别为点Plb的x轴坐标值及y轴坐标值,Prt.x、Prt.y分别为点Prt的x轴坐标值及y轴坐标值,Prb.x、Prb.y分别为点Prb的x轴坐标值及y轴坐标值。
本发明基于人脸对齐及仿射变换的人脸贴纸产生方法,通过人脸特征点推演出的贴纸模板基准点进行仿射变换矩阵求解,再将变换后的贴纸模板叠加到人脸相应位置。本发明的基于人脸对齐及仿射变换的人脸贴纸产生方法计算量低,功能稳定,效果生动逼真,可在较大pitch、yaw、roll的人脸姿态下实现稳定贴纸。
作为优选,人脸对齐的步骤中获取的人脸特征点总数为68个。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,本领域技术人员能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的保护范围由所附权利要求而不是上述说明限定。
此外,以上仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。同时,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (2)

1.一种基于人脸对齐及仿射变换的人脸贴纸产生方法,包括
S1人脸检测的步骤:
采用Mtcnn人脸检测器对目标图像进行人脸检测,获得人脸框;
S2人脸对齐的步骤:
基于步骤S1输出的人脸框进行人脸对齐,即在人脸框内提取与人脸特征相关的多个人脸特征点;
S3获取仿射变换基准点的步骤:
基于步骤S2输出的多个人脸特征点获取与贴纸模板仿射变换后相对应矩形区域(1)的4个顶点,即贴纸模板的基准点;
S4仿射变换矩阵计算的步骤:
将贴纸模板图片的4个顶点作为仿射变换前的基准点,将步骤S3中的4个基准点坐标作为仿射后的基准点,此8个点作为仿射变换的输入,进而求得仿射变换矩阵T,
其中,仿射变换前的4个基准点坐标为:
Psrc-lt=(0,0)
Psrc-lb=(0,H-1)
Psrc-rt=(W-1,0)
Psrc-rb=(W-1,H-1)
其中,H为贴纸模板图片的像素高度,W为贴纸模板的像素宽度,Psrc-lt、Psrc-lb、Psrc-rt、Psrc-rb依次为贴纸模板图片左上角、左下角、右上角、右下角的坐标;
S5对贴纸模板进行仿射变换的步骤:
将步骤S34得到的仿射变换矩阵T应用到贴纸模板上,获得仿射变换后的贴纸;
S6贴纸叠加的步骤:
将步骤S35得到的仿射变换后的贴纸模板画在人脸相应位置上;
其特征在于:
步骤S2中人脸特征点包括从右眼右端开始绕其轮廓设置的至少6个眼部轮廓特征点P37、P38、P39、P40、P41和P42;从左眼右端开始绕其轮廓设置的至少6个左眼轮廓特征点P43、P44、P45、P46、P47和P48;位于人脸轮廓最低端的9号人脸特征点P9、与鼻梁顶端对应的28号人脸特征点P28
所述获取仿射变换基准点的步骤如下:
S31:根据左右两眼各自的6个人脸特征点,分别计算左眼中心点CenL(2)及右眼中心点CenR(3)的坐标;
S32:在连接左眼中心点及右眼中心点的线段左侧取点PSL(4),在连接左眼中心点及右眼中心点的线段右侧取点PSR(5),点PSL及PSR的坐标点如下:
PSL=(CenL.x+0.55(CenL.x-CenR.x),CenL.y+0.55(CenL.y-CenR.y))
PSR=(CenR.x+0.55(CenR.x-CenL.x),CenR.y+0.55(CenR.y-CenL.y))
其中CenL.x为左眼中心点CenL的x轴坐标,CenR.x为右眼中心点CenR的x轴坐标,CenL.y为左眼中心点CenL的y轴坐标,CenR.y为右眼中心点CenR的y轴坐标,点PSL对应所述矩形区域左边沿的中点,PSR对应所述矩形区域右边沿的中点;
S33:根据步骤S32获得的点PSL及PSR分别计算所述矩形区域左边沿的端点及右边沿的端点,即映射到人脸上贴纸的4个顶点,其具体步骤如下:
S331获取人脸对称轴与像素坐标系下y轴之间的夹角:
alpha=atan2(P9.x-P28.x,P9.y-P28.y)
其中,alpha为9号人脸特征点P9与28号人脸特征点P28连线与y坐标轴之间的夹角,atan2为方位角函数,其返回以弧度表示的(P9.y-P28.y)/(P9.x-P28.x)的反正切;
S332获取左眼两端距离及右眼两端距离:
deL=sqrt((P37.x-P40.x)2+(P37.y-P40.y)2)
deR=sqrt((P43.x-P46.x)2+(P43.y-P46.y)2);
其中,deL为左眼的距离,deR为右眼的距离,sqrt为开平方根函数,P37.x为人脸特征点P37的x轴坐标值,P40.x为人脸特征点P40的x轴坐标值,P43.x为人脸特征点P43的x轴坐标值,P46.x为人脸特征点P46的x轴坐标值,P37.y为人脸特征点P37的y轴坐标值,P40.y为人脸特征点P40的y轴坐标值,P43.y 为人脸特征点P43的y轴坐标值,P46. y为人脸特征点P46的y轴坐标值;
S333获取所述矩形局域左边沿两端点相对其中点的x方向及y方向偏移量:
dLX=0.6*deL*sin(alpha)
dLY=0.6*deL*cos(alpha)
S334获取所述矩形局域右边沿两端点相对其中点的x方向及y方向偏移量:
dRX=0.6*deR*sin(alpha)
dRY=0.6*deR*cos(alpha)
其中sin为正弦函数,cos为余弦函数;
S335基于矩形区域左边沿中点、矩形区域右边沿中点及步骤S334中各偏移量,计算矩形区域左边沿端点及矩形区域右边沿端点,即最终要获得的人脸上的贴纸的4顶点,人脸上贴纸左上角(6)、左下角(7)、右上角(8)、右下角(9)坐标依次如下:
Plt=(PSL.x-dLX,PSL.y-dLY)
Plb=(PSL.x+dLX,PLX,PSL.y+dLY)
Prt=(PSR.x-dRX,PSR.y-dRY)
Prb=(PSR.x+dRX,PSR.y+dRY)
其中PSL.x为点PSL的x轴坐标值,PSL.y为点PSL的Y轴坐标值,PSR.x为点PSR的x轴坐标值,PSR.y为点PSR的y轴坐标值;
S336获取以上4点相对由该4点构成的最小矩形区域的相对坐标,该相对坐标为仿射变换的目标基准点,具体计算方法如下:
minTempX=min(min(min(Plt.x,Plb.x),Prt.x),Prb.x)
minTempY=min(min(min(Plt.y,Plb.y),Prt.y),Prb.y)
refPoint=(minTempX,minTempY)
Pdst-lt=(Plt.x-Pref.x,Plt.y-Pref.y)
Pdst-lb=(Plb.x-Pref.x,Plb.y-Pref.y)
Pdst-rt=(Prt.x-Pref.x,Prt.y-Pref.y)
Pdst-rb=(Prb.x-Pref.x,Prb.y-Pref.y)
其中,min为最小化函数,其返回给定参数表中的最小值,refPoint为参照点,Pdst-lt、Pdst-lb、Pdst-rt、Pdst-rb依次为矩形区域左上角、左下角、右上角、右下角的相对坐标;Plt.x、Plt.y分别为点Plt的x轴坐标值及y轴坐标值;Plb.x,Plb.y分别为点Plb的x轴坐标值及y轴坐标值,Prt.x、Prt.y分别为点Prt的x轴坐标值及y轴坐标值,Prb.x、Prb.y分别为点Prb的x轴坐标值及y轴坐标值。
2.根据权利要求1所述的基于人脸对齐及仿射变换的人脸贴纸产生方法,其特征在于,所述人脸对齐的步骤中获取的人脸特征点总数为68个。
CN202011013622.XA 2020-09-24 2020-09-24 一种基于人脸对齐及仿射变换的人脸贴纸产生方法 Active CN112132044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011013622.XA CN112132044B (zh) 2020-09-24 2020-09-24 一种基于人脸对齐及仿射变换的人脸贴纸产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011013622.XA CN112132044B (zh) 2020-09-24 2020-09-24 一种基于人脸对齐及仿射变换的人脸贴纸产生方法

Publications (2)

Publication Number Publication Date
CN112132044A CN112132044A (zh) 2020-12-25
CN112132044B true CN112132044B (zh) 2022-04-22

Family

ID=73839574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011013622.XA Active CN112132044B (zh) 2020-09-24 2020-09-24 一种基于人脸对齐及仿射变换的人脸贴纸产生方法

Country Status (1)

Country Link
CN (1) CN112132044B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613446B (zh) * 2020-12-29 2023-03-31 贝壳技术有限公司 一种人脸对齐的方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072289B (zh) * 2007-06-11 2010-06-02 北京中星微电子有限公司 一种图像特效的自动生成方法及装置
CN104778712B (zh) * 2015-04-27 2018-05-01 厦门美图之家科技有限公司 一种基于仿射变换的人脸贴图方法和系统
CN107679497B (zh) * 2017-10-11 2023-06-27 山东新睿信息科技有限公司 视频面部贴图特效处理方法及生成系统
CN108846878A (zh) * 2018-06-07 2018-11-20 奇酷互联网络科技(深圳)有限公司 人脸贴图生成方法、装置、可读存储介质及移动终端
CN109819316B (zh) * 2018-12-28 2021-06-01 北京字节跳动网络技术有限公司 处理视频中人脸贴纸的方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN112132044A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN110020985B (zh) 一种双目机器人的视频拼接系统及方法
CN102968809B (zh) 在增强现实领域实现虚拟信息标注及绘制标注线的方法
CN103839277B (zh) 一种户外大范围自然场景的移动增强现实注册方法
CN109685913B (zh) 基于计算机视觉定位的增强现实实现方法
CN108682027A (zh) 基于点、线特征融合的vSLAM实现方法及系统
CN109307508A (zh) 一种基于多关键帧的全景惯导slam方法
CN106251396A (zh) 三维模型的实时控制方法和系统
CN108492333B (zh) 基于星箭对接环图像信息的航天器姿态估计方法
CN110764613A (zh) 基于头戴式眼动模组的眼动追踪校准方法
CN104427230B (zh) 增强现实的方法和增强现实的系统
CN111127524A (zh) 一种轨迹跟踪与三维重建方法、系统及装置
CN102521586B (zh) 一种用于拍照手机的高分辨率三维人脸扫描方法
CN112541973B (zh) 虚实叠合方法与系统
CN107145224A (zh) 基于三维球面泰勒展开的人眼视线跟踪方法和装置
US20230103385A1 (en) 3d reconstruction method and apparatus
CN112132044B (zh) 一种基于人脸对齐及仿射变换的人脸贴纸产生方法
CN110275179A (zh) 一种基于激光雷达以及视觉融合的构建地图方法
CN105357513B (zh) 会话视频中单摄像头眼神纠正方法
CN107730558A (zh) 基于双向鱼眼摄像机的360°行车记录系统及方法
CN108648141A (zh) 一种图像拼接方法及装置
CN109308472B (zh) 一种基于虹膜投影匹配函数的三维视线估计方法
CN104216202A (zh) 一种结合惯性陀螺仪的摄像机视觉实时定位系统及定位方法
CN107958491B (zh) 移动增强现实虚拟坐标与施工现场坐标匹配方法
CN110060349A (zh) 一种扩展增强现实头戴式显示设备视场角的方法
CN113112532B (zh) 一种多ToF相机系统实时配准方法

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
GR01 Patent grant
GR01 Patent grant