Meet YOLO26: next-gen vision AI.

Link to this sectionМетоды предобработки аннотированных данных компьютерного зрения#

Предобработка данных превращает «сырые», аннотированные изображения в чистые и единообразные входные данные, необходимые модели компьютерного зрения для качественного обучения. В Ultralytics YOLO26 основные операции с пикселями — преобразование в RGB, масштабирование до [0, 1] и изменение размера — выполняются автоматически в процессе обучения, поэтому тебе остается только правильно разделить датасет, сбалансировать классы и выбрать аугментации. Это руководство охватывает основные методы: изменение размера, нормализацию, разделение датасета, аугментацию данных и исследовательский анализ данных (EDA).



Watch: How to Use Data Preprocessing and Augmentation to Improve Model Accuracy in Real-World Scenarios 🚀

Этот этап следует за определением целей твоего проекта и сбором и аннотированием данных; он находится в самом начале рабочего процесса проекта компьютерного зрения.

Link to this sectionПочему важна предобработка#

Предобработка приводит твои данные к формату, который снижает вычислительную нагрузку и улучшает работу модели. Она позволяет решить три типичные проблемы «сырых» данных:

  • Шум: нерелевантные или случайные отклонения в данных.
  • Несогласованность: Различия в размерах, форматах и качестве изображений.
  • Дисбаланс: неравномерное распределение классов или категорий по датасету.

Link to this sectionМетоды предобработки#

Основные методы — это изменение размера, нормализация, разделение датасета и аугментация. В YOLO26 первые два выполняются автоматически, а при разделении и аугментации твои решения имеют решающее значение.

Link to this sectionИзменение размера изображений#

Многие модели требуют постоянного размера входных данных, поэтому изменение размера делает изображения единообразными и снижает вычислительную сложность. Два распространенных метода интерполяции:

  • Билинейная интерполяция: сглаживает значения пикселей, беря взвешенное среднее четырех ближайших пикселей.
  • Метод ближайшего соседа: копирует значение ближайшего пикселя без усреднения — это быстрее, но дает более «блочное» изображение.

Библиотеки, такие как OpenCV и PIL (Pillow), предоставляют эти функции, но в YOLO26 тебе, как правило, не нужно изменять размер вручную. Аргумент imgsz во время обучения модели берет это на себя: при установке значения, например 640, YOLO масштабирует каждое изображение так, чтобы его наибольшая сторона составляла 640 пикселей, сохраняя соотношение сторон, а затем дополняет более короткую сторону (по умолчанию серым цветом, значение 114) до квадратного входа 640 × 640.

Link to this sectionНормализация значений пикселей#

Нормализация масштабирует значения пикселей до стандартного диапазона, что помогает модели быстрее сходиться во время обучения. Два распространенных метода:

  • Min-Max масштабирование: Масштабирует значения пикселей в диапазон от 0 до 1.
  • Z-score нормализация: Масштабирует значения пикселей на основе их среднего значения и стандартного отклонения.

YOLO26 выполняет нормализацию автоматически как часть конвейера предобработки: преобразует изображения в RGB и масштабирует значения пикселей до диапазона [0, 1] путем деления на 255 (min-max масштабирование). По умолчанию YOLO не применяет нормализацию по среднему/стандартному отклонению (z-оценка) в стиле ImageNet, поэтому ручной шаг нормализации не требуется.

Link to this sectionРазделение набора данных#

Разделение данных на обучающую, валидационную и тестовую выборки позволяет оценивать модель на новых данных и измерять ее способность к обобщению. Распространенное разделение — 70% для обучения, 20% для валидации и 10% для тестирования. Инструменты вроде scikit-learn или TensorFlow упрощают эту задачу.

Учитывай следующее при разделении:

  • Сохраняй распределение классов: убедись, что каждый класс представлен пропорционально в обучающей, валидационной и тестовой выборках.
  • Балансируй классы: для несбалансированных датасетов рассмотри возможность оверсэмплинга (увеличения) редкого класса или андерсэмплинга (уменьшения) мажоритарного класса — только внутри обучающей выборки.
