美颜算法:从传统算法到深度学习算法
美颜算法:从传统算法到深度学习算法
1 传统算法
传统美颜算法根植于计算摄影学与数字图像处理理论,其技术路线不依赖大规模数据训练,而是通过精巧设计的数学算子对像素域进行直接变换。这类方法具有物理可解释性强、计算资源消耗低、实时性高等显著优势,至今仍是移动端实时美颜SDK的底层基石。从信号处理视角来看,面部美颜的核心矛盾在于频域分离的困境:皮肤毛孔、细纹等瑕疵与真实五官边缘同属图像的高频分量,传统线性滤波器(如均值滤波、高斯滤波)无法区分二者,往往“连根拔起”,导致边缘模糊、立体感丧失。因此,传统算法的演进史实质上是一部保边去噪滤波器的设计史——如何在抑制高频噪声的同时,精准保留乃至增强特定方向的高频结构
1.1 基础美颜
基础美颜算法的工程本质可概括为空间自适应的各向异性平滑(Spatially-Adaptive Anisotropic Smoothing),业内俗称“磨皮包边滤波”。其技术着眼点并非全局柔化,而是精准区分面部拓扑结构中的“兴趣区域”(眼、眉、鼻翼、唇线等五官边缘)与“非兴趣区域”(脸颊、额头等平坦皮肤区域)。传统磨皮的本质,等价于求解一个带边界保护约束的局部加权平均问题:在平坦的肤色区域,滤波核应具备较大尺度的低通特性,以充分抑制毛孔、细纹、光照不均引起的亮度抖动;而在灰度剧烈跳变的边缘处,滤波核必须依据局部梯度幅值动态收缩其作用范围,甚至退化为冲击响应,确保边缘两侧像素互不污染。这一“平则恒强,陡则即止”的自适应机制,在视觉上最终达成了“肤若凝脂”与“眉目分明”的辩证统一。
从数学直觉上,该目标可建模为一个带边缘惩罚项的重加权局部平均过程——滤波器在计算目标像素的输出值时,邻域内各像素的贡献权重不再仅取决于空间距离,还必须与像素间的灰度相似性负相关。当邻域像素与中心点的灰度差异超过某一感知阈值时,其权重被显著压低,从而在物理层面实现了“磨皮不磨边”的包边效果。在后续的工程演进中,所有基础美颜方案几乎都遵循了这一共性框架,区别仅在于权重计算函数与加速策略的不同。
1.1.1 双边滤波
原理
双边滤波(Bilateral Filter)由 C. Tomasi 和 R. Manduchi 于 1998 年提出,是传统磨皮算法中最具代表性的保边滤波方法。它的核心思想是:在平滑皮肤的同时,保留五官边缘。双边滤波是一种非线性滤波方法,本质上是高斯滤波的扩展。与高斯滤波仅根据空间距离计算权重不同,双边滤波同时考虑两个维度:
- 空间权重(Spatial Weight) :衡量像素之间的几何距离,距离越近权重越大。
- 值域权重(Range Weight) :衡量像素之间的颜色相似度,颜色差异越大权重越小。
最终权重为两者的乘积。其数学表达式为:
I f i l t e r e d ( x , y ) = 1 W p ∑ i , j ∈ Ω I ( x + i , y + j ) ⋅ w s ( i , j ) ⋅ w r ( i , j ) I_{filtered}(x,y) = \frac{1}{W_p} \sum_{i,j \in \Omega} I(x+i, y+j) \cdot w_s(i,j) \cdot w_r(i,j) Ifiltered(x,y)=Wp1i,j∈Ω∑I(x+i,y+j)⋅ws(i,j)⋅wr(i,j)
其中 w s w_s ws 为空间域高斯核, w r w_r wr 为值域高斯核。
这种双重判断机制产生了“保边”效果:在平坦区域(如脸颊),邻近像素颜色相似,值域权重高,滤波效果显著,能有效平滑皮肤;而在边缘区域(如眼睛、嘴唇),颜色差异大的像素被赋予极低权重,边缘得以保留。
优点:
- 在平滑皮肤的同时有效保留五官边缘和面部明暗变化,防止图像变平、失真
- 相比高斯滤波,不会导致整张图片模糊
- 算法经典,实现简单,是美颜 SDK 中最常用的磨皮方案之一
缺点:
- 卷积核非线性,计算复杂度高,高分辨率图像处理耗时较长
- 无法去除色差较大的孤立点(如痘痘、黑痣)
- 磨皮后的效果可能较为生硬,会过度消除皮肤纹理细节
- 大多数应用采用固定参数,难以适应不同肤质
在实际美颜算法中,双边滤波通常不是单独使用的,而是作为磨皮流程的核心步骤:
- 图像滤波:对图像应用双边滤波,平滑皮肤区域。
- 图像融合:将滤波后的图像与原图按一定权重融合(如
cv2.addWeighted),保留部分原始细节。 - 图像锐化:对融合结果进行适度锐化(如 USM 锐化),恢复因滤波损失的纹理细节,使皮肤看起来光滑但不失真实感。
此外,为了提升效果和效率,工程上常结合肤色检测或人脸关键点检测,仅对皮肤区域进行滤波处理,非皮肤区域保持不变;同时通过查找表(LUT)、可分离卷积、GPU 加速等手段优化双边滤波的计算效率。
1.1.2 引导滤波
原理
引导滤波(Guided Filter)由何恺明等于 2013 年提出,最初用于图像去雾算法中透射率图的精细化优化。由于其出色的保边能力与极高的计算效率,引导滤波很快被引入美颜磨皮领域,成为与双边滤波并列的主流保边滤波方案。
引导滤波的核心思想可概括为:借助一张引导图像(Guidance Image)的结构信息,指导滤波输出。引导图既可以是输入图像本身(此时退化为保边平滑滤波器),也可以是另一张不同的图像。在美颜磨皮场景中,引导图通常取为原图本身,目的是将原图中的边缘结构“迁移”到滤波输出中,使输出图像在平坦区域被充分平滑的同时,在边缘处保留引导图的梯度特征。
引导滤波的理论基础是一个局部线性模型。其核心假设是:在以像素 k k k 为中心的方形窗口 ω k \omega_k ωk 内,滤波输出图像 q q q 与引导图像 I I I 之间存在线性关系:
q i = a k I i + b k , ∀ i ∈ ω k q_i = a_k I_i + b_k, \quad \forall i \in \omega_k qi=akIi+bk,∀i∈ωk
其中 a k a_k ak 和 b k b_k bk 是该窗口内的线性系数,在窗口内视为常数。对这一关系式求导可得 ∇ q = a ∇ I \nabla q = a \nabla I ∇q=a∇I,意味着输出图像 q q q 在边缘处能够保持与引导图像 I I I 一致的梯度方向——这正是引导滤波“保边”能力的数学根源。
为求解 a k a_k ak 和 b k b_k bk,引导滤波通过最小化如下损失函数来约束输出图像 q q q 与输入图像 p p p 之间的差异:
E ( a k , b k ) = ∑ i ∈ ω k ( ( a k I i + b k − p i ) 2 + ϵ a k 2 ) E(a_k, b_k) = \sum_{i \in \omega_k} \left( (a_k I_i + b_k - p_i)^2 + \epsilon a_k^2 \right) E(ak,bk)=i∈ωk∑((akIi+bk−pi)2+ϵak2)
其中 ϵ \epsilon ϵ 为正则化参数,用于控制 a k a_k ak 的幅值,防止其过大。对该损失函数求偏导并令其为零,可得到 a k a_k ak 和 b k b_k bk 的解析解:
a k = 1 ∣ ω ∣ ∑ i ∈ ω k I i p i − I ˉ k p ˉ k σ k 2 + ϵ a_k = \frac{\frac{1}{|\omega|} \sum_{i \in \omega_k} I_i p_i - \bar{I}_k \bar{p}_k}{\sigma_k^2 + \epsilon} ak=σk2+ϵ∣ω∣1∑i∈ωkIipi−Iˉkpˉk
b k = p ˉ k − a k I ˉ k b_k = \bar{p}_k - a_k \bar{I}_k bk=pˉk−akIˉk
其中 I ˉ k \bar{I}_k Iˉk 和 p ˉ k \bar{p}_k pˉk 分别为引导图像和输入图像在窗口 ω k \omega_k ωk 内的均值, σ k 2 \sigma_k^2 σk2 为引导图像在该窗口内的方差。最终,每个像素点的输出值由所有包含该像素的窗口的线性函数值取平均得到:
q i = a ˉ i I i + b ˉ i q_i = \bar{a}_i I_i + \bar{b}_i qi=aˉiIi+bˉi
其中 a ˉ i \bar{a}_i aˉi 和 b ˉ i \bar{b}_i bˉi 为所有覆盖像素 i i i 的窗口中 a k a_k ak 和 b k b_k bk 的均值。
从参数含义来看,引导滤波的平滑行为由两个核心参数控制:
- 半径 r r r:滤波窗口的大小,决定平滑的空间范围。半径越大,平滑程度越强,但对边缘的保持能力也随之下降。
- 正则化参数 ϵ \epsilon ϵ:控制保边敏感度。当局部方差 σ k 2 ≪ ϵ \sigma_k^2 \ll \epsilon σk2≪ϵ 时(即平坦区域), a k ≈ 0 a_k \approx 0 ak≈0,滤波退化为均值滤波,平滑效果显著;当 σ k 2 ≫ ϵ \sigma_k^2 \gg \epsilon σk2≫ϵ 时(即边缘区域), a k ≈ 1 a_k \approx 1 ak≈1,输出趋近于原图,边缘得以完整保留。通过调节 ϵ \epsilon ϵ,可以在平滑强度与保边力度之间实现精细的连续控制。
优点:
- 计算效率极高:引导滤波的核心运算为均值卷积与方差计算,时间复杂度为 O ( N ) O(N) O(N),与滤波窗口半径无关。相比之下,双边滤波的复杂度为 O ( N ⋅ r 2 ) O(N \cdot r^2) O(N⋅r2),引导滤波在相同半径下通常快数倍甚至一个数量级。
- 保边效果优异:基于局部线性模型的梯度保持机制,能够有效保留五官边缘和面部结构,在边缘处不产生光晕伪影。
- 无梯度反转问题:引导滤波在边缘附近不会产生双边滤波中可能出现的梯度反转(Gradient Reversal)现象,输出更为自然。
- 参数物理意义明确:半径 r r r 控制平滑范围, ϵ \epsilon ϵ 控制保边敏感度,二者解耦,便于工程调参。
- 支持快速近似算法:可通过下采样-滤波-上采样的策略实现快速导向滤波(Fast Guided Filter),将时间复杂度进一步降低至 O ( N / s 2 ) O(N/s^2) O(N/s2),其中 s s s 为下采样比例。
缺点:
- 磨皮效果可能不足:单纯使用引导滤波,其平滑力度相较于双边滤波或 Photoshop 等专业软件的处理效果仍显不足,往往需要配合其他后处理手段。
- 无法区分语义层面的瑕疵:与双边滤波类似,引导滤波仅基于底层像素统计进行边缘判定,缺乏高层语义先验,无法智能区分“痘印瑕疵”与“卧蚕酒窝”等面部特征。
- 对孤立噪点去除能力有限:对于色差较大的孤立点(如明显的痘痘、黑痣),引导滤波的去除效果不如专门设计的祛痘算法。
- 引导图选择敏感:在非原图作为引导图的场景下,引导图的质量直接影响滤波效果,若引导图边缘信息不准确,可能导致输出失真。
实际工程实践
在美颜 SDK 的工程实现中,引导滤波通常作为磨皮管线中的高效保边核心算子,具体实践方案如下:
-
自引导磨皮:在磨皮场景中,直接以原图作为引导图像,即 I = p I = p I=p。此时引导滤波退化为保边平滑滤波器,在平滑皮肤的同时保持五官边缘。
-
快速导向滤波加速:对于高分辨率图像或实时视频流,采用快速导向滤波策略——先对图像进行下采样(如缩放至原图的 1 / 4 1/4 1/4 或 1 / 8 1/8 1/8),在低分辨率下完成滤波计算,再通过上采样将 a a a 和 b b b 系数矩阵恢复至原图尺寸,最后重构输出图像。该策略可将计算量压缩至原来的 1 / s 2 1/s^2 1/s2,是移动端实时美颜的关键优化手段。
-
肤色区域蒙版结合:结合人脸关键点检测与肤色概率模型,生成皮肤区域掩膜(Skin Mask),仅在皮肤区域内应用引导滤波,非皮肤区域(如眼睛、眉毛、头发)保持原图不变。这从源头避免了滤波对五官边缘的误伤。
-
频域分层与细节补偿:将引导滤波的输出视为图像的基础层(Base Layer) ,承载肤色区域的低频信息;原图与基础层的差值构成细节层(Detail Layer) 。对细节层进行自适应阈值处理,剔除瑕疵噪声后,按一定增益叠加回基础层,实现“光滑但不失真实质感”的磨皮效果。
-
后置锐化:对融合结果施加适度锐化(如 USM 非锐化掩模),补偿多次滤波带来的高频衰减,提升五官轮廓的清晰度。
-
GPU 并行加速:引导滤波中的均值卷积与方差计算具有高度数据并行性,适宜在 GPU(如 OpenGL ES 着色器、OpenCL)上部署,进一步满足 1080p/4K 分辨率下的实时处理需求。
1.2 五官美型
基础美颜算法解决了皮肤质感的优化问题,但面部整体结构的协调性同样显著影响着视觉美感。五官美型(Facial Beautification)旨在通过几何变形(Geometric Deformation)对面部五官的比例、轮廓和位置进行微调,使其趋近于美学意义上的“黄金比例”。从技术路径来看,五官美型算法可划分为三大流派:基于移动最小二乘法(MLS)的实时变形方案、基于尽可能刚性(ARAP)的保细节变形方案,以及基于数据驱动的美学优化方案。三者分别对应着“快”、“精”、“智”三种不同的工程取舍,共同构成了当代美颜SDK中瘦脸、大眼、隆鼻、调整唇形等功能的底层支撑。
1.2.1 移动最小二乘法(MLS)
原理
移动最小二乘法(Moving Least Squares, MLS)由 Schaefer 等人在 2006 年提出,是图像变形领域最具影响力的算法之一。其核心思想可概括为:用户通过拖拽一组控制点(或控制线段)来指定变形目标,算法以最小二乘意义下最优的方式,将变形平滑地传播至整张图像。
MLS 的数学本质是一种逐像素的加权最小二乘拟合。对于图像中的每一个像素点 v v v,算法以该点为中心,赋予空间中所有控制点 p i p_i pi 以随距离衰减的权重 w i = 1 ∣ p i − v ∣ 2 α w_i = \frac{1}{|p_i - v|^{2\alpha}} wi=∣pi−v∣2α1。在此基础上,算法寻找一个最优的变形函数 f v ( x ) f_v(x) fv(x),使得变形后的控制点 q i q_i qi 与 f v ( p i ) f_v(p_i) fv(pi) 之间的加权平方误差最小:
∑ i w i ∥ f v ( p i ) − q i ∥ 2 → min \sum_i w_i \| f_v(p_i) - q_i \|^2 \rightarrow \min i∑wi∥fv(pi)−qi∥2→min
Schaefer 等人提供了三类线性变换函数供选择:
- 仿射变换(Affine) :允许缩放、旋转、剪切和平移,变形自由度最高,但可能导致局部区域的非均匀拉伸。
- 相似变换(Similarity) :仅允许缩放、旋转和平移,保持形状的相似性,避免剪切失真。
- 刚性变换(Rigid) :仅允许旋转和平移,最大限度地保持物体的局部形状不变,视觉效果最为自然,也是美颜变形中最常用的模式。

