Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Matlab】表情合成尝试(6)——整合与改进

【Matlab】表情合成尝试(6)——整合与改进

作者头像
ZifengHuang
发布于 2020-07-29 07:51:56
发布于 2020-07-29 07:51:56
8630
举报
文章被收录于专栏:未竟东方白未竟东方白

上篇的结尾也说到了这个小结,反正我对这个系列的印象老实说也已经淡忘,所以简单把过程重新理一下,然后就结束这个系列了吧。

总的来说这篇更接近于一个大纲,不过我会截图所有的代码,由于有之前的文章所以很多细节原理就不再细述。

由于时间过了很久,在这里重新把变形前的小姐姐图像放出来。

一.特征点标定及锚点

特征点标定是表情合成的第一步,首先将由于示例图中人脸已经对其到图片中央且大小近似,所以简单将图片大小对齐然后使用上一篇文章【Matlab】表情合成尝试(5)——68个特征点(landmarks)的方法得到特征点即可。

得到特征点之后,由于之后需要使用fitgeotrans函数来进行图像变形,而所使用的landmarks函数得到的特征点只包含五官和头的下半部分,为了防止图像的比例严重失真,我选择在图片的四边各增加4个点,其中四个角的点有重合增加了四个角的变形权重。

二.表情变形映射

由于做的是表情映射,接下来进行的是传统的表情映射,也就是利用前面得到的特征点和制造出来的锚点来对图像变形,使无表情图对齐到有表情图中。这部分是【Matlab】表情合成尝试(2)——传统的表情映射的内容。

首先是计算出两张参照图的表情特征点的偏移,然后将这个偏移叠加到原表情中,由于提前进行了图像对齐,所以移动的像素值不会有很大失真。

接下来就是激动人心的使用fitgeotrans配合imwarp进行图像变形,在这里lwm的参数我和之前一样选择了12,因为这个参数效果比较好。变形完后将变形后的图片重新调整为原来的大小,效果图如下:

三.皱纹提取与处理

上面的图看起来效果还不错,但是人脸做表情怎么说多少也会产生些皱纹,接下来就是【Matlab】表情合成尝试(3)——ERI伪皱纹映射的内容来映射皱纹。不过首先需要提取皱纹大略。

皱纹实际上是应用在图片上的一个明暗变化度,原理在第三篇中有讲,这里就是要计算出比率R。先是使用类似传统表情映射的方法将有表情与无表情的两张图对齐使得五官尽量重叠,为了使五官尽量重叠这里lwm参数选择了84(最大值)。然后转为ycbcr图提取出表示明暗度的y值,相除得到比率图。

这里要道个歉,之前第三篇中是使用了自己写的函数将其转为yuv图,但是可能是由于数据格式转换时的误差导致了最终图片颜色出现问题,使用内置函数rgb2ycbcr等替代可解决这个问题。

比率图去除了图像的颜色只留下了明暗的比率,接下来需要的是提取出图像的皱纹部分。原理和函数内容在第三篇中。在选择了这些参数后成功将图像的估计非皱纹部分模糊了许多。

模糊了那些非皱纹部分后,还需要对比率图进行裁剪,这里由于所选的landmark探测器得到的特征点只有下半部分的脸,所以我大致计算了脸的位置进行裁剪,这个问题可以通过寻找更好的图像处理学习库解决。

经过这般操作后得到的比率图如下,可以看到虽然由于裁剪的缺陷有些瑕疵但是效果还行,大多数不属于皱纹的部分都被模糊或裁去了。

四.皱纹映射

来到这里就是过程的结局了,得到了皱纹比率图,有了变形后的人脸,只差映射上去。

类似之前对齐表情将皱纹图与目标人脸表情对齐,以使得五官位置尽量重叠,这里lwm的参数选择了40。然后将变形得到的深度不正常的部分和深度过浅的部分设为1使得比率图尽可能光滑。

最后将比率图对齐,点乘映射到目标人脸的y上,再拉伸图片为原始尺寸,途中可能需要多次的格式转换,因为要注意需要使用小数来进行相乘。最终得到了结果。

五.后记

尽管还有很多瑕疵,例如变形不完美,皱纹提取不完整,有很多杂质存在。杂质部分再进行一次图像磨皮可能会有改进,皱纹提取部分找一个更好的landmark探测器应该会更好,可以提前将已知的非皱纹部分去除,变形不完美应该也可以通过特征点选取的改进来解决,想想也有很多改进空间。

不过不管怎么说,个人认为结果已经比之前好很多了,差不多算是达到了想要的效果。这个系列也是耗时很久,虽然实际上不难但是查找各种资源花费了一些时间,那大概这样吧。