Избегай утечки данных

Разделяй датасет до применения любой аугментации или другой предобработки и применяй эти преобразования только к обучающей выборке. Аугментация до разделения позволяет информации из валидационных или тестовых изображений влиять на обучение, что приводит к обманчиво высоким результатам, которые резко падают при работе с реальными данными.

Link to this sectionАугментация датасета#

Аугментация данных искусственно увеличивает размер датасета путем создания измененных версий существующих изображений. Это помогает уменьшить переобучение и улучшить обобщение, давая ряд преимуществ:

  • Более устойчивые модели: вариации освещенности, ориентации и масштаба делают модель устойчивой к искажениям в реальном мире.
  • Экономическая эффективность: ты расширяешь обучающую выборку без необходимости сбора и разметки новых данных.
  • Лучшее использование данных: каждое аннотированное изображение дает множество вариаций для обучения.

Examples of data augmentation techniques including flips, rotations, scaling, and color adjustments applied to a sample image

В YOLO26 аугментация управляется через аргументы обучения, передаваемые в model.train() или соответствующие флаги CLI — а не через редактирование YAML-файла датасета, который определяет метаданные (пути, имена классов и разделения). Встроенные аугментации включают:

  • Mosaic, MixUp и CutMix (mosaic, mixup, cutmix): объединение нескольких изображений в один обучающий образец.
  • Отражения (fliplr, flipud): зеркальное отображение изображений по горизонтали или вертикали.
  • Геометрические преобразования (degrees, translate, scale, shear, perspective): поворот, сдвиг, масштабирование и искажение изображений.
  • HSV color jitter (hsv_h, hsv_s, hsv_v): изменение оттенка, насыщенности и яркости.
  • Copy-paste (copy_paste): копирование объектов между изображениями для сегментации.
Установка силы аугментации при обучении
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Augmentation is configured with training arguments, not the dataset YAML
model.train(data="coco8.yaml", epochs=10, hsv_h=0.015, fliplr=0.5, mosaic=1.0, degrees=10.0)

Полный список аргументов аугментации и их значений по умолчанию смотри в справочнике по настройкам аугментации и в специальном руководстве по аугментации данных YOLO. Если установлен пакет albumentations, YOLO автоматически включает встроенные аугментации на базе Albumentations.

Link to this sectionКейс: предобработка для обнаружения транспортных средств#

Рассмотрим проект по обнаружению и классификации транспортных средств на изображениях дорожного движения с помощью YOLO26, начиная с изображений, аннотированных ограничивающими рамками и метками. Вот как выглядит каждое решение по предобработке:

  • Изменение размера: никакой ручной работы — YOLO26 изменяет размер до imgsz во время обучения.
  • Нормализация: никакой ручной работы — YOLO26 автоматически масштабирует значения пикселей до [0, 1].
  • Разделение: раздели датасет на 70% для обучения, 20% для валидации и 10% для тестирования, сохраняя распределение классов одинаковым во всех частях.
  • Аугментация: установи аргументы обучения, подходящие для дорожных сцен — например, fliplr для инвариантности к направлению, hsv_v для дневного/ночного освещения и mosaic для разной плотности объектов.

После принятия этих решений датасет готов к исследовательскому анализу данных (EDA).

Link to this sectionИсследовательский анализ данных (EDA)#

EDA использует статистику и визуализацию для выявления паттернов и распределений в твоих данных, помогая заметить проблемы, такие как дисбаланс классов или выбросы, до начала обучения.

Link to this sectionСтатистические методы EDA#

Статистический EDA начинается с базовых метрик — среднего, медианы, стандартного отклонения и диапазона — вычисленных для таких свойств, как распределение интенсивности пикселей. Это дает быстрый обзор качества твоего датасета и позволяет выявить неоднородности на раннем этапе.

Link to this sectionВизуальные методы EDA#

