论文提出伪监督目标定位方法(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. python对目录下的文件进行 多条件排序

    在进入正题之前,先介绍一下基础知识: 1.sort(),方法:就是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表 lists =[1, 5, 10, 8, 6]lists.sort ...

  2. nim博弈 LightOJ - 1253

    主要是写一下nim博弈的理解,这个题有点奇怪,不知道为什么判断奇偶性,如果有大佬知道还请讲解一下. //nim博弈 //a[0]~a[i] 异或结果为k 若k=0 则为平衡态 否则为非平衡态 //平衡 ...

  3. 150+行Python代码实现带界面的数独游戏

    150行代码实现图形化数独游戏 Github地址,欢迎各位大佬们fork.star啥的,感谢: 今天闲着没事干,以前做过html+js版的数独,这次做个python版本的,界面由pygame完成,数独 ...

  4. python文件调用方法

    文件输入输出 open函数可以对文本文件进行读写的操作 基本形式: open(filename,mode) filename是文件名,可以写为绝对路径也可以是相对路径 mode是打开模式. open函 ...

  5. Cows POJ - 2481 (树状数组 + 单点更新 + 区间查询)

    Cows 思路:我们可以按照每个范围的S从小到大排序,相同的S按E从大到小排序,这样的好处是当前范围的S一定大于等于之前范围的S(即当前的范围可能被之前范围的包围),那么我们只需要统计之前的范围E比当 ...

  6. B - Bound Found POJ - 2566(尺取 + 对区间和的绝对值

    B - Bound Found POJ - 2566 Signals of most probably extra-terrestrial origin have been received and ...

  7. SSM项目依赖,spring5.1.9

    SSM项目依赖,spring5.1.9 简单的SSM项目,未加AOP等等操作 Spring三包bean core content Mybatis 五个mybatis mybatis-spring jd ...

  8. python基础-深浅拷贝

    深拷贝与浅拷贝 总结: # 浅拷贝:list dict: 嵌套的可变数据类型是同一个 # 深拷贝:list dict: 嵌套的不可变数据类型彼此独立 浅拷贝 # 个人理解: # 在内存中重新创建一个空 ...

  9. 万字长文带你入门Zookeeper!!!

    导读 文章首发于微信公众号[码猿技术专栏],原创不易,谢谢支持. Zookeeper 相信大家都听说过,最典型的使用就是作为服务注册中心.今天陈某带大家从零基础入门 Zookeeper,看了本文,你将 ...

  10. 1055 The World's Richest (25分)(水排序)

    Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...