概述
基于实例的妆容迁移(Example-Based Cosmetic Transfer)
摘要
妆容迁移
-
所需条件:化妆前后对比图像(实例), A A A和 A ∗ A^{ast} A∗;
-
输入:图像(目标) B B B
-
输出:妆容迁移图像 B ∗ B^{ast} B∗
参考文献:Tong, D. , Tang, C. K. , Brown, M. S. , Xu, Y. Q. (2007). Example-Based Cosmetic Transfer. IEEE Computer Society.
1 引言
妆容迁移(transfer cosmetic style):
(1)实例面部皮肤特征,如雀斑、痣和瑕疵等,不应被迁移;
(2)目标面部固有皮肤特征应保留。
实现方法:
(1)计算化妆前后色彩与光照变化;
(2)对实例与目标面部皮肤纹理和肤色差异进行调整;
(3)将妆容迁移到目标面部。
2 相关工作
3 妆容迁移
步骤:
(1)预处理
(2)妆容映射
(3)外观矫正
(4)眼部迁移
3.1 预处理
所需条件:
实例图像妆前 A A A、妆后 A ∗ 和 A^{ast}和 A∗和目标图像 B B B,并确保 A A A、 A ∗ A^{ast} A∗、 B B B的光照条件和姿态相似。
预处理步骤:
(1)去除眉毛和睫毛;
(2)用合成的纹理填充去除眉毛和睫毛产生孔洞;
(3)提取固有皮肤特征;
(4)将面部几何形状变形成标准面部。
眼睛
在妆容迁移前,首先用贝叶斯扣图(Bayesian matting)将眉毛和睫毛分离:
(1)将背景、前景和不确定区域粗略标记出来,构建三元图(tri-map),不确定区域用贝叶斯扣图;
(2)输出为蒙板 α alpha α,表示眉毛和睫毛在输入图像 B B B中的选区。
修补孔洞
对从原始图像中分离眉毛和睫毛后产生的孔洞进行修补,修补方式包括图像修复(image inpainting)和纹理合成(texture synthesis)。
皮肤
需要将固有皮肤特征(如雀斑、痣或瑕疵)从实例面部图像 A A A和 A ∗ A^{ast} A∗中去除。独立成分分析(independent component analysis,ICA)
标准面部变形
在图像预处理开始前,将所有图像面部变形为标准面部。
3.2 妆容映射
妆容映射(cosmetic map), C = { c p } C = left{ c_p right} C={cp}
c p = a p ∗ / a p , b p ∗ = c p b p c_p = a^{ast}_p / a_p, quad b^{ast}_p = c_p b_p cp=ap∗/ap,bp∗=cpbp
在各个像素点 p p p上,色彩混合表示式为:
b p ∗ = b p ( γ ( c p − 1 ) + 1 ) b^{ast}_p = b_p left( gamma (c_p - 1) + 1 right) bp∗=bp(γ(cp−1)+1)
c p ∈ C c_p in C cp∈C, b p ∈ B b_p in B bp∈B。
3.3 外观修正
色彩迁移只考虑色彩和反射的变化,并没有获取由化妆引起的细微几何变化(subtle geometry change)而导致的外观差异(difference in appearance)。
- 外观修正(appearance correction)
对实例妆容图像求拉普拉斯二阶导数,并将二阶信息映射到输出图像上。
假设:由局部几何变化引起的外观变化可通过拉普拉斯算子(Laplacian operator) Δ ( ⋅ ) Delta (cdot) Δ(⋅)获取,该算子用于计算某像素与其相邻像素的差异。
在该假设下,由妆容引起的几何外观变化可通过混合各个像素点 p p p的 a p ∗ a^{ast}_p ap∗和 b p b_p bp近似表示,即局部拉普拉斯二阶导数估计为:
Δ b p ∗ = Δ ( β b p + ( 1 − β ) a p ∗ ) Delta b^{ast}_p = Delta left( beta b_p + (1 - beta) a^{ast}_p right) Δbp∗=Δ(βbp+(1−β)ap∗)
在给定 β beta β后,等式右端为确定值,此时需要修改 b p ∗ b^{ast}_p bp∗以满足上式对 Δ b p ∗ Delta b^{ast}_p Δbp∗的约束。该约束可通过高斯-赛德尔(Gauss-Seidel)迭代求解。
3.4 眼睛迁移
睫毛和眉毛的浓妆效果需要更精细的处理,包括毛发的长度、颜色和密度。
本文利用提取的眉毛和睫毛的蒙板 α alpha α,将图像 B B B的眉毛和睫毛选区叠加到 B ∗ B^{ast} B∗上,实现眉毛和睫毛的转移。
b p ∗ = α b p + ( 1 − α ) b p ∗ b^{ast}_p = alpha b_p + (1 - alpha) b^{ast}_p bp∗=αbp+(1−α)bp∗
4 结果和应用
保留毛发的颜色和密度
风格迁移与构图
5 讨论及局限
本文假设妆容映射是乘性的,即图像 B B B妆前肤色会影响妆后肤色。
在极端浓妆情况下,比如京剧脸谱,妆容迁移表达示修改为:
b p ∗ = ( ( 1 − ζ ) a p ∗ / a p + ζ ) b p b^{ast}_p = left( (1 - zeta) a^{ast}_p / a_p + zeta right) b_p bp∗=((1−ζ)ap∗/ap+ζ)bp
其中 ζ ∈ [ 0 , 1 ] zeta in [0, 1] ζ∈[0,1]表示妆容的覆盖强度(covering strength)。对于油彩妆容, ζ = 1 zeta = 1 ζ=1; ζ < 1 zeta lt 1 ζ<1表示妆容变淡。
最后
以上就是激昂毛豆为你收集整理的文献阅读 - Example-Based Cosmetic Transfer基于实例的妆容迁移(Example-Based Cosmetic Transfer)的全部内容,希望文章能够帮你解决文献阅读 - Example-Based Cosmetic Transfer基于实例的妆容迁移(Example-Based Cosmetic Transfer)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复