1909.11065:Segmentation Transformer: Object-Contextual Representations for Semantic Segmentation
创新点
- OCR:聚合 “对象上下文信息“(Object-Contextual Representations)的分割head。
- 因为像素的标签是像素所在的对象的标签,可通过相应的粗分割对象区域信息,对粗分割进行后处理(来增强像素特征的描述)。
- 提出的OCR方法不同于传统的多尺度上下文方案:
- OCR将相同对象类别的上下文像素与不同对象类别的上下文像素区分开来(是对对象进行了区分,学习了像素-对象区域之间的关系),而多尺度上下文方案(例如ASPP和PPM)则不会,仅区分具有不同空间位置的像素:
- 该分割head:
- 1.将上下文像素划分为一组软对象区域,每个软对象区域对应于一个类别,即从深层网络(例如ResNet或HRNet)计算出的粗略软分割。 这种划分是在分割groud-truh的监督下学习的。
- 2.通过聚合相应对象区域中像素的表示来估计每个对象区域的表示。
- 3.使用对象上下文表示(OCR)扩展每个像素的表示。 OCR是所有对象区域表示的加权聚合,其加权根据像素和对象区域之间的关系计算。
- 网络结构:
- Backbone:ResNet / HRNet 。
- OCR head:
- 整体看来就像attention套娃:
- 多种转换全部是通过不同size的conv实现的。
- 整体看来就像attention套娃:
- 完整结构详解(其中关键操作和模块名和论文图对应,并给出了维度尺寸):
- 代码实现:
- 主函数:
- step2:
- step3对应的代码:
性能:
- HRNet OCRNet 是当前分割的SOTA: