最新Open-vocabulary方法个人学习小结

Open-vocabulary方法总结

Yolo-world

CVPR2024
预训练公式:区域-文本对
传统的目标检测方法,包括yolo系列都是用实例注释进行训练的,它由边界框和类别标签组成。
在本文中,我们将实例注释重新表述为区域-文本对。具体来说,文本可以是类别名称、名词短语或对象描述。

模型架构
YOLO-World的整体架构由一个YOLO检测器、一个文本编码器和一个可重新参数化的视觉语言路径聚合网络(repv1 - pan)组成。
在这里插入图片描述
骨干网络
YOLO探测器:YOLO-World主要是基于YOLOv8开发的,它包含了一个Darknet骨架作为图像编码器,一个用于多尺度特征金字塔的路径聚合网络(PAN),以及一个用于边界盒回归和对象嵌入的头部。

文本编码器
文本编码器:YOLO-World采用CLIP预训练的Transformer文本编码器提取相应的文本,与纯文本语言编码器相比,CLIP文本编码器提供了更好的视觉语义功能,可以将可视对象与文本连接起来。
在线词汇训练:在训练过程中,为每个包含4张图像的mosaic样本构建一个在线词汇T。具体来说,我们对mosaic图像中涉及的所有积极名词进行采样,并从相应的数据集中随机抽取一些消极名词。每个mosaic样本的词汇表最多包含n个名词,n被默认设置为80。

Mosaic数据增强方法是YOLOV4论文中提出来的,主要思想是将四张图片进行随机裁剪,再拼接到一张图上作为训练数据。这样做的好处是丰富了图片的背景,并且四张图片拼接在一起变相地提高了batch_size,在进行batch
normalization的时候也会计算四张图片,所以对本身batch_size不是很依赖,单块GPU就可以训练YOLOV4。

离线词汇推理:在推理阶段,使用在线词汇的提示–检测策略,用户可以定义一系列自定义提示,其中可能包括标题或类别。
然后,利用文本编码器对这些提示进行编码,并获得离线词汇嵌入。离线词汇表允许避免对每个输入进行计算,并提供根据需要调整词汇表的灵活性。

可重新参数化的视觉语言PAN

RepVL-PAN结构:遵循自上而下和自下而上的路径,用多尺度图像特征{C3,C4,C5}建立特征金字塔{P3,P4,P5}。
此外,提出了文本引导CSPLayer (T-CSPLayer)和图像集中注意力(I-Pooling Attention)),进一步增强图像特征和文本特征之间的交互作用,从而提高开放词汇的视觉语义表示能力。

在推理过程中,离线词汇嵌入可以被重新参数化为卷积层或线性层的权重,以供部署。
在这里插入图片描述

ODISE

CVPR2023
CLIP+Diffusion
CVPR2023: ODISE Open-Vocabulary Panoptic Segmentation
在这里插入图片描述
ODISE的算法思路参考以上两图. 很打眼的一个创新点是, image encoder不是cnn也不是Transformer, 而是盯上了diffusion model. 绝绝子!

模块一: 输入image和Implicit Text Embedding到text-to-image-diffusion model, 抽取model的internal特征. text-to-image-diffusion model实现文本指导生成图像, ta在做的就是一个开放类别域的事情, ta的internal特征对于下游任务很有价值. Implicit Text Embedding来自Implicit Captioner, 用的是冻住的image Encoder(CLIP)和MLP训练得到.

模块二: 训一个mask generator, 需要mask annotation做有监督训练(我又要cu segment anything了[3], 这部分可尝试开源用起来啊!~). 这部分出mask prediction, 然后和annotation算binary mask loss. 另外出mask embedding在模块三中使用(we can pool the ROI-Aligned features of each predicted mask’s region to compute its mask embedding features).

模块三: mask开放域分类. 用category labels or image caption输入冻住的text Encoder(CLIP), 结合模块二中学到的mask embedding, 输出分类结果. category labels 对应cross entropy loss做类别一一对应损失计算. image caption对应grounding loss(This similarity function encourages each noun to be grounded by one or a few masked regions of the image and avoids penalizing the regions that are not grounded by any word at all).

GroundingDINO & Grounding DINO1.5

ECCV2024
https://github.com/IDEA-Research/GroundingDINO

十分钟解读Grounding DINO-根据文字提示检测任意目标

既CLIP打破文字和图像之间的壁垒、DINO提高了目标检测精度的上限之后,又一力作横空出世,它就是–Grounding DINO。

在不需要任何COCO训练集的情况下,Grounding DINO就在COCO minival测试集中达到了52.5AP,经过微调之后达到了63.0AP。这样的结果可以说是非常的Amazing了,下面我将详细介绍Grounding DINO的原理。
在这里插入图片描述

Grounded SAM & Grounded SAM2

https://github.com/IDEA-Research/GroundingDINO

OV-DINO

开放域检测新SOTA!中山大学美团出品,开源性能最强

比Grounding DINO高12.7% AP,比YOLO-World 高4.7% AP

本文提出了一种名为OV-DINO的开放域检测方法。整体框架包括一个文本编码器、一个图像编码器和一个检测头。模型接收图像和提示文本作为输入,通过特定模板创建统一的文本嵌入表示。图像和文本嵌入经过编码器处理后,图像嵌入通过Transformer编码器生成精细化的图像嵌入。语言感知查询选择模块选择与文本嵌入相关的对象嵌入,并在解码器中与可学习的内容查询融合,最终输出分类分数和回归边界框。

在这里插入图片描述