Визуализация выявляет паттерны, которые пропускает сводная статистика, такие как дисбаланс классов и выбросы. Распространенные инструменты включают:

  • Гистограммы и ящичковые диаграммы (box plots): показывают распределение значений пикселей и помечают выбросы в интенсивности или распределении признаков.
  • Столбчатые диаграммы (bar charts): выявляют дисбаланс классов, сравнивая количество примеров каждого класса.
  • Точечные диаграммы (scatter plots): позволяют изучить взаимосвязи между признаками изображений или аннотациями.
  • Тепловые карты (heatmaps): визуализируют распределение интенсивности пикселей или пространственное распределение аннотаций по изображениям.

Link to this sectionПлатформа Ultralytics для EDA#

Для no-code подхода к EDA загрузи свой датасет на Ultralytics Platform. Вкладка Charts датасета автоматически генерирует ключевые визуализации EDA: распределение разделения, количество объектов по классам, гистограммы ширины/высоты изображений и 2D-тепловые карты позиций аннотаций и размеров изображений. Вкладка Images позволяет просматривать данные в режиме сетки, компактном или табличном виде с наложенными аннотациями, что облегчает поиск ошибочно размеченных примеров или несбалансированных классов без написания кода.

Link to this sectionЗаключение#

Правильно разделенные, нормализованные и дополненные данными наборы уменьшают шум и улучшают обобщение, превращая «сырую» коллекцию изображений в надежный обучающий датасет. Когда датасет предобработан, следующим шагом будет обучение модели. Если в процессе возникают вопросы, задавай их сообществу в репозитории Ultralytics на GitHub или на сервере Ultralytics в Discord.

Link to this sectionFAQ#

Link to this sectionПочему предобработка данных важна в проектах компьютерного зрения?#

Предобработка гарантирует, что твои данные чисты, согласованы и имеют формат, оптимизированный для обучения. Устраняя шум, несоответствия и дисбаланс классов в исходных данных, такие этапы, как изменение размера, нормализация, аугментация и разделение датасета, уменьшают вычислительную нагрузку и улучшают производительность модели. Посмотри этапы проекта компьютерного зрения, чтобы узнать, как это вписывается в общий рабочий процесс.

Link to this sectionКак использовать Ultralytics YOLO для аугментации данных?#

Настраивай аугментацию через аргументы обучения, а не через YAML датасета. Передавай аргументы, такие как fliplr, mosaic, hsv_h и degrees, в model.train() (или соответствующие флаги CLI), чтобы задать вероятность и силу каждого преобразования. Они определены в настройках аугментации и объяснены в руководстве по аугментации данных YOLO.

Link to this sectionКакие методы нормализации лучше всего подходят для данных компьютерного зрения?#

Два наиболее распространенных метода — это min-max масштабирование (приведение пикселей к диапазону от 0 до 1) и z-score нормализация (масштабирование на основе среднего значения и стандартного отклонения). YOLO26 автоматически применяет min-max масштабирование — преобразуя изображения в RGB и деля значения пикселей на 255 — поэтому тебе не нужно выполнять нормализацию вручную. По умолчанию нормализация z-score не применяется.

Link to this sectionКак мне разделить мой аннотированный набор данных для обучения?#

Общая практика — это разделение 70% на обучение, 20% на валидацию и 10% на тестирование. Поддерживай распределение классов во всех трех выборках и избегай утечки данных, применяя аугментацию только к обучающей выборке после разделения. Инструменты вроде scikit-learn или TensorFlow эффективно справляются с разделением. См. руководство по сбору и аннотированию данных для подготовки датасета.

Link to this sectionМожет ли YOLO26 работать с изображениями разного размера без изменения их размера вручную?#

Да. Аргумент imgsz изменяет размер изображений во время обучения и вывода так, чтобы их наибольшая сторона соответствовала заданному размеру (например, 640 пикселей), сохраняя соотношение сторон, а затем дополняет более короткую сторону. Тебе не нужно изменять размер изображений самостоятельно — подробности смотри в документации по обучению модели.

Комментарии