标题:Makeup Like a Superstar: Deep Localized Makeup Transfer Network
链接:https://arxiv.org/pdf/1604.07102
在这篇文章之前已经有一些上妆的软件,但大都是将手工设计的妆容直接套用到人脸上,并不能自适应的生成妆容。而这篇文章的重点就是基于输入的人脸推荐最合适的妆容,并且自动生成上妆后的人脸。
主要亮点是使用语义分割将面部分为几个部分,然后对每个部分分别做妆容迁移。
妆容推荐
使用VGG-Face提取的面部embedding来在数据库中寻找到与输入脸最相似的那个脸作为目标妆容的参考。
建立面部关联性
使用FCN对输入脸和参考脸做语义分割,就像上图中i部分那样,分割成面部,左眼,右眼,左眉毛等等之类的区域,从而建立区域之间的关联性。
但眼影事实上是一个大问题,因为在妆前的脸上是没有眼影的。因此,为了确定眼影的位置,文章中使用了thin plate spline(薄板样条插值)即一种2D插值法,通过输入脸和参考脸中眼睛周围的特征点的分布来模拟出输入脸中的眼影区域。
妆容迁移
眼影
重要的是形状和颜色。 先将妆前眼影区域sb扭曲成参考脸中的眼影区域sr的样子(形状一致),然后把这俩输入网络,做特征层面的相似度损失(颜色一致)。
口红和底妆
重要的是颜色和纹理。简单来说也是直接输入网络,然后基于网络隐层特征做重构损失。
结构
就是把整张脸做mask,扭曲后保证区域间一致。