Расширение набора данных для обучения YOLO11 с помощью альбуминации
При построении моделей компьютерного зрения качество и разнообразие обучающих данных может играть большую роль в том, насколько хорошо работает ваша модель. Albumentations предлагает быстрый, гибкий и эффективный способ применения широкого спектра преобразований изображений, которые могут улучшить способность вашей модели адаптироваться к реальным условиям. Он легко интегрируется с Ultralytics YOLO11 и поможет вам создать надежные наборы данных для задач обнаружения, сегментации и классификации объектов.
Используя Albumentations, вы можете улучшить учебные данные YOLO11 с помощью таких методов, как геометрические преобразования и цветовые корректировки. В этой статье мы рассмотрим, как Albumentations может улучшить процесс увеличения данных и сделать ваши проектыYOLO11 еще более эффективными. Давайте начнем!
Альбуминация для увеличения изображения
Albumentations - это библиотека дополнения изображений с открытым исходным кодом, созданная в июне 2018 года. Она предназначена для упрощения и ускорения процесса увеличения изображений в компьютерном зрении. Созданная с учетом производительности и гибкости, она поддерживает множество разнообразных техник дополнения, от простых преобразований, таких как повороты и перевороты, до более сложных корректировок, таких как изменение яркости и контрастности. Albumentations помогает разработчикам генерировать богатые и разнообразные наборы данных для таких задач, как классификация изображений, обнаружение объектов и сегментация.
С помощью Albumentations вы можете легко применять дополнения к изображениям, маскам сегментации, ограничивающим рамкам и ключевым точкам, а также убедиться, что все элементы вашего набора данных преобразуются вместе. Он легко работает с такими популярными фреймворками глубокого обучения, как PyTorch и TensorFlowчто делает его доступным для широкого круга проектов.
Кроме того, Albumentations - это отличный вариант для дополнения, независимо от того, работаете ли вы с небольшими наборами данных или решаете масштабные задачи компьютерного зрения. Он обеспечивает быструю и эффективную обработку, сокращая время, затрачиваемое на подготовку данных. В то же время он помогает повысить производительность моделей, делая их более эффективными в реальных приложениях.
Ключевые особенности альбуминации
Albumentations предлагает множество полезных функций, которые упрощают сложное наращивание изображений для широкого спектра приложений компьютерного зрения. Вот некоторые из ключевых функций:
- Широкий спектр преобразований: Albumentations предлагает более 70 различных преобразований, включая геометрические изменения (например, поворот, переворот), корректировку цвета (например, яркость, контрастность) и добавление шума (например, гауссовского шума). Наличие множества вариантов позволяет создавать разнообразные и надежные наборы обучающих данных.
-
Высокопроизводительная оптимизация: Построенный на OpenCV и NumPy, Albumentations использует передовые методы оптимизации, такие как SIMD (Single Instruction, Multiple Data), который обрабатывает несколько точек данных одновременно, чтобы ускорить обработку. Он быстро обрабатывает большие наборы данных, что делает его одним из самых быстрых вариантов для увеличения изображений.
-
Три уровня дополнения: Albumentations поддерживает три уровня дополнения: преобразования на уровне пикселей, преобразования на пространственном уровне и преобразования на уровне смешивания. Преобразования на уровне пикселей затрагивают только входные изображения, не изменяя маски, ограничительные рамки или ключевые точки. В то же время как изображение, так и его элементы, такие как маски и ограничительные рамки, преобразуются с помощью преобразований пространственного уровня. Кроме того, преобразования на уровне смешивания - это уникальный способ дополнения данных, поскольку они объединяют несколько изображений в одно.
- Результаты бенчмаркинга: Когда дело доходит до бенчмарков, Albumentations неизменно превосходит другие библиотеки, особенно при работе с большими наборами данных.
Почему вы должны использовать Albumentations для своих проектов по искусственному интеллекту зрения?
Albumentations является надежным инструментом для решения задач компьютерного зрения. Вот несколько основных причин, по которым вы должны рассмотреть возможность использования этого инструмента в своих проектах по искусственному интеллекту зрения:
-
Простой в использовании API: Albumentations предоставляет единый и понятный API для применения широкого спектра дополнений к изображениям, маскам, ограничительным рамкам и ключевым точкам. Он разработан таким образом, чтобы легко адаптироваться к различным наборам данных, делая подготовку данных более простой и эффективной.
-
Строгое тестирование на наличие ошибок: Ошибки в конвейере дополнения могут тихо испортить входные данные, часто оставаясь незамеченными, но в конечном итоге снижая производительность модели. Albumentations решает эту проблему с помощью тщательного набора тестов, который помогает выявить ошибки на ранних этапах разработки.
-
Расширяемость: Albumentations можно использовать для легкого добавления новых дополнений и использования их в конвейерах компьютерного зрения через единый интерфейс вместе со встроенными преобразованиями.
Как использовать альбуминацию для дополнения данных при обучении YOLO11
Теперь, когда мы рассказали о том, что такое Albumentations и что он может делать, давайте рассмотрим, как использовать его для дополнения ваших данных при обучении модели YOLO11 . Его легко настроить, поскольку он интегрируется непосредственно в режим обученияUltralytics ' и применяется автоматически, если у вас установлен пакет Albumentations.
Установка
Чтобы использовать Albumentations с YOLO11, сначала убедитесь, что у вас установлены необходимые пакеты. Если Albumentations не установлен, дополнения не будут применяться во время обучения. После установки вы будете готовы к созданию расширенного набора данных для обучения, а Albumentations будет автоматически улучшать вашу модель.
Для получения подробных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установкеUltralytics . При установке необходимых пакетов для YOLO11, если вы столкнетесь с какими-либо трудностями, обратитесь к нашему руководству по общим проблемам, чтобы найти решения и советы.
Использование
После установки необходимых пакетов вы можете начать использовать Albumentations с YOLO11. Когда вы обучаете YOLO11, набор дополнений автоматически применяется благодаря интеграции с Albumentations, что позволяет легко повысить производительность вашей модели.
Использование
Далее рассмотрим конкретные дополнения, которые применяются во время тренировок.
Пятно
Преобразование Blur в Albumentations применяет простой эффект размытия к изображению путем усреднения значений пикселей в пределах небольшой квадратной области, или ядра. Для этого используется OpenCV cv2.blur
функция, которая помогает уменьшить шум на изображении, но при этом немного снижает детализацию изображения.
Вот параметры и значения, используемые в этой интеграции:
-
blur_limit: Это параметр определяет диапазон размеров эффекта размытия. По умолчанию используется диапазон (3, 7), что означает, что размер ядра для размытия может варьироваться от 3 до 7 пикселей, причем допускаются только нечетные числа, чтобы размытие было центрированным.
-
p: Вероятность применения размытия. В интеграции p=0,01, так что вероятность того, что это размытие будет применено к каждому изображению, составляет 1 %. Низкая вероятность позволяет использовать эффект размытия время от времени, внося небольшую вариативность, чтобы помочь модели обобщить данные без чрезмерного размытия изображений.
Среднее размытие
Преобразование MedianBlur в Albumentations применяет к изображению эффект медианного размытия, который особенно полезен для уменьшения шума при сохранении краев. В отличие от обычных методов размытия, MedianBlur использует медианный фильтр, который особенно эффективен для удаления солевого и перечного шума при сохранении резкости по краям.
Вот параметры и значения, используемые в этой интеграции:
-
blur_limit: этот параметр управляет максимальным размером ядра размытия. В данной интеграции по умолчанию он имеет значение (3, 7), что означает, что размер ядра размытия выбирается случайным образом в диапазоне от 3 до 7 пикселей, причем для обеспечения правильного выравнивания допускаются только нечетные значения.
-
p: Устанавливает вероятность применения медианного размытия. Здесь p=0,01, поэтому вероятность применения трансформации к каждому изображению составляет 1 %. Такая низкая вероятность гарантирует, что медианное размытие будет использоваться редко, помогая модели обобщать данные, чтобы иногда видеть изображения с уменьшенным шумом и сохраненными краями.
На изображении ниже показан пример такого увеличения, примененного к изображению.
Градации серого
Преобразование ToGray в Albumentations преобразует изображение в градации серого, сводя его к одноканальному формату и по желанию дублируя этот канал для соответствия заданному количеству выходных каналов. Для настройки способа расчета яркости серого можно использовать различные методы - от простого усреднения до более продвинутых техник для реалистичного восприятия контраста и яркости.
Вот параметры и значения, используемые в этой интеграции:
-
num_output_channels: Устанавливает количество каналов в выходном изображении. Если это значение больше 1, то одиночный канал серого будет реплицирован для создания многоканального полутонового изображения. По умолчанию это значение равно 3, что дает полутоновое изображение с тремя одинаковыми каналами.
-
метод: Определяет метод преобразования оттенков серого. Метод по умолчанию, "взвешенное_среднее", применяет формулу (0,299R + 0,587G + 0,114B), которая точно соответствует человеческому восприятию, обеспечивая естественный эффект серого. Другие опции, такие как "from_lab", "desaturation", "average", "max" и "pca", предлагают альтернативные способы создания полутоновых изображений, исходя из различных потребностей в скорости, подчеркивании яркости или сохранении деталей.
-
p: Определяет, как часто применяется преобразование в оттенки серого. При p=0,01 вероятность преобразования каждого изображения в оттенки серого составляет 1 %, что позволяет использовать смесь цветных и полутоновых изображений для лучшего обобщения модели.
На изображении ниже показан пример применения этого преобразования оттенков серого.
Адаптивная гистограммная эквализация с ограничением контраста (CLAHE)
Преобразование CLAHE в Albumentations применяет адаптивную гистограммную эквализацию с ограниченным контрастом (CLAHE) - метод, который повышает контрастность изображения путем выравнивания гистограммы в локализованных областях (тайлах), а не по всему изображению. CLAHE дает сбалансированный эффект улучшения, позволяя избежать чрезмерного усиления контраста, которое может возникнуть при стандартном выравнивании гистограммы, особенно в областях с изначально низким контрастом.
Вот параметры и значения, используемые в этой интеграции:
-
clip_limit: управляет диапазоном повышения контрастности. Установленный по умолчанию в диапазоне (1, 4), он определяет максимальный контраст, допустимый в каждой плитке. Более высокие значения используются для повышения контрастности, но при этом могут вносить шум.
-
tile_grid_size: Определяет размер сетки плиток, обычно в виде (строки, столбцы). Значение по умолчанию - (8, 8), что означает, что изображение делится на сетку 8x8. Меньшие размеры плиток обеспечивают более локализованные корректировки, а большие - создают эффекты, близкие к глобальному выравниванию.
-
p: Вероятность применения CLAHE. Здесь p=0,01 вводит эффект усиления только в 1 % случаев, обеспечивая экономное применение коррекции контраста при случайных изменениях в учебных изображениях.
На рисунке ниже показан пример применения преобразования CLAHE.
Продолжайте изучать альбуминацию
Если вы хотите узнать больше об альбуминации, ознакомьтесь со следующими ресурсами для получения более подробных инструкций и примеров:
-
Документация по альбуминации: В официальной документации представлен полный набор поддерживаемых преобразований и расширенных методов использования.
-
Ultralytics Путеводитель по альбуминам: Ознакомьтесь с деталями функции, которые способствуют этой интеграции.
-
Репозиторий GitHub Albumentations: Репозиторий содержит примеры, эталоны и обсуждения, которые помогут вам начать работу с настройкой аугментаций.
Основные выводы
В этом руководстве мы рассмотрели ключевые аспекты Albumentations, замечательной библиотеки Python для увеличения изображений. Мы обсудили широкий спектр ее преобразований, оптимизированную производительность и то, как вы можете использовать ее в своем следующем проекте YOLO11 .
Также, если вы хотите узнать больше о других интеграциях Ultralytics YOLO11 , посетите нашу страницу руководства по интеграции. Там вы найдете ценные ресурсы и информацию.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как интегрировать Albumentations с YOLO11 для улучшения дополнения данных?
Albumentations легко интегрируется с YOLO11 и автоматически применяется во время обучения, если у вас установлен этот пакет. Вот как начать работу:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)
Интеграция включает оптимизированные дополнения, такие как размытие, медианное размытие, преобразование в оттенки серого и CLAHE с тщательно настроенными вероятностями для повышения производительности модели.
Каковы основные преимущества использования Albumentations по сравнению с другими библиотеками аугментации?
Albumentations выделяется по нескольким причинам:
- Производительность: Построен на базе OpenCV и NumPy с оптимизацией SIMD для повышения скорости.
- Гибкость: Поддерживает 70+ преобразований на уровне пикселей, пространственном уровне и уровне смешивания.
- Совместимость: Работает без проблем с такими популярными фреймворками, как PyTorch и TensorFlow
- Надежность: Обширный набор тестов предотвращает тихое повреждение данных
- Простота использования: Единый унифицированный API для всех типов аугментации
Для каких типов задач компьютерного зрения может быть полезно использование дополнения Albumentations?
Albumentations улучшает различные задачи компьютерного зрения, включая:
- Обнаружение объектов: Повышает устойчивость модели к изменениям освещения, масштаба и ориентации
- Сегментация экземпляров: Повышение точности предсказания маски с помощью различных преобразований
- Классификация: Повышение обобщенности модели с помощью цветовых и геометрических дополнений
- Оценка позы: Помогает моделям адаптироваться к различным точкам обзора и условиям освещения
Разнообразные возможности дополнения библиотеки делают ее ценной для любых задач технического зрения, требующих надежной работы модели.