魔扣论坛

魔扣源码论坛业务
查看: 578|回复: 2

简析视频美颜SDK中常见的人像特效算法

[复制链接]
  • TA的每日心情
    慵懒
    2020-4-9 16:53
  • 签到天数: 89 天

    [LV.6]每天都来

    88

    主题

    4

    回帖

    492

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    899
    贡献
    359
    威望
    1
    发表于 2019-10-22 16:35:45 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    美颜功能大多数都是用来美化图片和视频的,而视频美颜SDK所实现的美颜效果通常是以视频形式为主。一个视频美颜SDK中可以包含多种功能,也可以应用多种特效算法,毕竟现在所面向的平台和用户都比较广泛,所以需要提前做好相应的“准备”。本文来简单分享下基于抠图的人像特效算法。
    在这里需要提到两种算法,一种是CNN,另一种是FCN,关于这两个名词的具体含义在这里就不再继续展开,可以理解的是这两种算法是专门针对人像抠图的。在人像抠图过程中,会用到CNN或FCN,只不过CNN相对是一种比较传统的算法,所以选择FCN更多一些。
    美颜sdk20.png
    两者之间的优缺点对比
    优点:
    1.    比起CNN更加高效,可以避免由于使用像素块而带来的重复存储和计算卷积的问题。
    2.    可接受任意大小的输入图像,并不要求所有的训练图像和侧视图像尺寸相同。
    缺点:
    1.    无法充分考虑像素与像素之间的关系,丢失了对空间信息的考量。
    2.    无法得到足够精细的结果,最终采样结果比较模糊和平滑,对图像中的细节部分不够敏感。
    美颜sdk21.png
    部分参考代码如下
        current = image
        for i, name in enumerate(layers):
            if name in ['conv3_4', 'relu3_4','conv4_4', 'relu4_4', 'conv5_4', 'relu5_4']:
                continue
            kind = name[:4]
            if kind == 'conv':
                kernels, bias =weights[0][0][0][0]
                # matconvnet: weights are [width,height, in_channels, out_channels]
                # tensorflow: weights are [height,width, in_channels, out_channels]
                kernels =utils.get_variable(np.transpose(kernels, (1, 0, 2, 3)), name=name +"_w")
                bias =utils.get_variable(bias.reshape(-1), name=name + "_b")
                current =utils.conv2d_basic(current, kernels, bias)
            elif kind == 'relu':
                current = tf.nn.relu(current,name=name)
                if FLAGS.debug:
                    utils.add_activation_summary(current)
            elif kind == 'pool':
                current =utils.avg_pool_2x2(current)
            net[name] = current
    return net
    美颜sdk9.png
    基于抠图的人像特效算法从字面上来看可能还是比较难理解,比如景深模糊的展现效果,就是以抠图为核心的人像特效算法,除此之外还有马赛克之类特效都是基于此实现的。
    从应用场景方面来看,视频美颜SDK所对应的偏动态更多一些,换句话说视频美颜SDK应用在直播或短视频这一类场景后,需要着重考虑的算法和机制可以说是重点部分了。
    由此可见,随着人们不断增强的美颜需求,美颜效果的选择和美颜所面对的用户群体也随之发生了很大变化,这样一来,视频美颜SDK在开发和算法选择等方面都要多加考虑才行。
    声明:以上内容均为作者本人原创,转载需注明作者及原文链接,欢迎转载分享。

    该用户从未签到

    2

    主题

    262

    回帖

    526

    积分

    高级魔扣

    Rank: 4

    魔扣币
    262
    贡献
    262
    威望
    0
    发表于 2019-10-22 16:40:26 | 显示全部楼层
    忘掉岁月,忘掉痛苦,忘掉你的坏,我们永不永不说再见。',

    该用户从未签到

    1

    主题

    253

    回帖

    507

    积分

    高级魔扣

    Rank: 4

    魔扣币
    253
    贡献
    253
    威望
    0
    发表于 2019-12-3 15:33:36 来自手机 | 显示全部楼层
    秀起来~
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表