Применяем аугментацию изображений через Albumentations для предотвращения переобучения.
Нехватка обучающих данных приводит к тому, что модель Computer Vision быстро запоминает картинки и теряет точность на реальных объектах. Аугментация создает новые вариации кадров на лету с помощью поворотов, шумов, сдвигов цвета и случайных вырезаний фрагментов. Мы соберем быстрый пайплайн трансформация на Albumentations для генерации уникальных данных.
Для быстрого применения и создания пайплайна трансформаций подготовим библиотеки Albumentations и OpenCV.
pip install albumentations opencv-python-headless numpy
Библиотеки успешно установлены и готовы для параллельной обработки изображений.
Создадим Python-скрипт, задающий цепочку случайных искажений и применяющий их к случайному сгенерированному кадру.
import albumentations as A, numpy as np
transform = A.Compose([ A.RandomCrop(width=200, height=200), A.HorizontalFlip(p=0.5), A.RandomBrightnessContrast(p=0.2), ]) image = np.uint8(np.random.rand(300, 300, 3) * 255) augmented_image = transform(image=image)['image'] print("Result shape:", augmented_image.shape)
Трансформация успешно выполнена, размер изображения изменен согласно заданным параметрам.
# проверка (контрольная проверка доступности пакета Albumentations) python3 -c "import albumentations; print('Albumentations Version:', albumentations.__version__)"
Ожидаемый вывод: Albumentations Version: 1.4.15
# cleanup (деинсталляция установленных пакетов) pip uninstall albumentations opencv-python-headless -y
Аугментация позволяет кратно увеличить разнообразие датасета без необходимости собирать и размечать новые снимки вручную. Настраивайте вероятности трансформаций аккуратно, чтобы случайно не исказить ключевые признаки объектов на кадрах.
👉 AI Ready | #ml