语义分割问题比起像素级的关系,更依赖于目标级的关系,因此,本文提出利用目标区域来建立区域性的上下文,从而建立目标级的关系。RANet通过训练目标区域的构建、代表性区域内容的选取、信息通路的配置以及像素间的上下文交换,共同提高分割精度。
在本文中,作者提出了用对象区域来构建区域上下文的思想,它对对象层次的关系进行了建模。这里,区域指的是一个对象或一个部分。每个物体都可以看作是一个区域,由一组相邻的属于同一类别的像素组成。直观地说,对象区域的边界提供了对象之间的空间关系。在同一对象区域中,像素包含一致的类别信息。
如上图所示,RANet的RCB模块(Region Construction Block)可以联合分析boundary score map和semantic score map。通过计算图像中每对像素的region attention score,基于注意力得分,RCB计算每个像素(红点)的区域决策图(region decision map)。它使用区域决策图将图像划分为不同的目标区域。
之后,region decision map被传递到区域交互模块(Region Decision Map)。RIB选择每个区域内代表性像素,在同一区域内,每个代表像素从其他像素接收上下文。代表像素可以有效地表示对象区域的局部内容。另外,在不同的空间范畴中,不同的区域和代表性对象之间的关系是综合的。RIB产生全局上下文表示来增强像素,最终形成上下文特征图进行分割。
Region Construction Block
对于输入的特征图 A ∈ R H × W × M A\in\mathbb{R}^{H\times W\times M} A∈RH×W×M,通过两层卷积获得边缘图 B ∈ R H × W B\in\mathbb{R}^{H\times W} B∈RH×W和语义得分图 C ∈ R H × W × N C\in\mathbb{R}^{H\times W\times N} C∈RH×W×N, N N N为类别数量。在同一个区域内,两个像素之间有较低的可能存在in-between boundary,并且有更高的可能属于同一个种类。
D i , j = max ( B i ↔ j ) D_{i,j}=\text{max}(B_{i\leftrightarrow j}) Di,j=max(Bi↔j), B i ↔ j B_{i\leftrightarrow j} Bi↔j指的是像素i和像素j之间的线段上的点的boundary map的值,值越高说明越有可能是boundary。
之后,使用JS散度来计算两个像素i和j之间的相似度, E i , j E_{i,j} Ei,j的值越低代表着像素i和像素j有可能是同一个种类。计算公式如下:
E i , j = ∑ n = 1 N C i , n log C i , n + C j , n log C j , n 2 U i , j , n , U i , j , n = C i , n + C j , n 2 E_{i,j}=\sum_{n=1}^N\frac{C_{i,n}\text{log}{C_{i,n}}+C_{j,n}\text{log}{C_{j,n}}}{2U_{i,j,n}}, U_{i,j,n}=\frac{C_{i,n}+C_{j,n}}{2} Ei,j=n=1∑N2Ui,j,nCi,nlogCi,n+Cj,nlogCj,n,Ui,j,n=2Ci,n+Cj,n
其中 C i , n C_{i,n} Ci,n和 C j , n C_{j,n} Cj,n代表着像素i和像素j每个种类的置信度。从而生成区域注意力图 F