Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Zero-Shot Learning

零样本学习通过将输入与文本描述匹配,在没有标注示例的情况下识别类别。介绍 CLIP、开放词汇检测及其局限。

零样本学习(ZSL)是指模型识别从未见过标注训练样本的类别的能力。模型无需依赖样本,而是接收每个新类别的描述,例如属性列表;在现代系统中,描述通常是类别名称文本,然后模型在共享的嵌入空间中将输入与这些描述进行匹配。标准监督学习只能预测训练标签中包含的类别,因此新增类别意味着要收集并标注新数据,然后重新训练。OpenAI 的 CLIP使用 4 亿组图像-标题对进行训练;在没有使用 ImageNet 的 128 万张标注训练图像的情况下,它达到了原始监督式 ResNet-50 在 ImageNet 上的准确率。

零样本学习的工作原理#

零样本学习通过连接已见类别和未见类别的语义空间来迁移知识。早期方法会使用人工定义的属性描述每个类别,例如“有条纹”“有蹄子”和“生活在草原”,并训练模型预测这些属性;因此,即使模型在训练时从未见过某种动物,也能根据属性匹配结果将其识别为相应类别。视觉语言模型用自然语言取代了人工构建的属性。CLIP使用对比学习训练图像编码器和文本编码器,使匹配的图像与标题具有相似的嵌入。进行分类时,模型会为每个候选类别的提示(例如“一张斑马的照片”)生成嵌入,为图像生成嵌入,然后选择余弦相似度最高的类别:

由于分类器在推理时根据文本构建,类别列表可以随每个请求而改变。同样的模式也适用于大型语言模型(LLM):零样本提示意味着只给模型一条指令,不提供示例;这一概念由 GPT-3 论文定义。

零样本目标检测#

开放词汇检测将零样本学习从整张图像扩展到单个目标。它会将每个候选区域与所请求类别的文本嵌入进行评分,因此能够在固定标签集以外寻找目标,例如在视频档案中查找特定产品。YOLO-World将这种方法应用于实时 YOLO 模型。Ultralytics YOLOE-26是开放词汇版本的 YOLO26,它使用 MobileCLIP2 文本编码器对传入 set_classes() 的每个类别名称进行编码,无需重新训练,即可为这些类别返回边界框和实例分割掩码:

from ultralytics import YOLOE

# 可接受文本提示的 YOLOE-26 检查点
model = YOLOE("yoloe-26s-seg.pt")

# 在推理时指定类别;此处使用的名称并非 COCO 标签
model.set_classes(["city bus", "sneakers", "glasses"])

# 检测并分割指定类别
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")

第一次调用 set_classes() 时会下载文本编码器。对于目标检测,“零样本”是指模型没有接收该类别的标注框;不过,类别名称可能出现在用于预训练编码器的图文数据中。Ultralytics Platform 使用零样本检测器和视觉语言模型自动标注检测数据集,而 VLM Leaderboard会比较它们在真实世界图像中查找对象的准确度。

应用场景#

  • 视觉搜索与内容审核:媒体库和内容平台可以根据文本查询查找匹配图像,或标记新的内容类别,而无需针对每个查询训练分类器。
  • 机器人技术:机器人接到“拿蓝色马克杯”的指令后,可以定位从未训练过其检测能力的目标类别。
  • 野生动物与生物多样性:BioCLIP 使用生命之树各类生物的 1,000 多万张图像进行训练,可根据物种名称进行零样本分类,并获得了 CVPR 2024 最佳学生论文奖。
  • 医学影像:使用 X 光片及其书面放射学报告配对数据训练的模型,可以标记从未作为明确训练标签进行标注的影像发现。

挑战#

零样本准确率通常低于使用相同类别的标注样本训练的模型,尤其是在类别细粒度或专业化、且类别名称在网络文本中很少见时。在广义零样本学习中,测试图像可能来自已见类别,也可能来自未见类别;模型会偏向训练过的类别,而基准研究发现,在这种情况下,未见类别的准确率会大幅下降。结果还取决于措辞,因此提示工程也是零样本分类的一部分:将 CLIP 的 ImageNet 提示从单独的类别名称改为“一张{label}的照片”,准确率就提高了 1.3%。

  • 小样本学习:每个类别只用少量标注样本学习新类别,通常为 1 到 10 个。零样本学习则是样本数量为零、改用描述的情况。
  • 单样本学习:小样本学习的一种情况,每个类别恰好有一个标注样本,通常通过嵌入相似度进行匹配。
  • 迁移学习:复用预训练模型处理新任务,通常会使用标注数据进行微调。零样本学习则通过共享文本-图像空间迁移知识,无需进一步训练。
  • 视觉提示:使用示例图像或边界框指定目标,而非使用文字;这对难以命名的目标(例如特定零件或徽标)很有帮助。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来