本发明涉及手机拍摄图像领域,更具体的说,其涉及用于一种移动端人脸图像面部实时变形调节方法。

背景技术:

目前移动端人脸变形算法大多都是局部变形,一种变形对应一次图像处理,多种变形效果的累加导致移植到手机端速度慢,延时和卡顿严重,甚至在低端手机无法运行。

技术实现要素:

本发明的目的在于提供一种移动端人脸图像面部实时变形调节方法,解决如何让用户在使用中低端手机也能运行流畅,帧率在每秒60帧以上。

为了解决上述技术问题,本发明的技术方案如下:

一种移动端人脸图像面部实时变形调节方法,具体步骤如下:

101)图像模板筛选步骤:选取五官端正的人脸图像进行关键点标记,形成人像模板图片;

102)图像预处理步骤:对人像模板图片进行人脸变形处理,该处理通过调用Photoshop2018中的液化功能进行,得到液化处理图MP1;根据液化处理图MP1得到变形处理后关键点标记的目标图片MP2;

103)获取变形数据步骤:由步骤102)获得液化处理图MP1到目标图片MP2对应的关键点标记的向量V,向量V即为变形效果预调整值,具体公式如下;

104)图像处理步骤:根据步骤103)获得的向量V进行图像相似度最佳匹配处理;根据图像帧数据获取101个关键点标记,得到101个人脸关键点点位数据SP;根据SP遍历不同图像帧数据中的关键点标记并记为MP1,获取对应相似度L,以得到向量V匹配的最佳变形后效果数据;其中最佳匹配的效果数据为L最小时,相似度L公式如下:

进一步的,人脸变形内容包括眉毛间距、眉毛上下调节、眼睛大小调节、眼睛间距调节、眼睛上下位置调节、眼睛高度调节、眼睛宽度调节、眼睛旋转角度调节、鼻梁高度调节、鼻梁宽度调节、微笑调节、嘴巴宽度调节、嘴巴高度调节、上嘴唇厚度调节、下嘴唇厚度调节、脸宽调节、收敛下巴调节和瘦脸调节。

进一步的,步骤104)中图像帧数据中的101个关键点标记进行点位扩展和三角剖分,得到面部剖分三角形队列A;点位扩展方法如下:

①计算101点的外接矩形框Rect0,计算方法如下:

遍历101点的x坐标,计算Left=Min(x),Right=Max(x)

遍历101点的y坐标,计算Top=Min(y),Bottom=Max(y)

Rect0=(x0,y0,w0,h0)=(Left,Top,Right-Left,Bottom-Top)

②以Rect0中心为原点,设置半径Radius,将Rect0向外扩展为新矩形Rect1(x1,y1,w1,h1),计算方法如下:

x1=x0-Radius/2

y1=y0-Radius/2

w1=w0+Radius

h1=h0+Radius

根据新矩形Rect1得到扩展点位(P0,P1,P2,P3,P4,P5,P6,P7)

P0=(x1,y1)

P1=(x1,y1+h1/2)

P2=(x1,y1+h1)

P3=(x1+w1/2,y1+h1)

P4=(x1+w1,y1+h1)

P5=(x1+w1,y1+h1/2)

P6=(x1+w1,y1)

P7=(x1+w1/2,y1)

根据101个关键点标记和8个扩展点位共109个点位,对人脸面部进行三角剖分,得到剖分三角形队列A,109点位及人脸脸部剖分部分;

根据人脸变形参数构建虚拟人脸F,对应的109个点位为FP,FP计算如下:

根据109点位FP进行三角剖分得到三角形队列B;根据三角形队列A和B,将图像帧数据进行仿射变换,得到最终效果图;其中仿射变换公式如下:

其中,(x,y)为原始坐标,(x',y')为变换后坐标,m为变换系数。

本发明相比现有技术优点在于:

本发明对人脸面部根据特征点进行面部全局三角剖分,一次图像处理达到最终效果;提出一种对人脸面部变形调节效果进行效果极值预置的方法,大大减少原本法处理的时间消耗。

附图说明

图1为本发明的处理流程图;

图2为本发明的关键点标记处理示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进一步说明。

如图所示,一种移动端人脸图像面部实时变形调节方法,具体步骤如下:

