Как улучшить фотографии нейросетью? Основные методы ИИ-обработки изображений
Улучшение качества фотографий с помощью нейронных сетей подразумевает обучение сети для изучения моделей и характеристик высококачественных изображений, а затем использование этой сети для создания или улучшения новых изображений.
Существует несколько способов улучшения качества фотографий с помощью нейронной сети, в зависимости от конкретного типа улучшения, которое вы ищете. Вот несколько распространенных методов.
Сверхразрешение. Нейронные сети можно обучить генерировать изображения высокого разрешения на основе входных данных низкого разрешения. Этот метод, называемый суперразрешением, может быть полезен для улучшения качества фотографий, которые пикселированы или размыты. Для этого можно использовать архитектуру нейронной сети SRGAN (Super-Resolution Generative Adversarial Network) или ESRGAN (Enhanced Super-Resolution Generative Adversarial Network).
Пример: BigJPG — простой в управлении инструмент для апскейлинга, т. е. масштабирования и улучшения картинок. Максимальный объем загружаемого файла в пробном тарифе 5 МБ. Разрешение до 3000х3000 точек. Вы можете увеличить размеры картинок и сохранить при этом все детали.
Подавление шума. Нейронные сети также можно обучить удалять шумы с фотографий, что может улучшить их общее качество. Для этого можно использовать архитектуру нейронной сети DnCNN (Deep Convolutional Neural Network for Image Denoising), которая специально разработана для денуазинга.
Пример: Waifu2x — на основе глубоких сверточных нейросетей позволяет убрать шумы и увеличить размер изображений в два раза без потери качества.
http://waifu2x.udp.jp/index.ru.html
Колоризация. Если у вас есть черно-белая фотография, к которой вы хотите добавить цвет, вы можете использовать нейронную сеть для автоматической колоризации. Для этого можно использовать архитектуру нейронной сети, такую как ColorNet или Deep Colorization.
Перенос стиля. Нейронные сети также можно использовать для переноса стиля одного изображения на другое. Это может быть полезно для придания вашим фотографиям уникального художественного стиля. Для этого можно использовать архитектуру Neural Style Transfer.
https://www.tensorflow.org/tutorials/generative/style_transfer
Восстановление изображений. Нейронные сети можно обучить восстанавливать поврежденные или деградировавшие изображения, например, порванные, поцарапанные или выцветшие фотографии. Для этого можно использовать архитектуру UNet — одну из стандартных архитектур для задач сегментации изображений, когда нужно не только определить класс изображения целиком, но и сегментировать его области по классу.
Удаление объектов. Если у вас есть фотография с нежелательным объектом или человеком на ней, вы можете использовать нейронную сеть для его автоматического удаления. Для этого можно использовать архитектуру нейронной сети, например, DeepFillv2, которая специально разработана для задач инкрустации изображений.
Работа с лицом. Нейронные сети также можно использовать для манипулирования чертами лица на фотографиях, например, для изменения выражения лица, возраста или пола человека. Для этого можно использовать архитектуру нейронной сети, такую как FaceApp или StyleGAN.
Пример: AI Image Enlarger, предлагающий ретушь лиц. (В бесплатной версии AI Image Enlarger позволяет обработать до восьми изображений в месяц.)
Синтез изображений. Нейронные сети можно использовать для генерации новых изображений, которые похожи на существующие, но с некоторыми вариациями или модификациями. Например, вы можете использовать нейронную сеть для создания реалистичной фотографии человека, которого на самом деле не существует, или для создания новой версии фотографии с другим освещением, цветами или композицией. Для этого можно использовать архитектуру нейронных сетей GAN (Generative Adversarial Networks) или VAE (Variational Autoencoders). Наиболее известные —