AI修图-双眼皮算法解析
5097
特点:外眼角低于内眼角,眼形呈“正八”字形。
审美评价:相较上斜眼,给人柔和、温婉的感觉。
对应不同眼型的双眼皮分类试配:
1.开扇型:从内眼角向外逐渐变宽,适合内眼角偏低、有内眦赘皮的人群,显得眼睛有神且抗老。
2.平扇型:类似开扇型,但起点稍高,适合内眦赘皮较严重者配合手术使用。
3.平行型(欧式):内外宽度接近平行,适合眼睛大、眉眼间距大、眼皮薄且鼻梁高的人,显得眼睛大而立体。
4.新月型:两边窄中间宽,适合圆眼且偏甜美可爱风格的人。
从审美学角度看,眼睛形状的类型多样,且各具特色。双眼皮的形态与眼形搭配密切相关,不同的双眼皮形态适合不同的眼型和脸部特征,形成整体的审美协调;
在了解这些知识之后,我们开启本文重点。
双眼皮功能
对于人像照片,自动添加对应的双眼皮效果,由于人的眼睛形状存在不同的类型,因此,双眼皮类型可以以不同模板的方式,供用户自由选择;
这里可能会存在两个用户需求:
1.原本没有双眼皮的用户,需要添加双眼皮效果;
2.有双眼皮的用户,希望换个更符合自己审美的双眼皮效果;
双眼皮功能在美图系的app中早已经存在,本身不算一个新功能,但是这个功能要落地到影楼精修的高清大图中,是具有一定的技术难度的,因为影楼照片的分辨率可能比手机拍照大很多,效果要求也会精细很多;
本人先给出自己的算法效果,给大家一个直观的理解:
算法解析
下面介绍的是本人效果对应的算法逻辑。
1.整体思路上,对于无中生有的场景,最适合的方案就是GAN,因此,主体方案选择GAN来实现双眼皮的生成;由于影楼精修对照片效果要求的精确性,我们采用基于成对数据的Pix2Pix算法来实现,它的优点是可以设置大分辨率,同时由于使用成对数据,训练目标比较明确,可以获得比较精确的效果。
2.网络输入,为了获得高清的效果,我们需要将网络输入设定为眼睛区域,比如512×512×3大小的单眼睛区域作为输入,对应双眼皮效果作为输出,以此来解决影楼高分辨率大图处理后人脸清晰度需要保持的问题;
对于不同的双眼皮类型,有如下两种方案:
可以分别添加不同的条件输入,比如输入为眼睛区域图+label表示双眼皮类型;
可以使用多个Pix2pix模型,每个模型表示一种双眼皮类型;
3.解决了方案问题之后,就是数据问题。如何构建双眼皮的成对数据,是一个难点,这里给出解决方案。
挑选少量不同双眼皮类型的样本,以一种双眼皮效果为例,通过互联网或者手工拍照采集等方式,获取50-100张样本;这个量级相对而言是非常容易实现的,当然用今天AIGC的视角来看,你也可以通过AIGC来生成;
将这些少量样本,送入stylegan进行微调,获得微调后的双眼皮模型;
通过stylegan来生成成对的双眼皮数据,注意,stylegan生成的成对数据实际上是伪成对数据,对于人脸图像而言,整个人脸可能是有偏差的,这里可以将人眼区域裁剪后作为成对数据,相对准确一点;
最后,大量筛选,获得2W+的成对数据样本;
注意:对于数据集制作模块,美图实际上是有申请相关专利的,大家可以自行查阅,大概方法与我所说类似;
4.基于成对数据,训练双眼皮模型;
最后,为了追求完美,本人给出原图-双眼皮+磨皮祛痘后的效果展示:
OpenCV4系统化学习
深度学习系统化学习返回搜狐,查看更多
