最近在做一套移动端人像美颜 SDK,目标不是做一个简单的“磨皮滤镜”,而是把调色、人像保护和美颜精修打成一条完整链路。
demo截图:

我理解的好美颜不是“效果越重越好”,而是这几个点:
- 皮肤看起来更干净,但不能糊成一片;
- 人变亮变通透,但不能假白、发灰、发绿;
- 背景可以更有氛围,但脸和肤色不能被滤镜带偏;
- 美型和瘦身要自然,不能出现折痕、拉花、背景变形;
- 所有处理尽量在本地完成,减少上传图片带来的隐私和延迟问题。
所以这套 SDK 的方向是:端侧 AI 美颜 + 智能调色 + 人像保护。
1. 整体管线
整体处理顺序大概是:
图片解码
→ 色彩空间处理
→ AI 智能调色
→ 人体/肤色/人脸几何分析
→ 磨皮、修瑕、磨颈纹、美白、红润
→ 19 项美型
→ 瘦身/瘦手臂/瘦腿/长腿
→ 输出图片
这里比较关键的是,美颜不是孤立做的,而是和调色放在同一条链路里。这样可以避免一个常见问题:调色把背景调好看了,但人的脸被染色、肤色变脏、白衣服也跟着变色。
2. AI 磨皮:不做全图模糊,只修皮肤区域
磨皮模块采用端侧 ONNX 模型推理。模型只在本地运行,不需要把用户照片上传到服务器。
处理时不是把整张图丢进滤镜,而是先根据人像区域和肤色区域找到需要处理的皮肤 ROI,再做局部推理。推理完成后也不是简单贴回整块结果,而是只回贴模型预测出来的“修复残差”。
这样做有两个好处:
- 原图的高频细节会被保留下来,毛孔和自然纹理不容易被抹平;
- 背景、衣服、头发、五官区域不会被磨皮效果误伤。
对用户来说,观感会更接近“皮肤变干净”,而不是“整张脸被糊了一层”。
3. 美白和红润:只动皮肤,不做全图提亮
很多美白效果翻车,是因为它本质上是在做全图亮度提升。这样背景、衣服、牙齿、墙面都会被一起抬亮,脸也容易发灰、发绿。
我们的处理是先构建 人体分割 × 肤色置信 的皮肤 alpha,再只对皮肤区域做 OkLab 空间里的亮度和色彩调整:
- 亮度提升是按余量做的,亮部不会直接冲白;
- 去黄是轻量处理,避免肤色失去温度;
- 红润单独成一个滑块,用户可以控制“白”和“透红”的比例。
简单说,就是尽量做到“白里透红”,而不是“白到发灰”。
4. 修瑕:去油光、去黑眼圈、磨颈纹
修瑕部分没有完全依赖一个大模型,而是做了更可控的局部算法。
去油光会检测脸部局部高光尖峰,然后做保色压高光,不是简单把 RGB 一起压暗,所以不会变成灰斑。
去黑眼圈采用频率分离思路,只修低频的暗沉和色偏,尽量保留原本的皮肤纹理。
磨颈纹单独做了下颌线以下的颈部区域,结合肤色遮罩和表面模糊,只削弱低幅度横纹,不把下巴、衣领、项链一起糊掉。
这些功能看起来不如“大模型”炫,但对真实用户照片很重要,因为它们解决的是人像里最常见、最影响质感的小问题。
5. 美型:478 点人脸几何 + MLS 形变
美型部分支持 19 项参数,包括瘦脸、小头、下巴、额头、大眼、眼距、开眼角、瘦鼻、鼻梁、小嘴、唇厚、微笑嘴角、眉高、眉间距等。
这里没有采用简单的三角剖分硬拉,而是基于 478 点人脸关键点做 MLS 刚性形变。它的优势是过渡更连续,不容易出现三角折痕和局部拉花。
多脸场景下可以逐脸处理;参数为 0 时保持 identity,不额外改变图片。
6. 瘦身:姿态点 + 人体分割的位移场
瘦身不是简单缩放图片,而是通过人体姿态点和人体分割 mask 构建位移场。
目前支持:
- 瘦身/收腰;
- 瘦手臂;
- 瘦大腿;
- 瘦小腿;
- 长腿。
多人合影场景下,瘦身这类容易影响他人的功能会自动降级或禁用,避免把旁边的人和背景一起拉歪。
7. 智能调色:人像照片不能只看颜色,还要保护人
这套 SDK 里还有一个比较重要的模块:AI 智能调色。
它不是简单套 LUT,而是根据图片内容预测一组调色参数,包括曝光、对比、高光、阴影、色温、色调、自然饱和度、HSL/Color Mixer、曲线等。
在人像照片里,还会做人像保护:
- 背景可以增强,比如天空、草地、主色突出;
- 人物区域降低强风格 LUT 的影响;
- 肤色不参与主色增强,避免脸被调成橙红、黄绿或过饱和。
这点对活动摄影、婚恋、电商模特、证件照/形象照、社交 App 都比较关键。真正的“出片”不是只把脸磨白,而是人物和背景一起协调。
8. 为什么适合做 SDK
这套方向比较适合 SDK 化,原因有几个:
- 端侧运行:核心推理和像素处理在本地完成,隐私友好;
- 模块可拆:只要磨皮、美白,也可以单独接;需要完整美颜,也可以全链路接;
- 参数可控:每个功能都是 0 到 1 或标准范围,方便产品做滑块;
- 可降级:模型或检测失败时走 no-op,不会因为一个模块失败导致 App 崩溃;
- 跨端可对齐:Android 先落地,iOS/Flutter 可以复用同一套算法语义和参数定义。
9. 后续优化方向
接下来我觉得还可以继续优化几个点:
模型加密和热更新
美颜模型属于核心资产,SDK 交付时最好支持模型加密、版本校验和按需更新。
更多实拍场景评测
单人、多人、暗光、逆光、深肤色、舞台光、婚礼现场、电商棚拍都要有固定 golden set。
性能分档
高端机走高质量模型和 GPU/ANE 加速;中低端机走轻量模型和降采样预览。
增强皮肤 matte
当前规则和分割已经能覆盖多数场景,后面可以训练轻量 skin matte 模型,处理长发、暖色衣服、复杂光照等难例。
商业接入层
补齐 license、日志诊断、耗时统计、崩溃隔离、灰度配置,这些比单纯算法更影响 SDK 能不能卖出去。
总结
我认为移动端美颜 SDK 的竞争点,已经不是“有没有磨皮、美白、瘦脸”这么简单,而是:
- 皮肤是否自然;
- 调色是否高级;
- 人像保护是否稳定;
- 本地推理是否隐私友好;
- 接入和降级是否工程化。
如果把这些做好,美颜 SDK 就不只是一个滤镜模块,而是可以变成 App 的人像影像底座。





