目录
Comparison with Other Matting Datasets
1. Title
2. Summary
本文相较于之前的Matting方法来说,创造性地引入了20个Matting Classes,或者某种意义上说是20种Matting Pattern,这样一来,对于每个image来说,可以额外引入一些类别信息,辅助Matting的进行。
首先,由于一个image中可能存在多个Matting Classes,因此,需要先将未知区域划分为多个Patch,然后基于Patch训练一个分类器,分类结果再产生一个Class Activate Map,多个Matting Classes的CAM以及原来的Trimap拼接在一起,即得到了Semantic Map。
最终,Semantic Map和RGB图片送入编解码器中进行Alpha的预测,同时由于多了Matting Classes信息,可以额外引入一些类别信息作为监督信号辅助训练。
3. Problem Statement
(1)Matting经典公式
本文要解决的问题的领域为Image Matting。
传统方法主要是依赖于图片的颜色或者是结构等低级特征,这种方法缺失了前景目标或背景场景的语义信息,当前景像素与背景像素深度混合时,便无法获得可信的分类结果。
深度神经网络可以一定程度上缓解传统方法的问题,并且在一些特定领域例如人像、透明物体的Matting任务中取得了一定的成果。
(2)Matting的隐含原因
尽管常规的Matting公式可以应用于复杂的场景中,但是由于前景语义信息的过于丰富,目前还没有工作尝试去分析Matting产生的潜在原因是什么。
目前的深度学习方法仍然只是使用data-level的语义信息,而没有去考虑Matting产生的本质原因是什么,对于同一个前景物体来说,不同的边界、模式都是可能存在的。
4. Method(s)
本文提出将Matting Region的语义分类引入Matting Framework中,以更好地提取Alpha Mattes。
首先,本文基于Regional Matting Patterns,将其聚类为20个不同的Matting Classes。
然后,通过考虑将Unknown Region对应的Matting Class置信度图,将传统的Class-Agnostic Trimap转化为Semantic Trimap。
最后,Semantic Trimap和原始的RGB图一起作为输入送入网络中进行Alpha Mattes的预测。
同时,本文还添加了一个Multi-Class Discriminator作为额外的监督,以提供语义信息的正则化约束。
(1)Dataset
Matting Classes
尽管现在存在很多大型Matting数据集,但是通过分析,其大体可以分为20种模式,即Matting Classes。
基于以上20个类别,本文重新收集整理了一个数据集——Semantic Image Matting Dataset,其包含726个训练前景和89个测试前景,并且都来自以上20种Matting Classes。背景则以一种在线获取的方式随机从COCO数据集中获取。测试集则是将测试前景与来自PASCAL VOC的10个背景组合而成。
Comparison with Other Matting Datasets
相较于其他Matting数据集来说,Semantic Image Matting数据集在20个Matting Classes上分布更加均匀:
Analysis
通过对Alpha Mattes的平均Gradient Magnitude和前景未知区域Alpha Ratio在20个Matting Classes的分布可以看出,不同的类别在梯度和ratio上存在着一定的差异,因此,充分挖掘Matting Classes信息将有利于Alpha Mattes的生成。
(2)Framework
FRamework整体结构为一个Encoder-Decoder结构,其输入来自于两个方面,一个是RGB图片,另一个是Semantic Trimap,输出则是Alpha Prediction。网络整体通过Multi-Class Discriminator、Reconstruction 和 Gradient-Related loss三个部分进行监督。
Patch-Based Classifier
Semantic Trimap是一个常规Trimap和一个n-channel的Score Maps的拼接,n则是Matting Classes的数量。
常规Trimap只会定义三个部分:绝对前景、绝对背景以及未知区域,而Score Maps则会定义未知区域属于某个Matting Classes的置信度。
由于一个Alpha Image通常包含多个Matting Classes,因此,需要将其划分为多个Patch,每个Patch仅属于一个Matting Classes。
训练时,随机对未知区域进行裁剪,得到一个方形patch,Classifier将该patch对应的常规Trimap的部分分为Matting Classes,并最终通过Class Activation Map计算其对应各个类别的置信度图Score Maps。
Encoder-Decoder Structure
整体结构基于UNet,在UNet的neck部分添加了一个ASPP模块用于聚合不同感受野的特征,Decoder则通过三个独立的预测头,分别预测F,B和α。
Multi-Class Discriminator
Multi-Class Discriminator带来的正则化作用将会使得模型去更好地学习各个类别的特征,从而给出更合理的预测,具体见下图:
Multi-Class Discriminator将在训练整个网络之前预训练好,在训练整个网络时,该部分参数冻结,仅作为一个正则化部分,训练过程与Semantic Trimap Classifier类似。
Multi-Class Discriminator主要通过classification loss and feature reconstruction loss两个损失对网络进行正则化。
Content-Sensitive Weights
经典Matting公式及其对应的梯度为:
对于一个未知区域来说,F-B和α都是未知的,因此可以使用网络对其进行学习,以引入额外的正则化信息:
其中λ1和λ2都是2D可学习权重。
(3)Losses
多种损失用于提供丰富的监督信号。
- Reconstruction Losses
- Classification and Feature Reconstruction Loss
- Gradient-related Loss
- Image Leaking Loss
- Total loss
5. Evaluation
本文采用了四种常用评估指标:the sum of absolute differences (SAD), mean square error (MSE), the gradient error (Grad) and the connectivity error (Conn)。
(1)与其他方法的比较
(2)消融实验
6. Conclusion
本文总结了20个Matting Classes,并基于这20个类别,将传统的Trimap转化为了Semantic Trimap,以提供更为丰富的语义信息,通过引入额外的监督信号,提升了alpha的预测精度。