[发明专利]一种基于人脸对齐及仿射变换的人脸贴纸产生方法有效
申请号: | 202011013622.X | 申请日: | 2020-09-24 |
公开(公告)号: | CN112132044B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 丁文斌;李斌 | 申请(专利权)人: | 天津锋物科技有限公司 |
主分类号: | G06V40/16 | 分类号: | G06V40/16;G06V40/18;G06T3/00;G06T7/11;G06V10/24 |
代理公司: | 北京市京师律师事务所 11665 | 代理人: | 高晓丽 |
地址: | 300000 天津市天津自贸试验区(空港经济区)空港国际*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 对齐 变换 贴纸 产生 方法 | ||
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个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津锋物科技有限公司,未经天津锋物科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011013622.X/1.html,转载请声明来源钻瓜专利网。