继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

RAG for Vision:构建多模态计算机视觉系统

30秒到达战场
关注TA
已关注
手记 443
粉丝 95
获赞 569

视觉 RAG 组件用于计算机视觉系统

本文探讨了视觉RAG的精彩世界,探讨其重要性以及它是如何革新传统计算机视觉管道的。

从了解 RAG 的基础知识到它在视觉任务和监控中的具体应用,我们将探讨这项技术如何为更先进和高效的 AI 系统铺平道路。

🔥 了解更多关于 Segment Anything Model 2 (SAM 2):

  • 🆕 SAM 2 + GPT-4o — 通过视觉提示级联基础模型 — 第1部分
目录
  1. 什么是检索增强生成(RAG)?
  2. 视觉RAG:RAG在计算机视觉中的应用
  3. 多模态RAG
  4. 下一步是什么?
1. 什么是检索增强生成(RAG)?
1.1 开始之前:什么是(视觉)提示?

为了更好地理解检索增强生成(RAG)[1],首先定义“提示”是有用的。

RAG 结合了提示原则与信息检索。 [2]

提示技术 是一种引导基础模型(如多模态大型语言模型 (MLLMs))执行任务的技术,通过提供特定的指令或查询。

在视觉领域,Visual Prompting [3] 使用视觉输入(如图像、线条或点)来指导大规模视觉模型执行特定任务,这些任务通常包括模型未经过明确训练的任务。

图1展示了可提示模型如何被用作构建块来创建更大的系统,其中的关键见解是模型可以通过视觉提示连接(或串联):YOLO-World的输出可以被用作SegmentAnything的视觉提示。