统一数据集成(UniDI)
在预训练阶段,OV-DINO将检测数据、定位数据和图像-文本数据转换为统一的检测数据格式,从而简化模型优化过程并提高性能。检测数据和定位数据的集成相对简单,而图像-文本数据的转换则通过将图像描述视为图像的唯一类别来实现。所有文本输入都通过简单模板进行统一处理,确保一致的文本嵌入表示。

语言感知选择性融合(LASF)
该模块包括语言感知查询选择和语言感知查询融合两个关键组件。查询选择组件通过评估图像嵌入和文本嵌入的相似性来选择对象嵌入。查询融合组件逐步融合语言感知对象嵌入,同时保留内容查询的原始语义。语言感知查询选择通过计算图像嵌入和文本嵌入的相似性矩阵,并选择最相关的嵌入。查询融合则在解码器层中动态更新内容查询,逐步引入语言感知上下文。

预训练OV-DINO
采用检测中心的数据格式,将不同类型的数据(检测数据、定位数据和图像-文本数据)转化为适合检测的格式,允许在统一的框架内进行预训练。模型的前向传播过程包括图像编码器提取图像嵌入、文本编码器提取文本嵌入、Transformer编码器生成精细化图像嵌入、语言感知查询选择模块选择对象嵌入,以及Transformer解码器通过选择性融合模块进行查询分类和边界框回归。模型通过统一的分类损失函数和目标框损失函数进行优化。通过上述设计,OV-DINO实现了开放域检测的高效预训练和性能提升。

### 回答1: 通过下载 youmi-vocabulary 背单词微信小程序的代码和相关资源文件后,我们可以直接进行设定和定制。 首先,我们可以打开代码文件,然后根据自己的需求对页面布局、颜色、字体等进行修改。如果想要增加新的功能或者修改现有功能,可以找到相应的代码文件进行编辑,如卡片的显示、单词的存储和读取等。 在设定过程中,我们可以对小程序的首页进行设置,比如添加背景图片、修改标题、调整按钮位置等。另外,我们还可以设定各个页面间的跳转关系,如单词卡片页面跳转到单词详情页面、单词详情页面跳转到例句页面等。对于每个页面的样式和交互,可以通过修改代码中的CSS样式和JavaScript代码来实现。 如果想要添加新的单词库或者词典,我们可以在资源文件中添加相应的文件,然后在代码中引用这些文件,以便在小程序中使用。同时,我们还可以根据需要对单词库进行编辑,如添加新的单词、修改释义或者例句等。 在完成设定后,我们可以运行小程序进行调试,检查是否有错误或者不符合预期的地方。如果发现问题,可以根据提示进行修改,直到满足我们的需求为止。 最后,将修改后的代码和资源文件上传到微信小程序开发者工具中,进行编译和发布,即可在微信中使用我们自己定制的 youmi-vocabulary 背单词微信小程序了。 ### 回答2: youmi-vocabulary 背单词微信小程序是一个用于帮助用户背单词的工具。用户只需要将代码及相关资源文件下载后,可以直接设定并使用该小程序。 首先,将代码及相关资源文件下载到本地。可以通过下载链接或者将代码拷贝到本地的方式进行下载。下载完成后,可以将代码放置在合适的位置。 接下来,设定该微信小程序。打开微信开发者工具,选择该项目所在的文件夹,即可进行设定。在设定过程中,可以配置小程序的基本信息、界面设计、功能模块等,以及与服务器的连接方式等。 一旦设定完成,就可以使用该小程序了。用户可以通过微信扫描小程序二维码,或者在微信搜索框中搜索小程序名称,进入小程序页面。在小程序页面上,用户可以进行单词背诵、词义理解、例句听写等功能。小程序会根据用户设定的英语水平、背诵计划等提供个性化的背单词内容和学习进度统计。 此外,youmi-vocabulary 还提供了一些其他功能,例如字典查询、记忆曲线、背单词游戏等,以提高用户的学习效果和学习兴趣。 总结来说,youmi-vocabulary 背单词微信小程序是一个方便用户背单词的工具。用户只需要下载代码及相关资源文件,并进行设定,就可以使用该小程序,并享受它提供的个性化背单词功能和其他学习辅助功能。 ### 回答3: youmi-vocabulary 背单词微信小程序是一个帮助用户背诵并记忆单词的工具。用户可以在微信小程序上下载该小程序的代码和相关资源文件,并进行设置,以便使用该小程序。 通过下载 youmi-vocabulary 背单词微信小程序的代码和资源文件,用户可以获得小程序的完整功能并进行自定义设置。这些代码和资源文件可能包括小程序的前端代码、后端代码、配置文件、图片等。用户可以根据自己的需求修改这些文件,例如更改小程序的界面样式、增加新的功能、调整单词库等。 在设定时,用户可以根据自己的需求进行个性化设置。例如,用户可以选择自己所需的单词库,根据自己的学习进度和水平设定背诵计划,并进行记忆方面的设置,如背单词的方式(英译汉、汉译英、听力等),记忆模式(选择题、填空题等),以及复习频率等。 通过设定,youmi-vocabulary 背单词微信小程序可以根据用户的需求和设置,在背诵单词的过程中提供个性化的学习体验。用户可以根据自己的设定,系统自动提供对应的背诵任务和学习资料,帮助用户高效、有序地记忆单词。同时,用户也可以根据自己的学习情况进行实时调整和优化设定,以达到最佳学习效果。 总之,通过下载 youmi-vocabulary 背单词微信小程序的代码和相关资源文件,并进行设定,用户可以个性化地使用这个小程序,高效记忆单词,提升自己的语言能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SoaringPigeon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值