跟着卷卷龙一起学Camera--美颜相机08

170 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情

另一种美颜的基本操作是肤色处理算法,主要包括皮肤美白和皮肤换色处理,流程图参照图 6。两种处理的原理是基本一致的,只是需要调节的参数有所不同。这两类算法都需要首先将图 像转化到亮度色彩分离的颜色空间(如 YUV,HSV),美白处理需要将皮肤的亮度调高,减小 色彩之间的色差,达到皮肤区域变白的目的;而肤色变化算法则是将皮肤区域的颜色转换为另一 种颜色(如小麦色),保持亮度基本不变。类似的算法也可以在 RGB 空间通过 gamma correction 实现,通过调节 RGB 三条曲线不同的 gamma correction 参数,达到不同的目的,对于美白算 法来说,RGB 三个通道的调节参数基本相同;对于肤色变化算法来说,三个通道的参数需根据 颜色转换的情况进行调节,如图 7。算法框架中对于皮肤分割的使用目的同磨皮算法是相同的, 保证皮肤在颜色变化的同时,背景颜色不发生变化。谈及高级美颜功能,我们需要先介绍两个基础算法——人脸检测(Face Detection)算法和人 脸对齐(Face Alignment)算法。大部分的高级美颜功能,是根据这两个算法的结果进行后续处 理的。这两个算法是学术以及工业界长期以来都一直在研发的基础算法,本处不在赘述,只说明 其中的物理意义以及后续对于美颜算法的支持作用。人脸检测算法顾名思义,是在任意给定的图 像中自动检测人脸位置的算法,从最早的模板匹配算法,到后续的各种基于传统的机器学习的方 法,到最近的基于深度学习的方法,人们一直在探究如何在不同的环境下更准确的检测人脸位置。 人脸对齐算法则是在检测到人脸位置后,自动配准人脸特征点的算法,如图 8 所示,最为著名、 流行的算法有 ASM(Active Shape Model),AAM(Active Appearance Model)等。通过 face detection 和 facealignment 算法后,我们可以获得,人脸上眼、口、鼻、眉毛等各器官 的轮廓信息,为我们进一步对于脸部器官操作奠定了基础,大部分的高级美颜算法需要以这些轮 廓信息作为基础进行操作。