遇见 YOLO26: 下一代视觉 AI。
Ultralytics
返回 Ultralytics 词汇表

One-Shot Learning

探索 AI 中的单样本学习 (One-Shot Learning)。学习如何利用 Ultralytics YOLO26 和孪生网络通过单个图像识别对象,实现高效的计算机视觉。

One-Shot Learning is a specialized classification technique in machine learning (ML) designed to learn information about object categories from a single training example. Unlike traditional deep learning (DL) algorithms, which require massive datasets containing thousands of annotated images to generalize effectively, One-Shot Learning mimics the human cognitive ability to grasp a new concept instantly. For instance, a person can usually recognize a specific exotic bird after seeing it just once; this methodology attempts to replicate that efficiency in artificial intelligence (AI) systems. It is particularly valuable in scenarios where data labeling is expensive, data is scarce, or new categories must be added dynamically without retraining the entire model.

Link to this section该概念背后的机制#

One-Shot Learning 的核心原则是将目标从标准分类转向相似度评估。模型学习的不是输出特定类标签(例如“狗”或“猫”)的神经网络 (NN),而是距离函数。为此常用的架构是孪生神经网络,它由两个共享相同模型权重的相同子网络组成。

在运行过程中,网络执行特征提取,将输入图像转换为称为嵌入 (embeddings) 的紧凑数值向量。然后,系统将新查询图像的嵌入与单个参考“样本”的嵌入进行比较。如果数学距离(通常使用欧几里得距离余弦相似度计算)低于特定阈值,则判定这些图像属于同一类别。这使得模型能够根据在学习到的特征空间中的接近程度来验证身份或对对象进行分类。

The following Python code demonstrates how to extract embeddings and calculate similarity using a YOLO26 classification model from the ultralytics package.

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")

# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]

# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))

print(f"Similarity Score: {similarity:.4f}")

Link to this section区分相关范式#

将 One-Shot Learning 与其他数据高效学习技术区分开来非常重要,因为它们通过不同的约束条件解决了类似的问题:

  • 少样本学习 (FSL) 这是一个包含 One-Shot Learning 的更广泛类别。在 FSL 中,模型会获得一个小的“支持集”示例,每个类别通常包含两到五个图像。One-Shot Learning 只是支持集大小正好为一时的情况。
  • 零样本学习 (ZSL) ZSL 处理的是识别模型在视觉上从未见过的内容。ZSL 不依赖参考图像,而是通过自然语言处理 (NLP) 依赖语义属性或文本描述(例如,通过将视觉特征与文本描述“条纹马”相关联来识别“斑马”)。
  • 迁移学习 这涉及获取一个在像 ImageNet 这样的大型数据库上预训练的模型,并在新任务上对其进行微调。虽然迁移学习为 One-Shot Learning 中使用的特征提取器提供了支持,但标准的迁移学习通常需要不止一个示例才能在不过拟合的情况下有效地更新权重。

Link to this section实际应用#

One-Shot Learning 已在收集大量训练数据不切实际的领域开启了各种功能。

Link to this section人脸识别与安全#

One-Shot Learning 最普遍的应用是在生物识别安全领域。在智能手机上设置 Face ID 或注册员工门禁系统时,设备会捕获用户面部的单个数学表示。在日常使用中,人脸识别系统会将实时摄像头拍摄的画面与存储的这个“一次性”样本进行比较,以验证身份。这依赖于鲁棒的嵌入技术(例如在基础的 FaceNet 研究 中讨论的那些),以确保光线或角度的变化不会破坏相似度匹配。

Link to this section工业质量控制#

制造业 AI 中,创建一个“缺陷”部件的平衡数据集很困难,因为缺陷既罕见又不一致。One-Shot Learning 允许计算机视觉 (CV) 系统学习单个“完美”参考部件的表示。装配线上任何产生与该参考距离显著不同的嵌入的物品都会被标记为异常检测。这实现了即时的质量保证,而无需数千张破损部件的图像,并且可以通过 Ultralytics Platform 进行管理和部署。

Link to this section挑战与未来展望#

尽管功能强大,但 One-Shot Learning 容易受到噪声干扰;如果单个参考图像模糊、被遮挡或不具代表性,模型识别该类别的能力就会显著下降。研究人员通常采用元学习,即“学会学习”,来提高模型的稳定性和泛化能力。随着架构的发展,像 YOLO26 这样的较新模型正在整合更强大的特征提取器,使一次性推理变得更快、更准确,为更具适应性和智能的边缘 AI 设备铺平了道路。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