Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels
最近在关注CVPR2022CVPR{\,} 2022CVPR2022一些比较好的文章,也在做一些关于objectcontextobject{\,} contextobjectcontext的工作。好久没有好好更新博客了,今天想和大家分享下最近看的一篇我认为做的比较好的文章,问题的切入角度很好,文章也写得不错。
标题为Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels。
最后总结了最近对于读的一些关于objectcontextobject {\,}contextobjectcontext处理的论文。这应该是分享的最后一篇论文了,博主之后会进行《百面机器学习》或者算法相关内容的整理,要去实习了qaq~~,大家多多支持!!
文章目录
- 1. Introduction
- 2. Related Works
- 3. Methods
- 3.1 Overview
- 3.2 Pseudo-Labeling
- 3.3 Using Unreliable Pseudo-Labels
- 3.4 Pseudo Code
- 4. Experiments
- Ablation Study
- 5. Conclusion
- 6. Object Context Related Works
`
1. Introduction
在半监督工作中,最常见的做法是把unlabeleddataunlabeled{\,} dataunlabeleddata 经过用labeleddatalabeled{\,}datalabeleddata训练好的模型得到的预测结果作为伪标签计算unsupervisedlossunsupervised{\,}lossunsupervisedloss。但是为了尽可能保证伪标签的质量,常常选择那些highlyconfidenthighly{\,} confidenthighlyconfident的预测结果,而舍弃那些置信度低的。
- 作者认为在这个过程中有相当一部分pixelpixelpixel是不会出现在训练过程中的,这样对于某些本来数据量就小的类别来说,会使得其训练更加不平衡(相当于unlabeleddataunlabeled{\,} dataunlabeleddata为本来就数量多的类别提供了更多的训练集)。
- 作者认为如何更好地利用这些unreliableunreliableunreliable的伪标签是一个非常重要的待解决的问题。本文抓住了这些unreliableunreliableunreliable标签的一个特点:即虽然有些伪标签是misclassifiedmisclassifiedmisclassified(可能在GroundTruthGroundTruthGroundTruth和某几个类别之间容易混淆),但是它可以非常确定地不属于其他类别。作者给了一个例子,如下图:
对于白色十字位置的特征分类可能会出现FiguredFigure{\,}dFigured的预测情况,虽然误分类成了personpersonperson,但是在carcarcar,traintraintrain等类的置信度确极低,也就是说可以比较肯定地确定不属于carcarcar,traintraintrain类别。作者认为像这样的unreliableunreliableunreliable的样本也是有意义的,可以利用它提供的信息提高分割精度。 - 作者提出了U2PLU^{2}PLU2PL(UsingUnreliablePseudo−Labels)(Using Unreliable Pseudo-Labels)(UsingUnreliablePseudo−Labels),并在 PASCALVOC2012PASCAL VOC {\,}2012PASCALVOC2012和 CityscapesCityscapesCityscapes上进行了实验验证。
2. Related Works
- Semi-Supervised Learning
相比较于 CutOutCutOutCutOut, CutMixCutMixCutMix, ClassMixClassMixClassMix这些用了较强的数据增强外,我们的方法则focusfocusfocus到那些unreliablepixelunreliable{\,} pixelunreliablepixel的利用上。 - Pseudo-Labeling
FixMatchFixMatchFixMatch设置confidencethresholdconfidence {\,}thresholdconfidencethreshold来选择伪标签;UPSUPSUPS则是在FixMatchFixMatchFixMatch的基础上考虑到了模型不确定性和数据不确定性。 - Model Uncertainty
贝叶斯深度学习网络常常用来估计模型不确定性,这里我们仅用pixel−wisepixel-wisepixel−wise的entropyentropyentropy作为评估准则。 - Contrastive Learning
同样作者认为现有的网络在计算contrastivelosscontrastive{\,} losscontrastiveloss的计算没有利用unreliablepixelunreliable{\,} pixelunreliablepixel的信息。 - Negative Learning
通过降低负样本的概率来降低信息错误的风险,但是这些负样本仍然具有很高的置信度。
3. Methods
3.1 Overview
上图是作者提出的一个主要的网络结构,分为教师网络和学生网络:我们学生网络权重更新和一般网络更新过程相同,教师网络用EMAEMAEMA更新网络权重。
在训练过程中,我们等量地选取BlB_lBl张labeledimageslabeled{\,}imageslabeledimages和BuB_uBu张unlabeledimagesunlabeled{\,}imagesunlabeledimages,对于每张带标签的图像我们的目的是减小crossentropylosscross{\,} entropy{\,} losscrossentropyloss;对于每张unlabeledimageunlabeled{\,} imageunlabeledimage,我们首先让其经过teachermodelteacher{\,}modelteachermodel进行预测,然后选择那些reliablereliablereliable的伪标签计算unsupervisedlossunsupervised{\,}lossunsupervisedloss;对于剩余的unreliableunreliableunreliable的标签我们将通过contrastivelosscontrastive {\,}losscontrastiveloss将其利用起来。因此整个losslossloss分为三大部分:
L=Ls+λLu+λcLcL=L_s+\lambda L_u +\lambda_c L_c L=Ls+λLu+λcLc
其中LsL_sLs和LuL_uLu都是CElossCE{\,}lossCEloss:
其中y为unlabeleddataunlabeled{\,} dataunlabeleddata和labeleddatalabeled{\,} datalabeleddata的标签,f∗hf*hf∗h为网络预测组合,其中hhh为encoderencoderencoder部分,fff为segmentationheadsegmentation{\,} headsegmentationhead.剩余的contrastivelosscontrastive{\,} losscontrastiveloss我们将在3.2部分结合具体过程进行介绍,方便大家理解。
先给出contrastive loss的公式:
3.2 Pseudo-Labeling
首先我们要确定什么样的伪标签是reliablereliablereliable的,什么样的是unreliableunreliableunreliable的,根据前面作者提出的问题,我们可以得到像素预测类别分布越均匀越不利于我们判断,这样的点是unreliableunreliableunreliable的,说明该点同样是难分割的;相反,如果该点的预测分布是有明显倾向的,则认为这样的点是reliablereliablereliable的。我们希望用一个指标来表示这种标准,显然应该用信息熵来说明:
因此,我们定义第iii张unlabeledimageunlabeled{\,}imageunlabeledimage的第jjj个像素的伪标签为:
其中,γt\gamma_tγt表示选取αt\alpha_tαt比例的unreliableunreliableunreliable像素点所对应的thresholdthresholdthreshold,有:
γt=np.percentile(H.flatten(),100∗(1−αt))\gamma_t=np.percentile(H.flatten(),100*(1-\alpha_t)) γt=np.percentile(H.flatten(),100∗(1−αt))
其中,随着训练迭代数的增加,αt\alpha_tαt的大小是逐渐增加的,文中作者定义为线性增加:
而其中unsupervisedlossunsupervised{\,}lossunsupervisedloss的权重λu\lambda_uλu也是变化的,
3.3 Using Unreliable Pseudo-Labels
那么问题关键也是文章最大的创新点是我们如何利用这些unreliablepseudolabelsunreliable{\,} pseudo{\,} labelsunreliablepseudolabels,如我们前面图所示,虽然白色箭头位置不能区分是personpersonperson和motorbikemotor{\,} bikemotorbike,但是我们可以模型可以比较确定其不为carcarcar,traintraintrain,bicyclebicyclebicycle。因此作者提出不如把这些点作为这些类别(car.etal)(car.etal)(car.etal)的负样本,进而引入contrastivelosscontrastive{\,} losscontrastiveloss。具体来说,作者提出的U2PLU^2PLU2PL包括三部分:
- anchor pixels(queries)
- positive samples for each anchor
- negative samples for each anchor
下面我们将对这三部分进行逐一详细介绍:
首先是anchor pixel,顾名思义,锚点,我们先介绍这部分点的特征:锚点分别从unlabeleddataunlabeled{\,} dataunlabeleddata和labeleddatalabeled{\,} datalabeleddata中进行选择,以unlabeleddataunlabeled {\,} dataunlabeleddata为例,即选择那些threshold>0.3threshold>0.3threshold>0.3并且预测为该类别的点,对于unlabelunlabelunlabel的数据来说,锚点一定从reliablereliablereliable的伪标签中选择:
对于labeledlabeledlabeled数据同样,最终两者集合组成锚点集。
Positive samples定义比较简单:
positivesamplespositive{\,} samplespositivesamples对于所有anchoranchoranchor来说是相同的,定义为所有anchoranchoranchor的中心。
Negative samples
对于negativesamplesnegative{\,} samplesnegativesamples我们定义0−10-10−1指示变量nij(c)n_{ij}(c)nij(c)为第ccc个类别的第iii张图像的第jjj个像素是否为负样本。判断是否为负样本需要满足以下条件:
- 对于labeledimagelabeled{\,} imagelabeledimage来说,一个类别的负样本定义为:
(1)不属于类别ccc;(2)难以区分是ccc类别还是其GroundTruthGroundTruthGroundTruth
说白了对于labeledimagelabeled{\,} imagelabeledimage来说,每个类别对应的负样本是该类别的易混样本,比如上图中的personpersonperson和motorbikemotorbikemotorbike. - 对于unlabeledimageunlabeled{\,} imageunlabeledimage来说,一个类别的负样本定义为:
(1)伪标签是unreliableunreliableunreliable的;(2)可能不属于ccc类别;(3)不属于大部分不可能的类别
negativesamplesnegative{\,} samplesnegativesamples对于所有anchoranchoranchor来说也是相同的,对于每个anchoranchoranchor来说有NNN个negativesamplesnegative {\,} samplesnegativesamples。
作者给出了以上标准的数学定义:定义Oij=argsort(pij)O_{ij}=argsort(p_{ij})Oij=argsort(pij),表示像素点pijp_{ij}pij预测类别的排序,很显然有Oij(argmaxpij)=0O_{ij}(argmax{\,}p_{ij})=0Oij(argmaxpij)=0和Oij(argminpij)=C−1O_{ij}(argmin{\,}p_{ij})=C-1Oij(argminpij)=C−1,这点比较显然,我们举个例子来说明,假设第(i,j)(i,j)(i,j)个位置的预测值为:[0.3,0.28,0.15,0.025,0.025,0.02,0.02,0.02,0.02,0.02,0.015,0.015,0.015,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.005][0.3,0.28,0.15,0.025,0.025,0.02,0.02,0.02,0.02,0.02,0.015,0.015,0.015,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.005][0.3,0.28,0.15,0.025,0.025,0.02,0.02,0.02,0.02,0.02,0.015,0.015,0.015,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.005]
一共有202020个类别,进行排序后,概率最大0.30.30.3出现的位置为第000个位置;概率最小0.0050.0050.005出现的位置为第191919个位置,即C−1C-1C−1.
定义nijl(c)n_{ij}^l(c)nijl(c)为:
其中rlr_lrl是lowrankthresholdlow{\,}rank{\,}thresholdlowrankthreshold,在实验过程中设置为333,我们仍然以前面的预测值为例,假设该点是第ccc个类别的概率为0.280.280.28,也即Oij(c)=2O_{ij}(c)=2Oij(c)=2,而事实上该点的GroundTruthGroundTruthGroundTruth为0.150.150.15对应的类别,这样的点就满足上式,可以被认为是第ccc个类别的负样本,也是属于和第ccc个类别不易区分的点。
同理,
其中rlr_{l}rl和rhr_hrh分别为333和202020,即该点的伪标签首先是不可靠的,其次位置处于3−203-203−20之间,同样以上述的预测值为例,假设第ccc个类别的预测概率为0.010.010.01,处在排名靠后的位置,而且整个预测分布是比较均匀的,信息熵比较大,属于不可靠的伪标签。
Category-wise Memory Bank
因为在有的mini−batchmini-batchmini−batch中,某个类别的负样本很有限,因此作者定义了一个category−wisememorybank(FIFOqueue)category-wise {\,}memory{\,} bank(FIFO{\,} queue)category−wisememorybank(FIFOqueue)来存储。
在上面的过程中我们了解了每个类别的positivesamplepositive{\,} samplepositivesample、negativesamplenegative{\,} samplenegativesample以及anchorpixelanchor{\,} pixelanchorpixel之后,再看contrastivelosscontrastive{\,} losscontrastiveloss就比较好理解。
该losslossloss可以理解为是为了尽量减少anchorpixelanchor{\,} pixelanchorpixel和positivesamplepositive{\,} samplepositivesample的距离,增大和negativesamplenegative{\,} samplenegativesample的距离从而提高模型的分割效果。
3.4 Pseudo Code
4. Experiments
实验中和一些比较常见的半监督方法进行了比较,并且在不同比例的labeleddatalabeled{\,} datalabeleddata和unlabeleddataunlabeled{\,} dataunlabeleddata情况下给出了对比结果,可以看到U2PLU^2PLU2PL+CutMixCutMixCutMix方法相比于其他方法是有提升的,特别是在labeleddatalabeled{\,} datalabeleddata所占比例特别小的情况下。
- 在PASCALVOCPASCAL{\,} VOCPASCALVOC上的不同划分比例下的表现效果
- 在blenderPASCALVOCblender{\,} PASCAL{\,} VOCblenderPASCALVOC上不同划分下的表现效果
- 在cityscapescityscapescityscapes上不同划分比例下的表现效果
Ablation Study
Effectiveness of Using Unreliable Pseudo-Labels
证明了利用unreliablepseudopixelsunreliable{\,} pseudo{\,} pixelsunreliablepseudopixels确实可以给模型带来提升。
Effectiveness of Probability Rank Threshold
Section 3.3中rlr_lrl和rhr_hrh的选择对模型精度的影响,反映的是在整个数据集上的一个平均表现。
Effectiveness of Components
Ablation Study on Hyper-parameters
5. Conclusion
总的来说,这篇文章确实从一个很好的角度尝试解决了一些在半监督方法中没能被利用的unreliablepixelsunreliable{\,} pixelsunreliablepixels的问题,思路是非常值得我们借鉴和思考的!!
6. Object Context Related Works
- OCR: https://arxiv.org/pdf/1909.11065.pdf
- Context Prior for Scene Segmentation: https://arxiv.org/pdf/2004.01547.pdf
- ACFNet: https://arxiv.org/abs/1909.09408
- Class-wise GCN: https://link.springer.com/chapter/10.1007/978-3-030-58520-4_1
Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels相关推荐
- Weakly Supervised Semantic Segmentation list
Weakly Supervised Semantic Segmentation list 文章转自Github:https://github.com/JackieZhangdx/WeakSupervi ...
- 【论文阅读】Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation
论文标题: Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation 作者信息: 代 ...
- Weakly Supervised Semantic Segmentation with Boundary Exploration
Weakly Supervised Semantic Segmentation with Boundary Exploration 摘要 1 Introduction 2 Related Work 3 ...
- 阅读笔记:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation
Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation 基于等变注意力机 ...
- 弱监督语义分割--Weakly Supervised Semantic Segmentation using Web-Crawled Videos
Weakly Supervised Semantic Segmentation using Web-Crawled Videos CVPR2017 https://arxiv.org/abs/1701 ...
- weakly supervised semantic segmentation
Weakly Supervised Semantic Segmentation by Pixel-to-Prototype Contrast CVPR2022 北京大学 Though image-le ...
- 文章阅读Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation
Non-Salient Region Object Mining for Weakly Supervised Semantic Segmentation 文章名称:非显著区域对象挖掘的弱监督语义分割 ...
- 【论文阅读】Weakly Supervised Semantic Segmentation using Out-of-Distribution Data
一篇弱监督分割领域的论文,发表在CVPR2022上: 论文标题: Weakly Supervised Semantic Segmentation using Out-of-Distribution D ...
- 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation
一篇弱监督分割领域的论文,其会议版本为: (ICCV2019)Integral Object Mining via Online Attention Accumulation 论文标题: Online ...
- 机翻《C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image 》
前言 <C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation onMedical Image>CVPR2022,有源码 ...
最新文章
- 2022-2028年中国手机配件行业发展前景战略及投资风险预测分析报告
- Eclipse CDT中EOF输入的解决方法
- WPS:Excel数据表格查询定位技巧之如何设置加重颜色的十字定位(定位数据更加一目了然)
- CRT 入口函数 CRTStartup
- Java中的ThreadPoolExecutor类
- 未能成功加载扩展程序_【JAVA虚拟机(JVM)精髓】09-几种不同的类加载器
- 创建了一个.NET 技术的 Wiki 和论坛
- ibm量子计算机 申请,【IBM量子计算机问世,造福人类的杰作!】IBM量子计算机已面前全球开放申请使用_来自网易大神圈子_科学企图玄学...
- Windows 2000活动目录详解之基础篇
- 第 二 十 八 天 :监 控 软 件 之 cacti
- .NET Core,.NET Framework和Xamarin有什么区别?
- 台达服务器AB和B2系列区别,台达伺服各系列区别
- windows server 2003安装pc套件ovi套件全过程?
- 圣思园JavaWeb随手笔记
- 中文输入法中光标跟随能力触发的浏览器事件探究
- java读取pdf的文字、图片、线条和对应坐标
- 苹果商城怎么调成中文_海豚加速器拳头账号中文注册下载-海豚加速器拳头账号注册下载 v2020...
- Photoshop设计精讲精练(读书笔记)
- armbian 下载加速
- centos8更换软件源
热门文章
- About Config
- Firefox中about:config配置大全
- 工业制造中的UWB定位技术
- android wifi分享文件下载,WiFi文件共享
- 删除电脑属性制造商_修改Win7系统GHO中OEM信息图文教程
- 助力数字经济,服务数智化转型,用友火力全开
- 了解5G技术与未来5G面临的问题
- “Only fullscreen opaque activities can request orientation “问题分析
- 多卡聚合路由器和普通路由器的区别
- 转行学习软件测试有前途吗?