Data Augmentation
Узнай, как аугментация данных повышает устойчивость модели и снижает переобучение. Изучи основные методы улучшения производительности Ultralytics YOLO26 в компьютерном зрении.
Аугментация данных — это важный метод в машинном обучении и компьютерном зрении, который используется для искусственного увеличения объёма и разнообразия обучающего набора данных путём создания изменённых версий существующих данных. Вместо сбора и разметки совершенно новых данных, что может быть длительным и дорогостоящим процессом, аугментация применяет различные преобразования к исходным образцам. Эти изменения помогают моделям машинного обучения более устойчиво учиться распознавать закономерности, обеспечивая высокую эффективность даже при столкновении с вариациями в реальных условиях. Предоставляя моделям более широкий спектр сценариев во время обучения, разработчики могут эффективно снизить переобучение и улучшить обобщающую способность.
Актуальность в современном ИИ#
В области компьютерного зрения модели часто испытывают трудности при работе с изображениями, которые немного отличаются от обучающих данных. Изменения освещения, ориентации или загромождённости фона могут сбить с толку модель, которая не видела достаточного разнообразия. Аугментация данных решает эту проблему, программно имитируя такие вариации. Например, изображение кошки можно повернуть, отразить или слегка размыть, чтобы научить модель понимать, что объект остаётся «кошкой» независимо от этих изменений.
Этот процесс играет важную роль в успешной работе современных архитектур, таких как Ultralytics YOLO26, которые используют богатые и разнообразные наборы данных для достижения высокой точности в таких задачах, как обнаружение объектов и сегментация изображений. Синтезируя новые обучающие примеры, аугментация позволяет моделям изучать инвариантные признаки — характеристики, которые не меняются несмотря на изменения входных данных.
Распространённые методы и способы#
Аугментация данных включает широкий спектр методов преобразования — от простых геометрических изменений до сложных генеративных подходов:
- Геометрические преобразования: включают такие операции, как поворот, масштабирование, отражение, кадрирование и перенос (сдвиг) изображений. Они моделируют изменения точки обзора камеры или положения объекта.
- Изменение цветового пространства: изменение яркости, контрастности, насыщенности и оттенка помогает моделям работать с разными условиями освещения и сенсорами камер.
- Добавление шума: добавление случайного шума, например гауссовского, может повысить устойчивость моделей к зернистым изображениям или входным данным низкого качества.
- Смешивание изображений: такие методы, как MixUp или Mosaic, популярные при обучении YOLO, объединяют несколько изображений в один обучающий пример, заставляя модель эффективнее изучать контекст и взаимосвязи между объектами.
- Генеративные подходы: в передовых методах используются генеративный ИИ или диффузионные модели для создания совершенно новых синтетических обучающих примеров, имитирующих характеристики исходного набора данных.
Практические применения#
Практическое влияние аугментации данных распространяется на множество отраслей, где нехватка данных или их высокая вариативность создают сложности.
Автономное вождение#
При разработке автономных транспортных средств собрать данные для всех возможных погодных условий и сценариев освещения практически невозможно. Инженеры используют аугментацию данных, чтобы имитировать дождь, туман, снег или блики на изображениях, снятых в ясную погоду. Это позволяет системе восприятия надёжно обнаруживать пешеходов, дорожные знаки и другие транспортные средства независимо от факторов окружающей среды, повышая безопасность и надёжность.
Медицинская визуализация#
Анализ медицинских изображений часто ограничен небольшими наборами данных из-за требований к конфиденциальности и редкости некоторых заболеваний. Аугментация позволяет исследователям расширять небольшие наборы рентгеновских снимков или МРТ-сканов с помощью упругих деформаций, поворотов или изменений интенсивности. Это помогает обучать надёжные диагностические модели, способные с высокой чувствительностью выявлять опухоли или переломы даже при различиях в положении пациента или качестве сканирования.
Различие между связанными понятиями#
Важно отличать аугментацию данных от синтетических данных. Хотя обе технологии направлены на увеличение размера набора данных, синтетические данные генерируются искусственно с нуля, часто с использованием средств 3D-визуализации или симуляторов, тогда как аугментация данных изменяет существующие данные из реального мира. Кроме того, предварительная обработка данных включает очистку и форматирование данных, например изменение размера и нормализацию, чтобы сделать их пригодными для модели, но, в отличие от аугментации, не обязательно увеличивает количество обучающих примеров.
Реализация аугментации с помощью Ultralytics#
Современные фреймворки встраивают аугментацию непосредственно в конвейер обучения. В примере ниже показано, как применять такие методы аугментации, как отражение и масштабирование, при обучении модели Ultralytics YOLO26 с использованием пакета ultralytics.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Train with custom data augmentation hyperparameters
# fliplr: 50% chance of horizontal flip, scale: image scaling gain
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.5)Настраивая эти гиперпараметры, разработчики могут адаптировать стратегию аугментации к конкретным потребностям своего набора данных и приложения, используя гибкость Ultralytics Platform для эффективной разработки моделей.