图1. YOLO-World 的输出(即,边界框)用作 SegmentAnything 的输入(即,视觉提示

所以,事实证明,提示提供了构建更高级技术(如RAG)的基础。

1.2 什么是RAG?

当你向GenAI模型(如GPT-4或LLaVA [5])发出指令时,你得到的回答来自一个(零样本)模型[4],该模型受其信息截止点(或其自身的训练数据,在数量和质量上)的限制。因此,该模型的知识是静态的,并且不会在某个点之后进行更新。

检索增强生成(RAG)使系统能够检索相关上下文,然后将其与原始提示结合。这个增强后的提示用于查询模型,提供原本无法获得的数据。

1.3 了解RAG的工作原理

现在,请看图2,分解一个典型的RAG工作流:

  1. 检索 : 当给定一个查询或提示时,系统首先从知识库或外部数据源检索相关的信息。
  2. 增强 : 检索到的信息然后被用来增强或改进输入到模型中的数据。
  3. 生成 : 最后,模型根据原始查询和检索到的信息生成响应。

图2. RAG的三个构建模块:检索、增强和生成

2. RAG 在计算机视觉中的应用是怎样的
2.1 传统(文本)RAG 与 Visual RAG

如图3所示,Visual RAG将Retrieval-Augmented Generation (RAG)的概念应用于视觉任务。

传统RAG处理文本输入并检索相关文本信息,而Visual RAG则处理图像,有时会伴随文本,并检索视觉数据或图像-文本对。

编码过程从文本编码器转移到视觉编码器(有时使用基础模型如CLIP [6]来实现此目的),知识库(即,向量数据库)变成了视觉信息的存储库,而不是文本文档。

图3. 比较语言模型的RAG与视觉模型的RAG

最后,Visual RAG 的增强功能将检索到的视觉数据与输入结合,使其能够生成包括文本描述、修改后的图像或跨模态内容在内的多种输出。

视觉 RAG 在需要 结合视觉理解与外部知识 的任务中特别强大 💪。例如,它可以帮助视觉系统通过从其知识库中检索这些边缘情况的相关视觉和文本信息来识别罕见对象。

2.2 视觉 RAG 或微调

图4. 何时使用RAG而非微调

在生产中构建视觉系统时,一个常见的问题是决定是否使用 RAG 进行微调 [7]。如图 4 所示,答案不是二元的,而是取决于许多因素,例如:

  • 预算: 微调涉及重新训练模型,这会更昂贵。
  • 推理: RAG 在推理过程中需要更多的计算资源。
  • 时间: 由于权重被更新,微调在开始时需要更多的时间投入,但从长远来看可能会更省时。

💡 一般来说,RAG 是一个理想的起点策略。之后,如果模型的任务变得过于狭窄或具体,微调可能是下一步。

所以,为什么不两个都选择呢? 🤔

对于某些用例,可以结合这两种方法:

  1. 具有核心任务的演变领域 : 例如,在医学成像中,存在标准的诊断程序(通过微调处理),但也存在快速演变的研究和新的案例研究(通过 Visual RAG 处理)。
  2. 电子商务和产品识别: 一个经过微调的模型可以识别产品类别,而 Visual RAG 可以从动态库存中检索最新的产品信息或类似商品。
  3. 内容审核系统: 微调可以处理常见的违规类型,而 Visual RAG 可以适应新兴趋势或上下文相关的违规行为。
3. 多模态RAG
3.1 多模态视觉RAG视频理解

让我们探索一个用于视频理解的多模态视觉RAG管道的具体实现(如图5所示)。这个示例展示了这些技术如何协同工作以从视频数据中提取有意义的洞察。

图5. 视觉RAG应用于视频理解系统

让我们分解系统组件及其交互:

  • 1. 知识库: 系统以包含视频和图像的知识库为基础,这是理解视觉内容的基础。
  • 2. 嵌入模型: 使用嵌入模型(如CLIP(对比语言-图像预训练))将知识库内容和用户查询转换为相同的向量空间。这使得不同模态(文本和视觉数据)之间的比较成为可能。
  • 3. 向量数据库: 知识库的嵌入表示存储在向量数据库中,从而能够进行高效的相似性搜索。
  • 4. 用户查询: 用户输入查询,例如“查找下午5点前停在路边的白色车辆”。
  • 5. 查询处理: 用户的查询通过嵌入模型转换为与知识库内容相同的向量空间。
  • 6. 检索与排序: 系统根据查询嵌入与存储嵌入之间的相似性从向量数据库中检索相关信息,并对结果进行排序以找到最相关的匹配项。
  • 7. 增强: 检索到的信息经过提示处理或增强,以细化上下文并为语言视觉模型做好准备。
  • 8. LLaVA 微调版本: LLaVA(大型语言和视觉助手)的微调版本处理增强的信息。LLaVA是一个多模态模型,能够理解文本和视觉输入。
  • 9. 推理: LLaVA模型对处理后的数据进行推理,生成回答用户查询的响应。
  • 10. 响应: 最终输出是一个视觉响应——在这种情况下,显示一辆停在路边的白色汽车的图像,这与用户的查询相匹配。

图5所示的系统是计算机视觉中基础模型如何连接或串联在一起的一个示例。

在 Tenyks,我们认为在视觉领域即将发生范式转变,这将催生一个 计算机视觉管道 2.0,其中一些传统的阶段(例如标注)将被可提示的基础模型所取代。

4. 接下来是什么
4.1 生产环境中的视觉RAG

虽然第3.1节中的系统提供了一个令人印象深刻的视频理解框架,但实际上上图描述的只是一个原型。

对于一个生产级别的系统,为了成功部署,应该考虑一些问题:

  1. 可扩展性: 系统必须能够高效处理大量视频数据和并发用户查询。
  2. 错误处理和边缘情况: 管道应优雅地管理视觉内容模糊或查询不清晰的场景。

所以,在这些情况下我们可以做什么?🤔

  1. 一个选项是直接构建端到端系统,特别是如果你的核心竞争力依赖于此。然而,大规模数据集的隐性成本如何呢?还有,维护成本呢?
  2. 另一个选项是找到一个可生产、可扩展、处理边缘情况并符合行业相关规定的系统。

选项 (2) 的最佳解决方案之一是一个经过实战考验的系统,用于从大规模视觉数据源中查询和提取洞察,这个系统是 Tenyks。

图6. Tenyks 实际应用:从大规模视觉数据集中提取洞察

图6展示了Tenyks在搜索通用和抽象概念以及物体方面如何表现出色。通过使用视觉提示,Tenyks的专有技术可以精炼查询,从大规模视觉数据仓库(例如视频和大型数据集)中提取非常具体的细节。

🔥 了解更多关于多模态和基础模型的最新进展,请关注我们在CVPR 2024系列中的内容:

🔥 了解更多关于 Segment Anything Model 2 (SAM 2):

  • 🆕 SAM 2 + GPT-4o — 通过视觉提示级联基础模型 — 第1部分
参考资料

[1] 知识密集型NLP任务的检索增强生成

[2] 大型语言模型在信息检索中的应用:综述

[3] 探索视觉提示以适应大规模模型

[4] 一种令人尴尬的简单的零样本学习方法

[5] 视觉指令调优

[6] 从自然语言监督中学习可转移的视觉模型

[7] 语言模型的事实性微调

作者 : Jose Gabriel Islas Montero, Dmitry Kazhdan

如果您想了解更多关于Tenyks的信息,注册一个沙盒账户_。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP