Rethinking RGB-D Salient Object Detection: Models, Datasets, and Large-Scale Benchmarks
Rethinking RGB-D Salient Object Detection: Models, Datasets, and Large-Scale Benchmarks
简介
这是一篇程明明团队2019年发布在arXiv上的一篇关于rgb-d显著性检测的文章。数据集和代码均可在github上找到。
github:
https://github.com/DengPingFan/D3NetBenchmark
动机和贡献
这篇文章的 动机 :因为当前在3D显著性检测的研究工作中很少有真实世界人类活动的检测,因此在这篇文章中,为了填补这一缺陷做了如下三点贡献:
1.搜集了新的显著人物(SIP)数据集,其中包含1k张高分辨率的从各种姿势、角度、遮挡、照明、背景的现实世界场景搜集的图像。
2:提出了一种迄今为止最为全面的benchmark,该方法在这一领域已经缺失,因此可以用作未来的研究基准。
3.提出了一种简单的baseline结构,称为Deep Depth-Depurator Network(D3Net)。其中包含了深度调试单元和特征学习模块,分别进行初始的低质量的深度图滤波,和跨模态的特征学习。
Related Works
数据集及model对比
datasets
model
提出的模型
模型图如下
Depth Depurator Unit(DDU)
DDU模型的目的是为了将深度图分成合理的和低质量的图,在后续的模型通道里不用差的深度图。
如图:
高质量深度图中的独立显着对象通常以定义明确的封闭边界为特征,并在其深度分布中显示出清晰的双峰。
为了剔除低质量深度图,DDU模块首先使用Otsu算法给每个输入的深度图Sd一个最佳阈值t*
(显著区域大于t,非显著区域小于t)。
然后使用H来衡量对象在显着区域和非显着区域之间的差异。 如果像素的显着对象与背景明显区分开,则H将很高。 H可以表示为
(其中是深度图显著区域或者非显著区域的平均值。)
再通过使用非显着区域的方差来公式化深度图的能量E:
最后进一步结合特征H和E,因为对于每个深度图,一个简单的组合特征在技术上都是1D共同特征(这句话目前没懂)。为了有效地净化低质量深度图,我们遵循回归树的一般思想对深度图像进行分类:
其中 , 是预测标签(0表示低质量图,1是正常图)。,是GT标签。θ是回归树的参数。
Feature Learning Module(特征学习模块,FLM)
文章设计了FLM,当DDU输出的Xd = 1的时候使用RGB - D 作为特征学习的输入,否则只使用RGB。
为了简单起见,文章使用标准ResNet50模块与几块并行的PDC(Pyramid Dilated Convolution)模块级联来提取空间特征,但是空洞不同。如网络结构图下面一层所示,用一组并行的,空洞不同的卷积核对支路输出F进行卷积来生成特征图为了解决网络退化问题,并且自动学习多尺度特征文章联合F和Q:
最后用一个3x3的512通道的卷积核和一个3x3的256通道的卷积核缩减维度,最后为了生成特征图用一个1x1的一通道卷积核读出,并且用sigmoid函数**。
(作者还说自己的结构和ASPP很像,但是比后者大,可以采集更多不同尺度的信息。)
实施细节
DDU:文章为了学习回归树的参数θ,需要把每一张深度图的质量标签分配到训练集里。因此他们把S-measure<0.45的标记为低质量(0),其他为中、高质量(1)。文章随机的从NJU2K数据集选择1.4k作为训练图,并把回归树设置为5级
PDC:VGG-16和Res-101可以作为备用骨干网络。最后两个模块的卷积步长为1,输入图像resize为512x512。四个dilation factiors设置为r0=1,rk=12*k(k=1,2,3)
LOSS Function:使用交叉熵损失函数:S和G分别是显著图和GT图,N是像素总数。
消融试验
文章把D3Net模块作为baseline进行消融分析,并且把RGB和RGB-D分别作为BASE1和BASE2。
(这里是先不要DDU模块,BASE1和2单独跑数据集,最后再加上DDU进行整体的测试作为比较)
最后发现DDU模块对模型性能提升很大。
总结
这篇文章主要是提供了新的Datasets,并且提出了一种D3Net作为Baseline,网络标准ResNet50串联一个并行的PDC提取空间特征。最重要的部分我认为是DDU模块,这是数据筛选的一个重要过程,其实把表现很差的深度图剔除掉,只用RGB图的话,就不会让差的图去影响结果。我曾经想加上权重去分配D和RBG的特征,结果这个更狠,直接踢掉了。。。