Image Matting 图像抠图技术与深度学习抠图

Image Matting: 图像抠图技术是指从静态图像或者视频序列中抽取感兴趣目标的过程,在ps和视频编辑中有重要的应用。

1.Image Matting

Matting 技术可以表示为下面的图,与语义分割不同,它可以针对感兴趣前景物体进行细节处理、包括细微的毛发和透明的物体等。
fig from What’s the Role of Image Matting in Image Segmentation
其公式可以表示为前景、掩膜与背景三者间的关系(如果 α p \alpha_p αp在0~1范围内,公式表示matting/composition问题,需要考虑透明度;如果 α p \alpha_p αp为二值化的0/1,则称为了分割问题。):
在这里插入图片描述
matting技术主要包括了交互式抠图、幕布抠图和基于学习的抠图(参考:What’s the Role of Image Matting in Image Segmentation?):
在这里插入图片描述


2.Deep Image Matting

而随着深度学习技术的发展研究人员也提出了基于深度学习方法解决图像抠图问题的方案,英伟达的Deep Image Matting就是其中的代表(下图中skip层没有画出来*):
在这里插入图片描述
研究人员利用低层级和高层级的信息,利用原图和trimap作为输入得到粗糙的alpha通道map,随后利用一个小的卷积来优化得到更精细的matting结果,同时得到mask的alpha损失。其中还用前景瑜背景进行合成与原图进行比较得到图像组合损失。损失函数的定义如下:
一个是预测蒙版alpha与基准的损失:
L α i = ( a p i − a g i ) + ϵ 2 L_\alpha^i = \sqrt{(a_p^i-a_g^i)+\epsilon^2} Lαi=(apiagi)+ϵ2
另一个是预测出matting 与基准前景、基准背景合成的图像与输入之间的损失:
L α i = ( c p i − c g i ) + ϵ 2 L_\alpha^i = \sqrt{(c_p^i-c_g^i)+\epsilon^2} Lαi=(cpicgi)+ϵ2

训练中的数据集来自于http://alphamatting.com/和研究人员自己提出的Composition-1k数据集。

这种方法的结果与其他相比如下:
在这里插入图片描述

2.2 代码实现

对于DeepImageMatting中,这里有一份基于Keras的实现:
首先构建了编码器和解码器架构,以及对应的优化模块。可以参照前文的图像理解,编解码部分各包含了五组操作模块。。

# copy from:https://github.com/foamliu/Deep-Image-Matting/blob/master/model.py
def build_encoder_decoder():
    # Encoder
    #--------------------编码器部分----------------------------##
    # 根据架构图,编码与解码器各有五个操作组,编码器包括卷积和最大池化,解码器包括卷积和解卷积上采样
    input_tensor = Input(shape=(320, 320, 4))
    x = ZeroPadding2D((1, 1))(input_tensor)
    x = Conv2D(64, (3, 3), activation='relu', name='conv1_1')(x)
    x = ZeroPadding2D((1, 1))(x)
    x = Conv2D(64, (3, 3), activation='relu', name='conv1_2')(x)
    orig_1 = x       # 用于做skip-layer
    x = MaxPooling2D((2, 2), strides=(2, 2))(x)
    # >>首先两层卷积加一个池化层

    x = ZeroPadding2D((1, 1))(x)
    x = Conv2D(128, (3, 3), activation='relu', name='conv2_1')(x)
    x = ZeroPadding2D((1, 1))(x)
    x = Conv2D(128, (3, 3), activation='relu', name
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值