写在前面
文章链接: link
github复现链接: link
随着深度学习的成熟与发展,抠图的方法从早些年间基于传播的方法和基于采样的方法到现在使用卷积神经网络来完成抠图的过程,中间伴随着众多挑战:
1.总所周知,深度学习出色的结果是通过大量的数据喂出来的,而在抠图任务上,我们需要的是高质量的抠图数据,而标注一张图片的所需成本又较高,除了一些大型的公司可以大投入去做这件事,我们这些学生党普通人只能望而却步。数据量少且质量不高成为一个亟待解决的问题。
2.针对于分割任务的网络已经层出不穷,但是由于抠图任务的特殊性(将图片分为前景和背景的线性组合),是介于分类和分割之间的。如何将一些在分类和分割任务上表现出色的骨干网络用于抠图任务是我们要重点去研究的。
我本人在开题开抠图方向之前是做超像素与图像传统分割的研究的,而分割任务和抠图任务的相似性使我产生了浓厚的兴趣,之前也读了一些传统的方向的抠图论文,会慢慢的总结并分享出来。
而《Deep Image Matting》也是较早的一批使用深度学习方法做抠图的,但是这篇文章只是针对于边缘的未知区域进行的抠图,也就是说前提是你要大概的知道前景和背景的区域。搁别人说就是一篇朴实无华得文章,但是基本上后边得人用深度学习得 方法做matting也是都会参考一下这篇文章。
最近也在边看边学习,写下这篇博客,当成自己学习笔记和大家分享,如有错误,请大家不要吝惜,敬请指教。早之前在讨论班讲得这篇博客,现在写在博客上,和大家分享,共同进步,一起成长。
针对于matting任务来说,只是在图像合成过程中一个小的环节。只是为了提取出ALPHA matte遮罩图,这个就相当于一个指导书,分别从两个对象(FG,BG)中拿到相应得部分,然后去根据下述抠像方程得公式去合成一幅图像。
大家可以去细细的理解这个任务。
针对于之前的传统方法的缺点:
在面对前景和背景颜色接近或者纹理特征较复杂的时候,表现不好。1.只使用了低级的手工特征,2.缺少高级的上下文特征。
为了解决以上缺点,本文提出了两部分网络及一个还可以的数据集:
·编码器-解码器结构,将原图和trimap图作为四通道作为输入提取高级特征,并结合上下文特征预测输出图像的alpha
·在编码器-解码器网络之后,增加了一个小的卷积网络,对 预测得到的alpha进行处理,为了得到一个边缘更加尖锐的边缘。
还有更为重要的数据问题,这个就非常牛逼了。做了使用自己的标注的493张数据和 voc poc数据进行融合,得到了49300张新的数据。在一定程度上解决了数据量和质量不足的问题。
模型结构:由两部分组成,第一部分完成对alpha的预测;第二部分对预测的alpha调整使其的边缘更加锐利。
输入: 合成的图像(Image)和三分图(Trimap)
看过DIM数据集合成的图片的就知道,那合成的图片不能说和自然图片一摸一样,可以说是基本没啥联系,人加人,物加人,显著性的目标上再叠加一个显著性的目标,基本与自然图像毫无关系。但是这都没关系,为什么?正式因为三分图的加入,因为matting任务的特殊性,只针对与边界的混合像素进行操作,这就可以理解了三分图的重要性,就是标明确定的前景和背景区域,只留下边界中未知的像素点给网络处理。
编码器层: 使用vgg16进行权重初始化
VGG16是比较老的分类网络,分类比较老的网络用来提取语义特征,是因为matting 再概括上还是一个分类的任务,所以我认为啊,使用分类的网络提取特征的效果比较好。
除了最后的全连接层不适用,其他全部使用VGG的结构。并且使用再预训练的权重初始化编码器啊层的参数权重。
解码器层:
为了降低网络的总体参数量,在解码器的时候只使用了6个decode层。即可达到效果。
LOSS:
第一个用来判断逐像素点的alpha值的损失,第二个用来判断融合图像后的一个效果。
都用来约束ALPHA生成的质量。
在使用编码器和解码器之后进行预测中,得到的预测的图明显的可以看出对边界的感知能力较低。得到的ALPHA MATTE比较光滑,并且产生了明显的光晕。如下图所示,stage1是只经过编码器和解码器的预测图,stage1-2是进行过增强网络部分的图。
我们从视觉上也能看出一些差异,实际上就是处理并部分消除了光晕部分,使得最后的结果更加的锐化。
在网络中未显示的部分是此部分网络的输入是从原图进行了一次卷积而提取的低级特征,然后并上编码器和解码器网络预测的特征共同输入进网络中的。就是将原图的低级边界纹理特征进行一个重新的重视。
此部分,引起了大连理工的大佬的研究,就是如何去融合一个低级特征和一个高级的语义特征,从而完成一个端到端的抠图过程。这篇文章最近刚看完,下次分享。
就是一篇用CNN用在MATTING任务的论文,但是这篇文章启发了很多人去做一些改进的点儿或者在此基础上做出自己的创新。
本人创建的一个qq群:261457538。供大家讨论 Deep learning on matting。
奥利给,如要转载,请先告知。