101)图像筛选步骤:选取五官端正的人脸图像进行关键点标记,形成人像模板图片;

102)图像预处理步骤:对人像模板图片进行人脸变形处理,该处理通过调用Photoshop2018中的液化功能进行,得到液化处理图MP1;根据液化处理图MP1得到变形处理后关键点标记的目标图片MP2;人脸变形一共18种具体内容包括眉毛间距、眉毛上下调节、眼睛大小调节、眼睛间距调节、眼睛上下位置调节、眼睛高度调节、眼睛宽度调节、眼睛旋转角度调节、鼻梁高度调节、鼻梁宽度调节、微笑调节、嘴巴宽度调节、嘴巴高度调节、上嘴唇厚度调节、下嘴唇厚度调节、脸宽调节、收敛下巴调节和瘦脸调节。

103)获取变形数据步骤:由步骤102)获得液化处理图MP1到目标图片MP2对应的关键点标记的向量V,向量V即为变形效果预调整值,具体公式如下;

104)图像处理步骤:根据步骤103)获得的向量V进行图像相似度最佳匹配处理;根据图像帧数据获取101个关键点标记,得到101个人脸关键点点位数据SP;根据SP遍历不同图像帧数据中的关键点标记并记为MP1,获取对应相似度L,以得到向量V匹配的最佳变形后效果数据。其中最佳匹配的效果数据为L最小时,相似度L公式如下:

图像帧数据中的101个关键点标记进行点位扩展和三角剖分,得到面部剖分三角形队列A,这样做可以减少算法自动剖分带来的时间消耗与算法复杂度增加问题;点位扩展方法如下:

①计算101点的外接矩形框Rect0,计算方法如下:

遍历101点的x坐标,计算Left=Min(x),Right=Max(x)

遍历101点的y坐标,计算Top=Min(y),Bottom=Max(y)

Rect0=(x0,y0,w0,h0)=(Left,Top,Right-Left,Bottom-Top)

②以Rect0中心为原点,设置半径Radius,将Rect0向外扩展为新矩形Rect1(x1,y1,w1,h1),计算方法如下:

x1=x0-Radius/2

y1=y0-Radius/2

w1=w0+Radius

h1=h0+Radius

根据新矩形Rect1得到扩展点位(P0,P1,P2,P3,P4,P5,P6,P7)

P0=(x1,y1)

P1=(x1,y1+h1/2)

P2=(x1,y1+h1)

P3=(x1+w1/2,y1+h1)

P4=(x1+w1,y1+h1)

P5=(x1+w1,y1+h1/2)

P6=(x1+w1,y1)

P7=(x1+w1/2,y1)

根据101个关键点标记和8个扩展点位共109个点位,对人脸面部进行三角剖分,得到剖分三角形队列A,109点位及人脸脸部剖分部分。

根据用户实时调节参数和向量V,构建虚拟人脸F,对应的109个点位为FP,FP计算如下:

根据109点位FP进行三角剖分得到三角形队列M;根据三角形队列A和三角形队列M,将图像帧数据进行仿射变换,得到最终变形后效果图。其中仿射变换公式如下:

其中,(x,y)为三角形队列A即原始图像帧数据坐标,(x',y')为三角形队列M即变换后图像帧数据坐标,m为变换系数。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

android 人脸端正,一种移动端人脸图像面部实时变形调节方法与流程相关推荐

  1. 去毛边 叶片图像_一种用于植物叶片图像骨架提取的去毛刺方法.PDF

    一种用于植物叶片图像骨架提取的去毛刺方法 第 27 卷 第 1 期 电子测量与仪器学报 Vol. 27 No. 1 · 52 · JOURNAL OF ELECTRONIC MEASUREMENT A ...

  2. matlab血糖预测,一种基于VMD-PACF-BP模型的动态血糖在线预测方法与流程

    本发明属于血糖预测技术领域,尤其涉及一种基于VMD-PACF-BP模型的动态血糖在线预测方法. 背景技术: 目前,中国患有糖尿病人数已成为在世界上拥有糖尿病患者最多的国家.为了降低糖尿病患者长期处于高 ...

  3. android gps导航省电,一种GPS导航中省电的系统和方法与流程

    一种gps导航中省电的系统和方法,应用于通过gps(或者类似的北斗.伽利略)导航的领域. 背景技术: 在移动设备领域(手机.车载导航等),通过卫星导航应用非常普遍,几乎全部的手机,大部分的汽车,自身都 ...

  4. ECCV 2020 | PHOSA:一种基于单目图像的人-物重建方法

    项目.论文地址:在公众号「3D视觉工坊」,后台回复「PHOSA」,即可直接下载. 概述 作者提出了一种能够推断出人类和物体的形状和空间排列的方法,只需要一张在自然环境中捕捉的图像,且不需要任何带有3D ...

  5. linux控制NVme硬盘点灯,一种实现多NVMe硬盘背板点灯的设计方法与流程

    本发明涉及服务器硬盘背板领域,具体来说涉及一种实现多NVMe硬盘背板点灯的设计方法. 背景技术: 随着CPU.显卡性能的不断提升,服务器的计算瓶颈逐渐向存储设备转移,存储技术也随之升级,硬盘传输速率从 ...

  6. 一种实现物联网设备自动注册及发现的方法与流程

    http://www.xjishu.com/zhuanli/62/201910087093.html 本发明涉及物联网应用领域,特别是涉及一种实现物联网设备自动注册及发现的方法. 背景技术: 早在上个 ...

  7. grub2引导linux内核,一种基于grub2的linux系统启动bootloader的制作方法与流程

    技术领域 本发明涉及服务器应用技术领域,具体涉及一种基于grub2的linux系统启动bootloader的制作方法. 背景技术: 当前linux系统的内核版本已经升级至4.0以上,最新的linux系 ...

  8. android 前摄屏幕补光,异形显示屏及其前置摄像头的拍照补光方法与流程

    本申请涉及显示领域,特别是涉及一种异形显示屏及其前置摄像头的拍照补光方法. 背景技术: 随着全面屏显示技术的迅速发展,由于前置摄像头的存在,越来越多的屏幕采取了挖孔或是开口的设计,即在屏幕的一部分会包 ...

  9. 一种基于说话人识别和数字语音识别的身份认证方法与流程

    本发明属于语音处理技术领域,具体涉及到对数字语音序列进行说话人识别和语音识别,确定说话人身份的身份认证方法. 背景技术: 说话人识别也称为声纹识别,可以从说话人发出的声音中提取其个性特征,从而识别出当 ...

最新文章

  1. Silverlight4 学习视频(四)
  2. 嵌入式Linux学习路线
  3. HDU 2504 又见GCD
  4. Huggingface简介及BERT tansformer 开源
  5. 百度母婴技术团队—基于Reactjs实现webapp #1
  6. 86句管理名言:管理=勤奋+智慧+知识+心理学
  7. php项目课题,php课题
  8. 我的山寨敏捷四季之春
  9. 终端字符乱码解决方法
  10. ECMAScript
  11. 【Linux安装】Win10安装Ubuntu双系统(含BIOS操作)
  12. android中实现微信九宫格,微信小程序九宫格布局
  13. linux 编译过程中acx_pthread.m4类错误解决办法
  14. IPSec基础-IPSec协议类型
  15. C语言——判断是否被5整除
  16. Fish vs. Zsh vs. Bash以及为什么要改用Fish
  17. 西南科技大学Linux实验名称:实验二 Linux环境网络管理
  18. 04_星仔带你学Java之流程语句(顺序结构、选择结构、循环结构、控制循环结构语句)
  19. 卸载虚拟机出现用户已存在的错误_用虚拟机安装360全家桶是什么体验
  20. SAP ABAP 对话框编程教程:中的模块池-09

热门文章

  1. win11 hyper-v完全打开和关闭
  2. IntelliJ IDEA Maven Project Dependencies红色波浪线报错
  3. ARCGIS安装及卸载中遇见的一些问题
  4. Java juc系列6 —— 线程池
  5. 安装系统服务器部署,部署服务器的安装及配置
  6. 麦肯锡、IDC、普华永道、毕马威...你关心的数字化转型报告都在这里了
  7. 深度有趣 | 20 CycleGAN性别转换
  8. 计算机开机关机使用教案,《正确使用电脑》教案
  9. LevelDB SSTable
  10. 字符串忽视大小写java_java字符串忽略大小写