论文地址 :OCNet: Object Context Network for Scene Parsing
pytorch实现:github 链接

1. 摘要

  论文侧重于语义分割中的语义聚集策略,即不再逐像素的进行预测而是将相似的像素点聚集后进行语义分割,由此提出了目标语义池化策略,它通过利用属于同一物体的像素集合的信息来得到某一个该物体包含的像素的标签,其中像素集合被称为目标语义。
  具体实现受到自注意力机制的影响包含两个步骤:1)计算单个像素和所有像素之间的相似性从而得到目标语义和每一个像素的映射;2)得到目标像素的标签。结果比现有的语义聚集策略例如PPM和ASPP这些不区别单一像素和目标语义之间是否存在属于关系的策略更加准确。

2. 简介

  场景解析是计算机视觉中的基础议题并且对于诸如自动驾驶和虚拟现实等任务非常关键,在全卷积网络的方法之后,多种基于深度卷积神经网络的方法已经用于场景解析,目前主要包括两种主要的方法,第一种是通过提升特征图的分辨率来提升空间上的准确率,比如空洞卷积,另一种是利用语义信息来替身像素预测的鲁棒性,后者是该论文的工作方向。
  现有的方法中,PSPNet将特征图分为多个区域,每个区域中的所有像素被视为这个区域的语义,ASPP则通过不同的空洞率来对多种像素进行采样,空间语义是属于不同目标的像素的混合,标签预测效果也受此局限。
  图片中每一个像素的标签的是这个像素所在的物体的标签,受此影响,论文提出新颖的目标语义池化以根据目标语义来聚集信息,首先为每个像素计算一个相似性映射,相似性分数表明了像素和像素所在物体的标签一致的可能性高低,称为目标语义映射,如下图所示:
在这里插入图片描述

  论文还提出了两个扩展,一个是Pyramid object context,其中空间金字塔的每个区域都进行一次目标语义池化;另一个是Atrous spatial pyramid object context,结合了ASPP和OC池化。

3. 方法

  给定一个图像I,场景解析的目标是为每一个像素打标签,标签是像素所在的物体的类别,从而输出分割图L
Pipeline将图像 I I I输入全卷积网络,输出一个大小为 W × H W \times H W×H的特征图 X X X,然后特征图 X X X通过目标语义模块产生一个更新后的特征图 X ˉ \bar X Xˉ,然后根据 X ˉ \bar X Xˉ预测每一个像素的标签,然后进行八倍上采样,整个结构被称为OCNet,如下图所示
在这里插入图片描述

3.1 Object Context

  目标语义的意图是通过利用属于同一目标的其他像素的信息来为当前像素分类,关键组建是目标语义池化层(OCP),OCP的设计受到了自注意力机制的影响包含两个步骤即目标语义评估和聚集。
Object context pooling (i) Object context estimation. 每个像素的目标语义是与该像素属于同一目标的集合。计算了目标语义映射,表示为 w p w_p wp,表明了当前像素和与其属于同一目标的其他像素的相似程度,目标语义映射的计算如下所示:
(1) w p i = 1 Z p e x p ( f q ( x p ) T f k ( x i ) ) w_{pi}=\frac{1}{Z_p}exp(f_q(x_p)^Tf_k(x_i))\tag{1} wpi=Zp1exp(fq(xp)Tfk(xi))(1)

  其中 x p x_p xp是像素 p p p i i i的表征向量,标准化参数 Z p Z_p Zp是所有相似性的和: Z p = ∑ i = 1 N e x p ( f q ( x p ) T ) f k ( x i ) Z_p=\sum^N_{i=1}exp(f_q(x_p)^T)f_k(x_i) Zp=i=1Nexp(fq(xp)T)fk(xi),其中 N = W × H N=W\times H N=W×H f q ( ⋅ ) f_q(\cdot) fq() f k ( ⋅ ) f_k(\cdot) fk()分别是遍历转换函数和关键转化函数。
   (ii)Object context aggregation. 论文通过聚合目标语义映射上的所有像素来计算当前像素的标签,如下所示:
(2) c p = ∑ i = 1 N w p i ϕ ( x i ) c_p=\sum^N_{i=1}w_{pi}\phi(x_i)\tag{2} cp=i=1Nwpiϕ(xi)(2)

  其中 ϕ ( ⋅ ) \phi(\cdot) ϕ()是值转换函数。
Base Object Context. 论文根据语义特征映射利用目标语义池化来聚合每一个像素的目标语义信息,然后将输入特征图和通过OCP的输出特征图整合,这个方法称为Base-OC,如下图所示:
在这里插入图片描述

Pyramid Object Context. 将图像在四个缩放尺度上分成若干区域:1 x 1,2 x 2,3 x 3和6 x 6,然后在每个尺度上分别使用目标语义池化来更新特征图,然后结合。金字塔目标语义模块能够去除空间上相隔较远的像素的影响并加强相隔较近的像素的作用(属于不同类别的)。最终和输入特征图结合,这个方法被称为 Pyramid-OC,如下图所示:
在这里插入图片描述

Comination with ASPP 如下图所示:
在这里插入图片描述
网络架构,实验部分 结论 略

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