Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Data Augmentation

数据增强会让模型使用经过随机变换的现有图像副本进行训练,例如翻转、裁剪和颜色偏移,从而提升泛化能力。

数据增强通过对现有样本应用随机变换,例如翻转、裁剪、缩放、颜色偏移和图像混合,从而增加训练数据集的多样性。每个变换后的副本都会保留原始标签,因此模型能够学会:物体在视角、光照和位置变化后仍是同一个物体。收集并标注新图像既慢又昂贵,因此数据增强是防止过拟合成本最低的方法,几乎所有现代计算机视觉模型都会在训练时使用它。

数据增强的工作原理#

大多数训练流水线都会在线进行增强:数据加载器在构建批次时变换每张图像,并在每次处理时重新随机生成参数,因此每个训练轮次看到的图像版本都不同。离线增强则是在训练前将固定数量的变换副本写入磁盘,这会增加存储需求,也会让模型接触到的不同变体少得多。

有两条规则可以避免增强破坏数据。第一,标签必须随像素一起变化:在目标检测、实例分割和姿态估计中,几何变换必须更新每个边界框、掩码和关键点,水平翻转还必须交换左右关键点。第二,变换必须是现实世界中可能发生的变化:航拍图像和显微镜图像适合垂直翻转,而街景图像垂直翻转后会出现推理时不可能遇到的倒置汽车。Torchvision 的变换会在同时传入边界框和图像时自动遵循第一条规则:

from urllib.request import urlopen

from PIL import Image
from torchvision import tv_tensors
from torchvision.transforms import v2

image = Image.open(urlopen("https://ultralytics.com/images/bus.jpg"))  # 810 x 1080 pixels
boxes = tv_tensors.BoundingBoxes([[50, 400, 250, 900]], format="XYXY", canvas_size=(1080, 810))

# Flip every time (p=1.0) and shift colors; the box must move with the pixels
augment = v2.Compose([v2.RandomHorizontalFlip(p=1.0), v2.ColorJitter(brightness=0.4, saturation=0.7)])
new_image, new_boxes = augment(image, boxes)

print(f"Original box: {boxes.tolist()}")
print(f"Flipped box:  {new_boxes.tolist()}")

图像左侧人物周围的边界框会从 [50, 400, 250, 900] 移动到 [560, 400, 760, 900],并沿 810 像素的宽度镜像翻转;颜色抖动则会改变像素,但不会影响边界框。

常见技术#

  • 几何变换:翻转、旋转、缩放、平移、裁剪、错切和透视变形,用于模拟不同的相机位置和物体大小。
  • 光度变换:调整亮度、对比度、饱和度和色调,以及模糊和噪声,用于模拟不同的光照、传感器和图像质量。
  • 遮挡:随机擦除和 cutout 会清空矩形区域,使模型不能依赖物体的某个单一部分。
  • 图像混合:MixUp会混合两张图像及其标签,CutMix会将一张图像的图块粘贴到另一张图像上;马赛克会将四张图像拼成一个训练样本,而复制粘贴则会把分割出的物体放到新的背景上。
  • 自动化策略:RandAugment会应用一系列随机变换,只需两个参数来控制:变换数量和变换强度。这样就省去了早期学习式策略所需的高成本搜索。

目标检测的数据增强流水线#

检测流水线会串联多个变换,每个变换都有各自的应用概率,因此每张训练图像都会随机组合出不同的变换。

Ultralytics YOLO训练默认运行这套流水线:对每张图像执行马赛克增强(mosaic=1.0),以 50% 的概率进行水平翻转(fliplr=0.5),最多进行 ±50% 的缩放,并调整 HSV 颜色;最后 10 个训练轮次会关闭马赛克(close_mosaic=10),让模型最终使用完整且自然的图像进行训练。

from ultralytics import YOLO

# 加载预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# fliplr:水平翻转概率;scale:缩放范围 (+/- 70%);degrees:旋转范围 (+/- 5)
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.7, degrees=5.0)

在本次运行期间,YOLO26训练器会将前三个增强批次保存为 train_batch0.jpg、train_batch1.jpg 和 train_batch2.jpg,并绘制边界框,以便在投入长时间训练前检查每项设置的效果。

  • 合成数据:通过渲染引擎、模拟器或扩散模型从头生成。数据增强则会修改已有的真实图像。
  • 数据预处理:调整大小和归一化等确定性步骤,在训练和推理期间以相同方式应用于每张图像。数据增强具有随机性,且只在训练期间执行。
  • 测试时增强 (TTA):对同一个输入的多个增强版本(例如翻转和缩放后的副本)运行推理,并合并预测结果,以额外计算量换取小幅准确率提升。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

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

机器人领域的计算机视觉

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

物流中的计算机视觉

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

零售中的计算机视觉

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

医疗领域的计算机视觉

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

制造业中的计算机视觉

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

汽车领域的计算机视觉

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

农业中的计算机视觉

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

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

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

机器人领域的计算机视觉

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

物流中的计算机视觉

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

零售中的计算机视觉

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

医疗领域的计算机视觉

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

制造业中的计算机视觉

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

汽车领域的计算机视觉

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

农业中的计算机视觉

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

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 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 的未来!

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