HRNet+OCR

code and paper : https://paperswithcode.com/paper/object-contextual-representations-for

前言

目前在Semantic Segmentation on Cityscapes test这个排行版中,排名第一的模型是这两个方法的结合。
HRNet+OCR

HRNet

HRNet: Deep High-Resolution Representation Learning for Visual Recognition, CVPR 2019
当前的语义分割方法需要高分辨率特征,主流方法是通过一个网络得到 低分辨 feature map,然后通过上采样或反卷积 恢复 到高分辨率。
HRNet+OCR
下图中的经典方法,看起来不同,但本质核心思路是差不多的。这些方法存在一个缺点,分辨率由高到低会损失信息!
HRNet+OCR
为了解决这个问题,团队提出了一个方法,核心思路是 “不恢复 到高分辨率,而是保持分辨率” 。具体图示如下,把不同分辨率的 feature map 并联,各个分辨率分别一路,“保持”信息。但是,这样仍有一个问题,就是 feature map 彼此之间没有交互。
HRNet+OCR

为此,团队又给网络添加了一些内容,如下图红线所示,各路之间不断进行 repeated fusions。
HRNet+OCR
交互的方式如下:上采样时,先双线性插值,然后用1x1的卷积处理;下采样时,采用步长为2,尺寸为3x3的卷积处理。
HRNet+OCR
这就是HRNet 的全部内容,下图是方法的总结:1)以往网络是串联,改为并联;2)以前是降分辨率,改为保持高分辨率;3)通过加强交互,进一步提高性能。

OCR

Object-Contextual Representations for Semantic Segmentation
当前的FCN没有解决好物体上下文信息。因为单独看一个象素,很难知道这个象素是属于某一个物体的,因为象素给我们的信息是RGB的信息,如果不给予足够多的上下文信息是很难判断的。下图列举了商汤的PSPNet和谷歌的ASPP。PSPNet通过给每个象素周围建立多尺度的表征获取上下文信息,当时这个方法取得了非常大的突破。同时谷歌的ASPP也用了类似于空洞卷积的方式来实现上下文信息获取。

HRNet+OCR
当前方法分析上下文信息如下图所示,比如说红色点是我们关注的点,周围绿色几个点是采样出来的,可以看到,绿色点分为两部分,一部分是属于车的,还有一部分是属于背景的。当前方法并没有进行区分。
HRNet+OCR
那我们该怎么办?我们找这个物体,要通过周围物体的象素表征来帮助。因此,我们需要把红色像素周围属于 object 的pixel取出来做为上下文,如下图所示:
HRNet+OCR
具体如何做呢?首先用一个 baseline network 得到一个粗略的分割结果(黄色框中左半部分),同时,还会输出全图的 feature map。分割结果包括K类,我们把每个类别的特征提出来(黄色框中上半部分的特征),如下图所示:
HRNet+OCR
然后, 把红色小方块的的特征经过变换,右边K个区域的特征也经过一个变换,然后计算一下相似度,如下图所示。相似度计算以后,就可以得到红色小方块属于各个类别的可能性。我们根据这个可能性把每个区域的表征进行加权,会得到当前像素增强的特征表示(object-contextual representation)。
HRNet+OCR

ocr代码分析

HRNet+OCR

  • step1: 计算一个coarse的segmentation结果,即文中说的soft object region
    实现过程:从backbone(ResNet或HRNet)最后的输出的FM,再接上一组conv操作,然后计算cross-entropy loss
  • step2: 结合图像中的所有像素计算每个object region representation,即公式中的fk
    实现过程:对上一步计算的soft object region求softmax,得到每个像素的类别信息,然后再和原始的pixel representation相乘
  • step3: 利用object region representation和原始的pixel representation计算得到pixel-region relation,即得到公式中的wik
    实现过程:将object region representation和pixel representation矩阵相乘,再求softmax
  • step4: 计算最终每个像素的特征表示
    实现过程:将step3的结果object region representation矩阵相乘,得到带有权重的每个像素的特征表示,并和原始的pixel representation连接到一起
    OCR的整体流程
    HRNet+OCR
    step2对应的代码
    HRNet+OCR
    step3对应的代码
    HRNet+OCR
    性能
    HRNet+OCR

精度
HRNet+OCR

参考

https://www.cnblogs.com/gaopursuit/p/13035171.html
https://www.cnblogs.com/xiangs/p/12863173.html