论文提出伪监督目标定位方法(PSOL)来解决目前弱监督目标定位方法的问题,该方法将定位与分类分开成两个独立的网络,然后在训练集上使用Deep descriptor transformation(DDT)生成伪GT进行训练,整体效果达到SOTA,论文化繁为简,值得学习



来源:晓飞的算法工程笔记 公众号

论文: Rethinking the Route Towards Weakly Supervised Object Localization

Introduction


  由于训练数据难以大量标注,一些研究如何使用弱监督的方法来学习,弱监督的训练数据一般只包含image-level标签,无具体目标的定位标签/语义标签。在弱监督算法中,弱监督目标定位(WSOL)是最实际的任务,只需要定位给定标签的对象位置即可

  经过实验,论文认为WSOL中的定位部分应该为类不可知的,与分类无关。基于这个观察,将WSOL分为类不可知目标定位以及目标分类两部分,如图1所示,命名为伪监督目标定位(Pseudo Supervised Object Localization, PSOL)。算法首先生成通过Deep descriptor transformation(DDT)生成伪监督GT bbox,然后对这些bbox进行回归,去掉了WSOL中仅能有一层全连接的限制(当作卷积的channel-wise权重)以及定位与分类耦合导致的取舍问题

  论文贡献主要如下:

  • 弱监督目标定位应该分为类不可知目标定位和目标分类两个独立的部分,提出PSOL算法
  • 尽管生成的bbox有偏差,论文仍然认为应该直接优化他们而不需要类标签,最终达到SOTA
  • 在不同的数据集上,PSOL算法不需要fine-tuning也能有很好的定位迁移能力

Related Works


  这里需要说明一下,弱监督目标定位(WSOL)与弱监督目标检测(WSOD)是不一样的,WSOL假设图片中只有一个目标,而WSOD则没有这种假设,所以WSOD一般需要额外的方法去生成region proposal

Methodology


A paradigm shift from WSOL to PSOL

  当前WSOL能够生成生成带类别标签的bbox,但主要有以下几个问题:

  • 学习目标不明确,导致定位任务性能下降。独立的CNN不能同时进行定位和分类任务,因为定位需要目标的全局特征,而分类只需要目标的局部特征
  • CAM(Class Activation Mapping)存储一个三维特征图用于计算类别的heatmap,再用阈值过滤,但是一般阈值十分难确定

  受selective search和Faster-RCNN的类不可知过程的启发,将WSOL分成两个子任务,类不可知的目标定位任务和目标分类任务,提出PSOL,直接通过伪GT bbox进行模型更新,不需要直接生成bbox,能够显著解决前面提到的问题

The PSOL Method

  • Bounding Box Generation

  PSOL与WSOL的区别在于给无标签的训练图片产生伪bbox,Detection是最好的选择,能够直接提供bbox和类别。但是最大的检测训练集才80类,不能提供通用的目标检测,而且目前的detector大都需要大量的计算资源和输入尺寸,导致不能在大规模数据集上使用。除了detection模型,可以尝试定位方法来直接产生训练图上的bbox

  1. WSOL methods

  首先通过预训练网络$F$得到输入图片$I$的最后卷积的特征图$G \in \mathbb{R}^{h\times w\times d}=F(I)$,然后通过全局池化和最终的全连接层得到最后的标签$L_{pred}$。根据$L_{pred}$或$L_{gt}$,得到特定类别在最终全连接中的权重$W\in \mathbb{R}^d$,对$G$中的空间位置进行channel-wise的加权并求和得到特定类别的heatmap $H, H_{i,j}={\sum}{k=1}^d G{i,j,k}W_k$,将$H$上采样到原来的大小,使用阈值过滤在产生最终的bbox

  1. DDT recap

  协同监督方法在定位任务中有较好的表现,DDT是其中表现好且计算量最少的。对于$n$张相同标签图的集合$S$,使用预训练模型$F$得到最终的特征图$G\in \mathbb{R}^{h\times w\times d}=\mathbb{R}^{hw\times d}=F(I)$,将这些特征图集合到一起得到大特征集$G_{all}\in \mathbb{R}^{n\times hw\times d}$。在深度上使用主成分分析(PCA),得到特征值最大的特征向量$P$,然后对$G$进行channel-wise的加权并求和得到最终的heatmap $H, H_{i,j}={\sum}{k=1}^d G{i,j,k}P_k$,将$H$上采样到原来的大小,然后进行零过滤以及最大连通区域分析得到bbox

  • Localization Methods

  在生成bbox后,使用bbox回归进行精调,这里使用单类别回归(single-class regression, SCR)。假设bbox为$(x,y,w,h)$,$(x,y)$为左上角坐标,$(w,h)$为宽高,首先将值进行转换$x^=\frac{x}{w_i}$, $y^=\frac{y}{h_i}$, $w^=\frac{w}{w_i}$, $h^=\frac{h}{h_i}$,其中$w_i$和$h_i$为输入图片的宽和高。使用两个全连接层以及对应ReLU的子网来回归,最终的输出进行sigmoid激活,训练使用最小平方差

