首页 > 其他分享 >CLIP-DIY 论文解读:基于 CLIP 和无监督目标定位的语义分割

CLIP-DIY 论文解读:基于 CLIP 和无监督目标定位的语义分割

时间:2024-07-24 18:01:06浏览次数:13  
标签:分割 CLIP 训练 语义 Patch DIY 图像

CLIP-DIY 是一种基于 CLIP 模型的开放词汇语义分割方法,特点是无需额外的训练或者像素级标注,即可实现高效、准确的分割效果。该方法主要利用 CLIP 模型在图像分类方面的强大能力,并结合无监督目标定位技术,实现开放词汇语义分割。

在论文中,首先肯定了CLIP出现的重要意义,开启了开放世界图像感知的大门。缺点是难以用在图像分割这样的密集任务。虽然已经有完全监督学习的方法,可以用来解决图像分割问题。但是冗长的像素级标注,要付出高昂的成本。

图片

为此论文作者提出了一种新的零采样开放词汇语义分割方法,它直接利用了CLIP的高性能图像分类特性,不需要改变结构或额外的训练。

论文的核心核心思想

1. 多尺度推理: 将图像分割成不同大小的Patch,利用 CLIP 模型对每个Patch进行分类,得到每个 patch 对应每个类别的置信度分数。

2. 聚合预测: 将不同尺度的预测结果进行聚合,得到每个像素对应每个类别的置信度分数图。

3. 前景/背景引导: 利用无监督目标定位方法获取前景/背景分数,对预测结果进行引导,提升分割精度。

图片

图像分割过程

首先是特征向量的提取,CLIP-DIY并没有训练新的模型,而是利用已经预训练好的CLIP模型,先使用 CLIP 文本编码器将文本提示(如“一张狗的照片”)编码成向量。将图像分割成不同大小的Patch之后,使用 CLIP 图像编码器提取每个Patch 的特征向量。

然后就可以计算每个Patch与文本向量之间的相似度,并进行上采样,得到每个像素对应每个类别的置信度分数图。再使用无监督的前景/背景分割方法(如 FOUND)获取前景/背景分数,根据前景/背景分数对预测结果进行引导,就可以提升分割的精度。

最终生成分割图的时候,是通过 SoftMax 操作,将相似度得分转换为概率分布,其中每个像素都被分配了一个类别标签。

论文中使用的FOUND是一个轻量级的卷积神经网络,通过自训练学习前景/背景分割。能够有效地识别图像中的前景区域,并生成前景/背景得分图。除了FOUND之外,还可以采用其他基于无监督或者自监督学习的目标分割方法,例如CutLER和Freesolo。

图片

结论和思考

使用CLIP-DIY不需要任何特定的额外训练就可以使用。作为开放世界分割的现成方法,可以用来辅助作为数据标注的工具,减少数据标注的成本和人力投入。

减少标注成本在大模型训练中是非常有价值的,尤其针对特定领域的模型训练,往往需要处理大量的视频和图片,如果全部由人来进行剪辑和标注,不但成本高、效率低、还容易出错;用自动化工具辅助,可以极大改善。

对我自己来说,最有启发性地方在于,在解决问题的时候,可以设计出一种算法,完全不需要任何特定的训练,将算法的核心,放在输入层和输出层,如何处理和分割数据,然后组合不同的模型和函数,就可以带来质的变化。

CLIP-DIY 论文解读:基于 CLIP 和无监督目标定位的语义分割icon-default.png?t=N7T8https://mp.weixin.qq.com/s/E6naltzclXNT2jJyzuLZaA

标签:分割,CLIP,训练,语义,Patch,DIY,图像
From: https://blog.csdn.net/liuwill/article/details/140644074

