aihot  2017-06-18 22:00:16  深度学习 |   查看评论   

HED: FCN用于边缘检测
 
  上一节讲到FCN适用于需要像素级预测的场景, 下面就介绍一个基于FCN的边缘检测的工作HED, 来自于屠卓文老师组, 发表在ICCV2015并且获得了Marr奖提名。 
  
  HED提出了side-output的概念, 在网络的中间的卷积层也对其输出上采样得到一个与原图一样的map, 并与ground-truth计算loss, 这些中间的卷积层输出的map称为side-output。 多个side-output产生的loss直接反向传导到对应的卷积层, 一定程度避免了梯度消失, 同时也在不同的卷积层(不同的感受野)学到了不同尺度的feature, 在edge-detection这个计算机视觉中古老的问题上取得了state-of-art的效果。
 在edge-detection这个计算机视觉
  上图所示为HED的网络结构, 多个side-output产生的loss直接反向传到对应的卷积层。
 
FSDS:我们发表于CVPR16的骨架检测方法
 
  在HED的基础上, 我们进一步提出了“尺度相关的边输出”(scale-associated side-output)的概念, 根据卷积层感受野的不同, 给予不同的监督, 使得最终的side-output具有尺度信息。
 
  由于HED解决的是边缘检测问题, 对于一个边缘点即使很小的感受野也能捕捉到边缘信息, 所以HED在多个side-output上进行优化的时候使用的是同一个ground-truth, 不同的side-output(具有不同的感受野)用同一个ground-truth监督是合理的。但是在骨架检测(skeleton detection)的问题中,骨架尺度有很大的变化, 不同感受野的卷积单元能感受到的骨架信息是不同的。
 
  正如下图, 只有卷积核(图中绿色方框)正好略大于骨架尺度(对应下图第1,第3个卷积核), 卷积核提取的特征才能有效检测出骨架。
卷积核提取的特征才能有效检测出骨架 
  基于以上的分析, 我们提出了FSDS(fusing scale-associated deep side-output),不同side-output是尺度相关的。 首先将骨架点根据其尺度从小到大分为离散的五类, 然后根据不同的side-output感受野的不同, 使用不同的ground-truth去监督side-output。 在这里, 物体骨架的尺度定义为骨架点到最近的轮廓点的距离的两倍。
 
  具体的, 在浅层的side-output(更小的感受野), groundtruth只标注第一类(尺度最小的)为正样本,其它所有点为负样本进行二分类; 由浅到深随着side-output感受野的增加, 逐渐增加监督的类别, 进行三分类、四分类等等。
 
  另外, 在HED中多个side-output的结果最后是平均累加的。 在我们的结构中, 由于浅层side-output产生的小尺度骨架的map置信度更高, 而深层side-output产生的大尺度骨架map的置信度高, 设计了带有权重的side-output融合策略, 多个由多个side-output产生的不同的尺度的分类结果使用不同的权重进行融合, 该权重在优化过程中自动学到。
side-output融合策略 
  上图是我们方法(FSDS)的网络结构, 多个side-output使用不同尺度的监督, 最后使用不同的权重进行融合。最上一排表示卷积; 第二排灰色背景表示不同side-output不同的groundtruth; 第三排表示side-output, 网络由浅到深, side-output产生的分类类别逐渐增多; 第四排将不同side-output上产生的同一尺度的骨架点的概率图连接到一起,骨架尺度用颜色区分, 数据流向为箭头指向。
 
  我们已经开源了该方法基于Caffe的实现, 源代码链接http://github.com/zeakey/DeepSkeleton
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自全卷积网络:从图像级理解到像素级理解

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]