对于仿射和相似变换,算法存在闭式解析解,计算效率极高;对于刚性变换,则需通过奇异值分解(SVD)求解最优旋转矩阵,计算量略高但效果最佳。由于 MLS 对每个像素独立求解,整个变形过程天然具有高度并行性,可在 GPU 上实现实时处理。
优点:
- 变形自然、视觉真实:基于 Moving Least Squares 的插值机制使变形场平滑连续,给用户以“操纵真实物体”的直观感受。
- 计算效率高:仿射和相似变换存在闭式解,计算速度快,适合实时交互场景。
- 控制方式灵活:支持点控制和线段控制两种模式,线段控制尤其适合沿面部轮廓(如下颌线、鼻梁)进行精细变形。
- 高度可并行化:逐像素独立计算,天然适配 GPU 加速,是实现移动端实时瘦脸、大眼等功能的首选方案。
缺点:
- 刚性变换无闭式解:效果最好的刚性变换需要 SVD 分解,计算量相对较高。
- 大尺度变形易失真:当控制点位移量过大时,可能产生不自然的拉伸或压缩,尤其在面部轮廓区域容易导致“蛇精脸”等过度失真。
- 缺乏语义约束:MLS 仅基于控制点的几何约束进行变形,缺乏面部语义先验,无法自动识别“哪些区域应该联动变形”(如瘦脸时下巴应与脸颊协同调整)。
- 可能破坏纹理细节:变形过程涉及像素重采样,若插值策略不当(如仅使用最近邻插值),可能导致五官边缘锯齿或纹理模糊。
实际工程实践
在美颜 SDK 中,MLS 是五官美型功能的核心变形引擎,典型工程实践如下:
-
人脸关键点驱动:利用人脸关键点检测(如 106 点或 468 点)自动提取面部特征点位置,将“瘦脸”、“大眼”、“尖下巴”等功能需求映射为关键点的位移向量,作为 MLS 的控制点输入,无需用户手动拖拽。
-
刚性变换优先:在美颜场景中优先选择刚性变换模式,以最大限度地保持面部器官的局部形状,避免因仿射变换导致的五官非均匀扭曲。
-
控制点分层管理:将面部控制点划分为不同语义组(如脸型组、眼部组、鼻部组、嘴部组),各组独立控制变形强度,互不干扰,实现“瘦脸不瘦鼻”、“大眼不扩嘴”的精细化调节。
-
多尺度变形策略:先对图像下采样至较低分辨率执行 MLS 变形(降低计算量),再通过插值上采样恢复至原图尺寸,结合边缘引导的重采样优化,在保证效果的同时大幅提升处理速度。
-
边界平滑与掩膜约束:在变形区域边界施加羽化(Feathering)处理,使变形区域与非变形区域平滑过渡;同时结合皮肤区域掩膜,将变形限制在面部轮廓内,避免背景变形。
-
后置纹理增强:变形后的图像因重采样可能导致细节模糊,需施加适度的锐化(如 USM 锐化)以恢复五官边缘的清晰度。
1.2.2 尽可能刚性变形(ARAP)
原理
尽可能刚性变形(As-Rigid-As-Possible, ARAP)由 Sorkine 和 Alexa 于 2007 年提出,最初用于三维网格曲面的保细节编辑。其核心思想可概括为:在变形过程中,使每个局部区域的变换尽可能接近纯旋转(刚性变换),从而最大限度地保持物体的局部几何细节不受扭曲。
ARAP 的数学基础是一个非线性能量最小化框架。对于给定的网格模型,算法将每个顶点的邻域定义为一个“局部胞”(Local Cell),并定义一个衡量局部变形“非刚性程度”的能量函数:
E ( S ′ ) = ∑ i ∑ j ∈ N ( i ) w i j ∥ ( p i ′ − p j ′ ) − R i ( p i − p j ) ∥ 2 E(S') = \sum_{i} \sum_{j \in \mathcal{N}(i)} w_{ij} \| (p'_i - p'_j) - R_i (p_i - p_j) \|^2 E(S′)=i∑j∈N(i)∑wij∥(pi′−pj′)−Ri(pi−pj)∥2
其中 p i p_i pi 和 p i ′ p'_i pi′ 分别为变形前后的顶点位置, R i R_i Ri 为顶点 i i i 处的最优旋转矩阵, N ( i ) \mathcal{N}(i) N(i) 为顶点 i i i 的邻域顶点集合, w i j w_{ij} wij 为边权重(通常取余切权重)。该能量的物理含义是:在理想情况下,如果每个局部胞都经历纯刚性变换(即 R i R_i Ri 为旋转矩阵),则能量为零;变形越偏离刚性,能量越高。
ARAP 的能量最小化通过交替迭代的局部-全局(Local-Global)策略求解:
- 局部步(Local Step) :固定所有顶点的当前位置,为每个顶点独立求解最优旋转矩阵 R i R_i Ri(通过 SVD 分解),使得局部能量最小。
- 全局步(Global Step) :固定所有 R i R_i Ri,将能量函数转化为关于顶点位置的二次型,通过求解一个稀疏线性方程组更新所有顶点的位置。
上述两步交替执行,直至能量收敛。ARAP 的核心优势在于:变形过程中物体的局部形状(如面部五官的几何细节)被严格保护,即使在大尺度变形下也不会产生非均匀拉伸或剪切畸变。

优点:
- 细节保持能力极强:ARAP 在变形过程中严格保护局部几何细节,即使大幅拉伸或压缩,五官的局部形状仍保持自然。
- 变形直观、符合物理直觉:用户拖拽控制点时,模型的响应方式类似于真实弹性物体的变形,交互体验优异。
- 能量函数具有明确的几何意义:基于刚性约束的能量模型物理可解释性强,便于理解和调优。
- 已有成熟的工程实现:ARAP 算法已被纳入 CGAL(计算几何算法库)等开源几何处理库中,便于工程集成。
缺点:
- 计算复杂度较高:局部步需要为每个顶点进行 SVD 分解,全局步需要求解大规模稀疏线性方程组,整体计算量远高于 MLS。
- 迭代收敛耗时:局部-全局交替迭代通常需要多次循环才能收敛,难以满足移动端实时处理的需求。
- 主要面向网格数据:ARAP 原生设计用于三角网格曲面,直接应用于二维图像需要先构建图像网格(如 Delaunay 三角剖分),增加了预处理开销。
- 大尺度变形下可能出现体积损失:在极端变形条件下,ARAP 可能产生一定程度的体积收缩或膨胀,需要额外的后处理修正。
实际工程实践
尽管 ARAP 的计算复杂度较高,但其卓越的保细节能力使其在高端美颜产品中占有一席之地,典型实践如下:
-
图像网格化预处理:将图像平面划分为三角网格(通常基于人脸关键点进行自适应 Delaunay 三角剖分),将像素颜色映射为网格顶点的属性,将图像变形问题转化为网格变形问题。
-
关键点驱动变形:以人脸关键点作为网格的控制顶点,将“瘦脸”、“大眼”等功能需求映射为控制顶点的目标位移,驱动 ARAP 求解器计算所有网格顶点的新位置。
-
分层变形策略:将面部网格划分为刚性区域(如眼球、瞳孔)和可变形区域(如脸颊、下巴),对刚性区域施加更强的刚性约束权重,防止五官局部失真。
-
预计算与增量更新:对于视频流中的连续帧,利用帧间关键点位移较小的特点,以上一帧的变形结果作为初始值,仅执行少量 ARAP 迭代即可收敛,大幅降低单帧计算量。
-
GPU 加速与稀疏求解器优化:将 SVD 分解和稀疏线性方程组求解移植至 GPU(如 CUDA 或 OpenCL),并采用预条件共轭梯度法(PCG)等高效稀疏求解器,显著提升计算效率。
-
与 MLS 协同使用:在实时预览场景中采用 MLS 提供即时反馈,在最终输出或离线处理时采用 ARAP 进行精细化变形,兼顾实时性与画质。
1.2.3 数据驱动的面部美化
原理
数据驱动的面部美化(Data-Driven Facial Beautification)由 Leyvand 等人在 2008 年提出,是五官美型领域最具前瞻性的工作之一。其核心思想可概括为:不再依赖人工定义“何为美”,而是从大量带有美学评分的人脸数据中自动学习美的统计规律,并以此为基准指导面部变形。
该方法的完整流程分为三个阶段:
-
美学模型训练(Training) :收集大量正面人脸肖像照片,邀请多组人类评分员对每张人脸的美学吸引力进行评分。基于这些评分数据,训练一个自动面部吸引力评估引擎(Automatic Facial Attractiveness Engine),该引擎能够对任意输入人脸的 attractiveness 进行量化预测。
-
面部特征提取与空间搜索(Feature Extraction & Search) :对输入人脸提取一组关键面部特征点之间的距离(如眼距、鼻宽、唇高、下颌角宽度等),构成一个高维“人脸空间”中的坐标点。在该空间中搜索一个“邻近但吸引力评分更高”的目标点——即在保持与原脸相似的前提下,向美学更优的方向微调面部比例。
-
变形映射与图像生成(Warping & Rendering) :将搜索到的目标面部距离参数“嵌入”到二维图像平面中,生成一个二维变形场(2D Warp Field),将原始面部特征点映射到调整后的目标位置。最终通过图像变形算法(如 MLS)生成美化后的人脸图像。
Leyvand 等人的实验通过独立的第三方评分验证了该方法的有效性:经过算法美化后的人脸,在盲测中获得了显著更高的 attractiveness 评分。这一工作标志着五官美型从“手工规则”向“数据驱动”的范式转变。

优点:
- 美学标准客观化:基于大规模人群评分数据,避免了个人主观偏好的偏差,美学标准更具统计显著性。
- 保持与原脸的相似性:在高维人脸空间中仅进行“微调”而非“替换”,美化后的人脸仍可被清晰识别为同一个人。
- 可解释性强:变形依据可追溯至具体的面部比例调整(如“眼距扩大 3%”、“下巴缩短 5%”),便于理解和调优。
- 开创性意义:为后续基于深度学习的人脸美化研究奠定了方法论基础。
缺点:
- 依赖高质量标注数据:需要大量带有美学评分的人脸图像,数据采集和标注成本高昂。
- 仅适用于正面人脸:方法基于正面肖像照设计,对侧脸、大角度或遮挡人脸的处理能力有限。
- 变形幅度有限:为保证与原脸的相似性,搜索空间被限制在原始点的邻近区域,无法实现大幅度的“换脸式”美化。
- 美学评分存在文化差异:不同文化背景下的审美标准存在差异,单一数据集训练的模型可能无法泛化至多元人群。
- 计算流程复杂:涉及特征提取、高维空间搜索、变形场生成等多个步骤,端到端处理时间较长。
实际工程实践
数据驱动面部美化在工业界的落地相对有限,但其思想深刻影响了后续的美颜算法设计:
-
美学评分作为 Loss 函数:在深度学习美颜模型中,将 Leyvand 等人提出的面部吸引力评估引擎的输出作为感知损失(Perceptual Loss)的一部分,引导生成网络向美学更优的方向优化。
-
标准脸型模板库:收集大量被公认为“美观”的人脸图像,提取其面部比例参数的统计分布(均值与方差),构建“标准脸型模板”。用户调整美颜强度时,实际上是在“原始脸型”与“标准脸型模板”之间进行插值。
-
个性化美颜参数推荐:基于数据驱动的美学模型,为不同用户自动推荐差异化的美颜参数组合(如“圆脸用户适合瘦脸+微调下巴”),实现“千人千面”的智能化美颜。
-
A/B 测试与效果评估:在美颜产品的效果评估中,借鉴 Leyvand 等人的方法,通过大规模用户盲测来量化美颜算法的实际提升效果,替代主观的“感觉变美了”的定性判断。
1.3 数码美妆
如果说磨皮算法解决的是“肤质”问题,五官美型解决的是“骨相”问题,那么数码美妆(Digital Makeup)解决的则是“妆效”问题——在无需真实化妆品的前提下,通过图像处理技术为面部添加眼影、腮红、口红、修容等虚拟妆容。数码美妆的技术核心可归纳为两个层面:妆容迁移(Makeup Transfer)——将一张参考人脸中的妆容风格迁移至目标人脸;以及无缝融合(Seamless Blending)——确保添加的妆容与原始肤色在边界处自然过渡,不产生生硬的“贴纸感”。二者分别对应着“画什么”与“怎么画”两个关键问题。
1.3.1 基于示例的彩妆转移
原理
基于示例的彩妆转移(Example-Based Cosmetic Transfer)由 Tong、Tang、Brown 和 Xu 于 2007 年提出,是数码美妆领域最早的经典工作之一。其目标可概括为:给定一张“妆前-妆后”的成对示例图像(由专业化妆师制作),算法自动将示例中的妆容风格迁移至任意目标人脸上。
该算法的核心流程分为以下步骤:
-
人脸对齐(Face Alignment) :对示例图像和目标图像分别进行人脸关键点检测,通过薄板样条插值(Thin-Plate Spline, TPS)将示例图像的人脸姿态和形状扭曲对齐至目标人脸,确保妆容迁移的像素级精度。
-
面部区域分解(Face Decomposition) :将人脸图像分解为三个独立通道:
- 结构层(Structure Layer) :承载面部的几何轮廓与明暗过渡。
- 纹理层(Texture Layer) :承载皮肤的毛孔、细纹等细节纹理。
- 颜色层(Color Layer) :承载肤色与妆容色彩。
-
妆容差异提取(Makeup Difference Extraction) :在示例的“妆后图”与“妆前图”之间,逐层计算差异——即妆容在结构、纹理和颜色三个维度上的“增量”。这一差异向量就是待迁移的“妆容模板”。
-
妆容迁移与重建(Transfer & Reconstruction) :将提取的妆容差异叠加至目标人脸的对应层上,再重新合成完整的图像。由于迁移发生在分解后的独立通道上,妆容的“色彩”、“质感”和“立体感”可以被独立控制。
该方法的优势在于:用户只需提供一张“妆前-妆后”的示例对,即可将任意专业妆容一键迁移至新的人脸,无需任何物理化妆。此外,用户还可以对多个示例妆容进行“混搭”和微调,创造出全新的虚拟妆容风格。

优点:
- 一键式操作:用户仅需提供一张示例图像,即可完成妆容迁移,操作极其简单。
- 妆容风格保真度高:基于专业化妆师制作的示例对,迁移后的妆容在色彩、质感和立体感上高度保真。
- 支持混搭与微调:用户可将多个示例妆容的不同部分(如眼影来自 A、口红来自 B)进行组合,实现虚拟试妆。
- 分层控制:结构、纹理、颜色三层分离,允许对妆容的明暗、质感和色彩进行独立调节。
缺点:
- 依赖成对的示例图像:需要同一个人“妆前”和“妆后”的严格配对图像,数据获取成本高。
- 姿态与光照敏感:若示例图像与目标图像的头部姿态或光照条件差异较大,迁移效果会显著下降。
- 无法处理面部遮挡:对面部有遮挡(如头发、眼镜)的情况处理能力有限。
- 缺乏对妆容语义的理解:算法仅基于像素统计进行迁移,无法区分“眼影”、“腮红”、“修容”等不同妆容类型的语义差异。
实际工程实践
基于示例的彩妆转移是虚拟试妆产品的核心技术之一,典型工程实践如下:
-
妆容模板库构建:与专业化妆师合作,制作大量“妆前-妆后”的成对示例图像,覆盖不同肤色、不同脸型、不同妆容风格(日常妆、晚宴妆、舞台妆等),构建标准化的妆容模板库。
-
人脸语义分区:在面部区域检测基础上,进一步进行语义分区(如左眼睑、右眼睑、左腮红区、右腮红区、唇部等),对不同区域独立进行妆容迁移,实现“眼影只改眼睑、口红只改唇部”的精细化控制。
-
肤色自适应调整:在迁移妆容色彩时,根据目标人脸的原始肤色对妆容色彩进行自适应调整(如深肤色用户的口红颜色应比浅肤色用户更饱和),确保妆容在不同肤色上的表现自然。
-
实时预览与交互:在移动端实现妆容迁移的实时预览,用户可滑动调节各类妆容的强度(如“口红浓度 50%”、“眼影浓度 70%”),获得“虚拟试妆”的交互体验。
-
与深度学习结合:近年来,基于生成对抗网络(GAN)和扩散模型(Diffusion Model)的妆容迁移方法逐渐成为主流,它们不再依赖成对的示例图像,而是从大量非配对数据中学习妆容的分离与迁移。
1.3.2 泊松图像编辑
原理
泊松图像编辑(Poisson Image Editing)由 Pérez、Gangnet 和 Blake 于 2003 年提出,是图像合成与无缝编辑领域最具影响力的经典算法之一。其核心思想可概括为:不是直接操作像素值,而是操作图像的梯度场——通过求解泊松方程,将源图像的梯度信息“无缝”地注入目标图像的指定区域。
传统图像粘贴(如 Photoshop 的复制-粘贴)会在拼接边界产生明显的颜色跳变和“贴纸感”。泊松图像编辑的突破性贡献在于:它只关心源图像区域内部的“变化模式”(梯度),而不关心其绝对像素值。
算法的数学表述如下:
设 Ω \Omega Ω 为目标图像中待编辑的区域, ∂ Ω \partial\Omega ∂Ω 为其边界。源图像在 Ω \Omega Ω 区域内的梯度场为 v \mathbf{v} v(通常取源图像对应区域的梯度)。泊松图像编辑的目标是:在 Ω \Omega Ω 内部寻找一个函数 f f f,使其梯度 ∇ f \nabla f ∇f 尽可能接近引导梯度场 v \mathbf{v} v,同时在边界 ∂ Ω \partial\Omega ∂Ω 上保持与目标图像 f ∗ f^* f∗ 一致:
f = arg min f ∬ Ω ∥ ∇ f − v ∥ 2 , s.t. f ∣ ∂ Ω = f ∗ ∣ ∂ Ω f = \arg\min_f \iint_\Omega \| \nabla f - \mathbf{v} \|^2, \quad \text{s.t.} \quad f|_{\partial\Omega} = f^*|_{\partial\Omega} f=argfmin∬Ω∥∇f−v∥2,s.t.f∣∂Ω=f∗∣∂Ω
该优化问题的解由如下泊松方程给出:
Δ f = div v 在 Ω 内 , f ∣ ∂ Ω = f ∗ ∣ ∂ Ω \Delta f = \text{div} \, \mathbf{v} \quad \text{在} \ \Omega \ \text{内}, \qquad f|_{\partial\Omega} = f^*|_{\partial\Omega} Δf=divv在 Ω 内,f∣∂Ω=f∗∣∂Ω
其中 Δ \Delta Δ 为拉普拉斯算子, div \text{div} div 为散度算子。求解该方程后, Ω \Omega Ω 区域的像素值被重新计算,使得区域内部的纹理和光照变化与源图像一致,但绝对亮度与边界处的目标图像自然衔接。
泊松图像编辑的优雅之处在于:它将“无缝融合”这一看似复杂的视觉任务,转化为一个具有精确数学解的偏微分方程问题。在数码美妆场景中,泊松编辑被广泛用于口红、腮红、眼影等妆容的边界羽化与自然融合。

优点:
- 无缝融合效果极佳:在拼接边界处完全消除颜色跳变,融合后的图像浑然一体,无“贴纸感”。
- 保留源图像纹理细节:由于操作在梯度域进行,源图像内部的纹理、光照变化被完整保留。
- 数学理论完备:基于泊松方程的求解具有严格的数学保证,不存在启发式调参的不确定性。
- 应用场景广泛:除妆容融合外,还广泛应用于图像抠图、纹理合成、颜色迁移、交互式蒙太奇等领域。
- 已有成熟的工程实现:OpenCV 等开源库已提供
seamlessClone等函数接口,工程集成门槛低。
缺点:
- 计算开销较大:需要求解大规模稀疏线性方程组(泊松方程),对高分辨率图像的实时处理构成挑战。
- 对梯度引导图敏感:若引导梯度场 v \mathbf{v} v 中存在噪声或不连续,求解结果可能出现伪影。
- 无法处理大尺度颜色差异:当源区域与目标区域的整体亮度差异极大时,单纯依赖梯度约束可能导致颜色漂移。
- 需要精确的掩膜边界:泊松编辑的效果高度依赖于编辑区域掩膜(Mask)的精确性,掩膜边界若不准确,融合效果会大打折扣。
实际工程实践
泊松图像编辑在数码美颜和虚拟试妆中扮演着“最后一道工序”的关键角色,典型实践如下:
-
妆容边缘羽化:在将口红、腮红、眼影等妆容区域叠加至人脸后,使用泊松编辑对妆容区域的边界进行无缝融合,消除生硬的边缘过渡。
-
多区域独立融合:对眼影、腮红、口红、修容等不同妆容区域分别执行泊松编辑,各区域的融合参数独立可调,互不干扰。
-
快速泊松求解器:在移动端部署时,采用多重网格法(Multigrid Method)或预处理共轭梯度法(PCG)加速泊松方程的求解,将计算时间压缩至毫秒级。
-
掩膜自动生成:结合人脸关键点检测和语义分割技术,自动生成各妆容区域的高精度掩膜(如唇部掩膜、眼睑掩膜),无需用户手动绘制。
-
混合梯度模式(Mixing Gradients) :在泊松编辑的基础上采用“混合梯度”策略——在源梯度和目标梯度之间取绝对值较大者,使融合后的区域既能保留源图像的纹理,又能适应目标图像的背景结构。
-
与深度学习协同:在基于深度学习的美妆模型中,将泊松编辑作为后处理模块,用于消除生成网络输出中可能存在的边界伪影,进一步提升妆容的真实感。
1.4 人体美体
面部美颜解决了“脸”的问题,而人体美体(Body Beautification)则将优化范围拓展至全身——通过图像处理技术对人物的体型比例、肢体线条进行智能调整,实现瘦身、长腿、塑形等美学诉求。从技术路径来看,人体美体可划分为两大流派:基于内容感知图像缩放(Content-Aware Image Resizing)的全局比例调整方案,以及基于人体关键点驱动变形(Landmark-Driven Deformation)的局部精细化塑形方案。前者以 Seam Carving 为代表,通过智能删除或插入“低能量”像素来改变图像比例;后者则借鉴面部美型中的 MLS 与 ARAP 变形框架,将其扩展至全身骨骼与轮廓的驱动调整。二者分别对应着“整体比例优化”与“局部线条精修”两个维度,共同构成了当代美颜 SDK 中全身美体功能的技术底座。
1.4.1 内容感知图像缩放(Seam Carving)
原理
内容感知图像缩放(Content-Aware Image Resizing),即 Seam Carving(接缝雕刻),由 Avidan 和 Shamir 于 2007 年提出。其核心思想可概括为:不同于传统等比例缩放对所有像素一视同仁地压缩或拉伸,Seam Carving 通过反复删除或插入“最不显眼”的像素路径,在改变图像尺寸的同时最大限度地保留图像的内容与结构。
Seam Carving 的核心概念是 “接缝”(Seam) ——一条从图像顶部延伸至底部(垂直接缝)或从左侧延伸至右侧(水平接缝)的 8 连通像素路径,路径上每个像素在每一行(或每一列)有且仅有一个。算法的关键在于“最优接缝”的定义:接缝的能量等于路径上所有像素的能量之和,像素能量由图像梯度幅值等显著性度量函数定义。能量越低的像素,其视觉重要性越低,删除后对图像内容的破坏越小。
最优接缝的搜索通过动态规划(Dynamic Programming)高效实现。以垂直接缝为例,算法从图像第二行开始,逐行计算到达每个像素的最小累积能量:
M ( i , j ) = e ( i , j ) + min { M ( i − 1 , j − 1 ) , M ( i − 1 , j ) , M ( i − 1 , j + 1 ) } M(i,j) = e(i,j) + \min\{M(i-1,j-1), M(i-1,j), M(i-1,j+1)\} M(i,j)=e(i,j)+min{M(i−1,j−1),M(i−1,j),M(i−1,j+1)}
其中 e ( i , j ) e(i,j) e(i,j) 为像素 ( i , j ) (i,j) (i,j) 的能量值。递推完成后,从最后一行累积能量最小的像素开始回溯,即可得到一条最优接缝。删除该接缝后,图像宽度减少一个像素;重复该过程 k k k 次,即可将图像宽度缩减 k k k 个像素。
Seam Carving 同样支持图像放大——通过在最优接缝位置插入一条由相邻像素平均生成的新接缝,实现内容感知的图像扩展。此外,算法还支持多尺寸图像(Multi-Size Image)的构建——通过存储所有接缝的删除顺序,可在实时交互中连续调整图像尺寸。

优点:
- 内容感知:算法根据图像内容智能决定删除或保留哪些像素,而非机械地等比例缩放,显著优于传统缩放方法。
- 保持重要结构:通过能量函数的设计(如梯度幅值),高能量的边缘和显著物体被自动保护,低能量的平坦区域被优先删除。
- 支持双向操作:既可缩小也可放大图像,且可独立控制宽度和高度的变化量。
- 可结合显著性先验:支持将人脸检测、视觉显著性(Visual Saliency)等先验信息融入能量函数,使算法更适配美体场景。
- 算法效率较高:单次接缝搜索的时间复杂度为 O ( n ⋅ m ) O(n \cdot m) O(n⋅m)( n n n、 m m m 为图像高宽),配合 GPU 加速可满足实时处理需求。
缺点:
- 可能破坏人体结构:当接缝路径穿过人体四肢或躯干时,可能导致局部扭曲、比例失调等视觉伪影。
- 能量函数设计敏感:梯度能量对纹理丰富区域(如衣物花纹)过于敏感,可能错误地将人体区域判定为“高能量”而保护,导致瘦身效果不佳。
- 无法处理大幅面缩放:当需要删除大量接缝时,图像内容可能产生累积性失真,视觉效果不自然。
- 视频应用中存在闪烁问题:直接对视频逐帧应用 Seam Carving,可能因接缝位置帧间不一致而产生时间域闪烁。
实际工程实践
在人体美体场景中,Seam Carving 主要用于全身照的“智能瘦身”与比例优化,典型实践如下:
-
人体区域保护蒙版:利用人体姿态估计算法(如 OpenPose、MediaPipe Pose)提取人体骨骼关键点和轮廓掩膜,在能量函数中对人体区域赋予高能量权重,确保接缝优先从背景区域删除,避免人体结构被破坏。
-
多方向接缝组合:在同时需要瘦身(水平方向收缩)和长腿(垂直方向拉伸)的场景下,采用双向接缝雕刻策略,通过动态规划优化水平和垂直接缝的删除/插入顺序,实现宽高比的协同调整。
-
多尺度渐进处理:对高分辨率图像先下采样再执行 Seam Carving,将结果上采样后通过边缘引导的插值恢复细节,大幅降低计算开销。
-
接缝位置平滑约束:在能量函数中引入接缝位置的空间平滑正则项,避免接缝在局部区域过度聚集导致纹理畸变。
-
与 MLS 变形协同:将 Seam Carving 用于整体比例的粗调(如整体瘦身 10%),再以 MLS 或 ARAP 进行局部精细化调整(如腰部收窄、腿部拉长),实现“全局+局部”的分层美体管线。
1.5 风格滤镜
如果说磨皮、美型与美妆解决的是“如何让人变美”的问题,那么风格滤镜(Style Filter)解决的则是“如何让画面变美”的问题——通过色彩、对比度和纹理的全局或局部调整,为图像赋予特定的视觉情绪与艺术风格。从技术演进来看,风格滤镜可划分为两大阶段:基于色彩统计迁移的传统滤镜时代,以及基于多尺度频域分解的艺术风格时代。前者以 Reinhard 的色彩迁移算法为代表,通过简单的统计匹配实现色调风格的快速转移;后者以 Burt 和 Adelson 的拉普拉斯金字塔为代表,通过多尺度频域分解与重组,实现对比度、纹理与色彩的分层独立调控。二者分别对应着“色彩换调”与“质感重塑”两个层次,构成了当代滤镜技术栈中“快速全局”与“精细局部”的双轨并行格局。
1.5.1 色彩迁移(Color Transfer)
原理
色彩迁移(Color Transfer)由 Reinhard、Ashikhmin、Gooch 和 Shirley 于 2001 年提出。其核心思想可概括为:将一张参考图像的色彩风格“迁移”至目标图像,使目标图像在保持原有内容结构的同时,呈现出参考图像的色调与氛围。
Reinhard 色彩迁移的精妙之处在于其极简的数学形式——仅使用均值和标准差两个统计量即可完成色彩风格的迁移。算法的完整流程如下:
-
色彩空间转换:将源图像(参考图像)和目标图像从 RGB 空间转换至 l α β l\alpha\beta lαβ 空间。该空间由 Ruderman 等人提出,其最大特点是三个通道之间的相关性极低—— l l l 通道为消色差亮度通道, α \alpha α 和 β \beta β 分别为黄-蓝和红-绿对立色通道。低相关性意味着可以在各通道上独立进行统计操作而互不干扰。
-
统计量计算:分别计算源图像和目标图像在 l l l、 α \alpha α、 β \beta β 三个通道上的均值 μ \mu μ 与标准差 σ \sigma σ。
-
统计量匹配:对目标图像的每个通道,先减去自身均值(零均值化),再按源图像与目标图像标准差的比值进行缩放,最后加上源图像的均值:
l ′ = σ l s r c σ l t g t ⋅ ( l t g t − μ l t g t ) + μ l s r c l' = \frac{\sigma_l^{src}}{\sigma_l^{tgt}} \cdot (l^{tgt} - \mu_l^{tgt}) + \mu_l^{src} l′=σltgtσlsrc⋅(ltgt−μltgt)+μlsrc
α ′ = σ α s r c σ α t g t ⋅ ( α t g t − μ α t g t ) + μ α s r c \alpha' = \frac{\sigma_\alpha^{src}}{\sigma_\alpha^{tgt}} \cdot (\alpha^{tgt} - \mu_\alpha^{tgt}) + \mu_\alpha^{src} α′=σαtgtσαsrc⋅(αtgt−μαtgt)+μαsrc
β ′ = σ β s r c σ β t g t ⋅ ( β t g t − μ β t g t ) + μ β s r c \beta' = \frac{\sigma_\beta^{src}}{\sigma_\beta^{tgt}} \cdot (\beta^{tgt} - \mu_\beta^{tgt}) + \mu_\beta^{src} β′=σβtgtσβsrc⋅(βtgt−μβtgt)+μβsrc
- 逆变换:将处理后的图像从 l α β l\alpha\beta lαβ 空间转换回 RGB 空间,得到色彩迁移后的结果图像。
该方法的本质是:将目标图像的颜色分布(均值和方差)调整为与源图像一致。由于 l α β l\alpha\beta lαβ 空间的通道间低相关性,这种逐通道的统计匹配可以在保持目标图像内容结构的前提下,有效迁移源图像的色彩风格。
优点:
- 算法极其简洁:仅需计算均值和标准差,实现代码不足百行,是图像处理领域“简单而有效”的典范。
- 计算效率极高:O(N) 时间复杂度,仅需两次遍历(一次计算统计量、一次应用变换),适合实时处理。
- 视觉效果自然:迁移后的图像色彩风格与参考图像高度一致,同时保留了原图的内容与结构。
- 支持局部迁移扩展:可通过图像分割将目标图像划分为多个区域,对不同区域分别匹配不同参考图像的色彩统计,实现局部色彩迁移。
- 对美颜场景适配良好:可将“日系清新”、“欧美复古”等预设滤镜的色彩风格快速应用于人像照片。
缺点:
- 仅考虑一阶与二阶统计量:仅使用均值和标准差,忽略了颜色分布的高阶信息(如偏度、峰度),可能导致迁移后的色彩分布不够丰富。
- 全局迁移缺乏选择性:对所有像素一视同仁,无法区分肤色、衣物、背景等不同语义区域,可能导致肤色失真(如人脸变绿或变紫)。
- 对极端颜色分布敏感:当源图像或目标图像的颜色分布存在多模态(Multi-Modal)时,简单的统计匹配效果不佳。
- 无法迁移纹理与结构风格:仅改变色彩,无法迁移参考图像的对比度、纹理或笔触等更高阶的风格特征。
实际工程实践
Reinhard 色彩迁移是滤镜功能中最基础的底层算子,典型工程实践如下:
-
预设滤镜库构建:选取大量具有代表性色彩风格的参考图像(如“日系”、“港风”、“胶片”、“黑白”等),预先计算并存储其在 l α β l\alpha\beta lαβ 空间的均值和标准差,构建“滤镜参数库”。用户选择滤镜时,直接读取参数应用,无需加载参考图像。
-
肤色保护策略:在应用色彩迁移前,先通过肤色检测模型生成肤色概率图,对肤色区域施加较弱或不施加色彩迁移,而对背景和衣物区域施加全量迁移,避免人脸肤色失真。
-
强度可调:在迁移结果与原始图像之间进行线性插值,使用户可通过滑块控制滤镜强度(0%~100%),实现从“微调”到“全效”的连续过渡。
-
局部色彩迁移:结合人脸关键点与语义分割,对图像的不同区域(肤色、唇色、发色、背景等)分别匹配不同的参考色彩统计,实现“只改背景色调、不改肤色”等精细化控制。
-
GPU 并行加速:色彩迁移的逐像素操作具有完美的数据并行性,在 GPU 着色器中实现可达到 4K 图像毫秒级处理。
-
视频流时序平滑:对视频逐帧应用色彩迁移时,对统计量(均值和标准差)进行帧间指数移动平均(EMA)平滑,避免色彩风格的帧间跳变。
1.5.2 拉普拉斯金字塔(Laplacian Pyramid)
原理
拉普拉斯金字塔(Laplacian Pyramid)由 Burt 和 Adelson 于 1983 年提出。其核心思想可概括为:将图像分解为一系列不同尺度(分辨率)的频带分量,每个分量对应图像中特定尺度的空间频率信息,从而实现图像的多尺度分析与处理。
拉普拉斯金字塔的构建分为两个核心操作:
-
Reduce 操作(下采样) :对图像 G k G_k Gk 应用高斯低通滤波,然后进行隔行隔列下采样,得到分辨率减半的图像 G k + 1 G_{k+1} Gk+1。重复该过程,得到一系列分辨率逐级减半的图像,构成高斯金字塔(Gaussian Pyramid)。
-
Expand 操作(上采样) :对 G k + 1 G_{k+1} Gk+1 进行上采样(插值填充零)后再应用高斯低通滤波,得到与 G k G_k Gk 同尺寸的预测图像 G k + 1 ↑ G_{k+1}^{\uparrow} Gk+1↑。
拉普拉斯金字塔的第 k k k 层定义为高斯金字塔第 k k k 层与其上一层 Expand 结果之间的差值:
L k = G k − Expand ( G k + 1 ) L_k = G_k - \text{Expand}(G_{k+1}) Lk=Gk−Expand(Gk+1)
直观理解:高斯金字塔存储的是图像的“缩略图” ,而拉普拉斯金字塔存储的是“缩略图与原始图之间的差异” ——即图像在不同尺度上的细节信息。最高层的拉普拉斯金字塔包含最细微的纹理细节(高频),最底层的拉普拉斯金字塔包含最粗糙的结构轮廓(低频)。
拉普拉斯金字塔的原始设计目标是图像编码与压缩——由于拉普拉斯金字塔各层的像素值分布集中(方差小),便于高效量化与熵编码。但很快研究者发现,这一多尺度表示在图像融合、增强、纹理编辑等任务中展现出更大的价值。在风格滤镜场景中,拉普拉斯金字塔使得在不同尺度上独立操控图像的对比度、纹理与色彩成为可能。

优点:
- 多尺度频域分解:将图像分解为从高频到低频的多个尺度分量,可在不同尺度上独立进行处理,实现精细化的风格调控。
- 完全可逆:拉普拉斯金字塔可以无损重建原始图像,所有处理操作均可逆。
- 计算效率高:构建金字塔的核心操作为卷积与下采样,时间复杂度为 O ( N ) O(N) O(N),且有成熟的快速算法。
- 与人类视觉系统对齐:人类视觉对图像不同频率成分的敏感度不同,拉普拉斯金字塔的频域分解天然适配视觉感知模型。
- 应用场景极广:除滤镜外,还广泛应用于图像融合、HDR 压缩、纹理合成、图像增强等领域。
缺点:
- 分解基函数固定:使用固定的高斯核进行滤波与采样,缺乏对图像内容的自适应能力。
- 各尺度间存在冗余:拉普拉斯金字塔的各层之间存在一定的信息冗余,压缩效率不如现代小波变换。
- 对纹理与结构不加区分:在某一尺度上,拉普拉斯金字塔无法区分“该尺度的纹理”与“该尺度的结构”,可能导致风格迁移时误伤重要结构。
实际工程实践
拉普拉斯金字塔在风格滤镜中扮演着“频域调色板”的角色,典型实践如下:
-
多尺度对比度增强:对拉普拉斯金字塔的各层分别施加不同的增益系数——对高频层(细节)适度抑制或增强,对低频层(整体明暗)进行色调映射,实现“细节清晰、整体柔和”的滤镜效果。
-
纹理迁移:将参考图像的拉普拉斯金字塔高频层与目标图像的拉普拉斯金字塔低频层进行重组,生成“具有参考图像纹理质感、但保持目标图像色彩与结构”的混合风格图像。
-
HDR 色调映射:将高动态范围图像的拉普拉斯金字塔各层进行动态范围压缩后重组,生成既保留细节又适应低动态显示设备的视觉效果。
-
人像细节分层滤镜:在美颜场景中,将拉普拉斯金字塔的高频层(皮肤纹理)与中频层(五官轮廓)分离处理——对高频层施加磨皮(衰减),对中频层施加锐化(增强),实现“磨皮不磨轮廓”的精细化控制。
-
与深度学习结合:在基于生成对抗网络的风格迁移模型中,将拉普拉斯金字塔分解作为感知损失(Perceptual Loss)的多尺度组成部分,引导生成网络在不同频域尺度上同时逼近目标风格。
-
GPU 加速实现:拉普拉斯金字塔的 Reduce 和 Expand 操作均为卷积与采样,在 GPU 上可高效并行实现,满足 4K 视频的实时处理需求。
2 深度学习算法
传统美颜算法基于手工设计的滤波算子与几何变形规则,在计算效率与物理可解释性上具有优势,但其根本局限在于缺乏对图像语义内容的理解能力——它们“看见”的是像素值与梯度幅值,而非眼睛、鼻子、口红或腰部曲线。深度学习的引入从根本上改变了这一局面:卷积神经网络(CNN)能够从海量数据中自动学习层次化的特征表示,生成对抗网络(GAN)与扩散模型(Diffusion Model)则进一步赋予了算法“凭空生成”真实感图像的能力。从技术演进来看,深度学习对美颜算法的革新体现在三个层面:数据驱动的语义理解(模型能区分“痘印”与“卧蚕”)、端到端的联合优化(磨皮、美型、美妆可在同一框架内协同学习)以及隐空间的可控编辑(通过在 GAN 或扩散模型的隐空间中操纵语义向量,实现连续、可解释的属性调控)。本章沿着与传统算法相同的功能维度——基础美颜、五官美型、数码美妆、人体美体、风格滤镜——系统梳理深度学习时代的关键技术突破与代表性工作。
2.1 基础美颜
深度学习时代的基础美颜算法,在理念上继承了传统保边滤波“平滑皮肤、保留五官”的核心目标,但在实现路径上实现了根本性跃迁——从“手工设计滤波核”走向“数据驱动学习滤波核” 。深度学习模型不再依赖人为设定的空间距离与灰度相似性权重,而是通过大规模成对数据(原始图 vs. 精修图)自动学习最优的皮肤平滑策略与边缘保护策略。这一转变使得算法能够根据面部不同区域(T区、脸颊、眼周)的皮肤特性自适应地调整磨皮强度,并在语义层面区分“需要保留的卧蚕与酒窝”与“需要祛除的痘痘与色斑”。
2.1.1 VRetouchEr:视频人脸修图
原理
VRetouchEr 是首个将视频时序一致性引入人脸修图任务的深度学习方法,由薛文、蒋乐等学者提出。其核心思想可概括为:通过估计瑕疵在相邻帧之间的运动位移(瑕疵流),并结合多帧掩码注意力机制,实现视频中面部瑕疵的精准定位与稳定去除。
传统图像修图方法逐帧独立处理,在视频场景中会产生明显的帧间闪烁与肤色跳变。VRetouchEr 从两个层面解决这一问题:
-
基于瑕疵流的定位精化(Flow-based Imperfection Refinement, FIR) :传统方法对每一帧独立进行瑕疵检测,当人脸姿态发生较大变化时,检测结果不稳定。VRetouchEr 设计了一个瑕疵流估计网络,预测相邻帧之间瑕疵区域的位移向量,并利用该位移信息对当前帧的瑕疵检测结果进行扭曲对齐与自适应融合。具体而言,算法将前一帧的瑕疵图通过瑕疵流扭曲至当前帧,再与当前帧的独立检测结果进行可学习对齐融合,从而获得更加稳定和精确的跨帧瑕疵定位。
-
多帧掩码注意力机制(Multi-frame Masked Attention, MMA) :VRetouchEr 采用编码器-Transformer-解码器架构。在 Transformer 的每一层中,算法利用精化后的瑕疵图作为软掩码,将当前帧(目标帧)中的瑕疵区域特征作为查询(Query),将多张参考帧中的正常皮肤区域特征作为键(Key)与值(Value),通过交叉注意力计算,使模型能够从不同帧的正常皮肤中“借用”信息来替换当前帧的瑕疵区域。公式表达为:
Q t = W q ( f t ⊗ M t + b q ) , K r i = W k ( f r i ⊗ ( 1 − M r i ) + b k ) , V r i = W v ( f r i ⊗ ( 1 − M r i ) + b v ) Q_t = W_q(f_t \otimes M_t + b_q), \quad K_r^i = W_k(f_r^i \otimes (1-M_r^i) + b_k), \quad V_r^i = W_v(f_r^i \otimes (1-M_r^i) + b_v) Qt=Wq(ft⊗Mt+bq),Kri=Wk(fri⊗(1−Mri)+bk),Vri=Wv(fri⊗(1−Mri)+bv)
Δ f t = softmax ( Q t ⋅ ∑ i δ K r i / Λ ) ⋅ ∑ i δ V r i \Delta_{f_t} = \text{softmax}\left(Q_t \cdot \sum_{i}^{\delta} K_r^i / \sqrt{\Lambda}\right) \cdot \sum_{i}^{\delta} V_r^i Δft=softmax(Qt⋅i∑δKri/Λ)⋅i∑δVri
其中 ⊗ \otimes ⊗ 为逐元素乘, δ \delta δ 为参考帧数量, Λ \Lambda Λ 为特征通道数。
最终,原始特征与修改特征按掩码加权组合,确保正常皮肤区域保持不变,仅瑕疵区域被替换:
f t ^ = f t ⊗ ( 1 − M t ) + Δ f t ⊗ M t \hat{f_t} = f_t \otimes (1-M_t) + \Delta_{f_t} \otimes M_t ft^=ft⊗(1−Mt)+Δft⊗Mt
VRetouchEr 的另一个重要贡献是:无需真实的视频修图成对数据即可训练——利用 FFHQR 静态图像数据集构造模拟视频序列进行训练,并可泛化至真实的未剪辑视频。
下图展示了 VRetouchEr 的整体网络架构(编码器-Transformer-解码器),其中 FIR 模块负责跨帧瑕疵定位精化,MMA 机制负责多帧特征交互与瑕疵区域修复:

优点:
- 时序一致性强:通过瑕疵流与多帧注意力机制,VRetouchEr 在视频帧间的修图结果保持高度稳定,有效避免了逐帧独立处理常见的闪烁与肤色跳变问题。
- 瑕疵定位精准:瑕疵流引导的定位精化策略,使瑕疵检测在姿态变化、表情变化等复杂场景下仍保持高精度。实验表明,VRetouchEr 在 MRFV 数据集上的 Soft-IoU 达到 0.568,显著优于 BPFRe(0.332)。
- 修图效果优异:在 FFHQR-Seq 数据集上,VRetouchEr 的 PSNR 达到 39.75 dB,相较 BPFRe 提升 1.06 dB;LPIPS 降至 0.0169,VFID 降至 6.375,在所有对比方法中均取得最优结果。
- 用户偏好显著:在用户研究中,VRetouchEr 以 88.45% 的 Rank-1 投票率大幅领先 BPFRe(11.15%)与 ProPainter(0.25%)。
- 无需视频成对数据:仅需静态图像成对数据即可训练,有效克服了视频修图数据难以采集的工程瓶颈。
缺点:
- 计算开销较高:Transformer 架构结合多帧注意力计算,对显存与算力要求较高,移动端实时部署存在挑战。
- 依赖光流估计精度:瑕疵流估计基于 SpyNet 等预训练光流网络,在极端姿态或快速运动场景下,光流估计误差可能累积影响修图质量。
- 参考帧数量需权衡:实验表明增加参考帧数量( δ \delta δ)可提升效果,但当 δ > 6 \delta > 6 δ>6 后性能趋于饱和,同时计算量线性增长,需根据实际场景权衡。
- 训练数据依赖:虽然无需视频成对数据,但仍依赖 FFHQR 等高质量静态图像修图数据集,数据获取成本较高。
实际工程实践
VRetouchEr 为视频美颜 SDK 中的“自动磨皮”与“瑕疵去除”功能提供了新的技术范式,典型实践如下:
-
视频后处理修图:对已拍摄完成的视频进行离线批量修图处理,利用多帧上下文信息获得最佳效果,适用于短视频平台的内容增强。
-
直播实时美颜的前沿探索:当前 VRetouchEr 的计算量尚难以满足直播场景的实时性要求,但其 FIR 与 MMA 模块的设计思想可被轻量化模型借鉴——如将 Transformer 替换为轻量级时序卷积模块,将多帧注意力简化为相邻 2-3 帧的局部注意力,有望在算力充足的云端直播场景中落地。
-
瑕疵标注自动生成:利用 VRetouchEr 的 FIR 模块输出的精化瑕疵图,可作为伪标签自动生成视频帧的瑕疵区域标注,减少人工标注成本。
-
与图像修图模型协同:在视频修图管线中,以 VRetouchEr 作为时序一致性增强模块,接在单帧修图模型(如 BPFRe)之后,对单帧结果进行时序平滑与瑕疵补全。
-
帧间质量监控:利用 VRetouchEr 的瑕疵流估计结果,可对视频帧间的修图质量进行自动评估——当瑕疵流发生突变时,提示该区域可能需要人工复核。
2.1.2 StyleRetoucher:基于GAN先验的通用人像修图
- 论文:[StyleRetoucher: Generalized Portrait Image Retouching With GAN Priors](https://arxiv.org/abs/2312.14389)
原理
StyleRetoucher 由苏万超、王灿等学者提出,是首个将 StyleGAN 生成先验引入人像修图任务的深度学习方法。其核心思想可概括为:将输入人像投影到 StyleGAN 的隐空间中,通过隐式瑕疵感知特征选择机制,利用 StyleGAN 强大的生成能力合成高质量皮肤来替换瑕疵区域,同时通过级联特征融合最大限度地保留原始面部细节。
传统 CNN 修图方法(如 AutoRetouch、ABPN)直接学习输入到输出的端到端映射,其泛化能力严重受限于训练数据的规模与分布,且容易产生过平滑或纹理伪影。StyleRetoucher 从根本上改变了这一范式——不再将修图视为“输入→输出”的映射问题,而是转化为 “在 GAN 先验空间中搜索与输入最接近的高质量样本” 的问题。这一范式转换使模型在面对域外数据或少量训练样本时仍能保持稳定的修图质量。
StyleRetoucher 的完整架构包含三个核心模块:
-
GAN先验模块(GAN Prior, GP) :利用预训练于 FFHQ 数据集上的 StyleGAN2 生成器作为修图的“皮肤合成引擎”。输入图像的 StyleGAN 隐码(W+空间)控制生成过程,同时所有中间层的空间特征图均与输入特征进行融合,以保留除瑕疵外的所有精细细节。
-
语义提取模块(Semantic Extraction, SE) :通过级联的 SE 单元逐级提取输入图像的多尺度空间特征,并在顶部通过隐码提取头(Latent Extraction Head, LEH)将图像映射至 StyleGAN 的 W+隐空间,得到 18×512 维的隐码。
-
瑕疵感知特征选择模块(Blemish-Aware Feature Selection, BAFS) :这是 StyleRetoucher 的核心创新。该模块在每一级 StyleGAN 生成层中,对来自 SE 的输入特征与来自 GP 的生成特征进行融合。融合过程通过两组注意力掩码实现——空间掩码隐式定位瑕疵区域,通道掩码调整全局特征权重。其数学表达为:
H i = FConv ( FCat ( F S i , F I i + 1 ) ) H_i = \text{FConv}(\text{FCat}(F_S^i, F_I^{i+1})) Hi=FConv(FCat(FSi,FIi+1))
M C i , 1 − M C i = FSoft ( FChannel ( H i ) ) , M S i , 1 − M S i = FSoft ( FSpatial ( H i ) ) M_C^i, 1-M_C^i = \text{FSoft}(\text{FChannel}(H_i)), \quad M_S^i, 1-M_S^i = \text{FSoft}(\text{FSpatial}(H_i)) MCi,1−MCi=FSoft(FChannel(Hi)),MSi,1−MSi=FSoft(FSpatial(Hi))
F Blend i = M S i ⋅ M C i ⋅ F S i + ( 1 − M S i ) ⋅ ( 1 − M C i ) ⋅ F I i + 1 F_{\text{Blend}}^i = M_S^i \cdot M_C^i \cdot F_S^i + (1-M_S^i) \cdot (1-M_C^i) \cdot F_I^{i+1} FBlendi=MSi⋅MCi⋅FSi+(1−MSi)⋅(1−MCi)⋅FIi+1
其中 F S i F_S^i FSi 为语义特征, F I i + 1 F_I^{i+1} FIi+1 为 GAN 生成特征, M C i M_C^i MCi 与 M S i M_S^i MSi 分别为通道与空间注意力掩码。这一机制通过端到端训练自动学会识别瑕疵区域,并用 GAN 先验中的高质量皮肤特征进行替换,而非依赖任何显式的瑕疵标注。
下图展示了 StyleRetoucher 的完整网络架构。输入图像经 SE 模块提取多尺度空间特征与 W+隐码,GP 模块(StyleGAN)在隐码控制下生成高质量面部特征,BAFS 模块在每一级进行特征选择与融合,最终输出修图结果:

StyleRetoucher 还支持内容感知的修图强度控制——通过调整 BAFS 模块中通道掩码的强度因子(0.8~1.2),可在不改变空间掩码(即不扩大修图范围)的前提下,平滑调节瑕疵区域的修复程度,且非修图区域完全不受影响。
优点:
- 泛化能力卓越:由于将修图问题转化为 GAN 先验空间中的搜索问题,StyleRetoucher 对域外数据和新场景具有天然的适应能力。实验表明,在仅用 500 张训练样本的条件下,StyleRetoucher 的用户感知评分(3.40)远超 AutoRetouch(2.21)和 ABPN(2.11)。
- 细节保留出色:通过 SE 模块逐级提取输入特征并与 GP 模块进行级联融合,StyleRetoucher 能够最大限度地保留原始人像中的非瑕疵细节(如痣、毛发、纹理等),避免过平滑。
- 瑕疵定位精确:BAFS 模块通过空间和通道双维度注意力掩码,隐式地学习识别瑕疵区域。可视化结果表明,生成的掩码精准地聚焦于痘痘、疤痕等瑕疵区域,而非整张脸。
- 修图效果自然:基于 StyleGAN 生成的皮肤具有真实的光影过渡与纹理质感,避免了传统滤波方法的“塑料感”和 CNN 方法常见的斑块伪影。
- 数据效率高:相比 AutoRetouch(需完整 FFHQR 数据集)和 ABPN(对数据量高度敏感),StyleRetoucher 在小样本条件下仍表现稳定,显著降低了对大规模成对修图数据的依赖。
缺点:
- 依赖预训练 GAN 的先验覆盖范围:StyleGAN 的训练数据主要为正面、无遮挡的西方人脸,对于亚洲人脸、极端姿态、重度遮挡或非人脸场景,生成先验可能不足,影响修图效果。
- 计算资源消耗较高:需要运行完整的 StyleGAN2 生成器及多尺度特征融合,显存占用与计算量均高于轻量级 CNN 方案,移动端实时部署存在挑战。
- 部分瑕疵难以完全清除:当瑕疵区域的视觉特征与正常皮肤高度相似时,BAFS 模块可能无法准确识别,导致修图不彻底(如图 15 所示)。
- 定量指标与主观感知存在偏差:由于修图仅影响图像中稀疏的像素区域(小于 40%),PSNR、SSIM 等全参考指标难以有效反映修图质量的真实差异,需依赖用户研究进行效果评估。
实际工程实践
StyleRetoucher 为专业级人像修图的自动化提供了新的技术路径,典型实践如下:
-
专业人像后期处理:作为 Photoshop 等专业软件中“一键智能修图”功能的核心引擎,对 RAW 格式或高分辨率人像照片进行自动瑕疵去除,辅助摄影师快速完成批量初修。
-
云端修图服务:鉴于其计算开销较高,StyleRetoucher 更适配云端部署场景——用户上传照片至云端,服务器调用修图模型处理后返回结果,适用于在线证件照制作、电商人像精修等业务。
-
小样本场景下的修图模型训练:当特定领域(如医疗美容、影视剧照)的成对修图数据有限时,StyleRetoucher 的小样本适应能力使其成为首选方案——仅需数百张标注数据即可获得可用的修图模型。
-
GAN 先验迁移学习的示范框架:StyleRetoucher 的“SE+GP+BAFS”架构为其他需要“细节保持+局部编辑”的图像处理任务(如人脸修复、图像融合、局部重光照)提供了可借鉴的范式。
-
修图强度可调的用户交互:通过调节 BAFS 模块的通道掩码强度因子(0.8~1.2),为用户提供“轻度修图—中度修图—深度修图”的连续控制选项,满足不同场景下的个性化需求。
2.2 五官美型
传统五官美型依赖 MLS、ARAP 等基于控制点插值的几何变形方法,本质上是在二维图像平面上“拉伸”像素。深度学习的介入将五官美型从“像素级几何操作”提升至“隐空间语义编辑”——模型不再直接操作像素坐标,而是在 GAN 或扩散模型的高维隐空间中,通过操纵与“眼睛大小”、“鼻子高度”、“下巴宽度”等属性对应的语义向量,实现自然、连贯且保持身份的人脸变形。这一范式转换的核心优势在于:隐空间编辑天然具备解耦性(修改眼睛大小不会影响鼻子形状)与连续性(可平滑调节变形强度)。
2.2.1 DeepFaceReshaping:基于关键点操控的交互式人脸重塑
- 论文:DeepFaceReshaping: Interactive Deep Face Reshaping via Landmark Manipulation(Computational Visual Media, 2024)
原理
DeepFaceReshaping 由陈姝宇、姜跃仁等学者提出,是一个基于地标操控的交互式深度人脸重塑框架。其核心思想可概括为:用户通过拖拽少量面部关键点(Landmarks)来指定变形目标,系统通过神经形状变形自动补全合理的面部形状变化,再经局部到全局的生成网络合成高真实感的重塑后人脸图像。
传统人脸编辑方法主要面临两类问题:一是基于图像扭曲(如 MLS)的方法无法合成输入图像中不存在的区域(如张嘴露出的牙齿、睁眼露出的虹膜等);二是基于涂鸦或语义图的生成方法虽然灵活,但对无绘画经验的普通用户极不友好,用户难以绘制出能生成理想结果的精确输入。DeepFaceReshaping 通过两个步骤的系统设计同时解决了上述问题:
- 基于地标的神经形状变形(Neural Shape Deformation) :这是该工作的第一个核心创新。传统方法需要用户手动调整大量地标点才能获得自然的脸型变化,操作繁琐。DeepFaceReshaping 在大量人脸地标数据上训练了一个图卷积变分自编码器(Graph-Convolutional VAE),将人脸地标网格编码至一个低维潜在空间,该空间参数化了“自然脸型”的分布。在推理时,用户仅需拖拽少量地标点,系统便在该潜在空间中优化求解一个完整的地标网格,使其既满足用户的地标约束,又处于自然脸型的分布范围内。这一过程可用如下优化式表达:
arg min z ∈ space ∥ dec ( z ) Π − M usr ′ ∥ 2 \arg\min_{z \in \text{space}} \| \text{dec}(z) \Pi - M_{\text{usr}}' \|^2 argz∈spacemin∥dec(z)Π−Musr′∥2
其中 z z z 为潜在编码, dec \text{dec} dec 为 VAE 解码器, Π \Pi Π 为选择矩阵, M usr ′ M_{\text{usr}}' Musr′ 为用户拖拽后的部分地标。该机制使得用户仅需拖拽 1-2 个点即可驱动整个面部形状的自然变化(如拖拽嘴角即可完成微笑表情的生成,同时下巴、脸颊等区域自动联动调整)。
- 局部到全局的图像生成(Local-to-Global Face Generation) :这是该工作的第二个核心创新。给定变形后的地标图,传统图像扭曲方法无法合成新暴露的区域(如张嘴后口腔内部的牙齿)。DeepFaceReshaping 采用了一种局部到全局的生成策略:将面部按语义划分为“脸部轮廓”、“眉眼”、“鼻子”、“嘴巴”四个组件,每个组件由独立的部分精修模块(Partial Refinement Module)基于条件 GAN 和 Transformer 外观编码器进行生成。部分精修模块中,输入的地标图与原始图像组件共同输入网络,通过Transformer 外观编码器捕获全局身份与纹理信息,再经条件生成网络输出对应组件的图像。随后,四个组件的特征在全局融合模块(Global Fusion Module)中以 U-Net 结构拼接融合,并与背景编码合并,生成完整的人脸图像。
下图展示了 DeepFaceReshaping 的完整架构。地标检测后经神经形状变形获得目标地标图,分割为四个组件分别经部分精修模块生成,最后全局融合输出:

DeepFaceReshaping 的训练采用了端到端的两阶段策略,损失函数包括对抗损失(多尺度 PatchGAN)、特征匹配损失、Lab 颜色空间损失以及身份保持损失(通过 ArcFace 特征余弦相似度约束)。
优点:
- 交互方式直观易用:普通用户仅需拖拽面部地标点即可完成编辑,无需绘画技能。用户研究表明,在可用性评分中 DeepFaceReshaping 得分为 4.55/5,显著优于 MaskGAN 的涂鸦交互方式(3.18/5)。
- 变形结果自然合理:基于图卷积 VAE 的神经形状变形将变形约束在“自然脸型”的潜在空间中,即使用户只拖拽 1 个点,系统也能自动补全合理的全局脸型变化(如图 8 所示)。
- 生成质量优异:在 CelebA-HQ 数据集上,DeepFaceReshaping 的 SSIM(0.761)、LPIPS(0.237)和 FID(43.97)均优于 SEAN、CocosNet、MaskGAN 和 Bilayer 等对比方法。
- 身份保持能力强:通过 ArcFace 身份损失约束,DeepFaceReshaping 在 CurFR(人脸验证准确率)指标上达到 0.78,显著优于 SEAN(0.64)和 MaskGAN(0.61),用户评分中身份控制项同样排名第一(1.89 vs. 第二名 1.99)。
- 支持精细局部编辑:由于采用了组件级的局部生成网络,DeepFaceReshaping 支持对不同面部组件进行独立编辑(如图 6 所示的渐进式编辑序列)。
缺点:
- 编辑范围受限于地标域:仅能编辑地标覆盖的面部形状区域,无法编辑头发、配饰、背景等非地标区域。
- 极端变形支持有限:当用户拖拽地标超出正常脸型分布范围时(如极端夸张的瘦脸),VAE 的潜在空间约束可能导致变形不充分或生成结果失真(如图 10 第二行所示)。
- 对野外人像的鲁棒性不足:当输入图像与训练集(CelebA-HQ)分布差异较大时(如老年人、极端光照、夸张妆容),身份保持与生成质量会明显下降。
- 无法直接控制纹理细节:与专业的涂鸦式编辑工具(如 DeepFaceEditing)相比,DeepFaceReshaping 不支持对皱纹、痣、肤色等纹理细节的精确操控。
- 大角度侧脸适用性有限:目前仅针对正面人脸(偏航角 ±15°以内)设计,大角度侧脸时地标偏移会导致组件融合偏差。
实际工程实践
DeepFaceReshaping 为交互式人脸编辑工具提供了新的技术范式,典型实践如下:
-
傻瓜式图片美化工具:以“拖拽地标”代替“调节参数滑块”,普通用户可直观地通过拖拽面部轮廓、眼睛、鼻子、嘴巴等区域的地标点来实现瘦脸、大眼、微笑调整等常见美型操作,大幅降低了修图软件的使用门槛。
-
直播短视频实时美型:在算力充足的 PC 端或云端,可将 DeepFaceReshaping 部署为直播美颜中的“智能美型”功能——基于人脸关键点自动识别当前脸型,并为用户推荐可拖拽的编辑手柄。
-
人像照片的交互式后期精修:作为专业人像后期软件(如 Lightroom、Capture One)的插件,为摄影师提供基于地标拖拽的精细化脸型调整能力,替代传统的液化(Liquify)工具。
-
虚拟试妆与发型设计的前置模块:在虚拟试妆或虚拟发型设计中,先用 DeepFaceReshaping 调整用户的脸型(如长脸→圆脸),再叠加妆容或发型效果,使试妆结果更贴合用户的美学预期。
-
辅助人脸动画与表情驱动:将 DeepFaceReshaping 的变形地标图作为中间表示,输入至人脸动画或表情迁移管线(如 Bilayer),实现“编辑-驱动”一体化的内容创作工具。
2.2.2 UP-FacE:用户可预测的细粒度人脸形状编辑
原理
UP-FacE(User-predictable Face Editing)由 Strohm、Baceș 和 Bulling 提出,聚焦于一个被长期忽视但至关重要的用户体验问题:现有面部编辑方法均无法让用户在操作前预知“调整多少会产生多大效果”,用户只能通过反复试错来逼近目标效果。该工作的核心思想可概括为:通过基于地标的语义人脸特征量化面部形状,并训练一个特征值到编辑向量的精确映射模型,使用户能够通过滑块精确设定目标特征值,实现“所见即所得”的可预测编辑。
UP-FacE 的实现包含三个关键创新:
-
基于地标的语义人脸特征定义:这是 UP-FacE 的理论基础。现有属性编辑方法依赖于粗粒度的二元属性标注(如“大眼睛”/“小眼睛”),无法提供精细的连续控制。UP-FacE 利用 98 个稠密面部地标(来自 WFLW 数据集),定义了 23 个可量化的语义人脸特征 m ∈ M m \in \mathcal{M} m∈M,涵盖眼宽、眼距、眼开度、眉毛高度/宽度/厚度/形状、鼻宽/长度/尖度、嘴高/宽/开度/形状、上下唇厚度、下巴长度/宽度/形状、下颌宽、颞宽等。每个特征由地标的 x x x 或 y y y 坐标通过可微分的代数组合计算得到(如眼宽 = ( x 64 − x 60 ) + ( x 72 − x 68 ) = (x_{64} - x_{60}) + (x_{72} - x_{68}) =(x64−x60)+(x72−x68))。这些特征值可在任意编辑节点被精确测量,从而使用户能够设定明确的目标值。
-
Transformer 编辑网络:UP-FacE 在预训练的 StyleGAN2 的映射网络与合成网络之间插入了一个 Transformer 编码器。输入为 w + ∈ R 512 × 18 w^+ \in \mathbb{R}^{512 \times 18} w+∈R512×18(StyleGAN 的隐码序列)与目标特征的嵌入向量 e j ∈ R 512 e_j \in \mathbb{R}^{512} ej∈R512,输出为语义编辑向量 s e ∈ R 512 × 18 se \in \mathbb{R}^{512 \times 18} se∈R512×18。编辑后的隐码为:
w edit + = w + + k ⋅ s e w^+_{\text{edit}} = w^+ + k \cdot se wedit+=w++k⋅se
其中 k k k 为缩放因子,由独立的缩放网络(Scaling Network,由三层全连接网络构成)根据当前特征值 m j m_j mj 与目标值 m j t m_j^t mjt 预测得到。
- 语义人脸特征损失(Semantic Face Feature Loss, L SFF L_{\text{SFF}} LSFF) :这是 UP-FacE 最核心的训练创新。传统方法依赖像素级或感知损失来监督生成质量,但这些损失无法确保特征值的精确变化。UP-FacE 设计了如下损失函数:
L SFF = MSE ( m j p , m j t ) + λ reg ∑ i = 1 , i ≠ j 23 MSE ( m i p , m i t ) ⋅ ( 1 − λ cor ⋅ ∣ c ( m i , m j ) ∣ ) L_{\text{SFF}} = \text{MSE}(m_j^p, m_j^t) + \lambda_{\text{reg}} \sum_{i=1, i \neq j}^{23} \text{MSE}(m_i^p, m_i^t) \cdot (1 - \lambda_{\text{cor}} \cdot |c(m_i, m_j)|) LSFF=MSE(mjp,mjt)+λregi=1,i=j∑23MSE(mip,mit)⋅(1−λcor⋅∣c(mi,mj)∣)
其中 m j p m_j^p mjp 为编辑后图像的特征预测值, c ( m i , m j ) c(m_i, m_j) c(mi,mj) 为特征 i i i 与 j j j 在 FFHQ 数据集上的 Pearson 相关系数。第一项强制目标特征达到目标值;第二项为相关性松弛正则项——当两个特征在自然人脸中高度相关(如“眼宽”与“眉毛宽度”)时,允许模型同时修改二者而不受惩罚,从而保证编辑结果的自然性。
下图展示了 UP-FacE 的整体架构。StyleGAN2(灰色)的映射网络将 z z z 映射为 w + w^+ w+,Transformer 编码器(绿色)接收 w + w^+ w+ 与特征嵌入 e j e_j ej 输出编辑向量 s e se se,缩放网络预测缩放因子 k k k,生成编辑后隐码 w edit + w^+_{\text{edit}} wedit+。地标检测器与特征计算模块(蓝色)仅用于训练时的梯度回传:

UP-FacE 的训练完全无需人工标注——仅需随机生成 StyleGAN 图像并设定随机的目标特征值,通过可微分的地标检测器(SPIGA)计算损失并反向传播至 Transformer 和缩放网络。这种自监督训练范式在面部编辑领域尚属首次。
优点:
- 用户可预测性(User-Predictable) :这是 UP-FacE 相对于所有现有方法的根本性突破。用户通过滑块设定特征值(如“嘴开度 = -1.1”),即可精确预知编辑后嘴部将完全闭合,无需试错。这一特性在交互式编辑工具中具有极高的实用价值。
- 无需人工标注:现有属性编辑方法(如 InterFaceGAN)依赖数万张人工标注的二元属性标签。UP-FacE 完全基于地标自动计算特征值进行自监督训练,数据成本几乎为零。
- 精细连续控制:23 个语义特征均支持连续的数值调节,而非二元切换。用户可精确控制“眼睛睁大 30%”而非简单的“大眼开/关”。
- 解耦程度高:通过相关性松弛的正则化策略,UP-FacE 实现了较高的特征解耦——编辑“眼宽”时不会意外改变“鼻长”。消融实验中,UP-FacE 的 Entanglement 指标为 0.234,优于无正则化版本(0.267)。
- 编辑质量优异:在微笑编辑基准上,UP-FacE 的 FID(27.15)显著优于 GANSpace(36.89)和 InterFaceGAN(32.58),且身份保持(ID Score)也优于二者。
- 支持迭代精修:UP-FacE 支持将 w edit + w^+_{\text{edit}} wedit+ 再次输入模型进行多轮迭代,可将编辑误差从 0.529 进一步降低至 0.318(即“UP-FacE 3x”配置)。
缺点:
- 依赖 GAN 反演质量:对真实人脸图像进行编辑时,需先将图像通过 e4e 等编码器反演至 StyleGAN 的 w + w^+ w+ 空间。反演过程中的信息损失或重构误差会直接影响编辑效果。
- 绝对距离特征受平移影响:部分特征(如下巴长度、瞳孔位置、眉毛高度、嘴高度)为绝对距离而非相对距离,对人脸在图像中的平移敏感。例如头部旋转会导致这些特征值变化,产生虚假的相关性。
- 极端编辑可能失真:当用户设定的目标特征值超出训练分布范围时,模型可能生成不自然的编辑结果(如图 10 中的极端变形案例)。
- 特征定义仍需人工设计:虽然训练无需标注,但 23 个语义特征的定义(地标组合公式)仍需人工设计,无法自动发现新的语义维度。
- 仅支持 Shape 编辑:UP-FacE 专注于人脸形状(几何结构)编辑,不支持肤色、纹理、光照等外观属性的调整。
实际工程实践
UP-FacE 为交互式人脸编辑工具带来了革命性的用户体验提升,典型实践如下:
-
“滑块式”专业修图工具:传统修图软件(如 Photoshop 的液化工具)需要用户手动拖拽地标,操作门槛高且效果不可预期。UP-FacE 可提供类似“数字人捏脸”的滑块界面(嘴宽度滑块、眼开度滑块、下巴长度滑块……),用户拖动滑块即可精确控制面部形状,尤其适合证件照标准化、人像精修等需要精确比例调整的场景。
-
虚拟角色创作:在游戏、动画、元宇宙虚拟化身(Avatar)创建工具中,UP-FacE 的“可预测编辑”特性可大幅降低用户创建理想面部形象的学习成本——用户不再需要反复试错,而是通过滑块精确调出心中所想。
-
医疗与美容咨询辅助:在整形外科或医美咨询中,UP-FacE 可用于生成“术后效果模拟图”——医生通过滑块精确调整下巴长度、鼻尖高度等参数,向患者展示不同手术方案的效果,增强沟通效率。
-
批量标准化处理:对于需要统一面部特征的大规模人像数据集(如教育平台的学生证件照、企业员工头像),UP-FacE 支持将特定特征批量调整至统一目标值,确保全体照片的面部比例一致性。
-
实时交互界面设计参考:UP-FacE 的用户界面设计(连续滑块 + 实时预览)为移动端美颜 App 的交互设计提供了新的参考范式——相比“拖拽地标”或“调节强度百分比”,直接设定特征目标值的方式对普通用户更为直观。
2.3 数码美妆
深度学习对数码美妆的革新最为显著——传统方法(如基于示例的彩妆转移与泊松编辑)本质上是在像素域进行“复制-粘贴-融合”,而深度学习方法实现了真正的“理解-分离-迁移” :模型能够从参考图像中分离出“身份特征”与“妆容特征”,然后将妆容特征独立地迁移至目标人脸的对应语义区域(眼影→眼睑、口红→唇部、腮红→脸颊)。这一“身份-妆容解耦”能力,使得深度学习美妆算法即使在参考图像与目标图像存在姿态、表情、光照差异时,仍能实现高保真的妆容迁移。
2.3.1 BeautyGAN:基于生成对抗网络的实例级面部妆容迁移
原理
BeautyGAN 由李婷婷、钱瑞辉、董超、刘偲等学者提出,是深度学习妆容迁移领域的奠基性工作,首次将生成对抗网络应用于实例级面部妆容迁移任务。其核心思想可概括为:通过双输入/双输出的 GAN 架构,同时接收非妆图与参考妆图,利用循环一致性损失确保身份信息不被破坏,借助局部区域直方图损失实现妆容风格的精确迁移。
妆容迁移面临两个根本挑战:一是妆容风格因人而异,需要实例级(Instance-level)而非领域级的迁移能力——同一参考妆容在不同人脸上的效果应有所不同;二是妆容由多个独立的局部风格(眼影、口红、粉底等)构成,而非单一的全局风格。传统图像翻译方法(如 CycleGAN)仅学习领域间的全局映射,无法保留参考图像中特定的妆容细节;而传统图像处理方法(如直方图匹配)虽能迁移颜色分布,但缺乏对语义区域的理解,容易产生边缘伪影。
BeautyGAN 通过以下设计解决了上述问题:
- 双输入/双输出生成器架构:生成器 G G G 同时接受两个输入——源图像 I src ∈ A I_{\text{src}} \in A Isrc∈A(非妆域)和参考图像 I ref ∈ B I_{\text{ref}} \in B Iref∈B(妆域),并同时输出两个结果——上妆图 I src B ∈ B I_{\text{src}}^B \in B IsrcB∈B(源图像应用参考妆容)和卸妆图 I ref A ∈ A I_{\text{ref}}^A \in A IrefA∈A(参考图像移除妆容):
( I src B , I ref A ) = G ( I src , I ref ) (I_{\text{src}}^B, I_{\text{ref}}^A) = G(I_{\text{src}}, I_{\text{ref}}) (IsrcB,IrefA)=G(Isrc,Iref)
该设计的核心优势在于:仅需一个生成器即可同时学习双向映射(非妆→妆 与 妆→非妆),且上妆与卸妆共享同一套特征表示,有助于模型理解“妆容”这一概念的对称性。
- 循环一致性损失(Cycle Consistency Loss) :为保证输出图像在保留身份和背景信息的同时不产生结构扭曲,BeautyGAN 将输出图像再次输入生成器,要求重构图像与原始输入尽可能一致:
( I src rec , I ref rec ) = G ( G ( I src , I ref ) ) (I_{\text{src}}^{\text{rec}}, I_{\text{ref}}^{\text{rec}}) = G(G(I_{\text{src}}, I_{\text{ref}})) (Isrcrec,Irefrec)=G(G(Isrc,Iref))
L cc = E [ ∥ I src rec − I src ∥ 1 + ∥ I ref rec − I ref ∥ 1 ] \mathcal{L}_{\text{cc}} = \mathbb{E}[\|I_{\text{src}}^{\text{rec}} - I_{\text{src}}\|_1 + \|I_{\text{ref}}^{\text{rec}} - I_{\text{ref}}\|_1] Lcc=E[∥Isrcrec−Isrc∥1+∥Irefrec−Iref∥1]
该损失使得生成器在修改妆容时,必须保持输入图像的面部结构、姿态、背景等信息不变。
- 感知损失(Perceptual Loss) :为进一步保护面部身份与结构,BeautyGAN 采用预训练的 VGG16 网络提取高层语义特征,约束上妆图与源图像、卸妆图与参考图像在特征空间中保持接近:
L per = 1 C l H l W l ∑ i , j , k ( [ F l ( I src ) − F l ( I src B ) ] i j k 2 + [ F l ( I ref ) − F l ( I ref A ) ] i j k 2 ) \mathcal{L}_{\text{per}} = \frac{1}{C_l H_l W_l} \sum_{i,j,k} \left( [F_l(I_{\text{src}}) - F_l(I_{\text{src}}^B)]^2_{ijk} + [F_l(I_{\text{ref}}) - F_l(I_{\text{ref}}^A)]^2_{ijk} \right) Lper=ClHlWl1i,j,k∑([Fl(Isrc)−Fl(IsrcB)]ijk2+[Fl(Iref)−Fl(IrefA)]ijk2)
其中 F l F_l Fl 为 VGG16 第 l l l 层的特征图。感知损失比像素级 L1/L2 损失更能容忍微小的像素偏移,同时能有效约束语义层面的结构一致性。
-
妆容损失(Makeup Loss) :这是 BeautyGAN 最核心的创新。妆容损失通过局部直方图匹配实现实例级妆容的精确迁移:
-
人脸解析:利用预训练的 PSPNet 人脸解析模型,将面部图像分割为嘴唇、眼睛、面部皮肤等语义区域,生成对应的二值掩码 M lips M_{\text{lips}} Mlips、 M shadow M_{\text{shadow}} Mshadow(眼影区域)和 M face M_{\text{face}} Mface(粉底区域)。
-
直方图匹配(Histogram Matching) :对上妆图 I src B I_{\text{src}}^B IsrcB 与参考图像 I ref I_{\text{ref}} Iref 的每个妆容区域分别进行直方图匹配,生成重映射图像 HM ( I src B ⊙ M item 1 , I ref ⊙ M item 2 ) \text{HM}(I_{\text{src}}^B \odot M_{\text{item}}^1, I_{\text{ref}} \odot M_{\text{item}}^2) HM(IsrcB⊙Mitem1,Iref⊙Mitem2),然后计算其与上妆图对应区域的 MSE 损失:
L makeup = λ l L lips + λ s L shadow + λ f L face \mathcal{L}_{\text{makeup}} = \lambda_l \mathcal{L}_{\text{lips}} + \lambda_s \mathcal{L}_{\text{shadow}} + \lambda_f \mathcal{L}_{\text{face}} Lmakeup=λlLlips+λsLshadow+λfLface
L item = ∥ I src B ⊙ M 1 − HM ( I src B ⊙ M 1 , I ref ⊙ M 2 ) ∥ 2 \mathcal{L}_{\text{item}} = \| I_{\text{src}}^B \odot M^1 - \text{HM}(I_{\text{src}}^B \odot M^1, I_{\text{ref}} \odot M^2) \|_2 Litem=∥IsrcB⊙M1−HM(IsrcB⊙M1,Iref⊙M2)∥2
该策略的关键优势在于:直方图匹配生成的“伪 Ground Truth”提供了像素级的监督信号,使梯度能够有效回传至生成器,同时仅对妆容相关区域施以约束,避免了背景、头发等区域的干扰。
-
-
对抗损失(Adversarial Loss) :两个 PatchGAN 判别器 D A D_A DA 和 D B D_B DB 分别对非妆域和妆域的真假图像进行判别,采用最小二乘 GAN(LSGAN)损失以稳定训练:
L D A = E I src [ ( D A ( I src ) − 1 ) 2 ] + E I src , I ref [ D A ( I ref A ) 2 ] \mathcal{L}_{D_A} = \mathbb{E}_{I_{\text{src}}}[(D_A(I_{\text{src}}) - 1)^2] + \mathbb{E}_{I_{\text{src}}, I_{\text{ref}}}[D_A(I_{\text{ref}}^A)^2] LDA=EIsrc[(DA(Isrc)−1)2]+EIsrc,Iref[DA(IrefA)2]
L D B = E I ref [ ( D B ( I ref ) − 1 ) 2 ] + E I src , I ref [ D B ( I src B ) 2 ] \mathcal{L}_{D_B} = \mathbb{E}_{I_{\text{ref}}}[(D_B(I_{\text{ref}}) - 1)^2] + \mathbb{E}_{I_{\text{src}}, I_{\text{ref}}}[D_B(I_{\text{src}}^B)^2] LDB=EIref[(DB(Iref)−1)2]+EIsrc,Iref[DB(IsrcB)2]
生成器的总损失函数为:
L G = L adv + α L cc + β L per + γ L makeup \mathcal{L}_G = \mathcal{L}_{\text{adv}} + \alpha \mathcal{L}_{\text{cc}} + \beta \mathcal{L}_{\text{per}} + \gamma \mathcal{L}_{\text{makeup}} LG=Ladv+αLcc+βLper+γLmakeup
其中 α = 10 \alpha = 10 α=10, β = 0.005 \beta = 0.005 β=0.005, γ = 1 \gamma = 1 γ=1。
下图展示了 BeautyGAN 的整体架构。上通道为整体流程,下通道详细展示了妆容损失的计算过程——通过人脸解析分离各妆容区域,经直方图匹配生成伪 Ground Truth 后计算局部损失:

BeautyGAN 的训练完全无需成对数据——仅需两个非配对的图像集合(非妆域 A A A 和妆域 B B B),通过循环一致性、感知损失和妆容损失的联合约束,即可实现实例级别的妆容迁移。此外,BeautyGAN 同时发布了 MT(Makeup Transfer)数据集,包含 3834 张女性面部图像(1115 张非妆 + 2719 张妆),是当时规模最大的妆容数据集。
优点:
- 实例级妆容迁移:与传统 CycleGAN 等仅能实现领域级平均风格迁移的方法不同,BeautyGAN 能够精确复制参考图像中特定的妆容细节(如特定色号的口红、特定形状的眼影),实现了真正的“实例级”迁移。
- 端到端、无需配对数据:仅需非配对的非妆与妆图像集即可训练,克服了妆容迁移任务中成对数据难以获取的根本瓶颈。
- 局部妆容精细化控制:通过人脸解析模型将妆容分解为粉底、眼影、口红三个独立区域,分别施以直方图损失约束,实现了对各类化妆品的独立精确迁移。
- 双向映射一体化:双输入/双输出架构使一个生成器同时学习上妆与卸妆,两种任务共享特征表示,相互促进,提升了模型的泛化能力。
- 生成质量高:用户研究表明,61.84% 的参与者将 BeautyGAN 的结果评为第一名,显著优于 Liu 等人(4.25%)和 Liao 等人(33.91%)的方法。
缺点:
- 依赖人脸解析模型精度:妆容损失的计算依赖预训练的 PSPNet 人脸解析模型,当输入图像存在极端姿态、遮挡或光照不均时,解析错误会直接影响妆容迁移质量。
- 对极端姿态/表情敏感:BeautyGAN 基于正面或近正面人脸设计,当非妆图与参考图的姿态、表情差异较大时,生成结果可能出现五官对位偏差。
- 妆容强度不可调节:BeautyGAN 输出固定强度的妆容迁移结果,用户无法控制妆容的浓淡程度(如“轻度上妆”与“重度上妆”)。
- 无法编辑特定妆容属性:模型不具备对妆容颜色、质地等属性的独立控制能力——无法在不改变眼影形状的前提下仅调整其颜色。
- 训练不稳定:基于 GAN 的训练对超参数敏感,且需要 LSGAN、谱归一化(Spectral Normalization)等辅助技术来稳定训练过程。
实际工程实践
BeautyGAN 为虚拟试妆产品的自动化妆容迁移奠定了技术基础,典型实践如下:
-
虚拟试妆应用:BeautyGAN 是美颜相机、虚拟试妆 App 中“一键上妆”功能的核心算法。用户从妆容模板库中选择一张参考妆容图,算法自动将妆容迁移至用户自拍上,实现“不用化妆也能试妆”的体验。
-
妆容模板库自动扩增:利用 BeautyGAN 对大量非妆人脸生成多种妆容风格的变体,可低成本地扩增妆容模板库,为用户提供更丰富的试妆选择。
-
化妆品电商的虚拟试用:与化妆品品牌合作,将产品的官方妆效图作为参考图像,BeautyGAN 可生成该产品在用户脸上的模拟效果,提升线上购物体验。
-
影视后期的面部统一调整:在影视制作中,BeautyGAN 可用于统一不同镜头中演员的面部妆容风格,减少因拍摄时间、场次不同导致的妆容不一致问题。
-
数据增强与隐私保护:BeautyGAN 可生成大量“同一身份、不同妆容”的图像变体,用于训练对妆容鲁棒的人脸识别模型;同时,通过自动卸妆可恢复人脸原始面貌,用于研究妆容对人脸识别精度的影响。
2.3.2 PSGAN:姿态与表情鲁棒的空间感知妆容迁移
原理
PSGAN(Pose and Expression robust Spatial-Aware GAN)由姜文涛、刘偲、高晨、曹杰、赫然等学者提出,针对 BeautyGAN 等前期方法的两大核心局限——缺乏对姿态/表情差异的鲁棒性与无法实现可定制的妆容迁移——进行了系统性的突破。其核心思想可概括为:通过妆容蒸馏网络将参考图像的妆容分解为两个空间感知矩阵,再通过注意力变形模块建立源图与参考图之间的像素级语义对应关系,实现姿态/表情鲁棒的妆容迁移,同时支持局部迁移与浓度控制。
BeautyGAN 等方法依赖于源图与参考图之间的良好对齐(均为正面、中性表情),且将妆容编码为整体风格向量,缺乏空间信息。当两图姿态或表情差异较大时,妆容会被错误地映射到面部错误区域(如口红被映射到牙齿或下巴)。PSGAN 通过以下三个核心模块解决了这些问题:
- 妆容蒸馏网络(Makeup Distill Network, MDNet) :MDNet 采用编码器-瓶颈结构(不含解码器),将参考图像 y y y 的妆容信息蒸馏为两个空间感知的妆容矩阵——系数矩阵 γ ∈ R 1 × H × W \gamma \in \mathbb{R}^{1 \times H \times W} γ∈R1×H×W 和偏置矩阵 β ∈ R 1 × H × W \beta \in \mathbb{R}^{1 \times H \times W} β∈R1×H×W。这两个矩阵与特征图具有相同的空间分辨率,每个像素位置对应一个特定的妆容参数,从而保留了妆容的空间分布信息(如眼影在眼周、口红在唇部)。其数学形式为:
V y = MDNet ( y ) , γ = Conv 1 × 1 γ ( V y ) , β = Conv 1 × 1 β ( V y ) V_y = \text{MDNet}(y), \quad \gamma = \text{Conv}_{1\times1}^{\gamma}(V_y), \quad \beta = \text{Conv}_{1\times1}^{\beta}(V_y) Vy=MDNet(y),γ=Conv1×1γ(Vy),β=Conv1×1β(Vy)
其中 V y ∈ R C × H × W V_y \in \mathbb{R}^{C \times H \times W} Vy∈RC×H×W 为参考图像的妆容特征图。不同于传统方法将妆容编码为全局向量, γ \gamma γ 和 β \beta β 的空间感知特性使得局部妆容迁移(仅迁移口红或仅迁移眼影)和浓度控制成为可能。
- 注意力妆容变形模块(Attentive Makeup Morphing, AMM) :这是 PSGAN 实现姿态/表情鲁棒性的核心创新。当源图 x x x 与参考图 y y y 的姿态或表情不一致时,直接将 γ \gamma γ 和 β \beta β 按像素位置应用到源图上会导致错误(如将唇部妆容映射到脸颊)。AMM 模块通过计算一个注意力矩阵 A ∈ R H W × H W A \in \mathbb{R}^{HW \times HW} A∈RHW×HW,建立源图每个像素与参考图每个像素之间的软对应关系。
注意力值的计算同时考虑了视觉相似性(特征图上的外观相似度)和相对位置相似性(以 68 个面部地标为锚点的相对位置特征)。对于源图像素 x i x_i xi 和参考图像素 y j y_j yj,相对位置特征 p i ∈ R 136 p_i \in \mathbb{R}^{136} pi∈R136 定义为:
p i = [ f ( x i ) − f ( l 1 ) , … , f ( x i ) − f ( l 68 ) , g ( x i ) − g ( l 1 ) , … , g ( x i ) − g ( l 68 ) ] p_i = [f(x_i) - f(l_1), \ldots, f(x_i) - f(l_{68}), g(x_i) - g(l_1), \ldots, g(x_i) - g(l_{68})] pi=[f(xi)−f(l1),…,f(xi)−f(l68),g(xi)−g(l1),…,g(xi)−g(l68)]
其中 f ( ⋅ ) f(\cdot) f(⋅) 和 g ( ⋅ ) g(\cdot) g(⋅) 分别为 x x x 轴和 y y y 轴坐标, l k l_k lk 为第 k k k 个地标点。相对位置特征经 L2 归一化后,与视觉特征 v i ∈ R C v_i \in \mathbb{R}^C vi∈RC 沿通道维度拼接,用于计算注意力值:
A i , j = exp ( [ w v i , p i ∥ p i ∥ ] T [ w v j , p j ∥ p j ∥ ] ) ⋅ I ( m i x = m j y ) ∑ j exp ( [ w v i , p i ∥ p i ∥ ] T [ w v j , p j ∥ p j ∥ ] ) ⋅ I ( m i x = m j y ) A_{i,j} = \frac{\exp\left([w v_i, \frac{p_i}{\|p_i\|}]^T [w v_j, \frac{p_j}{\|p_j\|}]\right) \cdot \mathbb{I}(m_i^x = m_j^y)}{\sum_j \exp\left([w v_i, \frac{p_i}{\|p_i\|}]^T [w v_j, \frac{p_j}{\|p_j\|}]\right) \cdot \mathbb{I}(m_i^x = m_j^y)} Ai,j=∑jexp([wvi,∥pi∥pi]T[wvj,∥pj∥pj])⋅I(mix=mjy)exp([wvi,∥pi∥pi]T[wvj,∥pj∥pj])⋅I(mix=mjy)
其中 I ( ⋅ ) \mathbb{I}(\cdot) I(⋅) 为指示函数, m i x m_i^x mix 和 m j y m_j^y mjy 分别为源图和参考图对应像素所属的面部语义区域(唇部、眼部、皮肤)。仅当两个像素属于同一语义区域时,注意力值才被计算,从而从根本上避免了跨区域的错误映射。通过注意力矩阵 A A A,AMM 将 γ \gamma γ 和 β \beta β 变形为适配源图的 γ ′ \gamma' γ′ 和 β ′ \beta' β′:
γ i ′ = ∑ j A i , j γ j , β i ′ = ∑ j A i , j β j \gamma'_i = \sum_j A_{i,j} \gamma_j, \quad \beta'_i = \sum_j A_{i,j} \beta_j γi′=j∑Ai,jγj,βi′=j∑Ai,jβj
- 妆容应用网络(Makeup Apply Network, MANet) :MANet 采用编码器-瓶颈-解码器架构。在瓶颈层,源图特征 V x ∈ R C × H × W V_x \in \mathbb{R}^{C \times H \times W} Vx∈RC×H×W 通过 γ ′ \gamma' γ′ 和 β ′ \beta' β′ 进行逐像素的缩放与平移,实现妆容迁移:
V x ′ = Γ ′ ⊙ V x + B ′ V_x' = \Gamma' \odot V_x + B' Vx′=Γ′⊙Vx+B′
其中 Γ ′ ∈ R C × H × W \Gamma' \in \mathbb{R}^{C \times H \times W} Γ′∈RC×H×W 和 B ′ ∈ R C × H × W B' \in \mathbb{R}^{C \times H \times W} B′∈RC×H×W 分别为 γ ′ \gamma' γ′ 和 β ′ \beta' β′ 沿通道维度复制扩展后的张量, ⊙ \odot ⊙ 为逐元素乘法。更新后的特征图 V x ′ V_x' Vx′ 随后送入解码器生成最终的上妆结果。
下图展示了 PSGAN 的完整架构。MDNet 从参考图像中蒸馏出 γ \gamma γ 和 β \beta β 矩阵;AMM 模块通过注意力矩阵将其变形为适配源图的 γ ′ \gamma' γ′ 和 β ′ \beta' β′;MANet 在瓶颈层应用 γ ′ \gamma' γ′ 和 β ′ \beta' β′ 对源图特征进行缩放与平移,完成妆容迁移:

PSGAN 的训练采用了与 BeautyGAN 类似的无监督学习框架,损失函数包括对抗损失( L adv \mathcal{L}_{\text{adv}} Ladv,双判别器)、循环一致性损失( L cyc \mathcal{L}_{\text{cyc}} Lcyc,L1 范数)、感知损失( L per \mathcal{L}_{\text{per}} Lper,VGG16 特征 L2 损失)和妆容损失( L make \mathcal{L}_{\text{make}} Lmake,直方图匹配伪 Ground Truth 的 L2 损失)。总损失为:
L G = λ adv L adv + λ cyc L cyc + λ per L per + λ make L make \mathcal{L}_G = \lambda_{\text{adv}}\mathcal{L}_{\text{adv}} + \lambda_{\text{cyc}}\mathcal{L}_{\text{cyc}} + \lambda_{\text{per}}\mathcal{L}_{\text{per}} + \lambda_{\text{make}}\mathcal{L}_{\text{make}} LG=λadvLadv+λcycLcyc+λperLper+λmakeLmake
其中 λ adv = 1 \lambda_{\text{adv}} = 1 λadv=1, λ cyc = 10 \lambda_{\text{cyc}} = 10 λcyc=10, λ per = 0.005 \lambda_{\text{per}} = 0.005 λper=0.005, λ make = 1 \lambda_{\text{make}} = 1 λmake=1。
此外,PSGAN 收集了 Makeup-Wild 数据集(403 张带妆 + 369 张无妆图像),包含丰富的姿态变化(偏航角、俯仰角)和表情变化(微笑、张嘴等),用于评估模型在真实环境中的泛化能力。
优点:
- 姿态与表情鲁棒性优异:AMM 模块通过结合视觉相似性与相对位置相似性,建立了源图与参考图之间的像素级对应关系,即使两图姿态或表情差异显著,妆容仍能被精准映射到正确的语义区域。在 Makeup-Wild 数据集上,PSGAN 以 83.5% 的得票率被评为最佳,大幅领先 BeautyGAN(13.5%)。
- 支持局部妆容迁移:由于 γ \gamma γ 和 β \beta β 矩阵具有空间感知能力,PSGAN 可通过面部解析掩码选择性地应用妆容——仅迁移口红、仅迁移眼影或仅迁移粉底,支持“混搭”多个参考图像的妆容风格。
- 支持妆容浓度调节:通过引入浓度系数 α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1] 对 γ \gamma γ 和 β \beta β 进行线性插值,PSGAN 可实现从“轻妆”到“重妆”的平滑过渡,且非妆容区域保持完全不变。
- 支持多参考风格混合:PSGAN 支持将两个参考图像的妆容风格按任意比例混合(如 70% 参考 A 的唇色 + 30% 参考 B 的眼影),创造出全新的妆容风格。
- 视频逐帧迁移稳定性好:PSGAN 在视频序列的逐帧迁移中表现稳定,无明显帧间闪烁或妆容跳变,为其在视频美颜中的应用奠定了基础。
缺点:
- 依赖地标与解析精度:AMM 模块依赖 68 点面部地标和 PSPNet 人脸解析结果。在极端大角度侧脸、重度遮挡或极端光照条件下,地标与解析的误差会直接影响注意力计算的准确性。
- 训练复杂度高:PSGAN 包含 MDNet、MANet 两个生成网络和两个判别器,且 AMM 模块涉及 H W × H W HW \times HW HW×HW 量级的注意力矩阵计算,训练显存消耗与计算量均显著高于 BeautyGAN。
- 妆容矩阵的可解释性有限:虽然 γ \gamma γ 和 β \beta β 矩阵在空间维度上可解释(可视为逐像素的调节参数),但其通道维度的语义(各通道分别代表何种妆容属性)缺乏直观的可解释性。
- 无法编辑妆容的几何形状:PSGAN 的 AMM 模块仅建立对应关系而非变形场——它从参考图像中“借用”对应像素的妆容参数,但不能改变妆容的几何形状(如将细长眼影变为圆形眼影)。
实际工程实践
PSGAN 显著拓展了虚拟妆容迁移的应用边界,典型实践如下:
-
多姿态自拍虚拟试妆:BeautyGAN 等前期方法要求用户自拍尽可能正面,PSGAN 则支持用户在各种姿态(侧脸、仰头、低头)和表情(微笑、张嘴)下的虚拟试妆,更贴合真实的用户使用场景。
-
直播视频实时美妆:PSGAN 的视频逐帧迁移稳定性使其适用于直播场景中的实时虚拟上妆——主播在直播过程中可随时切换不同妆容风格,且无论面部如何转动,妆容始终精准贴合。
-
局部妆容“混搭”功能:借鉴 PSGAN 的部分迁移能力,美颜 App 可提供“混搭试妆”功能——用户从不同参考图中选择最喜欢的眼影、口红、粉底,组合成专属的个性化妆容。
-
妆容强度滑块:基于 PSGAN 的浓度控制能力,美颜产品可提供“妆容浓度”滑块(0%~100%),让用户自由调节妆容的轻重程度,满足从“伪素颜”到“舞台妆”的多样化需求。
-
多参考风格融合:在妆容推荐系统中,PSGAN 可将多个热门妆容风格的参数进行插值融合,自动生成介于两种风格之间的“中间态”妆容,为用户提供更多元的选择。
2.4 人体美体
传统人体美体方法(如 Seam Carving 与基于关键点的二维变形)在全身图像处理中面临显著挑战:人体是非刚性物体,四肢与躯干之间存在复杂的关节联动关系,二维平面上的独立变形极易导致结构失真。深度学习的介入为人体美体带来了三维感知与结构保持的能力——通过对人体姿态、深度和三维形状的联合估计,算法能够理解人体的三维几何结构,在此基础上有针对性地调整体型比例,同时保持姿态、衣物纹理与背景的完整性。
2.4.1 NeuralReshaper:基于深度神经网络的单图像人体修图
原理
NeuralReshaper 由陈贝佳、沈悦凡、傅红波、周昆、郑友怡等学者提出,是首个将深度生成网络与三维人体参数化模型相结合的单图像人体塑形方法。其核心思想可概括为:通过 SMPL 参数化人体模型拟合图像中的人体三维形状,在三维空间中对体型参数进行语义化编辑后,利用深度生成网络将三维变形场引导至图像空间,实现自然、真实的人体重塑效果。
传统人体美体方法(如 Zhou 等人 2010 年的工作)基于“拟合三维模型 → 三维变形 → 图像扭曲”的流程。该方法存在两个根本局限:一是二维图像扭曲会将变形传播至整个图像,导致背景扭曲(如栅栏、地面纹理被拉伸变形);二是图像扭曲无法合成被遮挡区域的新内容(如瘦身后原本被身体遮挡的背景无法凭空生成)。NeuralReshaper 通过以下三个核心设计突破了这些局限:
-
SMPL 模型自动化拟合(SMPL Model Fitting) :NeuralReshaper 首先从输入图像 I I I 中自动恢复人体的三维姿态与形状。SMPL(Skinned Multi-Person Linear Model)是一个可微分的人体参数化模型,通过形状参数 β ∈ R 10 \beta \in \mathbb{R}^{10} β∈R10 控制体型(高矮胖瘦)、姿态参数 θ ∈ R 72 \theta \in \mathbb{R}^{72} θ∈R72 控制关节角度。拟合过程分为两步:
- 初始估计:利用 Kanazawa 等人(2018)的预训练网络从图像中直接推断初始的 β \beta β 和 θ \theta θ;
- 精细化优化:使用 OpenPose 检测的 2D 关键点 J est J_{\text{est}} Jest 优化 β \beta β 和 θ \theta θ,使三维关节投影与检测关键点对齐;再使用 Mask R-CNN 提取的人体轮廓进一步优化 β \beta β,确保身体轮廓与图像掩膜一致。
该拟合过程的能量函数为:
E joint ( β , θ ) = ∑ joint i w i ρ ( Π α M joint ( β , θ ) − J est i ) E_{\text{joint}}(\beta, \theta) = \sum_{\text{joint } i} w_i \rho\left( \Pi_\alpha M_{\text{joint}}(\beta, \theta) - J_{\text{est}}^i \right) Ejoint(β,θ)=joint i∑wiρ(ΠαMjoint(β,θ)−Jesti)
E silhouette ( β ) = ∥ NR α [ M mesh ( β , θ ) ] − m ∥ 2 2 E_{\text{silhouette}}(\beta) = \| \text{NR}_\alpha[M_{\text{mesh}}(\beta, \theta)] - m \|_2^2 Esilhouette(β)=∥NRα[Mmesh(β,θ)]−m∥22
其中 Π α \Pi_\alpha Πα 为正交相机投影, ρ \rho ρ 为 Geman-McClure 鲁棒惩罚函数, NR α [ ⋅ ] \text{NR}_\alpha[\cdot] NRα[⋅] 为可微分轮廓渲染。
-
三维语义化重塑与变形场计算:用户通过调节四个语义属性(身高 Height、体重 Weight、身体比例 Proportion、腿围 Leg Girth)修改 β \beta β 参数,获得重塑后的三维人体模型。将源模型到目标模型的顶点位移投影至图像空间,获得稠密变形场 T ∈ R H × W × 2 T \in \mathbb{R}^{H \times W \times 2} T∈RH×W×2。
-
双编码器深度生成网络(Two-Headed Neural Architecture) :这是 NeuralReshaper 最核心的贡献。传统图像扭曲方法直接将变形场 T T T 应用于整张图像像素,导致背景扭曲和缺失区域无法合成。NeuralReshaper 将生成过程分解为前景与背景两个独立编码器,并在特征空间中进行变形引导,具体流程如下:
- 前景编码器 E f E_f Ef:接收前景图 I f I_f If(去除背景的人体区域),提取多尺度特征 f i f_i fi;
- 特征空间变形:利用变形场 T T T 对前景特征 f i f_i fi 进行空间变形(warp),获得与目标形状对齐的变形特征 f i t = warp ( f i , T ) f_i^t = \text{warp}(f_i, T) fit=warp(fi,T);
- 背景编码器 E b E_b Eb:接收背景图 I b I_b Ib(含被掩膜覆盖的人体区域)及前景掩膜 a a a,提取背景特征 b i b_i bi;
- 特征融合:将变形后的前景特征 f i t f_i^t fit 与背景特征 b i b_i bi 逐元素相加,获得完整的目标特征图 ϕ i = f i t + b i \phi_i = f_i^t + b_i ϕi=fit+bi;
- 解码器生成:特征图经解码器 D D D 生成完整图像 I out I_{\text{out}} Iout,最终输出 I t = a ⊙ I out + ( 1 − a ) ⊙ I I^t = a \odot I_{\text{out}} + (1 - a) \odot I It=a⊙Iout+(1−a)⊙I(仅替换人体区域,背景保持原图或修复)。
下图展示了 NeuralReshaper 的完整流程。Stage 1 完成 SMPL 模型拟合与重塑变形场计算;Stage 2 中双编码器架构分别处理前景与背景,特征空间变形后融合生成最终结果:

NeuralReshaper 的训练采用了一套精妙的自监督策略,以解决人体塑形成对数据无法获取的根本难题。具体而言:对于每一张训练图像 I I I,算法拟合 SMPL 模型后,随机改变形状参数 β \beta β 生成一个“变形后”的人体模型,并计算变形场 T T T。然后在像素级直接对原图进行扭曲,获得变形后的前景图 I f t I_f^t Ift 和背景图 I b I_b Ib,构成“伪输入”三元组 ( I b , I f t , T t ) (I_b, I_f^t, T^t) (Ib,Ift,Tt)( T t T^t Tt 为逆变形场)。训练目标为:网络 G G G 接收该三元组后,生成与原始图像 I I I 尽可能接近的完整图像,即:
L recovery = ∥ I − G ( I b , I f t , T t ) ∥ 1 \mathcal{L}_{\text{recovery}} = \| I - G(I_b, I_f^t, T^t) \|_1 Lrecovery=∥I−G(Ib,Ift,Tt)∥1
这一策略的精妙之处在于:原始图像 I I I 天然成为监督信号,无需任何人工标注。训练完成后,网络学会了“如何将扭曲的前景修正为自然形态”以及“如何修复被遮挡的背景区域”,而测试阶段用户输入的只是原始图像和语义滑块,网络能够泛化执行从未在训练中直接见过的塑形操作。
优点:
- 语义化、可解释的控制:用户通过“身高”、“体重”、“身体比例”、“腿围”四个滑块即可直观控制体型,每个语义属性对应 SMPL 参数中特定的形状分量,解耦良好。调节“身体比例”可单独拉长腿部而不影响整体身高。
- 背景保持完整:与传统扭曲方法不同,NeuralReshaper 将背景与前景分离处理,背景编码器学会了修复因人体变形而暴露的遮挡区域,避免了背景扭曲问题(如图 B3、B4 所示,铁丝网等规则纹理在塑形后仍保持完整)。
- 生成质量优异:与直接扭曲方法、Zhou 等人(2010)的传统方法、Liquid Warping GAN(2019)以及 Ren 等人(2023)的 SOTA 方法相比,NeuralReshaper 在视觉真实感和结构保持上均取得更优结果。FID 指标上(80.28)优于 Liquid Warping GAN(89.42)。
- 自监督训练,无需成对数据:通过随机形变-恢复的自监督策略,NeuralReshaper 仅需单张人体图像即可训练,无需昂贵的成对“胖-瘦”或“高-矮”数据。
- 端到端、全自动:测试阶段无需任何人工标注,仅需输入图像,系统自动完成人体检测、SMPL 拟合、塑形与图像生成。
缺点:
- 依赖三维拟合精度:SMPL 拟合的质量直接影响后续塑形效果。在严重遮挡、极端姿态或宽松衣物(长裙、阔腿裤)场景下,拟合可能失败,导致变形场不准确(图 B9 展示了优化不足时的失真)。
- 极端变形有限:论文限定在体重/身高变化 20 kg/cm 范围内(与 Zhou 等人 2010 年的设定一致),超出此范围的极端塑形可能导致三维人体模型不自然或图像失真(附录 C 图 C1(a))。
- 仅支持单人处理:若图像中存在多人,用户需通过边界框指定待塑形的个体,无法同时处理多人。
- 面部细节可能变化:当 SMPL 模型的面部区域拟合不佳时,大尺度变形可能影响面部五官的几何形状(附录 C 提及)。
- 计算耗时较长:单张图像预处理(Mask R-CNN + OpenPose + SMPL 优化)约需 15 秒,虽然重塑本身在 1 秒内完成,但整体流程难以满足实时应用需求。
实际工程实践
NeuralReshaper 为人体美体技术从“二维像素操作”迈向“三维感知生成”开辟了道路,典型实践如下:
-
电商服装模特体型自适应展示:同一款服装可自适应不同体型的模特——将服装平铺图或标准模特图通过人体塑形生成多种体型(高/矮、胖/瘦)的试穿效果,帮助消费者预览服装在不同身材上的穿着效果。
-
证件照与职业照标准化:在证件照、职业照等需要标准化形象的应用中,用户可通过滑块微调体型比例(如适度瘦身、拉长腿部),获得更满意的形象照片。
-
健身/减肥效果模拟:在健身或医美 App 中,用户上传当前照片,NeuralReshaper 可生成“减重 5kg/10kg/15kg”或“增加身高 3cm/5cm”后的模拟效果,作为减肥或体态管理的可视化激励。
-
虚拟试衣的后端处理:作为虚拟试衣系统的后处理模块——在完成服装变形与迁移后,NeuralReshaper 可将试衣结果进一步适配到用户期望的体型参数上。
-
影视后期的体型统一调整:在影视制作中,不同镜头间的演员体型可能因拍摄条件(服装、季节、饮食)略有差异。NeuralReshaper 可用于批量统一同一角色在不同镜头中的体型参数,保持视觉一致性。
2.4.2 AAGN:基于自适应亲和力图网络的结构感知人体重塑
原理
AAGN(Adaptive Affinity-Graph Network)由邓琦文、刘杨晨、李汶、王国庆等学者提出,针对现有基于光流的人体重塑方法(以 FBBR 为代表)的两大核心局限——忽视不同身体部位之间的全局亲和性与缺乏对高频细节的感知能力——进行了系统性改进。其核心思想可概括为:通过构建覆盖全身关键部位的完全连接图结构,显式建模不同身体部位之间的全局亲和力以指导光流生成;同时引入结合空间域与高频域的双域判别器,引导生成器关注对美学感知至关重要的细节信息。
FBBR 等方法仅将不同身体部位(手臂、躯干、腿部)的信息分别提取后简单拼接,忽略了部位之间的协同变形关系——当腰部变细时,肩部与臀部应如何联动?当腿部拉长时,躯干比例应如何调整?AAGN 通过以下三个核心设计系统性地解决了这些问题:
-
自适应亲和力图模块(Adaptive Affinity-Graph, AAG) :这是 AAGN 实现全局一致性的核心创新。AAG 将人体划分为三个语义节点——手臂(Arms)、躯干(Torso)和腿部(Legs),并构建一个完全连接图,每个节点与所有其他节点相连,边权重表示部位间亲和力的强度。具体计算流程如下:
-
特征提取:利用 2D 姿态估计方法检测 12 对关键点,生成骨架图 S = ( s 1 , s 2 , … , s 12 ) S = (s_1, s_2, \ldots, s_{12}) S=(s1,s2,…,s12)。按语义将骨架图分组为 S arms S_{\text{arms}} Sarms、 S torso S_{\text{torso}} Storso、 S legs S_{\text{legs}} Slegs,分别通过三个卷积编码器提取特征 F arms F_{\text{arms}} Farms、 F torso F_{\text{torso}} Ftorso、 F legs ∈ R H × W × C F_{\text{legs}} \in \mathbb{R}^{H \times W \times C} Flegs∈RH×W×C,作为图中的三个节点。
-
亲和力计算:对每一对节点 i , j ∈ { arms, torso, legs } i, j \in \{\text{arms, torso, legs}\} i,j∈{arms, torso, legs},通过自注意力( i = j i = j i=j)或交叉注意力( i ≠ j i \neq j i=j)机制计算亲和力图 A i − j ∈ R H × W × C A_{i-j} \in \mathbb{R}^{H \times W \times C} Ai−j∈RH×W×C。具体地,先计算查询 Q i − j = ϕ q i − j ( F i ) Q_{i-j} = \phi_q^{i-j}(F_i) Qi−j=ϕqi−j(Fi)、键 K i − j = ϕ k i − j ( F j ) K_{i-j} = \phi_k^{i-j}(F_j) Ki−j=ϕki−j(Fj) 和值 V i − j = ϕ v i − j ( F j ) V_{i-j} = \phi_v^{i-j}(F_j) Vi−j=ϕvi−j(Fj),然后:
W i − j = Q i − j ⋅ K i − j ⊤ d C , A i − j = W i − j ⊤ ⋅ V i − j W_{i-j} = \frac{Q_{i-j} \cdot K_{i-j}^\top}{\sqrt{d_C}}, \quad A_{i-j} = W_{i-j}^\top \cdot V_{i-j} Wi−j=dCQi−j⋅Ki−j⊤,Ai−j=Wi−j⊤⋅Vi−j
其中 d C d_C dC 为通道数。 A i − j A_{i-j} Ai−j 捕捉了节点 i i i 中每个区域与节点 j j j 中每个区域之间的对应关系。
- 自适应加权:将 9 组亲和力图(3×3 组合)沿通道维度拼接为 A ∈ R H × W × 9 A \in \mathbb{R}^{H \times W \times 9} A∈RH×W×9,再通过 CBAM 风格的通道注意力机制为每种亲和力分配权重:
A max c = MaxPool ( A ) , A avg c = AvgPool ( A ) A^c_{\max} = \text{MaxPool}(A), \quad A^c_{\text{avg}} = \text{AvgPool}(A) Amaxc=MaxPool(A),Aavgc=AvgPool(A)
W c = σ ( Enc s ( A max c ) + Enc s ( A avg c ) ) W_c = \sigma(\text{Enc}_s(A^c_{\max}) + \text{Enc}_s(A^c_{\text{avg}})) Wc=σ(Encs(Amaxc)+Encs(Aavgc))
A e = W c ⋅ A A_e = W_c \cdot A Ae=Wc⋅A最终输出的 A e ∈ R H × W × 9 A_e \in \mathbb{R}^{H \times W \times 9} Ae∈RH×W×9 包含了全局感知的亲和力图,每个通道对应一种部位间关系的加权强度。
论文附录中的可视化分析表明:对于腿部的一个查询点,模型在躯干背部(与腿部相邻区域)产生最高的激活响应;对于手臂的查询点,在肩膀区域产生最高的激活响应——验证了 AAG 模块能准确捕获身体部位间自然的解剖学关联。
-
-
双域身体形状判别器(Body Shape Discriminator, BSD) :针对 FBBR 等前期方法仅使用空间域像素级损失、缺乏对高频细节感知的问题,BSD 在判别器中引入高频域信息。具体地,BSD 利用 SRM(Spatial Rich Model)滤波器从输入图像中提取高频细节特征(边缘、纹理等),将高频特征与原始图像拼接后作为判别器的输入。判别器内部采用多尺度卷积(3×3、5×5、7×7 并行卷积)提取不同尺度的特征,综合判断图像是否由人工编辑。
F srm = SRM ( P ) , B all k = ϕ 3 × 3 ( B k ) + ϕ 5 × 5 ( B k ) + ϕ 7 × 7 ( B k ) 3 F_{\text{srm}} = \text{SRM}(P), \quad B_{\text{all}}^k = \frac{\phi_{3\times3}(B_k) + \phi_{5\times5}(B_k) + \phi_{7\times7}(B_k)}{3} Fsrm=SRM(P),Ballk=3ϕ3×3(Bk)+ϕ5×5(Bk)+ϕ7×7(Bk)
这一设计的核心优势在于:高频信息(如皮肤边缘的平滑度、衣物纹理的清晰度)是照片美学的关键。通过对抗训练,BSD 引导光流生成器(Flow Generator, FG)不仅要拟合像素级目标,还要拟合高频域特征,使生成结果更接近人工精修的质量。
-
自监督训练策略:由于人体塑形任务缺乏成对的“原始图-精修图”数据,AAGN 沿用 FBBR 的自监督训练范式——利用 PWC-Net 估计原始图与人工精修图之间的目标光流 O t O_t Ot 作为伪标签,通过 L2 损失监督生成光流 O p O_p Op。总损失函数为:
L BR = λ 1 L flow + λ 2 L img + λ 3 L vgg + λ 4 L adv \mathcal{L}_{\text{BR}} = \lambda_1 \mathcal{L}_{\text{flow}} + \lambda_2 \mathcal{L}_{\text{img}} + \lambda_3 \mathcal{L}_{\text{vgg}} + \lambda_4 \mathcal{L}_{\text{adv}} LBR=λ1Lflow+λ2Limg+λ3Lvgg+λ4Ladv
其中 L flow = ∥ O t − O p ∥ 2 \mathcal{L}_{\text{flow}} = \|O_t - O_p\|_2 Lflow=∥Ot−Op∥2 为光流监督损失, L img = ∥ P t − P p ∥ 2 \mathcal{L}_{\text{img}} = \|P_t - P_p\|_2 Limg=∥Pt−Pp∥2 为像素级重建损失, L vgg \mathcal{L}_{\text{vgg}} Lvgg 为 VGG 感知损失, L adv \mathcal{L}_{\text{adv}} Ladv 为对抗损失。
下图展示了 AAGN 的整体架构。原始照片与骨架图经下采样后输入系统;AAG 模块将不同部位编码为图节点,计算全局亲和力图并嵌入 FG;FG 生成光流用于扭曲原始照片;BSD 结合空间域与高频域特征进行对抗判别:

与 FBBR 相比,AAGN 在参数量仅增加 0.2M(6.7M → 6.9M)、FPS 仅下降 0.11ms 的前提下,实现了显著的性能提升——充分说明了 AAG 模块的高效性。
优点:
- 全局一致性显著提升:AAG 模块通过完全连接图结构显式建模手臂、躯干、腿部之间的全局亲和力,使塑形后的身体各部位保持自然协调。消融实验表明,加入 AAG 模块后 SSIM 从 0.8340 提升至 0.8402,LPIPS 从 0.0664 降至 0.0655。
- 细节保真度优异:BSD 的双域判别策略(空间域 + SRM 高频域)使生成器关注边缘平滑度、纹理清晰度等美学细节。在 BR-5K 数据集上,AAGN 的 PSNR 达到 26.41 dB,较 FBBR(24.79 dB)提升 1.62 dB;LPIPS 达 0.0643,较 FBBR(0.0777)显著降低。
- 用户偏好显著领先:用户研究中,51.8% 的参与者将 AAGN 的结果评为最优,远超 FBBR(32.1%)、ATW(10.9%)和 FAL(5.2%)。
- 支持连续强度控制:通过调节强度参数 μ ∈ [ − 1 , 1 ] \mu \in [-1, 1] μ∈[−1,1],用户可连续控制塑形强度——正值表示增重/增高,负值表示减重/降低身高,且可在瘦身与增重之间平滑过渡。
- 支持局部编辑:通过修改输入骨架图的特定部位(如仅编辑腿部),AAGN 可实现对特定身体部位的独立塑形,而其他部位保持协调不变——这得益于 AAG 模块对全局一致性的建模。
- 轻量化高效:与 RGB-based 方法和扩散模型相比,AAGN 基于光流扭曲,计算开销极低(单张 2K 图像处理约 3.5ms,含姿态检测),适用于移动端实时应用。
缺点:
- 依赖姿态估计精度:AAGN 的输入骨架图由 2D 姿态估计器生成。在严重遮挡、极端姿态或非常规动作下,姿态估计误差会直接影响 AAG 模块的特征提取质量。消融实验中,移除姿态输入后 SSIM 从 0.8427 降至 0.8132。
- 光流伪标签存在误差:训练时使用 PWC-Net 估计的原始图与精修图之间的光流作为伪标签,但该光流并非真实的像素级运动(精修图并非原始图的简单变形),可能导致监督信号存在偏差。
- 极端变形可能失效:论文虽未明确限定变形范围(与 NeuralReshaper 的 20kg/cm 约束不同),但在附录图 C1 中展示了极端变形可能导致的人脸畸变和修复失败。
- 仅支持单人处理:AAGN 针对单人人体设计,多人物图像中需要逐一处理,无法同时协调多人的塑形需求。
- 宽松衣物的拟合困难:当人物穿着宽松连衣裙、阔腿裤或风衣时,姿态估计和骨架映射可能不准确,导致塑形区域超出实际身体轮廓。
实际工程实践
AAGN 的轻量化和高质量使其成为移动端人体美体功能的有力候选,典型实践如下:
-
移动端实时身体塑形:AAGN 在 GPU 上的处理速度(含姿态检测约 3.5ms)使其满足移动端实时预览需求,可作为美颜相机 App 中“全身美体”功能的核心算法,支持用户通过滑块实时调节瘦身/增高强度。
-
电商模特图批量优化:服装电商的模特图通常需人工精修以达到“瘦而不失真”的效果。AAGN 可批量处理大量模特照片,实现自动化的体型优化,大幅降低人工修图成本。
-
社交媒体一键美体:在照片分享类社交 App 中,用户上传照片后可选择“一键美体”——系统自动检测人体并应用中等强度的塑形(如适度瘦身 + 拉长腿部),效果自然且无需手动调整。
-
视频流逐帧美体:基于光流的 AAGN 具备天然的帧间稳定性(不同于逐帧独立生成的方法)。在计算资源充足的场景下,AAGN 可用于短视频或直播流的人体美体处理(如附录视频演示所示)。
-
体型变化模拟与健康管理:结合“增重/减重”的连续强度控制,AAGN 可用于健身或减重 App 中的效果模拟——用户上传当前照片,系统生成“减重 5kg/10kg”后的模拟效果,作为健康管理的可视化激励。
-
局部塑形的精细化控制:针对用户“只瘦腿不瘦腰”或“只拉长腿部不改变上半身”等精细化需求,AAGN 的局部编辑能力(通过修改输入骨架图)可提供更灵活的控制选项,避免全局塑形对用户满意区域的过度修改。
2.5 风格滤镜
传统风格滤镜基于色彩统计迁移(Reinhard 方法)与多尺度频域分解(拉普拉斯金字塔),本质上是在像素域和频域进行的手工特征操作。深度学习的引入彻底重塑了这一领域——神经风格迁移(Neural Style Transfer, NST)通过卷积神经网络提取图像的“内容特征”与“风格特征”,并在特征空间中进行分离与重组,实现了前所未有的艺术表现力。从 Gatys 等人的开山之作到如今基于扩散模型的任意风格迁移,深度学习风格滤镜已经从“实验室奇观”成长为移动端滤镜产品的核心技术。
2.5.1 Neural Style Transfer:基于卷积神经网络的图像艺术风格迁移
原理
神经风格迁移(Neural Style Transfer, NST)由 Gatys、Ecker 和 Bethge 于 2016 年提出,是首个利用卷积神经网络实现图像风格迁移的开创性工作。其核心思想可概括为:利用预训练的 VGG 网络作为特征提取器,将图像的“内容”与“风格”在卷积特征空间中分离,通过联合优化一个包含内容损失与风格损失的目标函数,从随机噪声图像出发迭代生成同时具有目标内容与目标风格的全新图像。
该工作的核心洞察在于:卷积神经网络在图像分类任务中训练出的特征表示,天然地将图像的“内容”与“风格”编码在不同的特征层中——高层特征捕捉语义内容(如物体的类别与布局),低层特征捕捉纹理模式(如颜色、线条、笔触)。Gatys 等人通过以下方式构建了风格迁移的数学框架:
1. 内容表示(Content Representation) :利用 VGG-19 网络高层(如 conv4_2)的特征图来编码图像的内容。给定内容图像 c ⃗ \vec{c} c 和生成图像 x ⃗ \vec{x} x,令 F l ∈ R N l × M l F^l \in \mathbb{R}^{N_l \times M_l} Fl∈RNl×Ml 和 P l ∈ R N l × M l P^l \in \mathbb{R}^{N_l \times M_l} Pl∈RNl×Ml 分别为二者在第 l l l 层的特征图( N l N_l Nl 为滤波器数量, M l M_l Ml 为特征图展平后的长度)。内容损失定义为特征图之间的均方误差:
L content ( c ⃗ , x ⃗ , l ) = 1 2 ∑ i , j ( F i j l − P i j l ) 2 \mathcal{L}_{\text{content}}(\vec{c}, \vec{x}, l) = \frac{1}{2} \sum_{i,j} (F^l_{ij} - P^l_{ij})^2 Lcontent(c,x,l)=21i,j∑(Fijl−Pijl)2
该损失最小化时,生成图像在高层特征空间上与内容图像接近,从而保留了图像的语义结构,但不要求像素级精确重建。
2. 风格表示(Style Representation) :风格的实质是特征之间的空间相关性——例如,某种笔触特征与某种颜色特征在空间上共现的频率。Gatys 等人使用 Gram 矩阵来捕获这种相关性。对于第 l l l 层的特征图 F l F^l Fl,其 Gram 矩阵 G l ∈ R N l × N l G^l \in \mathbb{R}^{N_l \times N_l} Gl∈RNl×Nl 定义为:
G i j l = ∑ k F i k l F j k l G^l_{ij} = \sum_{k} F^l_{ik} F^l_{jk} Gijl=k∑FiklFjkl
G i j l G^l_{ij} Gijl 表示第 i i i 个滤波器与第 j j j 个滤波器在空间上的激活相关性。风格损失为生成图像与风格图像在多个层的 Gram 矩阵之间的加权平方差:
L style ( s ⃗ , x ⃗ ) = ∑ l w l ⋅ 1 4 N l 2 M l 2 ∑ i , j ( G i j l − A i j l ) 2 \mathcal{L}_{\text{style}}(\vec{s}, \vec{x}) = \sum_{l} w_l \cdot \frac{1}{4 N_l^2 M_l^2} \sum_{i,j} (G^l_{ij} - A^l_{ij})^2 Lstyle(s,x)=l∑wl⋅4Nl2Ml21i,j∑(Gijl−Aijl)2
其中 A l A^l Al 为风格图像在第 l l l 层的 Gram 矩阵, w l w_l wl 为各层的权重系数。
3. 总损失与迭代优化:总损失为内容损失与风格损失的加权和:
L total ( p ⃗ , a ⃗ , x ⃗ ) = α L content ( p ⃗ , x ⃗ ) + β L style ( a ⃗ , x ⃗ ) \mathcal{L}_{\text{total}}(\vec{p}, \vec{a}, \vec{x}) = \alpha \mathcal{L}_{\text{content}}(\vec{p}, \vec{x}) + \beta \mathcal{L}_{\text{style}}(\vec{a}, \vec{x}) Ltotal(p,a,x)=αLcontent(p,x)+βLstyle(a,x)
其中 α \alpha α 和 β \beta β 分别为内容与风格的权重系数,控制生成图像对二者的侧重程度。优化过程从白噪声图像 x ⃗ \vec{x} x 开始,通过 L-BFGS 或 Adam 等优化算法迭代更新像素值(而非网络权重),逐步最小化总损失。
下图展示了 Gatys 等人的算法流程。内容图像与风格图像分别经 VGG 网络提取特征,白噪声图像在内容损失与风格损失的联合监督下迭代更新,最终生成风格化图像:

该工作还揭示了两个重要性质:一是内容与风格的空间分离——高层特征编码内容、低层特征编码风格,二者可在特征空间中独立操控;二是风格的层级性——低层特征重建出精细纹理(如笔触的局部模式),高层特征重建出全局结构(如构图的宏观布局),多尺度组合使风格迁移效果更为丰富。
优点:
- 开创性与理论突破:首次证明了 CNN 特征表示可分离图像的“内容”与“风格”,为后续所有神经风格迁移研究奠定了理论基础。
- 任意风格与内容的灵活组合:无需训练,给定任意内容图与风格图即可生成风格化结果,支持任意风格与内容的灵活组合。
- 高质量视觉效果:生成的风格化图像在纹理细节与全局结构上均达到令人惊艳的艺术效果,至今仍是风格迁移领域的质量标杆。
- 可解释性强:内容损失与风格损失具有清晰的数学含义, α \alpha α 与 β \beta β 的调节可直观控制内容保留度与风格强度。
缺点:
- 计算效率极低:每生成一张风格化图像需数百次迭代(500-1000 步),每步包含完整的前向与反向传播。256×256 图像约需 14 秒/张,1024×1024 图像约需 215 秒/张,完全无法满足实时或批量处理需求。
- 对超参数敏感:风格权重、内容权重、各层风格损失的加权系数等超参数需针对不同风格图像手工调优,缺乏自动化策略。
- 输出不稳定:由于损失函数非凸,优化过程可能陷入局部最优,不同随机初始化或迭代次数可能导致视觉质量差异。
- 缺乏语义感知:算法仅基于特征统计量进行优化,无法区分“天空”与“人脸”等不同语义区域,可能导致局部纹理错位(如将天空纹理迁移到人脸区域)。
实际工程实践
尽管 Gatys 等人的原始方法效率低下,但其开创性思想深刻影响了后续的工业级风格迁移方案:
-
艺术风格滤镜的学术原型:NST 是 Prisma、Ostagram 等早期艺术风格滤镜应用的核心算法原型。这些应用在后端服务器上执行 NST 的迭代优化,用户上传照片后等待数秒至数分钟获得风格化结果。
-
内容-风格解耦的教学范例:NST 的“内容-风格分离”思想为后续高效的风格迁移方法(如 AdaIN、WCT)提供了理论基础。理解 NST 是学习任何风格迁移技术的必修课。
-
感知损失与 Gram 损失的设计源头:NST 中定义的感知损失(内容损失)与风格损失(Gram 损失)被广泛用作图像生成、超分辨率、图像修复等任务的损失函数组件,是深度学习图像处理领域的经典工具。
-
风格强度的连续控制:通过调节 α / β \alpha / \beta α/β 比值,用户可在“完全保留内容但无风格”与“完全风格化但内容模糊”之间连续调节,满足从“轻微风格化”到“强烈风格化”的多样化需求。
-
多风格融合与插值:通过组合多个风格图像的 Gram 矩阵(加权平均),NST 可生成融合多种艺术风格的混合效果,或在不同风格之间进行平滑插值过渡。
2.5.2 StyleBank:基于可学习滤波器组的实时神经风格迁移
原理
StyleBank 由陈东东、袁路、廖菁、俞能海、华刚等学者提出,针对前馈式风格迁移方法的两个核心瓶颈——每种风格需单独训练完整网络与风格与内容在网络中仍耦合——进行了根本性的架构革新。其核心思想可概括为:将每种风格显式地编码为一组可学习的卷积滤波器组(即“风格库”StyleBank),所有风格共享同一个图像自编码器;推理时仅需选择对应的滤波器组与内容特征进行卷积,即可单次前向传播生成风格化结果,同时支持增量学习与风格融合。
StyleBank 的设计灵感源于传统纹理合成中的纹理元(Texton)概念——在传统方法中,纹理合成是将纹理元映射到目标位置,本质上等价于纹理元与采样位置指示函数的卷积。StyleBank 将这一思想迁移至深度特征空间,使风格表示首次具有了显式的、可解释的形式。
StyleBank 的网络架构包含三个模块:
-
图像编码器(Encoder E) :由 1 个步长为 1 的卷积层和 2 个步长为 2 的卷积层构成,将输入内容图像 I I I 变换为多通道特征图 F = E ( I ) ∈ R c in × h × w F = E(I) \in \mathbb{R}^{c_{\text{in}} \times h \times w} F=E(I)∈Rcin×h×w。所有卷积层后接实例归一化(Instance Normalization)和 ReLU 激活。
-
StyleBank 层(StyleBank Layer K) :这是 StyleBank 的核心创新。该层包含 n n n 组可学习的卷积滤波器组 { K i } i = 1 n \{K_i\}_{i=1}^n {Ki}i=1n,每组滤波器组 K i ∈ R c out × c in × k h × k w K_i \in \mathbb{R}^{c_{\text{out}} \times c_{\text{in}} \times k_h \times k_w} Ki∈Rcout×cin×kh×kw 显式地编码一种风格。在推理时,选定第 i i i 种风格,将对应的滤波器组 K i K_i Ki 与内容特征 F F F 进行卷积,得到风格化后的特征图 F ~ i \tilde{F}_i F~i:
F ~ i = K i ⊗ F \tilde{F}_i = K_i \otimes F F~i=Ki⊗F
其中 ⊗ \otimes ⊗ 表示卷积操作。这一操作的本质与“纹理元映射”在数学上是同构的——滤波器组中的每个滤波器通道可视为风格元素的“基”(类似于纹理元),卷积过程将这些风格元素映射到内容图像的特征空间位置上。
- 图像解码器(Decoder D) :由 2 个步长为 1/2 的分数步长卷积层和 1 个步长为 1 的卷积层构成,将风格化后的特征图 F ~ i \tilde{F}_i F~i 重建为最终的风格化图像 O i = D ( F ~ i ) O_i = D(\tilde{F}_i) Oi=D(F~i)。
StyleBank 包含两个学习分支,采用交替训练策略:
- 自编码器分支(E → D) :最小化输入图像 I I I 与重建图像 O O O 之间的均方误差,确保编码器 E E E 和解码器 D D D 能够完整保留输入图像的内容信息:
L I ( I , O ) = ∥ O − I ∥ 2 \mathcal{L}_I(I, O) = \|O - I\|^2 LI(I,O)=∥O−I∥2
- 风格化分支(E → K → D) :使用 Johnson 等人提出的感知损失(Perceptual Loss),包含内容损失、风格损失和总变分正则化:
L K ( I , S i , O i ) = α L c ( O i , I ) + β L s ( O i , S i ) + γ L tv ( O i ) \mathcal{L}_K(I, S_i, O_i) = \alpha \mathcal{L}_c(O_i, I) + \beta \mathcal{L}_s(O_i, S_i) + \gamma \mathcal{L}_{\text{tv}}(O_i) LK(I,Si,Oi)=αLc(Oi,I)+βLs(Oi,Si)+γLtv(Oi)
其中内容损失 L c \mathcal{L}_c Lc 在 VGG-16 的 relu4_2 层计算特征图 MSE,风格损失 L s \mathcal{L}_s Ls 在 relu1_2、relu2_2、relu3_2、relu4_2 层计算 Gram 矩阵的 MSE。
交替训练策略为:每 T + 1 T+1 T+1 次迭代中,先训练 T T T 次风格化分支,再训练 1 次自编码器分支。这种策略确保自编码器不会“偷懒”地将风格信息编码到 E E E 和 D D D 中,而是迫使风格信息完全由 StyleBank 承载。
下图展示了 StyleBank 的整体架构。编码器 E E E 将输入图像编码为特征图 F F F,StyleBank 层 K K K(含 n n n 组滤波器组)与 F F F 卷积后经解码器 D D D 重建,分别输出风格化结果(左)和自编码重建结果(右):

StyleBank 的一个重要性质是内容与风格的彻底解耦。当移除 StyleBank 层( K K K 为恒等映射)时,自编码器分支能精确重建输入图像,表明内容信息被完整编码在 E E E 和 D D D 中;当插入不同的滤波器组时,同一内容图像可被渲染为不同的风格,表明风格信息完全由 K K K 承载。二者的正交性使得增量学习(固定 E E E 和 D D D,仅训练新的 K i K_i Ki)成为可能。
优点:
-
风格表示的显式性与可解释性:StyleBank 首次为神经风格迁移提供了显式的风格表示,将风格“物质化”为一组可学习的卷积滤波器。每个滤波器通道可视为一种“风格元素”(如特定笔触、纹理、颜色组合),为理解神经网络如何编码风格提供了新的视角。
-
多风格单模型共享:StyleBank 支持在单个网络中同时学习 50 种甚至更多风格,所有风格共享同一个编码器 E E E 和解码器 D D D,仅 StyleBank 层为每种风格维护独立的滤波器组。模型大小远小于为每种风格单独训练完整网络的方法。
-
增量学习(Incremental Learning) :这是 StyleBank 最显著的工程优势。当需要添加新风格时,仅需固定已训练好的 E E E 和 D D D,从头训练新增的滤波器组即可。在 Titan X GPU 上,训练一种新风格仅需约 8 分钟(1000 次迭代),相较重新训练完整网络(Johnson 等人方法需数小时),训练时间缩短 20-40 倍。
-
风格融合(Style Fusion) :由于风格以滤波器组的形式显式表示,StyleBank 支持两种风格的融合操作:
- 线性融合:将多个风格的滤波器组按权重线性组合 K fused = ∑ w i K i K_{\text{fused}} = \sum w_i K_i Kfused=∑wiKi,生成混合风格;
- 区域特定融合:利用编码器特征的空间聚类(如 K-means),将图像不同区域分配给不同风格,实现“一幅画中同时包含梵高与毕加索风格”的效果。
-
模型精简与实时推理:得益于显式的风格表示,StyleBank 无需 Johnson 等人网络中使用的残差块(Residual Blocks),模型更小、推理更快,单次前向传播可实时生成风格化结果。
-
训练效率高:多种风格可在同一网络中联合训练,避免了为每种风格单独训练完整网络的重复劳动。
缺点:
-
特征通道利用不充分:论文中的稀疏性分析表明,编码器输出的特征通道中,仅有部分通道被 StyleBank 有效利用,存在一定的表示冗余,暗示可能存在更紧凑的模型设计空间。
-
风格元素的尺度需手动指定:滤波器组的核大小 ( k w , k h ) (k_w, k_h) (kw,kh) 决定了风格元素的尺度。较大核可生成更大的风格元素(如更粗犷的笔触),但核大小的选择需针对具体风格手动调优,缺乏自适应机制。
-
训练策略需平衡两个分支:交替训练策略中的 T T T 值(风格化分支与自编码器分支的迭代比例)需谨慎调节。若 T T T 过小,自编码器可能未能充分学习内容重建;若 T T T 过大,自编码器可能过度拟合,影响风格化质量。
-
区域融合的语义指导有限:区域特定风格融合依赖特征空间的自动聚类(如 K-means),缺乏高层语义监督,可能导致分割结果与人类感知的语义区域不一致(如将天空与水面误分为同一区域)。
-
依赖 VGG 感知损失:与 Gatys 和 Johnson 的方法类似,StyleBank 的内容与风格损失依赖预训练的 VGG-16 网络,继承了其固有的归纳偏好——对纹理高度敏感而对形状和语义结构相对不敏感。
实际工程实践
StyleBank 的显式风格表示与增量学习能力,使其成为工业级风格迁移产品中极具吸引力的技术方案,典型实践如下:
-
多风格实时滤镜应用:Prisma、Instagram 等应用中的艺术风格滤镜,若基于 StyleBank 实现,可在一个模型中支持数十种风格,且用户切换风格时无需加载不同的网络权重,仅需替换 StyleBank 层中的滤波器组,切换速度极快。
-
用户自定义风格模型:StyleBank 的增量学习能力支持用户上传自己的风格图像,在云端快速训练对应的滤波器组(约 8 分钟),生成“个人专属滤镜”。训练完成后,用户可将轻量级的滤波器组(仅数 MB)分享给他人,无需传输完整的网络模型。
-
风格混搭创作工具:利用 StyleBank 的线性融合能力,应用可提供“风格强度滑块”和“风格混合滑块”——用户可将“梵高风格”与“莫奈风格”按 30%/70% 的比例混合,创造出全新的中间态艺术风格。
-
区域感知的艺术化处理:利用 StyleBank 的区域特定融合能力,可自动检测图像中的不同语义区域(如天空、建筑、人物),为不同区域应用不同的风格,创作出具有丰富层次感的艺术作品。
-
风格库的云端管理与动态扩展:在云端部署的服务中,StyleBank 的增量学习机制使得风格库可以持续扩展——新增风格仅需训练对应的滤波器组并上传至云端风格库,所有客户端用户立即可用,无需更新 App 或重新下载完整模型。
3 总结
纵观美颜算法从传统图像处理到深度学习的技术演进历程,可以清晰地识别出一条贯穿始终的发展主线:算法对图像“语义理解”能力的逐级深化。传统算法在像素域和频域中通过精巧的数学模型实现保边滤波与几何变形,其优势在于计算高效、可解释性强,但根本局限在于“看不见”图像内容——它们处理的是灰度值、梯度幅值和频率分量,而非眼睛、鼻子、嘴唇或腰部曲线。深度学习算法则通过数据驱动的特征学习,使模型能够在语义层面理解面部结构与人体姿态,从而实现更精准、更自然的美颜效果。
从技术发展的代际演进来看,美颜算法经历了从**“手工特征”到“数据驱动”、从“像素操作”到“语义理解”、从“二维平面”到“三维感知”、从“单一功能”到“统一框架”、从“试错调节”到“可预测编辑”** 的深刻转变,其核心脉络可归纳为以下五个维度:
从手工滤波到数据驱动修图。 传统基础美颜以双边滤波和引导滤波为代表,依赖人工设计的空间距离与灰度相似性权重,以固定的数学公式完成平滑操作。深度学习则将这一过程转化为端到端的学习问题——VRetouchEr 通过瑕疵流与多帧注意力实现视频时序一致的瑕疵去除,StyleRetoucher 利用 StyleGAN 的生成先验在小样本条件下实现高质量修图。后者不再依赖手工设计的滤波核,而是从数据中自动学习“何为瑕疵、何为正常皮肤”的语义判别标准,同时利用 GAN 先验的生成能力合成与输入身份一致的高质量皮肤纹理。
从几何插值到隐空间编辑。 传统五官美型以 MLS 和 ARAP 为代表,通过在二维图像平面上插值控制点位移来实现变形,本质上是一种“像素搬运”。深度学习方法将编辑提升至高维隐空间——DeepFaceReshaping 通过图卷积 VAE 学习自然脸型的潜在分布,用户拖拽少量地标即可在潜在空间中优化出合理的人脸形状;UP-FacE 则更进一步,通过 23 个可量化的语义特征和 Transformer 编辑网络,使用户能够精确设定目标特征值,实现了从“试错式调节”到“可预测编辑”的质变。隐空间编辑天然具备解耦性与连续性,修改“眼睛大小”不会影响“鼻子形状”,且变形强度可平滑调节,这些特性是传统几何方法难以企及的。
从像素粘贴到身份-妆容解耦。 传统数码美妆以基于示例的彩妆转移和泊松编辑为代表,本质上是在像素域进行“复制-粘贴-融合”的操作,缺乏对妆容语义的理解。深度学习方法实现了真正的“理解-分离-迁移”——BeautyGAN 首次通过双输入/双输出 GAN 架构实现实例级妆容迁移,利用局部直方图损失精确控制眼影、口红、粉底等独立区域;PSGAN 则通过注意力妆容变形模块(AMM)建立源图与参考图之间的像素级语义对应,即使两图姿态或表情差异显著,妆容仍能被精准映射到正确的语义区域。这种“身份-妆容解耦”能力,使得深度学习美妆算法在复杂场景下的保真度远超传统方法。
从二维像素到三维感知。 传统人体美体以 Seam Carving 和基于二维关键点的变形为代表,前者通过删除像素接缝改变图像比例,后者通过二维插值驱动全身变形。二者均缺乏对人体三维结构的理解,容易导致背景扭曲或结构失真。深度学习方法引入了三维感知能力——NeuralReshaper 通过 SMPL 参数化人体模型拟合三维形状,在三维空间中进行语义化体型编辑后,利用双编码器生成网络将变形场引导至图像空间,同时保持背景完整;AAGN 则从另一个维度切入,通过自适应亲和力图(AAG)模块构建手臂、躯干、腿部之间的全局关联,使塑形后的身体各部位保持自然协调。两种方案殊途同归,都体现了从“二维像素操作”向“三维结构感知”的演进趋势。
从全局迁移到可控编辑。 传统风格滤镜以 Reinhard 色彩迁移和拉普拉斯金字塔为代表,前者通过全局统计量匹配实现色调迁移,后者通过固定基函数的多尺度分解实现频域操控,二者均缺乏对图像内容的语义理解和精细控制能力。深度学习风格迁移则经历了从“迭代优化”到“实时前馈”、从“单风格”到“任意风格”、从“整体迁移”到“可控编辑”的演进——Gatys 等人的 NST 开创性地证明了 CNN 特征可分离内容与风格,但迭代优化效率极低;StyleBank 则通过显式的滤波器组风格表示,使多种风格可在单模型中共享编码器与解码器,支持增量学习与风格融合。用户可实时切换风格、混合多种风格、甚至对不同区域施加不同风格,控制粒度远超传统方法。
美颜算法的演进历程本质上是算法“智能”的不断升维——从“能滤波”到“能理解”,从“能变形”到“能编辑”,从“能迁移”到“能创造”。传统算法以精妙的数学模型在受限场景下取得了令人惊叹的效果;深度学习算法则以数据驱动的方式突破了手工特征的表达上限,赋予了模型对图像语义的理解能力;而生成式 AI 的崛起则进一步将美颜从“修饰已有内容”推向“生成全新内容”的新维度。
表 1:美颜算法技术演进总结
| 功能维度 | 传统算法 | 深度学习方法 | 演进趋势 |
|---|---|---|---|
| 基础美颜 | 双边滤波(1998)、引导滤波(2013):手工设计滤波核,基于空间距离+灰度相似性进行保边平滑 | VRetouchEr(CVPR 2024):瑕疵流+多帧注意力,视频时序一致性修图;StyleRetoucher(TVCG 2025):StyleGAN 先验,小样本泛化修图 | 手工滤波 → 数据驱动语义理解 |
| 五官美型 | MLS(2006)、ARAP(2007):二维控制点插值变形,依赖几何计算 | DeepFaceReshaping(CVM 2024):图卷积 VAE 潜在空间变形;UP-FacE(CVPR 2024):23 维语义特征,用户可预测编辑 | 几何插值 → 隐空间语义编辑 |
| 数码美妆 | 示例彩妆转移(2007)、泊松编辑(2003):像素域复制-粘贴-融合 | BeautyGAN(MM 2018):双输入/输出 GAN,实例级妆容迁移;PSGAN(CVPR 2020):注意力变形模块,姿态/表情鲁棒迁移 | 像素粘贴 → 身份-妆容解耦迁移 |
| 人体美体 | Seam Carving(2007):能量驱动接缝删除;二维关键点变形:缺乏三维结构理解 | NeuralReshaper(Sci China 2023):SMPL 三维模型+双编码器生成;AAGN(WACV 2025):亲和力图全局一致性建模 | 二维像素操作 → 三维结构感知 |
| 风格滤镜 | Reinhard 色彩迁移(2001):统计量匹配;拉普拉斯金字塔(1983):固定基函数频域分解 | NST(CVPR 2016):CNN 内容-风格分离+迭代优化;StyleBank(CVPR 2017):显式滤波器组风格表示+增量学习 | 全局迁移 → 可控风格编辑 |
美颜算法从传统图像处理到深度学习的演进,不仅是一系列技术创新的积累,更是一场从“信号处理”到“智能感知”的范式革命。传统算法以数学模型见长,为实时美颜奠定了坚实的工程基础;深度学习方法以数据驱动为核心,突破了手工特征的表达极限;而生成式 AI 的崛起则预示着美颜技术将从“修饰现实”走向“增强现实”乃至“创造现实”。
更多推荐
所有评论(0)