相关文章

  • 易优CMS模板标签diyurl列表排序
    [基础用法]标签:diyurl描述:列表页、搜索页排序用法:Tag标签主页URL:{eyou:diyurltype='tags'/}登录URL:{eyou:diyurltype='login'/}注册URL:{eyou:diyurltype='reg'/}搜索主页URL:{eyou:diyurltype='sindex'/}多城市分站主页URL:{eyou:diyurltype='cit......
  • eclipse如何写python程序
    本文主要介绍在Windows系统环境下,搭建能在Eclipse中运行python程序的环境。一、Eclipse下载与安装:Eclipse是写JAVA的IDE,下载地址为:http://www.eclipse.org/downloads/下载安装,网上教程很多,不赘述。二、pydev插件下载与安装:启动Eclipse,点击Help—>EclipseMarketplace......
  • npm 语义化依赖管理
    之前搞前端项目,经常遇到依赖的问题,这下学到了npm的依赖管理,以后应该能应对这些问题了什么是语义化依赖管理npm根据package.json中的dependencies字段来管理依赖,一般根据下面这种格式"dependencies":{"package-name":"version","express":"4.14.0"}npm中的version遵......
  • 【嵌入式DIY实例-ESP8266篇】-LCD ST7789显示DHT11传感器数据
    LCDST7789显示DHT11传感器数据文章目录LCDST7789显示DHT11传感器数据1、硬件准备与接线2、代码实现本文介绍如何将ESP8266NodeMCU板(ESP-12E)与DHT11(RHT01)数字湿度和温度传感器连接。NodeMCU从DHT11传感器读取温度和湿度值,并在ST7789TFT......
  • 【嵌入式DIY实例-ESP8266篇】- LCD ST7789显示DS18B20传感器数据
    LCDST7789显示DS18B20传感器数据文章目录LCDST7789显示DS18B20传感器数据1、硬件准备与接线2、代码实现本文介绍如何使用ESP8266NodeMCU开发板(ESP-12E)和DS18B20数字温度传感器实现简单的数字温度计。在此项目中,NodeMCU板从DS18B20传感器读......
  • 语义分割图像和标签一起扩充
            网上很多数据扩充都是只扩充了图像,图像和对应的标签一起扩充的代码很少,而且很多代码copy过来也不能直接用。#导入数据增强工具importAugmentor#确定原始图像存储路径以及掩码文件存储路径p=Augmentor.Pipeline("D:\folder1")#这里填写图像文件路径......
  • 离散数学——2.命题逻辑公式语法和语义
    命题逻辑公式语法和语义命题逻辑基本概念命题及其真值对事物性质或关系进行判断,有真假值的陈述句非陈述句(感叹句、疑问句、祈使句)不是命题带变量的句子、认为是悖论的句子,没有真假值,不是命题命题的真值包含两个值,一个为真(true),一个为假(false)使用0或F表示假,1或T表......
  • 7.Eclipse使用
    7Eclipse使用 1.使用Eclipse创建java项目 在Eclipse中编写程序,必须先创建项目。Esclipse中有很多种项目,其中java项目用于管理和编写java程序。创建项目的步骤如下 1.点击file--选择NEW--选择并单击javaproject,打开Newjavaproject(新建java项目)对话框。 打......
  • 7.kafka中的消费语义、幂等性
    目录概述kafka中幂等性支持配置原理概述  kafka中的消费语义atmostonce:可能会丢数据atleastonce:all+分区副本>=2+min>=2不丢失数据,但是数据可能重复exactlyonce:精准一次,不丢不重kafka的事务与幂等性官方速递ApacheKafkaIdempotentProducer-A......
  • Java开发新趋势!MyEclipse v2024.1全新首发——支持AI编码协助
    在MyEclipse 2024中,通过Copilot集成提供的AI编码协助,让开发者的生产力提高了近10倍;同时支持Java22,并部署到最新版本的应用服务器(如WildFly和Payara);拥有更高性能的Spring工具支持更流畅的编码体验,而语言服务器更新确保对所有现代web技术的最新语言支持。MyEclipse的现有用户可......