摘要:大眼效果的本质,是对眼睛区域进行 “局部非等比例变形”—— 仅针对眼睛周围像素做针对性放大,同时保证画面自然。为实现 “自然感”,算法遵循两大关键设计:
在直播、短视频的美颜需求里,“大眼” 是最受欢迎的功能之一。
看似轻轻一点就让眼睛放大的效果,背后藏着美颜 SDK 中精心设计的算法逻辑。
下面我们就从技术角度,拆解这一 “让眼睛更灵动” 的核心算法。
一、大眼算法的核心思路:局部非等比例变形
大眼效果的本质,是对眼睛区域进行 “局部非等比例变形”—— 仅针对眼睛周围像素做针对性放大,同时保证画面自然。为实现 “自然感”,算法遵循两大关键设计:
渐变变形比例:从变形区域 “中心”(通常是眼球附近)到 “边缘”,变形 “力度” 逐渐减弱,避免眼睛放大呈现 “生硬拉伸” 感,而是形成有层次的过渡。
边缘无变形:变形区域的 “最外围边缘” 保持原状,确保放大后的眼睛能与周围皮肤、轮廓 “自然衔接”,杜绝 “边缘撕裂” 或 “不连贯” 的违和感。
二、圆形区域:为大眼划定 “精准范围”
算法会为 “大眼” 效果划定一个圆形的变形区域(半径记为r),以此贴合人眼大致形状,让变形更符合视觉直觉。
在这个圆形区域内,像素坐标会发生 “映射变化”:
原始图像中,像素到 “变形区域中心” 的距离记为X;
经算法处理后,新图像中该像素到 “变形区域中心” 的距离记为Y。
通过设计X与Y的函数关系(如 PPT 展示的曲线关系),实现 “中心放大明显,边缘放大渐弱” 的效果:像素越靠近圆形中心(X越小),Y相对于X的 “放大比例” 越高;像素接近圆形边缘(X接近r),Y与X的比例逐渐趋近于 1(即边缘几乎不变形)。
三、坐标映射与曲线调控:让 “放大” 更可控
为精细控制 “大眼” 程度,算法会设计坐标映射的曲线关系(如\(y = r \times [1 - \ln(1 - x/r)/\ln(2)]\)这类函数)。不同曲线参数(如 PPT 提及的 “\(a/b/c\)参数”),会带来不同 “放大力度”:曲线越 “陡峭”,中心区域放大效果越显著,大眼效果越强;曲线越 “平缓”,放大效果越自然柔和。
这种曲线调控,让美颜 SDK 能提供 “大眼强度” 调节选项 —— 本质是通过调整曲线参数,平衡 “放大效果” 与 “自然度”。
四、算法流程:从像素遍历到双线性插值
大眼算法的执行遵循清晰流程:
遍历原始图像像素:逐个检查图像中每个像素\((u,v)\)。
判断是否在变形区域:计算像素到 “变形区域中心” 的距离,判断是否属于需变形的圆形区域。若不在(距离超半径r),像素保持原状(\(u' = u\),\(v' = v\))。
双线性插值计算新像素值:若像素在变形区域内,通过 “双线性插值” 结合坐标映射关系,计算新图像中像素位置并赋予对应值。双线性插值的作用是让像素过渡更平滑,避免 “块状”“锯齿” 感,保证大眼后画面依然细腻。
结语:技术让 “美” 更自然
美颜 SDK 的大眼算法,看似是 “让眼睛变大” 的简单效果,实则融合 “区域划分、渐变变形、曲线调控、插值平滑” 等多重技术逻辑。
它既满足 “放大双眼” 的美化需求,又通过精细设计确保效果自然、不违和,体现了美颜技术 “用技术隐藏人工痕迹,让美更流畅真实” 的核心追求。
随着算法持续优化(如结合 AI 精准识别眼轮廓),未来 “大眼” 效果会更智能、更贴合个人眼部特征,“定制化美颜” 也将离我们越来越近。
来源:澜极美颜SDK