Synthetic Data
了解合成数据如何驱动 AI 和机器学习。学习如何为 Ultralytics YOLO26 生成高质量数据集,从而立即提升模型准确性。
合成数据是人工生成的信息,能够模拟真实世界数据的统计属性、模式和结构特征。在快速发展的人工智能(AI)和机器学习(ML)领域,当真实数据的收集成本高、耗时长或受到隐私法规限制时,这类数据便成为关键资源。与从真实世界事件中获取的自然数据不同,合成数据是通过计算机模拟和高级生成模型等技术,以算法方式创建的。Gartner 预测,到 2030 年,合成数据在 AI 模型中的使用量将超过真实数据,从根本上改变智能系统的构建和部署方式。
合成数据在 AI 开发中的作用#
使用合成数据集的主要原因,是克服传统数据收集和标注固有的局限性。训练稳健的计算机视觉(CV)模型通常需要包含多样化场景的海量数据集。当真实世界数据稀缺时——例如罕见疾病诊断或危险的交通事故极端场景——合成数据可以填补这一空白。
生成这类数据后,开发者可以按需创建带有完美标注的训练数据。其中包括用于目标检测的精确边界框,或用于语义分割的像素级精确掩码,从而消除人工标注流程中常见的人为错误。此外,合成数据还可以通过让工程师有意平衡数据集中代表性不足的群体或环境条件,来解决AI 中的偏见问题,确保模型表现更加公平。
实际应用#
合成数据正在彻底改变那些对数据隐私、安全性和可扩展性要求极高的行业。
- **自动驾驶模拟:**仅在物理世界中测试自动驾驶车辆存在风险,并且受到地理条件限制。各家公司利用NVIDIA Omniverse等照片级真实感模拟器来训练其感知系统。这些模拟器可以生成数十亿英里的虚拟驾驶里程,让 AI 接触危险天气、行人反常行为以及复杂的城市布局,而这些场景很难在真实世界中持续一致地采集。
- 医疗保健和医学影像:HIPAA和GDPR等患者隐私法律严格监管医疗记录的共享。合成数据可以创建逼真的医学图像分析数据集,例如 X 光片或 MRI 扫描,同时保留病理特征,而不包含任何个人身份信息。这样,研究人员就能协作训练肿瘤检测模型,而不会损害患者隐私。
为视觉 AI 生成合成数据#
创建高质量合成数据通常涉及两种主要方法:模拟引擎和生成式 AI。模拟引擎(例如Unity 引擎)使用 3D 图形渲染场景,并应用基于物理的光照和纹理。另一种方法是使用生成对抗网络(GANs)和扩散模型等生成模型,学习真实数据的分布,从而合成新的照片级真实感样本。
生成合成数据集后,就可以使用它来训练高性能模型。下面的 Python 示例演示了如何使用 ultralytics 包加载一个模型(该模型可能使用合成数据训练),并对图像执行推理。
from ultralytics import YOLO
# Load the YOLO26 model (latest stable generation for superior accuracy)
model = YOLO("yolo26n.pt")
# Run inference on a source image (this could be a synthetic validation image)
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results to verify model performance
results[0].show()合成数据与数据增强#
区分合成数据和数据增强很有帮助,因为这两种技术都旨在扩展数据集,但工作方式不同。
- 数据增强是指对已有的真实世界图像应用翻转、旋转、裁剪或颜色调整等变换,以创建细微变化。它依赖于原始数据源。
- 合成数据是指使用算法或模拟从头开始创建全新的数据实例。它不要求每个输出都严格对应一张原始图像,因此可以生成从未被相机捕捉过的场景。
现代Ultralytics Platform工作流通常会结合这两种方法:使用合成数据填补数据集中的空白,并在训练期间应用数据增强,以最大限度地提升YOLO26等模型的稳健性。









