对象上下文语义分割:OCR论文笔记(Object-Contextual Representations for Semantic Segmentation )
对象上下文语义分割:OCR
原文:Object-Contextual Representations for Semantic Segmentation
论文链接: https://arxiv.org/abs/1909.11065
pytorch official code: https://github.com/HRNet/HRNet-Semantic-Segmentation/tree/HRNet-OCR
笔记时间:2020.11.25
文章发表在了ECCV2020
微软和中科大提出的HRNet可以保持高分辨率的特性可以用于对位置信息敏感的任务中。
在语义分割的任务中进一步的提出了一个聚合上下文信息的模块。也就是今天说的这个OCR。
看到目前的分割文章都有一种A+B的感觉,A是一个backbone(resnet,inception)等等。B是一个语义聚合的模块(包括pspnet中的PPM,deeplab中的ASPP)等等
文章目录
- 对象上下文语义分割:OCR
- Abstract
- Introduction+Related work
- Approach
- Experiments
- Conclusions
Abstract
文章的总体思路是:像素的标签是像素所在的对象的标签,并且通过用相应的对象区域表示来表征每个像素来加强像素表示。
主要分为三个步骤:
- First, we learn object regions under the supervision of the ground-truth segmentation.(这里的object regions可以大概理解成我先搞一个粗略的分割)
- Second, we compute the object region representation by aggregating the representations of the pixels lying in the object region.
- Last, we compute the relation between each pixel and each object region, and augment the representation of each pixel with the object-contextual representation which is a weighted aggregation of all the object region representations.
具体看这些步骤好像很乱,事实上大概目标就是计算像素和对象之间的关系,最后来加强每个像素的表示。
Introduction+Related work
对于上下文信息的利用最早就有aspp和ppm这种具有固定区域结构的空间表示。但是本文提出的OCR对比固定空间表示的上下文聚合更具灵活性。可以看到下图:
对于aspp来讲,每个像素去提取上下文信息都是固定空间位置的。对于OCR来讲,他提取的上下文信息是提取目标像素所在对象的上下文信息。
论文整体的思路有点有粗到细的感觉。先根据粗的分割结果表示出对象。再通过对象和像素之间的关系,加强表示像素的信息。但是这个粗分割的结果只用于生成上下文信息。
Approach
文章这个部分写了很多的公式。直接看公式可能有点云里雾里,直接看代码可能更清楚些。
看的是上面这个文件的代码
https://github.com/HRNet/HRNet-Semantic-Segmentation/blob/HRNet-OCR/lib/models/seg_hrnet_ocr.py
633行之前都是进行HRNet,从633行开始才是OCR的部分
# ocr#这句的作用是进行粗分割,形成对应论文中的软对象区域,也就是粉色框里的东西out_aux = self.aux_head(feats)# compute contrast feature#这里feats就是图中的蓝色框里的东西,对应论文中的pixel reprationsfeats = self.conv3x3_ocr(feats)#这里形成的是object region representation,就是紫色框里的东西context = self.ocr_gather_head(feats, out_aux)#计算pixel和object region的关系。最后形成的是augmented #representation也就是黄色框里的深蓝色块(这步里面进去看有很多的步骤)feats = self.ocr_distri_head(feats, context)#最后分类到对应的channel数out = self.cls_head(feats)
在看代码的过程中没有看到最后上采样4倍的地方,找了好久,最后发现好像写在了criterion.py 交叉熵损失那里,不知道为啥要这么做。
对比实验验证对象区域监督对性能有不小的影响
Experiments
训练:用于监督目标区域的损失设置损失权重为0.4。进行了数据增强。
作者不仅在性能上进行了对比,在内存使用,参数量等也进行了对比。
Conclusions
文章提出了一种面向语义分割的对象上下文表示方法。主要的想法就是认为像素的标签是像素所在的对象的标签,并且通过用相应的对象区域表示来表征每个像素来加强像素表示。
对象上下文语义分割:OCR论文笔记(Object-Contextual Representations for Semantic Segmentation )相关推荐
- CVPR2022自适应/语义分割:Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation
CVPR2022自适应/语义分割:Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation用 ...
- 语义分割--(DFN)Learning a Discriminative Feature Network for Semantic Segmentation
Learning a Discriminative Feature Network for Semantic Segmentation Learning a Discriminative Featur ...
- 语义分割--Not All Pixels Are Equal:Difficulty-Aware Semantic Segmentation via Deep Layer Cascade
Not All Pixels Are Equal: Difficulty-Aware Semantic Segmentation via Deep Layer Cascade CVPR2017 本文针 ...
- 一文看尽9篇语义分割最新论文(GPSNet/Graph-FCN/HMANet等)
前言 恰逢 2020年,本文再次更新近期值得关注的最新语义分割论文.这次分享的paper将同步推送到 github上,欢迎大家 star/fork(点击阅读原文,也可直接访问): https://gi ...
- ICCV2021 语义分割相关论文集合推荐
1. 论文名称:Re-distributing Biased Pseudo Labels for Semi-supervised Semantic Segmentation: A Baseline I ...
- 干货 | 语义分割综述论文总结与推荐
添加几篇 19-20 年的综述 Evolution of Image Segmentation using Deep Convolutional Neural Network: A Survey 这篇 ...
- 【语义分割】论文代码资料汇总
语义分割的资料总结 1.Github一份丰富的论文清单 from hangdong1587,这份清单中包含了一下几个部分: 语义分割基础论文 基于多边形的分割 基于U-net的分割 前景分割 语义分割 ...
- 语义分割——语义分割数据集的笔记
1 语义分割数据集的笔记 1.1 Pascal VOC data sets Pascal VOC是一个语义分割的数据集: 官方链接:http://host.robots.ox.ac.uk/pascal ...
- 语义分割系列论文 ParseNet
语义分割系列论文 ParseNet 核心思想--Global Context 理论感受野的大小(Receptive Field) 实际感受野的大小 此文章如何扩大感受野? 疑点(读者可以忽略本节) 总 ...
最新文章
- 从实现iPhone的OAuth封装看国内互联网和开放平台
- 转:android实时语音问题分析
- python pip国内源_Python 修改pip源为国内源
- OPPO海外功臣realme将回归国内 目标竞争对手:红米和荣耀
- mysql 数据库被覆盖_理解MySQL数据库覆盖索引
- linux内核维护者,Linux 内核维护者封杀明尼苏达大学(转载) - 优秀的Free OS(Linux)版 - 北大未名BBS...
- 开发一个软件需要哪些角色
- 知识图谱嵌入:TransE算法原理及代码详解
- java图片透明_Java实现对图片透明化处理
- NSString NSCFString isMemberOfClass 遇到的相关的问题
- 抖音账号盘子起底:摄影类账号是怎么割韭菜?
- python股票交易接口是什么_python 股票交易接口【怎样用 Python 写一个股票自动交易的程序】...
- 并发(10):线程之间的协作(上)
- 一台电脑绿色安装多个版本google Chorme方案
- 计算机毕设 SSM线上少儿编程系统 在线少儿编程学习系统 少儿编程教育课程平台Java
- the inferior stopped because it triggered an exception
- 安卓bmi项目_bmi计算器
- 【万字干货】产业互联网B端产品经理实操手册
- kafka部署时出现的天坑
- 嵌套交叉验证的一致特征(Consensus features nested cross-validation)
热门文章
- 微博android升级7.000,华为 Android 7.0 升级计划曝光:G9 青春版 /Nova 也有份
- html编码后台转换,HTML编码转换、HTML部分实体
- 高德地图SDK在API 31以上崩溃的问题
- 王者荣耀账号转服务器,王者荣耀账号如何跨系统转移
- 如何选择适合你的兴趣爱好(一),拉丁舞
- C语言或less或sass中,ceil floor 无法传入动态变量取整的办法
- picACG本地缓存目录_饭团追书怎么返回目录 饭团追书和饭团探书区别
- Layui使用中遇到的问题
- python 人民币兑美元汇率代码_人民币对美元汇率的大数据分析与预测【完整代码】...
- 《用户至上:用户研究方法与实践》用户体验入门