项目已经上传到了

https://github.com/ZFhuang/Facial_Expression

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未竟东方白 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Matlab】表情合成尝试(3)——ERI伪皱纹映射
这篇是那篇论文的步骤的结尾,也是其核心,ERI(表情Expression比率Ratio图像Image)。
ZifengHuang
2020/07/29
5080
【Matlab】表情合成尝试(3)——ERI伪皱纹映射
【Matlab】表情合成尝试(2)——传统的表情映射
看起来我摸了好多天,事实上我是摸了很多天。你以为我会摸很多天,结果我确实摸了很多天,这不就相当于没有摸了嘛!(算了这个梗太老了,一点都不好笑。)
ZifengHuang
2020/07/29
9350
【Matlab】表情合成尝试(2)——传统的表情映射
【Matlab】表情合成尝试(5)——68个特征点(landmarks)
上一篇【Matlab】表情合成尝试(4)——Dlib库混合编译中成功让应用了Dlib库的C++函数编译为了matlab的可用的Mex文件,又说到了Dlib库可以用来自动标定人脸的68个特征点(landmarks)。本篇便是要来具体编写接口来将Dlib的标记特征点函数应用到matlab过来。
ZifengHuang
2020/07/29
1.4K0
【Matlab】表情合成尝试(5)——68个特征点(landmarks)
深度学习AI美颜系列----AI人像美妆算法初识
人像美妆是近几年来深受广大女孩儿群体喜欢的修图功能之一,目前市面中做的比较好的有美妆相机、玩美彩妆、天天P图等APP,当然还有一些PC专用的秀图软件,本文将给大家做个算法初识;
OpenCV学堂
2018/07/26
5.7K0
深度学习AI美颜系列----AI人像美妆算法初识
使用开源人脸特征提取器进行脸部颜值评分
本文仅为模型应用实战,而非颜值研究,所得结果仅供娱乐,仅供参考。 方法也仅供参考。 一般而言,数据量越大,结果越接近正常人审美。由于本次数据量较小,故仅为实验。 使用环境:ubuntu14.04,opencv3.2.0,dlib19.6,python2.7 一、准备工作: 1、下载dlib库,下载特征提取模型。 该模型的作用是通过卷积神经网络产生128维的特征向量,用以代表这张脸。网络输入参数为人脸landmark的68个特征点shape和整幅图像。可猜想网络特征与人脸的68特征点坐标有关,在网络中进行归一
微风、掠过
2018/04/10
2.7K0
使用开源人脸特征提取器进行脸部颜值评分
【深度学习】人脸检测与人脸识别
人脸是个人重要的生物特征,业界很早就对人脸图像处理技术进行了研究。人脸图像处理包括人脸检测、人脸识别、人脸检索等。人脸检测是在输入图像中检测人脸的位置、大小;人脸识别是对人脸图像身份进行确认,人脸识别通常会先对人脸进行检测定位,再进行识别;人脸检索是根据输入的人脸图像,从图像库或视频库中检索包含该人脸的其它图像或视频。
杨丝儿
2022/03/20
10.6K0
【深度学习】人脸检测与人脸识别
人脸检测--Supervised Transformer Network for Efficient Face Detection
用户1148525
2018/01/03
1.1K0
人脸检测--Supervised Transformer Network for Efficient Face Detection
GAN如此简单的PyTorch实现,一张脸生成72种表情(附代码)
【新智元导读】随着GAN的发展,单凭一张图像就能自动将面部表情生成动画已不是难事。但近期在Reddit和GitHub热议的新款GANimation,却将此技术提到新的高度。GANimation构建了一种人脸解剖结构(anatomically)上连续的面部表情合成方法,能够在连续区域中呈现图像,并能处理复杂背景和光照条件下的图像。
新智元
2018/08/01
1.7K0
GAN如此简单的PyTorch实现,一张脸生成72种表情(附代码)
[深度学习概念]·人脸识别MTCNN解析
人脸识别MTCNN解析 源代码,效果相当不错(只有测试代码): https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.ht
小宋是呢
2019/06/27
1.5K0
[深度学习概念]·人脸识别MTCNN解析
人脸对齐介绍
本文介绍了人脸对齐的定义、任务、应用、常用算法以及难点,并介绍了当前有哪些对齐算法和深度网络模型,最后列举了人脸对齐在移动端选择对齐算法时需要考虑的几个问题。
郑克松
2017/08/22
7.5K0
人脸对齐介绍
基于深度学习的面部表情识别系统
来源商业新知网,原标题:零起步,数据科学家手把手教你coding表情识别(内附代码)
商业新知
2019/06/14
7.8K0
基于深度学习的面部表情识别系统
【Matlab】表情合成尝试(4)——Dlib库混合编译
前面三篇文章搞了大致的处理流程,但是有个非常重要的问题还没解决——我们的人脸特征点(landmarks)是手动标定的。特征点在实际使用中自然是需要自动标定的,经过网上查找有个C++库称为Dlib可以解决自动标记68个landmark的问题,这就是我们要找的东西。
ZifengHuang
2020/07/29
1K0
【Matlab】表情合成尝试(4)——Dlib库混合编译
【杂谈】有三AI知识星球最近都GAN了哪些内容?
跨年龄的人脸识别和验证是一个非常具有挑战性的问题,如果能对年龄进行归一化,去除年龄因素的干扰,将大大提升跨年龄人脸识别的精度。
用户1508658
2019/12/25
9120
人脸对齐:ASM (主动形状模型)算法
本文介绍了人脸对齐领域的一种算法——主动形状模型(ASM),它是一种基于点分布模型(PDM)的算法,通过全局和局部的形状约束条件,利用最小二乘法拟合出人脸形状,同时介绍了ASM的流程和具体实现细节。
郑克松
2017/08/24
6.1K0
人脸对齐:ASM (主动形状模型)算法
[深度概念]·简述人脸识别开发原理
我们知道人脸识别在这几年应用相当广泛,人脸考勤,人脸社交,人脸支付,哪里都有这黑科技的影响,特别这几年机器学习流行,使得人脸识别在应用和准确率更是达到了一个较高的水准。
小宋是呢
2019/06/27
3.2K0
[深度概念]·简述人脸识别开发原理
【技术综述】人脸表情识别研究
随着机器学习和深度神经网络两个领域的迅速发展以及智能设备的普及,人脸识别技术正在经历前所未有的发展,关于人脸识别技术讨论从未停歇。目前,人脸识别精度已经超过人眼,同时大规模普及的软硬件基础条件也已具备,应用市场和领域需求很大,基于这项技术的市场发展和具体应用正呈现蓬勃发展态势。人脸表情识别(facial expression recognition, FER)作为人脸识别技术中的一个重要组成部分,近年来在人机交互、安全、机器人制造、自动化、医疗、通信和驾驶领域得到了广泛的关注,成为学术界和工业界的研究热点。本文将对人脸识别中的表情识别的相关内容做一个较为详细的综述。
用户1508658
2019/07/25
4.6K0
【技术综述】人脸表情识别研究
人脸算法系列(二):RetinaFace论文精读
大家好,今天给大家分享一篇人脸算法领域非常知名的paper,RetinaFace(RetinaFace: Single-stage Dense Face Localisation in the Wild)。同时也在文末附上开源项目的链接。 跟着我一起读这篇论文,希望论文的思路能够对你有所启发,如果觉得有用的,帮我分享出去,谢啦!
AI算法与图像处理
2020/04/15
8.2K0
【技术综述】基于3DMM的三维人脸重建技术总结
基于图像的人脸三维重建在人脸分析与娱乐领域里有巨大的应用场景,同时它也可以用于提升人脸关键点检测,人脸识别,人脸编辑等很多任务。本文重点介绍其中基于3DMM模型的核心技术及其研究进展。
用户1508658
2020/07/22
1.9K0
人脸表情和姿态变化万般丝滑——基于3D人脸动态的图像-视频生成方法
从单一的人脸图像生成其对应的视频是一个有趣的问题,研究者们通常利用人脸图像的稀疏特征点(landmarks)结合生成对抗网络(Generative Adversarial Networks, GANs)来进行人脸视频的生成。然而,由稀疏人脸特征点生成的人脸图像通常会遭受质量损失、图像失真、身份改变,以及表情不匹配等问题。
AI科技评论
2021/08/25
2.2K0
人脸表情和姿态变化万般丝滑——基于3D人脸动态的图像-视频生成方法
3D视频人物肖像生成新突破!港科大、清华等发布AniPortraitGAN,面部表情、肩部运动全可控
目前用于人类生成相关的「可动画3D感知GAN」方法主要集中在头部或全身的生成,不过仅有头部的视频在真实生活中并不常见,全身生成任务通常不会控制人物的面部表情,并且很难提高生成质量。
新智元
2023/09/22
6630
3D视频人物肖像生成新突破!港科大、清华等发布AniPortraitGAN,面部表情、肩部运动全可控
推荐阅读
相关推荐
【Matlab】表情合成尝试(3)——ERI伪皱纹映射
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档