天天看点

美颜SDK实用算法——直播背景扭曲矫正

经常关注颜值主播的人应该比较清楚,主播们在直播中都在使用美颜功能,例如“瘦脸”、“长腿”、“小头”等,这些美型美体的功能几乎成了主播们的必备,而这些功能的背后都离不开美颜SDK的强大算法。

随着美颜算法的不断升级与迭代,现在美颜SDK可以实现的功能越来越多,受众面也越来越广,同时暴露出一些问题。例如在直播的功能中,主播开启美颜美型等功能后,人体发生变化的同时背景也发生了形变、扭曲,“墙变歪了”、“门框歪了”等情况屡见不鲜。因此,美颜SDK在对人像美颜、美型时,有必要改进一下人像背景的扭曲问题,一来可以提升用户观感,二来主播也不会尴尬。

美颜SDK实用算法——直播背景扭曲矫正

那么,为什么这个问题出现这么久,现在依然有这种现象发生呢?是不是处理起来难度较大?答案是肯定的。

美颜SDK在运行美型、美体等功能时,想要保证人像背景不被扭曲还是比较困难的,如果在手机端的话难度会更上一层,下文小编将为大家盘点一下难点以及实现流程。

一、难点

1、背景内容复杂

大部分用户直播时背景极其复杂,没有固定场景,美颜SDK矫正算法想要适配大多数场景并不现实,在算法适用性上有着极大的挑战。

2、算法难统一

用户在使用美颜SDK时很少会单一使用某一个功能,大多都是多种功能搭配使用,例如瘦脸、大眼、长腿、调整下巴等多项美型操作,叠加后的美型算法很难统一规则来矫正。

3、性能不足

大多数主播多为手机直播用户,当用户直播时需要实时预览美型以及矫正后的美颜效果,这就对手机性能有着较为苛刻的要求,因为会涉及大量的美颜算法,手机性能无法达到电脑水平。

二、矫正流程

如果美型前后背景中的直线斜率保持不变,那么用户将不再会明显地感知到背景扭曲。为此,根据预设规则在原图背景中选择一些特征点,并利用这些特征点对背景区域进行三角网格划分。操作后,这些特征点的位置会发生改变,通过检测原图背景中的直线,并以变化前后的直线斜率保持不变以及三角形形状保持不变两个约束建立优化目标函数,最终求得矫正后特征点的位置。