深圳Yolo 视觉
深圳
立即加入
词汇表

CLIP (对比语言-图像预训练)

了解 OpenAI 的 CLIP 如何通过零样本学习、图像-文本对齐以及计算机视觉中的实际应用来革新 AI。

CLIP(对比语言-图像预训练)是一种开创性的多模态模型架构。 多模态模型架构。 是由OpenAI推出的开创性多模式模型架构,它在计算机视觉和自然语言处理之间架起了一座桥梁。 处理之间的桥梁。与在固定的预标记类别集上进行训练的传统计算机视觉系统不同,CLIP 通过对图像和文本描述进行训练,学会 与传统的计算机视觉系统不同,CLIP 通过对从互联网上收集的数以亿计的图像-文本对进行训练,学习将图像与文本描述联系起来。 互联网上收集的数以亿计的图像文本对进行训练,从而学会将图像与文本描述联系起来。这种方法能让模型通过自然语言的视角理解视觉概念,从而实现 零镜头学习能力,即 在这种情况下,模型可以正确地classify 图像归入它在训练过程中从未见过的类别。通过将 通过在共享特征空间中对视觉和文本信息进行整合,CLIP 可作为一个通用的 基础模型。 任务的通用基础模型。

CLIP 如何工作

CLIP 背后的核心机制依赖于两个独立的编码器:一个是视觉转换器 (ViT),另一个是 ResNet。 视觉Transformer (ViT)或 ResNet 来处理图像。 处理图像,以及一个文本 Transformer处理 语言。该模型采用 对比学习,使这两种 模式同步。在训练过程中,CLIP 接收一批(图像、文本)对,并学习预测哪段文本描述 与哪张图片相匹配。它通过优化参数来最大化正确图像对的嵌入之间的余弦相似度,同时将正确图像对的嵌入之间的余弦相似度最大化。 嵌入之间的余弦相似度最大化,而错误配对的相似度最小化。 错误配对的相似度最小。

这一训练过程会产生一个共享的潜在空间,在这一空间中,语义相似的图像和文本会相互靠近。 相近。例如,"金毛寻回犬 "图像的向量表示与文本串 "一张金毛寻回犬的照片 "的向量表示非常接近。 与文本字符串 "金毛猎犬的照片 "的向量表示非常接近。这种对齐方式允许 开发人员只需 只需提供一个潜在文本标签列表,模型就会将其与输入图像进行比较,以找到最佳的 匹配。

实际应用

CLIP 的灵活性使其被众多行业和应用所采用:

  • 语义图像搜索:传统搜索依赖于元数据或标签,而 CLIP 可实现 语义搜索,用户可使用自然语言描述查询图像 数据库。例如,搜索 "日落时分拥挤的海滩" 检索基于视觉内容而非关键字的相关图像。 这种技术对于零售和数字资产管理中的人工智能非常有价值。
  • 指导生成模型:CLIP 在评估和指导 文本到图像生成器中发挥着至关重要的作用。通过评分 生成的图像与用户提示的匹配程度,它可作为稳定扩散和 VQGAN 等模型的指导指标,确保视觉输出与用户提示相一致。 稳定扩散和 VQGAN 等模型的指导性指标,确保视觉输出与文本意图相一致。 意图。
  • 内容管理:平台使用 CLIP 将图像与被禁类别的文字描述进行比较,从而过滤不适当的内容。 禁止类别的文字描述,从而过滤不当内容。这种自动 数据安全措施比 人工审查。

物体检测中的 CLIP

虽然 CLIP 最初是为分类设计的,但其文本编码功能已被集成到现代 对象检测架构,以实现 开放词汇检测。YOLO模型允许 YOLO-World 模型允许用户在运行时使用自然语言提示定义自定义类,利用 CLIP 的语言理解能力 无需重新训练即可识别对象。

下面的示例演示了如何将YOLO 模型与 ultralytics 软件包来detect 文本定义的自定义对象:

from ultralytics import YOLO

# Load a pre-trained YOLO-World model utilizing CLIP-based text features
model = YOLO("yolov8s-world.pt")

# Define custom classes using natural language prompts
model.set_classes(["person wearing a hat", "red backpack"])

# Run inference on an image to detect the specified objects
results = model.predict("bus_stop.jpg")

# Display the detection results
results[0].show()

CLIP 与传统视觉模式的比较

将 CLIP 与标准监督模型(如 ResNet或早期版本的YOLO。

  • 传统模型通常在封闭的数据集上进行训练,例如 ImageNet等封闭数据集上进行训练。 类别)。如果需要新的类别,模型就需要 微调
  • CLIP是一种开放式词汇学习器。它可以泛化到文本中可以描述的任何概念。 而像 YOLO11等专业模型为特定任务提供卓越的速度 的速度和定位准确性,而 CLIP 则能提供无与伦比的通用理解能力。

最近的研究往往将这些方法结合起来。例如 视觉语言模型 (VLM) 通常以 CLIP 为骨干提供丰富的语义,而 YOLO26 等模型的架构改进则旨在提高这些多模态系统的速度和精度。 等模型的架构改进,旨在提高这些多模态系统的速度和精度。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入