用于阴影检测的DSC特征

Posted by Jinming Qiao on April 11, 2020

用于阴影检测的DSC特征


论文名称:《用于阴影检测的DSC特征》—2018

论文作者:胡枭玮

毕业院校:香港中文大学


近年主要进展

  • scGAN 与 stacked-CNN,分别发表在了 2017 年的 ICCV 与 2016 年的 ECCV 上,主要是通过深度神经网络从大量的数据样本中自动学习特征,用于检测阴影区域
  • 缺点:仍然可能将黑色的物体误检为阴影,或者漏掉一些不太明显的阴影区域

spatial context features

  • 空间 RNN 获取的空间上下文特征,该特征叫做 spatial context features
  • 信息在整张特征图上从左到右传播(公式中的权值 alpha right 是共享的并且可以自动学习的)
  • 通过聚合四个方向的结果,对于每一个像素点来讲,就可以获得它所在的行和列的信息
  • 进一步方向性的分析空间上下文特征,采用attention 机制,来生成一组权值,并且将他们分成四张权值图,分别通过点对点的方式,乘上四个方向的空间上下文特征
  • 在不同方向上选择性的使用空间上下文特征来得到 direction-aware spatial context feature,即 DSC 特征

如何训练网络

  • 首先使用卷积神经网络提取不同分辨率下的特征图像(「特征金字塔」)
  • 位于低层的特征图像分辨率高,能够提取到图像的细节信息,但是缺乏语义信息
  • 位于高层的特征图像分辨率低,可以提取到图像的语义信息,但是缺乏图像细节信息
  • 将 DSC 模块应用到每一层特征图上,并将得到的 DSC 特征与原来的特征相连接,然后放大这些特征图像到原图大小
  • 放大之后的特征图像组合为 Multi-level integrated features(简称为 MLIF),使用包括 MLIF 特征在内的每一层特征来预测阴影区域

weighted cross entropy loss

  • L1 用来平衡阴影区域与非阴影区域的比重,如果阴影区域的面积小于非阴影区域,会惩罚误检的阴影区域多一些
  • L2 帮助网络去学习不容易识别的类型(这里主要指阴影或非阴影),如果正确识别的阴影区域较小,那么他的损失函数的权值就会变大,反之亦然
  • 使用 MLIF 层以及 fusion 层的均值作为最后的结果。并且使用 CRF 作为后处理,用来改进检测到的阴影区域的边界

shadow-free image

  • 先使用网络预测 shadow-free image(去除掉阴影的图像),再接着用 Euclidean loss 训练整个网络
  • 对于一组训练样本,我们通过最小化输入图像与 ground truth 非阴影区域的误差,来学习一个颜色转换函数
  • 将学到的颜色转换函数应用到原始的 ground truth上,可以得到与输入图像非阴影区域的颜色亮度相匹配的结果

实验效果图

  • 阴影检测图

  • 阴影去除图