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

2024年07月23日 由 alex 发表 213 0

本文探索了 Visual RAG 的激动人心的世界,探讨了它的意义以及它如何彻底改变传统的计算机视觉流程。


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


什么是检索增强生成(RAG)?


什么是(视觉)提示?

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


在视觉领域,视觉提示利用视觉输入(如图像、线条或点)指导大规模视觉模型执行特定任务,通常包括模型未明确训练的任务。


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


7

图1


事实证明,提示技术为 RAG 等更高级的技术奠定了基础。


什么是 RAG?

当你提示一个 GenAI 模型(如 GPT-4 或 LLaVA )时,你得到的答案来自一个(零样本)模型 ,该模型受到其信息截止点(或其自身训练数据的数量和质量)的限制。因此,该模型的知识是静态的,超过某个点就不会更新。


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


了解 RAG 的工作原理


现在,让我们看一下图 2,了解一下典型的 RAG 工作流程:

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


8

图2


计算机视觉中如何使用 RAG


传统(文本)RAG 与视觉 RAG

如图 3 所示,视觉 RAG 将检索-增强生成(RAG)概念应用于视觉任务。


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


编码过程从文本编码器转向视觉编码器(有时会为此使用 CLIP 等基础模型),知识库(即矢量数据库)成为视觉信息库,而不是文本文档。


9

图3


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


对于需要将视觉理解与外部知识相结合的任务,Visual RAG 尤其强大。例如,它可以通过从知识库中检索这些边缘情况的相关视觉和文本信息,帮助视觉系统识别稀有物体。


视觉 RAG 或微调


10

图4


在生产中构建视觉系统时,一个常见的问题是如何在 RAG 和微调之间做出选择。如图 4 所示,答案并非二选一,而是取决于许多因素,例如:

  • :预算:微调涉及重新训练模型,成本较高。
  • 推理: RAG 在推理过程中需要更多计算。
  • 时间:由于权重是更新的,微调在开始时需要投入更多时间,但从长远来看,时间消耗可能较少。


根据经验,RAG 是一种理想的起始策略。之后,如果模型的任务变得过于狭窄或具体,微调可能是下一步。


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

  1. 具有核心任务的不断发展的领域: 例如,在医学影像领域,既有标准诊断程序(由微调处理),也有快速发展的研究和新案例研究(由可视化 RAG 处理)。
  2. 电子商务和产品识别: 微调模型可以识别产品类别,而 Visual RAG 可以从动态库存中检索最新的产品信息或类似项目。
  3. 内容管理系统: 微调可以处理常见的违规类型,而 Visual RAG 则可以适应新出现的趋势或与上下文相关的违规行为。


多模态 RAG


用于视频理解的多模态视觉 RAG

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


11

图5


让我们来分析一下系统组件及其相互作用:

1. 知识库: 系统以包含视频和图像的知识库为起点。这是理解视觉内容的基础。

2. 嵌入模型: 嵌入模型,如 CLIP(对比语言-图像预训练),用于将知识库内容和用户查询转换为一个共同的向量空间。这样就可以在不同模式(文本和视觉数据)之间进行比较。

3. 向量数据库: 知识库的嵌入式表示法存储在矢量数据库中,从而实现高效的相似性搜索。

4. 用户查询: 用户输入查询,如 “查找下午 5 点前停放的白色车辆”。

5. 查询处理: 通过嵌入模型将用户的查询转换为与知识库内容相同的向量空间。

6. 检索和排序: 系统根据查询嵌入和存储嵌入之间的相似性,从向量数据库中检索相关信息。然后对结果进行排序,找出最相关的匹配结果。

7. 增强: 对检索到的信息进行及时处理或增强,以完善上下文并为语言视觉模型做好准备。

8. LLaVA 微调版 微调版 LLaVA(大型语言和视觉助手)处理增强信息。LLaVA 是一个多模态模型,能够理解文本和视觉输入。

9. 推理: LLaVA 模型会对处理过的数据进行推理,以生成能够解决用户查询的响应。

10. 响应: 最终输出是视觉响应--在本例中,图像显示一辆白色汽车停在街道上,与用户的查询相匹配。


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


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


结论

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


对于生产级系统,要想成功部署,应注意以下几点:

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


文章来源:https://medium.com/@tenyks_blogger/rag-for-vision-building-genai-computer-vision-systems-6a812adfb20e
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消