【CVPR2019】弱监督图像分类建模

编者按:获取大规模数据集的高置信标注是一个难点问题,而解决此问题的弱监督学习更贴近人类对世界的认知机制。已有的弱监督图像分类研究,通常局限于单标签或者多标签噪声场景。本文中,将为大家介绍中科院计算所VIPL组的CVPR2019新作:作者提出了一种基于噪声正则化的弱监督图像分类方法,通过结合使用大量噪声标注数据和少量干净标注数据(比如5%),提升图像分类效果的同时,在多标签和单标签场景中取得了更好的泛化能力。

1.引言

在计算机视觉领域,目前主流的图像分类方法仍然是基于完备标注数据的有监督学习,然而,在实际场景中,完全而精确的图像标签往往难以获得。例如,由于知识水平的差异不同的人可能对同一类图像有不同理解,从而给出不一致的标签。此外,为了降低标注成本,可以利用预训练模型对采集的大规模数据进行自动标注,但往往会得到大量不准确的标签,仅仅其中的一小部分数据可以得到人工验证。然而,传统的有监督学习方法很难处理这类带有噪声标签的数据。

现有的弱监督图像分类方法通常对于噪声标签类型有特定的假设,如单标签噪声或者多标签噪声。单标签噪声假设的分类方法,可以在训练过程中对于相似的图像进行聚类,而多标签噪声假设的分类方法,可以使用标签与标签之间的联系来增加算法的鲁棒性。尽管这些方法有助于提升模型的性能,但是在一定程度上限制了模型的泛化能力。

为此,在这个工作中,我们关注于提升模型的泛化能力,期待模型可以同时应用于单标签数据和多标签数据。我们观察到尽管现有的方法使用不同的假设辅助分类器学习,核心思想依然在于区分大量噪声标签中的可信与不可信的信息。如图1所示,一些使用标签与标签或者图像与标签之间关联的方法,会利用这些关系的正相关或者负相关强度来决定标签中的可用信息。

图表1  利用标签-标签关系和图像-标签关系的噪声学习方法

因此,我们提出了一种弱监督图像分类的方法,结合使用大量噪声标注数据和少量干净标注数据,通过两个子网络分别学习噪声标签中的可信与不可信的部分,减少了不可信的信息对模型的影响。我们的方法可以同时应用于单标签和多标签数据,并且不依赖于成对的干净-噪声标注数据。我们在两个多标签数据集(OpenImage和MS COCO2014)和一个单标签数据集(Clothing1M)评估了该方法。实验结果表明,该方法优于现有的最好方法,并在单标签和多标签噪声假设的场景下有很好的泛化能力。

2.方法

图表 2 方法网络结构示意图

2.1问题定义

我们的目标是结合利用大量的噪声标注数据 D_n 和少量的干净标注数据 D_c 得到一个鲁棒的图像分类模型。在现实场景中,我们可以假设噪声标注数据的数量 N_n 远大于干净标注数据的数量 N_c。

如图所示,我们以多任务学习的方式进行弱监督图像分类,同时训练两个分类器g和h分别拟合干净集合中的干净标签和噪声集合中的噪声标签。主干网络CNN(Backbone CNN)用于

### 关于 CVPR 2024 中与医学图像相关的论文 CVPR(Computer Vision and Pattern Recognition)作为计算机视觉领域的重要会议之一,在每年都会吸引大量高质量的研究成果提交。对于 CVPR 2024 来说,虽然具体的医学图像相关论文列表尚未完全公开,但从以往的趋势以及当前研究热点可以推测出一些可能的方向。 #### 已知趋势分析 在过去的几年中,医学图像处理一直是 CVPR 的重要主题之一[^3]。具体到 CVPR 2024,尽管官方并未单独列出所有医学图像方面的论文,但可以从大会的整体接受情况推断其主要关注点。例如: - **超分辨率技术的应用**:CVPR 2024 接受的超分辨率方向论文显示,单纯的技术改进已逐渐减少,而更多集中在特定场景下的应用,比如医疗影像中的细节增强[^2]。 - **扩散模型(Diffusion Model)的作用**:随着 Diffusion Models 在生成式建模上的成功,这类方法被广泛应用于医学图像合成、去噪等领域。这表明基于这些先进框架的新颖算法可能会成为今年的一个亮点。 - **多模态学习与跨域迁移**:近年来,利用多种数据源联合训练网络或者实现不同成像模式间转换的工作越来越受到重视。这种类型的项目通常涉及复杂的架构设计和技术挑战,因此也可能出现在本次会议上[^1]。 #### 示例性潜在题目 以下是几个假设性的例子来展示可能出现的具体研究课题: 1. 使用自监督预训练提升分割性能的方法; 2. 针对低剂量CT扫描重建质量优化的新策略; 3. 结合自然语言描述指导MRI序列预测过程的设计思路; 需要注意的是以上仅为猜测性质的内容,并不代表真实存在的文章标题或具体内容。 ```python # 假设一段简单的Python脚本用于筛选关键词匹配的文章 def filter_medical_papers(paper_list): keywords = ["medical", "healthcare", "biomedical"] result = [] for paper in paper_list: title, abstract = paper['title'], paper['abstract'] if any(keyword.lower() in (title + ' ' + abstract).lower().split() for keyword in keywords): result.append(paper) return result ``` 上述代码片段展示了如何通过编程方式初步过滤含有指定关键字的学术文献集合。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值