Experiments


Experimental Setups

  • Datasets,使用ImageNet-1k和CUB-200,测试数据的bbox是准确标注的,而训练集上的bbox则通过前面提到的方法进行生成
  • Metrics,验证3个指标:知道GT类别的定位准确率(GT-known Loc),当预测与GT的$IOU > 50%$时正确;Top-1定位准确率(Top-1 Loc),Top-1的分类正确且GT-known Loc正确;Top-5定位准确率(Top-5 Loc),Top-5结果中存在分类正确且GT-known Loc正确
  • Base Models,有VGG16/Inception V3/ResNet50/DenseNet161,没有增大图片输入,一些WSOL方法要用到类别信息的权重(单层全连接)来生成heatmap,而PSOL不用。为了公平起见,增加VGG-GAP,将所有全连接层换成单层全连接,而对于回归模型,仍然使用双层全连接层加对应的ReLU
  • Joint and Separate Optimization,对于联合优化模型(-Joint),在原来的基础上加入bbox回归分枝,然后同时训练模型的分类和定位。对于独立优化模型(-Sep),单独训练两个模型

Results and Analyses


Ablation Studies on How to Generate Pseudo Bounding Boxes

  在验证集上对比了不同算法生成伪GT框的准确率,DDT-VGG16性能最优

Comparison with State-of-the-art Methods

  与SOTA对比并可视化结果后发现:

  • DDT本身就已经比WSOL方法要好,说明类不可知是有用的,WSOL应该分为两个独立的模型
  • 所有PSOL方法分开训练都比联合训练要好,说明定位和分类学习到的内容不一样
  • POSL在CUB-200上都具有较大的优势,由于类别相似度较大,类别标签不一定能帮助定位,反而协同定位的DDT更占优
  • CNN有能力去处理有噪声的数据并且得到更高的准确率,PSOL模型的GT-Known Loc基本都比DDT-VGG16高
  • WSOL里的一些约束没有带到PSOL中,例如只允许单层全连接层以及更大的输出特征图,去掉常见的三层全连接层会影响准确率,VGG-Full比VGG-GAP要好。还有WSOL方法在复杂的网络上效果不好,如DenseNet,主要由于DenseNet使用多层进行分类,不仅仅是最后一层,最后一层的语义不如VGG等明确,而PSOL-DenseNet则避免了这个问题,达到最高准确率

Transfer Ability on Localization

  PSOL不需要任何监督信息就很好的从ImageNet迁移到CUB-200,甚至比fine-tune的WSOL方法都好,证明目标定位与类别关联是没必要的

Combining with State-of-the-art Classification

  将分类部分的网络改为SOTA分类网络结合进行实验,PSOL性能依然比WSOL要好

Comparison with fully supervised methods

  对比监督方法,这里论文的描述不是很清楚,表中有监督的分类网络应该都是使用WSOL方法+定位LOSS。从结果来看,从ILSVRC直接迁移过来的Faster-RCNN-ensemble精度最高,region proposal网络不需要fine-tuning就具有更好的处理不同类别的通用能力,说明定位与分类是分开的

CONCLUSION


  论文提出伪监督目标定位方法(PSOL)来解决目前弱监督目标定位方法存在的问题,该方法将定位与分类分开成两个独立的网络,然后在训练集上使用Deep descriptor transformation(DDT)生成伪GT进行训练,整体效果达到SOTA,论文化繁为简,值得学习





如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL) | CVPR 2020的更多相关文章

  1. 商汤提出解偶检测中分类和定位分支的新方法TSD,COCO 51.2mAP | CVPR 2020

    目前很多研究表明目标检测中的分类分支和定位分支存在较大的偏差,论文从sibling head改造入手,跳出常规的优化方向,提出TSD方法解决混合任务带来的内在冲突,从主干的proposal中学习不同的 ...

  2. (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致

    描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...

  3. CVPR 2020目标跟踪多篇开源论文(上)

    CVPR 2020目标跟踪多篇开源论文(上) 1. SiamBAN:面向目标跟踪的Siamese Box自适应网络 作者团队:华侨大学&中科院&哈工大&鹏城实验室&厦门 ...

  4. MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral)

    MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral) Tracking by Instance Detection: A Meta-Learning Approach 论文链接:h ...

  5. 腾讯推出超强少样本目标检测算法,公开千类少样本检测训练集FSOD | CVPR 2020

    论文提出了新的少样本目标检测算法,创新点包括Attention-RPN.多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到 ...

  6. 增量学习不只有finetune,三星AI提出增量式少样本目标检测算法ONCE | CVPR 2020

    论文提出增量式少样本目标检测算法ONCE,与主流的少样本目标检测算法不太一样,目前很多性能高的方法大都基于比对的方式进行有目标的检测,并且需要大量的数据进行模型训练再应用到新类中,要检测所有的类别则需 ...

  7. CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等

    CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...

  8. 定位页面元素之xpath详解以及定位不到测试元素的常见问题

    一.定位元素的方法 id:首选的识别属性,W3C标准推荐为页面每一个元素设置一个独一无二的ID属性, 如果没有且很难找到唯一属性,解决方法:(1)找开发把id或者name加上.如果不行,解决思路可以是 ...

  9. 利用HTML5定位功能,实现在百度地图上定位(转)

    原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无 ...

随机推荐

  1. django复习 以及源码

    django请求生命周期 在浏览器上输入网址会发生什么事?(地址会朝我对应的ip地址发送get请求,get请求遵循http协议)先进入实现了wsgi协议的web服务器---->进入django- ...

  2. leetcode 签到 836. 矩形重叠

    836. 矩形重叠 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形重叠.需要明确的 ...

  3. elasticsearch和kibana安装后,外网无法访问

    问题描述: 现在解压elasticsearch之后,启动,通过http://localhost:9200可以访问的到,但是http://ip:9200访问不到 解决方法: 修改elasticsearc ...

  4. matplotlib.pyplot库函数关于坐标轴显示的支持

    matplotlib.pyplot库函数关于坐标轴显示的支持 https://blog.csdn.net/Stark_595/article/details/80787005?depth_1-utm_ ...

  5. Transformers 快速入门 | 一

    作者|huggingface 编译|VK 来源|Github 理念 Transformers是一个为NLP的研究人员寻求使用/研究/扩展大型Transformers模型的库. 该库的设计有两个强烈的目 ...

  6. Kaggle大牛小姐姐自述:我是怎么成为竞赛中Top 0.3%的 | 干货攻略

    天天跟数据打交道的研究人员,都有一个成为Kaggle顶级大师(Grandmaster)的梦想. 但每年的Kaggle参赛团队众多,通常一个项目都有数千人至上万人报名,如何在其中脱颖而出? 最近,自动化 ...

  7. Golang校招简历项目-简单的分布式缓存

    前言 前段时间,校招投了golang岗位,但是没什么好的项目往简历上写,于是参考了许多网上资料,做了一个简单的分布式缓存项目. 现在闲下来了,打算整理下. github项目地址:https://git ...

  8. Spring - 数据库开发概述

      Spring 数据库开发 Spring 的 JDBC 模块负责数据库资源管理和镨误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业 ...

  9. 【纯净镜像】原版Windows7集成USB3.0+NVME补丁+UEFI引导旗舰版下载

    系统简述: 1. 基于MSDN原版Windows7 Ultimate With SP1系统制作,无任何插件和垃圾软件. 2. 系统集成IE11浏览器,装完系统后默认浏览器就是IE11. 3.系统注入了 ...

  10. 【WPF学习】第六十五章 创建无外观控件

    用户控件的目标是提供增补控件模板的设计表面,提供一种定义控件的快速方法,代价是失去了将来的灵活性.如果喜欢用户控件的功能,但需要修改使其可视化外观,使用这种方法就有问题了.例如,设想希望使用相同的颜色 ...