Узнайте, как Neural Style Transfer (NST) сочетает содержание изображений с художественными стилями с помощью CNN. Изучите его использование в увеличении объема данных и творческом ИИ в Ultralytics.
Перенос нейронного стиля (NST) — это сложная техника оптимизации в области компьютерного зрения, которая позволяет искусственному интеллекту смешивать визуальный контент одного изображения с художественным стилем другого. Используя глубокие нейронные сети, в частности сверточные нейронные сети (CNN), этот алгоритм синтезирует новое выходные изображение, которое сохраняет структурные детали «контентной» фотографии (например, городского пейзажа), при этом применяя текстуры, цвета и мазки кисти из эталонного «стиля» (например, известной картины). Этот процесс эффективно устраняет разрыв между низкоуровневым извлечением статистических характеристик и высокоуровневым художественным творчеством, позволяя создавать уникальные стилизованные визуальные образы.
Механизм, лежащий в основе NST, основан на способности глубокой сети отделять содержание от стиля. Когда изображение проходит через предварительно обученную сеть — как правило, архитектуру VGG, обученную на огромном ImageNet — разные слои извлекают разные типы информации. Ранние слои улавливают низкоуровневые детали, такие как края и текстуры, в то время как более глубокие слои представляют высокоуровневое семантическое содержание и формы.
Процесс NST, впервые подробно описанный в исследованиях Гатиса и др., включает в себя алгоритм оптимизации, который итеративно модифицирует изображение со случайным шумом, чтобы одновременно минимизировать два различных значения ошибки:
В отличие от обучения стандартных моделей, при котором веса сети обновляются, NST замораживает веса сети и обновляет значения пикселей самого входного изображения до тех пор, пока функции потерь не будут минимизированы.
Хотя изначально NST популяризовался для создания художественных фильтров, он имеет практическую полезность, выходящую за рамки эстетики в более широком контексте искусственного интеллекта.
Важно отличать Neural Style Transfer от других методов генерации изображений, описанных в Ultralytics :
Суть NST заключается в загрузке предварительно обученной модели для доступа к ее внутренним слоям характеристик. В то время как современные детекторы объектов , такие как YOLO26, оптимизированы для скорости и точности обнаружения, архитектуры, такие как VGG-19, остаются стандартом для переноса стиля из-за их специфической иерархии характеристик .
Следующее PyTorch демонстрирует, как загрузить базовую модель, обычно используемую на этапе извлечения признаков NST:
import torchvision.models as models
# Load VGG19, a standard backbone for Neural Style Transfer
# We use the 'features' module to access the convolutional layers
vgg = models.vgg19(weights=models.VGG19_Weights.DEFAULT).features
# Freeze parameters: NST updates the image pixels, not the model weights
for param in vgg.parameters():
param.requires_grad = False
print("VGG19 loaded. Ready to extract content and style features.")
Для пользователей, которые хотят управлять наборами данных, дополненными переносом стиля, или обучать нисходящие модели обнаружения, Ultralytics предоставляет централизованную среду для аннотирования наборов данных , управления версиями и развертывания моделей.