首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >影楼精修-皮肤瑕疵祛除算法解析

影楼精修-皮肤瑕疵祛除算法解析

作者头像
OpenCV学堂
发布2026-04-02 19:27:05
发布2026-04-02 19:27:05
1210
举报

注意:本文样例图片为了避免侵权,均使用AIGC生成;

皮肤瑕疵祛除

顾名思义,皮肤瑕疵祛除旨在祛除人像照片皮肤区域的痘痘/斑点/痣/胎记等瑕疵;当前主流算法方案可分为传统图像处理方法和基于深度学习的方法,本文重点介绍基于深度需恶习的方法;

皮肤瑕疵祛除是磨皮好坏的第一步,或者说是人像精修皮肤处理的基础,对于设计师来讲,再处理皮肤磨皮之前,会先通过PS修补工具,人工将大的痘痘/痣等瑕疵祛除,然后在进行磨皮处理,原因是磨皮算法很难将大面积的瑕疵祛除。通用的算法流程如下图所示:

图片
图片

1.假设用户原图S,最终祛除瑕疵效果图为D,对S进行皮肤分割,得到皮肤Mask图Skin_mask;

2.对皮肤区域进行瑕疵检测/分割,得到瑕疵Mask集合(每个瑕疵位置和对应Mask信息);

3.循环遍历瑕疵区域集合,对瑕疵进行分类:痘痘、痣、其他;

4.对需要祛除的瑕疵类型进行瑕疵祛除,得到最终效果图D;

上述算法流程是皮肤瑕疵祛除的通用流程,从AI美颜的角度出发,本人对上述步骤进行算法拆解如下:

皮肤分割,使用深度学习算法,Unet,DenseNet,DeepLab系列,PSPNet等等;

瑕疵检测/分割,对于检测可以使用Yolo系列,速度快精度高,对于分割这里推荐一个UltraLight VM-UNet,论文名字《Parallel Vision Mamba Significantly Reduces Parameters for Skin Lesion Segmentation》,git链接:https://github.com/wurenkai/UltraLight-VM-UNet

瑕疵分类,这个任务比较简单,类别也比较少,简单的CNN即可;

瑕疵祛除,这个步骤比较重要,可以使用基于深度学习的inpainting算法,也可以直接使用GAN网络来得到瑕疵祛除后的效果图,个人推荐GAN,可以保留皮肤纹理,输入为瑕疵图+瑕疵mask,输出为祛除瑕疵后的效果图;

像素蛋糕瑕疵祛除

像素蛋糕将瑕疵祛除划分为了人脸区域“祛斑祛痘”和身体祛瑕疵,瑕疵分类为痣和痘斑瑕疵,示意图如下:

图片
图片

功能说明:

选择祛斑祛痘功能调节,会将人脸区域进行祛斑祛痘处理,但其他身体皮肤区域不变;

选择身体祛瑕疵功能调节,会将除人脸之外的其他皮肤区域进行祛瑕疵(痘斑)处理;

选择祛痣功能,只会消除人脸皮肤区域的痣,痘斑不会祛除;

结合像素蛋糕的功能模块,本人对通用皮肤瑕疵祛除算法进行了对应的修改,新的流程如下:

图片
图片

1.假设用户原图S,最终祛除瑕疵效果图为D,对S进行皮肤分割,得到皮肤Mask图Skin_mask;

2.对皮肤区域进行瑕疵检测/分割,得到瑕疵Mask集合(每个瑕疵位置和对应Mask信息);

3.循环遍历瑕疵区域集合,对瑕疵进行分类:痘痘、痣、其他;

4.对原图S进行人脸关键点检测,根据人脸点位确定人脸区域Mask,此处也可以直接进行人脸区域分割来得到Mask,两者都可以;

5.设定三个参数:身体祛瑕疵参数k_body,人脸祛斑祛痘参数k_face,人脸祛痣开关参数k_s,根据人脸区域mask,瑕疵分类结果,分别将符合祛除条件的瑕疵图像筛选出来,送入瑕疵祛除模块;

6.循环遍历所有瑕疵区域,通过瑕疵祛除模块输出对应祛除效果,根据瑕疵融合参数,融合到原图S,得到最终瑕疵祛除效果图D;

上述过程就是像素蛋糕的瑕疵祛除算法流程,本人基于上述流程进行了算法实现,这里给出本人算法和像素蛋糕效果对比图:

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

本文分享自 OpenCV学堂 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档